@WellsSA
@WellsSA
@WellsSA
@WellsSA
Antes de tudo
@WellsSA
Então por quê não aproveitar isso?
@WellsSA
Agora com exemplos!
@WellsSA
@WellsSA
@WellsSA
Tecnologias
Conceitos
Partindo do básico
@WellsSA
Um algoritmo: Recuperação de senha
Por onde começar?
@WellsSA
Como funciona a recuperação de senha?
Em que parte do meu software isso fica?
Quais serviços eu vou precisar usar?
O quê são serviços?
Comece por você!
@WellsSA
Nem sempre você vai saber de tudo
E essa é a idéia!
Organização foco
@WellsSA
Problemão
Probleminha
Probleminha
Probleminha
Probleminha
Probleminha
Problem
Como assim foco?
@WellsSA
Temos limites!
@WellsSA
Existem técnicas!
@WellsSA
E eis que chega nossa área
@WellsSA
Código não importa!*
*No geral
@WellsSA
Mas calma lá!
Antes de vocês usarem o slide passado como desculpa pra fazer gambiarras...
Vamos às explicações!
@WellsSA
Vamos parar pra pensar
@WellsSA
Farmácia
Padaria
Oooou seja:
@WellsSA
No fundo o código é o mesmo
+
O que muda é o quê você faz com ele!
=
O que importa é a idéia!
E como ninguém pensou isso antes?
@WellsSA
E a resposta é: pensaram!
@WellsSA
@WellsSA
@WellsSA
meu programa;
int variável;
String variável2;
begin
# um monte de código
# mais código
# sério, muito código
# mais um pouquinho de código
# já disse que tem código?
# pode acreditar, código mesmo
...
end
@WellsSA
class Ornitorrinco {
String nome;
int idade;
}
function alimentar(Ornitorrinco o, Alimento b) {
// M A G I A
// mentira, mais código mesmo
}
class Batata extends Alimento {
// Exemplo meramente ilustrativo
// Tipo foto de alimento
}
@WellsSA
// Antes
[1, 2, 3, 4, 5]
// Depois
[Ornitorrinco, Ornitorrinco, Ornitorrinco, Ornitorrinco]
[
{
nome: 'Zé',
idade: 15,
},
{
nome: 'Zezim',
idade: 3,
},
]
@WellsSA
var x = 2;
var y = 3;
var resultado;
function somar() {
resultado = x + y;
}
function causarDiscordia() {
x = x + 10;
}
causarDiscordia();
somar();
const x = 2;
const y = 3;
function somar(a, b) {
return a + b;
}
const resultado = somar(x, y);
Antes
Depois
Stateless / Immutable
@WellsSA
Usuário
(zezim@gmail.com)
Chama o servidor
Backend
Frontend
(auth=chave)
Acessa o site
Envia um e-mail
(http://meuSite?auth=chave)
@WellsSA
const meuEmail = 'zezim123@gmail.com';
function recuperarSenha(email) {
// 1. Validar o e-mail
// 2. Se o e-mail estiver certo, pegar os dados do usuário
// 3. Gerar chave de acesso única
// 4. Preparar mensagem
// 5. Enviar e-mail com a mensagem
}
@WellsSA
const meuEmail = 'zezim123@gmail.com';
function recuperarSenha(email) {
// 1. Validar o e-mail
const deuBom = validaEmail(email);
// 2. Se o e-mail estiver certo, pegar os dados do usuário
if(deuBom === true) {
const meuUsuario = procuraUsuarioPorEmail(email);
// 3. Gerar chave de acesso única
const token = gerarToken(meuUsuario.id);
// 4. Preparar mensagem
const mensagem =
'Para alterar sua senha clique em http://meusite.com?auth=' + token;
// 5. Enviar e-mail com a mensagem
const email = enviarEmail(email, mensagem);
}
}
Beleza! Convenci vocês que código não importa?
Então de volta ao mundo das idéias!
@WellsSA
O que um desenvolvedor faz?
Somos
entrada, processamento ou saída?
@WellsSA
Que tal uma outra perspectiva?
Um médico:
✓ Recebe os sintomas
✓ Analisa com base no que estudou
✓Dá um diagnóstico
@WellsSA
Que tal uma outra perspectiva?
Um artista gráfico:
✓ Recebe as especificações
✓ Pensa em algo com base no que estudou
✓Retorna uma série de sketches
@WellsSA
Que tal uma outra perspectiva?
Um arquiteto/engenheiro:
✓ Preciso mesmo dar esse exemplo?
✓ Acho que vocês já sacaram, né?
✓É exatamente isso!
@WellsSA
Notaram algum padrão?
Todas fazem uso do que você tem de mais importante:
Seu cérebro!
Nós somos o processamento!
@WellsSA
Então adivinhem?
Programar é um processo criativo!
Você precisa pensar!
@WellsSA
Pensar é o principal!
Lembram que a parte biológica importa?
Poisé!
Pensar cansa!
@WellsSA
Você precisa poupar seu cérebro!
Quanto mais responsabilidade você tirar dele, melhor!
COMO!?!?
@WellsSA
FOCO!!!!
@WellsSA
Código??
Idéia!!
@WellsSA
Sem uma linha de código!
E mais importante:
@WellsSA
Que tal um programa que calcula média?
Qual a minha idéia?? O que eu tenho que fazer???
+ Receber as notas dos alunos e mostrar a média
E o que eu preciso fazer, em etapas, pra isso acontecer??
# Receber os valores
e depois??
# Calcular a média
e depois??
# Mostrar isso pro usuário
@WellsSA
Resumidamente
+ Receber as notas dos alunos e mostrar a média
# Receber os valores
# Calcular a média
# Mostrar isso pro usuário
@WellsSA
E podemos elaborar um pouco mais
+ Receber as notas dos alunos e mostrar a média
# Receber os valores
# Calcular a média
- (soma das entradas) dividido por (quantidade de entradas)
- fórmula: (entrada + entrada) / quantidadeDeEntradas
- ex.: (10 + 5) / 2
# Mostrar isso pro usuário
Por exemplo:
@WellsSA
+ Receber as notas dos alunos e mostrar a média
# Receber os valores
- 2 notas (de 0 a 10)
# Calcular a média
- (soma das entradas) dividido por (quantidade de entradas)
- fórmula: (entrada + entrada) / quantidadeDeEntradas
- ex.: (10 + 5) / 2
# Mostrar isso pro usuário
Quantos valores vamos receber?
1? 2? 3? vários?
@WellsSA
+ Receber as notas dos alunos e mostrar a média
# Receber os valores
- 2 notas (de 0 a 10)
# Calcular a média
- (soma das entradas) dividido por (quantidade de entradas)
- fórmula: (entrada + entrada) / quantidadeDeEntradas
- ex.: (10 + 5) / 2
# Mostrar isso pro usuário
- Mostrar no console
Como vamos mostrar isso pro usuário?
Console? Página web?
@WellsSA
Em qual linguagem fizemos isso?
Nenhuma!
Porque
O código
Não
Importa!
@WellsSA
Podemos pensar em qual é o melhor jeito de fazer isso
Não estamos presos à tecnologia nenhuma!
E focar em cada uma dessas etapas
@WellsSA
#Receber valores
Nós sabemos como procurar a informação em etapas!
Google:
@WellsSA
Temos um guia de como fazer o projeto
Nós podemos aprender em etapas cada parte do projeto!
@WellsSA
Você tem um guia preparado e já pensou na próxima etapa!
@WellsSA
Seu cérebro agradece!
@WellsSA
Vocês aprenderam a aprender!
Mas não só isso!
@WellsSA
+ Receber as notas dos alunos e mostrar a média
# Receber os valores
- 2 notas (de 0 a 10)
# Calcular a média
- (soma das entradas) dividido por (quantidade de entradas)
- fórmula: (entrada + entrada) / quantidadeDeEntradas
- ex.: (10 + 5) / 2
# Mostrar isso pro usuário
- Mostrar no console
Aquele que foi feito em nenhuma linguagem?
@WellsSA
@WellsSA
Isso é muito mais do que simplesmente código
Programação é pensar!
E tudo que vocês precisam é de um bloco de notas!
Bloco de notas + experiência =
@WellsSA
E como adquirir experiência?
@WellsSA
Do mesmíssimo jeito!
Um exemplo pessoal
@WellsSA
Docker + Docker-Compose
ReactJS
NodeJS
MongoDB
@WellsSA
Obrigado!
@WellsSA
Sejam bem-vindos à Matrix!
@WellsSA
Acharam que tinha acabado!?
Essa foi só a primeira parte!!
Vamos falar de pessoas!!!
@WellsSA
Sempre que falamos de pensar
Com certeza você pode sair por aí e conhecer pessoas que vão te falar de coisas e formas de pensar que você nunca nem tinha imaginado!
@WellsSA
Então participem de comunidades! Vão em eventos!
@WellsSA
E pra finalizar...
Uma história engraçada sobre tudo que acabei de contar
@WellsSA
@WellsSA
Obrigado!
@WellsSA
@WellsSA
Perguntas?
@WellsSA