buildersconとは
2024/08/10にbuilderscon2024が5年ぶり開催されました。私の中で、最も好きだったテックカンファレンスだったので、rebootに非常に楽しみにしていました。
buildersconとは、『「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭り』とあります。特定の技術にフォーカスせず、しかし特定の技術に深掘りした方々の深淵の世界を覗かせてもらえる「私には知る機会がなかった技術を聞く」時間となっており、非常に面白く思っています。
誰が作成しても 1 つの構造になるモデリング技術
経験に依存しないモデリングを求めてたどり着いた、『Theory of Models(TM)』を解説する講演。
builderscon 2024 登壇資料です。
— mokuo (@mokuo_) August 10, 2024
『誰が作成しても1つの構造になるモデリング作成技術、Theory of Models に夢を見る』https://t.co/upCIhfGgSg
ありがとうございました!!#builderscon
私自身、ソフトウェアアーキテクトを自称していて、事業課題やサービスを様々な形でモデルに落として実装することを日々やっていて、「何をモデル化すると良いのか」や「そのモデルが正しいのか」は非常に議論が難しく、えてして押しつけがましくなったりするので、非常に興味がそそられました。
各プロセスで「経験に依存しないように考慮しているポイント」を拾っているのを聴きながら、自分の開発は複雑さに戦うためにより戦略的DDD目指しているので、ちょっとこれだけでは戦えないよなとか、今までやってたアレはむしろやり過ぎ?とか、考えていました。
紹介したTMを補完する位置づけとして、多数の書籍を紹介していた、それもただの紹介ではなくこの書籍が解説しようとしていることを咀嚼した内容になっていたのも良かったです。モデリングに銀の弾丸はなく様々な考えを適応していくことと捉えているのがよくわかって、その一次情報に触れさせてもらえるのは聴者に勉強を促す形になっていて、読まねば!という気持ちになりました。
法律に準拠した本人確認システムを0から作った話
タイトルの通り、B/43というサービスを作った際の、必要とされるドメイン知識、利用した技術とそのドメイン特有の課題、そして実装された運用と、サービス開発の全てが詰まっていた講演。
今日お話しした資料放流しておきます!
— 三谷 昌平 | SmartBank (@shohei1913) August 10, 2024
途中と最後のスライドちょっと外してます 🙏 (代わりに時間がなくて削ったスライドを足してます)#builderscon https://t.co/Jm9NL4fdNu
私自身も、過去マイナンバーが登場時にシステム開発をやっていたことがあり、政府サイトのQ&Aに実務に落とし込んだ設計が公開されているのをウォッチし続けていたのを思い出したりしていて、非常に面白く聞けました。
Amazon Rekognitionで写真の人間の同一性は結構正確に出るとか、今利用できる技術面の話も参考になりました。「今の時代はこれらが使える前提でサービス開発ができる」と認識するのはこういう講演でちゃんとキャッチしたいことです。
また、最後に残る「人による全数チェック運用」の部分も、本人認証システムのドメインからわかるように理由が解説され、どのように運用しているのかを説明されていて、聞き応えがありました。
React Server Component の疑問を解き明かす
今までのSSRなどから続く課題と発展の解説して、React Server Componentの概念にたどり着く講演。
先ほど発表した資料公開しました。React Server Components ってどんなもの? 従来の技術とどう違う? と疑問に感じている方、是非読んでみてください。#builderscon https://t.co/ij900bZRKB
— mizdra (@mizdra) August 10, 2024
ただ、Server Componentと言われるだけだと、わからない部分を丁寧に解説されていて、理解することができました。
このServer Componentのユースケースがあるのか、既にサーバサイドとして構築している部分のどれだけをServer Componentに移せばいいのか、悩みはつきないなと思いました。
個人的には、React、Next.jsは難しく扱いやすいとは言えないように思っていますが、フロントエンド技術の『概念』の最前線であり、「今実験的ながらもこの『概念』を受け入れるか」と言われると「大規模開発でなければ、常に受け入れるように考えるべき」と考えた結果、Vue.jsよりも積極的に使いたいと思っています。なので、今回『概念』にフォーカスしたセッションは非常にありがたいです。
健やかなサービス運営のための PWG
プロダクト開発チームとインフラチームの共有会 Performance Working Group(PWG)でやっている活動を紹介する講演。
具体的に「今」このような運用をしています、というのを紹介してくれて、課題感があるんでやってみねば!という気にさせられました。
ホー〇ページ・ビルダー 2024
エモ成分多めの、個人Webサイトやるモチベーションや技術に関する講演。
私も近い意識があるので、共感しっぱなしでした。
私のエモ部分を中心に紹介すると、
私も自分のアイデンティティ強化に100円ショップ推しグッズコーナーにあるキーホルダーキットを使って鞄に付けてたりとか。
自分が保守する限りつかる自前短縮URLをつくってたりとか。
買ってもらったBoothの商品の、ドキュメントに飛べる用のリダイレクト短縮URLを作って、QRとURLを商品にラベルを作って貼った。このくらいのURLならば手打ちにも耐えられる。
— 74th (@74th) July 21, 2024
このデータの管理を https://t.co/DXoztPb60F で使っているYAMLをベースにデプロイされるようにした。 pic.twitter.com/tDmryjsccT
自分のやってきたことのコンテンツを確立するために、この"@74thの製作ログ"をつくってるとか。はてなブログいいよねとか。
自分のドメインのWebサイトを、つたないレイアウトながら運営していることに意義を感じているとか。
それでも、アイデンティティを示すページとしては最近は github.com に移行した(つまり、この辺にパッションもって今でもアップデートしている)とか。
SNSは交流であり、自分の話としてレポートが書きたい気持ちがあるので、ブログ、個人サイトに必要性を感じているとか。
100年コンテンツが残るの意味だと、最近はgithub.comにおいとけば残らないかなー、とか考えてることとか。
CLI ジェネレータ「cyamli」によるコンソールアプリのスキーマ駆動開発
CLIツールを作るときの引数やフラグを、YAMLで定義して、型付きコードを出力させて、型付きで実装でき、かつマルチ言語対応のツール、cyamliの紹介。
4つの自分の要求を満たすツールがなく、作ったという話だけれど、その4つの要求のモチベーションから解説されていたのは良かった。
YAMLでの定義から、型付きコードを生成し、コード補完を活用しながら実装できるのを見せるデモも、実際に型があると言われつつも実際にコード補完が効いているのを見せられると、もうこれのない世界を見たくないという気にさせる魅力があった。
個人的には、話の最初のうちは、「プログラムとユーザのインターフェイスである引数、フラグでやる複雑性はそこまで大きいことは行わず、結局構造的な記述ができるconfig.jsonを定義して渡す形になるのだから、引数、フラグでそんなに頑張ってもなー、言語間に仕様の違いも今やCopilotくんがいい感じに出力してくれるしなー」と思って聞いていたのですが、「サブコマンドに対応している」「実際に定義通りに型補完効いている」というのを見せられて、やられました。CLIツールが許容できる複雑性の意味では「サブコマンド」でかなり満たされるけれど、作るには面倒すぎるところが大きく、それをやってくれるなら使いたくなるじゃないか、と心を動かされました。
1000行で実現する Linux on Browser
1000行で動くRISC-V Linuxを、RISC-VエミュレータをRustで実装することで動かす講演。
遅くなりましたが、資料を上げさせていただきました。本日はありがとうございました。#buildersconhttps://t.co/jaOkw4YUrR
— bokuweb (@bokuweb17) August 10, 2024
40分のコンパクトな講演で、RISC-VのISAとか、それを実際に実装したところとか、Linux起動やコンソール表示のところをやったところとか、一通りが詰まっているのがすごく良く、面白かったです。これ面白いんですよが伝わるパッション多めに話されていたのも、ノリよく聞くことができました。
自作CPUエミュレータに憧れはありましたが、大変そうというイメージが大きくトライしようと思っていませんでしたが、この山を登ってみたい!!!!と心動かされました。
その他感想
家族で一定のコロナピーク時は会食への参加を避けるように決めたため、申し訳ないですが懇親会は参加しませんでした。
今回5年ぶりのrebootで、小規模の1トラックながら、それでも濃い内容の世界ですごく楽しめました!
机のある会場、会場の音響、混み具合も非常に快適で、PCでメモやツイートをみながら、セッションに集中することができました。
過去の参加ログ
過去の参加ブログはこちら(2019書いてなかったことに気づきました、もったいない…)。
最後に
いつかBuildersconに登壇するのが夢なので、来年もあれば必ず参加し、builderを名乗れるネタを温めておきます!