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
20260204_Midosuji_Tech
Search
Takuya Yonezawa
February 04, 2026
Technology
1
180
20260204_Midosuji_Tech
Takuya Yonezawa
February 04, 2026
Tweet
Share
More Decks by Takuya Yonezawa
See All by Takuya Yonezawa
20260129_CB_Kansai
takuyay0ne
1
300
20260126_JAWS_Osaka
takuyay0ne
1
38
こんな時代だからこそ! 想定しておきたいアクセスキー漏洩後のムーブ
takuyay0ne
4
720
セキュリティは全員参加!_JAWSのイベントサイトで脅威モデリングを学んでみよう!
takuyay0ne
0
170
20250920_ServerlessDays
takuyay0ne
9
4.1k
20250913_JAWS_sysad_kobe
takuyay0ne
2
390
20250719_JAWS_kobe
takuyay0ne
1
310
20250708_JAWS_opscdk
takuyay0ne
2
240
20250509_reCheers
takuyay0ne
1
240
Other Decks in Technology
See All in Technology
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
190
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
140
vol11_ねこIoTLT_お遊びVibeCoding
1027kg
0
180
ローカルでLLMを使ってみよう
kosmosebi
0
190
Scrum Fest Morioka 2026
kawaguti
PRO
2
610
教育現場のプロンプトエンジニアリング問題を 解決するAIエージェントを作成してみた
ryoshun
0
120
EKSで実践する オブザーバビリティの現在地
honmarkhunt
2
300
AITuberKit+Bedrock AgentCoreで作る 3Dキャラクターエージェント
yokomachi
2
1.6k
あすけん_Developers_Summit_2026_-_Vibe_Coding起点での新機能開発で__あすけん_が乗り越えた壁.pdf
iwahiro
0
740
Claude Codeと駆け抜ける 情報収集と実践録
sontixyou
1
890
【2026年版】生成AIによる情報システムへのインパクト
taka_aki
0
170
『誰の責任?』で揉めるのをやめて、エラーバジェットで判断するようにした ~感情論をデータで終わらせる、PMとエンジニアの意思決定プロセス~
coconala_engineer
0
1.7k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
The Language of Interfaces
destraynor
162
26k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The SEO Collaboration Effect
kristinabergwall1
0
370
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Rails Girls Zürich Keynote
gr2m
96
14k
Making Projects Easy
brettharned
120
6.6k
How STYLIGHT went responsive
nonsquared
100
6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The Invisible Side of Design
smashingmag
302
51k
From π to Pie charts
rasagy
0
140
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
1 © 2026 Japan Digital Design, Inc. Takuya Yonezawa 2026.02.04
Reactぱふぉちゅー Midosuji Tech#8
2 © 2026 Japan Digital Design, Inc. 米澤 拓也 Software
Engineer Technology & Development Div. and Corporate Culture室 プロフィール SWEだが、案件でやってるシステムのAWSリソースが増えまくって インフラ専任になりつつある人(現在 800リソースくらい on CDK) Community Builder (Serverless) 2023~ 一言:何故かバズった takuya_y0ne
3 © 2026 Japan Digital Design, Inc. VercelさんがReactのべスプラSkillを公開した https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices
4 © 2026 Japan Digital Design, Inc. CRITICAL / HIGH
/ MEDIUM / LOW パフォーマンスへのインパクトごとにプラクティスが整理されている
5 © 2026 Japan Digital Design, Inc. 私の独断で気になるものを紹介
6 © 2026 Japan Digital Design, Inc. 1 バレルを避けよう CRITICAL
7 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で
まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイル
8 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で
まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが 無い 時 import文をいっぱい書かないといけない
9 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で
まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが ある 時 impor文を1つにまとめられてスッキリ!
10 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で
まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが ある 時 import文をいっぱい書かないといけない
11 © 2026 Japan Digital Design, Inc. 「バレル良さそうやんけ!」 と思ったそこの貴方、少し待って
12 © 2026 Japan Digital Design, Inc. 巨大ライブラリからバレルインポートすると話が少し違う バレル バレル
バレル コンポーネント Check X Menu バレル経由のインポートだと 余計なファイルまで読み込んでしまう
13 © 2026 Japan Digital Design, Inc. 巨大ライブラリからバレルインポートすると話が少し違う コンポーネント Check
X Menu 直インポートだと余計なファイルを 読み込まないので早い
14 © 2026 Japan Digital Design, Inc. バレルでの一括エクスポートを使うなら… ↓ 高凝集にする
(= exportされているファイルがまとめて使われる状態)
15 © 2026 Japan Digital Design, Inc. 【所感】 TypeScriptはビルドするとJavaScriptに依存部分だけ よしなにバンドルしてくれるので
コードの読みやすさ vs ローカルでの開発時の速さ/ビルドの早さ なのかなと思う
16 © 2026 Japan Digital Design, Inc. 2 async/awaitのパラレル化 CRITICAL
17 © 2026 Japan Digital Design, Inc. 例えば APIからデータを拾ってきたうえで画面描画を行うケース
18 © 2026 Japan Digital Design, Inc. 良いパターン いまいちなパターン すべて直列で処理を行う
並列で処理を行う fetchUser() fetchPosts() fetchComments() Time fetchUser() fetchPosts() fetchComments() Time
19 © 2026 Japan Digital Design, Inc. http://localhost:3000/async-await 【デモ】 http://localhost:3000/async-await-all
20 © 2026 Japan Digital Design, Inc. APIコールが別のAPIコールに依存するパターンは better-allなどを使おう Promiseの依存関係が増えた時にチューニングが辛くなる
https://github.com/shuding/better-all
21 © 2026 Japan Digital Design, Inc. better-all が 無い
時 better-all が ある 時
22 © 2026 Japan Digital Design, Inc. 3 モジュールの条件付き読み込み HIGH
23 © 2026 Japan Digital Design, Inc. 機能が 必要になった/呼び出された タイミングでモジュールを読み込む
↓ データ転送量の削減 初期レンダリングの高速化
24 © 2026 Japan Digital Design, Inc. パフォーマンス向上って観点だと正しい気もするが、 コードのリーダビリティが。。
25 © 2026 Japan Digital Design, Inc. Suspense + Lazy
Loadを使って 描画速度を向上させること自体は昔からあるし、アンチパターンではない
26 © 2026 Japan Digital Design, Inc. 条件付き読み込みは用法用量を守ろう 過剰な採用はリーダビリティを損なうことに
27 © 2026 Japan Digital Design, Inc. 4 データが多いときの content-visibility
HIGH
28 © 2026 Japan Digital Design, Inc. content-visibility? CSSのプロパティの1つ ▪
autoに設定すると。。 画面外(viewport外)に配置される コンポーネントのレイアウト処理を スキップさせることができる → 画面の初期描画速度が向上する (LCP : Largest Contentful Paint) (※) DOMツリー上には存在するので、 Accessibility/SEO的な問題はない View Port レイアウト計算やる レイアウト計算やる レイアウト計算やる レイアウト計算やる レイアウト計算スキップ レイアウト計算スキップ レイアウト計算スキップ
29 © 2026 Japan Digital Design, Inc. http://localhost:3000/content-visibility 【デモ】 http://localhost:3000/no-content-visibility
30 © 2026 Japan Digital Design, Inc. 5 まとめ
31 © 2026 Japan Digital Design, Inc. フロントエンドはユーザーとの信頼関係を築くレイヤー 処理が早いとユーザーは嬉しい!!!
Thank you. 32 © 2026 Japan Digital Design, Inc.