SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
graoJS – Full stack MVC NodeJS
http://graojs.org
Marcelo Machado Fleury
@marcelomf
marcelo[arroba]synack[ponto]com[ponto]br
#latinoware2013
… #graojs #pev #h2hc-community #nodejsgo
#gojs #fgsl #asl-go #psl-go, #eri-go …
"Nenhum de nós é melhor ou mais inteligente que
todos nós." Marilyn Ferguson
whoami
●

Goiano de 1986, filho da Alexandra e do Arlindo

●

Amante da velocidade

●

Curte programação desde 1998

●

Curte GNU/Linux desde 2000

●

Curte hacking desde 2002

●

Anarquista ao seu próprio limite, tendendo ao infinito

●

Pai da Valentina e marido da Laís

●

“O caminho para sabedoria é simples, erra, erra e erra
novamente, mas menos, menos e menos” Piet Hein
FOSS e HACKERS
●

Free and Open Source Software

●

A produção de FOSS

●

O valor de FOSS

●

O sentimento FOSS

●

O sentimento Hacker
A SYNACK
●

Rede multiplex de profissionais e amigos

●

Distribuída, portanto:
–
–

●

Não hierárquica
Colaborativa

Anárquica, portanto:
–
–

●

Não burocrática
Libertadora

Não emprega, portanto livre
–

Se você se sente livre no seu emprego, sorte sua! :)
O graoJS – Vamos semear
●

Germinando códigos/opcodes/bits
–

Modelo artesão

–

Utópico estado da arte

●

Licença MIT

●

DIY, DRY, KISS

●

GOF, XP, SCRUM
Germinando
●

Arquitetura micro-kernel

●

MVC, IoC e DI

●

Scaffolding e RAD

●

Autenticação e RBAC

●

RestFUL/JSON e RIA

●

ODM, ORM e Validações

●

Rotas e Controladores

●

Templates e i18n
Projetos
●

Openfund.me

●

Indiobrita.org (facebook.com/indiobrita)

●

github.com/sheldonled/myconf

●

marcelomf.blogspot.com/search/label/see

●

Certificados de um cartório

●

Leads e finanças de uma empresa

●

Scanner de vulnerabilidades c/ OpenSCAP
Stack de aplicações
●

MongoDB

●

Redis

●

zeroMQ

●

NodeJS
–
–

●

Express
Mongoose

Twitter Bootstrap, AngularJS, swig, jade...
JSON
JavaScript OO - Literais
JavaScript OO - Function
JavaScript OO - Prototype
RestFUL
MongoDB
●

NoSQL

●

Orientado a documentos

●

JSON

●

BSON

●

Collections

●

MapReduce

●

Master/Master – Master/Slave
NodeJS
●

Google V8 Engine

●

Escrito em C++

●

Event Driven

●

Escopos: Global, Glocal e Local

●

Native Code

●

Mono Thread
–

●

Balanceamento++

NPMJS.ORG
Kernel Monolítico
Micro-Kernel

DCC.UFMG
graoJS
DI: GraoKernel
DI: GraoKernel
DI: GraoKernel
DI: GraoKernel
DEMO: CLI
●

grao app nome_app

●

grao bundle nome_bundle

●

grao gen nome_schema
Demo: Diretórios do projeto
Demo: Arquivos bundle e core
TODO
●

Finalizar engine de eventos(80%)
–

Monitoramento de eventos

–

Controle de estados

–

Orquestração de eventos

●

Finalizar o GraoGenerator(90%) e GraoBuilder(20%)

●

Finalizar o GraoLoader(70%) e GraoStress(70%)

●

Começar o GraoServer(20%)

●

Começar o ?GraoMarketPlace?(20%)
RoadMap
●

20/10/2013 – 1ª Alpha Release
–

●

25/10/2013 – 1ª Beta Release
–

●

Projeto entra em freeze

05/11/2013 – 1ª Stable Release
–

●

Estabilizar o builder, stress

30/10/2013 – 2ª Beta Release
–

●

Finalizar generator e o loader

