さっきからCいじったり、Perlいじったりしてて疲れたので休憩がてらに更新。とりあえず今日プログラミングしてて色々分かったことをメモ代わりに載せていく。
#開発環境編
-subversionであり得ないコミットをしてしまったとき(dir丸ごと削除とか)
Subversion メモ 以前のリビジョンに戻す (svn cat / svn merge)より
$ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk U integer.c $ svn commit -m "Undoing change committed in r303."
margeってこーゆう使い方も出来るのか。めもめも。
Tracと連携しているSubversionのリビジョンを戻す方法っていうのもあったけどリンク先でも指摘されているようにdbがぶっ壊れてるとか非常時でない限り多分marge使った方が安全。
#VC編
セキュリティ関係の警告(古い関数使ってんな関係)がいい加減煩わしく感じるようになったので_s系の関数で置き換えることにした。マニュアルをテキトーに見てた自分が悪いのだが、見事にこけた。調べてみたらすぐ見つかった
ただ,単純に"_s"を付ければいいわけではなく,キャラクタ等バッファサイズが不定のものは,受け付けるサイズを明示的に指定しないと強制終了してしまう.
%sフォーマットを指定したヤツは直後にサイズも教えてあげなきゃダメなのねぇ~。まぁ、脆弱性を克服してる関数だから当たり前と言っちゃ当たり前だが、呼び出し先がイチイチ指定してしなきゃいけないのがなんとも...Cの悲しい性かな。
それにしても指定しないと強制終了とか、ひどすぎる。実はsscanの前後に手を加えたマクロを置いておいたのでそっちが原因かと勘違いしてたorz
#Perl編
このクックブックが最高。色々なtipsが日本語で読める。「Data::Dumperを使って、DBIx::Classをデバッグする」とか「find_or_create が見付けたのか、列を作ったのかを知りたい?」とかタメになる情報が一杯。
DBIx::Classに大夫慣れてきた感じだけどこのO/R Mapper良すぎ。研究目的で現状10数テーブルを操作するアプリを作っているけど未だにSQLを一回も書かかずにここまできてます。
#おまけ
これはfuckと言われてもしょうがない。
すごい組み合わせ。ただ今超ヘビーローテーション中。