2015年、2016年に買った技術書105冊

僕は技術書を買ったり読んだりするのが好きです。昨年4月からソフトウェアエンジニアとして働き始めて、学生の頃に比べると経済的に余裕が出来たため、技術書を買うペースが飛躍的に上昇しました。

もはや自分でも何を持っているのか、何冊持っているのかが分からなくなってきていたので、リストアップして数えてみました。

数えた結果

2015年、2016年に買った本は105冊でした。以下がその内容です。思ったよりも多かったです。

並べてみるとなかなか面白くて、同一ジャンルのものも何冊か買ってます。同じものについての説明でも別の観点があったり、あるいは説明の分かりやすさ自体が異なったりするので、個人的には意味があるんじゃないかと思ってます。

積読もあるので、今後も読み進めて行こうと思っています。

2015, 2016年に買った技術書

Effective Ruby

Effective Ruby

Webエンジニアが知っておきたいインフラの基本

Webエンジニアが知っておきたいインフラの基本

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化

プログラマのためのサバイバルマニュアル

プログラマのためのサバイバルマニュアル

Haskellによる並列・並行プログラミング

Haskellによる並列・並行プログラミング

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識

詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

make 改訂版 (A nutshell handbook)

make 改訂版 (A nutshell handbook)

コードコンプリート―完全なプログラミングを目指して (Microsoft PRESS)

コードコンプリート―完全なプログラミングを目指して (Microsoft PRESS)

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)

計算理論の基礎 [原著第2版] 1.オートマトンと言語

計算理論の基礎 [原著第2版] 1.オートマトンと言語

計算理論の基礎 [原著第2版] 2.計算可能性の理論

計算理論の基礎 [原著第2版] 2.計算可能性の理論

計算理論の基礎 [原著第2版] 3.複雑さの理論

計算理論の基礎 [原著第2版] 3.複雑さの理論

Unix考古学 Truth of the Legend

Unix考古学 Truth of the Legend

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

言語設計者たちが考えること (THEORY/IN/PRACTICE)

言語設計者たちが考えること (THEORY/IN/PRACTICE)

全面改訂版 はじめてのGTD ストレスフリーの整理術

全面改訂版 はじめてのGTD ストレスフリーの整理術

Binary Hacks ―ハッカー秘伝のテクニック100選

Binary Hacks ―ハッカー秘伝のテクニック100選

Debug Hacks -デバッグを極めるテクニック&ツール

Debug Hacks -デバッグを極めるテクニック&ツール

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

ソフトウェアの世界でキャリアを築く Making it Big in Software

ソフトウェアの世界でキャリアを築く Making it Big in Software

Effective Modern C++ ―C++11/14プログラムを進化させる42項目

Effective Modern C++ ―C++11/14プログラムを進化させる42項目

正規表現技術入門 ――最新エンジン実装と理論的背景 (WEB+DB PRESS plus)

正規表現技術入門 ――最新エンジン実装と理論的背景 (WEB+DB PRESS plus)

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

型システム入門 −プログラミング言語と型の理論−

型システム入門 −プログラミング言語と型の理論−

  • 作者: Benjamin C. Pierce,住井英二郎,遠藤侑介,酒井政裕,今井敬吾,黒木裕介,今井宜洋,才川隆文,今井健男
  • 出版社/メーカー: オーム社
  • 発売日: 2013/03/26
  • メディア: 単行本(ソフトカバー)
  • クリック: 68回
  • この商品を含むブログ (11件) を見る

Pthreadsプログラミング

Pthreadsプログラミング

きつねさんでもわかるLLVM ~コンパイラを自作するためのガイドブック~

きつねさんでもわかるLLVM ~コンパイラを自作するためのガイドブック~

Sparkによる実践データ解析 ―大規模データのための機械学習事例集

Sparkによる実践データ解析 ―大規模データのための機械学習事例集

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

プログラミングErlang

プログラミングErlang

すごいErlangゆかいに学ぼう!

すごいErlangゆかいに学ぼう!

UNIXシステム管理 第3版〈VOLUME 1〉

