ここ数年で読んだ技術書

ふと思い立って、ここ数年で読んだ技術書を年ごとにまとめてみました。

読んだ本は読書メーターで記録してます。

読んだ本を見ると、このころ仕事でこんなことやってたな、というのが思い出せて面白いですね。

2014年 5冊

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails

HTML+CSSデザイン|基本原則、これだけ。【HTML5 & CSS3対応版】

HTML+CSSデザイン|基本原則、これだけ。【HTML5 & CSS3対応版】

CakePHP2 実践入門 (WEB+DB PRESS plus)

CakePHP2 実践入門 (WEB+DB PRESS plus)

パーフェクトPHP (PERFECT SERIES 3)

パーフェクトPHP (PERFECT SERIES 3)

過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus)

過負荷に耐えるWebの作り方 ~国民的アイドルグループ選抜総選挙の舞台裏 (Software Design plus)

4月から不動産系のベンチャーに転職して、CakePHPとHTML/CSSを急いで勉強しました。
そして新サービスからRailsにしよう!ということになりRailsも。

この年はホントに業務で使うことしか勉強してないですねぇ。

面白かったのは『パーフェクトPHP』かな。
5.2以降のバージョンを追えてなかったのを知識更新できたのと、WAFやMiniBlogの実装、セキュリティ関連など実践的な内容がメインで勉強になった。

2013年 10冊

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

インフラエンジニアの教科書

インフラエンジニアの教科書

Amazon Web Services クラウドデザインパターン 設計ガイド

Amazon Web Services クラウドデザインパターン 設計ガイド

7つのデータベース 7つの世界

7つのデータベース 7つの世界

Mapion・日本一の地図システムの作り方 (Software Design plus)

Mapion・日本一の地図システムの作り方 (Software Design plus)

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

プロのための Linuxシステム・10年効く技術 (Software Design plus)

プロのための Linuxシステム・10年効く技術 (Software Design plus)

Cassandra実用システムインテグレーション (NEXT-ONE)

Cassandra実用システムインテグレーション (NEXT-ONE)

rsyslog 実践ログ管理入門

rsyslog 実践ログ管理入門

業務に必要なものプラスアルファな感じですね。

面白かったのは、
周辺ツールまで含めて幅広くRubyについて学べた『パーフェクトRuby』と、
思想の違ういろんなデータストアを紹介した『7つのデータベース 7つの世界』。

2012年 8冊

Hadoopファーストガイド

Hadoopファーストガイド

Cassandra

Cassandra

プログラミングRuby 1.9 −言語編−

プログラミングRuby 1.9 −言語編−

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus)

Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus)

まつもとゆきひろ コードの未来

まつもとゆきひろ コードの未来

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

オンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)

オンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)

10月からEC系のASPに転職して、サービス用言語がPHPからRubyなったのでRubyを勉強しました。
このころから細かいツールrubyで書くようになります。
そしてCassandraを運用することになったのでオライリー本を読んだんだけど、冗長化や分散のアルゴリズムスキーマ設計まわりがぜんぜん理解できなくてビックリしました。
分散データストアはホントに難しい。

面白かったのは、敷居の高めなHadoopをサクッと学べて試せる『Hadoopファーストガイド』。
あとは『まつもとゆきひろ コードの未来』

2011年 10冊

7つの言語 7つの世界

7つの言語 7つの世界

jQueryで作る Ajaxアプリケーション

jQueryで作る Ajaxアプリケーション

iPhone & Android HTML5ではじめるアプリ制作の手引き

iPhone & Android HTML5ではじめるアプリ制作の手引き

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

プログラマが知るべき97のこと

プログラマが知るべき97のこと

Amazon Web Services ガイドブック クラウドでWebサービスを作ろう!

Amazon Web Services ガイドブック クラウドでWebサービスを作ろう!

改訂新版 BIND9によるDNSサーバ構築 (エッセンシャルソフトウェアガイドブック)

改訂新版 BIND9によるDNSサーバ構築 (エッセンシャルソフトウェアガイドブック)

プロのための Linuxシステム構築・運用技術 (Software Design plus)

プロのための Linuxシステム構築・運用技術 (Software Design plus)

クラウド大全 第2版

クラウド大全 第2版

