Month12月 2015

年納めに積ん読リストを作った話


2015年ももう終わりですね。
転職したこともあり、自分にとっていろいろと感慨深い一年になりました。

今年はKindle本の半額完全セール があったりRubyKaigiでサイン本を買い漁った りしたことも合わせて、物理書籍・電子書籍ともに結構な数を買いました。
以前から読もうと思っていた本を購入する良い機会にはなったのですが、流石にまとめ買いした本を一気に読むことはできず、積ん読が結構あることに気づきました。
これはよろしくないなーということで、年納めに本棚を整理したついでに、読めていない本をまとめた積ん読リストを作成しました。

物理書籍

引っ越しに伴って背の高い本棚を新調したのですが、引っ越し時点で左半分がボードゲーム、右半分が書籍で埋まってしまっていたため、新しく買った本は棚の隙間に入れているような状態でした。
これだと見た目も一覧性も悪いため、読み終わった本やもう読まないであろう本を片付け、新しい本をすぐに読めるように並べ直しました。

Kindle書籍

利用する電子書籍のプラットフォームはKindleに統一しています。
こちらは本棚の大きさといった制限はないものの、本が増えて一覧性が下がってきたため、既読・参考資料の2つのコレクションを作りました。
既読にはその通り読んだ本を、参考資料には辞書・事典や拾い読みすれば十分な本などを入れています。
技術書以外も書籍のジャンルごとにコレクションを作っているため、コレクションに含まれていない本は未読という状態になり、だいぶすっきりしました。

PDF書籍など

PDFやepubなどで購入した本は、まとめてDropboxに突っ込んであります。
こちらもディレクトリ分けなどをしておらず一覧性が低かったため、既読・参考資料の2つのディレクトリを作ってファイルを分類しました。
Calibre などのコレクション管理アプリを使う手もあると思いますが、プラットフォームをまたいでアプリを揃えるのが面倒なのと、Kindle以外の書籍はファイル単位で十分管理できる量しかないため導入していません。

積ん読リスト

ここまでで物理書籍・Kindle書籍・その他電子書籍のそれぞれで未読を洗い出せました。
これだけでは横断的な未読書籍がわからないため、Trello の個人TODO管理ボードに「ToRead」リストを作り、1冊1カードを作っていきました。
一通りカードを作った後、今読みたい順にざっと並び替えたため、「なにか読もうかな」と思った時に一番上の本を取るもよし、カードを眺めてその時の気分で読みたいものを探すもよし、と理想的な状態になったと思います。

所感

リストアップしてみると思った以上に読めていない本が多く、来年は意識的に本を読む時間を取りたいと思いました。
また本棚の整理で「この本読んだっけ?」という本がちょいちょい出てきて記憶力の悪さを感じるので、読み終わった本について書評記事を残すようにしていくようにする予定です。

それでは皆様、良いお年を。
2016年もよろしくお願いします。


RubyKaigi 2015に行ってきました


先日行われたRubyKaigi 2015に行ってきました!
既に1週間以上経っていて今更感が漂いますが、自分の備忘録も兼ねて、纏めておこうと思います。
なお、スライドを大量に埋め込んでて重いかもしれませんのでご了承ください。

築地付近の会場で行われただけあって公式サイトも寿司にあふれていますが、当日の看板も寿司でした。

DSC_0622

ノベルティのTシャツも寿司。

DSC_0610

さらには、江戸銀の板前さんがやってきてリアル寿司をいただけるイベントもありました。

DSC_0613DSC_0614

…あれ、これ何のイベントだっけ。
一応確認しておくと、RubyKaigiはオブジェクト指向言語Rubyの準国際カンファレンスです。
そうか、国際カンファレンスなんだから、海外から来ている人に日本の伝統食である寿司を食べてもらうのは順当な流れですね!(錯乱)

Continue reading


オブジェクト指向プログラミングとは結局なんなのか


この記事は第2のドワンゴ Advent Calendar 2015の5日目です。
ちなみに前日は@deflisさんでした。
先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく…

去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。
なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。
「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付き合いいただければと思います。

OOPという語の曖昧さ

さて、一口にOOPといっても、人によってイメージするものがバラバラである可能性があります。
「動物クラスを継承した犬クラスと猫クラスが」とか「グワッと鳴けばアヒル」といった話から、「イマドキのオブジェクト指向はドメイン駆動ヘキサゴナルアーキテクチャだ」みたいな話までいろんなイメージを持つ方がいると思いますが、今回はオブジェクト指向の本質的な思想の部分を中心にまとめる予定です。

ところが困ったことに、OOPという語は2つの異なる系譜があったりします。

  • アラン・ケイがSmalltalkで提唱したOOP
  • ストラウストラップがC++で提唱したOOP

現在は、後者濃い目でこれらが混ざり合ったものに加えて

  • プログラミングではなく設計・モデリングの話

までOOPの範疇で語られていることも見かけることがあります。
これらの区別をつけないと議論の土台から噛み合わなくなってしまう可能性があるため、以降これらを区別して「アラン・ケイのOOP」「ストラウストラップのOOP」「オブジェクト指向のモデリング・設計」と呼び分け、順に見ていくことにします。

Continue reading