Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20260204_Midosuji_Tech

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 20260204_Midosuji_Tech

Avatar for Takuya Yonezawa

Takuya Yonezawa

February 04, 2026
Tweet

More Decks by Takuya Yonezawa

Other Decks in Technology

Transcript

  1. 1 © 2026 Japan Digital Design, Inc. Takuya Yonezawa 2026.02.04

    Reactぱふぉちゅー Midosuji Tech#8
  2. 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. 4 © 2026 Japan Digital Design, Inc. CRITICAL / HIGH

    / MEDIUM / LOW パフォーマンスへのインパクトごとにプラクティスが整理されている
  4. 7 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で

    まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイル
  5. 8 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で

    まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが 無い 時 import文をいっぱい書かないといけない
  6. 9 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で

    まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが ある 時 impor文を1つにまとめられてスッキリ!
  7. 10 © 2026 Japan Digital Design, Inc. バレル? ディレクトリ内のコンポーネントや 関数をバレルファイル(index.ts)で

    まとめてエクスポートするデザイン パターン 別ディレクトリからインポートする 際には、バレルファイル1つを参照す ればOKとなる → コードがスッキリする! バレルファイルが ある 時 import文をいっぱい書かないといけない
  8. 12 © 2026 Japan Digital Design, Inc. 巨大ライブラリからバレルインポートすると話が少し違う バレル バレル

    バレル コンポーネント Check X Menu バレル経由のインポートだと 余計なファイルまで読み込んでしまう
  9. 14 © 2026 Japan Digital Design, Inc. バレルでの一括エクスポートを使うなら… ↓ 高凝集にする

    (= exportされているファイルがまとめて使われる状態)
  10. 15 © 2026 Japan Digital Design, Inc. 【所感】 TypeScriptはビルドするとJavaScriptに依存部分だけ よしなにバンドルしてくれるので

    コードの読みやすさ vs ローカルでの開発時の速さ/ビルドの早さ なのかなと思う
  11. 18 © 2026 Japan Digital Design, Inc. 良いパターン いまいちなパターン すべて直列で処理を行う

    並列で処理を行う fetchUser() fetchPosts() fetchComments() Time fetchUser() fetchPosts() fetchComments() Time
  12. 25 © 2026 Japan Digital Design, Inc. Suspense + Lazy

    Loadを使って 描画速度を向上させること自体は昔からあるし、アンチパターンではない
  13. 28 © 2026 Japan Digital Design, Inc. content-visibility? CSSのプロパティの1つ ▪

    autoに設定すると。。 画面外(viewport外)に配置される コンポーネントのレイアウト処理を スキップさせることができる → 画面の初期描画速度が向上する (LCP : Largest Contentful Paint) (※) DOMツリー上には存在するので、 Accessibility/SEO的な問題はない View Port レイアウト計算やる レイアウト計算やる レイアウト計算やる レイアウト計算やる レイアウト計算スキップ レイアウト計算スキップ レイアウト計算スキップ