2015年7月26日日曜日

Gitを使う上で便利なzshの設定

僕がzshrcに設定している Git 用の設定を紹介する。
  • プロンプトにブランチ名を表示
  • run-help をカスタマイズ
あんまりヘビーなカスタマイズはしてなくて,必要最低限,って感じだ。

まずは「プロンプトにブランチ名を表示」から。

2015年6月17日水曜日

SICP3章後半に書いてあるストリーム(遅延リスト)について

SICP3章ってそんなに「オブジェクトはオワコン! 関数プログラミング的なストリームこそ最強!」な内容だったかなぁ、と思って3章の最後を読みなおしてみたが、こんな内容だった:

2015年3月29日日曜日

Gitの最初の姿

この4月で、Gitが誕生してからちょうど10年になるようだ。
10年前、つまり一番最初のGitはどのようなプログラムだったんだろう?

当然だけど Git プロジェクトのリポジトリには10年前の最初の姿が e83c516 というコミットとして記録されている。
% git log --max-parents=0
commit e83c5163316f89bfbde7d9ab23ca2e25604af290
Author: Linus Torvalds <torvalds ppc970.osdl.org>
Date:   Thu Apr 7 15:13:13 2005 -0700

    Initial revision of "git", the information manager from hell
# --max-parents=0 は親のないコミット、つまりルートコミットを探す方法だ。
# もちろんこれが Linus が書いた本当に最初のツリーとは限らない。 Gitリポジトリから辿れる最初、という意味だ。
今回はこの当時の姿について少し見てみようと思う。

2015年2月15日日曜日

rebase して FF マージすることによる一直線の履歴は本当にわかりやすいのか

Git でトピックブランチを統合ブランチにマージする直前、最新の統合ブランチの先端にrebaseしたうえで FF (Fast-forward)マージすることで、見かけ上の履歴は一直線になる。 このような一直線の履歴が「わかりやすい」と解説されていることが多いんだけど、これは本当だろうか?

実は、このような見かけだけ「一直線」の履歴はむしろトピックの範囲が不明確になるのでわかりにくいんだ。

2015年2月7日土曜日

3imp 読書メモ(2)

今回はチャプター4の最初の第1節について書く。
3imp 未読の人には何が何やらわからない内容だと思う。 読んだことがある人は間違い探しでもしながら読んでもらえればと思う。

チャプター4 はスタックベースモデルの章だ。

2015年1月30日金曜日

Gitでpush -fせずにmasterの間違いを修正する方法

そんなものはない (タイトルは釣りだ。ゴメン)。

でもよく聞く「ミスに気づいて、思わず master に push -f しちゃった」という話は、実はある運用方法で簡単に防ぐことができるんだ。 その運用方法とは・・・

2015年1月22日木曜日

『アンダースタンディング・コンピュテーション』とベネディクト・カンバーバッチ

昨年の話なんだけど、会社の読書会で『アンダースタンディング・コンピュテーション』を読んだ。

普通の技術書(とくに他のオライリー本)と比べると、この本を読むことによってどういうスキルが身につくのか、若干イメージしにくいと思うんだけど、それはこの本がプログラミングの基礎的な内容を扱ってるからだと思う。

個人的に得られた知見とかは以下の通り