nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

年末年始に読んだ技術書: 『入門 モダンLinux』『単体テストの考え方/使い方』『単体テストの考え方/使い方』 『systemdの思想と機能』『作りながら学ぶ Webシステムの教科書』

年末年始やゴールデンウィークやお盆休みのような長期休暇には、まとまった時間がとれるということで、IT関係のお勉強をする習慣にしています。いつもは手を動かす系の技術書に取り組むことが多いのですが、よさげな本が見当たらなかったということで、2023年の年末年始は読む圭の技術書にいくつか取りかかることにしました。積ん読ではないですが、読みたかった・気になっていた技術書がいくつもあったので、これを片づけるちょうどいい機会になったと思います。

なにより、ここ数か月プログラムは書いていたものの、知識をインプットすることが不足している自覚がありました。アウトプットは重要ですが、インプットも同じぐらいに重要です。インプット不足の解消、実のところ、これが一番の目的だったかもしれません。とにかく技術書の読書Weekとして充実した年末年始を送ることができました。

『入門 モダンLinux

honto.jp

本書はLinuxを使いこなす上で必要な基礎知識を幅広く紹介しつつ、最新の動向についてもまとめている1冊です。タイトルには入門とありますが、完全なる初心者というよりは、入門を脱しつつある中級者向けの内容になっています。Linuxを日常的に利用する中で、その裏側の仕組みを知りたくなってきた。あるいは、Linuxについて必要になるたびにネットで調べてきたが、その知識を体系的に整理したい。そんな人にはぴったりな本になっていると思います。

単体テストの考え方/使い方』

honto.jp

本書は単体テストについて徹底に議論した1冊です。そもそも単体テストとは何か? 統合テストとの違いは? どのような手法や流派や歴史があるのか? どのような設計手法やリファクタリングやメトリクスや分析を用いれば、単体テストの価値を高めることができるのか? そういった単体テストのすべてをあらゆる角度から精緻に検討し、平易なことばづかいでクリアにまとめています。開発者はもちろんのこと、システム開発PJにおいて単体テストを導入したり推進したりするようなアーキテクトロールの人が読むとよさそうです。

『systemdの思想と機能』

honto.jp

タイトルにもある通り、systemdに関する書籍です。そもそもsystemdとは何か、どういう歴史的経緯で開発されたのか、というところにはじまり、systemdが提供する幅広い機能をやや駆け足ながら、わかりやすく紹介しています。具体的な使い方が乗っているクックブックというよりは、systemdを体系的に理解するための1冊という感じ。層はややニッチですが、必要な人には刺さる、そんな本になっていると思います。

『作りながら学ぶ Webシステムの教科書』

honto.jp

Webシステムのインフラエンジニアになりたい人向けの本ですね。Linuxサーバの構築からミドルウェアのインストール・設定投入まで、Webシステムのインフラに必要な知識が一通り学べます。本書の特徴はハンズオンが充実している点。机上で仕組みはわかったが、ではどうすればよいのか? というのはよくある話です。自分も全部ではないですが、気になるところは実際に手を動かして学びを深めました。最近のWebシステムでは必須といっていいコンテナやクラウドについても説明があるし、なにより解説が平易でわかりやすい。インフラが専門でない人が勉強の副読本に使うにもってこいの1冊ではないかと思います。

『体系的に学ぶ 安全なWebアプリケーションの作り方』

honto.jp

一般に"徳丸本"として知られるWebシステムのセキュリティの名著ですね。Webシステムにはどのような脆弱性があるのか? その脆弱性がどのようなコードで発生するのか? 攻撃手法は? どのように防ぐのか? こうしたWebシステムに脆弱性が生まれる原理と対応方法を具体的かつ体系的に学ぶことができる1冊です。実は自分は情報セキュリティスペシャリスト試験に合格しているとこともあり、紹介されている脆弱性は知っているものが多かったのですが、具体的にどういうプログラムに問題があるのか、どうやって攻撃されるのかまで、必ずしも理解できていなかったので、ここはすごく勉強になりました。コードサンプルはPHPが中心ですが、PHP特有の話は少ないです。年々セキュリティは重要度を増していますし、Webシステムにかかわるすべての開発者が読んでいて損にはならないかと思います。