FORCIA CUBEフォルシアの情報を多面的に発信するブログ

TSKaigi Hokuriku 2025に参加しました

2025.12.26

イベント

こんにちは。新卒2年目エンジニアの池田です。
フォルシアは11月23日(日)にホテル金沢にて開催されたTSKaigi Hokuriku 2025にシルバースポンサーとして協賛いたしました。
協賛の特典として当日の招待チケットをいただいたので、現地参加してきました。本ブログでは当日の様子についてレポートしていきます。

TSKaigi Hokurikuとは?

2025年11月23日(日)石川県金沢市のホテル金沢にて開催された、TypeScriptをテーマとした技術カンファレンスです。
2025年5月23日(金)、2025年5月24日(土)には東京都ベルサール神田でTSKaigi 2025が開催されており、TSKaigi Hokurikuはその地域版TSKaigiとして開催されました。
オープニングトークでも触れられていましたが、なぜ地域版のTSKaigi開催地が金沢に決定したかについては、ぜひ主催者の一般社団法人TSKaigi Associationのブログをご覧ください。

TSKaigiHokuriku2025.jpg

協賛のきっかけ

フォルシアは2025年5月に開催されたTSKaigiにシルバースポンサーとして協賛させていただいており、引き続きTypeScriptカンファレンスの盛り上がりに貢献したいと考え、出張版となるTSKaigi Hokuriku 2025にもシルバースポンサーとして協賛することにしました。

main-w-2025.png

LT/セッション紹介

特に自分が面白かったと感じたセッションをいくつかご紹介させていただきます。

フロントエンドにおける「型」の責務分離に対する1つのアプローチ

紹介ページ: https://hokuriku.tskaigi.org/talks/3
資料: https://speakerdeck.com/kinocoboy2/hurontoendoniokeru-xing-noze-ren-fen-jie-nidui-suru1tunoapuroti

フロントエンド開発では「ユーザーの都合(UI)」と「システムの都合(API)」という2つの異なる要求が交差します。
例えば注文フォームの個数入力では、ユーザー側では一時的に空にしたり間違えたりするためstring | numberのような型が必要ですが、システム側では厳密なnumber型が求められます。
本セッションでは、ICONIXプロセスの考え方を取り入れ、Boundary(画面)・Control(ロジック)・Entity(ドメイン)に分けて型を設計し、Mapper層で変換することで保守性を高めるアプローチが紹介されました。
具体例としてUI State(ユーザーフレンドリー)とDomain Model(システムフレンドリー)を明確に分離した型定義や、タグ付きUnion型を使い状態によってアクセスできる型を出し分ける設計などが示されていました。
バックエンドではドメインモデル駆動でボトムアップに型を作れますが、フロントエンドでは外側(UIやAPI)からの要求も強いため、内側と外側の両方に対して最適化が必要という点に確かに、なるほど、となりながら聞いていました。

AIエージェントのプロンプトを自然言語ではなくTypeScriptで書いてみる試み

紹介ページ: https://hokuriku.tskaigi.org/talks/28
資料: https://docs.google.com/presentation/d/1FoQnsAUraUhEIJt6V_hx3HlY-fzVYQG9yAoS-d-De20/edit?slide=id.p#slide=id.p

「頭が赤い魚を食べる猫」という文が解釈によって意味が変わるように、自然言語には曖昧性がつきものです。
本セッションはこの問題に対してTypeScriptの厳密性を活用し、各画面・各関数のプロンプトをTypeScriptファイルとして記述してもClaude Codeは解釈してアプリを作成してくれるのか?という内容でした。
CLAUDE.mdにファイル群がソースファイルではなくプロンプトファイルであることを明記することで、Claude Codeが意図通りにアプリを生成してくれたという実例が示されました。
各画面や関数の仕様をTypeScriptの型定義やインターフェースで表現し、実行するコードではなく「AIへの指示書としてのTypeScript」という新しい活用法が紹介されており、TypeScriptを日本語で書いていくようなイメージでプロンプトを作成するという発想がとても面白いと感じました。
また、登壇者の方がおっしゃっていたように、ロジックを書く過程で普通にプログラムを書くよりも抜け漏れや注意すべき点に気づきやすくなるというのは、実務でも活かせそうな知見だと思いました。

TypeScript ASTを活用した意味差分抽出の紹介

紹介ページ: https://hokuriku.tskaigi.org/talks/38
資料: https://speakerdeck.com/takewell/introduction-to-design-difference-extraction-using-typescript-asta

AIでコード生成すると便利ですが、レビューの負担が大きいという課題があります。
特にレイヤーが多く依存関係が複雑な場合、GitHub上では直接的な差分しか確認できず、差分が発生していないけれど関係のあるファイルの影響を把握しづらい問題があります。
本セッションでは、TypeScript ASTを解析して依存関係図やシーケンス図を自動生成し、コードの意図を理解しやすくするツールが紹介されていました。
抽象構文木(AST)を活用したTypeScriptコードの構造解析や、ts-morphライブラリによるimport文や関数呼び出しの自動抽出など、馴染みのない領域の話でしたが、TypeScriptひいてはAI活用の奥深さを改めて感じました。
AIが生成してくれたコードを図で可視化するというアイデアが実用的で、レビュー時に依存関係を見抜くことができなかったり、AIが作業してくれた分をうまくまとめて見られるようにしたい...と思ったりすることは私自身もよく経験するので、ぜひこの手法を試したいと思いました。

企画紹介

お弁当は3種類(お肉系2種類、魚系1種類)用意されており、私は魚のお弁当を選びました。セッション会場で食べることができたのでLTを聞きながらおいしいお弁当をいただきました。

お弁当.jpg

セッション会場の外では協賛企業によるブース出展が行われており、素敵なノベルティをいただけたりミニゲームのような企画に参加させていただけたりと盛りだくさんなコンテンツとなっていました。
また、各ブースをめぐってシールを貼っていただき全て集めると抽選に参加できるといった企業ブーススタンプラリー企画も用意されていました。


スタンプラリー.jpg

画面に収めきることができないくらいのノベルティをいただきました。

ノベルティ.jpg

エンジニア募集中

当日会場ではシルバースポンサーとしてカンファレンス参加者へエンジニア募集フライヤーを配布させていただきました。
フォルシアではTypeScriptを用いてwebアプリケーションの開発を行っています。
フロントからバックエンド、インフラまでTypeScriptを用いて開発をしたいといったエンジニアの方はまずはフォルシアのカジュアル面談にいらしてください!
ぜひお待ちしております。

この記事を書いた人

池田葵

室内と屋外の寒暖差に悩まされています