参加しました。みやこめっせは非常に近いので気軽に行けて便利ですね。みやこめっせに同人イベント以外で行ったのは大学の卒業式以来なので、実に5~6年ぶりとかになるんじゃないか、マジか~。
トーク
canalunさんのキーノート。いきなり宇宙人に連れ去られる寸劇から始まってなんなんだという感じでした。クワインを構成可能であることの証明は何気に初めて目にしたかも。スマートコントラクトの世界では意図的に言語をチューリング完全じゃなくしている、という話は知らなかったです。
tocomiさんの「型チェック 速度改善 奮闘記」は、まさに明日から役に立つTypeScriptの型チェック高速化のレクチャーという感じでよかったです。Naming Complex Typesパターンにはキャッシュが効きやすくなるという側面もあるのか~。tscのコマンドライン引数でプロファイリング用の情報を出力できるのは知りませんでした。
ホリちゃんさんの「TypeScript Graph でコードレビューの心理的障壁を乗り越える」はコードの依存関係・変更箇所を可視化することでコードの構造をとらえやすくする、という話でした。これは依存関係の表現方法を差し替えられるようになっていたら任意のプログラミング言語に対して横展開できるようになって夢が広がるのでは!?
sadnessOjisanさんの「TypeScript、上達の瞬間」は、個人的にベストトークを選ぶならこれになるでしょう。どのようにTypeScriptの体系に馴染んでいったのか、がすらすらと話されていたと思います。また、「自分はTypeScript自体に興味があるわけではない」というようなことを仰っていたと思うのですが、この言葉にも勇気づけられるものがありました。何も全てを突き詰めなければいけないのではなく、必要に応じて手を伸ばして回るならそれでいい、という態度もまた重要だと思います。
izumin5210さんの「よくできたテンプレート言語として TypeScript + JSX を利用する試み」の話は、日頃からけっこう思っていることがまさに実践されているな〜と思いながら聞いていました。我々が欲しいのは静的解析が効くテンプレートエンジンなのではないか、というのをまさに体現していました。JSONを生で書くのはつらいよ〜という場面ではよく効きそう。
交流とか
会場に行ったら id:myfinder さんがいたのでいろいろ話していました。ここだけ切り出すと急にYAPCっぽくなりますね。あとはベースマキナさんのブースで id:f_syumai さんや id:yebis0942 さんなど普段はGoのほうで見かける人たちもいて、TypeScriptのイベントに初めて来てみたけど意外と知ってる人いるな? という感じでした。
ほかにもスポンサーブースをいろいろ回ってみて、TypeScriptバックエンドを採用するようになった理由を聞いてみたり、TypeScriptクイズ*1を解いたり、脱リモートワークの話をしたりなどしていました。知ってる人はそこそこいたけど会社の人がぜんぜんいなかったような。
懇親会では、Next.jsのApp RouterやServer Actionsは人類には早いのでは、とか、Node.jsの実行モデルを考慮した上でスケーリングすることを考えて実装できているのか? とかそういう話をずっとしていたような気がします。
二次会は行きつけのビアバーに行きましょう、ということで知ってる人から順番に声をかけて人数を増やし、GOでタクシーを3台手配したら1台ロストしてしまいウケました。生きてるとこういうこともあるんですね。
うおお、GOで3台手配したら1台ロストした!!!
— うたがわきき (@utgwkk) 2024年11月16日
そして人数を増やしまくった結果全員は入店できないということだったので、急遽マネーフォワードさんのオフィスに入れていただきました。いろいろ雑にやりすぎてすみません、なんとかなってよかった~~。キャパが無限*2って最高ですね。id:luccafort さんありがとうございました。
マネーフォワードさんのオフィスに入る前に何人かで飲みに行っていたのですが、長濱浪漫ビールの店舗が三条にできていたのをそのとき初めて知りました。
次回はもうちょっとキャパシティを考えて店を手配しようと思います。あとは人数が増えすぎたら適宜グループを分割するとか……。
おわりに
普段はKyoto.js以外にはフロントエンドっぽいイベントには行かないのですが、近場で開催されるということで顔を出してみました。けっこう面白い話を聞けたし、懇親会や二次会でもいろいろ話せたしよかったと思います。次回も関西で開催されるならまた行きます。
そういえば、ホームページのURLに年号 (2024) が入っていないのがずっと気になっています*3。