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
220
1
Share
20260204_Midosuji_Tech
Takuya Yonezawa
February 04, 2026
More Decks by Takuya Yonezawa
See All by Takuya Yonezawa
20260422_Midosuji_Tech
takuyay0ne
2
29
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
460
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
660
20260129_CB_Kansai
takuyay0ne
1
330
20260126_JAWS_Osaka
takuyay0ne
1
50
こんな時代だからこそ! 想定しておきたいアクセスキー漏洩後のムーブ
takuyay0ne
4
740
セキュリティは全員参加!_JAWSのイベントサイトで脅威モデリングを学んでみよう!
takuyay0ne
0
190
20250920_ServerlessDays
takuyay0ne
9
4.3k
20250913_JAWS_sysad_kobe
takuyay0ne
2
410
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
7.3k
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
360
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
7
1.3k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
210
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
320
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
350
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
120
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
150
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
120
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
170
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
340
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
WCS-LA-2024
lcolladotor
0
540
Marketing to machines
jonoalderson
1
5.2k
Writing Fast Ruby
sferik
630
63k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Un-Boring Meetings
codingconduct
0
270
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
440
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.