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
株式会社ヌーラボ
PRO
December 18, 2025
Technology
63
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
340
進化するBits AI SREと私と組織
nulabinc
PRO
4
740
実践 Datadog MCP Server
nulabinc
PRO
4
740
全社横断PjM⽀援チーム “PEaS”の取り組みと プロジェクトマネジメント でのAI活⽤について
nulabinc
PRO
0
190
Datadog の RBAC のすべて
nulabinc
PRO
4
810
Datadog Live Tokyo 2025登壇資料
nulabinc
PRO
0
170
How to Migrate Your Backlog Free Plan
nulabinc
PRO
0
250
チームワークマネジメント Bar #5
nulabinc
PRO
0
89
Geeks Who Drink Fukuoka - 202508
nulabinc
PRO
0
69
Other Decks in Technology
See All in Technology
AIのReact習熟度を測る
uhyo
2
550
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
370
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
170
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
100
AIエージェントが名古屋の猛暑からあなたを守る
happysamurai294
0
120
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.9k
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
1
270
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
130
AIはどのように 組織のアジリティを変えるのか?
junki
3
790
Snowflakeと仲良くなる第一歩
coco_se
4
470
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Building Applications with DynamoDB
mza
96
7.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
BBQ
matthewcrist
89
10k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
A better future with KSS
kneath
240
18k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
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