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
SSG___CSRで乗り切るiframe内ルーティング_AIコーディング拡張版_in_...
Search
iWonder118
May 24, 2025
Technology
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSG___CSRで乗り切るiframe内ルーティング_AIコーディング拡張版_in_Funabashi.dev.pdf
iWonder118
May 24, 2025
More Decks by iWonder118
See All by iWonder118
多摩川.dev OP&ED
iwonder118
0
260
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTanStack Start比較
iwonder118
0
31
React Tokyo フェス 2026 の裏側
iwonder118
1
550
頑張ります!2026
iwonder118
0
74
イベント参加ふっかるになるための多摩川周辺.pdf
iwonder118
0
41
我々はなぜ中間表現を作るのか
iwonder118
0
870
OODAループを回すVibe_Coding.pdf
iwonder118
0
21
Reactで見る!純粋関数で深ぼる副作用
iwonder118
0
640
花開くWebAssembly(Wasm)の可能性 in 2025/06/21 まさるの勉強会
iwonder118
0
22
Other Decks in Technology
See All in Technology
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
160
フィジカル版Github Onshapeの紹介
shiba_8ro
0
230
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
180
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.3k
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
270
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
180
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
240
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
130
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
2
340
200個のGitHubリポジトリを横断調査したかった
icck
0
130
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
310
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
220
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
The Pragmatic Product Professional
lauravandoore
37
7.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Transcript
自己紹介 社内システムを改修したり、インフラを作ったり、APIを生やしたり...etc 趣味:トンチキ技術グッズを作ったり 河村 直樹(@iwonder118) かわむら なおき
グッズ①:Rustyなカニペンホルダー
グッズ②:Pug(Data dogの置物) ※余談:名前は「STRIKE JADE」Pug記法で JADE
グッズ新作!:ラバーDuckDB 上か見るとロゴに
SSG + CSRで乗り切るiframe内ルーティング in React Tokyo LT 2025/05/17 1. なんのために?
業務系SaaS (ローコード/ノーコードプラットフォー ム) の機能的なカスタム限界 ・要望が出る ↓ ・ローコード /ノーコードの範囲でなんとか対応して みる ↓ ・とりあえずは納得してくれるが、画面構成上の都 合や業務 (ドメイン )などで細かいカスタムが必要に なる ↓ ・カスタム画面を作るしかないか ...←イマココ 大抵の業務系SaaSには外部リンク先をiframeで埋 め込める機能がある 2. どうやって? ・ Next.jsでSSGして、それをホスティング ・1つのパスのページ内でクライアントコンポーネン トを切り替えてルーティング 3. メリット ・共通コンポーネントを使って、複数の SPA画面を作 れる (1つのパスで1SPA) ・基本はSaaSのAPIで取得したデータを状態管理で API呼び出しを削減 ・今後、画面自体が肥大化し、別システム化すると きのリスクヘッジ ・CI/CDのパイプラインの恩恵 (SaaS依存の外) 4. 気をつけるところ ・SaaS独自ライブラリが親ページと内部 iframeと通 信機能のグローバル変数考慮 ・CRSですべてやるがゆえの状態管理とレンダリン グ対策 今回のターニングポイントは 画面遷移で状態を持つかどうか
8割(約2万行/1.5ヶ月)ぐらいをAI生成の Vibe Coding 1. 使ったもの ・v0 複雑な機能のコンポーネントがすぐに出力されるあ りがたみ (例:ソート機能を持ちつつ、カラムごとにドラッグア ンドドロップで並び変更ができるテーブル
) ・Cline (Anthropic 3.7) 言わずと知れたコーディングエージェント 2. 前提 ・画面のリプレース 生のJavascriptで作った画面(HTML 1000行、 JS 1500行 + Tailwind)はあった ・フロントエンドのスキル感 React、Next.js、TypeScriptは趣味で触っていて、 ジュニアに毛が生えた程度 3. 結果 ・useEffectまつり コンテキストに含んでいない state更新による循環更 新で無限ループクラッシュ ・重複コードの乱立 〇〇を参考にと言うとそのまま使い始める 生成された2万行ぐらいの内、20%ぐらいは減らせ られるのではないか Reactで書きたいのに元の Dom操作実装に引っ張 られる ・応答が遅い、金がかかる 生のJavascriptで作った画面をコンテキストとすると ウィンドウに収まらない 毎日5ドルを消費 合計で170ドル(2万円)ぐらい飛ん でった思い出
良かったところ ・なんとか動くものが作れる 詰まらずになんとか動くものができた ・知らないことを取り組む自信 なんとかなるだろうという変な自信で、1歩目が踏み出しやすくなった プログラミングを始めたてのときの万能感 (が得られれるかも...?)
つらみ① ・初速は速いがそれを維持できない
つらみ① ・初速は速いがそれを維持できない AIが書いたコードの理解 得られた効果 プログラマのコード Anthropicから の請求金額 (本来するべきだった) コードのデザイン 設計
AI驚き屋の表現、約束
つらみ② ・Next.jsのnpm run devとの相性が最悪 上から順にすべて書き換えてくので、そのたびに走るビルド 落ちるコンテナ 負荷のかかるボリューム、I/O ・コミットのタイミングを見失う 〇〇画面と〇〇機能+〇〇を修正みたいなコミットになってしまった ・理解していないコードのバグ修正
なんか知らないけど動いているコードの修正 意図していないところでバグが起きている モダンな構成なのにレガシーコードを修正している感覚
工夫点 ・コンポーネントごとの適切な要件の切り出し 体感200行ぐらいが限度 1000行を超えると応答でファイルが途切れだして無限修正課金編 ・SSGのファイルを配信で回避 AIの修正後に毎回ビルド 小さい画面規模なのでなんとかなる (10秒程度)が今後、ここの待ち時間が増大するおそれ ・AIの書いたコードを無視する勇気 とりあえず動いてくれて、それ改修していきたい気持ちが強くなる
(資産と錯覚する)が それよりも自分で制御できるところを増やす (AIのコーディング量)富豪プログラミング
教訓 ・習った漢字は書けなくても、読めるし、日常生活で使う (感覚でのコーディングになっていく?) ....が、初めて見る漢字は読めないし、使えない ・コードの 3定(定置・定品・ 定量) 最適なコードコンテキスト量の制御 (お金と精度 )のため
余談 朝9時過ぎにアクセスが多いのか、 APIのリクエストを受け付けなくなる