プロのための Linuxシステム・ネットワーク管理技術 (Software Design plus)

プロのための Linuxシステム・ネットワーク管理技術 (Software Design plus)

海外用で初めてクラウド(AWS)を触った年ですね。
VPCを導入したけどそのころあんまり事例がなくて苦労しました。
複数サブネット』、『ローカルサブネット+NATインスタンス』と、オンプレ感覚をかなり引きずった構成でした。
このころはひたすら値段が高いなぁと思ってました。

フロント系を勉強してるのは、社内システムのモバイル版の開発を、開発者で空いてる人がいなくて自分がやってたからかな。

面白かったのは、クラウド初めて触ったこともあって『Amazon Web Services ガイドブック』。
あと『プロのための』シリーズは基本全部オススメ。

2010 10冊

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門

KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド

KVM徹底入門 Linuxカーネル仮想化基盤構築ガイド

OpenVPNで構築する超簡単VPN入門―Windows/Mac OS X/Linux対応

OpenVPNで構築する超簡単VPN入門―Windows/Mac OS X/Linux対応

PerlフレームワークCatalyst完全入門

PerlフレームワークCatalyst完全入門

ソーシャルアプリ入門 SNSプラットフォームビジネスの企画・開発・運営ガイド

ソーシャルアプリ入門 SNSプラットフォームビジネスの企画・開発・運営ガイド

Joel on Software

Joel on Software

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

このころはPerlをよく勉強していて、細かいツールperlで書いてました。
理由はどんなサーバにも同じバージョンで入っていることと、
サービスはPHPを使っていたんですが、このころは『用途ごとに複数PHPをインストールする』みたいなことはやりたくなかったからあえて分けていた。
最近は用途ごとに言語のバイナリや依存ライブラリを分けてインストールするのは一般的になったし、汎用的に使えるスクリプト言語がメインなら全体で統一するようにしてます。

あと監視ツールのhobbitを置き換えようとZabbixをすごく勉強してたころですね。
何でも出来るぶんいろいろハマり込んでしまって、勉強会でいろいろ話したりもしたけど、けっきょく切り替えはデキなかった。

Haskell本は参照透過性のような関数型言語の考え方を学ぶのは面白かったけど、実際に書くのは(´;ω;`)ウッ…辛い・・・と思いました。
Scala勉強しよ。

2009年 13冊

2月からしか記録がないので、実際はもうちょっと多いかも。

キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置

キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法

まつもとゆきひろ コードの世界?スーパー・プログラマになる14の思考法

4Gbpsを超えるWebサービス構築術

4Gbpsを超えるWebサービス構築術

MySQLによるタフなサイトの作り方

MySQLによるタフなサイトの作り方

現場で使える MySQL (DB Magazine SELECTION)

現場で使える MySQL (DB Magazine SELECTION)

Linuxサーバ Hacks 2 ―コネクティング、モニタリング、トラブルシューティング

Linuxサーバ Hacks 2 ―コネクティング、モニタリング、トラブルシューティング

システム管理者のためのLDAP徹底理解

システム管理者のためのLDAP徹底理解

スケーラブルWebサイト

スケーラブルWebサイト

WEBアプリケーション・サーバー 設計・構築ノウハウ

WEBアプリケーション・サーバー 設計・構築ノウハウ

Effective Perl (ASCII Addison Wesley Programming Series)

Effective Perl (ASCII Addison Wesley Programming Series)

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

プログラミング作法

プログラミング作法

NW系SIerからWEB系に転職したころで、それまでApacheMySQLも使ったことなくて、何をするにも何が正解なのかホントにわからなかった。
ライブドアサイバーエージェント、YahooやFlickrとかの、中の人が書いた運用系の本をひたすら読みあさってました。
はてな、Klabの人が書いた[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)も読み返しました。

オススメは『まつもとゆきひろ コードの世界』、『4Gbpsを超えるWebサービス構築術』、『Effective Perl』、『Java言語で学ぶデザインパターン入門』あたり。

まとめ?

自分の読書速度だと年間10冊、月に1冊弱ぐらいがいい目安になりそう。

あとやっぱり、言語、MW、運用系の本ばっかりだなぁ。
DBMS/SQL、開発フロー、プロジェクト管理系の本をもっと読むようにしよう。