Vimとctagsでコードリーディング
というタイトルで会社の同期内でのLTで発表しました。
知ってる人からすれば当たり前のように使ってると思いますが、IDEからエディタへの移行組で知らなかった人は感動する内容だったかもしれません(自分が昔そうでした)。
発表中では実際にデモをしましたが、cpanからモジュールをダウンロードして中身を見るときはこんな感じでできます。
Vimとctagsでコードリーディング1 - YouTube
cpanからモジュールをダウンロードして、ctagsでタグファイル生成、関数ジャンプ
Vimとctagsでコードリーディング2 - YouTube
ctags -aで標準ライブラリの情報をタグファイルに追記、標準ライブラリへのジャンプ、垂直分割
ちなみに、上のスクリーンキャストでも分かるように発表中ではPerlを前提としていました。
最近のPerlのモジュール管理事情は、Cartonというツールでプロジェクトごとにlocalというディレクトリ以下にモジュールをインストールするようになっています。
デモでは標準ライブラリのtagsも生成しましたが、Perlではそこまで必要ではないと思うので、実用上は作業プロジェクトのディレクトリ上でctags -Rで十分かと思います。
大学の研究で役に立ったもの(勉強編)
大学の研究で役に立ったもの(サービス編)
PythonでMongoDBを使うunittestのひな形
タイトルのとおりですが、ケースとしてはFlaskみたいな軽いフレームワークでMongoDBをデータベースに使うModelを自分で実装するような場合です。
実際にデータベースを動かすModelのテストを書くときに、FlaskはフルスタックのDjangoと違って何も面倒を見てくれないので、自分でテストのときだけ使用するdbの作成、破棄などを行う必要があります。
やりたいことは、
- テスト起動時にテスト用のdb('test')を作成
- テスト用のデータ(json)を予めdbに入れておく
- Modelクラスのメソッドをテスト
- テスト終了時にテスト用のdbの破棄
という流れです。mongodの起動と終了まで面倒を見てくれるともっと便利なはずですが、今回はそこまで求めなかったので、mongodは事前に起動しているという前提になります。 *1
*1:mongodまで面倒をみるなら、参考にあるブログや、test.mysqldが参考になりそうです