node.js - worksigma
DESCRIPTION
Sliders falando sobre Node.js utilizado na palestra da Worksigma no dia 28 de Julho de 2014.TRANSCRIPT
![Page 1: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/1.jpg)
![Page 2: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/2.jpg)
Node.js?
![Page 3: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/3.jpg)
Node.js não é um servidor Web.
![Page 4: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/4.jpg)
Node.js?
![Page 5: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/5.jpg)
![Page 6: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/6.jpg)
• Server-side Javascript• V8• Events, non-block I/O• CommonJS module system
![Page 7: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/7.jpg)
• Server-side Javascript• V8• Events, non-block I/O• CommonJS module system
![Page 8: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/8.jpg)
![Page 9: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/9.jpg)
Event Loop vs Threads
![Page 10: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/10.jpg)
Event Loop (Node.js)
• 1 única Thread.• Não bloqueia I/O.• Não há problema com lock.• Não usa mais memória com novos eventos.
Deixa o SO tratar o I/O e espera a resposta sem travar os recursos.
![Page 11: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/11.jpg)
Threads
• Cada Thread requer memória.• Troca de Thread é custosa para o CPU.• Problema com o lock.
![Page 12: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/12.jpg)
Back-end x Front-end.
![Page 13: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/13.jpg)
https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node
![Page 14: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/14.jpg)
![Page 15: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/15.jpg)
![Page 16: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/16.jpg)
![Page 17: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/17.jpg)
![Page 18: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/18.jpg)
![Page 19: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/19.jpg)
![Page 20: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/20.jpg)
![Page 21: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/21.jpg)
Prós
• Front-end e Back-end com o mesmo código;• Comunidade gigantesca;• Muitas boas bibliotecas surgem por dia;• I/O assíncrono.• Ótimo em caso de que o problema é o I/O
![Page 22: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/22.jpg)
Contras
• Javascript é uma linguagem ruim (Maurício Linhares, Javascript from Hell).– Não é OO.– NaN !== NaN– typeof NaN === “number”
• Node.js novo, bibliotecas novas;• Callback hell;• Não existe algo que chegue perto do Rails ou
do Django.
![Page 23: Node.js - Worksigma](https://reader030.vdocuments.site/reader030/viewer/2022012319/54969f0aac795987318b45c1/html5/thumbnails/23.jpg)
Obrigado!