Erlang/OTP
Erlang/OTP が書ける社員が増えた事もあり、自分が書く量を積極的に減らしていった。特にマニアックな新機能以外は社員たちにお任せ。
OTP 25 で maybe が入ったりして、いろいろ便利になった。だが OTP 25 リリース候補で思った以上にバグを引いて社員たちが OTP に貢献しまくったという思いがある。なので OTP リリース前の 1 ヶ月は OTP 対応をメインにやるという方針を立てることにした。
OTP 26 でまたいろいろ機能が追加されるので、楽しみ。kTLS 対応は大きい。
SQL
新サービスを作るにあたり、フレームワーク選定をしている際に sqlc を使うことを決めていたので、設計目的で SQL をとにかく書いた。
TimescaleDB 前提なので PostgreSQL のドキュメントを何度も何度も読んだ記憶がある。
1 年がっつりやってなんとか最低限の SQL は何も見ずに書けるようにはなった。ただまぁ sqlc compile で SQL をコンパイルしてチェックするという仕組みが偉大過ぎた気もする。
SQL のテストを書くというのもやってみた。これは単に sqlc で生成されたコードを使って Go の testify と dockertest でテストを淡々と書くというもの。思った以上によくて、自分が期待したとおりの SQL になってるかどうかなどが気軽にテストできて大変良かった。sqlc + dockertest による SQL のテストは今後も続けていきたい。ポイントは SQL のテストにだけ絞っており、ロジックなどのテストは別に書いてるところ。
Go
主に Echo を使ったウェブアプリなので難しいことは何一つしていない。Goroutine や Channel を使うような機能開発は自分では一切せずに、社員やお手伝いしてくれる人に丸投げした。
Erlang を書いてると Goroutine の繊細さでコードが書けないくらい堕落してしまう。link と monitor がない時点で辛い。
Cloudflare
Cloudflare Worker を本番投入だけでなく、Cloudflare Zero Trust や R2 も本番投入した。Cloudflare Load Balancing やら mTLS なども導入して入り口はがっつりと Cloudflare で固めた。
来年は Email Worker が来るだろうから、メール周りも Cloudflare に切り替えていくつもり。
Figma
自社サービスを作るに当たって、最初は簡単な図を作成するツールでイメージを開発者に伝えていたが、だんだんと厳しく感じてきたので、Figma を契約して学んだ。
圧倒的にわかりやすいし、動くプロトタイプが作れるのは良い。イメージを伝える際にほぼ齟齬がなく伝えられるのは大きい。公式動画も充実してとても学びやすかった。
来年は E2E を前提としたテストをがっつりやっていこうと思っている。
技術的には pytest と playwright と docker をしっかり学んでいくつもり。pytest ほど優秀なテストランナーを自分はしらないのと、playwright 公式が pytest 連携を出してくれているのも大きい。また自社製品を docker 化して設定変更やらいろいろなテストを E2E で自動化していきたい。
時間はかかるとはおもうが、コツコツやっていきたい。