msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

2022年3月の振り返り

概要

2022 年 3 月の振り返りです。

以下を目標に掲げていました。

msksgm.hatenablog.com

目次

生活習慣

引き続き、筋トレを続けていました。 ベンチプレス 75kg、スクワット 80kg、デッドリフト 80kg になりました。 目標を達成し続けているので、今後も継続していきたいです。

勉強関連

勉強関連 概要

3 月は以下のことを取り組んでいました。 ドメイン駆動設計を実践しようとすると、Go の仕様的にサポートしていない表現を使いたくなるときが多々ありました。 なので、最近はモダンなオブジェクト指向言語の Kotlin に興味が湧いてきました。4 月に「Learning Go」と「実践ドメイン駆動設計」が読み終わる予定なので 5 月以降に「Kotlin サーバーサイドプログラミング実践開発」を購入して学ぼうと思っています。 あとは、GAS を用いた自動化に興味があります。とりあえず、スプレッドシートから Slack に通知を送れるようにしました。

プログラミング言語(Go)

今月は主に、「ドメイン駆動設計入門」と「実践ドメイン駆動設計」のサンプルコードを置き換えることで学んでいました。 その結果、3 つの記事にまとめ zenn に投稿することができました。 途中、「実践ドメイン駆動設計」勉強会の予習(「ドメインイベント」)が忙しく、うまく時間が取れない週があったのですが、なんとかなってよかったです。

ACM 会員になったため、オライリーに読み放題で書籍を漁っていたら「Learning Go」という書籍を見つけました。 14 章構成で Go についてわかりやすく解説する書籍です。「プログラミング言語 Go」「Effective Go」よりも最新で無意識におこなっていたことや、Go の記述方法、エッセンスについて述べています。 まだ 7 章の途中までしか読んでいませんが、現時点でも非常におすすめできる書籍となっています。 4 月中に読み終わり、感想を書く予定です。

「エキスパートたちの Go 言語」の序章を読みましたが、あまり深掘りされていないのと、サンプルコードがそのままでは動かないのが多いこと、ライブラリの紹介が多いので、個人的には期待はずれな部分が多かった印象でした。

注力分野

ドメイン駆動設計

「実践ドメイン駆動設計」の勉強会を続けています。 10 章まで終わり、残り 4 章になりました。 「実践ドメイン駆動設計」の「第 8 章 ドメインイベント」個人的に非常に難易度が高く、予習に時間がかかりました。理解度も 4 割ぐらいです。内容的には非常に興味があるので、複数回に分割してもう一度勉強したいです。 新しい単語が減ってきたため、新規で得られる知識が少なくなり、内容も薄くなってきたように感じてきたため、若干飽きてきました。 Go で実践することで定着しつつ、残り 4 章をやりきりたいと思います。

connpass の「現場から学ぶモデル駆動設計」に 2 回参加しました。 教科書にとらわれない、現場で実践したプラクティスを学べるのは非常にありがたいです。

セキュリティ

今月は「情報セキュリティマネジメント試験」のテキストを 1 周しました。 受験は 6 月になるので、それまでにもう一度学びます。

4 月からは認証認可周りで Auth 屋と SAML 本を読もうと思っています。

DB

「わかりみ SQL」の 2 周目を行った後に、「SQL パズル」に挑戦しました。 しかし、読書感覚で取り組むには難易度が高く、一旦とりやめました。 「SQL パフォーマンス詳解」も読みましたが、あまり理解できませんでした。 なので、今月は挑戦してみたものの、あまり身に付くことができない月となってしまいました。 ドメイン駆動設計とセキュリティの片手間にやるのではなく、メインとして勉強する必要がありそうです。 現在、優先度が低いので、OSS-DB を受験するタイミングぐらいで再度学習すると思います。

Computer Science

今月も、注力できませんでした。 どうしても他の分野と比べると優先順位が下がりがちです。 来月も取り組む予定はありませんが、興味はあるので目標として残しておきます。

読書

今月は、本をつまみ食いしながら読む月でした。 最近は、一度に無理して読み切ろうとするより、様々な本を知りたいところだけ読めたらと考えています。 あと、「SQL パズル」は読書の時間というより、ちゃんと時間をとらないと読めなさそうなので一旦あきらめました。

他には、ACM 会員になりました。オライリーの書籍を読み漁れるし、関連会社の書籍も読めるので気になった日本語訳の書籍を英語で読むことができて便利です。 また、SoftwareDesign の年間購読を始めました。log4j2 の特集記事を読みたかったのと、web+db press の内容が良かったので SoftwareDesign も読むことにしました。

1 冊目 「わかりみ SQL

