Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nxはファーストプロダクトから使ってほしい
Search
KOHETs
March 17, 2025
Programming
62
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nxはファーストプロダクトから使ってほしい
イベント名:Startup Angular #9 バレンタインLT会
イベントURL:
https://voicy.connpass.com/event/342447
KOHETs
March 17, 2025
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
Jetpack Compose Mechanisms
skydoves
3
820
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
sbt 2.0: takeoff
eed3si9n
0
160
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Railsバージョンを4倍にした話
optim
0
350
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
290
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Making Projects Easy
brettharned
120
6.8k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
How to Talk to Developers About Accessibility
jct
2
580
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
A Soul's Torment
seathinner
8
3.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Become a Pro
speakerdeck
PRO
31
6.3k
Transcript
Nxはファーストプロダクトから使ってほしい 株式会社Hubble 齋藤 航平 バ レ ン タ イ ン
L T 会 00
自 己 紹 介 01 @KOHETs 株式会社 Hubble - Frontend
Engineer 齋藤 航平 AngularJSの頃から10年近くAngularばかりやってます
会 社 紹 介 02
皆さんはNx使ってますか? は 何 が 出 来 る ? 03
Nxでできること は 何 が 出 来 る ? 04 開発速度の最適化
🚀 ❖ 影響範囲分析による無駄な処理の削 減 ❖ 並列実行とキャッシュによる CI/CDの 高速化 ❖ 大規模プロジェクトでもスムーズな動 作 コード品質の維持 🛠 ❖ カスタムルールやジェネレーターによ る統一感の確保 ❖ モノレポ環境での一貫した開発フ ローの実現 ❖ リンターやフォーマッターの組み込み による品質管理 開発環境の最新化 🔄 ❖ StorybookやPlaywrightなどの簡単 な導入 ❖ 依存関係の自動更新によるメンテナ ンスの軽減 ❖ プラグイン活用による開発環境の最 適化
Nxでできること は 何 が 出 来 る ? 04 開発速度の最適化
🚀 ❖ 影響範囲分析による無駄な処理の 削減 ❖ 並列実行とキャッシュによるCI/CD の高速化 ❖ 大規模プロジェクトでもスムーズな動 作 コード品質の維持 🛠 ❖ カスタムルールやジェネレーターによ る統一感の確保 ❖ モノレポ環境での一貫した開発フ ローの実現 ❖ リンターやフォーマッターの組み込み による品質管理 開発環境の最新化 🔄 ❖ StorybookやPlaywrightなどの簡単 な導入 ❖ 依存関係の自動更新によるメンテナ ンスの軽減 ❖ プラグイン活用による開発環境の最 適化
の 影 響 範 囲 分 析 が 凄 い
05 App Lib 1 Lib 2 Lib 1.1 Lib 1.2 Lib 2.2 Lib 2.1 Lib 1.1.1 Lib Shared
の 影 響 範 囲 分 析 が 凄 い
05 App Lib 1 Lib 2 Lib 1.1 Lib 1.2 Lib 2.2 Lib 2.1 Lib 1.1.1 Lib Shared
の 影 響 範 囲 分 析 が 凄 い
05 App Lib 1 Lib 2 Lib 1.1 Lib 1.2 Lib 2.2 Lib 2.1 Lib 1.1.1 Lib Shared
の 影 響 範 囲 分 析 が 凄 い
05 App Lib 1 Lib 2 Lib 1.1 Lib 1.2 Lib 2.2 Lib 2.1 Lib 1.1.1 Lib Shared
の 影 響 範 囲 分 析 が 凄 い
05 App Lib 1 Lib 2 Lib 1.1 Lib 1.2 Lib 2.2 Lib 2.1 Lib 1.1.1 Lib Shared
Test の 並 列 実 行 と キ ャ ッ
シ ン グ も 凄 い 06 CIで直列実行する場合は時間がかかる Lint Build
Test の 並 列 実 行 と キ ャ ッ
シ ン グ も 凄 い 06 並列実行で時間短縮 Lint Build
Test Idle Time の 並 列 実 行 と キ
ャ ッ シ ン グ も 凄 い 06 並列化しても待ち時間は避けられない Lint Idle Time Build
の 並 列 実 行 と キ ャ ッ シ
ン グ も 凄 い 06 Nxを利用してライブラリに分割
の 並 列 実 行 と キ ャ ッ シ
ン グ も 凄 い 06 Nx Cloudで分散・並列実行される
の 並 列 実 行 と キ ャ ッ シ
ン グ も 凄 い 06 影響範囲分析で必要なものだけ実行される
の 並 列 実 行 と キ ャ ッ シ
ン グ も 凄 い 06 すでに実行されてたことがある場合はキャッシュを利用
Nxはファーストプロダクトから使ってほしい 今 日 の 本 題 07 なぜなら… Angularのルーティング と相性が良いから!
の デ ィ レ ク ト リ と ル I
テ ィ ン グ 08 # directory structure first-app └─ src └─ app ├─ core ├─ heroes │ └─ heroes.routes.ts ├─ shared ├─ villains │ └─ villains.routes.ts ├─ app.component.ts └─ app.routes.ts // app.routes.ts const routes: Route[] = [ { path: 'heroes', loadChildren: () => import('./heroes/heroes.routes ') .then(m => m.heroesRoutes) }, { path: 'villains', loadChildren: () => import('./villains/villains.routes ') .then(m => m.villainsRoutes ) }, { ... } ];
こ う 変 わ る だ け 09 # directory
structure org ├─ apps/first-app │ └─ src/app │ ├─ app.component.ts │ └─ app.routes.ts └─ libs/first-app ├─ core │ └─ src/lib ├─ heroes │ └─ src/lib │ └─ heroes.routes.ts ├─ shared │ └─ src/lib └─ villains └─ src/lib └─ villains.routes.ts ※ ディレクトリ構造は自由に設定可能 // app.routes.ts const routes: Route[] = [ { path: 'heroes', loadChildren: () => import('@org/first-app/heroes/heroes.routes ') .then(m => m.heroesRoutes) }, { path: 'villains', loadChildren: () => import('@org/first-app/villains/villains.routes ') .then(m => m.villainsRoutes ) }, { ... } ];
H U B B L E の 現 在 10
202 Libraries 10 Applications 35m 33s Recent execution time includes all tasks 4h 55m 47s Total execution time of all machines of above
成 長 と と も に 感 じ る 恩
恵 11 開発速度の最適化 🚀 ❖ 影響範囲分析による無駄な処理の 削減 ❖ 並列実行とキャッシュによるCI/CD の高速化 ❖ 大規模プロジェクトでもスムーズな動 作 コード品質の維持 🛠 ❖ カスタムルールやジェネレーターによ る統一感の確保 ❖ モノレポ環境での一貫した開発フ ローの実現 ❖ リンターやフォーマッターの組み込み による品質管理 開発環境の最新化 🔄 ❖ StorybookやPlaywrightなどの簡単 な導入 ❖ 依存関係の自動更新によるメンテナ ンスの軽減 ❖ プラグイン活用による開発環境の最 適化
成 長 と と も に 感 じ る 恩
恵 11 開発速度の最適化 🚀 ❖ 影響範囲分析による無駄な処理の削 減 ❖ 並列実行とキャッシュによる CI/CDの 高速化 ❖ 大規模プロジェクトでもスムーズな 動作 コード品質の維持 🛠 ❖ カスタムルールやジェネレーターに よる統一感の確保 ❖ モノレポ環境での一貫した開発フ ローの実現 ❖ リンターやフォーマッターの組み込み による品質管理 開発環境の最新化 🔄 ❖ StorybookやPlaywrightなどの簡単 な導入 ❖ 依存関係の自動更新によるメンテナ ンスの軽減 ❖ プラグイン活用による開発環境の最 適化
お わ り END ご清聴ありがとうございました