📑

2025年の振り返り

に公開
2025/12/31

昨年に引き続き、2025年も振り返り記事を書いてみる。

抱負とその結果

達成できていない目標も多かったが、量子力学の入門の勉強が完了したのは大きな成果だったと思う。

  1. マイクロマウス競技会に出場
    一時停止しているomni-mouseの開発を完成させる。
    → 達成できず。色々と方針が変わってしまい開発が進まない。
  2. 量子力学を勉強
    初学の編集者がわかるまで書き直した 基礎から鍛える量子力学を読み終える。
    → 達成。1年かかったが、読み終えて満足感があった。人生の宿題を一つ片付けた感じ。
  3. コンピュータ関連技術書の読書
    3ヶ月に1冊ぐらいのペースで読み、2024年みたいなハイペースで読まなくてもよい。
    → 達成というか読み過ぎた。月に2冊ぐらいのペースで読んでしまった。
  4. 技術トレンドの把握
    Technology RadarのArchiveを読んで、使いそうは技術を触って技術記事を書く
    → 半分ぐらい達成。過去のTechnology Radarを2019年11月版まで遡って読んだ。unleashについての記事を2つ(*1, *2)書けた。深掘りしたい技術も多いので、引き続き調査・検証していきたい。
  5. 2週間に一度振り返り、計画を立てる
    アジャイルなスタイルで進めようと思う。
    → GitHubのプロジェクトで管理していたが10月で挫折。計画を進めても達成感が低く急かされる感じで辛くなってしまった。Miroにタスクを貼り付けるだけの形に変更した。

主にやっていた事

後半は読書がメインになってしまった。もっとコードを書きたかったのだが… MCPサーバの実装ができたのは良かった。

  • 1月: Python、PyTorchの勉強。OmniMouseの開発を再開した。
    今までなんとなく見様見真似で使っていたPythonについてちゃんと勉強する。なんとなく嫌ってたPythonの一部の仕様にもそれなりの意図があっての事だったのかと理解できた。Technology Radarを過去に遡って読む。
    ROS2でPythonを使うのは悪手な事が判明したので、Pythonのフレームワークのみで実装し直す方針に転換した。
  • 2月: OmniMouseの開発。Technology Radarを過去に遡って読む。
    PythonのActorモデルのライブラリであるRayを触り始める。Akkaや、そのオープンソースのフォークであるApache PekkoやRubyのRactorと違って、簡単に使い始められるのが良い。
  • 3月: OmniMouseの開発。Technology Radarを過去に遡って読む。
    月の初めに体調を崩してしまい開発が停滞気味。洋書([Build a Large Language Model (From Scratch)])を読んでいる途中に和訳(つくりながら学ぶ!LLM 自作入門)が発行されてしまってショックだった。
  • 4月: OmniMouseの開発。カメラの校正関係を実装。Zennの記事もいくつか(*1, *2, *3)書けたので良かった。Pythonの仮想環境についての理解ができたのも収穫だった。
  • 5月: ゴールデン・ウィークはKubernetesの勉強。その後は、各種AIコーディング・エージェントを触ってみた。*4, *5, *6。AWS EKS on EC2環境でArgoCDの継続的デプロイをIaC化するのに成功。会社の技術ブログにまとめておいた。
  • 6月: MCP(Model Context Protocol) Serverを実装する。OmniMouseの開発。カメラの校正関係をリファクタリング。
  • 7月: AWS AppConfigの調査およびPoC作成。会社の方でTech blogを執筆。
  • 8月: 主に読書。
  • 9月: 主に読書。
  • 10月: 主に読書。仕事先でTech blogを執筆。
  • 11月: 主に読書。会社の方でTech blogを執筆。『アジャイルへの道』と題してZennで本を書き始めた。Spring AIの日本語の解説記事がないので『Spring AI入門』とZennで本を書き始めた。
  • 12月: Zennでの『アジャイルへの道』と『Spring AI入門』の執筆を続けた。

