おことわり
この記事は YounGeek Advent Calendar 2022 24日目です.
記事内にamazonリンクが埋め込まれていますが,アフィリエイトリンクではありません.それでも気になる方はご自身で検索等を行ってください.
また,この記事内で紹介している書籍の作者からリベートを受け取るなどの金銭のやり取り,個人的に頼まれて紹介しているといったこともありません.
前置き
早いもので今年も1年終わってしまいますね.みなさんは今年1年何をしましたか??自分は,大学に入ってから1番技術的にスキルアップした1年になりました.
今回は,タイトルにある通り「個人的に読んでよかった技術書紹介」をしたいと思います.(全部技術書やCSに関連するものですが)分野はマジで幅広いです!!ということでおいしい烏龍茶を片手にゆっくり読んでみてください.
Web開発関連の本
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
どんな本?
「良いコードってどうやって書けばいいの??」にという質問に対する回答/さまざまなテクニックが紹介されています.例えば,「ループの変数名は何を使うべき??」「コメントに何を書くの?/書かないの?」「コードのロジックはどうする??」あたりは人によって意見が異なります. もちろん正解はないのですが,それらの質問に対して こうするといいよね といったテクニックがたくさん載っています.
この本を読む上では特定の言語に対する知識はそれほど必要ないですが,最低限何かしらの言語でしっかりとプログラムを書けるようにしておくと良いと思います.
読んだ感想
コードを書く全人類に読んで欲しい本でした.「そりゃそうでしょ」というものから「なるほど」というものまで,とにかくコードをキレイに書けるようにするエッセンスが詰まっていました.ああしろこうしろという 命令口調 で書かれているのではなく,こうしてみるとどうだろう,こうするといいよね と優しい口調で書かれていてよかったです.
Webを支える技術
どんな本?
めちゃくちゃざっくり説明すると,この本を読めば,ブラウザに
https://search.yahoo.co.jp/search?p=hello+world
と打ち込んで,検索結果が表示されるまでの間に何が行われているのかわかるようになります.
「Webってなに?」「Restってなに?」「httpって何?」などのWeb開発でよく聞く言葉についてきちんと説明されている本です.「なんとなくフレームワークいじってそれっぽいWebアプリケーション作れるけど,裏の仕組みよくわからん」みたいな人は色々学びがあると思います.
読んだ感想
Web開発にガッツリ触れ出したのは今年だったので,「とりあえず1冊目はこれ買うしかないでしょ」と思って買いました.下手に特定の言語/フレームワークに関する書籍を最初に買うのではなく,汎用的な本を選んだのですが,この判断はマジで正しかったと思います.というよりマジで正しかったと思わせてくれる本でした.
特定の言語に関する本
プロを目指す人のためのRuby入門
どんな本?
通称「チェリー本」と呼ばれているRubyの入門書として非常に有名な本です.表紙に大きなさくらんぼが描いてあるのが印象的です.「プロを目指す人のための」とタイトルにある通りで,Rubyエンジニアになることを目標としている方に向けて書かれています.なので,「イラストと図がいっぱいあってわかりやすい!!」的な入門書とは一線を画した本になっています.(もちろんそれぞれの良さがありますが)
補足として,プログラミングの基礎的な事項(変数,条件分岐,繰り返し,OOP基礎)などは知っている人を対象としています.お気をつけください.
読んだ感想
夏にCookpadでインターンをする関係で買ってガッツリ勉強しました.(関連: インターン参加記事)自分が知っているRubyつよつよエンジニアの人たちもこの本で勉強した人がたくさんいたのでこの本に決めましたが,やはりみんな選んでいるだけあって,めちゃくちゃよかったです.
プロを目指す人のためのTypeScript入門
どんな本?
上に紹介した「チェリー本」のTypeScript版です.表紙にブルーベリーが大きく描かれているので「ブルーベリー本」とか呼ばれています.この本の対象読者などはチェリー本とほとんど同じなので,詳しい説明は省略します.(チェリー本の箇所を参考にしてください)
読んだ感想
チェリー本買ったしブルーベリー本も買うかー的なノリで購入を決めました(買ってもらいました).内容の良さは言うまでもなくよかったです.このシリーズもっと増えないかな...
これは完全に余談なのですが,Python, Ruby, Javascript(typescript) あたりの言語の教材をググって調べようとすると,××× みたいな情報商材まがいの記事が大量にヒットするので,かっちりした本を一冊買った方がよっぽどいいと思います.Googleさんなんとかしてください・・・
初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
どんな本?
「他言語プログラマーのための」とタイトルにある通りで,$n$ 個め($n\geq 2$)の言語としてGoを学ぼう!!という人に向けたGoの入門書です.Goらしいコード を書くためにはどうすればいいか,Goならではの機能などを余すことなく紹介しています.
ちなみに最近発売された書籍なのでジェネリクス(Go1.18で追加)まで載っています.
読んだ感想
Goは元々興味があった言語で,GoかPythonを書くエンジニアになりたいなーーと思っていたので買いました.最低限の文法を覚えてコードを書くだけだったらそれなりにできたのですが,Goらしいコードを書くためにこの本で勉強しました.中々難しいですが,ちょっとずつGoらしいコードを書けるようになってきました...!!
エキスパートたちのGo言語 一流のコードから応用力を学ぶ
どんな本?
メルカリのつよつよGoエンジニアの方々によって書かれたGoの本です.Go使うとこんなソフトウェア作れるよ的な話がたくさん書いてあります.「ある程度Go書けるけど作るものない・・・」的な方は読んでみることをお勧めします.
読んだ感想
元々GoでCLIツール作りたいモチベがあったので参考にするために買いました.実践的なGoのコードや現場で使われているようなコード(に近しいもの)があり,参考になりました.あとはwasm,k8s関連の部分なども面白かったです.
コンピュータサイエンス系の本
マスタリングTCP/IP―入門編―(第6版)
どんな本?
とりあえずTCP/IP勉強するなら間違いない一冊です.なんといっても第6版まで出ていて,内容も更新されていることがその証拠でしょう.TCP/IPの階層モデルに沿って,各レイヤで何が行われているのかについて詳説されています.この分野の教科書代わりとなる本です.
読んだ感想
大学のネットワークの授業を履修しなかったので,代わりにこの本を買って勉強しました.個人的にはCSの学位持っている(これから取る)ならネットワークの知識は最低限必要だろと思っているのですが,実際のところどうなんでしょうか.少なくとも大学の授業分(目安1~2単位)であればこの本で網羅できていると信じています.
ちなみに今は "情報セキリュティ編" を読んでいます.
競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~
どんな本?
競技プログラミング(以下競プロ)のはじめ方からむずかしめのデータ構造やアルゴリズム(セグ木とか)まで幅広く書かれています.とりあえず競プロはじめたい人は買って間違いないでしょう.(自分は読んでいないですが アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門 などもいいと思います)
読んだ感想
競プロモチベが完全に無くなりかけていたので,モチベ上げるために買いました.典型の整理やヒューリスティックコンテストのテクニックなど多くのことを学べました.
あとはAtCoder上にこの本の問題のジャッジが構築されているので非常によかったです.
その他
理科系の作文技術
どんな本?
一言で表すなら,「リーダブルコード 文章版」です.理系大学生のレポート,論文,その他各種文書をどうやって書けば良いのかについて書かれています.
ちなみに本屋さんだと技術書コーナーじゃないところにおいてあります.(多分)
読んだ感想
来年度からガッツリ研究が始まるのでとりあえず買いました.感想は「これは大学入ってすぐに読んでおけばよかった」です.ということなので全大学1年生はこの本を買って読んでください.文章がめっちゃ良くなります(語彙力).
なんなら高校生に読ませても良くねとか思いました.
Team Geek ―Googleのギークたちはいかにしてチームを作るのか
どんな本?
技術ではなく「人」のあり方,関わり方について書いてある本です.チームでうまくやっていくにはどうすればいいか?有害な人にはどう関われば良いか?など,技術一本だと蔑ろになってしまう部分について書かれています.
読んだ感想
自戒の意味も込めて繰り返し読んでいます.どうしても(特に自分は経験が浅いので)技術の勉強にばかり目がいってしまいますが,だからこそこの本を読むべきだと感じました.結局ソフトウェアを作るのは人間なので,人間とどう関わるか,自分がどうあるべきかはきちんと考えた方がいいなと思いました.
まとめ
ということで個人的に読んでよかった本をまとめてみました.この記事を読んだ方が1冊でも技術書を買ってくれれば嬉しいです!! そして技術書がもっと増えてほしい...(切実)
この記事には簡単に購入できるようにamazonのリンクを貼ってしまいましたが,個人的には本屋さんに行くのが好きなので,みなさんもぜひ近所の本屋さんに足を運んで欲しいなと思います.
年末年始は本屋さんに行こう!!
リンク一覧
この記事で紹介した書籍のリンクを以下に一覧して記載しておきます.上に紹介したものと同じですが,適宜お使いください.