UNIXシステム管理 第3版〈VOLUME 1〉

UNIXシステム管理 第3版〈VOLUME2〉

UNIXシステム管理 第3版〈VOLUME2〉

UI GRAPHICS ―世界の成功事例から学ぶ、スマホ以降のインターフェイスデザイン

UI GRAPHICS ―世界の成功事例から学ぶ、スマホ以降のインターフェイスデザイン

  • 作者: 水野勝仁,深津貴之,渡邊恵太,菅俊一,緒方壽人,iA,鹿野護,森田考陽,庄野祐輔,塚田有那
  • 出版社/メーカー: ビー・エヌ・エヌ新社
  • 発売日: 2015/12/17
  • メディア: 単行本
  • この商品を含むブログ (2件) を見る

Hadoop 第3版

Hadoop 第3版

ZooKeeperによる分散システム管理

ZooKeeperによる分散システム管理

アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法 (THEORY/IN/PRACTICE)

アート・オブ・プロジェクトマネジメント ―マイクロソフトで培われた実践手法 (THEORY/IN/PRACTICE)

マイクロサービスアーキテクチャ

マイクロサービスアーキテクチャ

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

4.4BSDの設計と実装

4.4BSDの設計と実装

  • 作者: マーシャル・カークマキュージック,マイケルカレルズ,キースボスティック,ジョンクォーターマン,Marshall Kirk McKusick,Michael J. Karels,Keith Bostic,John S. Quarterman,砂原秀樹,七丈直弘
  • 出版社/メーカー: アスキー
  • 発売日: 2003/09
  • メディア: 単行本
  • 購入: 4人 クリック: 9回
  • この商品を含むブログ (13件) を見る

プログラミング作法

プログラミング作法

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング

Coders at Work プログラミングの技をめぐる探求

Coders at Work プログラミングの技をめぐる探求

コンパイラ―原理・技法・ツール (Information & Computing)

コンパイラ―原理・技法・ツール (Information & Computing)

言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで

言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで

マスタリングNginx

マスタリングNginx

みんなのGo言語[現場で使える実践テクニック]

みんなのGo言語[現場で使える実践テクニック]

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

Rubyのしくみ -Ruby Under a Microscope-

Rubyのしくみ -Ruby Under a Microscope-

DNS & BIND 第5版

DNS & BIND 第5版

実践 パケット解析 第2版 ―Wiresharkを使ったトラブルシューティング

実践 パケット解析 第2版 ―Wiresharkを使ったトラブルシューティング

OpenSSH[実践]入門 (Software Design plus)

OpenSSH[実践]入門 (Software Design plus)

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

シェルプログラミング実用テクニック (Software Design plus)

シェルプログラミング実用テクニック (Software Design plus)

プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)

プロダクティブ・プログラマ -プログラマのための生産性向上術 (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design

SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)

SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)

Rubyを256倍使うための本 無道編

Rubyを256倍使うための本 無道編

世界でもっとも強力な9のアルゴリズム

世界でもっとも強力な9のアルゴリズム

Cassandra

Cassandra

電子書籍で買った本

ワーク・シフト ― 孤独と貧困から自由になる働き方の未来図〈2025〉

ワーク・シフト ― 孤独と貧困から自由になる働き方の未来図〈2025〉

プログラミングElixir

プログラミングElixir

ガベージコレクション

ガベージコレクション

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

ピクサー流 創造するちから―小さな可能性から、大きな価値を生み出す方法

ピクサー流 創造するちから―小さな可能性から、大きな価値を生み出す方法

エクストリームプログラミング

エクストリームプログラミング

SOFT SKILLS ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル

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

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

システムはなぜダウンするのか

システムはなぜダウンするのか

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)

ジェフ・ベゾス 果てなき野望

ジェフ・ベゾス 果てなき野望

ビジョナリー・カンパニー ― 時代を超える生存の原則

ビジョナリー・カンパニー ― 時代を超える生存の原則

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

Apache Kafka入門

Apache Kafka入門

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

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

