BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

TSKaigi 2025にBASEのエンジニアが登壇&シルバースポンサーとして協賛しました

はじめに

BASE FeatureDev3Group でWebアプリケーションエンジニア をしている Capi(かぴ) @ysssssss98 です。

2025/05/23(金)と24(土)にベルサール神田で TSKaigi2025 が開催されました。 BASE株式会社はシルバースポンサーとしてTSKaigi2025へ協賛し、BASEのエンジニアが登壇しました。

今回の記事では登壇者のコメントや現地参加したメンバーの感想をお届けします!

現地参加メンバー

登壇者コメント

プログラミングをするパンダ(@Panda_Program

今回は「ボブおじさん」のクリーンアーキテクチャについてお話ししてきました。プロポーザルを採択いただき、貴重な機会をいただけたこと感謝しています。 speakerdeck.com

これまでにも何度か登壇した経験はありましたが、今回はこれまででいちばん大きな会場で、たくさんの方にお話を届けることができ、嬉しかったです。

スライドはちょっと多めだったのですが、全体としてはいい流れで進められて、デモも成功して、自分としてもかなり満足のいく発表になりました。

会場の雰囲気はとても温かくて、差し込んだお笑いネタにもちゃんと反応していただけて(笑)、本当に話しやすかったです。発表後には「分かりやすかったです」「よかったです」と声をかけてくださる方もいて、少しでも誰かの参考になったなら何よりだなと思いました。

今回の発表は、自分の中では3部作の第2部という位置づけでした。

  • 第1部:モジュラーモノリスについて(各モジュールはクリーンアーキテクチャ)
  • 第2部(今回):クリーンアーキテクチャ
  • 第3部(次回):クリーンアーキテクチャで、ドメイン層とユースーケース層のコードをどう書くか

続きとなる第3部は、来月開催されるPHP Conference 2025でお話しする予定です。こちらも準備中です。

また、当日使用したスライドには、後半に付録もつけてあります。 当日会場でご覧いただいた方も、見逃してしまった方も、よければスライドを見返してもらえると嬉しいです!

現地で見たセッションを一部紹介

当日イベントに参加したFutoshi Endoさん、gatchan0807さん、Mashu Kushibikiさんに現地で見たセッションのうち特に気になったセッションのレポートをいただきました!

Rust製JavaScript/TypeScript Linterにおけるプラグイン実装の裏側 by unvalley さん @Capi

2025.tskaigi.org

BiomeのCoreメンバーであるunvalleyさんによるLinterの話です。TypeScriptの話しというより言語を支える技術の話です。

ESLintの話から始まり、Biomeが今後どこへ向かっているのかを知れました。他のLinterとの差分も説明いただけたのもよかったです。 難しい箇所はわかりやすく噛み砕いて説明いただけたのでツールチェインやRust、Linterのアルゴリズムに詳しくない自分でも話しに置いていかれることはほとんどありませんでした。

登壇を聞いてツールチェインとJavaScriptランタイムの関係性などJavaScripy/TypeScriptの深い領域に触れることができました。

Pragmatic Functional Programming in TypeScript by yasaichi さん by @Futoshi Endo

2025.tskaigi.org

関数型プログラミングにおける「5つの原則」を紹介しながら、その原則を実際にTypeScriptを例に統合し、活用できるスライドでした。

関数プログラミングにはあまり詳しくないのですが、サンプルコードを使った具体的な例があったので、個人的にもとても理解しやすい発表でした。

特に「Make illegal states unrepresentable」のルールは「型」で縛る、TypeScriptと相性が良いなと思いました。発表では全部のルールを厳密に適用するのではなく、これらの原則を部分的に適用することで効果が得られると語られていましたし、自分も実践したくなりました。

「TS特化Clineプログラミング」 by mizchi さん @Futoshi Endo

2025.tskaigi.org

mizchiさんの発表でTypeScriptを中心に、効果的なプロンプトの紹介と、実際に活用してみてうまく行った事、うまくいかなかった事を整理した上で本当に実践で活用できるTipsを紹介されてました。

現在、自分は社内でAIツールを導入したり、サポートする立場になっているので、「コード生成にスキルを寄せる」というのはとても刺さりましたし、まだまだやれる事があるなと思いました。

この発表を聞くまで自分の中では、AIをまだ"副操縦士"として扱っているというか、操縦士の席を譲る覚悟がなかったような気がします。 ただ、これからはコーディングの速度や生産量でいえば圧倒的にAIの方が発達していくのは目に見えているので、これからは"AIも操縦士"として扱ってスキルを学んで行こうと思いました。

AI Coding Agents Enablement in TypeScript by Yuku Kotani さん @gatchan0807

2025.tskaigi.org

UbieのYukuさんのこちらの発表が非常に印象に残りました!

まず冒頭で触れられた「解空間」の話は、生成AIを使った開発をする上で開発者間の共通認識として持つべき重要な概念だと改めて感じました。AIがコードを生成する際の可能性の範囲と、それをいかに適切に制約していくかという視点は、今後のAIとの協調において不可欠だと思っています。

特に学びがあったのは、解空間を適切に絞り込むためのツールやルールの重要性、そしてその実行速度がAgent時代における開発サイクルの速さに直結するというお話です。

AI Agentの高速なフィードバックループで真価を発揮するために型情報の扱いやLinterルールをAIに作らせるアイデアはAIの自律性を高める具体的な道筋として非常に興味深く、自分たちの環境にもいち早く取り組みたいポイントだなと思いました。

少し未来には当たり前になりそうなAIと共存する開発スタイルについての解像度が高まるとても素晴らしい発表でした。

技術書をソフトウェア開発する - jsprimerの10年から学ぶ継続的メンテナンスの技術 by azu さん @Mashu Kushibiki

2025.tskaigi.org

JS のオンライン技術書である JavaScript Primer を執筆・運営されている Azu さんの発表です。

JavaScript の仕様が変化するためが速いため、書籍もその変化に対応できるように作っているとのことでした。まず、段落や章ごとの依存関係を整理し、「既知から未知」の順に説明するしくみになっています。

この考え方は、ソフトウェア開発でいう部品の分け方や依存関係の管理と似ている、という説明でした。

つまり、技術書の執筆とメンテナンスをソフトウェア開発と同じ手法で進めているというのが今回の発表の趣旨でした。Ask the Speaker では、Azuさんがどうやってこうした発想にたどり着いたのかを直接聞けて、とても参考になりました(この部分については個人ブログで感想を書きました)。

オンライン版ではコード実行ボタンが何回押されたかを Google アナリティクスで計測するなど、デジタルならではの工夫も紹介され、非常に示唆に富む発表でした。

現地ブース

会場では各スポンサー企業のブースがありました。各社個性的なブースばかりでTSKaigiに向けてアンケート企画を作っていたりTSKaigi用にサービスを用意していました。

自分はダイニーさんのブースでアンケートに回答するともらえるレシート(自分の回答に値段がついていて合計金額が印字されている)、キーホルダー、扇子をいただきました。

ダイニーさんのブースでいただいたもの

おわりに

社員の登壇参加、協賛活動を通してTypeScriptコミュニティの盛り上がりに貢献でき、弊社としても大変有意義な時間となりました。スタッフの方々には業務でお忙しいにも関わらず、多くの時間をイベント準備へ注いでいただいたかと思います。この場を借りて御礼申し上げます。

BASEは現在エンジニア積極採用中です!興味がある方は採用情報もぜひご覧ください! binc.jp