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.7k
My Journey as Technical Presenter
jecfish
0
930
Becoming a GDE
jecfish
0
3.7k
How to get started in IT Freelancing
jecfish
1
270
New Web API & Stylings
jecfish
3
680
如何打造高性能且SEO友好的单页应用(SPA)
jecfish
2
830
JS SEO
jecfish
4
1.5k
Web Performance Optimization
jecfish
5
1.7k
Have Fun with Angular
jecfish
0
95
Other Decks in Programming
See All in Programming
生成AIで日々のエラー調査を進めたい
yuyaabo
0
630
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
470
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
130
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
310
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
150
Featured
See All Featured
Speed Design
sergeychernyshev
31
1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
Code Reviewing Like a Champion
maltzj
524
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Faster Mobile Websites
deanohume
307
31k
How to Ace a Technical Interview
jacobian
277
23k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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