SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
NodeJS: javascript
no servidor
Palestra no
Congresso de Software Livre do NE
Caruarú - PE
12 de novembro de 2016
Rildo Pragana
Prehistória: anos 70
Trieste (Ita) - ICTP
Anos 80: Corisco
Microterminais
HandTerm
Adotando o Linux e
software livre
● Novembro/Dezembro de 1994
● Status Quo: Windows 3.1 (crashes,
erros, lentidão, API obscura,...)
● Linux! Luz no fim do túnel. Tudo
documentado, multiuser/task, rápido.
Um sonho para o desenvolvedor.
Device drivers:
scanner Genius
● Scanner Genius Color page CS.
● Não havia driver para o Linux
● Duração do projeto: 1 semana (incl.
engenharia reversa - Bochs) - 1997
● Pode ser encontrado no
http://www.ibiblio.org/pub/Linux/apps/graphics/capture/
● Samsung ML-85G
● ASIC proprietária da M$
● Classificada no linuxprinting.org
como “paper weight” (peso de papel)
● Duração do projeto: 8 dias.
● 6 artigos publicados no Linux Today
(descrevendo toda a interface e
ferramentas usadas para decifrar)
Winprinters
Desdobramentos do driver
para winprinters
http://www.boichat.ch/nicolas/lbp660/
Pentax USA
●Impressoras (Pocket Jet 200, II e III)
●Scanner (dsmobile)
Dsmobile (scanner)
dsmobile
TinyCobol
● http://tiny-cobol.sourceforge.net
● Compilador Cobol standard (antes
inexistente como software livre)
● “fork”: Open Cobol (Keisuke Nishida),
depois reescrito para gerar C (no lugar
de asm86)
Logo Design by James Richardson in the isle of Man
TinyCobol (tools)
Projeto radiola
(jukebox)
Linux com transaçoes
eletronicas
Trdata
NodeJS
Meu livro sobre o NodeJS
https://www.facebook.com/PraganaTraining/https://www.facebook.com/PraganaTraining/
Arquitetura do Node
Velocidade do NodeJS
NodeJS no desktop
NodeJS no RPi
MEAN
● MongoDB
● Express
● AngularJS
● NodeJS
Componentes:
O que o NodeJS contém
Node Package Manager
Npm stats
http://www.modulecounts.com/http://www.modulecounts.com/
Express
http://www.npmtrends.com/http://www.npmtrends.com/
Como Express funciona
favicon
logger
BodyParser
cookieParser
HTTP pedidoHTTP pedido
(request)(request)
middleware
Roteador (router)
HTTP respostaHTTP resposta
(response)(response)
Roteamento sem Express
Roteamento com Express
Perguntas
?
?
?
?
?
http://advlinuxdev.blogspot.com.br/
http://pragana.net
Adventures in Linux Programming
@rpragana

Mais conteúdo relacionado

Mais procurados

Mais procurados (17)

Node.js em produção, javascript no server side
Node.js em produção, javascript no server sideNode.js em produção, javascript no server side
Node.js em produção, javascript no server side
 
Dashboard slides
Dashboard slidesDashboard slides
Dashboard slides
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsCompartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
InterCon 2017 - Processamento de imagem em larga escala com GPU - Thiago Avelino
InterCon 2017 - Processamento de imagem em larga escala com GPU - Thiago AvelinoInterCon 2017 - Processamento de imagem em larga escala com GPU - Thiago Avelino
InterCon 2017 - Processamento de imagem em larga escala com GPU - Thiago Avelino
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
Python oo
Python ooPython oo
Python oo
 
Open-AudIT
Open-AudITOpen-AudIT
Open-AudIT
 
Construindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.jsConstruindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e Python
 
.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
ASP .NET WebForms TagMapping
ASP .NET WebForms TagMappingASP .NET WebForms TagMapping
ASP .NET WebForms TagMapping
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Javascript - de trás pra frente
Javascript - de trás pra frenteJavascript - de trás pra frente
Javascript - de trás pra frente
 

Destaque

Presentacion puerta Power Point
Presentacion puerta Power PointPresentacion puerta Power Point
Presentacion puerta Power Point
Delfiirazoqui
 
Presentacion puerta! 250 diapositivas
Presentacion puerta! 250 diapositivasPresentacion puerta! 250 diapositivas
Presentacion puerta! 250 diapositivas
Delfiirazoqui
 
Planificación estrategica clase
Planificación estrategica clasePlanificación estrategica clase
Planificación estrategica clase
Isabelo10
 