入門Ansible

入門Ansible

Redis入門 インメモリKVSによる高速データ管理

Redis入門 インメモリKVSによる高速データ管理

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき (Harvard business school press)

イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき (Harvard business school press)

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍)

Yコンビネーター シリコンバレー最強のスタートアップ養成スクール

Yコンビネーター シリコンバレー最強のスタートアップ養成スクール

ワーク・ルールズ!―君の生き方とリーダーシップを変える

ワーク・ルールズ!―君の生き方とリーダーシップを変える

ゼロ・トゥ・ワン―君はゼロから何を生み出せるか

ゼロ・トゥ・ワン―君はゼロから何を生み出せるか

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

「題名だけ知ってた小説」を読み始めた

突然ですが、先週くらいから「題名だけ知ってて気になってた小説」を読み始めました。

きっかけはテッド・チャンの「あなたの人生の物語」というSFです。 これはSFの短編集で、特に理由もなく気まぐれに買ってみただけなのですが、普段全くSFを読まない自分でも面白く感じられました。「もしかしてSFって面白いんじゃないか」と思い、その勢いで他の「題名だけ知ってて気になってた本」も買い始めた次第です。

とりあえず4冊くらい読んだので、ちょろっと書評を書いてみたいと思います。ただ、ネタバレは無い方が良いと思うので、本当に簡単な感想です。

あなたの人生の物語

8つの短編が載っているSF短編集です。どれも興味深い世界観であり、それが「ただ現実に起きたことを記述しているだけ」の様に描かれています。毎話、「次はどんな世界の日常が描かれるんだろう」とワクワクしながら読めました。

実は、最初の1編目を読んだ時は楽しみ方が分からなかったんですが、途中から「描かれた世界観そのものを楽しめば良い」んだと気がついて、それからグッと面白くなりました。

自分も著者のテッド・チャンと同様に「物理」と「コンピュータ科学」がバックグラウンドにあるので(大学院まで物理を学び、コンピュータ科学は独学&仕事で触れているので)、「知識として知っているもの」や「知識として知っているがテッド・チャンとは解釈が違うもの」なんかが出てきたのも楽しめたポイントでした。

Amazon やその他のレビューサイトでかなり評価が高く若干自分の中のハードルが上がっていたのですが、それをきちんと超えてきてくれた様に思います。

幼年期の終わり

SFの古典として有名な本です(古典というと怒られるかも。書かれたのが1953年なので、そこまで古くはないです)。

実は粗筋は知っていたのでストーリーに驚きは無かったのですが、個人的には「高い知性」というものの描かれ方が興味深かったです。

「高い知性」をどう記述するかという事については、「全てがFになる」という本を読んだ時もちょっと考えたので、後でまとめて考えを述べたいと思います。

アンドロイドは電気羊の夢を見るか?

1968年に書かれたSF。タイトルにやけに聞き覚えがあって、内容を全然知らないまま買いました。どこでタイトルを聞いたんだろう?

この本は、描かれる世界観がかなり自分好みでした。調べてみたら、著者のフィリップ・K・ディックが「個性的な世界観」で有名な人みたいです(昔映画で見たマイノリティ・リポートなんかもこの人の作品でした)。

自分は、どうも「自分が今持ってる常識や自分の世界に対する捉え方」と全く異なった"常識"が描かれる事に、面白さを感じる様です。何が正しいか分からなくなる感覚を味わったり、「あり得たかもしれない別の物語」を想像したりして、なかなかに楽しめました。

すべてがFになる

森博嗣という日本の作家さんの本です。SFではないですが(分類するならミステリ)、ずっと気になってたので読んでみました。

自分が理系の学生として大学、大学院を過ごしているので、描写を見て色々懐かしい気持ちになりました(年1回の研究室旅行の事や、研究所で実験をしていた頃の事を思い出しました)。著者は大学で助教授を勤めていたらしく、大学運営の手続きを揶揄する描写は「自身の本音を書いてる」様に感じたのも面白かったです。実際、大学の教員の仕事の量は壮絶だと思うので。。。(自分の研究室の助教も大変そうでした)

