1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します

# イントロ

ABEJAアドベントカレンダーの4日目に一昨日飛び込みました、長期インターン生の佐藤(Twitter: [@TodayInsane](https://twitter.com/TodayInsane))です。
去年は機械学習を通して、TWICEというK-POPグループへの[愛を語りました](https://qiita.com/TodayInsane/items/26e99bd1a7ac69d4277b)。

ABEJAには昨年4月、「本当に何も出来ないけど、休学してプログラミングとかエンジニアの経験を積みたいんです」という何とも不安な主張をするぼくを受け入れていただきました。
この1年半の__エンジニア / リサーチ両インターンの過程で出会った良い本をどしどし紹介します__。

ちなみにインターン開始時は

- プログラミング、Pythonだけならちょびっと書けます！(ABCのB問題とか機械学習ライブラリの写経)
- HTMLってどんな風になってるんですか？(？)
- サーバ...？？リクエスト...？？
- JavaScript、名前は聞いたことあります
- 英語の論文しんどい、2時間ぐらいかけてIntroductionもあんまり分かってない

といった感じでした。こんな休学中の学生を門前払いしなかった社員さん方には、今でも「なんでだよ」と思います(ありがたい話)。
ここから1年半の間に

- [顔認証を使ったプロダクト](https://tech-blog.abeja.asia/entry/2019/09/12/113701)の改修と機能追加
    - フロントのVue.jsと、バックエンド/DBの一部を担うFirebaseをさわる
    - 来場者5000人超えのイベントで案件として受注、当日運用までビジネスサイドも含めて経験させていただきました
- カメラネットワークとVPN接続し、映像を転送・録画しながら顔認証システムにかける解析基盤
    - RancherからKubernetesに移行する際の、技術検証と追加のAPIサーバ開発をごく一部お手伝い
- ↑のサービスで動いている深層学習アルゴリズムから、少し派生した部分を研究テーマに
    - 電子情報通信学会のニューロコンピューテング研究会で[発表しました](https://www.ieice.org/ken/paper/20201030VCAU)
- 画像認識の国際学会論文を読んで紹介する勉強会で[人生初登壇](https://kantocv.connpass.com/event/178147)
- AtCoderで緑色になり、同社逆求人イベントでエンジニア職の内定を頂きました

といった、それはもうはちゃめちゃに素敵な経験をさせていただきました。
これもすべてADF(ABEJA's Deep 懐)と、本記事のメインテーマ(？)である良い本のおかげです。
__数千円で先人の知恵を体系的に学べるって...本はすべて宝か？？？__となりますね。

余談ですが、勉強してる学生にとって最初の最初にきっかけとなるインターンってマジで重要です。
__一度でもインターンしたことあると別のインターンや就活に自信を持って臨めるし、選考も通りやすくバリューも出しやすくなります(経験談)！__
__エンジニアを抱える企業各社様、どうか少しでも多くの「初インターン」生を受け入れてください！！__
__きっとその学生たちは将来、長きにわたって複利で恩返しをするハズです！！__

関係ないイントロにアツくなってしまってすみません。
Amazonへのリンクにした本のタイトルと3行コメントでさくさく紹介していきます。
紹介してる時点で良い本ですからね(重要)！

ラインナップとくくり方を今でも悩んでいますが公開します。
お時間の許す限り眺めてみてください。


# まずは職種を問わず全ての方に


### [岩田さん 岩田聡はこんなことを話していた。](https://www.amazon.co.jp/dp/4865014225)
- 任天堂の元社長、岩田聡さんの人柄や姿勢がこれでもかとうかがえます
- __仕事ってこうやるんだな、お客さんにこういう心構えでいるべきなんだな、とじんわりハッキリ分かります__
- 技術的にプロフェッショナルでありながらこういうマインドを持って仕事をしていきたいです、ホントに

### [風をつかまえた少年 14歳だったぼくはたったひとりで風力発電をつくった](https://www.amazon.co.jp/dp/4167902656)
- アフリカ最貧国で、とある少年が風力発電をつくった実話です
- __学ぶことの面白さや大切さ、世界の貧困レベルには格差があることを克明に思い出させてくれます__
- 映画化されてるみたいですね(さっき発見した)

### [UX原論　ユーザビリティからUXへ](https://www.amazon.co.jp/dp/4764906112)
- 「人間の多様性と全体傾向」「ユーザビリティ研究の歴史」「UXの構成要素って何だ」みたいな"根本"からのアプローチでUXを考えた珍しいタイプの本
- 「さぁこの本を自らの仕事に役立ててみよ」と試されている気がしてきます
- __P.124の「平等と公平の違い」という図が個人的にめちゃくちゃお気に入り__

### [融けるデザイン ―ハード×ソフト×ネット時代の新たな設計論](https://www.amazon.co.jp/dp/4861009383)
- __「道具を違和感なく使える時、それは身体機能の拡張である」__という意味の「融けるデザイン」をテーマに、デザインのド初心者でも納得感ハンパなく読めます
- 作中で紹介される著者のプロダクトが本当にスゴい、使ってみたい
- 装丁の手触りがなんとも良くて撫でちゃう

### [伝わるデザインの基本 増補改訂版 よい資料を作るためのレイアウトのルール](https://www.amazon.co.jp/dp/4774183210)
- 自分のにも他人のにも心当たりありまくり、資料デザインの改善法がたくさん紹介されています
- ぱらぱら眺めるだけで一瞬で勉強になります、あら不思議
- 「デザイン心、どの職業であろうが必要だな」と最近は常々思っています

### [自動人形の城(オートマトンの城): 人工知能の意図理解をめぐる物語](https://www.amazon.co.jp/dp/4130633686)
- __11才のワガママ王子を残して全ての人間が人形に変わってしまった世界で、「人が言葉を理解し行動するのがいかに難しいか」を王子とともに学んでいくファンタジー小説__
- 自然言語の複雑さを感じつつも、最近のNLPモデルってすげぇこと出来てるんだなって思います
- 機械が人間のような処理をする難しさとか凄さがすごくスムーズに伝わる作品だと思います、いろんな人に広めていきたい

### [テクノロジーは貧困を救わない](https://www.amazon.co.jp/dp/4622085542)
- 「技術革新だけで人が救えると思ったら大間違いだ」と、テクノロジー産業に関わる人にビンタをくらわすような本
- __文化的な違いを考えず、人そのものの教育もなしに、技術導入だけで貧困層を助けた事例は無い__ことが分かります
- 技術を持っていることに思い上がったりせず、しかし矜恃を持って世の中を良くしていきたいですね

### [喜嶋先生の静かな世界 The Silent World of Dr.Kishima](https://www.amazon.co.jp/dp/4062776812)
- 森博嗣さんの小説がマジで好きなので入れてしまいました
- 勉強、研究、ひいては学問と、主人公が教授を通して静かに知への敬愛の念を抱いていく美しい小説です
- 後述の「研究活動」の項目に入れようかと思ったのですが、__勉強の良さとか研究という行為への理解とか理系人間の人生を垣間見ていただきたく皆様に紹介します__

### [左ききのエレン](https://www.amazon.co.jp/dp/4088812980)
- 主人公の光一が自身の凡庸さに苦悩し努力する姿と、エレンをはじめ光一を取り巻く天才たちを描いた、僕の一番好きなマンガです
- __努力したことがある人、才能に絶望したことがある人、そして必死に仕事をする全ての人にぶっ刺さりまくるセリフが散りばめられています__
- 作中のデザイン会社がデザインした服が実際に作られてて買えたり、WantedlyやらAdobeやらプレミアムモルツやらとコラボしたりと現実世界に露出しまくっているのも魅力です


# エンジニアを始めたい去年4月の自分へ

### [1冊ですべて身につくHTML & CSSとWebデザイン入門講座](https://www.amazon.co.jp/dp/4797398892)
- 最初の一冊かくあるべきという説明の粒度で勉強対象が明確化されている本
- いきなりVue.jsの本なんて買うなよ...
- こういう__「内容が良くて難易度が自分に合っている本」に出会えた時、生涯の伴侶かと思います(思いません)__

### [新しいLinuxの教科書](https://www.amazon.co.jp/dp/4797380942)
- 「黒い画面(ターミナル)こわい；；」「コマンド何がどんだけあるの」「権限？ユーザ？ディレクトリ構成？」と、とにかくLinuxという概念に恐怖していた自分に8万冊ぐらいあげちゃいたい
- __分かってる人たちの「今となっては当たり前の概念すぎて説明が要ると気付かない部分」をサポートする、初心者に寄り添う暖かい1冊__
- __ホントに何もできなかったときのこと、マジで忘るるべからず__

### [マスタリングTCP/IP―入門編―(第6版)](https://www.amazon.co.jp/dp/4274224473)
- 「LAN」も「IPアドレス」も「プロトコル」も意味を知らなかった当時から今も、そして__未来永劫役立ち続ける決定版__
- ネットワークの話ってアルファベット3-5文字の用語がマジで多すぎますよね
- A社新卒採用の技術面接でこれに載ってる話をめちゃくちゃ聞かれて絶妙に思い出せなかった時のぼく、世界一アンキパン欲しい人でした

### [SOFT SKILLS ソフトウェア開発者の人生マニュアル](https://www.amazon.co.jp/dp/4822251551)
- __最初の最初って何が分かってないのかが分からない「無知の無知」状態なので、とにかく優しく育ててくれる弊インターン先やこういった指針となる本に出会えるかがマジで鍵だと思ってます(力説)__
- 洋書の翻訳なので界隈の雰囲気とかは日本でも全部同じとは限らない、という意識が必要
- 続編(？)[CAREER SKILLS](https://www.amazon.co.jp/dp/4822255743)もかなり良いです、めちゃめちゃ分厚いけど学生なら読書の時間は捻出して！


# ソフトウェアエンジニアライフのお供に

### [リーダブルコード](https://www.amazon.co.jp/dp/4873115655)
- __いつ読んでも「ほんませやな」と痛感する魔法の金言集__
- __死ぬまで読むでしょう__
- __×買うか買わないか ○何冊持ってるか(？)__

### [エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド](https://www.amazon.co.jp/dp/4873118484)
- まだ職業エンジニアじゃないからこそ「へー」って言いながら読みました
- 21卒エンジニアなのでこれからよりいっそう輝く予定
- きっと皆さまの現状と未来のヒントもどこかに書かれているハズです、知らんけど


# コンピュータアーキテクチャ

### [プログラムはなぜ動くのか 第２版 知っておきたいプログラムの基礎知識](https://www.amazon.co.jp/dp/4822283151)
- 意外と詳しめに、コンピュータアーキテクチャがどう動いてプログラムを実行するかを解説した本
- 電気系専攻だったので読み進められましたが、物理レイヤや電子回路が全く分からない方はもう2冊ほど噛ませた方がいいかもしれません
- 2007年出版なので、メモリサイズやコラムでのおじさんの口調などから少し懐かしい時世を感じます

### [コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁](https://www.amazon.co.jp/dp/4774164267)
- コンピュータのハード素子、プロセッサやメモリの詳細な動作まで学べますがそこそこ読み飛ばしています、なかなかハードなので(ハードだけに(？？？))
- GPUとスパコンの解説がなかなか無く、修士の研究で助かりました
- もうこのWEB+DB PRESS plusシリーズ、全部良いだろ

### [コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方](https://www.amazon.co.jp/dp/4873117127)
- __論理回路素子であるNANDの解説からスタートして、加算器、CPU、OS、VMまで実装しコンピュータを完成させて最後にアプリを動かすというなかなかの鬼畜構成__
- 順に実装して学んでいくにはけっこうエグい時間と労力がかかります、勉強するなら当然ですね
- また、各マクロレベルでそれぞれ良い副読本を探す旅が始まってしまいます、これはなんとも嬉しい(？)


# アルゴリズム

### [問題解決力を鍛える!アルゴリズムとデータ構造](https://www.amazon.co.jp/dp/4065128447)
- 帯「この本を買わずして何を買う」 ぼく「ほんまそれやわ」
- 競技プログラミングでそれはもう強い著者けんちょんさんがマジで分かりやすくしっかりアルゴリズムを解説、__良いに決まっている__
- わかりやすい！おもしろい！しっかり学ぶ！役立つ！の文句なしAmazonレビュー星5

### [世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~](https://www.amazon.co.jp/dp/4839960100)
- アルゴリズムと実装例だけでなく、コーディングを伴う採用面接への知見も分厚く書かれた心強すぎる本
- 「全プログラマー"必読"」って背表紙に書いてます、ぼくはそうとは言ってませんが
- 分厚く、紙が薄く、字が小さいので、永遠に読み終わらないことで知られる[要出典]

### [問題解決のPythonプログラミング ―数学パズルで鍛えるアルゴリズム的思考](https://www.amazon.co.jp/dp/4873118514)
- __意外と知られてない(気がする)、Pythonでアルゴリズムを学んで実装していくレアで嬉しい本__
- 各章の問題設定がかなり身近で面白いのに加え、__条件をさらに拡張していく演習問題が本当に良質__
- ただ翻訳の読みにくさがけっこうキツくてマジで残念...(後で紹介するEffective Pythonと同じ方です...)


# データベース

### [達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ](https://www.amazon.co.jp/dp/4798124702)
- 正規化の大切さとムズさがよく分かる
- なんでもかんでも正規化すりゃいいってもんじゃなくて、エンティティとかドメインとか要件とかよく考えないといけないですよね...
- もう1冊の[達人に学ぶSQL徹底指南書](https://www.amazon.co.jp/dp/4798157821)もSQL中級者向けの良い本です

### [SQL実践入門──高速でわかりやすいクエリの書き方](https://www.amazon.co.jp/dp/4774173010)
- DBソフトウェアの内部に隠されている実行計画を考えながらSQLの書き方を学べます
- __アルゴリズムの知識が端々で活きてくるので、コンピュータサイエンスってエンジニアの地肩だなぁ...と痛感します__
- SQLの書き方から紹介してくれているので「入門」ではありますが、別に入門書を読んでいるか少し書いたことがないと中盤からペースダウンするかと思います

### [SQLアンチパターン](https://www.amazon.co.jp/dp/4873115892)
- __本で学びにくい「アンチパターン」を集めてるのがそもそも技術書の切り口としてかなり良いですよね__
- RDB/SQLってホントにすぐ良くない設計になっちゃうので「サービス開発に携わる全ての方に」に入れても良いぐらいですが、けっこう技術的でムズいので当然入れませんでした
- 「手元に置いておく技術書代表」って感じですね( ※個人の感想)

### [データベースシステム(改訂2版)](https://www.amazon.co.jp/dp/427422516X)
- 情報系の学科を想定した学問分野としてのデータベースを解説した名著の改訂版(20年ぶりだそうです)
- __おなじみリレーショナルモデルはもちろん、物理的なデータ格納方式や処理の中身などもコッテリ学べます__
- 表層的な時代変化によって理解や人材価値がブレないためには、根幹が肝要ですね(自戒)


# インフラ

### [Kubernetes完全ガイド 第2版](https://www.amazon.co.jp/dp/4295009792)
- __「Kubernetes本当に何も知りません」からでもこれ1冊でもうめちゃめちゃわかる最高の本__
- 界隈のバージョンアップデートが速く、初版は冒頭のminikubeからもう動かないコマンドがちょくちょくあるのでこの第2版をゲットしてください
- RancherからKubernetesにシステム基盤を移行する技術検証を手伝わせていただく時に、Dockerすら初めてだったぼくも死ぬほど助けられました

### [AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/dp/4797397403)
- AWS触ったことないけど座学しておきたい、という方にオススメの1冊
- SREとかクラウド移行担当じゃなければこれ以上は__実務とか個人開発で必要に応じて触るサービスを都度調べるぐらいでいいと思います__、エアプのまま勉強だけしちゃうと実運用時の辛さみたいな知見がスカスカになっちゃうので...
- クラウドサービスってソフトウェアエンジニア知識のスマブラみたいな感じして楽しくないですか？分からなければ流していただいて大丈夫です

### [実践Terraform　AWSにおけるシステム設計とベストプラクティス](https://www.amazon.co.jp/dp/4844378139)
- __Terraformを解説した(技術書典とかを抜きにするとおそらく)日本語唯一の本です__、マジで有り難かった
- ECS FargateとかでAWS上にシステム構築していくサンプルがめちゃくちゃ載ってます
- AWSとかインフラ構築がそもそも初、という方は技術書典7で頒布された『[はじめての人のためのTerraform for AWS](https://booth.pm/ja/items/1891536)』を先にやってみるのが良いかもしれません


# web

### [Real World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術](https://www.amazon.co.jp/dp/4873119030)
- HTTP/0.9から3までの進化を辿りながら、ブラウザ内部やサーバとの通信などwebまわりの知識をもう一段階深く理解できます
- web周りの知識なんてなんぼあってもいいですからね〜
- 何度か「あーこれReal World HTTPで見たやつ」ってなってきました、これからもなりそうです

### [体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践](https://www.amazon.co.jp/dp/4797393165)
- VirtualBox上で脆弱性のサンプルに攻撃してみよう、という最高のハンズオンがこれでもかとまとまってます
- 「セキュリティ意識はマジで高く持て」と知り合いの先輩エンジニアに口酸っぱく言われてます、しっかり読み込みたい1冊
- マジでデカくて分厚いのとPHP全く知らないので苦しい、でも苦しいのは大事

### [Web API: The Good Parts](https://www.amazon.co.jp/dp/4873116864)
- 薄いけどしっかりAPI設計の勘所が詰まってます、APIの概念を掴むのに読み物としても最適なレベル感
- 気をつけて設計しないと使いづらいうえに保守運用がしんどいAPIができるよ、というアンチパターン集の側面もあります
- HTTPでXMLやJSONを返すシンプルな例なので、最近出た『[Web APIの設計](https://www.amazon.co.jp/dp/4798167010)』も併せて読みたい


# 数学・機械学習

### [プログラミングのための線形代数 ](https://www.amazon.co.jp/dp/4274065782)
- __「線形代数って大学でやったなー、結局なんの計算してるんか分からんかったけど」と感じている全ての方に__(ぼくも)
- 想定読者に「数学のプロじゃない人」を挙げており、入門線形代数の諸概念や計算の意味と実用性がバシバシ分かる凄い本です
- 同シリーズ『[プログラミングのための確率統計](https://www.amazon.co.jp/dp/4274067750)』も同様にオススメです

### [「集合と位相」をなぜ学ぶのか ― 数学の基礎として根づくまでの歴史](https://www.amazon.co.jp/dp/4774196126)
- ぼくは大学院入試に数学(微積分・線形代数・微分方程式・複素関数・フーリエ/ラプラス変換)があったぐらいの超ひよっこレベルなので1周では到底理解しきれませんでしたが、大学でも数学の授業があった方ならかなり歯応え強めにどんどん面白く読めるかと思います
- 集合と位相がどのような数学の発展から誕生したのかを読み物としてわかりやすく俯瞰でき、今までなんとなーくでイメージしていただけの有界・収束・ε-δ論法などがもう一段階腑に落ちて感動しました
- __いくらでも強い人がいるので何も偉そうなことは言いたくないんですが、数学はマジで面白いです！！__

### [具体例から学ぶ 多様体](https://www.amazon.co.jp/dp/4785315717)
- 数学ガチ勢の本棚にあるようなマジの教科書とは一味違う、__ユークリッド空間での単位円から多様体の解説を始めてくれているなんとも優しい仕様__
- 具体例から学ばせてくれてありがとう...死ぬまでには理解するからね...と、先延ばし放置をカマしても心が折れていない稀有な数学書です
- (優しいが易しくはない)

### [[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践](https://www.amazon.co.jp/dp/4295010073/)
- 機械学習やるなら持ってると安心( ※個人の感想です)、いろんな機械学習アルゴリズムをそれはそれは網羅的に解説しています
- 第3版ではGANと強化学習が追加され、Pythonをはじめscikit-learnやTensorFlowのバージョンも上がりました、どんどん良い本になるばかりだ...
- 注: イチから機械学習を学び始める最初の1冊にするにはちょっとムズいです

### [言語処理のための機械学習入門(自然言語処理シリーズ)](https://www.amazon.co.jp/dp/4339027510)
- 「言語処理のための」とありますが、シリーズ第1冊目なので機械学習一般についてもとても分かりやすく書かれています
- KLダイバージェンス、ラグランジュの未定乗数法、Kaursh-Kuhn-Tucker条件など痒い所に手が届く解説に幾度となく助けられました
- いろんなレベルの方それぞれが機械学習の理解をもう一歩深められそうな良い本です

### [ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装](https://www.amazon.co.jp/dp/4873117585)
- 言わずと知れた感ありますが、本当に良い
- Pythonでコードをある程度書いたことがある、ディープラーニングのコードを写経して動かしたことならある、数学や機械学習が少し分かる、などいろんな方が最初にしっかりガッツリ理論と実装を学ぶのに最適で、TensorFlowやPyTorch等でもっとデカいモデルを組んだり論文の再現実装をしたり研究で新たな手法を導入したり__とにかくいろんなタイミングでめちゃくちゃ活きてきます__
- 『[ゼロから作るDeep Learning ❷ ―自然言語処理編](https://www.amazon.co.jp/dp/4873118360)』と『[ゼロから作るDeep Learning ❸ ―フレームワーク編](https://www.amazon.co.jp/dp/4873119065)』もボリュームはヤバいですが当然良い本です

### [つくりながら学ぶ! PyTorchによる発展ディープラーニング](https://www.amazon.co.jp/dp/4839970254)
- サービスインしてビジネスインパクトも出しているレベルの最新(ここ数年)Deep LearningモデルをPyTorchで実装していくかなり実践的な内容で、修士の研究でとても役立っています
- 写経止まりだとライブラリの概要しか頭に残らないことが多いですが、この本はDeep Learningモデルの解説本として既に十分な読み応えです
- 実際に動かしてみるならGPU必須なので、読み物に止めるのかGPUインスタンスを使うのかは決めておきましょう


# 研究活動

### [なぜあなたの研究は進まないのか?](https://www.amazon.co.jp/dp/4779217253)
- プロローグ01: 何のために研究しているか、明確な答えがあるか？
- 02: 承認欲求が研究の第一のモチベーションになっていないか？
- 03: 避けられない評価と競争をどう考えたらいいのだろうか？(ここまでで多くの修士学生は図星すぎて虫の息)

### [ネイティブが教える 日本人研究者のための論文の書き方・アクセプト術](https://www.amazon.co.jp/dp/4065120446)
- __研究者に限らず、日常的に英語の文章や論文を書く/読む機会がある方に超オススメ__
- 伝わりづらい英文とその直し方、直した英文の例がもう100億個ぐらい載ってます、世界中のノンネイティブ必携ですわ
- 英語ネイティブの方ほんま有利やなぁって思ってしまう時ありませんか...？ありますよね...


# Python

### [Python実践入門 ── 言語の力を引き出し、開発効率を高める](https://www.amazon.co.jp/dp/429711111X)
- 巷に溢れかえるPythonの入門書とは一味違う、各基本文法にももう一歩ずつ踏み込んで解説している本
- __思わぬ学びが随所にあって侮れません__
- 他の言語を書く方々にとっては__マジで絶妙な力加減で「Pythonらしさ」が分かる__のが凄いところ

### [エキスパートPythonプログラミング改訂2版](https://www.amazon.co.jp/dp/4048930613)
- 脱Python初心者と実務での使用を意識し、タイトル通り"エキスパート"なら分かっている(？)話がたくさん書かれています
- yield、デコレータ、PyPIへのパッケージアップロード、Cython、collenctionsモジュール、並行処理とかが脱初心者
- 型アノテーション、変数などの命名規則グッドプラクティス、コード管理やデプロイ、テスト駆動開発、デザインパターンとかが実務という感じです、いつ読んでも知らないこと書いてそうでなかなか手放せない

### [Pythonプロフェッショナルプログラミング](https://www.amazon.co.jp/dp/4798053821)
- こちらはもっと実務寄りで、Pythonを自分で勉強してからしっかり仕事にしていきたい人にかなり良い内容です
- GitHub、CircleCI、テスト、webアプリ(Django)、機械学習入門など盛り沢山(浅く広くとも言う)
- 既に自分で勉強できる力のある方には不要かもしれません

### [Effective Python 第2版 ―Pythonプログラムを改良する90項目](https://www.amazon.co.jp/dp/4873119170)
- 初版から31項目も増えたのかよ、ってなりましたよね？
- __Pythonならではの味を余すところなく紹介してます、知らない書き方やモジュールがきっとあるハズ、めちゃめちゃ良い本！！！__
- __ただ翻訳がもうホントに読みづらくて...マジで残念なんです...原著読むかぁってなるレベル...__


# JavaScript

### [改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで](https://www.amazon.co.jp/dp/477418411X)
- インターン開始早々にとにかくこれを読んで入門しました、Pythonしか知らなかった自分が他言語の似てるとこ/違うとこにいちいち感動していた記憶が蘇ってきます
- これからJSやる人はES2015以降の教材が良いです
- 初心者からそのAPIは知らなくてもいいでしょ...がちらほらあるので、覚えきれずともサクサク進みましょう

### [ハンズオンJavaScript](https://www.amazon.co.jp/dp/4873119227)
- かなり最近に出た入門書、JSが初めてのプログラミングという人でもガッチリと力がつきそうなボリュームと解説
- ES2015以降の書き方を広ーーーーーく学んで全体像とJS肌感覚(？)をつかみ、自学自走できる状態になれそうです
- 同シリーズ『[ハンズオンNode.js](https://www.amazon.co.jp/dp/4873119235)』と併せてめざせ！[ジャバスク](https://vaaaaaanquish.hatenadiary.jp/entry/2017/02/13/200729)マスター！

### [開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質](https://www.amazon.co.jp/dp/487311621X)
- JavaScriptの根幹を成す元締めオブジェクトの仕様を解説しており、JSあるある「大クセ謎挙動」が少し理解できるようになるスゴい本です
- ES2015以前の書き方ですが、一読の価値ありです
- __マジでちょっと開眼します__

### [Node.jsデザインパターン 第2版](https://www.amazon.co.jp/dp/4873118735)
- 明らかにweb開発中級者以上向けのデカ本気本
- 非同期処理のガッツリ説明から入り、Node.jsをフルに活かすデザインパターンが多数紹介されています
- ぼくもまだ全然進んでない...(小声)

### [改訂2版 基礎から学ぶVue.js [2.x対応! ]](https://www.amazon.co.jp/dp/4863543239)
- マークアップもJSもフロントエンド開発も全く知らないままインターン業務一発目でVue.js書こうと決まり、__いきなり買って苦しみまくった思い出の1冊__
- 『[Vue.js入門 基礎から実践アプリケーション開発まで](https://www.amazon.co.jp/dp/4297100916)』との併用で最高マリアージュ(？)
- インターン開始時のぼくみたいな読者層を想定したもっと易しいVueの本も最近になって整ってきてるんですよね...羨ましい...

### [プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発](https://www.amazon.co.jp/dp/4873119049)
- __個人的にTypeScript入門書の決定版__
- JSを書いたことがあれば1章、2章でまんまと「うわーTypeScript良いー」となります
- たまに原著のアメリカンで陽気なノリを感じる文がありますが、ぼくはむしろ好きです

### [実践TypeScript ~ BFFとNext.js&Nuxt.jsの型定義~](https://www.amazon.co.jp/dp/483996937X)
- サブタイトルから分かる通り入門書ではありません、既にTS書いてる人が必死に学ぶレベルの本です
- 型推論・互換性・結合などより厳密で安全な型システム運用をするための解説、React Hooksでの書き方とかVuexでの型推論を検証...このレベルの話が商業出版されてるの？？ってなります
- 同著者が技術書典8で頒布されていた『[TypeScript CompilerAPI - 創出の落書帳 -](https://booth.pm/ja/items/1575217)』もかなり良いです(正直ムズくて理解できてません)

# その他言語

### [Effective C++ 第3版](https://www.amazon.co.jp/dp/4621066099)
- __C++、やっぱり分かりたいじゃないですか(大学院から情報系にきたコンプレックス)__
- 入門書とか何冊も終わらせた人が読むんだろうなーと思いながら読んでは寝かせを繰り返しています
- ぼくにとってまだシンプルにかなりムズいんですけど、良い本だという霊圧は知覚できます

### [改訂2版 みんなのGo言語](https://www.amazon.co.jp/dp/4297107279)
- ツール作成やテスト周りなど、Goを開発業務で利用していく方に刺さる章ばかり
- 薄い技術書は薄い技術書でかなり嬉しい、積ん読になる可能性がめちゃくちゃ低いので
- __実運用の知見がうれしい「みんなの」シリーズ、良いですよねー(『[みんなのDocker/Kubernetes](https://www.amazon.co.jp/dp/429710461X)』)__

### [実践Rustプログラミング入門](https://www.amazon.co.jp/dp/4798061700) / [プログラミングRust](https://www.amazon.co.jp/dp/4873118557)
- この2冊に関してはただ単に絶賛勉強中
- WasmランタイムのコンテナとかDenoの内部実装とかを読んでみたいなー、などと妄想を膨らませております
- __Rustっていう名前がもう超カッコいいじゃないですか(？)__

# WEB+DB PRESSオススメ号

### [Vol.94](https://www.amazon.co.jp/dp/4774182869)
- __ド初っ端の「文字情報の伝え方」というゲームで文字情報を表示する"妙"を解説した2ページの記事がかなり面白い__
- KotlinとElectronちょびっとだけ勉強したいなーと思ってたのでちょうど良すぎました
- 2016年9月号なのでAWS記事とかはだいぶ古くなっちゃってます

### [Vol.96](https://www.amazon.co.jp/dp/4774185787)
- 新卒入社後のチーム開発研修に備えて、レビューに関するアレコレを事前に知っておきたかったので買いました
- Swift3の記事ももう今や...
- __"個人的Best of いつ使うねん"な記事「はやぶさ2 小惑星探査ノウハウ大公開」の、はやぶさ2の航路上運用計画とか探査機の内部アーキテクチャ図とかがめちゃめちゃ良かった__

### [Vol.98](https://www.amazon.co.jp/dp/4774189200)
- __4・5月号は「新人さん大歓迎」と銘打った新人エンジニア向けの記事がトップになってて嬉しいです__
- 古本屋で見つけた時に気になっていたテーマの記事がたまたま多かったので買っちゃいました
- 皆さんも古本屋さんで既刊のWEB+DB PRESS探してみてください

### [Vol.107](https://www.amazon.co.jp/dp/4297101726)
- __何よりも「オブジェクト指向UIデザイン」が衝撃的でした、UI設計の解像度がマジで一気に上がりました__
- __この記事を書いた上野さんがソシオメディアという自社テックブログに書かれた[プロレタリアデザイン](https://www.sociomedia.co.jp/7762)という記事の衝撃がいまだに忘れられません、デザインもできるフロントエンドエンジニアになりたいと思ったのはこの本と記事がきっかけでした__
- CircleCIのセットアップを少しやらせてもらった時にまた活きました、後からまた役立つのがこういう情報誌の素敵ポイントです

### [Vol.110](https://www.amazon.co.jp/dp/4297105330)
- メイン記事「名前付け大全」、『リーダブルコード』でも命名は言及されています、記事にまとまっているのは貴重！
- gRPCについて手早く知りたかったので買いました、修論の実験コードに組み込んでC++とPythonを通信させてた弊研先輩の強さを今改めて感じます...
- プロトコルつながりでTLSと暗号技術の基本的な解説がまとまってた記事も良かったです


# さいごに

自分でもギリ全部読むぐらいの量を書いてしまいました。少しでも読んでいただいた全ての方に感謝します...。
__この記事をきっかけに、1人の方が1冊の良い本を手に取れたなら、ぼくとしてはもう最高の喜びです。__
[まだ読んでないけど個人的に気になってる本リスト(糖衣構文)](https://www.amazon.co.jp/hz/wishlist/ls/35NLEG21HHTG3/ref=nav_wishlist_lists_1?_encoding=UTF8&type=wishlist)も掲載してみます。

いまさらですが__本でのインプットは手と頭を動かす実作業との両輪で(自戒)！__
片方の車輪だけデカいと進めずにぐるぐる廻っちゃいます(自戒)。

最後の最後にこの1年半、視界のギリギリに次の成長パンくずをどんどこ置き続けて頂いたメンターさん([@xecus](https://twitter.com/xecus) / [@peisuke](https://twitter.com/peisuke))への感謝を述べて、明日以降のABEJAアドベントカレンダーにつなげたいと思います！

"[Merry & Happy](https://www.youtube.com/watch?v=zi_6oaQyckM)"!!