2008 年頃(大学三年生頃)以降に読んだ/読みたい/気になる/積んでいる本のリスト。何を読んだかすぐに忘れるので作りました。冊数が多いので小説と漫画は除外しています。

読書ログは #nhbk ハッシュタグをつけて Twitter に流しています。

ステータスの見方

  • 無印:まだ読み始めていない。積み本(一部のみ)。
  • 途中:今現在読んでいる、もしくはまだ読み終わってなくてそのうち読むのを再開する。
  • 20XX:読み終わった(流し読みや、つまみ読みを含む)。
  • 辞書:辞書的に読んでいるので永遠に読み終わらない。
  • 挫折

情報科学全般

  • 純粋関数型データ構造
  • Understanding Compression
  • 型システム入門 ― プログラミング言語と型の理論
  • その数式、プログラムできますか?
  • 計算機プログラムの構造と解釈
  • 正規表現技術入門 ― 最新エンジン実装と理論的背景

  • (途中) アンダースタンディング コンピュテーション ― 単純な機械から不可能なプログラムまで
  • (途中) ガベージコレクション ― 自動的メモリ管理を構成する理論と実装

  • (2012) アルゴリズムを学ぼう
  • (2010) ガベージコレクションのアルゴリズムと実装
  • (2009) アルゴリズムイントロダクション第三巻 ― 精選トピックス
  • (2009) アルゴリズムイントロダクション第二巻(改訂 2 版) ― 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム
  • (2009) アルゴリズムイントロダクション第一巻(改訂 2 版) ― 基礎・ソート・データ構造・数学
  • (2008) オートマトン言語理論 計算論 I(第二版)
  • (2008) アルゴリズムとデータ構造(岩波講座 ソフトウェア科学 3)
  • (2007) 基礎情報理論

  • (辞書) 詳説正規表現

プログラミング・言語処理系

  • 7 つの言語 7 つの世界
  • Optimized C++
  • プログラミング言語 Go
  • プログラミング Elixir
  • C++ のための API デザイン
  • C++ テンプレートテクニック(第二版)
  • The Architecture of Open Source Applications - Volume II: Structure, Scale, and a Few More Fearless Hacks
  • The Architecture of Open Source Applications - Elegance, Evolution, and a Few Fearless Hacks
  • コンパイラの構成と最適化
  • 最新コンパイラ構成技法(タイガーブック)
  • Linkers and Loaders

  • (途中) Programming Rust
  • (途中) すごい Haskell たのしく学ぼう!

  • (2016) Effective Modern C++ ― C++11/14 プログラムを進化させる 42 項目
  • (2013) コーディングを支える技術
  • (2013) ls を読まずにプログラマを名乗るな!
  • (2012) Effective STL ― STL を効果的に使いこなす 50 の鉄則
  • (2012) More Effective C++ ― プログラムとデザインを改良するための新 35 項目
  • (2012) Effective C++ ― プログラムとデザインを改良するための 55 項目
  • (2012) ゲームプログラマのための C++
  • (2012) 言語実装パターン ― コンパイラ技術によるテキスト処理から言語実装まで
  • (2012) パーフェクト JavaScript
  • (2012) Effective Java(第二版)
  • (2011) Binary Hacks ― ハッカー秘伝のテクニック 100 選
  • (2011) リンカ・ローダ実践開発テクニック ― 実行ファイルを作成するために必須の技術
  • (2011) 省メモリプログラミング ― メモリ制限のあるシステムのためのソフトウェアパターン集
  • (2011) エキスパート Objective-C プログラミング
  • (2011) iPhone プログラミング UIKit 詳解リファレンス
  • (2011) スクリプトエンジン プログラミング
  • (2010) プログラミングテクニックアドバンス ― 実践的 UNIX プログラミングソースコードにみる珠玉の手法
  • (2010) プログラミングテクニック ― UNIX コマンドのソースコードにみる実践プログラミング手法
  • (2010) エキスパート Python プログラミング
  • (2010) GNU Make(第三版)
  • (2010) ふつうのコンパイラをつくろう ― 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み
  • (2010) 明快入門 コンパイラ・インタプリタ処理系を作りながら学ぶ
  • (2010) エキスパート C プログラミング 知られざる C の深層
  • (2010) メタプログラミング Ruby
  • (2010) Ruby ソースコード完全解説
  • (2010) プログラミング言語 Ruby
  • (2009) Boost C++ Libraries プログラミング(第二版)
  • (2008) Java の地図帳 図解・実例・リンクで学ぶ Java プログラミング
  • (2008) コア Java 2 基礎編
  • (2008) 基礎からの PHP

  • (辞書) コンパイラ ― 原理・技法・ツール(ドラゴンブック)

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

  • FPGA の原理と構成
  • コンピュータシステムの理論と実装
  • ディジタル回路設計とコンピュータアーキテクチャ [ARM版]
  • 熱血!アセンブラ入門

  • (途中) 自作エミュレータで学ぶ x86 アーキテクチャ
  • (途中) コンピュータアーキテクチャ 定量的アプローチ(ヘネパタ)
    • ヘネパタ読書会に参加していた
  • (2017) GPU を支える技術 ― 超並列ハードウェアの快進撃[技術基礎]
  • (2016) ディジタル回路設計とコンピュータアーキテクチャ
  • (2015) はじめて読む486 - 32ビットコンピュータをやさしく語る
  • (2011) 構造化コンピュータ構成(第四版)
  • (2011) プロセッサを支える技術
  • (2009) コンピュータの構成と設計(パタヘネ)
  • (2008) 作りながら学ぶコンピュータアーキテクチャ