お話も面白かったですし、登場人物が魅力的でした。犀川先生は良いですね。

この本でも、「幼年期の終わり」の様に「高い知性」というものが描かれます。ただ、その描かれ方がちょっと違っていて、そこも興味深い点でした。

「高い知性」について

ここで、ちょっとだけ「高い知性」について考えてみたいと思います。人は、どんなものを「高い知性」と考えるのでしょうか?また、普通の人間の知性では理解が及ばないほどの「高い知性」というのは存在し得るのでしょうか?

高い知性の描写には色々な形があります。膨大な知識量、高い記憶力、素早く広範囲な言語習得、甚大な語彙力、圧倒的な計算速度、そして常軌を逸した思考回路。こういったものを目にした時、人々は「知性」を感じるようです。

では、なぜ「知性」を感じるのでしょうか?1つの仮説としては、「自身に出来ないこと」が出来るのがポイントかもしれません。もし、自身では一生かかっても獲得できない様な知識量を持つ人物を目にしたら、きっと僕も「高い知性を持つ人」だと感じると思います。

あるいは、上記に挙げた「普通の人の延長線上にある知性(量的な変化によってもたらされる知性)」だけでなく、「質的に異なる知性」というのも存在するかもしれません。それは、そういったものを目にしてない僕には想像もつきませんが、その存在を否定する事はできません。また、量的な変化によって質的な変化がもたらされる事も十分に考えられます(物性物理業界の有名な格言に、"More is different" という言葉があります。これはざっくりいうと「量的な変化が質的な変化をもたらす」みたいな意味合いなのですが、適用範囲が幅広い上に納得感があり、さらに現実に起きていることを言い表していて、自分の好きな言葉です。今回のケースにも当てはまるかもしれません。)

書評からは脱線しちゃいましたが、「高い知性」の描写には作家ごとに個性が現れるので、なかなか面白いと思います。

まとめ

という事で、最近「題名だけ知ってて気になってた小説」を買い始めたという話でした。

物語自体を楽しめますし、「気になってたことが分かってスッキリ」する感覚も味わえたので、やってよかったと思います。

おまけ: 「買ったけどまだ読んでない本」と「これから買おうとしてる本」について

とりあえず、題名を知ってて目についた本を買ったり欲しい物リストに入れたりしてます。大体以下の様な内容です。個人的には、「四畳半神話大系」が特に気になってます。

買ったけどまだ読んでない本

これから買おうとしてる本(とりあえず目についてほしい物リストに入れたやつ)

あなたの人生の物語

あなたの人生の物語

幼年期の終わり (光文社古典新訳文庫)

幼年期の終わり (光文社古典新訳文庫)

アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229))

アンドロイドは電気羊の夢を見るか? (ハヤカワ文庫 SF (229))

すべてがFになる (講談社文庫)

すべてがFになる (講談社文庫)

「HACKING」や「Linuxカーネル2.6解読室」など、最近の「買って良かった技術書」について

技術書の積読は悪いことでは無いと言いたい」という前回のブログにも書きましたが、自分は適当に技術書を買う事が多いです。

south37.hatenablog.com

その中でも、最近自分の中で「当たり」だったものについて簡単に紹介してみたいと思います。

HACKING

まず、期待値の割にすごく良かったのが、「HACKING」という本です。この本では、様々なパターンの脆弱性が豊富なコード例とともに解説されています。僕は、六本木ではたらくソフトウェアエンジニアへのよくある質問とその答え (FAQ) というページでこの本の存在を知りました。

気になっていたもののそれほど期待していなかったのですが、詳細な説明とともに実践的な(?)脆弱性攻撃の手法などが載っており、内容がものすごく充実していました。例えば、バッファオーバーフローについて、自分は最初は「バッファオーバーフローぐらい知ってるぞ」などと調子づいていたのですが、それを実現するための鮮やかな手際、環境変数を利用したスマートな攻撃方法、はたまたシェルコードの説明やシェルコードを自作する方法まで載っていて、自分の知らなかった情報が詰まっていてすごく面白かったです。「root権限で動くprocessに脆弱性があるとすごく危険」という事実も、知識としては知っていたものの、実際に「脆弱性を突いてrootでshellを立ち上げるコード」を目にすることで「実感」を持つことが出来るようになりました。

