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
Jecelyn Yeen
October 18, 2018
Programming
1
110
Progressive Nest
Progressive Node.js Framework with Nest
Jecelyn Yeen
October 18, 2018
Tweet
Share
More Decks by Jecelyn Yeen
See All by Jecelyn Yeen
WorkerConf 2021 - Browser automation with Puppeteer
jecfish
0
1.8k
My Journey as Technical Presenter
jecfish
0
970
Becoming a GDE
jecfish
0
3.8k
How to get started in IT Freelancing
jecfish
1
270
New Web API & Stylings
jecfish
3
720
如何打造高性能且SEO友好的单页应用(SPA)
jecfish
2
870
JS SEO
jecfish
4
1.6k
Web Performance Optimization
jecfish
5
1.8k
Have Fun with Angular
jecfish
0
110
Other Decks in Programming
See All in Programming
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
170
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
220
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
140
AI時代の認知負荷との向き合い方
optfit
0
130
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
940
Grafana:建立系統全知視角的捷徑
blueswen
0
320
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
360
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
280
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
Basic Architectures
denyspoltorak
0
650
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
160
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
670
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
The Spectacular Lies of Maps
axbom
PRO
1
500
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
46
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Site-Speed That Sticks
csswizardry
13
1k
Paper Plane
katiecoart
PRO
0
46k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
120
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Six Lessons from altMBA
skipperchong
29
4.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
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