Calendário da Turma Barbara Liskov - Welcome to the Django
Veja o calendário da turma!
"Você nunca precisa da ótima performance,
mas sim da performance boa o bastante."
de 28/05 à 28/07.
Quer conhecer o caminho da sua transformação?
Confira em detalhes os eventos e atividades que você vai vivenciar nessa jornada.
Conheça todos os módulos e cada assunto que você vai aprender.
Saiba quem são os convidados especiais que vão explodir a sua cabeça durante as entrevistas.
Cada edição do WTTD homenageia uma pessoa que contribuiu para mundo da programação. O nome da sua turma é Barbara Liskov.
Confira os detalhes da nossa jornada
Segunda, 28/05/2018 às 21:00 horário de Brasília
Nessa aula inaugural ao vivo, eu te receberei junto com todos os seus colegas. Eu vou te explicar todos os detalhes para te ajudar a aproveitar ao máximo a experiência, e responderei todas as dúvidas. No final, darei a largada liberando o Módulo 1.
Segunda, 28/05/2018 às 23:00 horário de Brasília
Apaixone-se pelo Python
Descubra porque o Python é a arma secreta do desenvolvedor eficaz. Domine a linguagem e se impressione com o seu vasto ecossistema. Ainda neste módulo você vai conhecer o Django e colocar na nuvem um software que gera valor para o cliente.
Veja a ementa do Módulo 1
Começa a sua jornada
Entenda como estão organizados os conteúdos do programa, como aproveitar melhor cada recurso, como tirar dúvidas e obter ajuda ao longo de toda sua caminhada.
Descubra em detalhes o que faz o Python tão especial. Conheça sua origem. Compreenda a dimensão do ecossistema e os princípios responsáveis pelo sucesso da linguagem.
Na dúvida, veja como se encontrar
Entenda como navegar no mapa do ecossistema Python e como se encontrar na vasta documentação para achar a a informação que você precisa.
Aprenda passo à passo como preparar o seu ambiente de desenvolvimento no Windows.
Como instalar o Python no Mac
Aprenda passo à passo como preparar o seu ambiente de desenvolvimento no Mac.
Como instalar o Python no Linux
Aprenda passo à passo como preparar o seu ambiente de desenvolvimento no Linux.
Entenda como funciona o interpretador Python e as formas de usá-lo. Aprenda também como aproveitar o iPython e o Jupyter Notebook para explorar melhor a linguagem.
Python em uma página
Vamos fazer um reconhecimento do que é um programa Python entendendo como ele é executado e como a descobrindo os detalhes da sua sintaxe.
A grande sacada dos Módulos
Módulos diferenciam Python das outras linguagens. Vamos desvendar o funcionamento interno dos módulos e como o interpretador organiza os objetos internamente com eles.
Por dentro do import
Entenda o que acontece dentro do interpretador quando um recurso é importado e evite as confusões de quem está acostumado com linguagens "tradicionais".
Mais do que Strings
Vamos entender em detalhes como funcionam as Strings no Python. Porque elas são mais do que simples cadeias de caracteres.
Simplifique tudo com Sequências
Aprenda como funcionam sequências e como esta idéia simples intimamente ligada à linguagem ajuda a evitar uma enorme quantidade de códigos desnecessários.
Como ler código indentado
Veja na prática como funciona a indentação no Python e porque isso é muito mais legal do que usar "chaves".
Entenda como as listas no Python funcionam e quais os segredos por trás da sua eficiência.
Veja como as tuplas funcionam e entenda o motivo da sua existência, quando usá-las e compreenda o quanto elas são úteis.
Aprenda como os dicionários te ajudam a organizar dados, como usá-los e os detalhes de como funcionam.
O Sistema de Tipos: Dinâmico e Forte
Compreenda em detalhes como o maquinário interno do Python lida com os objetos e seus tipos.
Loops radicais
Descubra as várias maneiras de provocar repetições no seu código e entenda como os loops no Python são melhores e mais expressivos. Parece mágica!
Decisões e expressões lógicas
Aprenda a controlar o fluxo de execução do código e entenda como as expressões lógicas no Python funcionam mais em alto nível do que de costume.
Faça mágica com atribuições inteligentes
Se surpreenda com a inteligência da linguagem em lidar com atribuição de valores à variáveis e comece a trocar 5, 10, 20 linhas de código por 1!
Não subestime as funções
Quebre o paradigma de que funções são apenas rotinas e entenda o verdadeiro potencial do Python tratar funções como objetos e como isso se relaciona com a flexibilidade da linguagem.
Conheça a sua cliente e ajude-a a resolver a crise em seu projeto.
Conheça o Django
Jungle? Jango? Django! Conheça o framework e os motivos do seu sucesso e adoção em larga escala.
Supere o medo da Web
Entenda realmente como funciona os bastidores da navegação na internet e adapte o seu modelo mental para trabalhar com o protocolo HTTP.
Hora de começar o projeto da nossa cliente organizando tudo como um Chef de Cozinha.
Vamos implementar a primeira versão do projeto com foco imediato no problema da nossa cliente.
Pronto é quando está no ar!
Prepare o seu ambiente de desenvolvimento com controle de versão para poder facilmente colocar o projeto no ar com apenas um comando.
O primeiro deploy a gente nunca esquece
Hora de fazer a primeira entrega e botar o sistema online na nuvem pra nossa cliente resolver seu problema.
Exploda a sua mente com uma detalhada análise sobre tudo que você viu até aqui relacionando código, técnicas, táticas, estratégias, negócios e autonomia.
Complemente sua caminhada com um conjunto de exercícios sensacionais que te ajudarão à praticar e assimilar os conceitos aprendidos sobre a linguagem.
Rodrigo Yoshima é fundador da Aspercom e especialista em gestão de software com vasta experiência em complexos projetos de grandes empresas como McDonalds, SulAmérica Seguros, Buscapé Company, Central Nacional Unimed, Localiza Rent-a-car, e muitas outras.
Segunda, 04/06/2018 às 21:00 horário de Brasília
Convidado Especial: Rodrigo Yoshima
Gestão pra não ser refém do seu gerente.
Vamos conversar e explorar o que é gestão de software e como lidar com os gerentes das empresas. Entendendo estes conceitos vamos destruindo os mitos para você sair da ponta mais fraca que só acumula demandas. Você vai perceber o que pode fazer para ser um ativo colaborador no seu trabalho e no crescimento da sua empresa.
Segunda, 11/06/2018 às 21:00 horário de Brasília
Masterclass do Módulo 1
Neste webinário ao vivo vamos revisar o Módulo 1, reforçando os principais pontos e tirando todas as suas dúvidas. O evento será gravado e você terá acesso a gravação para assistir quando quiser. Ao final do encontro, darei a largada para o Módulo 2.
Segunda, 11/06/2018 às 23:00 horário de Brasília
Revolucione a forma como você programa dominando na prática todas as estratégias do desenvolvimento eficaz. Aprenda as técnicas para você manter tudo organizado e impedir que o caos se instale no seu projeto na medida em que ele cresce.
Veja a ementa do Módulo 2
Como não ficar para trás com seu projeto Django
Compreenda o ciclo de releases do Django e como a comunidade atualiza o framework para que seus projetos nunca acumulem débito técnico mantendo-os sempre atualizados.
Como se encontrar no universo Django
A documentação do Django é referência em todo o universo opensource por sua qualidade e completude. Você vai aprender a navegar neste mar de recursos como a palma da sua mão para sempre encontrar o que precisa.
Que página amarela é essa?
Entenda como funciona os fantásticos recursos de debug do Django e compreenda como usá-los adequadamente abrir seu projeto para falhas de segurança.
Como trabalhar com arquivos estáticos
Aprenda as sutilezas das opções de como trabalhar com arquivos estáticos no seu projeto mantendo a organização para facilitar a manutenção.
Repita comigo seu novo mantra: TAFT
Test All the Fucking Time! Você vai entender de uma vez por todas porque os testes automatizados são essenciais para a saúde do seu projeto e como isso impacta diretamente a sua capacidade de entregar valor.
A essência de um teste
O que é um teste? De onde veio isso? Como exatamente funciona um teste dentro do Python? O misticismo acaba aqui!
Kata: A arte marcial na programação
Este será o seu batismo no mundo do Desenvolvimento Guiado por Testes, ou em inglês Test Driven Development (TDD). Aqui você vai compreender a fundo a prática de escrever os testes antes do código. Você nunca mais vai querer outra coisa!
Por dentro do framework de testes
Como funcionam os frameworks de teste? São mágicos? Não! E a melhor forma de entendermos no detalhe é construindo um, como lhe mostrarei aqui.
Dojo Gameplay Happy Numbers
Vamos juntar as peças do que vimos de testes até aqui e praticar em um exercício elaborado que vai fazer o código emergir e evoluir como um organismo vivo até sua otimização em um grand finale.
O resgate do código não testado
Neste ponto você já sabe TDD e não há mais desculpas para não usá-lo. Vamos resgatar o projeto da nossa cliente automatizando o que foi feito preparando para seguirmos o resto da jornada sempre com esta prática.
Ciclo de Request e Response
Vamos aprofundar mais um nível e entender detalhadamente como o Django processa as requisições e envia as respostas HTTP. Entendendo esse ciclo você vai entender que não tem feitiçaria, só tecnologia.
Como faremos as inscrições?
O prazo da nossa Cliente continua curto. Vamos aproveitar os recursos dos formulários do Django para viabilizar as inscrições do evento deixando tudo organizado para evoluir.
Como sei quem se inscreveu?
Vamos implementar um mecanismo de notificações de inscrições por email usando a infraestrutura do Django e preparando o ambiente em produção.
Vamos entender como modelar o sistema para que ele guie a navegação do usuário para o sucesso mesmo quando algo dá errado, customizando os erros do Django
Qualidade é responsabilidade de todos
Até aqui nós fizemos funcionar. Agora é hora de fazer direito. Vamos entender o que pode melhorar e refatorar o código para garantir a qualidade e o baixíssimo custo de manutenção do projeto.
Com tudo feito como manda o figurino, vamos coroar o final do módulo fazendo uma retrospectiva detalhada por tudo o que vimos relacionando as questões técnicas com o mindset, as estratégias, a relação com nossa cliente, analisando o negócio e a sustentabilidade econômica do projeto.
Para você exercitar ainda mais o que aprendeu, você terá mais exercícios e desafios para praticar e dominar todos os recursos do Python.
Henrique Nogueira é Engenheiro de Computação pela UNICAMP e mestre pelo INSA Lyon na França. Trabalha como Partner Technology Manager no Google, e é apaixonado por Python e Data Science.
Quinta, 14/06/2018 às 21:00 horário de Brasília
Convidado Especial: Henrique Nogueira
Encarando entrevistas em empresas globais.
Nessa conversa direta e reta, vamos falar sobre o processo de seleção em empresas globais como Amazon, Facebook, Google, etc. Vamos discutir as etapas, os testes e principalmente como você pode se preparar para disputar vagas nestas empresas.
Segunda, 25/06/2018 às 21:00 horário de Brasília
Masterclass do Módulo 2
Neste webinário ao vivo vamos revisar o Módulo 2, reforçando os principais pontos e tirando todas as suas dúvidas. O evento será gravado e você terá acesso a gravação para assistir quando quiser. Ao final do encontro, darei a largada para o Módulo 3.
Segunda, 25/06/2018 às 23:00 horário de Brasília
Conquistando o seu Cliente
Aprenda a lidar com as mudanças frequentes no software e impressione o seu cliente. Você vai combinar as estratégias com os incríveis recursos do Python e Django para mudar o seu código sem medo, atendendo todas as necessidades do projeto.
Veja a ementa do Módulo 3
Pausa para um upgrade na sua produtividade
Vamos melhorar nosso nível de organização para cortar a repetição e ampliar nossa produtividade tornando nosso ambiente de desenvolvimento mais inteligente.
Tudo em Python é Objeto
Você vai entender tudo sobre Programação Orientada à Objetos em Python. Veremos os detalhes da implementação das classes, métodos, heranças e muito mais. Você vai se impressionar com a elegância da linguagem.
Tem uma forma melhor para acompanhar as inscrições?
Para atender as novas demandas da nossa cliente é hora estabelecermos nosso primeiro contato com o Admin do Django.
Os poderes mágicos do Django Admin
Vamos mergulhar nos recursos do Django Admin entendendo detalhadamente como ele funciona e ativando tudo o que precisamos para com poucas linhas montar uma interface administrativa completa para nossa cliente.
As pessoas não estão lendo os emails de inscrição
Vamos melhorar o fluxo do sistema detalhando a inscrição para o usuário da nossa cliente. Tudo com TDD, como sempre!
Domine o banco de dados sem se sujar com SQL
Aprenda na prática toda a arquitetura do ORM do Django e seus mecanismos de consulta ao banco sem necessidade de criar SQL na mão.
Exploda sua cabeça com Expressões Regulares
Expressões Regulares (Regex para os íntimos) são ferramentas de detecção de padrões em texto usados em inúmeras tarefas. Nesta aula você vai dominar os poderes dessa incrível ferramenta.
Amplie as possibilidades com URLs Dinâmicas
Você vai aprender tudo sobre os endereços de internet (URLs). Como funcionam, o que significam e como o Django os processa. A partir disso vamos estender o sistema de rotas do Django indo além do comum para criarmos rotas programáticas.
Como organizar suas rotas para não ter retrabalho
Agora que você domina tudo sobre rotas, vamos aplicar as melhores práticas no nosso projeto para garantir que ele esteja pronto para evoluir "farpas" que comumente prejudicam o andamento do nosso trabalho.
Como funcionam os templates do Django
Você vai descobrir que os templates do Django são muito mais do que textos. São uma linguagem à parte. Vai entender no detalhe como são processados, compilados e estendidos para você economizar esforço.
Como controlo quem pagou?
Nossa cliente pediu um recurso que exige alteração da estrutura da tabela do sistema. Sem problemas! Vamos aprender como usar os recursos de migração do Django para evoluir a estrutura do nosso banco de dados com toda a segurança, sem nunca perder informação.
Como marco vários inscritos como pago?
Vamos customizar o Admin do Django criando uma nova funcionalidade específica para a nossa cliente usando TDD. Assim aprofundaremos nosso conhecimento sobre a arquitetura do Admin conquistando mais controle sobre a ferramenta.
Como evitar CPFs errados?
Esse é o momento aprendermos a trabalhar com o fantástico mecanismo de validação de dados dos formulários do Django.
Como padronizar os nomes?
Aprofundando nosso domínio sobre os formulários do Django, vamos usar o seu fluxo de processamento para padronizar dados fornecidos pelo usuário, separando a entrada da lógica do negócio.
O email e o telefone podem ser opcionais?
Os formulários do Django possibilitam que você tenha o controle total do fluxo de processamento e validação de dados. Vamos estender sua capacidade para atender as novas demandas da nossa cliente.
Neste módulo você experimentou a verdadeira intensidade do ciclo de feedback curto, sempre com garantia de progresso através dos testes, mantendo tudo organizado como um Chef e entregando cada nova funcionalidade em produção para a cliente. Vamos analisar tudo o que fizemos em todos os níveis de abstração para você ter clareza do impacto positivo no desempenho do seu trabalho.
Para complementar tudo o que você fez neste módulo, eu criei alguns desafios adicionais para você praticar ainda mais o que aprendeu e expandir seu conhecimento.
Daniel Weinmann é CEO e fundador da Seasoned, empresa especializada em atuar como braço de tecnologia de startups e negócios digitais. Além disso é o fundador do Catarse, maior plataforma de crowdfunding da América Latina.
Quarta, 04/07/2018 às 21:00 horário de Brasília
Convidado Especial: Daniel Weinmann
Como vender projetos de software?
Como vender? O quanto cobrar? Como negociar? Como captar cliente? Quem nunca teve estas dúvidas? Nesta conversa vamos explorar estes e muitos outros assuntos relacionados, desmistificando o processo para que você identifique qual a estratégia que melhor se encaixa com o seu contexto.
Segunda, 09/07/2018 às 21:00 horário de Brasília
Masterclass do Módulo 3
Neste webinário ao vivo vamos revisar o Módulo 3, reforçando os principais pontos e tirando todas as suas dúvidas. O evento será gravado e você terá acesso a gravação para assistir quando quiser. Ao final do encontro, darei a largada para o Módulo 4.
Segunda, 09/07/2018 às 23:00 horário de Brasília
Trabalhando para não ter trabalho
Veja a ementa do Módulo 4
Vamos revirar do avesso a infraestrutura de formulários do Django para descobrir que muito mais do que "formulários", ela nos oferece uma sofisticado ferramenta de processamento de dados totalmente extensível e customizável.
Como eliminar repetições de código em formulários
Você vai aprender a economizar esforço se aproveitando das convenções do Django para reduzir código eliminando repetições através dos ModelForms e da criação dos seus próprios campos de reutilizáveis.
Como divulgo os palestrantes convidados?
Desta vez a demanda da nossa cliente é mais do que urgente. Você vai por à prova a técnica de desenvolvimento top-down entregando o suficiente para aliviar a pressão do projeto, ganhando tempo para desenvolver do jeito certo.
Como divulgo os outros palestrantes?
Tendo entregue o necessário de curto prazo na etapa anterior, agora é hora de generalizar a implementação do registro de palestrantes encaixando perfeitamente uma etapa na outra. O domínio dessa dinâmica pode fazer a diferença entre sucesso e fracasso nos nossos projetos.
Onde anoto os contatos dos palestrantes?
Você vai aprender como funciona e como implementar relações entre modelos com chave-estrangeira, dominando as convenções do Django para reduzir o custo de mudança.
Como posso divulgar as palestras?
Usando a técnica top-down você vai implementar a divulgação das palestras estabelecendo uma relação many-to-many entre os modelos palestra e palestrante.
Entenda o relacionamento entre tabelas
Hora de dominarmos a infraestrutura de relações do ORM do Django entendendo o que acontece por baixo dos panos, como SQLs complexos são gerados de forma inteligente, e aprendendo sobre os papeis e relações entre Model, Manager e QuerySet abrindo seus horizontes para nunca mais deixar seu código ineficiente e desorganizado.
Como evitar lógica de negócio espalhada pelo código
Domine os recursos do Django para encapsular as regras da sua aplicação reduzindo drasticamente a repetição de código com ModelManagers customizados. Isso é chave para desenvolver aplicações complexas sem enlouquecer.
Como anuncio os mini-cursos?
Você vai implementar uma nova funcionalidade no sistema que vai te mostrar na prática os detalhes do funcionamento da Herança de Modelos Abstratos no ORM do Django e seus efeitos práticos no banco de dados.
Dá para ter uma única agenda?
Para atender uma mudança de requisito, você vai ajustar o comportamento do sistema utilizando a estratégia de Herança de Modelos Concretos do ORM indo fundo na compreensão do seu funcionamento e efeitos no banco de dados.
Como reaproveitar as lógicas das views
Prepare-se para a mágica! Você vai enxugar o código de todo o sistema em uma super refatoração que vai te mostrar como construir sua própria Class Based Views (CBV), chegando ao ponto de reduzir dezenas de linhas de código em umas poucas linhas altamente expressivas.
Neste módulo você aprendeu muito sobre recursos avançados do Django e como utilizá-los para evitar retrabalho e garantir agilidade no processo de desenvolvimento. Vamos revisar tudo o que foi visto em detalhes conectando diretamente com todas as camadas do processo do desenvolvimento eficaz.
Para enriquecer sua experiência, eu proponho novos desafios que vão te ajudar a alçar vôos maiores para se lançar no ecossistema Python e Django com toda confiança na sua capacidade de entregar valor ao cliente.
Empreendedor, advogado especialista em Direito Empresarial, professor, mestre e doutorando na área. Usa as regras do Direito para viabilizar negócios e iniciativas.
Segunda, 16/07/2018 às 21:00 horário de Brasília
Convidado Especial: Gustavo Coelho
Hackeando o Código da Matrix
Vamos estraçalhar os tabus da fronteira mais temida por quem busca autonomia: A Burocracia. Vamos exterminar diversos mitos que assombram as pessoas que querem viver fora da caixa. Vamos falar de contratos, negócios, tipos de empresas, leis, imposto de renda, e muitos outros assuntos para desvendar a Matrix, e claro… como hackeá-la!
Segunda, 16/07/2018 às 23:00 horário de Brasília
O Caminho para Autonomia
Aprenda como ter mais autonomia para melhorar sua vida pessoal, aprimorar suas relações de trabalho e tudo o mais necessário para ser dono do seu tempo e viver a sua vida do seu jeito.
8 vídeos | 5 horas
Segunda, 23/07/2018 às 21:00 horário de Brasília
Masterclass do Módulo 4
Neste webinário ao vivo vamos revisar o Módulo 4, reforçando os principais pontos e tirando todas as suas dúvidas. O evento será gravado e você terá acesso a gravação para assistir quando quiser.
Sábado, 28/07/2017 das 09:00 às 18:00
Durante um dia inteiro, eu, você e vários convidados especiais vamos interagir pessoalmente para te ajudar a caminhar rumo a sua autonomia. O ingresso limitado as 50 primeiras matriculas.