Linuxカーネル2.6解読室

また、別の本で買って良かったなーと思ってるのは、「Linuxカーネル2.6解読室」という本です。これは「明倫館」という神保町の古本屋で買ったもので、完全に「ちょっと気になったから適当に買ってみた」ものでした。古本だから新品で買うより安くて、お得に感じたのも買った理由の1つです。

実は、自分はLinuxBSDカーネル本を他にもいくつか持ってるのですが、それらはあまりモチベーションを保って読み進められませんでした。だから、正直「Linuxカーネル2.6解読室」も積読されちゃうかもなーと思ってあまり期待してませんでした。

ところが、この本はすごく読みやすくて、モチベーションが尽きることがありませんでした。いまもチビチビと読み進めています(まだ全体は読めてなくて、PART 1 のカーネルプリミティブ、つまり第6章までと、後はPART 2のプロセス管理やPART 3のメモリ管理周りをつまみ食いしてる感じです。)

この本が自分にとって良いと感じたのは、「コードと説明のバランスが良いから」かもしれません。

カーネルの説明というと、場合によっては「図による概念の解説」や「パラメータや定数の網羅的な説明」に終始しがちで、イマイチ何が起きてるかイメージしづらかったり、単なる暗記作業になってしまったりします(リファレンス的な本ならそれで良いと思いますが)。

ところがこの本では、Linuxカーネルがどういう戦略でどういった機能を実現してるか、またその動作が実際のコードとともに解説されていて、覚えやすいしイメージしやすくなっていました。また、コード自体もすごく参考になるものでした。

自分がLinuxカーネルについて勉強したいと思っていた理由は、「自分が普段利用している、依存しているものが実際に何をしているか知っておきたい」と思っていたからと、もう1つは自分の尊敬するHajime MoritaさんRebuild.fm ep.127で「最適化手法については、OSの最適化戦略などを知っておくとすごく勉強になる」と言っているのを聞いたからでした。

Linuxカーネル2.6解読室は、そういった自分の目的を叶えてくれる本でした。その意味でも、「適当に買って」本当に良かったと思っています。

最近の「買って良かったシリーズ」まとめ

という訳で、最近の自分のマイブームはHACKINGLinuxカーネル2.6解読室でした。多分、今後も適当に買いながら、たまに面白い本に出会うんだろうなーと思ってます。

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

技術書の積読は悪いことでは無いと言いたい

いきなり自分語りをしたいと思います。 自分は結構ソフトウェア関連の技術書を読むのが好きで、よく本屋で適当に買っては読んだりしています。週に1~2冊くらいは買うので読みきれないものはどんどん積読しています。Kindle の中に眠ってる本、机の上や棚に積み上げられた本、様々な本が日に日に増えて行くなーと感じています。

この積読の是非について考えてみたいと思います。

問: 積読は避けるべきこと、悪いことか?

積読は避けるべきこと、悪いことか?」という問について。

この問に対しては、いくつかの考え方、答えがあると思います。

例えば、1つの意見として、「本を買うのはお金がかかるから、積読して読まないのは勿体無い。避けるべきことだ」という考え方もあります。あるいは別の意見として、「買わなかったせいで2度と読めなくなる本もある。読む可能性を作るためなら、積読される可能性があろうとも買うべきだ」という考え方もあります。それぞれ、意見は違えど言い分はもっともです。

では、僕自身はどうなのかと言えば、僕は完全に「積読肯定派」です。理由は、自身の経験として「積読しておいて良かった」ことが多々あったからです。

僕が積読肯定派である理由

僕がどういった経験をして積読肯定派になったのか?一例を紹介したいと思います。

