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
120
1
Share
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
290
New Web API & Stylings
jecfish
3
750
如何打造高性能且SEO友好的单页应用(SPA)
jecfish
2
900
JS SEO
jecfish
4
1.6k
Web Performance Optimization
jecfish
5
1.8k
Have Fun with Angular
jecfish
0
120
Other Decks in Programming
See All in Programming
今さら聞けないCancellationToken
htkym
0
120
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
460
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
210
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
120
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
140
継続的な負荷検証を目指して
pyama86
3
1.2k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.1k
AI Agent と正しく分析するための環境作り
yoshyum
2
550
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.8k
色即是空、空即是色、データサイエンス
kamoneggi
1
130
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
AgentCore Optimizationを始めよう!
licux
3
260
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
The Cult of Friendly URLs
andyhume
79
6.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Curious Case for Waylosing
cassininazir
1
350
Testing 201, or: Great Expectations
jmmastey
46
8.2k
The Limits of Empathy - UXLibs8
cassininazir
1
330
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
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