先日の@t_wada先生のrspec入門で git がさらりと出てきたので使ってみた。
不慣れものはみんなで一緒にやると聞けていいね。
git はLinuxのリーナスさんらが開発したバージョン管理システム。
git の良いところは作業ディレクトリとリポジトリが一体化していること、
と @lchin さんが言ってたけど、これは確かに便利。
(リポジトリはルートディレクトリの .git ディレクトリの中にある。)
リポジトリがあっちこっちに立ってて、push/pull する概念は意外とすんなり自分に定着。
git clone で他のリポジトリを自分のとこにもってきて、
自分のとこでいじるってのも便利。
まだマージを試してないのと、
チェックアウト後のステージ(gitで出てきた概念)がどうなってるか、
とかまだ不慣れなところもあるけど、使い込むほど便利になっていきそう。
入門git(OHM社版)をちょっと読んでおいたおかげで導入は楽になったと思う。
メンテナの濱野さんが書いてる方の入門gitも機会があれば読んでみたいな。
rubyは1.8系から1.9系への移行期なわけでして、
macに最初からインストールされてる1.8.7と、
ソースからコンパイルした1.9.2を共存させてました。
そうすると面倒なのがirbとかgemとか
付随するツールも全部なんとかしなければならない。
そんな悩みを解消できるrvmというツールがあると聞いたので使ってみました。
rvmは複数バージョンのrubyを共存させるツールで、
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
$ rvm use ruby-head
Now using ruby head
$ ruby -v
ruby 1.9.2dev (2010-03-09 trunk 26857) [x86_64-darwin10.2.0]
といった具合で use [version] でirbやgemも含めたruby環境を変更してくれます。
元々入ってたruby は system という名前で残ってます。
これは便利。
東京Ruby会議03のワークショップでもこのセッションがあったのですが、
行けなかったので資料があるか聞いたところasakusa.rbのqwikにあるとのこと。(資料)
書いてある通りにやったらすんなり導入できました。:)
インストールできるモジュール一覧は rvm list known で。
MRIだけでなくて、JRubyやMacRubyもインストールできます。
MacRubyインストールして公式ページにあるサンプル打ったらウィンドウ出たよ。
おもしろい。
現在の最新版は ruby-head で取れます。(昨日のasakusa.rb で教えてもらいました。1.9.2-headだと途中でエラーに。)
svnからソースとってきてコンパイルしてるそうです。
こんな便利なツールですが、開発途上なんで、
最悪の場合、システムのrubyを破壊することもあり得ます。
使用の際は覚悟を決めて導入してください。(^^;)
今までCarbonEmacsでは見た目の好み重視で等幅ではないフォントを使ってたのですが、
(Osakaの等幅じゃない方のASCIIフォントが好きで使ってた。)
コーディングには等幅の方が便利なので探してみました。
MonacoとかCourieとか試してみたけど、「悪くはないんだけど・・・」という感じ。
調べてたらSnowLeopardで追加されたMenloってのが見易そう。
linkのページによると長年親しまれたMonacoに換わり
XCodeのデフォルトフォントになっているとのこと。
ベースは sans serif だそうで、差異がlinkに載ってます。
私は 0 が真ん中点だとなんか嫌なので、この変更はありがたい。
(この件もそうですが、今日の話は好みの問題なので理由は得にありません。(^^;))
いい感じなのでしばらく使ってみようと思います。
ちなみに英語で等幅フォントは monospaced font って言うようです。へぇ〜。
macなみなさんはコーディングにどんなフォントを使ってますか?
http://arstechnica.com/apple/news/2009/06/font-changes-coming-to-mac-os-x-snow-leopard.ars
小さなチーム、大きな仕事CarbonEmacsから使えるフォント一覧を表示させる呪文 - (insert (prin1-to-string (x-list-fonts "*")))
SnowLeopardで加わった等幅フォント"Menlo"
Rails作者のDHHさんの会社37signalsの創業者であるジェイソン・フリードさんと、
DHHことデイヴィッド・ハイネマイヤー・ハンソンさんのエッセイ。
大きな会社にせずに(執筆時16人)大きな仕事をやってのけるにはどうすればいいか、
成功経験のエッセンスをまとめた1冊。
1つのエピソードにタイトルがつけられ、2ページ程度でまとまっている。
(最後まで読むと、これも彼らのエッセンスなんだろうと思える。)
印象に残ったのをいくつか紹介。
---
・「失敗から学ぶこと」は過大評価されている
成功体験から学べ、という提言。
「最初に成功した起業家が成功する確立は極めて高いが、
最初に失敗した起業家が成功する確率は初めて起業する人と変わらない」
という理由付けの持って行き方もおもしろい。
・顧客の声を書き留めてはいけない
本当に必要な機能であれば、繰り返し聞くことになるからメモする必要はない。
裏にあるのは自分たちの製品への強い自信。
・競合相手に教える
勉強会などを開催し教えることで熱心なファンを獲得できる。
大きな会社だと弁護士のチェックが入るので鈍足になる。
---
基本方針は「本質の探求」「本質以外をそぎ落とし」「良いものを作ってそれを商いに」。
この本にはアジャイルという言葉は出てこないけど、
アジャイルな開発に興味のある人は参考になると思う。
私はこの本に書いてあるような話が好きなので贔屓になっちゃうけど、
それを差し引いてもオススメの1冊です。
あ、「規則を作る前に考えて。その人1人を注意すれば済むのでは。」
もいいですね。
あと、37SignalsってSETIの成果である宇宙からの未確認信号が37個あったから、なんですね。
面白いな。
CarbonEmacsから使えるフォント一覧を表示させる呪文 - (insert (prin1-to-string (x-list-fonts "*")))
SnowLeopardで加わった等幅フォント"Menlo"
前から「入念に準備する大規模な高専カンファレンスもいいけど、
もっと気軽に勉強会したいよね。」と思ってたし、
高専カンファレンスの発表でも話していたので実践してやってみました。
珈琲でも飲みながらのんびりと準備もなしで手軽に、
ということで Coffee.rb と名前を付けてまず第1回を開催してみることに。
ネタは @mitaku さんが東京Ruby会議03でやりたいと言っていた
t-wada先生の「RSpec の入門とその一歩先へ」の写経をしてみることに。
場所は@kei_sさんにお願いしてサイジニアさんをお借りしました。
同僚の @_h_s_ さんをRuby道にそそのかすために誘ったら釣れたので4人でスタート。
基本ルールはこんな感じ。
・独り言推奨(そこからツッコミに発展とか、発見とかあるので)
・なんかあればIRCとかtwitterでURLとか共有
twitterでrspec記事を写経してるよと書いたら、
t-wada先生からこんな発言が。
( ゜д゜) (つд⊂)ゴシゴシ (;゜ Д゜)
ってことでレッドとグリーンを司る大召還獣t-wada先生の招聘に期せず成功。
さらに@lchin さんも釣れちゃって、あわわわ な会場。
6人に増員されて第1イテレーションを写経していると、
t_wada:「第2イテレーションできたよ」
βテスター参加祭りキター。
そのほかにもRubyでのデフォルトinitialize メソッドへ引数渡す時の挙動が
1.9.2最新と古いのだと違うね、という話になって
コミッターのみなさんのtwitterで話が始まり、
頭の上を矢がびゅんびゅん飛び交うのを塹壕から眺めたり。
すごく勉強になりました。
先生がいない状態でもみんなで話しながらやると知らないことをいろいろ発見できるのに、
先生に直接すぐに聞ける贅沢。
全員で会話できる6人って人数はちょうどよかったかも。
ってことでついうっかり勉強会開催すると
すごい召還獣を呼べちゃったりすることもあるので、
みなさんうっかり気軽に開催しちゃうといいと思います。
Coffee.rb はこれからもゆるさを売りに続けていきたいです。
入りたいという奇特な方はこちらからどぞー。