Edited at

新米エンジニアが入社して半年で読んだ・読まされた本まとめ

More than 3 years have passed since last update.


新米エンジニアが入社して半年で読んだ・読まされた本まとめ

Outline

Category

Web一般

HTML/CSS

JavaScript

jQuery

Linux

Java

Android

DB

アルゴリズム

正規表現

サーバ・ネットワーク

バージョン管理(Gitメイン)

資格

その他



Web一般


「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか


  • ずっとHTML/CSSでWebサイト構築してたけど、なんとなくjQuery使ってリッチなサイト使ってたけど、裏側の仕組みがわからないからなんかなあ。。。という人はぜひ読んで欲しいです

  • Webサイトとは何か、なぜWebが動くのか、そういった背景のうちデザイナやフロントコーダでも知っておくべき知識が体系的にまとめられています

  • サーブレット/JSPのサンプルコードによる紹介が一部あります

  • とはいえ、サーブレットとJSPでサンプルコードを用いながら紹介している章以外は、Javaの知識などがなくても読めるし、一般的な知識を網羅的に説明してくれています

  • ついでに、一部PHPによるサンプルも有りますが、こちらもPHPわからないと読めないというレベルではないので心配ないかと思います


ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化


  • Amazon.comの方でも28レビューで4.5をもらっている、質の高い名著です

  • そもそも著者のIlya Grigorik(@Google)が、難しいことをわかりやすく説明するのに長けているのか、「分かりそうでわからない」Webのパフォーマンスのはなしを、「わからなさそうで分かる」に見事に変えてくれる感覚でした

  • 中級のはじめくらいのレベル感ですので、しっかり理解したほうがいい場合やネットワークそもそも何?くらいの文系エンジニアや初心者のかたは、下記で紹介している「マスタリングTCP/IP」から読むことをおすすめします

  • とはいえ、今の時代、Webサイトを業務レベルで扱っている人はこの書籍の内容を少なくとも知っておくか、一度読むべきだと思います



HTML/CSS


よくわかるHTML5+CSS3の教科書【第2版】 教科書シリーズ


  • 個人的にはHTML/CSSの基本はもともと知っていたので、一度さらっと読んだだけでした

  • が、本当にHTML/CSS自体から触ったことがない人にとっては、わかり易い内容だったようで、具体的なサンプルコードも豊富に乗っている点がおすすめかなと思いました


Web制作者のためのSassの教科書 これからのWebデザインの現場で必須のCSSメタ言語


  • Sassを使う人は一度は見たことがあるか手にとったことがあるのではないでしょうか

  • Sassを取り入れているチームなどは、新規に入ってきたメンバーへの教育のかわりにもなるので、一冊持っておいてもいいのかもしれません


HTML5 Hacks ―インタラクティブWebアプリケーションのためのテクニック


  • 「HTML5のAPIでとりあえずいろいろ使ってみたい」という人におすすめです

  • 実際に動くものが作れるし、モチベーションを上げやすい本です

  • また、HTML5のAPIに関して広く紹介している点も、「HTML5でなにできるの?」って人におすすめの理由でもあります

  • ただ若干内容が古いのかも。2016年後半くらいだったとしたら多分紹介していないかもしれません



JavaScript


よくわかるJavaScriptの教科書 教科書シリーズ


  • 個人的にはJavaScriptの基本はあまり時間をかけなくていいかなと思っていたので、一度さらっと読んだだけでした

  • この本は、JavaScriptの基本的な言語仕様から、jQueryを含めリッチなインターフェースを持つサイトを実際に作成するところまで一貫して書かれているので、新米Webフロントエンジニアは一読の価値があるかと思います

  • ハンズオン形式なところもあるので、JavaScriptをレベルアップさせたい、というような場合は、他の書籍で補強する必要があるかと思います


JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで


  • JavaScriptを少し学んだ人が、もっと出来ることを増やしたい、という時におすすめです

  • というのも、わかりやすい説明とともに、「面白く動く、かつ業務にも活かせそうな汎用的な」良質なサンプルコードが豊富に乗ってあるからです

  • まさに名の通り「本格入門」にそぐわない、入門者にとってありがたいレベル感の本だともいます