2 週目です。 難易度の低い箇所から高い箇所まで、幅広く扱っており良い復習になりました。 ウィンドウ関数、再帰クエリは、普段つかわなくて、あまり理解できていないので、もう一度勉強すると思います。

2 冊目 「SQL パフォーマンス詳解」

msksgm.hatenablog.com

3 冊目 「図解でなっとく!トラブル知らずのシステム設計 エラー制御・排他制御

msksgm.hatenablog.com

4 冊目 「エキスパートたちの Go 言語」

序章(0 章)のみ読みました。 2022 年 3 月現在、序章は日本語書籍の中で最もモダンで適切な Go の構文について記述されていると考えています。 サンプルコードが一部を除いて、そのまま動く形式になっていないのが残念でした。 他の部分は、対象のドメインに分散がありすぎるので、気が向いたら読むと思います。

5 冊目 「1 兆ドルコーチ」

msksgm.hatenablog.com

美術展

今月はフェルメール展にいってきました。 現在、メトロポリタン美術館展と合わせて、フェルメールの作品が 2 つ東京にある非常に珍しい時期となっています。 コロナで延期とかありましたが、どちらも観にいくことができてよかったです。

フェルメール

msksgm.hatenablog.com

技術記事の作成

週 1 回の投稿(金曜日がある週を 1 週としてカウント)目標を達成しました。 4 記事目の「Go の自作エラーを errors.Is と errors.As で wrap 元のエラーと識別するときには、Unwrap も実装しよう」は zenn のトレンドにもなったので嬉しいです。

1 記事目「Go で値オブジェクトを実装(「入門ドメイン駆動設計」Chapter2)」

zenn.dev

2 記事目「Go でドメインサービスを実装(「入門ドメイン駆動設計」Chapter4)」

zenn.dev

3 記事目「「実践ドメイン駆動設計 第 5 章 エンティティ」を Go で実装する」

zenn.dev

4 記事目「Go の自作エラーを errors.Is と errors.As で wrap 元のエラーと識別するときには、Unwrap も実装しよう」

zenn.dev

イベント参加

今月は 2 つのイベントに参加しました。

「祝完読! しょぼちむのエヴァンス本のススメ」

msksgm.hatenablog.com

「基本から学ぶ テーブル設計 超入門!」

後日感想を書くかも

まとめ

3 月も終わります。いよいよ社会人 2 年目です。 実際に社会人 2 年目を迎えるのって、パワプロで 2 年目になるのと同じぐらいの区切りを感じます。

プログラミング言語では興味の対象が Go から Kotlin(あと GAS)に移り、それに伴い、現在の業務で次にやりたことや将来やりたい領域も変化しました。

ドメイン駆動設計関連でいうと、書籍「実践ドメイン駆動設計」の「ドメインサービス」、「ドメインイベント」、「モジュール」、「集約」の章を終えて、戦略的 DDD の観点では一つ成長できたと思います。来月末には完読する予定なので、このまま走り切りたいです。 普段の業務でもモデリング会を実施して現状を捉えたドメインモデルを捉えようとしています。 そして、言語を刷新するレベルのリファクタリングも提案しました。 この一年で通常の案件と並行して、ドメイン駆動設計のリファクタリングを実践し、現場で実践したドメイン駆動設計の経験を得ようとしています。 来月から(というか次年度で 1 年間通して)も同様のことに取り組んで業務理解を深めつつ提案できるポジションを確立していきます。

セキュリティ関連では、情報セキュリティマネジメント試験の予習がひと段落つき、マネジメント観点からのセキュリティの知識を学ぶことができました。 受験は 6 月からなので、4 月は Auth 屋の本と SAML 本に取り組み、認証・認可の知識を深めたいと思います。

DB に関しては当初の予定とは異なり、「SQL パズル」を完読することができませんでした。 また、「SQL パフォーマンス」もあまり理解することができませんでした。 書籍自体の難易度が高かったのと、これらの知識は現状優先度が高くなかったので、後回しになりました。 OSS-DB 試験に挑戦するぐらいのタイミングで、もう一度これらの知識を深めようと考えています。

コンピュータサイエンス系では特に触れずといった次第でした。 優先度が低いので後回しになりがちですが、学びたい意欲と必要性に駆られているので、目標の 1 つとして残しておきます。

他にあったことでは、ACM 会員と SoftwareDesign の定期購読を始めました。 Web+DB press の定期購読も含めて、年間 3 万円以上の技術書投資をすることになりました。 割高に感じますが、最新の技術や話題に対するキャッチアップ料として、元を取れるようにしたいです。

3 月でおこなったことはこれぐらいです。 1 年の 1/3 がおわったので 1~3 月の振り返りをおこないます。 それをもとに 4~6 月の目標を立てて社会人 2 年目に備えます。