アウトプット

  1. 技術ブログ執筆: Zennで8本、会社の業務で6本書けた。ただ書く時期が偏ってしまった。もう少し定期的に書くようにしたい。

アウトプットと呼べるようなものが技術ブログの執筆ぐらいしかなかった。来年はコードを書いて何かを創り出すようにしたい。

勉強した(、触ってみた、調査した)プログラミング言語・ライブラリ等

Python周りを中心に色々と触ってみた一年だった。VPythonでの物理シミュレーションが面白く、中高生の頃にこういうのをやってみたかった。

読書

途中で読み終えるのは無理かと思ってしまった初学の編集者がわかるまで書き直した 基礎から鍛える量子力学を読み終えられて非常にうれしかった。小説は面白いものに出会えなくて残念だった。来年は当たりの本に出会いたい。

コンピュータ技術書

Spring AI in Action、Continuous Deployment、つくりながら学ぶ!LLM 自作入門が今年のベスト3。

プログラミング・フレームワーク・ツール等

  • Python Distilled ―プログラミング言語Pythonのエッセンス: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10章;読了)
    入門 Python 3 第2版とどちらを読むか迷ったが、まったくの初心者ではないのでエッセンスだけ読めばなんとかなると判断した。
  • ハイパーモダンPython: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10章;読了)
    今時はPythonのバージョン管理やパッケージ管理やプロジェクト管理って何を使うのがいいのか全くわからなかったので読んだ。2023年の本なのでまだ古びていないと思う。
  • PyTorch実践入門: (第1, 2, 3, 4, 5章)
    PyTorchでのテンソルクラスなど基礎的な事がしっかり書かれている。もっと昔に見つけられていたらと悔やんでしまう。
  • Build a Large Language Model (From Scratch): (Chap. 1, 2, 3, 4, 5; 読了)
    埋め込みの処理の説明が良かった。下記の和訳が出たので残りは和訳を読む事にした。
  • つくりながら学ぶ!LLM 自作入門: (第6, 7章; 読了)
    Build a Large Language Model (From Scratch)の和訳。昨年の9月に原書が発行されたばかりなのに2月に和訳が発行される。2年ぐらいは翻訳されないと思っていたのが… 今年、読んだ本の中でベスト2。
  • RxJavaリアクティブプログラミング: (Part 1, 2)
    サーバサイドでのリアクティブプログラミングについてはこの本ぐらいしかコードの書き方について説明している本がない。一見、関数型ドメインモデリングの実装に使えるフレームワークのように思えてしまうが、逆に邪魔になるかもしれない。
  • Human-in-the-Loop 機械学習: (第1, 2, 3章)
    機械学習には興味があるが、実際に使うとなるとアノテーションとかしている時間は取れないと思って勉強だけで終わってしまうのを止めたいので読む。
  • Kubernetes完全ガイド 第2版: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20章; 読了)
    一度読んだけれど、EKS上で動かしながら読んでみる。EKSだとPersistentVolume関連が全く違うので難しい。
  • SQLアンチパターン 第2版: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27章; 読了)
    何人かの同僚が第1版は読んだという話を聞いたので読んでみた。自分自身も過去にやってしまった、あるいは、やりかけてしまったパターンが記載されている。 JOIN xxx_table USING yyy_idの書き方は知らなかったのでちょっと参考になった。
  • VPythonで見て学ぶ 物理シミュレーション入門: (第1, 2, 3, 4, 5, 6, 7章; 読了)
    シミュレーション対象の理論や数式の解説はなく、数式については理解している前提でのVPythonでの実装の仕方の本だった。なんとなくで対象分野の知識があるので、それほど不満なく読めた。ただし、最後の分子動力学シミュレーションのコードがFortranっぽい書き方でVPythonらしくない。速くならないし、読みにくい。
  • 認証と認可 Keycloak入門 第2版: (第1, 2, 3, 4, 5, 6, 7, 8, 9章; 読了)
    OAuth2.0やOpenID Connectがどういう仕組みで動いているのかを理解するために読んでいる。仕様の説明と実装の両方が載っているので、理解しやすかった。
  • AIエージェント開発/運用入門: (第1, 2, 3, 4, 5, 6, 7, 8章; 読了)
    LangChain, LangGraphの対抗のAIアプリケーションの開発フレームワークも出てきたので、そろそろAIエージェントの開発や運用に関する基礎知識を得ておこうと思い読んでいる。
  • Spring AI in Action: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12章; 読了)
    JavaでAIアプリケーションを開発するためのフレームワークであるSpring AIの解説書。Spring Bootに馴染みがある人なら、すんなりと理解できる。JavaでAIアプリケーションを開発したい人にはお勧め。
  • MCP入門――生成AIアプリ本格開発: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11; 読了)
    MCPの基礎知識と実装方法について記述。9章以降は著者独自のフレームワークもどきの能書きが延々と続くので、読むのが辛かった。フレームワークの自作入門でもなく時間の無駄だった。
  • 計算物理学I (実践 Pythonライブラリー): (第1章)
    VPythonで見て学ぶ 物理シミュレーション入門を読んで、もっと深く物理シミュレーションを理解したくなったので、読んでいる。
  • Introducing EventStorming: (Chap. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34; 読了)
    EventStormingの提唱者による書籍。4年程前に更新が止まっていて、いまだに執筆中の状態のものが販売されている。EventStormingのワークショップをやってみてのアンチパターンが載っているのはこの本だけなので、読んでおく価値はある。

