Discover Something New
コロナ禍の2020年で一旦中止になって5年ぶりの開催となります。
知らなかった、を聞くというコンセプトの、他ではなかなか聞けない話しが聞けるカンファレンスということで、YAPC::Tokyo 以来最も好きなカンファレンスです。 私も過去登壇させて頂いたりと思い入れもあります。
buildersconの方向性というか意図というかみたいなものは創始者の牧さんがまとめられています。 lestrrat.medium.com
今回は、1日のみので会議室もMax100名、1トラックのみとかなりコンパクトな開催でした。ただ中身はいつも通りとても濃いものでした。
以下私が気になったセッションをピックアップしていきます。
誰が作成しても1つの構造になるモデリング作成技術、Theory of Models に夢を見る by mokuo
新しいプロダクトを作るとき、UIやデータベースが絡むとどういう単位でクラスにしてどういうテーブル設計にするか、というのはPMやソフトウェアエンジニアに依存する部分が多分に出てきます。
小さめの個人開発であっても、あーこうしておけば何か所も直さなくてもよかったのになぁとか拡張しにくいテーブル設計にしちゃったなぁとか思い当たるところがあります。
また、ちょうど仕事でもモデリングツールみたいなのに触れる機会があって正しさ・妥当性をどう定義するべきなのか、いろいろ思うところがありました。
そんな個人や思想に依存しがちなモデリングを形式的・数学的な手法で過不足無く効率的に出来る Theory of Models の紹介です。
T字書式というフォーマットや、 Event と Resource の区別と関係性の明記等その手順が具体的に理解できたのと、Theory of Models を使わなかったらどういう設計になるの?というホラーストーリーがあったのが特に腹落ち感ありました。
スライドはこちら: speakerdeck.com
基本的な考え方は↓の本をベースに解説されており、もっと詳しく知りたかったので思わずセッションの途中でポチってしまいました。
法律に準拠した本人確認システムを0から作った話 〜家計簿プリカB/43でのeKYC開発実例〜 by 三谷 昌平
YAPC::Hiroshima でクレジットカードの決済処理の裏側を話されていた方のセッションです。
今回は決済アプリで使われている本人確認の裏側でした。
なぜ本人確認(eKYC)が必要なのか、オンラインの本人確認で法律的に求められていることが何なのか、なぜサードパーティーサービスではなく自社構築したのか、具体的にどういうアーキテクチャーのシステム・組織体制・ツールを使って本人確認をしているのか、という背景から開発、運用まで詰め込まれた非常に濃いセッションでした。
顔認識のところは Amazon Rekognition というサービスを使ってるらしいです。Azure だと AI Vision の Face Service がそれに該当するんですかね。
私もeKYCで本人確認をしてなかなかうまく出来なくてイラっとしたことがありましたが、次からは思いを馳せながらできそうです。
そしてやっぱりこういうドメイン知識が必要で、また自分が普段関わらないドメインの話しというのは面白いですね。
スライドはこちら: speakerdeck.com
CLIジェネレータ「cyamli」によるコンソールアプリのスキーマ駆動開発 by Jumpaku
CLIベースのコンソールアプリを作るときに便利なコードジェネレーターの cyamli の紹介でした。
例えばGolang だと cobra みたいな各言語、CLI向けのライブラリとかフレームワーク的なものもあってそれぞれメジャーどころなのもあり、あえてこういうツールを開発するモチベーションってなんだろうかというのを思いつつ聞いてました。
その中でYAMLファイルによる定義や型付けが出来て、多言語対応も可能ということで、確かにこれは他にないツ-ルじゃないかとおもいます。
型付けされていることから、IDEが良い感じで補完してくれるデモを見て、これは良い開発体験になりそうだなという感触がありました。
次CLIツール作るときは使ってみようと思います。
GitHub: github.com スライドはこちら: drive.google.com
まとめ
他にもSREの話しやLinuxを動かすRISC-VエミュレーターをWasmで実装するセッションなどなど、いずれもはーなるほどなーとかそんなことができるの?みたいな話しを聞けました。
まさに「Discover Something New」な1日でした。未定ということですが次回もぜひ楽しみにしています。