🌊
2024年10-12月の振り返り
9月に振り返りをしたので、今回は10月から12月の間を振り返ってみる。
主にやっていた事
-
10月:
- 関数型ドメインモデリングの内容をJavaで実装する。
- ANTLRでSQLのWhere句の式をパースする。パーサコンビネータやパーサジェネレータの調査をする。
-
11月:
- ANTLRについてZennの記事を書く。
- TerraformのコードからPlantUMLのアーキテクチャ図を生成するツールを作り始めた。
- Technology Radarの2024年10月版を読んで感じた事を書いた。
- 12月:
やってみたいと思った事とその結果
-
ANTLRの解説記事を書く
結果: 記事を2つ書いた。(*1, *2) - ANTLRを使って、REST APIにSQL形式のフィルタリングオプションを実装してみる
結果: 会社の技術ブログに記載した。 - ANTLRを使ったアプリケーションを作ってみる
結果: tf2pumlという、TerraformのコードからPlantUMLのアーキテクチャ図を生成するツールを作り始めた。 -
関数型ドメインモデリングの形式をvavr等のライブラリを使ってみて実現できるかを検証する
結果: 手をつけたが、tf2pumlの開発で手一杯だった。 - PluntUMLを使えるオンラインホワイトボードSaaSを作る
WebSocketや、イベント駆動型アーキテクチャの勉強として。excalidrawを参考に
結果: tf2pumlの開発で手一杯で未着手となった。 -
omni-mouseを完成させる
迷走しているマイクロマウスの作成プロジェクトを完了させる。Projct PanamaやVert.xを使ってJavaで実装するのもいいかもと思い始めている
結果: tf2pumlの開発で手一杯で未着手となった。 -
ゼロから作るDeep Learning ❸―フレームワーク編を読む
FPGAをアクセラレータとして使うフレームワークを作れないかを考える。
結果: 8割ぐらいは読めた。FPGAを使うまでにはnumpyの実装まで知る必要があった。予想外の収穫としてPyTorchの実装のイメージができて理解が進んだ。 -
Build a Large Language Model (From Scratch)を読む
自前LLMを作れるようになっていれば、ドメイン特化のSLMを仕事で作るようになるのではないかと思う
結果: 『ゼロから作るDeep Learning ❸―フレームワーク編』を読んだ後で読む予定にした。 -
Database Design and Implementation: Second Editionを読んで写経する
自作OSや自作CPUはやってみたので、今度はRDBMSをやりたい。
結果: 1, 2年は時間がとれなさそう。 - アジャイル開発での技法についてまとめたものを書く
結果: 書く項目を少しだけ挙げ始めた。 -
情熱プログラマー ソフトウェア開発者の幸せな生き方の内容を実践する
- 週単位の目標を立て、その結果を記録する。今日は何をすべきか?を意識する
結果: 2週間をIterationとしてGitHub Projectで予定を立てて、Togglで記録し、Miroで振り返るようにした。 - 週に2時間は新しい技術を調査する
結果: Technology Radarを読む習慣を身につけるようにした。読んで気になる技術(Unleash)の技術記事を2つ書いた。 - 自分のロードマップを作成する
結果: 半年ぐらいはIterationを続けて、やり遂げられる量を見極める事ができるようになってから作成する事にした。
- 週単位の目標を立て、その結果を記録する。今日は何をすべきか?を意識する
勉強したプログラミング言語・ライブラリ等
読書履歴と感想
コンピュータ技術書
-
脳に収まるコードの書き方: (第14, 15, 16章; 読了)
悪くはなかったけど、得たものが少なかったかなあ。 -
すごいHaskellたのしく学ぼう!: (モナド関連を拾い読み; 読了)
関数型ドメインモデリングでモナドについて少し触れていたのでモナドの復習になった。 -
The Definitive ANTLR 4 Reference: (Chapter 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; 残りはリファレンスなので、読了とする)
Webアプリでパーサが必要になるようなオプションを設計できないかと考えANTLRを使おうとして勉強するため。 -
ふつうのコンパイラをつくろう: (第1, 2, 3, 4, 5, 6, 7章)
ANTLRに辿り着く前にパーサの復習をしようと思って読み始めた。 -
情熱プログラマー ソフトウェア開発者の幸せな生き方 (第1, 2, 3, 4, 5章; 読了)
ネットでお勧めしているのをみたので読んでみた。昔の話って感が強い。 -
ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール: (ルール 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21; 読了)
C++の環境だと問題になるかもしれないけど、他の言語の環境だと言語機能やライブラリ、フレームワークで解決済みの問題を議論している感が強い。 -
ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16章; 読了)
具体例がなく心構えみたいな内容が多く類書との違いも少なかった。ただ、イベント駆動型アーキテクチャや、データメッシュについては理解していなかったので少し参考になった。 - スクラム実践者が知るべき97のこと: (第I, II, III, IV, V, VI, VII, VIII, XI部)
-
ゼロから作るDeep Learning ❸ ―フレームワーク編: (第1, 2, 3, 4, 5ステージ; 読了)
もっと早く読むべきだったと後悔。Pytorchなどが裏でやっている事が分かりやすく説明されている。
数学・科学系専門書
-
初学の編集者がわかるまで書き直した 基礎から鍛える量子力学: (第1, 2, 3, 4, 5章)
6章から難しい。
その他専門書
-
ChatGPT翻訳術: (読了)
命題とモーダルという分け方があるのが勉強になった。用語集を作りながら翻訳させると訳語が統一できそう。 -
THE MODEL: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15章; 読了)
タイトルがでかい。The Sales Modelぐらいの内容。営業のパイプランという考え方が勉強になった。若い頃に読みたかったが、30年前にこの概念があったのだろうか…
小説等の一般書
読めなかった。
Discussion