ソフトウェア設計

  • オブジェクト設計スタイルガイド: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11章; 読了)
    著者の妄想した実在しない言語の疑似コードやフレームワークを例題にして、オブジェクト指向のプログラムの書き方を説明している。オブジェクト指向言語の使用経験だけでよいと対象読者に書いているにも関わらず、内容はドメイン駆動設計をある程度勉強している事や、xUnit系のテストツールに慣れている事を前提にしていたりする。分かっている人はもう知っている事だし、分かっていない人には良く分からない説明になっていた。疑似コードも色々な言語のつまみ食いの仕様なので、全部のスタイルを実在の言語に適用するとその言語の設計思想とで反発がおきそう。
  • マルチテナントSaaSアーキテクチャの構築: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17章; 読了)
    SaaSを運営する上でほぼ必須となるマルチテナントという要件が、アーキテクチャにどのように影響するかについて各種観点から分類した本だった。分類しただけで、解決方法の具体策はあまり述べられていない。3つ程のアーキテクチャのパターンについて、各種観点からどのような注意点があるかを述べていくスタイルなので、頭から読んでいくと、後半では繰り返しのような内容が多くなり飽きがくる。(必要な章だけつまみ食いをする分には便利な、洋書に多い書き方なのだが…)
  • マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法: (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10章; 読了)
    サービスメッシュの説明が気になって読んだが、今一つ理解できなかった。何となくは理解していたマイクロサービスへの移行の手順が整理できたのは良かった。
  • 基盤モデルとロボットの融合 マルチモーダルAIでロボットはどう変わるのか: (第1, 2, 3, 4, 5, 6, 7章; 読了)
    ついにロボットの制御関連まで深層機械学習が入り込んできたのか… 事例紹介の本なので1年後には遅れた本になりそう。ロボットでもLLMで実行計画を立ててタスクをこなせるなら、RPA(Robot Process Automation)ももっと進化する気がしてくる。