Destaque (20)

Ortografia grado 4
Ortografia grado 4Ortografia grado 4
Ortografia grado 4
 
Presentacion puerta Power Point
Presentacion puerta Power PointPresentacion puerta Power Point
Presentacion puerta Power Point
 
Evidencia prezi Arquitectura Y Evolución del Computador
Evidencia prezi Arquitectura Y Evolución del ComputadorEvidencia prezi Arquitectura Y Evolución del Computador
Evidencia prezi Arquitectura Y Evolución del Computador
 
Modelos de discapacidad
Modelos de discapacidadModelos de discapacidad
Modelos de discapacidad
 
Como ganhar dinheiro
Como ganhar dinheiroComo ganhar dinheiro
Como ganhar dinheiro
 
How to write a covering letter for job applications
How to write a covering letter for job applicationsHow to write a covering letter for job applications
How to write a covering letter for job applications
 
HOW TO DRAW ISOMETRIC
HOW TO DRAW ISOMETRICHOW TO DRAW ISOMETRIC
HOW TO DRAW ISOMETRIC
 
Presentacion puerta! 250 diapositivas
Presentacion puerta! 250 diapositivasPresentacion puerta! 250 diapositivas
Presentacion puerta! 250 diapositivas
 
Productos gabriel
Productos gabrielProductos gabriel
Productos gabriel
 
LOS REYES CATÓLICOS Y EL SIGLO XVI
LOS REYES CATÓLICOS Y EL SIGLO XVILOS REYES CATÓLICOS Y EL SIGLO XVI
LOS REYES CATÓLICOS Y EL SIGLO XVI
 
Revista steviana v6
Revista steviana v6Revista steviana v6
Revista steviana v6
 
GC - Report Sample
GC - Report SampleGC - Report Sample
GC - Report Sample
 
Military Careers series
Military Careers seriesMilitary Careers series
Military Careers series
 
Planificación estrategica clase
Planificación estrategica clasePlanificación estrategica clase
Planificación estrategica clase
 
MrThawatchaiKlinkliang
MrThawatchaiKlinkliangMrThawatchaiKlinkliang
MrThawatchaiKlinkliang
 
Municipio de ricaurte 1
Municipio de ricaurte 1Municipio de ricaurte 1
Municipio de ricaurte 1
 
2 สิ่งประดิษฐ์ ย้ายปลูก
2 สิ่งประดิษฐ์ ย้ายปลูก2 สิ่งประดิษฐ์ ย้ายปลูก
2 สิ่งประดิษฐ์ ย้ายปลูก
 
Partedenos
PartedenosPartedenos
Partedenos
 
Biomas
BiomasBiomas
Biomas
 
Diploma
DiplomaDiploma
Diploma
 

Semelhante a Palestra caruaru2016

Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Tchelinux
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em C
Diego Santos
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Tchelinux
 
Computação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGLComputação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGL
Tony Alexander Hild
 

Semelhante a Palestra caruaru2016 (20)

Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em C
 
Mini-curso CUDA
Mini-curso CUDAMini-curso CUDA
Mini-curso CUDA
 
Cygwin
CygwinCygwin
Cygwin
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
ESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no LinuxESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no Linux
 
Linux e Jogos (in 2011)
Linux e Jogos  (in 2011)Linux e Jogos  (in 2011)
Linux e Jogos (in 2011)
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE Plasma
 
Linux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoCLinux e zephyr conversando no mesmo SoC
Linux e zephyr conversando no mesmo SoC
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
 
Linux básico
Linux básicoLinux básico
Linux básico
 
Vale a pena usar o Linux!?
Vale a pena usar o Linux!?Vale a pena usar o Linux!?
Vale a pena usar o Linux!?
 
Gnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USPGnu/Linux - Workshop EACH-USP
Gnu/Linux - Workshop EACH-USP
 
Uma introdução à Computação Quântica com Q#
Uma introdução à Computação Quântica com Q#Uma introdução à Computação Quântica com Q#
Uma introdução à Computação Quântica com Q#
 
Computação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGLComputação Gráfica - Introdução ao OpenGL
Computação Gráfica - Introdução ao OpenGL
 
Kde comunidade
Kde comunidadeKde comunidade
Kde comunidade
 
Ferramentas de Planejamento e Acompanhamento
Ferramentas de Planejamento e AcompanhamentoFerramentas de Planejamento e Acompanhamento
Ferramentas de Planejamento e Acompanhamento
 

Palestra caruaru2016