JavaScript逆引きレシピ jQuery対応


  • 「逆引き」関連は、一冊手元においてあってもいいかもしれません

  • JavaScriptをサイ本(オライリーの著名な入門本)などでしっかり学んだ人が、逆に動くようなサンプルコードをいろいろ手を動かして書いてみたい場合におすすめです

  • モチベーションをあげるためには動くサンプルコードって重要性も意義もあると思うのですが、それだけだと付き焼き刃な知識しかつかないので、しっかり言語仕様を学ぶ教科書でも勉強しておくことをおすすめします


JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス


  • 少し古いですが、海外でも安定したレビューを誇る名著です

  • JSの基本仕様を抑えたうえで、ぜひ一度手にとって見ることをおすすめします

  • 気軽に読める点もおすすめです


オブジェクト指向JavaScriptの原則


  • JavaScriptの可能性を広げたい、言語仕様を研究したい、という人におすすめです

  • ECMAScript 2015やNode v4など進化の早いJS界隈ではありますが、最新の流行だけでなくベースもしっかり抑えておくのも必要だと思います

  • レベル感としては中級入って以降くらいかなと思います


ハイパフォーマンスJavaScript


  • ただスクリプトを書くだけで飽きたらず、「自分のこのコードって本当にいけてるの?早いの?」って気になりだしたらぜひ一読をおすすめします

  • ちょっと古い感がありますが、定番のアンチパターンやベストプラクティスを知ることができます

  • そもそもこの書籍を一読することで、「動けばいいや、なんとなく」なスクリプトから「これ早いかな、ベストプラクティスに沿っているかな」といったスクリプトを書く習慣づけに効きました


シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA


  • こちらは8割がハンズオン形式の、章を追うごとに機能アップしていくWebアプリを作っていこうという趣旨の本です

  • Node.jsでなにかサンプルアプリを作ってみたい人におすすめです

  • もしくは、SPAってなに?とか、JavaScriptで中規模なアプリを開発してみたい、モジュールパターンとか聞いたことあるけどいまいちわからない、という方におすすめです

  • ただし、初級者が手を出すと完全なる写経で終わってしまうので、それなりの覚悟を持って臨むか、知識を補強するタイプの書籍も同時に揃えておくといいかもしれません

  • よくJSわからないままにAngularJSとかフレームワークに手を出してみるより、まずはネイティブのJSでWebアプリを作る、という意味で、コンセプトが非常に優れた名著だと個人的には思っております



jQuery


Web制作の現場で使う jQueryデザイン入門[改訂新版] (Web Professional Books)


  • jQueryは個人的にはあまり好きでもないしそんなに使わないので、一冊だけ

  • 具体的な使用例や現場のベストプラクティス、とまではいかないけれど「この動きは普通こうやるよね」的なのがわかってよかったです

  • また、jQueryは変化の早いフロントのあくまでライブラリのひとつなので、公式docsやwebで情報を仕入れた方がいいかなと勝手に思っています



Linux


Linux教科書 LPICレベル1 Version4.0対応


  • LPICを受ける時の定番の教科書(らしいです)

  • なお、LPI自体が豊富な資料や教科書を公式HPで公開してくれているので、それでもいいかもしれません

  • 自分は、公式の教科書もこちらの過去問+解説集もどちらも使いました

  • もし知識をつけただけでは不安な場合は、「過去問集」があるといいかもしれません


Linux教科書 LPICレベル2 Version4.0 対応


  • 上記で紹介した書籍の

  • 相変わらず、わかりやすく安定した内容量で、解説も丁寧です

  • また、試験範囲がざっとわかるので、全体像もつかみやすいです

  • ただし、紹介されているconfigファイルやコマンドなどはやっぱり自分で手を動かさないと覚えられないし、覚えても意味ないというイメージです

  • また、個人的にはLevel2となるともう少し勉強してから受けたいので、過去問集を近いうちに自分で購入する予定です



