ハマったところメモ1(ローカル開発, Dancer, git)

前回のエントリでPerlでのWebサービス開発してきた際の、ハマったところの詳細を書いてみます。
2,3回に分けて書きます。*1

ローカル開発(Mac)関連

MacMySQLを入れるとき、おとなしく64bit版を入れないとあとで罠にはまる(DBD::mysqlが動かないとか)

これ、以前に職場で経験してたんですが*2、またやっちゃいました。
いずれにしても、DBD::mysql をインストールする時ってテストで実際のDBへアクセスしに行くので、passwordとか違う場合は手動でmakeすることになるかと思います(cpanm であれば cpanm --look DBD::mysql)。あ、forceで入れちゃうというのもアリ、かも。

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しました。

*1:ブログに書くネタが他にないもので。。汗

*2:そのときはPerlではなくてPythonでしたが。python側が32bitでmysqlが64bitだった、みたいなやつです。