Post on 18-Dec-2014
description
graoJS – Full stack MVC NodeJS
http://graojs.orgMarcelo Machado Fleury
@marcelomfmarcelo[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
– Finalizar generator e o loader
● 25/10/2013 – 1ª Beta Release– Estabilizar o builder, stress
● 30/10/2013 – 2ª Beta Release– Projeto entra em freeze
● 05/11/2013 – 1ª Stable Release– Funcionalidades implementadas exceto GraoServer
e GraoMarketPlace
● 05/01/2013 – 2ª Stable Release
Obrigado!
http://graojs.orgMarcelo Machado Fleury
@marcelomfmarcelo[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