ハマったところメモ1(ローカル開発, Dancer, git)
前回のエントリでPerlでのWebサービス開発してきた際の、ハマったところの詳細を書いてみます。
2,3回に分けて書きます。*1
ローカル開発(Mac)関連
MacにMySQLを入れるとき、おとなしく64bit版を入れないとあとで罠にはまる(DBD::mysqlが動かないとか)
これ、以前に職場で経験してたんですが*2、またやっちゃいました。
いずれにしても、DBD::mysql をインストールする時ってテストで実際のDBへアクセスしに行くので、passwordとか違う場合は手動でmakeすることになるかと思います(cpanm であれば cpanm --look DBD::mysql)。あ、forceで入れちゃうというのもアリ、かも。
mysqlが文字化け
Macに限りませんが。。基本的なことでした。my.cnfを設定。
Mac OS X LeopardでRailsとMySQL連携で文字化けする場合の対処 at HouseTect, JavaScriptな情報をあなたに
Imagerをインストールしたつもりが、JPEGが変換できない
以下のとおりにやって解決。
mysqlと同様に手動でmakeしました。
Mac OS X Lion に Perl のモジュール Imager を入れる - It’ll be
Dancer 関連
昔の名残
2年前にDancerを使ってた当時は、テンプレートエンジンにTemplateを使うとマルチバイトがうまく通らないという罠があったので、モジュールに直接手を入れたり、アプリ側でもEncodeモジュールでわざわざエンコードしたりして回避していました。
で、最新のDancerにしたらとっくに解消され無問題になってました。なのでその要らないEncode処理を削除。
Cookieのexpiredを設定する
デフォルトだと session(ブラウザ閉じるまで有効)になってるので、変更。
config.yml に
session_expires: "1 day"
とか書けばOK。
git関連
gitで不要なaddを取り消す方法
git rm --cached <ファイル名>
git rm -r --cached <フォルダ名>
参考
gitoliteの導入
capistrano でデプロイをしたいので、中央リポジトリを作ることにしました。
以下を参考に gitolite をサーバに導入。
gitoliteのインストール | Risin'
さくらVPS を設定してみる: Git とGitolite でリポジトリをつくってみたよ♪ | TOTEKAN
git clone gitolite@サーバ名:gitolite-admin でcloneできるようになったら、あとはその中の設定ファイルをいじってリポジトリ作成ができます。楽。
ローカルのリポジトリの remote origin に設定したので、以後ここにpushができます。
pushしたコミットを取り消す
$ git revert コミット名
http://d.hatena.ne.jp/shiba_yu36/20100517/1274099459
git で svn export と同等のことを行う
http://blog.kaihatsubu.com/?p=1876
$ git archive master | tar -x -C /somewhere/else
リポジトリそのままをgithubにアップすると一部のファイルがセキュリティ的にアレゲだったので、別の場所にエクスポートした上で調整してからupしました。