プログラマー人生はyak shaving
yak shaving は、ようするに「ある問題を解こうと思ったら別の問題が出てきて、それを解こうと思ったらさらに別の問題が出てきて…」ということが延々と続く状況を表しています。ちなみに、ヤクとは毛が長い、牛の一種です。
[…]
実際のところ、プログラムを書き始めてから今にいたるまで、年がら年中こんなようなことをやっているわけで、my life is yak shaving という感じであります。
- Jekyllでサイト更新しようとする。
- 謎の問題が発生する。
- しばらく格闘してJekyllのバグだと判明する。
- JekyllのGitHub Issuesを調べる。
- Liquidが怪しいということになっている。
- Liquid doesn't render my partial · Issue #1519 · mojombo/jekyll
- Liquid 2.5.1なら問題ないけど、2.5.2にすると問題が生じるとのこと。
- rbenvを使ってrubyのバージョン依存性も確認しようと思ったけど、インストールしてなかった。
- rbenvをインストールして1.9.3-p448と2.0.0-p247を使えるようにする。
- どちらのバージョンでも再現した。やはりLiquid 2.5.2にすると問題が生じる。
- LiquidのIssuesを調べるが、該当するissueがない。
- Liquidをgit cloneしてテストを書く。
- おや、Liquid悪くないじゃん!
- test for the Jekyll's issue #1519: Liquid doesn't render my partial by zerobase · Pull Request #255 · Shopify/liquid
- 頭を切り替えてJekyllをgit cloneし、調べる。
- Jekyllのテストを書く。
- やっぱJekyllが犯人だった!
- Jekyllにパッチを当てた。直った!
- Jekyllにプルリクエストを送った。
- a patch for the issue #1519: Liquid doesn't render my partial by zerobase · Pull Request #1525 · mojombo/jekyll
- これを手元で使えるようにしないとな、ってどうやるんだ?Bundler使うんだっけ?
- あ、
rake build
してからgem install pkg/pkg/jekyll-1.2.0.gem
でいいのか!できた! - 謎の達成感
- …さて、ようやくJekyllの問題が片付いたので、サイトを更新しようかな…
- …と思ったら、もう真夜中じゃないか!
- 今日は返って明日にしよう←イマココ
べつにプログラミングをしたかったわけではなくて、サイトを更新したかっただけなのに…
My life is yak shaving.