2025年24週目ふりかえり ~ AIと内省と育児の狭間でもがく
2025/06/15

masyus
週次コラムの2週目です。今週も仕事だけに限らず様々なトピックがありました。前回同様今回も大きく3つに絞って取り上げようとしましたが、結果的に4つになってしまいました。ちなみに個人的に今一番注目しているのは、現在の週次コラムの取り組みにも関連しますが
どのようにしてObsidianによるメモを実践するか?
です。このメモの取り方次第で、Cursorに記事アウトプットする時の楽さが変わりそうな感触を得ています。そこでZettelkastenの登場となるのですが、詳細はこの後取り上げます。
今週のサマリー
- Cloud RunにSidecarとしてCloud SQL Auth Proxyを導入、NitroPluginを使ったシングルトンのDB接続処理に活かした
- 過去のエンジニア採用の振り返りをし、今後のエンジニア採用について模索した
- ルーティーンの見直しや内省方法の学び、時間管理など、自己成長・将来設計に意識を向けた
- Logi Options+やNotebook LMの活用、マウス・Trackpadの使い分けなど作業効率化を模索した
- 週次のサマリーを出力するプロンプトを試行錯誤したり、◯◯さんAI構想などを検討した
- 保育参加や子供のYoutube視聴を経て、親としての悩み・発見があった
Topic1: エンジニアリング
仕事でNuxtではなく、Nuxtで活用されているNitroを使ってAPI構築している事案があるのですが、その中でちょっとした気付きがありました。NitroPluginのdefineNitroPlugin()
関数は非同期処理に対応していないという点です。
export default defineNitroPlugin((nitroApp) => { // asyncに対応していない
console.log('Nitro plugin', nitroApp)
})
たとえばCloud SQL 言語コネクタのNodeモジュールを使ってMySQLへ接続するPoolを取得しようとする際、
import { Connector, IpAddressTypes } from '@google-cloud/cloud-sql-connector'
const clientOptions = await connector.getOptions({
instanceConnectionName: process.env.MYSQL_CONNECTION_NAME ?? '',
ipType: IpAddressTypes.PSC,
})
のようにPoolを作る前に接続先のCloud SQL情報を取得する必要があるのですが、これだと非同期処理を要するためうまいことPromiseがresolveするのを待つ書き方をしないとdefineNitroPlugin()
内で意図した挙動になりません。これは結構面倒でわかりにくいコードになります。
そこでCloud SQL 言語コネクタではなく、Cloud SQL Auth Proxy自体を導入する方式でこれを根本から解消する手段を取りました。NitroベースのAPIはCloud Run上で動いているため、そのSidecarとしてCloud SQL Auth Proxyを展開し、そちらへ接続する記述にすればdefineNitroPlugin()
内で非同期処理を書く必要が無くなります。細かい設定の解説は別の機会にどこかで書き出しますので今回は省きますが、この判断は結果的に期待通りとなりました。
Topic2: ◯◯さんAI
最近よく思うようになったのが
「◯◯さんAIが欲しい」
というものです。たとえば社内に突出してすごい能力を持った方がいたとすると、私も私以外の方も、そのすごい方が日々どのように考えて仕事しているかに興味を持ちます。その方に相談して良いフィードバックを得たり、今考えていることの情報整理を手伝ってもらったりする機会が多くあります。それらの機会を活用し、
- 「なぜこのシーンではそう思ったのか?」
- 「どうしてこの状況下でその意思決定をしたのか?」
といった、その時点での私には持ち得なかった考え方等を◯◯さんAIに学習させ、以後の私の相談相手になってもらいたいというものです。...と書き出してみてふと思いましたが、そんなことをしているうちにフィードバックを受けた自分がそれらの考え方を手っ取り早く吸収できていたらそれでも良いような気もしてきました(笑)。おそらく私が◯◯さんAIに対して求めているものは、
私がやりたいことに対し、あらゆる知識をベースに客観的・俯瞰的目線で見解をいただける存在
なのではないかとも思います。今まで私たちはこれを人に相談することで実践してきたわけですが、私自身も相談の受け手として体験しましたがこの手の相談を受ける側は基本的に自由な時間が少なくなります。だからこそ◯◯さんAIが代替できるようになったらお互いに良さそうだと考えています(最終的なAIの姿としては◯◯さんAIでなくても良いかもしれない)。
Topic3: Obsidian + Zettelkasten
この両者の組み合わせについての模索は今に始まったことではなく、数年前から様々な人たちにより試行錯誤が繰り返されています。かくいう私も現在進行形でZettelkastenについて学んでいるところです。2週間に渡りフリースタイルでdiaryを書き、その内容を元に週次コラムを執筆してみて辿り着いたこととしては
記事に書き出すに足るだけの確固たる情報をまとめておくプロセスが別途必要である
ということでした。diaryから週次コラムを作るためには、Cursorを介した生成AIの情報加工プロセスではどうしても補いきれない何かがあったのです。それが、記事に書き出すに足るだけの確固たる情報のメモでした。
いまこちらの本を読んでいるところなのですが、Zettelkastenはおそらくそのプロセスと仕組みの最適解を与える内容になっていそうでして、引き続き読み込んで実践へ繋げたいと思います。
Topic4: 子供の保育園生活での成長
今週は3歳の長男が通う保育園にて、親が保育参加できるイベントがあったので私も保育に参加してきました。私が保育に参加したクラスは長男の3歳児クラスです。
所感としては、(園によって多少光景は異なるのかもしれませんが)3歳児ともなるとそれなりに自分で考えたり行動したりするので、個々人で抱える悩みがあるんだなというのを垣間見ました。たとえば我が家の長男は友達付き合いが少し苦手なのですが、どうコミュニケーションしたら友達をつくれるかで少し悩んでいる素ぶりが見受けられましたし、他の子供達はというと会話の相手にされないと泣き出しそうになる子や、自分でお着替えがなかなかできないけどそれを誰かに相談できずにいる子、喧嘩して部屋の隅っこでぐずっている子など、本当に多種多様でした。
なんというか、総じると
「こうやって子供達は成長していくんだな」
というのが感じられた大変有意義な機会でした。
今週の一言
2025年も残り28周です。今のところ内省のプロセスを導入したことは自分にとって今年一番の大きな転換点になったように感じています。はたして週次コラムは続けられるのか...?今後も試行錯誤して参ります。