2019 年は 99.9% くらい Erlang/OTP を書いてた。あとの 0.1 % は Go。
今年の Erlang/OTP は counters や persistent_term を実践投入した年といっていいと思う。この2つは本当に OTP にとってのゲームチェンジャーだった。ets で頑張っていた統計関連の機能はすべて counters へ。グローバルな統計情報であれば persitent_term に counters の ref をもたせてしまえばどこからでもカウントアップすることができる。本当に素晴らしい。
暗号周りの充実も素晴らしい。API が切り替わってわかりやすくなった。
socket モジュールが使えるようになったのも大きい。色々書いてみたが OTP 23.0 で gen_udp や gen_tcp 関連が socket モジュールに切り替わるので楽しみだ。
また、自分が Erlang VM のバグを踏んで社員が直したというのも思い出深い。少しは貢献できた気がする。
日付モジュールに ISO 関連が入ったことがあり、今まで使っていた自作ライブラリを使うのをやめた。system_time_to_rfc3339/1,2 は本当に偉大だ。
自社製品関連でいくと今までは erlang term を利用する sys.config をそのまま設定ファイルとしていたが、サポートコストが高いことから kvconf というライブラリを使って切り替えていくことにした。
key = value というシンプルな方式しか使えないが、もともとゼロコンフ信者なので、できるだけ設定はシンプルな方がいいと考えているので、この設定を採用することにした。
また今までは深いところにあった sys.config をいじってもらっていたが、etc/sora.conf という浅い場所に設定ファイルがおけるような仕組みも導入した。設定ファイル問題が一気に解決したのは本当に大きい。
Erlang/OTP 最新版がでればすぐ上げて試すし、 Erlang VM や利用しているライブラリで問題が起きればできるだけ解決するようにリソースを投入している。
2020 年も変わらず Erlang/OTP を利用していく。OTP 23.0 が楽しみだ。