Funcionalidades implementadas exceto GraoServer
e GraoMarketPlace

05/01/2013 – 2ª Stable Release
Obrigado!
http://graojs.org
Marcelo Machado Fleury
@marcelomf
marcelo[arroba]synack[ponto]com[ponto]br
#latinoware2013
… #graojs #pev #h2hc-community #nodejsgo
#gojs #fgsl #asl-go #psl-go #eri-go ...
"E Deus salvará ao humilde." Jó 22.29

Contenu connexe

Tendances

Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
Realidade aumentada no mundo atual
Realidade aumentada no mundo atualRealidade aumentada no mundo atual
Realidade aumentada no mundo atualIsmael Ash
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open sourceWaldemar Neto
 
Curso de web2py - Apresentação
Curso de web2py - ApresentaçãoCurso de web2py - Apresentação
Curso de web2py - ApresentaçãoJúlia Rizza
 
JavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIJavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIFred Souza
 
Microserviços é pra mim? Como começar? #cpbr12
Microserviços é pra mim? Como começar? #cpbr12Microserviços é pra mim? Como começar? #cpbr12
Microserviços é pra mim? Como começar? #cpbr12Fernando Henrique Gomes
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyJulio Cesar Eiras Melanda
 
Gdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg limaGdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg limaGDG Lima
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Julio Cesar Eiras Melanda
 
O PHP Como deveria ser
O PHP Como deveria serO PHP Como deveria ser
O PHP Como deveria serVinicius Dias
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
Apresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiApresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiRankest
 
Aprenda NodeJS gerenciando seus Crushs #CPBR12
Aprenda NodeJS gerenciando seus Crushs #CPBR12Aprenda NodeJS gerenciando seus Crushs #CPBR12
Aprenda NodeJS gerenciando seus Crushs #CPBR12Jakeliny Gracielly
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Renato Sousa
 
Php Coding Pasta
Php Coding PastaPhp Coding Pasta
Php Coding Pastagutomaia
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MALucas Souto
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.4LinuxCursos
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webEvaldo Junior
 

Tendances (20)

Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Realidade aumentada no mundo atual
Realidade aumentada no mundo atualRealidade aumentada no mundo atual
Realidade aumentada no mundo atual
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open source
 
Curso de web2py - Apresentação
Curso de web2py - ApresentaçãoCurso de web2py - Apresentação
Curso de web2py - Apresentação
 
JavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TIJavaScript e suas tendências no mercado de TI
JavaScript e suas tendências no mercado de TI
 
Microserviços é pra mim? Como começar? #cpbr12
Microserviços é pra mim? Como começar? #cpbr12Microserviços é pra mim? Como começar? #cpbr12
Microserviços é pra mim? Como começar? #cpbr12
 
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - KivyPython Nordeste 2016 - Aplicações multiplataforma - Kivy
Python Nordeste 2016 - Aplicações multiplataforma - Kivy
 
Gdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg limaGdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg lima
 
Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015Apresentação Python e Games - Python Brasil 11 - 2015
Apresentação Python e Games - Python Brasil 11 - 2015
 
O PHP Como deveria ser
O PHP Como deveria serO PHP Como deveria ser
O PHP Como deveria ser
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Apresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiApresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpi
 
Aprenda NodeJS gerenciando seus Crushs #CPBR12
Aprenda NodeJS gerenciando seus Crushs #CPBR12Aprenda NodeJS gerenciando seus Crushs #CPBR12
Aprenda NodeJS gerenciando seus Crushs #CPBR12
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01
 
Php Coding Pasta
Php Coding PastaPhp Coding Pasta
Php Coding Pasta
 
Web e HTML5
Web e HTML5Web e HTML5
Web e HTML5
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MA
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento web
 

Similaire à graoJS - A full stack MVC NodeJS framework

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Criando software para o futuro com DDD, Arquitetura, Patterns, e Atitude
Criando software para o futuro com DDD, Arquitetura, Patterns, e AtitudeCriando software para o futuro com DDD, Arquitetura, Patterns, e Atitude
Criando software para o futuro com DDD, Arquitetura, Patterns, e AtitudePablo Dall'Oglio
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010Marcelo Fleury
 