僕は技術書を買った時、読まずにそのまま机に置く、あるいは「はじめに」だけ適当に呼んでそのまま放置する事が多々あります。一方、読み始めたらものすごく面白くて止まらなくなって、休日を潰して一気に読んでしまう事もあります(そういった場合、土日で終わらなかったら平日の通勤時間や帰宅後の時間を使って読み進めます)。

この 「適当に買ってみたけどすごく良かったパターン」が、1つの大きな成功事例として僕の中で強く印象づいています。だからこそ、例え積読になろうとも技術書を買った方が良いと僕は思います。

では、僕が積読を肯定する理由がそれだけかというと違っていて、もう1つ別の理由もあります。それは、「昔買ってあまり読んでなかったけど、読んでみたらすごく面白い技術書だった」という経験があるからです。

僕は技術書を色々なところに積み上げていて、手持ち無沙汰になると適当に手にとってパラ見をします。そうした時、まれに「自分はこんな面白い技術書を持っていたのか」と感動する事があります。

それは、例えば「中盤の章に自分がまだ読んでない面白いトピックがあった」ケースであったり、あるいは「自分の知識がついた事によって面白さが理解できるようになった」ケースであったりします。状況は様々ですが、手元にある事によって偶然面白さに気づけることがあります。これが僕が積読を肯定する2つ目の理由です。

まとめ

自分の考えをまとめてみます。

僕は「積読肯定派」、つまり「積読になる可能性があろうとも、ガンガン技術書を買った方が良いと思う派」です。それは、「買ってから面白さに気づく本もあるから」であり、はたまた「積んで置く事で後から面白さに気づける場合もあるから」です。

自身の考えをまとめておこうと思い、ブログに書いてみました。

ブログテーマを変えてみました

2016年にもなって心機一転という事で、ブログテーマを更新してみました。

参考にしたのは Svbtle というブログサービスのデザインです。 Swift のテストフレームワーク Quick で有名な modocache さんが Svbtle を使って記事を書いていて、あまりにカッコよかったのでついつい真似してしまいました。ほぼパクりみたいになっちゃったのは反省してます。

Medium だったり Svbtle だったり、最近は顔出しが流行ってるみたいなのでそこも真似してみました。若干の恥ずかしさはありますが、気にしない事にします。

2016年の抱負

2016年の抱負を書きたいと思います。去年は Wantedly に新卒として入社して、目の前の仕事を必死でこなしていたらあっという間に1年が過ぎました。若干の焦りを覚えていて、特にアウトプットがすごく少なかったのが反省点だと思っています(このブログも1回しか更新しませんでした)。

2016年はブログや発表といった形でアウトプットを増やしていけたらと思ってます。

最近のマイブーム

最近は、値段が高くて学生時代には手が出せなかった「古典的名著」を買うのがマイブームになってます。TAPL や ドラゴンブック、赤い悪魔本など、買って満足してどんどん積み上がっていってます。積み上げるだけだと勿体無いので、少しずつでも読んでいこうと思います。

YAPC::Asia 2015に行ってきた!!

8/21, 22の2日間 YAPC::Asia に行ってきた。

YAPC::Asia の存在は前から知っていて、でも Perl よくわからないしお金無いし。。とか言って去年は行かなかったんだけど、今年は働き始めてチケット代くらいは出せるようになったので勢いのままに Early Bird Ticket を買って行ってきた。

丸2日行ったけど、振り返ってみたらなんだかあっという間だった。

自分が聞いたトーク一覧

面白かったトーク

TBD by Matz

このトークについては toggetter を見ると雰囲気伝わると思うけど、とにかく Matz さんの話の面白さとトークの完成度の高さが最高だった。 http://togetter.com/li/863417

Ruby作者だからRubyをdisれる」とか「Rubyの良くないところはPerlの影響を受けたこと」とか問題発言もぶち込みつつ、言語デザイナーとしての考えとかが聞けたのが良かった。

Matz さんは将来的に「ほとんどコードを書く必要が無い未来」が来ると考えてて(1ファイルくらいのスクリプトで考えた事が実現できる未来、おそらく高度に抽象化された基盤の上に乗ってる)、昔は自分もそういった未来が来ると無邪気に考えてたけど今はそう思えなくなってるのを実感した。

