Developers Summit 2009 1日目にちょこっとだけ行ってきました
はてな社でのgit導入の話、はてなブックマークの開発背景について聞いて聞いてきました。
testのfixtureをYAMLからDBに切り替えたことでテスト時間が短縮した等おもしろい話がきけました。
はてなの開発環境
ngineerが15->30名に
- インフラ8名(アプリ22名)
2008年からgitを使っている
はてなのgit導入背景
レポジトリが細かくなった
- svn..全体でひとつのレポジトリ
- git..プロジェクト毎につくる
ブランチの作成ポリシー
- origin/master
- テストを通った本番deploy用
- origin/[機能毎のブランチ]
- 例) origin/ほげほげのデザイン変更
- ローカルでは自由にブランチ
gitはコードレビューに最適
- git dif master...branchname
- '...'で、共通の親からの変更点を表示
開発の流れ
- git co -b exape
- コードを書いてgit commit
- remoteに反映 git-publish-branch
- remoteから反映 git pull or git pull --rebase
- コードレビュー
- git diff master...example
- masterに反映
- git merge master #masterからマージ、コンフリクト解決
- git checkout master
- git merge example #exampleからmastreへマージ
運用しての感想
- svnと比べて学習コストが高い
- よくはまる
- windowクライアントが無い
本番にテスト用バーチャルドメインをきる
- 本番サーバと同じ環境
- だれでもUIの機能を確認
ネオあしか
まとめ
- gitのブランチ最高
- はてなアイデア、あしか、gitを連携
- gitの導入コストは高い
- お勧めしないけど今のうちに使うのは吉
はてなブックマークリニューアルへの道
Spec
- user 21.6万
- pv 800万pv/day
- サーバ
- 80台
経緯
- 2008/11
- 9ヶ月/6人
旧システムの振返り
Ridge(社内フレームワーク)
- Rails/Catalyst like
- MVC->MVAC
- MoCo(はてな製O/RMapper)
- http://eighteentillidie.com/2008/07/entry-898.htmlこのへんでも紹介されてる
MVAC
開発体制
- 最初
- id:naoyaがTDD
- 後半、多人数
- http://www.mmm.co.jp/office/post_it/が便利
- git機能開発
- 機能毎にブランチをきる
スケジュール
- リリースを優先してテストを通ってない状態でリリース
- バグが多発
テスト
- テストが通らないとやる気が。。負のスパイラル
- 103ファイル
- 2077個アサーション
質問
- JavaScriptのテストは?