Java


オラクル認定資格教科書 Javaプログラマ Silver SE 7


  • 通称「紫本」

  • Javaの試験の定番だと思います。

  • 試験範囲に対して、適度な量の過去問と解説があって導入しやすかったです

  • ただ、Javaがはじめてで且つ試験を受ける、というような人には向いているかと思いますが、もともとJava知ってて、必要が出たので受ける、みたいなレベル感の人はネットで過去問チェックするくらいでいけると思います


徹底攻略Java SE 7 Silver問題集[1Z0-803]対応


  • 通称「黒本」

  • 「紫本」で試験の概要や知識を整理できたのですが、合格点のゴールが高く設定してあったので過去問もひたすら解きたく購入しました。

  • 個人的には、JavaのGold版の黒本が欲しかったです


オラクル認定資格教科書 Javaプログラマ Gold SE 7


  • 通称「紫本」のGold版

  • なぜか、JavaのGoldの試験対策の書籍はそんなに市場に出回っていない(試験者が少い?)

  • 個人的には試験範囲と使い方をマスターしておくべきAPIを知ることができてよかった

  • ただし、過去問をたくさん解いて試験対策をするような書籍ではない

  • また、試験範囲のJavaの主要APIのサンプルコードは出るけれど、自分で手を動かさないとほとんど意味が無い


スッキリわかるJava入門 第2版


  • 入社して最初の集に読んだ本です

  • 個人的にはオブジェクト指向プログラミングがはじめてだったので、具体例や豊富な図でわかりやすいです

  • ただし、実際Javaが使えるようになるにはもっと手を動かさなくてはいけないので、イメージをつかんだらすぐ読まなくなると思う

  • とはいえ、入門書としては一番いいと思います


スッキリわかるJava入門 実践編 第2版


  • 上記で紹介した本の実践編です

  • まずはオブジェクト指向プログラミングやJavaのイメージを掴んだ人が、いろいろ動くコードを書きたい時に豊富なサンプルがあります

  • 上記の入門書が性に合った人は、それだけではほとんど書けないに等しいので、このシリーズを一緒に購入して手を動かしてみることをおすすめします

  • とはいえ、業務レベルでJavaを使う人は、この2冊では全然足りないことに注意


スッキリわかるサーブレット&JSP入門


  • 必要があったので読みました

  • このシリーズは相変わらず分かりやすかったです

  • とりあえずサーブレットやJSPの基本だけ知っておけばいい、という人はこれだけで間に合うかと思います


Java逆引きレシピ


  • Javaで初級の下くらいを脱した時に、いろいろ動くプログラムを書きたいとなった時に非常に参考になりました

  • 「逆引き」系は、動くものをまず作ってから学ぶことができるので、モチベーションを保ちやすい学習方法につながるとも思います


EFFECTIVE JAVA 第2版 (The Java Series)


  • 「読まなかった人はもぐり」とまで言われているほどの名著と言われました

  • 実際読んでみると、Javaやりたてのころはさっぱりわからなかったのですが、実際にクラスをたくさん書いてくると生じてくる疑問が丁寧に解説されていました

  • 個人的には、StackOverflowでいろいろググっていた時に、「それ、Effective Javeに書いてあるぜ」ってコメントを良く散見したことが購入のきっかけになりました


増補改訂版 Java言語で学ぶデザインパターン入門


  • 結構いろいろな場所の本棚においてあったし、友達もデザパタ学ぶならこれかな、って勧めてくれました

  • 一通りのデザインパターンの概要を知ることが出います

  • 説明が非常にわかりやすい。サンプルコードもついているのでおすすめです

  • ただ、実際にデザパタを完全に理解して業務に活かす、となるには、デザパタ以前にもっとJavaの言語仕様を突き詰める必要があると感じました


