2023年11月の学習記録:読書多め

はじめに

少し早いですが、今月の学習記録をまとめます。
今月は、Goの学習と読書がメインでした。
バックエンドの学習を続けていてよく思うことですが、考えた上で実装することが多いと感じます。
特にOSやLinuxコマンド、DB・APIなどについて手を動かすことが相変わらず大事ですが、反面インプットして考える作業が必要だと感じます。
Goの学習だけではなく、バックエンド全般を中心に、書籍による学習をしていました。
ある程度学習が進むたびに、定期的に「Go言語プログラミングエッセンス」を読んでいます。
gihyo.jp

書籍

  • 新人エンジニアのための データベースのしくみと運用がわかる本

SQLの書き方やデータベースについて、基本が知りたかったので読みました。初心者でもわかりやすい内容でした。
gihyo.jp

コードについての認知科学や認知負荷について学べました。リーダブルコードなどをより科学的に書いた感じだなと思いました。
Chapter9,10,13あたりが好きです。潜在記憶の自動化と改善あたりが特に良かったです。
www.shuwasystem.co.jp

  • Djangoのツボとコツがゼッタイにわかる本

初版ですが、読みました。
今までPythonでweb開発したことなかったので、新鮮でした。
Goの標準でバックエンドの学習を進めていることもあり、フレームワークの偉大さが身に沁みました。
www.shuwasystem.co.jp

  • 1週間でMySQLの基礎が学べる本

こちらもデータベースの入門書です。
MySQL独特の書き方とかはありますが、サクッと読んだ感じでは、とっつきやすいDBMSだと思いました。
book.impress.co.jp

  • 達人に学ぶDB設計 徹底指南書 ~初級者で終わりたくないあなたへ

DBの基礎や論理設計(物理設計も一部)、バッドノウハウやグレーノウハウなど入門を超えて、実践的な内容が多かったです。
正規化、非正規化のトレードオフやテーブル分割の意義など、あまり意識したことがないものが多く、指南書として素晴らしい本でした。
www.shoeisha.co.jp

  • SOFT SKILLS ソフトウェア開発者の人生マニュアル

ソフトウェア開発者として、技術的な事以外をメインに大事なことを学べたと思います。
キャリアだったり資産形成のことだったりと、鵜呑みにするのがつらいものもありました。
しかし私自身不足している知識と感じていて、学びの多い本でした。
bookplus.nikkei.com

  • CAREER SKILLS ソフトウェア開発者の完全キャリアガイド

"SOFT SKILLS"の続編で、キャリア寄りの話がメインでした。
厳しい表現も多いですが、ためになる話が多かったです。
GitOpsのことやTDDに関することなど、教科書的な話とは違い本音で語っている内容が多く、共感できました。
bookplus.nikkei.com

  • 人月の神話

ソフトウェア開発でモノを作る時の話について、学べました。
印象的だったのは、利用者の力と使いやすさ(対象をどこにするか)の話と、そのためのインターフェイスを強制するMacintoshの成功の話でした。
古い技術の話が多いですが、ためになる本でした。
https://www.maruzen-publishing.co.jp/item/?book_no=294733

  • データベースの限界性能を引き出す技術 ~NoSQLに飛びつく前に知っておきたい原理と最新テクニック

Oracle DataBaseを例としながら、RDBMSボトルネックやその解決策を学べました。
キャッシュや待機処理等だけではなく、ハードの性能を踏まえた解説が多く、ためになりました。
gihyo.jp

  • 7つのデータベース 7つの世界

RDBMSPostgreSQL)やドキュメント指向DB(MongoDB)など、いくつかのDB分類があり、その説明と比較を学べました。
クラウドの学習時にふわっと理解していた話が、ここにきて深掘りできたと感じました。
www.ohmsha.co.jp

  • スッキリわかるSQL入門

初版ですが読みました。
最近DBやSQLの本を読むことが多いですが、私がなんとなく理解していたことをビギナーでもわかりやすく解説されていました。
book.impress.co.jp

  • たった1日で基本が身に付く!Go言語 超入門

Goの基本を、これ以上ないくらいわかりやすく解説してありました。
メソッドやクロージャ、アドレスとポインタなど少し曖昧に理解していたものを、すっきりさせることができました。
gihyo.jp

さいごに

最近業務でGithubActionsを扱うほか、個人開発ではGoを中心としたバックエンドの学習を進めています。
そのため、低レイヤーの知識が必要なことが多いです。
Web上の記事を読むことも多いですが、むしろ公式ドキュメントなどを読んで必要な工程や作業を考えて実装することが多いと感じます。
広くて深い知識と経験が必要そうなので、焦らずじっくり培っていこうと思います。