前回に引き続き、GANREF開発時に使用していた道具をご紹介します。
今回は、ソフトウェア&利用サービス編です。
1. Textmate
弊社サバゲ〜るの開発では、Aptana(+Radrails)を使っていましたが、Eclipseベースでできているため若干動作が重めでした。何かないかな〜と模索していたところ、同じMac使いのあくしゅ三上さんにTextmateを紹介していただきました。
プラグインを入れることで日本語表示も可能ですが、文字幅が小さいため慣れるのにしばらくかかりました。
日本語化プラグインは、以下を参照してください。
TextMate stuff – hetima.com
全体的に動作が軽く、ソースハイライトもほとんどの言語に対応しています。特筆すべき点はやはりスニペットでしょうか。たとえばPHPの関数を書くとき、1文字ずつ function … () と書くのではなく、func[tabキー]押下でスニペットが挿入されます。スニペットはカスタマイズできるため、採用しているフレームワークでよく使う構文やエラーチェック処理を登録しておけばかなりキーストロークを省略することが可能です。
以下に強力なスニペットのサンプルをスクリーンキャストで紹介します。カーソルが飛んでいるのは[tabキー]を押しています。CakePHPのAppModel::findメソッドが簡単に呼び出せます(find[tabキー])。
スニペットの別の利点としては、コーディング規約に沿ったスニペットを開発メンバで共有することで、ある程度各人の癖を排除したきれいなコードがかけるようになります(今回はそこまでできませんでしたが)。
その他Textmateのプラグインは、以下を入れています。
- Subversionクライアント – SVNMate
- CakePHP用バンドル
- grep
2. Subversion
Macでは、VersionsというSubversionクライアントで差分確認を行っていました。タイムライン機能でだれがどのソースを修正したのか分かりやすく表示してくれます。
リポジトリはEC2上に置き、開発メンバのみがアクセスできるようにしました。
今回のような大規模案件では管理するファイルの量も膨大で、プロジェクト終盤はソース更新にも少し時間がかかりました。最近はGitに興味津々です。
3. Skype
開発メンバが近くにいるとはいえ、会話では伝えにくい情報はグループチャット機能を使って共有しました。また、お客さまにも使っていただき、わざわざメールを書くまでもない情報共有はこれで行いました。ログもきっちり残りますし安心です。
時々オモローネタを流し、息抜きしていました。
4. Google Sites
議事録、ファイル共有はGoogle Sitesを用いました。ページを更新するとその履歴も閲覧できます。また、簡易的なバグトラッキングツールとしても利用していました。
GoogleSitesを使ってみる – シナプスエンジニア雑記帳
5. Evernote
設計メモ、ToDoはEvernoteに残していました。ファイルが散財せず、メモを横断的に検索できます。iPhoneアプリもあるので電車の中でも思いついたときにすぐにメモれます。
ただ、テキスト編集機能が若干弱く、段落やリストが使いづらいです。
6. Remember The Milk
個人的なToDo管理はこれで行っていました。Evernoteと同様にiPhoneアプリもありますし、出社前に今日すべきことを確認できます。機能が単純だからこそ思いついた時にサクっと使えるのがいいです。僕はキーボードショートカットを表示させるGreasemonkeyを入れています。
Remember the Milk のショートカットキーを表示する Greasemonkey スクリプト
7. JUDE
ER図、フローチャート、CRUDの作成で主に使いました。GANREFのような大規模サービスになるとDBテーブル数が膨大になりますが、比較的重く感じることはありませんでした。
SQLのエクスポート機能がありますが、MySQL向け設定が無いのが残念です。
JUDE Professional
以上、前エントリと併せて僕らが利用してきたハード/ソフトの紹介をしてきました。道具を効果的に使い、開発効率を上げたいと日々思っています。
ご参考になりましたら幸いです。