View toolset.md

Instalar ferramentas pré-definidas

Independente da tecnologia que vocês utilizam, no curso usaremos um conjunto de ferramentas já pré-definidas para explorar o conteúdo ofertado. Usaremos Postgres, nodejs e opcionalmente Elasticsearch.

Nodejs

Precisaremos do Nodejs na versão 5 [de preferência o v5.11.0 ou posterior na família v5]. A justificativa do nodejs é que precisaremos sempre dele para construir o FrontEnd em ambiente de desevolvimento.

Eu recomento instalar o https://github.com/creationix/nvm e instalar o Nodejs por ele.

Depois de instalar o nvm, voce pode instalar o node então com o comando:

View formato.md

Quem somos e como funciona

http://www.produtoreativo.com.br/quemsomos

Diferencial

Um fator desse diferencial é extrapolar as fronteiras da sala de aula, começamos já e continuaremos depois das datas dos nossos encontros. O curso nunca acaba.

Pra esses cursos eu separo e catalogo boas práticas que são tendências (sempre atualizando diariamente) e moldo pra dar suporte a um programador (com sua linguagem preferida Back-end) construir todo o Front-End de forma segura e continuada.

Mas não se limitando a isso, material que também ajuda a um programador Front a verificar e acompanhar o que se está desenhando para os próximos anos.

View frontin.md

Construindo um Produto Reativo

Sua aplicação mais Stateless, offline, assíncrona, isomórfica e mobile first possível com Node e React.

Descrição

Urge a necessidade de não perder as características de apresentação em Large Screens, mas degradar de forma agradável em telas menores e funcionar mesmo quando se está sem rede (imagina um motorista entrando numa zona sem rede). O desenvolvimento se torna mais caro e mais complicado a medida que entram novos Players e dispositivos, discutiremos algumas boas práticas para minimizar esse efeito.

Palestrante

Christiano Milfont tem experiência tanto em Backend quanto Frontend há mais de 15 anos, fazia Ajax quando não sabia que tinha esse nome, criou o BrazilJS e o JSConfBR, além de ter organizado dezenas de grandes conferências no CE.

View createModel.sh
sequelize model:create --name User --attributes 'username:string,hash:string,salt:string,email:string,activationKey:string,resetPasswordKey:string,verified:boolean'
View selectText.js
getTextNodesIn = (node) => {
var textNodes = [];
if (node.nodeType == 3) {
textNodes.push(node);
} else {
var children = node.childNodes;
for (var i = 0, len = children.length; i < len; ++i) {
textNodes.push.apply(textNodes, this.getTextNodesIn(children[i]));
}
}
View es.js
elasticsearch = require('elasticsearch');
client = new elasticsearch.Client({host: 'localhost:9200', log: 'trace'})
client.indices.create({ index: 'paragraph' })
client.create(
{
index: "paragraph",
type:"highlight",
View cejs2016.js
function sorteio() {
var linhasTotais = SpreadsheetApp.getActiveSheet().getLastRow();
var livro = "\"Casa Do Codigo X\"";
var currentSheet = SpreadsheetApp.getActiveSheet();
var vencedor = Math.ceil(Math.random()*linhasTotais);
var email = currentSheet.getRange(range("B", vencedor)).getValue();
Browser.msgBox("Sorteio do livro " + livro + " vai para: " + email);
//MailApp.sendEmail(email, "Sorteio CEJS!", "Se você está presente no sorteio foi sorteado para ganhar o brinde " + livro + ".");
}
View kafka-consumer.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.avro.io.BinaryDecoder;
import org.apache.avro.io.BinaryEncoder;
import org.apache.avro.io.DecoderFactory;
View app-controllers-users.js
'use strict';
export class Users {
constructor(app, models) {
this.app = app;
this.models = models;
app.get('/login',
function (req, res) {
View Elon.md

1: Name the enemy

2: Answer “Why now?”

3: Show the promised land before explaining how you’ll get there

4: Identify obstacles—then explain how you’ll overcome them

5: Present evidence that you’re not just blowing hot air