エンジニア3年目、今年読んだおすすめ本


サーバーサイドプログラミング Advent Calendar 2017 21日目です。
せっかく書いたのでAdvent Calendarにしようと思いそれっぽいところに投稿してみました。


あっという間に一年です。
今年は所属が変わったり、iOSエンジニアからサーバーサイドに変わったりと激動でした。
気づけばエンジニアも3年目、2017年度版です。

 おすすめ本

ゼロから作るDeep Learning

「Deep Learning頑張っていこう」という強い思いがあったわけではありませんが、各所で"いい本"と紹介されており、興味本位で読んでみました。
込み入った数式に振り回される事がなく、ごく本質的な事のみに絞られていたので気持ちよく読み進めることができました。

Deep Learningのコンセプトについて平易な文章で簡潔にまとめられており、最初の一冊としてはこの上ない内容です。

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道

こちらも各所でおすすめされている通り素晴らしい本でした。
背景として

  • UNIXコマンドをちゃんと使えるようになりたい
  • シェルをもっと使いこなしたい
  • シェルスクリプトを書けるようになりたい

といった動機がありました。この本は決してこれらのニーズを満たしてくれるものではなく、その意味で期待していた内容ではありませんでした。
しかし、システムコールを使って標準コマンドを実装することでより深いレベルでその動作を知れたので逆に良かったなと思います。
また、プロセスやプロセスフォークの仕方、親子プロセスの扱い方をシステムコールレベルで触れるのはなかなか面白かったです。

これを読めばコマンドはばっちり、とはなりませんがLinuxへの入門としては最適です。
気持ちよく読み終わった直後に10年ぶりの改訂版を出すのはやめてください。笑

 オペレーティングシステムの仕組み

こちらで紹介されているのを目にして「OSについて知っておこう」と思い読みました。

OSをに欠かせない概念がコンパクトにまとめられており、スッと理解できます。また、1回でダメでも2回目読むとだいたいわかる、という非常に味のある本でした。
OSの仕組みについては全くの初心者でしたが、プロセス・排他制御・ページングなどの概念を抑える事ができたので、次のステップに進むよい足がかりとなりました。

ページ数自体は多くないので、「OS勉強したいけど心の準備が...」という方はぜひ読んでみてください。

さいごに

昨年は5選という形でしたが今年は3冊のみの紹介でした。厳選しました。笑
決して他の本がつまらなかったというわけではないのですが、この3冊が特に印象深かったです。
来年は10冊くらい紹介できるようがんばります。