Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TRIAL Meetup#1
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
株式会社ヌーラボ
PRO
December 18, 2025
Technology
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TRIAL Meetup#1
株式会社ヌーラボ
PRO
December 18, 2025
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
350
進化するBits AI SREと私と組織
nulabinc
PRO
4
810
実践 Datadog MCP Server
nulabinc
PRO
4
810
全社横断PjM⽀援チーム “PEaS”の取り組みと プロジェクトマネジメント でのAI活⽤について
nulabinc
PRO
0
190
Datadog の RBAC のすべて
nulabinc
PRO
4
850
Datadog Live Tokyo 2025登壇資料
nulabinc
PRO
0
180
How to Migrate Your Backlog Free Plan
nulabinc
PRO
0
250
チームワークマネジメント Bar #5
nulabinc
PRO
0
97
Geeks Who Drink Fukuoka - 202508
nulabinc
PRO
0
73
Other Decks in Technology
See All in Technology
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
130
Claude Codeとハーネスについて考えてみる
oikon48
19
9.5k
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
250
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
940
AICoEでAIネイティブ組織への進化
yukiogawa
0
180
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.8k
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
200
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.9k
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
130
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.5k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
180
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
AI: The stuff that nobody shows you
jnunemaker
PRO
8
830
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Transcript
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Tuesday, October 21st, 2025 at 7:00 PM JST TRIAL Meetup #1 〜最近トライした技術〜 Claude Code × Codemod でライブラリ移行をやりきる 株式会社ヌーラボ 田村 亮弥
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 7月にヌーラボへ入社 🐣 前職はフロントエンド領域のエンジニアリングマネージャー。 フロントエンドまわりの仕様、ベストプラクティス、ライブラリの変遷を 追いかけるのが楽しい。 先々週から1000ピースパズルに挑戦中 (35%くらい)。 2 田村 亮弥 株式会社ヌーラボ (Nulab Inc.) サービス開発部 Backlog Unit 𝕏 @lollipop_onl
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. イントロ 3
Copyright Nulab Inc. All Rights Reserved. なんのはなし? 4 - Backlog
のフロントエンドでは スキーマライブラリ として myzod が使われていた - エコシステムの充実度 や 標準化の動き に対応するため Zod を利用したい - 平行する開発を止めずに迅速かつ安全に myzod を Zod に置き換える必要があった 値の型が期待するものであるかを チェックできるライブラリ Zod に近いインターフェースで 機能が限定的な一方、 処理が高速なライブラリ フォームのバリデーションとか APIレスポンスの自動チェックとか Standard Schema という 標準化プロジェクトがある
Copyright Nulab Inc. All Rights Reserved. やったこと 1. 移行できるかを調べる 2.
移行ツールを実装する 3. 手動移行を Claude Code にやらせる 4. 誰でも移行ができるようにする 5
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 移行できるかを調べる 6
Copyright Nulab Inc. All Rights Reserved. ベンチマークをとる 7 移行して性能劣化が発生しないかどうかを 調べる
。 - myzod latest - Zod 3.2.0 - Zod 3 latest - Zod 4 latest https://github.com/lollipop-onl/zod-vs-myzod-benchmark myzodのベンチマークなので 有利不利はあるものの...
[email protected]
で著しく性能劣化が起こり 最新では改善していることが分かる ベンチマークツールで同等のコードを実行し てサンプルから大体の秒間実行回数を得る
Copyright Nulab Inc. All Rights Reserved. ベンチマークをとる 8 わかったこと: -
myzod が超絶に早い - Zod の特定バージョンのみ性能劣化が激しかった - Zod 3 の最新版でも一般的なアプリケーションにとっては十分な速度が出ること
Copyright Nulab Inc. All Rights Reserved. Backlog で使われているメソッドを調べる 移行対象のメソッドを絞るため、TypeScript Compiler
API を使った ツールを作成 。 https://github.com/lollipop-onl/find-myzod-schema 9 355ファイルで62種類6,488 個の メソッドが使われていた TypeScript Compiler API で型情報から 利用状況を収集
Copyright Nulab Inc. All Rights Reserved. Backlog で使われているメソッドを調べる わかったこと: -
単純移行できなかったり性能面で懸念があったりするメソッドの利用は限定的 - スキーマの定義は多数のファイルに渡る 10
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 移行できそう! 11 件数は多いけど...
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 12 移行ツールを実装する
Copyright Nulab Inc. All Rights Reserved. Codemod とは 13 『コードを
抽象構造木 (AST) として扱い、安全に自動リファクタリングするツール』 AST は Abstract Syntax Trees の 略 コードを構造として解析・変更でき る
Copyright Nulab Inc. All Rights Reserved. 1. zod-v3-to-v4 という Codemod
の実装を参照させる 2. myzod と Zod の互換性を調査させる 3. 開発環境を用意する 4. 移行するコードのパターンを一覧化してテストシナリオを書き出させる 5. Red-Green-Refactor サイクルで TDD させる https://github.com/lollipop-onl/myzod-to-zod 14 なるべく Claude Code に実装させるためのプラン
Copyright Nulab Inc. All Rights Reserved. - 参考にした設計や移行の方針などは Claude Code
に事前に調査させる - 暫定的な調査結果は reports/ に日本語で - 恒久的に必要になりそうなものは docs/ に - 意図しない挙動を抑止 15 ドキュメントは書き出させる
Copyright Nulab Inc. All Rights Reserved. - 移行前後のコードをテストシナリオとして用意させる - シナリオごとに
README を作成させて、意図するテストがされているか把握 16 人間にとってわかりやすいテスト設計
Copyright Nulab Inc. All Rights Reserved. - @t_wadaの実装プロセスで進めて で Red-Green-Refactor
サイクル になる - まずテストで実装しようとしているものを把握できるため、手戻りが少なくて済む - リファクタリングフェーズは視野が狭いものになりがち 17 TDD は t_wada プロンプトで Red(失敗するテストを作成)→Green(テストが成功する実装を行う) →Refactor(実装をリファクタリングする)の順で機能実装を行うアプロー チ 動作優先の実装で進めたので アップデートするときに課題になるかも
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. だいたい移行できた! 18
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 19 手動移行を Claude Code にやらせる
Copyright Nulab Inc. All Rights Reserved. パース結果のエラーのインターフェースが大きく異なるため、手動の移行が必要になった。 - Codemod を書かせるのも複雑になりそう
- かといってすべて手動でやるには量が多い 20 Codemod の実装が複雑になる移行 →
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Codemod と Claude Code を併用しよう! 21
Copyright Nulab Inc. All Rights Reserved. 手動で置き換えができないコードを出力させ Claude Code に渡しやすくする
- 移行ガイドへのリンクも含める 22 手動移行が必要な箇所を出力させる
Copyright Nulab Inc. All Rights Reserved. Claude Code 上で Codemod
を実行して、結果を基に手動移行をやらせる 1. ! npx @lollipop-onl/myzod-to-zod “*.{ts,tsx}” --quiet --write 2. ` 結果を基に手動移行を実施 3. 型チェックやテストがパスすることを確認 23 Claude Code に手動移行をやらせる
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 完全移行できた! 24
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 25 誰でも移行ができるようにする
Copyright Nulab Inc. All Rights Reserved. Claude Code Command を用意する
26 - Claude Code には再利用可能なコマンドを定義できる機能がある - 移行に必要なプロセスをコマンドとして定義して誰でも移行が実行できるようにする
Copyright Nulab Inc. All Rights Reserved. 27
Copyright Nulab Inc. All Rights Reserved. 28
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. だれでも移行できる ようになった! 29
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 30 〆
Copyright Nulab Inc. All Rights Reserved. まとめ 31 - Claude
Code に捨てる予定のコードを書かせるのは楽しい! - Codemod を実装させることで漏れなく移行させられる - Codemod で実現しづらい変更はプロンプトで変更させるのはアリ - t_wada プロンプトによる TDD はお手軽 - Claude Code Commands で指示を共有可能な形にすれば再現性のある作業ができる • https://github.com/lollipop-onl/zod-vs-myzod-benchmark • https://github.com/lollipop-onl/find-myzod-schema • https://github.com/lollipop-onl/myzod-to-zod