2019年 読んで良かった書籍(技術編)

2019年の振り返り

amazonの注文履歴で2019年を振り返ると、ベトナム・ハノイ出張や、色々と新しく始まったモノゴトを思い出す。

1年の振り返りにamazonの注文履歴は結構オススメ。

Table of Contents

OS

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識

システムコール、プロセス管理、メモリ管理、ファイルシステム、ストレージなど、OSの主な要素とOSに近いハードウェアについて体系的に学べてとても良かった。

「はじめに」でも書かれているが、きれいな階層で表現される事の多いコンピュータシステムと向き合う際、実際は複雑に絡み合った関係性を理解するのに苦戦する。その理解を深めることが出来て、初学者にとっても有益だと思う。

作って理解するOS x86系コンピュータを動かす理論と実装

OSの主要な要素を抽象的に、そして網羅的に理解したら次はこの本がOSの実装にとても役立つ。

OSよりも下の階層であるコンピュータの基礎とx86系のアーキテクチャについて必要十分な解説があり、その後、OSの実装を丁寧に解説してくれるバランスの良い書籍だと思う。

たまに「OSはソースコードを読めば理解できる」というストロングスタイルを目にすることがあるが、実際のOSは複雑に改良されており十分な背景知識がなければ理解する事は非常に難しい。コンピュータの基礎と照らし合わせながら学ぶことでOSの基礎までを体系的に理解する事を助けると思う。

システムコール

Linuxシステムコール基本リファレンス ──OSを知る突破口 WEB+DB PRESS plus

OSの理解をシステムコールからアプローチする事はとても有意義である。 OSにはどのようなシステムコールがあるのか、それはどんなコマンドやCライブラリ関数に関係しているのか、簡易なサンプルコードと共に学ぶことでシステムコールの理解を助ける。

簡易コマンドの作成についても、ファイル入出力、プロセス関連、時刻関連、socket関連とバランスよく網羅的に触れることが出来るのでシステムコールを通じてOSがどのような仕組みで動いているのか理解しやすい。

UNIXシステムプログラミング

例解UNIX/Linuxプログラミング教室 システムコールを使いこなすための12講

システムコールを利用したUNIXシステムプログラミングという観点での教科書。

こちらはUNIXにフォーカスしており、LinuxとUNIXの違いについて気付くことが多く、より知識の幅を広げるのに最適だと思う。

コンピュータサイエンスを学問として学んでいない化学系卒のエンジニア(?)としては、とてもありがたい教科書。

コンテナ技術

15Stepで習得 Dockerから入るKubernetes コンテナ開発からK8s本番運用まで (StepUp!選書)

2019年はコンテナ技術の大衆化が特に進んだ年だと思う。

つまみ食いしていたKubernetesについて丁寧に学習し直したくて選んだが、図解が分かりやすく情報を整理しながら学習出来た。

開発環境も用途に合わせて選べるような配慮が優しい。ただ、Kubernetes自体は今この時間も凄まじい速さで進化しており、情報のキャッチアップは継続的に必要。

Photo by Alfons Morales on Unsplash

Souta Takada
Souta Takada
Technical Manager.

Software Engineer. Love Golang. Love envy(band in JP). Love Okinawa(JP)

Related