実践Javaコーディング作法 プロが知るべき、112の規約と21の心得


  • 一応読んだのですが、Javaはじめて最初の方は、あんまり意義というか価値がわからず放置していました

  • ただJava数ヶ月書いてみて読み返してみると、基本でアタリマエのことが整理されて書いてある、一冊は会社に置いておきたいね、というような部類の本だということを実感しました

  • スタイルガイド、とかってなると、GoogleとかのStyle Guideを読んでみるのも勉強になります


詳解 Javaプログラミング第2版〈VOLUME1〉


  • 少し古くJava8などは盛り込まれていないのですが、Javaの全体像を読む、公式docsの次にリファレンス的に読む本となりました

  • 分量は多いのですが、内容としてはEffective Javaなどよりはずっと基本です

  • ただし、必ずしも個人が買うべきとはあまり思いません(もし近いうちに改訂版が出たら買うべきかと)


Javaパフォーマンス


  • これは少し背伸びして買ってみたけど、わからない部分が多かった苦笑

  • 「読んでわかる」のと「書けるレベルで分かる」の差ってだいぶあると思う


Android


TECHNICAL MASTER はじめてのAndroidアプリ開発 Android 4対応版


  • Androidのプロジェクトを始める際に読んで自分で手を動かしてサンプルコードを作ってみました

  • 社内ですごくAndroidが書ける先輩のおすすめの一冊(初心者向けに、という意味で)でした


DB


スッキリわかるSQL入門 ドリル215問付き! スッキリわかるシリーズ


  • 「スッキリわかる」シリーズで、基本を網羅的に抑えながら、概念もわかりやすく書いてあるので、ほんとの初心者にはやっぱりこのシリーズはおすすめです

  • SQLも実際に手を動かしてTABLEやVIEW作ったり結合してみたりデータ操作してみるに限ります

  • 購入するとわかるのですが、作者の方が作成したWebアプリで簡単なSQLを叩ける用になっているので、環境設定とかもわからない。。。という人にはいいと思います


アルゴリズム


入門 データ構造とアルゴリズム


  • データ構造とアルゴリズムを勉強したいと思って購入しました

  • Cも勉強したかったので、ついでにCでアルゴリズム学べる奴がいいなとおもって、Javaがめちゃくちゃ書ける友人のアドバイスを参考に買ってみました

  • わかりやすい、とはいえないのですが、必要な知識と概念が丁寧に書いてあるので、時間をかけてもやる価値はあります

  • この記事の本の一覧の中で、まだ時間をじっくり書けてやっている書籍のうちのひとつです


正規表現


反復学習ソフト付き 正規表現書き方ドリル (WEB+DB PRESS plus)


  • 正規表現を「とっつきにくい」「使いにくい」と考えているプログラマのファーストステップに良さそうな簡単なレベルからスタートしている本です

  • 「日付にマッチするものは」や「メールアドレスにマッチするもの」というように、後半になるにつれて課題が実践的になっていきます

  • ただし、後半の実践的なケースに対する答えは、正直読んでもちんぷんかんぷんか、コピペはすべきではないと思います(自分で考えるプロセスが一番みにつく)

  • 付属のソフトがついていて正規表現が使用できるみたいなのですが、僕はいっさい使いませんでした(実際に動かしたり、Webアプリ使ったり)


サーバ・ネットワーク


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


  • TCP/IP、ネットワークを基礎から学ぶなら、これは名著です

  • 2013年に第5版に改定されていて、そんなに古い内容もない

  • というか、ネットワークはそもそも基礎をしっかり理解したほうがいいとアドバイスを受けました

  • 大学の講義の教科書とかで使われている例も多いようです

  • 下記で少し触れますが、応用情報試験を受験する際のネットワーク分野の勉強にもなりました

  • 「入門編」以外にも、応用編とかIPSec編とか多々あるのですが、本によっては改定自体が結構古く、Amazonでも「内容が古いのでは?」というコメントがあるやつも散見されるので内容を見てから購入することをおすすめします


バージョン管理(Git)


GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)


  • Gitではじめてプロジェクト開発をする人には読んでおいてほしい

  • 自分もGitで最初はかなりへっぽこなミスをしてリーダーには迷惑をかけてしまった苦い経験があります。。。

  • とはいえ、Gitで学んでこの本を読んでも大事な箇所がいかに大事かがあまり実感できずスルーしてしまい、業務で失敗してはじめてその節のありがたみがわかるという(笑


開発効率をUPする Git逆引き入門


  • 繰り返しになりますが、「逆引き」はいざ困ったときに使えるので読んで損はないと思います

  • なので、読んだことあるとか、自宅に一冊あるとかよりも、会社の本棚に一冊あるとかいうのが理想かなと個人的には思います


資格


平成27年度【春期】【秋期】応用情報技術者 合格教本


  • 過去問とその解説です

  • 実は、過去問はネットで手に入るので、購入のポイントは解説が自分に合うかどうか、だと思います

  • 個人的には、解説がうすく、また過去問を受けるだけでは知識が断片的になってしまうかなと思ったので、下記二冊を購入しました


2015 応用情報・高度共通午前試験対策 (午前試験対策シリーズ)


  • 非常にわかりやすく、かつ範囲を網羅的に抑えている良書です

  • 過去問をベースに独自の解説を加えた内容になっています

  • 過去問をだらだら広くやるだけより、過去問から質の高いものや頻出するものを編集して解説付きで記載してくれているので、はじめて応用情報を受けるならおすすめです

  • また、出版しているitec自身長い間資格取得の講座や書籍出版などをしてきたので、押さえどころや頻出ポイントのノウハウがたまっており、それが知れるのも好いと思います


2015 応用情報技術者午後問題の重点対策 (午後問題対策シリーズ)


  • 上記の午後編です

  • 午後も同じく過去問は全て手に入るため、解説がいかに丁寧か、周辺分野から紹介してくれているかが自分の場合ポイントでした

  • ネットワーク、セキュリティなどそれぞれチャプターごとに5から7程度の過去問があり、それぞれに対して解法から周辺知識の説明まで網羅されています

  • 個人的には、午前編より良書だと思います(解説の中に、周辺知識を紹介するコラムがかなりの量準備してあったり、「なぜこの答えじゃだめなのか」という観点がしっかり書かれているため)

  • ただ、自分は選択しないと決めた一部のチャプターについては触れられていない(アルゴリズムと組み込み)ので、その章に関してはレビューできません(が、他の前章が満足行くものだったため、手を付けられていない章もいいものだと思います)


その他


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


  • 多分知らない人はいないというような、「より良い(定義による)コード」を書くための必須の書だと思います

  • 長年現場で経験を積まれてきた人やプログラミングが得意な人は、「アタリマエのことが書いてあるだけじゃん」といいますし、きっとそうなのだと思いますが、だからこそまだそこまでのレベルじゃない人や初心者は一度読むべきだと思います

  • また、本書でも書いてありますが、「読んでわかる」ことと「習慣化する」ことにはかなり乖離があるので、ぜひ一冊手元においておいて定期的に読みながら日頃のコードに取り入れることをおすすめします


Soft Skills: The Software Developer's Life Manual


  • たぶん、この中で一冊一番良い本をすすめるとしたら、この一冊です

  • プログラミングの本ではありません。

  • ぜひ、翻訳される前にでも今すぐにでも読んでほしい、そんな本です

  • 詳細は、はてぶのブクマが1200超え(執筆時点)になったHigeponさんの下記記事を御覧ください


プログラマ向けに書かれた「Soft Skills」という本がすごいという話 - サンフランシスコではたらくソフトウェアエンジニア

http://d.hatena.ne.jp/higepon/20150921/1442843666



97 Things Every Programmer Should Know: Collective Wisdom from the Experts


  • ブログくらいの長さの97のチャプターがまとめられているので、気軽に読めます

  • 英語版でよければGitbookで読めます

  • 気分転換に

  • 翻訳版であれば、日本人の著名なプログラマ(MatzさんとかDan Kogaiさんとか)の寄稿記事も入っています

  • (追記)日本版も下記から見れるようです!情報提供ありがとうございました!



(2015/10/28 記事内のヘッダーの一部を修正 )