今年読んだ技術書

年末で会社が休みなので、自分のために今年読んだり読まなかったりした技術書を整理します。

目次

全部読んだ

オブジェクト指向でなぜつくるのか

評価: ★★★★☆
自分用メモ: もう一度読むなら9章から
概要・感想など:
平易でわかりやすかったので、腰を据えてやらなくても通勤電車で大体読めました。
オブジェクト指向の本ですが、13章「関数型言語でなぜつくるのか」で関数型言語について解説しているのでお得 (?) です。

本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック

評価: ★★★★☆
自分用メモ: もう読む必要はない
概要・感想など:
読んで手を動かせば、それほど規模の大きくないアプリケーションならインターネットを頼りに作れるようになったり、なぜか急にiOS改修案件をやらされてもインターネットを頼りになんとかできるようなったりするんじゃないでしょうか。(なった。) (インターネットがすごい可能性。) (しかし、インターネットはXcodeの使い方を包括的に教えてくれない。)
なお、3連休1回で読み切ることができました。 最近、Xocde 8対応版が出たようです。(リンクはそれ。)

Java言語で学ぶデザインパターン入門

評価: ★★★★★
自分用メモ: 定期的に読んでもいい
概要・感想など:
GoFの23種類のデザインパターンJavaで解説されています。 23種類を500ページ程度で解説しているので、まあまあ丁寧です。
完璧には覚えてなくてもこういうパターンがあるんだな、というのが頭に入っていると、コードを読む時に「あっ、進研ゼミで見たことある」感があり、理解がしやすくていいです。

半分以上読んだ

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

評価: ★★☆☆☆
自分用メモ: もう読む必要はない
概要・感想など:
3章まで読んだけど、自分がやりたいことに必要な部分は2章までで十分だったので、あとは興味のある部分を拾い読みして終えました。
もっというと、Open-URI, Nokogiri, Anemone, Capybaraなどのキーワードが知れればそれで十分だったかも。
また、クロール対象のサイトのコードが変更されたことなどが原因 (?) で、サンプルコードが結構な割合で動かなかったのが辛かった。
筆者は「Webサイトはナマモノなのでそれに対応するスキルも培うべき」という意見のようですが、1, 2章くらいまでの内容は、筆者がクロールの練習をさせるためのウェブサービス (=コードが変わらないのでサンプルが常に正しく動く) を一つ用意して、それを対象にクローリングをおこなうような形式がよかったなと思います。
なお本書とは関係ないですが、jQueryを多少触ったことがある人が簡単なクローリングをする場合はRubyよりNode.jsのcheerio-httpcliがjQueryライクに書けるのでおすすめです。
(でも、clickのエミュレートはhtmlをパースしてurl取得してGETなので微妙です。)
これについて書かれてるっぽい本 (読んでない) も貼っておきます。

サーバー/インフラを支える技術

評価: ★★★★★
自分用メモ: 最後まで読む / 2週目もあり
概要・感想など:
現在進行系で読んでいる本。
開発エンジニアもそれなりに運用の知識があった方が良いことがわかってきたタイミングで、たまたまインターネットで紹介されていたので購入。 学生時代はさっぱり運用に興味がありませんでしたが、この本は読んでいてあまりつらくないです。
色々な方法があるなか「なぜ、どういう場合にこの方法を使うのか」の部分についてわかりやすく書かれているからという点が大きな理由です。
なぜの部分が薄い本はわりとありますが、興味の薄い分野だとつらいですね。

コンピュータアーキテクチャ

評価: ★★★☆☆
自分用メモ: 70%くらいの理解度で最後まで読む
概要・感想など:
大学時代の教科書。
CPU, メモリの仕組、機械語の命令、アセンブリ言語、パイプライン処理など、低レイヤの話。
大学時代に使っていたから (所有しているから) と理由で選んだ本なので、他のそれっぽい本 (コンピュータはなぜ動くのかとか?) と比べてどうかとかは気になるところではあります。
140ページ程度で、内容が非常に難解というわけでもないので、手を出しやすいのは魅力かもしれません。

ネットワーク超入門講座

評価: ★★★★☆
自分用メモ: 3月くらいにもう一度最初から読む
概要・感想など:
あまりにもネットワークの知識に疎いので、流石にどうにかしないとと思って読みました。 最初「ネットワークはなぜつながるのか」を読んでいたけど、つらくてリタイアしてしまったので、もうワンランク下の本を募集しておすすめしてもらった本です。
たしかに「ネットワークはなぜつながるのか」より内容が易しく読みやすかったけど、モチベーションの問題であまり読んだ内容が定着していない感じがする…
通勤電車で読んでいたけど、英語イベントが発生しそうで通勤電車では英語をするようにしたので停止中。
英語イベントが終わる or なくなるしたら再度読む予定です。

半分未満しか読んでない

半分未満しか読んでないので評価などはできないし、感想のみにします。

Python機械学習プログラミング

各所でいいと言われていたので購入。
機械学習アルゴリズムを手を動かして学べる良い本だと思います。
腰を据えてやらないと終わらないので、いつ時間を取るか考え中。

30日でできる! OS自作入門

本のとおりにすすめるにはWindows環境が必要だったので積んでいました。
最近、Macでできる環境を作ったので気が向いた時にぼちぼち進めています。

ネットワークはなぜつながるのか

上記のようにつらかったです。

UNIXシェルスクリプトスターピース132

実用的なシェルスクリプトを集めた本ですが、目次を眺めて個人的に実用的なものが見つからなかったので積んでいます。 (なぜ買ってしまったのか。)
今では見方も変わっているかと思い、目次を眺めてみたらいくつか興味のあるものを見つけたので読んでみようと思います。
定期的に目次を眺めよう…

まとめと今後

今年は、必要なものや興味のあるものを節操なく読んでいたら上記のようになりました。
今のところこのスタイルに大きな問題を感じていないので、来年も節操なく読みたいと思います。