自分は基盤となるライブラリやフレームワークが全てをカバーするのは無理なんじゃ無いかと思ってる。例えば Ruby on Rails みたいなフレームワークを使うとちょっとした DSL を書くだけで Web アプリケーションに必要な機能が作れるけど、Railを外れると自分でガリゴリ実装を書く必要がある。Rails ほどの規模であっても全てはカバー出来ない事を考えると、短いコードだけで 全て を実現出来る日は来ないんじゃ無いかと思う( 全て じゃなくて よくあるユースケース を抑えるだけなら出来ると思うし、実際そういった流れはあると思うけど)

とりあえず雑にまとめると、言語デザイナーとしての生き方が楽しそうだった。

実践nginxモジュール開発〜CとLua

cubicdaiya さんのトーク。mosaic の nginx 回を聞いてどんな人か気になってたので、話が聞けて良かった。

ngx_small_light の採用事例として弊社(Wantedly)の nginx-image-server が取り上げられてたのはちょっと嬉しかった。 https://github.com/wantedly/nginx-image-server

トークの前半は nginx のモジュールの作り方の説明で、用意しなきゃいけない struct とかが決まっててお作法は覚えなきゃいけないけど、簡単な処理をするモジュールくらいなら作れそうに感じた。

後半は ngx_lua はパワフルで良いよーってお話しで、提供されてる API に詳しくなれた。ngx_lua は昔一瞬だけ使ったことがあって、その時は外部プロセスを一瞬起動するみたいな簡単な処理をしただけだったけど、それでもすごく使いやすかったのが印象的だった。Webサーバにスクリプティング環境があるのは、夢があると思う。

【特別企画】YAPCあるある(仮)

まさにオールスター企画。
miyagawa さん、takesako さん、maki さん、941 さんみたいなこれまでに YPAC を運営してきた人たちによる YAPC の振り返りトークで、安定して面白かった。

toggeter 見ると盛り上がりがわかりそう http://togetter.com/li/863907

HTTP2 時代の Web

Jxck さんの HTTP2 についてのトーク。ちょうど最近 「ハイパフォーマンスブラウザネットワーキング」を読んでたので自分の中ではタイムリーな話しだった(今年の初めに RFC化されたから世間的にも注目浴びてるけど)。

multiplex で速くなるっていうのは知識としては知ってたけど、画像を使ったデモがすごく分かりやすい & 印象的で良かった。 速い って一口で言ってもいろんな速さがあって、例えば html 降ってくるのが速くなってもフロントで詰まる事は全然あって、大きな画像がページの上部に6枚あればそれで簡単にコネクションが占有されてしまうというのが印象的だった。

HTTP/2 を導入すべきかどうかみたいな話しもあるけど、 rebuild で oku さんも話してたみたいに apache や nginx みたいな Web サーバーがどうせ実装する(&ブラウザは既に実装してる)から、素直にみんな使うようになるんじゃないかと思う。

全体の所感

著名な人が集まってて、オールスター感がすごかった。 特に、 rebuild や mosaic みたいなPodcastを最近は聴きまくってたので、そこに出てた人が喋ってるのを見れたのが嬉しかった。(Jxck さんとか声のイメージしか無かったので、こんな人だったのかーみたいな)

残念だったのは、5トラックあるから休まず出てもトーク全体の 20 % しか聞けない事。これはまあ構造上仕方が無い事ではあるんだけど、面白そうなトークが被りまくってて他の直接聞けないのは悲しいと思った。 直接トーク聞いて感じたのはスライドだけでは伝わらないものがけっこうあるって事で(例えばスライドに載せてないけど話してた重要な事とか会場での盛り上がりとか)、よく発表したスライドが公開されてるけどトークの動画も公開して欲しいと感じた。

全体として、YAPCが開催されて、こうやってYAPCに行けて良かったと思う。 スタッフ、スピーカー、参加者のみなさん、お疲れさま & ありがとうございました。