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
Nxはファーストプロダクトから使ってほしい
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
KOHETs
March 17, 2025
Programming
0
60
Nxはファーストプロダクトから使ってほしい
イベント名:Startup Angular #9 バレンタインLT会
イベントURL:
https://voicy.connpass.com/event/342447
KOHETs
March 17, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
130
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
22
7.6k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
110
Fluid Templating in TYPO3 14
s2b
0
140
2026年 エンジニアリング自己学習法
yumechi
0
140
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.8k
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
PRO
0
130
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
290
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
160
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Context Engineering - Making Every Token Count
addyosmani
9
670
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Deep Space Network (abreviated)
tonyrice
0
70
HDC tutorial
michielstock
1
400
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
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 ご清聴ありがとうございました