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
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
“Why JS is way to go for backend”
Denys Pysmennyi “Why JS is way to go for backend”
GDG Cherkasy
February 15, 2019
More Decks by GDG Cherkasy
See All by GDG Cherkasy
Трансформація від розробника до ліда: байки та поради.
gdgcherkasy
0
150
Емоції: усвідомлення, прийняття, комунікація
gdgcherkasy
0
150
Kibana Plugin Development - Vlad Bolibruk
gdgcherkasy
0
91
CoreData, custom merge policy
gdgcherkasy
2
1.6k
macOS_for_iOS_devs2.pdf
gdgcherkasy
0
87
MQTT.pdf
gdgcherkasy
1
57
Инструменты Lean Product Management как точки пересечения проектов с "реальностью": хватит клонировать плохие решения!
gdgcherkasy
1
92
Насколько силен Иммунитет вашей организации?
gdgcherkasy
1
120
From Project Manager to CEO by Alyona Vlasiuk
gdgcherkasy
0
70
Other Decks in Technology
See All in Technology
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
7
2.2k
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
140
Claude Code 珍プレー好プレー
shinyasaita
0
250
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
140
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
0
110
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
710
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
190
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
140
cccccc
moznion
0
1.8k
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
1.1k
product engineering with qa
nealle
0
140
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
610
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
A Soul's Torment
seathinner
6
3k
Writing Fast Ruby
sferik
630
63k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
280
Product Roadmaps are Hard
iamctodd
55
12k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
We Have a Design System, Now What?
morganepeng
55
8.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
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