オペレーティングシステム

  • Android を支える技術 II ― 新のマルチタスクに挑んだモバイル OS の心臓部
  • 詳解 システム・パフォーマンス
  • インサイド Windows 下巻
  • 新装改訂版 Linux のブートプロセスをみる
  • Linux デバイスドライバ

  • (途中) Unix 考古学 Truth of the Legend
    • 出版記念イベントに参加しました(感想
  • (途中) インサイド Windows 上巻

  • (2017) Android を支える技術 I - 60 fps を達成するモダンな GUI システム
  • (2017) Linux プログラミングインタフェース
  • (2013) はじめての OS コードリーディング ― UNIX V6 で学ぶカーネルのしくみ
  • (2012) 作りながら学ぶ OS カーネル ― 保護モードプログラミングの基本と実践
  • (2010) 30 日でできる!OS 自作入門
  • (2011) Write Portable Code ― 複数プラットフォームに移植可能なソフトウェアの開発技法
  • (2009) Linux システムプログラミング
  • (2008) 例解 UNIX プログラミング教室 ― システムコールを使いこなすための 12 講
  • (2008) オペレーティングシステムの仕組み

  • (辞書) 詳解 Linux カーネル

並列並行プログラミング・分散システム

  • SRE サイトリライアビリティエンジニアリング ― Google の信頼性を支えるエンジニアリングチーム
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
  • ビッグデータを支える技術 ― 刻々とデータが脈打つ自動化の世界

  • (途中) Shared Memory Application Programming

  • (2011) The Art of Multiprocessor Programming ― 並行プログラミングの原理から実践まで
  • (2009) Pthreads プログラミング
  • (2009) Distributed Systems: Principles and Paradigms (2nd Edition)
  • (2008) Google を支える技術

ネットワーク

  • (2009) UNIX ネットワークプログラミング (Vol.2) IPC: プロセス間通信
  • (2009) UNIX ネットワークプログラミング (Vol.1) ネットワーク API: ソケットと XTI
  • (2009) Computer Networking: A Top-Down Approach (4th Edition)

データベース

  • 理論から学ぶデータベース実践入門 ― リレーショナルモデルによる効率的な SQL
  • プログラマのための SQL ― すべてを知り尽くしたいあなたに
  • プログラマのための SQL グラフ言論 ― リレーショナルデータベースで木と階層構造を扱う
  • 達人に学ぶ SQL 徹底指南書

  • (途中) Database Management Systems

ウェブ

  • ブラウザハック

  • (2017) Real World HTTP ― 歴史とコードに学ぶインターネットとウェブ技術
  • (2017) Web フロントエンドハイパフォーマンスチューニング
  • (2014) ハイパフォーマンスブラウザネットワーキング ― ネットワークアプリケーションのためのパフォーマンス最適化
  • (2013) めんどうくさい Web セキュリティ
  • (2011) Ruby on Rails 3 アプリケーションプログラミング
  • (2010) Web 開発者のための大規模サービス技術入門 ― データ構造、メモリ、OS、DB、サーバ/インフラ
  • (2008) 24 時間 365 日 サーバ/インフラを支える技術 ― スケーラビリティ、ハイパフォーマンス、省力運用

機械学習/人工知能

  • (途中) ゼロから作る Deep Learning
  • (途中) はじめてのパターン認識

  • (2016) 人工知能は人間を超えるか
  • (2008) 人工知能の基礎

ソフトウェア工学

  • エリック・エヴァンスのドメイン駆動設計
  • マイクロサービスアーキテクチャ
  • API デザインケーススタディ ~Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方

  • (2017) プリンシプル オブ プログラミング ― 3 年目までに身につけたい 一生役立つ 101 の原理原則
  • (2014) GitHub 実践入門 ― Pull Request による開発の変革
  • (2012) リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック
  • (2009) Joel on Software

  • SCRUM BOOT CAMP THE BOOK

ゲーム

  • Game Programming Patterns ― ソフトウェア開発の問題解決メニュー
  • ゲームエンジン・アーキテクチャ

  • (2016) デジタルゲームの教科書

その他

  • セキュリティコンテストのための CTF 問題集
  • セキュリティコンテストチャレンジブック ― CTF で学ぼう! 情報を守るための戦い方

  • (2017) こんなにスゴイ!地図作りの現場
  • (2015) たのしい電子工作 Arduino で電子工作をはじめよう!
  • (2015) Arduino をはじめよう(第 2 版)
  • (2012) 世界で闘うプログラミング力を鍛える 150 問 ― トップ IT 企業のプログラマになるための本
  • (2010) プログラミングコンテストチャレンジブック
  • (2009) ディジタル画像処理
  • (2009) 目指せ!プログラミング世界一 ― 大学対抗プログラミングコンテスト ICPC への挑戦

理工学

  • 惑星形成の物理 ― 太陽系と系外惑星系の形成論入門
  • (途中) スタンフォード物理学再入門 力学

  • (2017) 天文宇宙検定公式問題集 2 級 (2016-2017 年版)
  • (2017) 天文宇宙検定公式テキスト 2 級 (2017 - 2018 年版)
  • (2017) 地球・生命の大進化 ― 46億年の物語 大人のための図鑑
  • (2016) みんなが知りたい船の疑問 100
  • (2016) 輪廻する宇宙 ― ダークエネルギーに満ちた宇宙の将来
  • (2013) 統計学が最強の学問である
  • (2012) 現代素粒子物語 ― ヒッグス粒子から暗黒物質へ
  • (2010) 相対性理論の世界 ― はじめて学ぶ人のために
  • (2010) 量子重力理論とはなにか ― 二重相対論からかいま見る究極の時空理論
  • (2008) 宇宙物理学入門 ― 宇宙の誕生と進化の謎を解き明かす

経済

  • ブロックチェーンの衝撃
  • (2016) 日本銀行
  • (2016) 海外 ETF と REIT で始めるインカムゲイン投資の教科書
  • (2016) 新・観光立国論 - イギリス人アナリストが提言する 21 世紀の「所得倍増計画」
  • (2015) マンションは 10 年で買い替えなさい
  • (2015) お金持ちの教科書
  • (2008) お金は銀行に預けるな ― 金融リテラシーの基本と実践

子育て・教育

  • (途中) レジリエンスの鍛え方

  • (2017) 世界のトップ 1% に育てる親の習慣ベスト 45
  • (2017) 頭がいい子の家のリビングには必ず「辞書」「地図」「図鑑」がある
  • (2015) 「学力」の経済学
  • (2015) アイビーリーグの入り方 ― アメリカ大学入試の知られざる実態と名門大学の合格基準

その他

  • (途中) ソシュールと言語学 ― コトバはなぜ通じるのか
  • (途中) アメリカの小学生が学ぶ歴史教科書
  • (途中) 音楽の基礎

  • (2016) コンテナ物語
  • (2016) 日本人の知らないワンランク上のビジネス英語術 ― エール大学厳選 30 講
  • (2016) 新・観光立国論
  • (2015) メイカーズ進化論 ― 本当の勝者は IoT で決まる
  • (2015) ネットがつながらなかったので仕方なく本を 1000 冊読んで考えた そしたら意外に役立った
  • (2015) はじめての構造主義
  • (2015) 脳が冴える 15 の習慣 ― 記憶・集中・思考力を高める
  • (2015) おとなの教養 ― 私たちはどこから来て、どこへ行くのか?
  • (2015) これだけ!PDCA
  • (2014) コンサルタントの読書術 ― 確実に成果につながる戦略的読書のススメ
  • (2014) 乱読のセレンディピティ
  • (2014) THE ONE THING
  • (2014) 日記の魔力 ― この習慣が人生を劇的に変える
  • (2013) 不格好経営 ― チーム DeNA の挑戦
  • (2013) プレゼンテーション zen デザイン ― あなたのプレゼンを強化するデザインの原則とテクニック
  • (2013) プレゼンテーション zen ― プレゼンのデザインと伝え方に関するシンプルなアイデア
  • (2012) Think Simple ― アップルを生み出す熱狂的哲学
  • (2012) はじめての GTD ― ストレスフリーの整理術
  • (2009) 創造はシステムである ― 「失敗学」から「創造学」へ
  • (2009) 進化するグーグル ― 世界を掌握する “未来戦略”
  • (2008) フューチャリスト宣言
  • (2008) わかったつもり ― 読解力がつかない本当の原因