プロジェクト管理・開発手法

  • スクラム実践者が知るべき97のこと: (第X, XI部; 読了)
    エッセイが無秩序にならんでいるだけなので系統だった知識を得るには役に立たなかった。時々、気分転換や普段の実践を振り返って見るネタとしてちょっとずつ読むといい感じの本だった。
  • Continuous Deployment: (Chap. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; 読了)
    thoughtworksのTechnorogy Radarの項目で紹介されていたので読んでいる。デプロイのフローについてだけでなく、継続的デプロイを実践するためのデータベースのスキーマの変更方法やフィーチャーフラグ、本番環境でのテストまで述べられていて読み応えがあった。今年に読んだ技術書の中のベスト。
  • スプリントゴールで価値を駆動しよう (第1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19章; 読了)
    定期的に、今のスクラムのやり方に疑問を感じてしまって、この手の本に手を出してしまっている。他のスクラムの本とは違う部分も多いので業務にそのまま取り入れるのは難しそう。「スクラムフレームワークは意図的に不完全なものであり、スクラムの理論を実現するために必要な部分のみが定義されている。」っていうスクラム・ガイドの記述は都合のよい逃げのような気がしてきた。結局、スクラムで失敗したチームには「あなた達は正しいスクラムができていなかった」と言ってフレームワークの欠陥を隠してしまうのだろう。1~4週間の間に進捗確認・計画会議をしていて事業を成功させているチームにはスクラムを使っていなくても「あなた達は気付かずにスクラムを実践しているのだ。あなた達はスクラムの素晴らしさを証明しているチームだ」を賞賛を送って、スクラムの手柄に含めていそう。
  • "Looks Good to Me": Constructive code reviews: (Chap. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13; 読了)
    最近、レビューのための時間が増えすぎている気がして、何のためにコードレビューをしているのだろうって思ってきたので、ここら辺で考えを整理するための参考に読んだ。翻訳書の出版元が秀和システムで、原著の出版社のManningと翻訳の契約が切れてしまったせいかKindle版が入手できなくなっていた。仕方なく原著を読んでいる。最近は秀和システムの本を買わなくなっていたので、秀和システムの破綻のニュースを他人事のように見ていたけど… 読んだ感想は「非常につまらない」だった。コードのどこに着目してレビューすべきかを書いているのかと思いきや、レビューのプロセスの定義書(緊急の修正時の対応手順書等)の作り方や、レビューのコメントの言葉遣い等、レビューの周辺の事が多かった。またソースコードの実装のコメントやArchitecture Decision Recordに書くべき事をPull Requestに書く事を期待するようなプロセスが推奨されていて「は?」と思ってしまった。

その他コンピュータ技術書

  • 原論文から解き明かす生成AI: (第1章)
    AI関連のサービスを開発しようとすると、論文も読んでおかないと出来る事の限界を予測できないので、論文を読む習慣を身につけるために読んでいるのだが、全然進まない…

数学・科学系専門書

その他専門書

小説等の一般書

  • フォース・ウィング-第四騎竜団の戦姫
    「2025年本屋大賞 翻訳小説部門 第1位」ということで、久し振りに本屋大賞の受賞作を読んでみた。アメリカのAmazonでも100週以上もベスト20に入り続けているベストセラー。「ロマンタジー」(ロマンス + ファンタジー)と呼ばれるジャンルの作品。優秀な親・兄弟の中でちょっと落ちこぼれた感じの女の子が、大学で家族の仇の子供同士の関係にあるイケメンの先輩といろいろあって恋に落ちる話。テンプレ要素がぎっしりの作品で、アメリカでもこういう話は大人気なのね。
  • ロボット・イン・ザ・ガーデン: 途中
    「2016年ベルリン国際映画祭で「映画化したい一冊」に選ばれた、英国版「ドラえもん」小説!」とあったので読み始めた。ドラえもんは、ドラミちゃんには劣るけど、もっと優秀だよと思いながら読んでいる。主人公はのび太以上にダメな感じだけど…
  • まず牛を球とします。: 読了
    書評等で良く見かけるので読んでいる。前半は軽くて面白い話が多かったが、後半になるとSFっていうよりも、単なる妄想というように感じてしまい飽きてきてしまった。
GitHubで編集を提案

Discussion