その他:オススメ技術書・読むべき技術書

エンジニアの知識はどんどん積み重なっていきます。一生という長いスパンで見ればできるだけ早くから知識を吸収することで今後の人生が豊かになり、楽になります。

経験を積んでいくことが一番の近道だと思いますが、本を読む習慣をつけることと何度も読み返せることや自分のペースで好きなときに学べるという様々なメリットがあります。

そこで今回はかけだしのエンジニアにおすすめの技術書を紹介しますので、苦手と思う分野や興味がある分野、今後なりたいエンジニア像などからぜひ気になる本を見つけてみてください!


Webを支える技術 ―― HTTP,URI,HTML,そしてREST WEB+DB PRESS plus

Webは誕生から20年で爆発的な普及を果たし,17億人のユーザと2億台のサーバを抱える巨大システムへと成長しました。Webがここまで成功した秘密は,その設計思想,いわゆるアーキテクチャにあります。Webのアーキテクチャ,そしてHTTP,URI,HTMLといったWebを支える技術は,Webがどんなに巨大化しても対応できるように設計されていたのです。
私たちが作る個々のWebサービスも,Webのアーキテクチャにのっとることで成功へとつながります。Webのアーキテクチャに正しく適応したWebサービスは,情報が整理され,ユーザの使い勝手が向上し,ほかのサービスと連携しやすくなり,将来的な拡張性が確保されるからです。

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

日本中の現場で支持されたベストセラーが、最新環境にあわせて全面刷新+大増ページ!
Webアプリケーションにはなぜ脆弱性が生まれるのか?
脆弱性を解消するにはどうプログラミングすればよいか?
PHPサンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる!

達人プログラマー ―熟達に向けたあなたの旅

本書は、より効率的、そしてより生産的なプログラマーになりたいと願うソフトウェア開発者に向けて、アジャイルソフトウェア開発手法の先駆者として知られる二人により執筆されました。経験を積み、生産性を高め、ソフトウェア開発の全体をより良く理解するための、実践的なアプローチが解説されています。
先見性と普遍性に富んだ本書は、入門者には手引きとなり、ベテランでも読み直すたびに得るものがある、座右の一冊です。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。

達人に学ぶDB設計 徹底指南書

DB設計の基礎と実践ノウハウが身につく一冊
本書は、好評を博した『達人に学ぶ SQL徹底指南書』の続編という位置づけで、プロのデータベース(DB)エンジニアである著者が、DB設計の基礎と実践ノウハウをやさしく手ほどきする指南書です。初級者が押さえておくべきDB設計の基礎知識やポイント、正規化/非正規化のケーススタディ、テーブル設計のやってはいけないバッドノウハウ、注意すべきグレーノウハウなどを丁寧に解説します。豊富なサンプルと練習問題で、現場で通用する実践的な力が身につきます。DBエンジニアを目指す人、DB設計の基礎と実践をしっかり学びたい人、脱初級を目指すアプリケーション開発者やDBエンジニアなど、DB設計・開発に携わるすべての方におすすめの一冊です。

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則

一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか?
本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!

マスタリングTCP/IP 入門編

TCP/IP解説書の決定版! 時代の変化によるトピックを加え内容を刷新!
 本書は、ベストセラーの『マスタリングTCP/IP 入門編』を時代の変化に即したトピックを加え、内容を刷新した第6版として発行するものです。豊富な脚注と図版・イラストを用いたわかりやすい解説により、TCP/IPの基本をしっかりと学ぶことができます。プロトコル、インターネット、ネットワークについての理解を深める最初の一歩として活用ください。

Clean Code アジャイルソフトウェア達人の技

本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。

Docker実践ガイド 第2版 impress top gearシリーズ

本書では、技術者だけでなく、IT基盤の方向性の検討や戦略の立案、意思決定を行う立場の方が、導入前の検討を実践できる内容を盛り込みました。具体的には、コンテナの特徴、導入時の検討項目、注意点などのチェックリストを設け、システム構成例などを解説図にまとめ、要点を把握しやすいようにしました。また、大規模データセンター向けのコンテナ基盤構築の経験がない技術者でも、その基礎を理解できるよう、Dockerのインストール手順、使用法などを具体的に記載しています。
 また、今回出版される第2版では、新たに商用版Docker EEの検討項目、構築手順、使用法、セキュリティ管理手法の掲載に加え、Dockerを取り巻くエコシステムについて、2019年時点での最先端のトピックを取り上げました。内容の詳細は目次を参照していただきたいのですが、コンテナの連携を行うDocker Compose、クラスタ化を実現するDocker Swarm、コンテナ向けの仮想化基盤を構築するDocker Machine、GUI管理ツール、CRIUを使ったライブマイグレーション、コンテナ専用OSのCoreOSとRancher OS、コンテナ基盤におけるネットワーキング、周辺機器の使用例、インターネットに接続しない社内コンテナ環境の構築、そして、複数コンテナによるオーケストレーションを実現する人気のKubernetesなどの解説を網羅しています。

Kubernetes完全ガイド

Kubernetes解説書の決定版がついに改訂!
Kubernetesはコンテナ化されたアプリケーションのデプロイ、スケーリングなどの管理を自動化する「コンテナオーケストレーションエンジン」です。「クラウドネイティブ」を実現するためのコア技術として、現在多くのシステムでの利用が進んでいます。