Comunidade, por onde começar
Comunidade, por onde começarComunidade, por onde começar
Comunidade, por onde começarRamon Mota
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
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.jsGiovanni Bassi
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...tdc-globalcode
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedorLucas Moura
 
E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?Guilherme Medeiros
 

Similaire à graoJS - A full stack MVC NodeJS framework (20)

TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Criando software para o futuro com DDD, Arquitetura, Patterns, e Atitude
Criando software para o futuro com DDD, Arquitetura, Patterns, e AtitudeCriando software para o futuro com DDD, Arquitetura, Patterns, e Atitude
Criando software para o futuro com DDD, Arquitetura, Patterns, e Atitude
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 
Comunidade, por onde começar
Comunidade, por onde começarComunidade, por onde começar
Comunidade, por onde começar
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
Hack Thursday - NodeJS
Hack Thursday - NodeJSHack Thursday - NodeJS
Hack Thursday - NodeJS
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Scrum
ScrumScrum
Scrum
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
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
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedor
 
E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?E dá para desenvolver webgames com Django?
E dá para desenvolver webgames com Django?
 

Plus de Marcelo Fleury

Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguroMarcelo Fleury
 
Processos de desenvolvimento de software
Processos de desenvolvimento de softwareProcessos de desenvolvimento de software
Processos de desenvolvimento de softwareMarcelo Fleury
 
GraoJS - full stack mvc nodejs 2015 7m
GraoJS - full stack mvc nodejs 2015 7mGraoJS - full stack mvc nodejs 2015 7m
GraoJS - full stack mvc nodejs 2015 7mMarcelo Fleury
 
Kdc spoofing com kerberos mit
Kdc spoofing com kerberos mitKdc spoofing com kerberos mit
Kdc spoofing com kerberos mitMarcelo Fleury
 
Open ldap criando e explorando um overlay
Open ldap   criando e explorando um overlayOpen ldap   criando e explorando um overlay
Open ldap criando e explorando um overlayMarcelo Fleury
 
Kerberos e OpenLDAP: Ambiente SSO OpenSource
Kerberos e OpenLDAP: Ambiente SSO OpenSourceKerberos e OpenLDAP: Ambiente SSO OpenSource
Kerberos e OpenLDAP: Ambiente SSO OpenSourceMarcelo Fleury
 
See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010Marcelo Fleury
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaMarcelo Fleury
 
Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareMarcelo Fleury
 

Plus de Marcelo Fleury (12)

Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Desenvolvimento seguro
Desenvolvimento seguroDesenvolvimento seguro
Desenvolvimento seguro
 
Processos de desenvolvimento de software
Processos de desenvolvimento de softwareProcessos de desenvolvimento de software
Processos de desenvolvimento de software
 
Icoop v2
Icoop v2Icoop v2
Icoop v2
 
GraoJS - full stack mvc nodejs 2015 7m
GraoJS - full stack mvc nodejs 2015 7mGraoJS - full stack mvc nodejs 2015 7m
GraoJS - full stack mvc nodejs 2015 7m
 
Kdc spoofing com kerberos mit
Kdc spoofing com kerberos mitKdc spoofing com kerberos mit
Kdc spoofing com kerberos mit
 
Open ldap criando e explorando um overlay
Open ldap   criando e explorando um overlayOpen ldap   criando e explorando um overlay
Open ldap criando e explorando um overlay
 
Kerberos e OpenLDAP: Ambiente SSO OpenSource
Kerberos e OpenLDAP: Ambiente SSO OpenSourceKerberos e OpenLDAP: Ambiente SSO OpenSource
Kerberos e OpenLDAP: Ambiente SSO OpenSource
 
See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010See Project - Segurança em Cloud Computing FLISOL GO 2010
See Project - Segurança em Cloud Computing FLISOL GO 2010
 
PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A Pena
 
Segurança em SOA
Segurança em SOASegurança em SOA
Segurança em SOA
 
Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de Software
 

graoJS - A full stack MVC NodeJS framework