えにしテックカフェに行って来た
2/4 に開催されたえにしテックカフェに参加してきました。えにしテック本社に行くのは今回が初めて。とても本がたくさんあって素敵なオフィスでした。コーヒーやケーキもいただいたのにこちらは手ぶらで行ってしまって申し訳なかったです。
内容はしまださんから主に「パターン言語」と「Git」のお話をいただいた。途中 Heroku へのデプロイや Cucumber の実演などもあってとっても勉強になりました。Railsアプリもサクサク出来て行くし、まさに凄腕ハッカーという感じでした。さらに個人的には何気ない Mac の操り方とかも密かに参考になっていました。
参加者は全部で6人だったので気軽にお話もしやすく、僕のど素人な質問にも親切にいろいろ答えてくれました。とても良い雰囲気だなあと。このくらいの人数っていいですね。
以下、その時のメモ。キーワードだけで後で調べる。
パターン言語
- 「プログラムデザインのためのパターン言語」
- デザパタはパターン言語の一部
- ケントベックの提唱したXP。今のアジャイルの原型
- 雇われ分析者。利害関係のない人。正しい設計を言える
- 「生成的開発プロセス・パターンランゲージ」
- チームのサイズは 10人。後で増やさない。
- 報われる風土は大事。
- コンウェイの法則。組織の形はソフトの構造
デザインパターンは知っていたけど、根底にはパターン言語というもっと大きな源流があるのは知らなかった。組織のことや今では良く聞くアジャイル開発の原型となる開発プロセスなどにも言及されていて、本自体は10年ほど前に書かれたものだけどとても大切なことがたくさん書かれている印象。これは読まなくては。まずはWeb上のを読んでみよう。
Gitいじり
- SVNとの違いは分散型なので個人のローカルでバージョン管理が可能。
- コミット対象を選べる。
- ブランチはチケット単位で作る。個人でブランチを切らない。
- ブランチ内のコミット単位をまとめて一気にマスターにコミットできる
- 気になったコマンドなど
- checkout -b
- chery-picker
- .gitignore
- add -p
- reset
一番印象に残ったのは、機能の追加単位とかでブランチを切って、そこでいろいろ試行錯誤して最終的な完成系の差分のみをマスターに入れるという運用方法。マスターのコミットログは個人の試行錯誤で汚れることがないし、個人もそれを気にせずブランチでいろいろ試行錯誤できる。今までブランチって個人単位で永続するようなイメージだったけど、Git では何か試したくなったらさくっと作って使い終わったら捨てるみたいな気軽な運用ができるのは良いと思った。たしかにこれだとレビューアもマスターに入った機能やバグ単位のコミットを見れば良いからわかりやすい。SVNで複数人でコミットしまくっていると、コミットログを見ても様々な修正の断片が混在していてあるまとまりを識別するのにとても苦労する。次のプロジェクトでは Gitでいってみたいな。