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
Progressive Nest
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jecelyn Yeen
October 18, 2018
Programming
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Progressive Nest
Progressive Node.js Framework with Nest
Jecelyn Yeen
October 18, 2018
More Decks by Jecelyn Yeen
See All by Jecelyn Yeen
WorkerConf 2021 - Browser automation with Puppeteer
jecfish
0
1.9k
My Journey as Technical Presenter
jecfish
0
1k
Becoming a GDE
jecfish
0
3.9k
How to get started in IT Freelancing
jecfish
1
300
New Web API & Stylings
jecfish
3
750
如何打造高性能且SEO友好的单页应用(SPA)
jecfish
2
910
JS SEO
jecfish
4
1.6k
Web Performance Optimization
jecfish
5
1.8k
Have Fun with Angular
jecfish
0
130
Other Decks in Programming
See All in Programming
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Claspは野良GASの夢をみるか
takter00
0
170
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
230
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.8k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
320
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
140
A2UI という光を覗いてみる
satohjohn
1
110
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
470
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
840
ふつうのFeature Flag実践入門
irof
7
3.6k
Featured
See All Featured
Building Adaptive Systems
keathley
44
3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
How GitHub (no longer) Works
holman
316
150k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Test your architecture with Archunit
thirion
1
2.3k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
Transcript
nest | progressive node.js framework | scalable +
@JecelynYeen From Kuala Lumpur, Malaysia • GDE - Web technologies,
Angular • Software Architect @ Randstad Organizer:
• node is good, but… • nest is here to…
• nest core concepts - live coding +
Story of building LEGO house
simple, intuitive, easy to start
structure, details, layout
None
- Design & Plan - Modular - Ecosystem
Software Development with
JavaScript runtime that built on top of Google Chrome’s V8
engine.
is simple… - Setup time: 1 minute - Code: 2
lines
const app = require('express')(); app.listen(3000);
const app = require('express')(); app.get('/', (req, res) => res.send('hello, simple
house!’)); app.listen(3000);
Why ? Language Reusability Productivity Community
Simplicity Wait, what is the definition of simple?
is simple up to a certain point When build medium
- large applications, the definition of simple change.
Application Issues (Medium to Large) Lack of common architecture Fragile
execution Problematic growth Structure Robustness Scalability
“We build our computer (systems) the way we build our
cities. Over time, without a plan, on top of ruins.” - Ellen Ullman
None
Why ? Application Architecture Dependency Injection Middleware Structure Platform Agnostic
$ npm install -g @nestjs/cli $ nest new lego-house CREATE
/lego-house/.prettierrc (51 bytes) CREATE /lego-house/README.md (339 bytes) CREATE /lego-house/nodemon.json (147 bytes) CREATE /lego-house/package.json (1633 bytes) CREATE /lego-house/src/app.controller.spec.ts (639 bytes) CREATE /lego-house/src/app.controller.ts (266 bytes) CREATE /lego-house/src/app.module.ts (250 bytes) CREATE /lego-house/src/app.service.ts (138 bytes) CREATE /lego-house/src/main.hmr.ts (329 bytes) CREATE /lego-house/src/main.ts (208 bytes) CREATE /lego-house/test/app.e2e-spec.ts (593 bytes) CREATE /lego-house/test/jest-e2e.json (154 bytes) CREATE /lego-house/tsconfig.json (477 bytes) CREATE /lego-house/tslint.json (895 bytes) CREATE /lego-house/webpack.config.js (695 bytes) Naming
lego-house npm start
What’s (the good stuffs) in the project? Typescript Jest Nest
Core concepts Controllers Providers Modules Middleware Exception filters Pipes Guards
Interceptors https://docs.nestjs.com/first-steps Controllers Providers Modules Middleware
Let’s code!
Platform Agnostic GraphQL Microservices Web Sockets Building apps with several
transport layers & contexts
is Low entry threshold Fully featured Open source Compatibility
“It’s never on how difficult is to write bad code,
it’s on how easy is to write good code.”
https://speakerdeck.com/chybie/progressive-nest +
References: @kammysliwiec - https://speakerdeck.com/kamilmysliwiec/rethinking- enterprise-architectures-with-node-dot-js @Rafael_Casuso - https://www.slideshare.net/RafaelCasusoRomate/ solid-nodejs-with-typescript-jest-nestjs