- 2025/5/24
- https://2025.tskaigi.org/
TypeScriptネイティブ移植観察レポート TSKaigi 2025
berlysiaさん
https://speakerdeck.com/berlysia/typescript-native-porting-observation-tskaigi-2025
- tsのgo実装
- v7からgo実装になる
- v5とv6までは今までの
- どこが早くなるか
- TypeScriptCompilerの部分
- JSでの実装の限界
- 大規模だとOOMが起きたり
- 関数の1対1レベルのgoへの移植
- 型チェッカーは後方互換性が必須
- 10倍の内訳
- 互換性
- 99.99%を目指している
- 開発スピードが速い
- 構文変換ツール
- goにない要素もあって全てを表現できないので修正は必要
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
- CSS Modules
- Language Server Protocol(LSP)
- 各言語ごとにLanguage Serverが実装されている
- エディタはLanguage Serverを通してユーザに情報を提供している
- 仕様に従ってればどんなエディタでも動く
- tsとcssはそれぞれ別のLanguage Server
- React CSS modules
- CSS Modules Kit
複雑なフォームを継続的に開発していくための技術選定・設計・実装
izumin5210さん
https://speakerdeck.com/izumin5210/number-tskaigi2025
- フォームの作り方
- jotai
- ロジックをUIと分離できるといい
- 値でいいものは値として扱う
技術書をソフトウェア開発する - jsprimerの10年から学ぶ継続的メンテナンスの技術
azuさん
https://azu.github.io/slide/2025/tskaigi/jsprimer.html
- jsprimerなぜメンテし続けてるか
- JSの仕様が変化し続けているから
- 書籍もメンテナンスしないと古くなってしまう
- web板がliving standardで書籍はスナップショット
- どうやって更新し続けてるか
- 扱うスコープを絞る
- 書きやすさよりも読みやすさ
- 既知の言葉で未知を説明する
- いきなり未知の言葉が出るとそこで止まってしまう
- サンプルコードの自動テスト
- textlintで校正と統一
- 全体を可視化
- 章ごとの文章量
- リンクして依存してる章の関係
- 全てオープンスース
- 分析
- メトリクスをとってる
- 読まれ方
- コードを実行されてるか
- 問題を報告するフォームから連絡されてるか
ts-morphで、人間も編集できるコード生成を実現しよう!
池奥裕太/@yuta-ikeさん
https://www.docswell.com/s/4136989/K7RPN6-2025-05-24-135029
- 自動生成ファイル
- 自動生成ファイルに手を入れたい
- 手動ファイルをimportして使う処理を自動ファイルに入れる
- スキーマ駆動開発
- 自動生成ファイルの差分更新
- 現状の実装とOpenAPIを比較して差分だけ更新するようにする
- ASTを見て差分を特定する
- ts-morphを使う
機能的凝集の概念を用いて複数ロール、類似の機能を多く含むシステムのフロントエンドのコンポーネントを適切に分割する
- UIコンポーネントの分け方
- 凝集度
- 単一の目的にどれだけ集中してるかの度合い
- 論理的凝集
- 似た処理をフラグで条件を切り替える
- コードが増えると複雑性が増す
- 機能的凝集
- モジュール全体を単一の目的のためにする
- コードの重複が起きる
TS特化Clineプログラミング
mizchiさん
https://tskaigi.mizchi.workers.dev/
- うまくいくプロンプト
- 結論
- 書きすぎないこと
- 出力例をとにかく例示
- 両立条件の矛盾を避ける
- TDDが大事
- 修正を継ぎ足すと壊していくし壊れたことに気づいてくれない
- 壊れたことに気がついて自律的に回復させてほしい
- コンテキストをコードに残して維持させる
- どういう気持ちでそのコードを書いたかコメントを書かせる
- in source testingもきく
- ファイルが肥大化しやすくて800-1000行で止まる
- type.tsにドメインの型を集約
- ts + 関数型ドメインモデリング
- classだと内部状態が増えてしまう
- 人間でも辛いがAIでも精度が落ちる
- ファイル配置規則を明記
- 明記しないと推測し始める
- 詳細に書きすぎると無視される
- 分割してどこにあるかだけ書いておく
- 必要なときに参照するよう指示する
- Copilotだと
- 型定義をピン度目しておくと優先的に見てくれる
- コメントから書き始めるといい
- テストカバレッジ100%目指せと言って書かせまくる
- 採用できないものも多いがいい
- 似たAPIのライブラリを置き換えるのは得意
- 結論
- うまくいかないプロンプト