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
“Why JS is way to go for backend”
Search
GDG Cherkasy
February 15, 2019
Technology
0
77
“Why JS is way to go for backend”
Denys Pysmennyi “Why JS is way to go for backend”
GDG Cherkasy
February 15, 2019
Tweet
Share
More Decks by GDG Cherkasy
See All by GDG Cherkasy
Трансформація від розробника до ліда: байки та поради.
gdgcherkasy
0
120
Емоції: усвідомлення, прийняття, комунікація
gdgcherkasy
0
89
Kibana Plugin Development - Vlad Bolibruk
gdgcherkasy
0
76
CoreData, custom merge policy
gdgcherkasy
2
1.6k
macOS_for_iOS_devs2.pdf
gdgcherkasy
0
71
MQTT.pdf
gdgcherkasy
1
36
Инструменты Lean Product Management как точки пересечения проектов с "реальностью": хватит клонировать плохие решения!
gdgcherkasy
1
76
Насколько силен Иммунитет вашей организации?
gdgcherkasy
1
100
From Project Manager to CEO by Alyona Vlasiuk
gdgcherkasy
0
56
Other Decks in Technology
See All in Technology
解析の定理証明実践@Lean 4
dec9ue
0
170
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
240
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
110
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
410
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
160
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
260
A2Aのクライアントを自作する
rynsuke
1
170
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
390
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
220
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.1k
How Community Opened Global Doors
hiroramos4
PRO
1
110
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bash Introduction
62gerente
614
210k
Statistics for Hackers
jakevdp
799
220k
The Cult of Friendly URLs
andyhume
79
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
GitHub's CSS Performance
jonrohan
1031
460k
Automating Front-end Workflow
addyosmani
1370
200k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Designing for humans not robots
tammielis
253
25k
Transcript
Denys Pysmennyi Why JS is a way to go for
backend
Will talk about • NodeJS to start project • NodeJS
&& Microservices • How to make back-end good again
DISCLAIMER: Language is just a tool, choose the right tool
for the right job* *JS is still the best
Some stats stackoverflow dou.ua Google searches
NodeJS awesome for small projects • Easy to start •
npm
NodeJS classic MEAN set-up
NodeJS classic MEAN set-up
NodeJS classic MEAN set-up
NodeJS classic MEAN set-up Express + ORM + Rest +
generator(blueprints) = MVC https://sailsjs.com
NodeJS classic MEAN set-up
NodeJS awesome for microservices
NodeJS awesome for microservices • Speed • Restart time •
Memory
NodeJS awesome for microservices • Speed • Restart time •
Memory
NodeJS performance • Each metric shows different result • Golang
is really good at concurrency • Js seems to be better at high concurrency then Java • PHP looks promising and scary
NodeJs performance (reqs/sec) https://medium.com/car2godevs/node-js-10-is-the-lts-the-enterprise-will-love-2395372a80c3
Ok, so how to build it?
What do we use in Taxify?
and we are hiring... • 15 million users • 500,000
drivers • 25 countries • 100+ developers • 100++ misro-services
What we use in Taxify? We’ve created our own framework
API generation Generated API Connect services Test Mocks Documentation, Visualization
Tests
Tests
Tests Component tests - balanced way for microservices Test Service
DB Mock
Tests Component tests - balanced way for microservices Test Service
DB Test Service DB Mock Mock Service DB
So how to build good backend • Good framework for
api • Good and right tests • What else?
Monitoring
Deployment
Good Backend: dependencies • Check dependencies • NPM scripts(rm -rf)
• Use NPM proxy: Verdaccio • nodesecurity.io
Good Backend: linters and code style • Little more Java,
little less Ruby • Read some Uncle Bob • Choose code style https://github.com/airbnb/javascript • Configure Eslint Tslint
Good Backend: typescript • DefinitelyTyped lib • TypeScript 3
Good Backend: async/callback • Callback are ok if you know
how to cook them • async/await • if you need more than 2 states: go with streams
Good Backend: async/callback • Callback are ok if you know
how to cook them • async/await • if you need more than 2 states: go with streams
Good Backend: some others tools • Debug: chrome://inspect debug from
browser • Deno - ts runtime from Node creator • GraphQL
Summary • Do NodeJS for fun • Do NodeJS for
enterprise • Do NodeJS good
Thank you! Denys Pysmenny
[email protected]
JavaScript developer