Python Brasil[12] - Tutoriais
Este é o canal oficial para a chamada de submissões dos tutoriais da Python Brasil, que ocorrerão nos dias 13 e 14 de outubro de 2016.
Mas o que é um tutorial? É um treinamento que pode ter 2, 4 ou 8 horas de duração.
Eles ocorrerão na faculdade Cesusc de Florianópolis/SC e terão entrada franca.
Descreva as seguintes informações do tutotial na proposta:
- Duração em horas.
- Configurações de ambiente;
- Pré-requisitos.
Se você deseja submeter um tutorial, preencha a proposta abaixo:
Propostas
Aprenda Flask - What The Flask - Do Hello World ao Deploy com Flask
Este tutorial será baseado na minha série de artigos http://bit.ly/whattheflask
Flask é um microframework para desenvolvimento de web apps e APIs, já bastante conhecido da comunidade Python o Flask possui uma maneira flexivel de evoluir seu projeto a partir de um único arquivo até uma arquitetura mais elaborada.
Neste tutorial não pretendo cobrir em detalhes cada funcionalidade do Flask, mas pretendo apresentar um overview "end-to-end" mostrando as questões mais importantes no uso do Framework.
1. Overview da WEB (HTTP, POST, GET, REST, RESPONSE, REQUEST etc... um overview e a forma como o Flask trata esses objetos)
2. Base: Como o Flask foi construido e como podemos "hackear" detalhes de sua implementação (tudo dentro das leis..)
3. Os problemas que podemos encontrar com Flask e como resolver
4. Padrões a seguir para um projeto Flask sem dores de cabeça
5. Blueprints e Extensões (como configurar, instalar e criar os seus próprios)
6. Segurança e banco de dados
7. Flask-Admin (show case)
8. Deploy (onde, como e com o quê?)
Público: Pessoas com conhecimentos básicos de Python e do funcionamento da web.
Duração: Ideal seria um tutorial de 8 horas (2 partes de 4 horas), Mas caso seja possivel apenas 4 horas posso cortar alguns itens do conteúdo.
A data teria que ser dia 14 :)
Arquitetura, Especificação e Implementação de APIs REST
Neste tutorial eu pretendo abordar desde a definição de APIs web e da arquitetura REST até aspectos de implementação em Python passando por conceitos importantes como o uso das características do protocolo HTTP dentro da API, os padrões de transmissão de dados, os protocolos de autenticação e ferramentas de documentação específicas para APIs.
Meu objetivo principal é que os alunos aprendam sobre os aspectos mais importantes da arquitetura REST de forma que possam utilizá-la em seus projetos para usufruírem de seus benefícios como escalabilidade e simplicidade de design. Boa parte do conteúdo é independente da linguagem de programação utilizada, mas também mostrarei exemplos sobre a implementação dessas APIs usando frameworks Python para web.
É possível acompanhar o desenvolvimento da apresentação no github e no site
Tempo: 8h seriam o ideal mas eu consigo encaixar o conteúdo em tempos menores.
Configurações de ambiente: Assim como o tempo é bastante flexível. Se os alunos tiverem acesso a computadores, posso passar exercícios mais práticos. No entanto, o conteúdo pode ser desenvolvido mesmo sem.
Pré-requisitos: Conhecimento básico de Python é interessante para acompanhar melhor a parte de implementação no entanto não é necessário. Em geral, basta saber falar português :p
Agenda:
- API? REST?? — Motivação
- GET & 404 — Verbos e códigos HTTP
- JSON & YAML — Comunicação
- OAUTH & JWT — Autenticação
- Blueprint & Swagger — Documentação
- Django, Flask & Pythonicidade - Implementação
- Py.test, doctest & unittest — Testando seu código
- Heroku, EC2, EBS, Lambda — Colocando seu código no ar
- AB — Teste de carga
Criando games com Python
Desenvolver um jogo com pygame desde a primeira linha de código até sua versao final com som, animação e pontuação.
O jogo a se desenvolvido é um shooter 2d.
Será utilizada a engine pygame.
Pré requisitos:
Conhecimentos básicos de Python
Preferencialmente Linux
Duração
4 ou 8 horas.
Curso Básico de Python
A ideia é, já no primeiro dia de tutoriais, convidar os iniciantes a conhecer o básico de Python. O conteúdo dará noções da linguagem* e permitirá um melhor aproveitamento do tutorial de Django no dia seguinte e de outras apresentações subsequentes. Todo conteúdo possui exercícios mão na massa e para estudar em casa.
Ok, mas vocês perguntarão: qual a lógica de dar um curso iniciante de Python dentro de um evento da própria linguagem?
Exatamente o mesmo da Python Brasil: difundir e divulgar Python. Por ser uma linguagem de programação de fácil aprendizado – permitindo, inclusive, ensinar lógica de programação ao mesmo tempo – qualquer pessoa desenvolve a capacidade de usá-la e proporciona uma segurança jamais vista em outra linguagem.
Podemos pensar na divulgação na própria Usesc, em outras universidades e junto à Prefeitura de Florianópolis por meio do Facebook.
- Duração em horas
de 6 a 8 horas
- Configurações de ambiente
Existem três possibilidades:
- Sala com computadores em que possamos instalar o Python 3.4 (nessa configuração, poderemos atender a qualquer pessoa da comunidade, ainda que não possua um laptop para levar);
- Sala comum com mesas e tomadas para que cada um leve sua própria máquina;
- Mix: sala com computadores e também com cadeiras excedentes para receber quem levará o próprio equipamento.
- Pré-requisitos
Saber ligar o computador (e se não souber, a gente ensina)
- Conteúdo do curso:
- o que é algoritmo
- onde se usa Python
- instalação
- função print
- declaração de variáveis e seus tipos
- operadores
- strings
- listas e tuplas
- entrada de dados
- condicionais (if/else)
- contadores e acumuladores
- while
- for
- funções
deep pandas
pandas é um pacote para manipulação de estrutura de dados extremamente rápido e flexivel. Pandas permite fazer analise de dados para o mundo real de maneira intuitiva e rápida.
O tutotiral vamos fazer um introdução sobre o pandas, obtenção e seleção de dados, slicing, limpeza e agregações! De quebra ainda terá um bom overview sobre iPython.
Material:
- Um computador ou tablet com teclado ;
- Acesso a internet.
Pode ser aplicado em 4 ou 8 horas!
Desenvolvimento de Web Scrapers com Scrapy
Já imaginou que legal seria se todos os websites que utilizamos fornecessem APIs para acesso ao seu conteúdo? Infelizmente a realidade está muito longe disso. Boa parte dos dados que precisamos para alimentar nossas aplicações estão espalhados pela web em páginas com marcações por vezes bizarras e de difícil leitura até mesmo para seres humanos, que dirá para máquinas. Nesses casos, a saída é fazer scraping dessas páginas para obter tais dados e, para isso, nada melhor do que usar a dupla Scrapy + Python 3. :)
Neste tutorial, os participantes irão construir web scrapers utilizando Scrapy, enfrentando os mais comuns desafios encontrados na prática e conhecendo mecanismos para solucioná-los.
Conteúdo
- Intro:
- Conceitos básicos
- Nosso primeiro spider
- Executando um spider e entendendo a saída do Scrapy
- O funcionamento de um spider
- Construindo um Spider simples do zero
- Seletores CSS para extração de dados
- Scrapy Shell para experimentação e construção dos spiders
- Crawling e a busca por novos links
- Procurando e seguindo novas URLs em uma página
- Navegando através de paginação
- Crawleando educadamente
- Submetendo formulários
- As diferentes formas de lidar com formulários
- Autenticando o seu spider
- Lidando com CSRF tokens e Viewstates
- Depuração de Spiders
- O poder do XPath em páginas bagunçadas
- Páginas com conteúdo gerado por JavaScript e AJAX
- Quando é mais fácil do que imaginamos: APIs e marcação semântica
- Boas maneiras para evitar ser banido
Informações Adicionais
- Duração em horas: 4 horas.
- Configurações de ambiente: computadores com Scrapy 1.1+ instalado.
- Pré-requisitos: HTML/CSS básico e Python.
Desenvolvimento, publicação e gerenciamento de pacotes multiplataforma com Conda.
Conda é um gerenciador de pacotes e ambientes open source que permite instalar diversas versões de softwares e suas dependências de maneira rápida e prática. O objetivo deste tutorial é fazer um overview da ferramenta, do processo de desenvolvimento e publicação de novos pacotes, além da criação e gerenciamento de ambientes virtuais.
Público: Pessoas interessadas em distribuição e gerenciamento de pacotes multiplataforma.
Pré-Requisitos: Familiaridade com shell / prompt de comando.
Configurações de ambiente: Computadores com docker instalado (de preferência uma distribuição linux).
Duração: 2 horas.
Desenvolvimento Web com Python e Web2py
A Atividade visa introduzir ao desenvolvimento de aplicações para web utilizando Python e o framework Web2py e tem como alvo iniciantes em programação, ou que tenham interesse em desenvolvimento de aplicações web. O Web2py é um framework python de desenvolvimento web que foi criado com foco na aprendizagem, possibilitando o desenvolvimento de aplicações completas com muita simplicidade e agilidade, sendo a ferramenta ideal de entrada para quem tem pouco ou nenhum conhecimento da linguagem Python.
Conteúdo do Tutorial
1. Introdução ao desenvolvimento web com python e web2py
- Por que Web2py
- Usando a documentação
- Funcionamento
- Interface Administrativa
- Modelo MVC
2. Modelagem de Dados e Validadores
- Introdução a DAL (Database Abstraction Layer)
- Construção do modelo de dados da aplicação
- Validação de dados
3. Controllers e Views
- Construção Funcionalidades do sistema
- Desenvolvimento da UI
4. Manipulação de dados
- SQLFORM
- CRUD
- Grids
- Custom Forms
5. Login e Controle de Acesso
- Cadastro de Usuários
- Autenticação
- Grupos e Permissões
6. Escrevendo URLs amigáveis
7. Deploy da Aplicação na Internet
Duração
A duração da atividade é de 6 - 8 horas
Pré-requisitos
Para ter um melhor aproveitamento da oficina é necessário que o participante tenha conhecimentos básicos de Lógica de Programação (ou de uma linguagem de programação).
Configurações de Ambiente
Computadores com sistema operacional Linux (de preferência) ou Windows com Python 2.7 instalado.
Elm: chega de dor de cabeça com o frontend
Esse tutorial será uma introdução ao Elm e também à integração do Elm com frameworks web em Python (utilizando o webassets e o webassets-elm). Partindo de uma aplicação web RESTful básica em Flask ou Django, o tutorial vai responder a perguntas como:
» Por quê uma solução reativa?
» Por quê Elm (e não qualquer outra solução em JavaScript)?
» Como escrever meu primeiro app em Elm?
» Como é o ambiente de desenvolvimento em Elm?
» Como escrever testes em Elm?
» Como integrar Elm com webassets, Flask e Django?
» Como integrar Elm com um app RESTful?
Público: todos que já desenvolvem ou tem interesse em desenvolver aplicativos para web (conhecimento mínimo de Flask ou Django ajuda, mas não é essencial)
Duração: 2 ou 4h
FlapPyLadies: Crie seu primeiro jogo em Python!
Qual é a melhor maneira de aprender a programar um jogo do que começar com um dos maiores virais de todos os tempos? O PyLadies São Carlos te ensina a criar um Flappy Bird utilizando a biblioteca Pygame!
O tutorial propõe a prática de conceitos básicos de Python e programação de uma maneira divertida e motivadora para quem está aprendendo a programar.
NÍVEL: Iniciante
- Duração em horas
de 2 a 4 horas
- Configurações de ambiente
Sala com computadores em que possamos instalar o Python 2.7 ou 3.5 e a biblioteca Pygame e/ou sala comum com mesas e tomadas para que cada um leve sua própria máquina
- Pré-requisitos
Noção do funcionamento dos comandos de decisão (if, elif e else), comandos de repetição (for e while), variáveis e operadores.
Esses conhecimentos apenas facilitam o entendimento do tutorial, mas não são necessários.
- Conteúdo do curso:
- Revisão (rápida) dos conceitos básicos de Python e da lógica de programação
- Conhecendo a biblioteca Pygame
- Mão na massa - Parte 1: Praticando algumas funções do Pygame
- Conhecendo o FlapPyLadies
- Mão na massa - Parte 2: Desenvolvendo seu primeiro jogo em Python!
- Desafio FlapPyLadies
Introdução - Apache Cassandra
Introdução - Apache Cassandra
Curso introdutório de Cassandra, exemplificado com o driver de Python e ferramentas escritas em Python, tais como o CCM
Tópicos
- Cassandra - histórico
- Arquitetura, casos de uso e benefícios
- Coordination
- Replication
- Keyspaces
- Column Families
- Data Model - Oder By, Secondary Indexes, UUID and Timestamps
- Insert, Update, Delete
- Counters
- Write Path
- Read Path
Conhecimentos necessários
- Banco de dados e SQL - básico
- básico de Python
Duração
2h
Machine Learning para Hackers
A melhor forma de descobrir o quão inteligente e ainda assim limitado um humano é, é tentar reproduzi-lo num software. Um dia me perguntei como uma máquina poderia aprender por si mesma, já que um algoritmo, ao que acreditava, era sobre ser explícito ao descrever tarefas etapa por etapa. Depois de bater a cabeça em cursos online e um bootcamp em tempo integral de 3 meses em Berlin - Data Science Retreat - eu não diria mais que isso é o futuro; Machine Learning já está presente em todos lugares e é uma área sendo expandida a todo momento. Dê-me sua mão que te levarei pelos primeiros passos do maravilhoso mundo de ensinar máquinas a aprender.
Para qualquer um interessado em tirar insights de dados, de Data Journalism a Business Intelligence e engines de recomendação em sistemas com usuários. Sem conhecimento prévio necessário, mas vai se sentir muito mais a vontade quem já souber programar. Bons programadores sem experiência em Data Science também se sentirão em casa. É obrigatório vir com sentimento hacker de fazer perguntas e querer vê-las respondidas. Como resolvê-las usando Machine Learning? Isso eu posso ensinar durante as 4 horas do tutorial. Se possível, venha com um ambiente com Anaconda (Python 3) instalado, já que assim poderá reproduzir e tirar mais proveito do workshop.
NoSQL com Python: Introdução a bancos de dados em grafos.
Bancos de dados em grafos são bancos que organizam sua informação em forma de grafo(nós e arestas). São bastante utilizados hoje em dia quando o assunto é Big Data e auto grau de relacionamento entre os dados, focando principalmente em dados semiestruturados.
Neste tutorial pretendo falar um pouco sobre a teoria de bancos de dados em grafos e principalmente o uso destes bancos de dados com python.
Tópicos:
1. Overview de bancos de dados em grafos: Neo4j e OrientDB.
2. Linguagens de consulta usados nestes bancos de dados
3. Modelagem de dados em grafo.
4. Conexão e uso dos bancos com python.
Público: Pessoas com conhecimentos básicos de Python.
Duração: 4 horas ou 8 horas.
Configuração do Ambiente: Java 8, neo4j 3, orientDB, de preferência usando linux :).
Odoo - Open Source ERP - Como instalar e desenvolver aplicações empresariais
O que é o Odoo ?
Odoo é um pacote de software ERP (Sistema de Gestão Integrado) open source e 100% web.
Odoo dá ferramentas para empresas administrarem todas suas operações em um único pacote de software gerencial. Utilizado por grandes empresas, pequenos negócios, associações e muitos tipos diferentes de organizações para ajudar a gerenciar, automatizar, medir e otimizar suas operações, finanças e projetos.
A comunidade brasileira do Odoo está ativamente implementando as ferramentas necessárias para controles e obrigações fiscais brasileiras, tornando-o uma real alternativa aos ERPs em uso atualmente no Brasil.
Torne-se um participante desta comunidade crescente e amplie seu potencial com este conteúdo.
Tópicos:
1 - Introduçao Odoo Community Association, (OCA) e a comunidade Brasileira;
2 - Instalando o Odoo;
3 - Desenvolvendo seu primeiro modulo;
Pré requistos:
- linux debian based ou virtual box;
- python 2.7;
Duração:
- 4 ou 8 horas;
Mais informações: www.odoo.com / www.odoo-community.org
pyspark e computação distribuida
Spark é um framework generalista para tratamento de big data. O tutorial abordará!
- Um overview sobre Apache Spark como produto;
- PySpark
- iPython
- Uso de RDD
- Uso do SparkSQL
- Criação de um programa completo para tratamento de uma massa de dados com 16 anos de informação das eleições gerais do Brasil.
Material:
- Um computador ou tablet com teclado ;
- Acesso a internet.
Tutorial de 8h.
Python aplicado ao 3D
# Emenda:
O propósito desse tutorial é levar a comunidade de programadores a utilização do Python no trabalho de criação de projetos em 3D, como criação de controles para objetos mecânicos e para personagens utilizados em filmes e jogos. O software 3D proposto é o Autodesk Maya, utilizado em grande escala pela industria do entretenimento.
# Duração:
4 horas, com intervalo de 20 minutos.
# Configuração do ambiente
1 - Sala com computadores instalados com a versão de estudante do Autodesk Maya.
# Pré-Requisitos
Grande interesse no universo 3D e sangue nos olhos!
# Conteúdo do curso:
- Fundamentos das ferramentas 3D - Autodesk Maya;
- Navegação em 3D e dicas ninjas;
- Fundamentos de modelagem, saindo do cubo;
- Trabalhando com shaders, o que é isso!? ;
- Trabalhando com texturas;
- Outros caminhos a se explorar na produção 3D - UV e RENDER;
- Python interpretando MEL Scripting;
- Fundamentos do Python no 3D;
- Criando interfaces personalizadas no Python;
- Criando controles;
- Controlando um trator 3D utilizando Python;
- Controlando um braço em 3D utilizado Python;
- Controlando um rosto em 3D com Blend Shape e Python.
Python Orientado a Objetos
Este curso apresentará os conceitos de orientação a objetos no Python usando exemplos práticos da biblioteca padrão.
Realização de um Coding Dojo no formato Randori
Serão propostos problemas a serem resolvidos com a participação do público e a programação será realizada por pares em apenas uma máquina que estará conectada a um projetor.
A pessoa que estiver codificando será o piloto, e seu par o co-piloto. Após 4 minutos o par poderá receber "ajuda dos universiátios" e a cada 5 minutos o piloto volta para a plateia e o co-piloto assume a condição de piloto, enquanto uma nova pessoa assume a posição de co-piloto.
Se passado os 5 minutos a dupla que iniciou a resolução de um problema não terminar de resolvê-lo, a próxima dupla irá continuá-lo. Todos devem entender a solução, que deve ser explicada pelo piloto e pelo co-piloto que terminar a implementação.
A ideia é promover o compartilhamento de ideias entre os membros, encorajando-os a cooperar e participar de forma divertida, onde seriam realizados exercícios dos mais básicos aos mais complexos, de acordo com a habilidade do público.
Duração ideal: 2 horas.
Configurações de ambiente: necessário um data show.
Pré-requisitos: desejável saber o básico de Python.
rows: extraindo, normalizando e salvando dados tabulares
Dados tabulares estão presentes em todos os lugares, em diversos formatos: CSV, XLS, ODS, HTML, JSON, bancos de dados etc. Porém as APIs das bibliotecas são completamenta diferentes. A biblioteca rows tem como objetivo prover uma API simples, direta e unificada para trabalhar com dados tabulares, suportando inúmeros formatos e tornando o trabalho de análise e conversão de dados fácil e rápido.
Esse tutorial será totalmente mão-na-massa e apresentará as principais funcionalidades da biblioteca, sua CLI (command-line interface) e mostrará formas de utilizar a biblioteca para conversão automática de dados e como criar plugins para novos formatos.
Tutorial de Git
"Generally, the best way to learn git is probably to first only do very basic things and not even look at some of the things you can do until you are familiar and confident about the basics." - Linus Torvalds
Quando começamos a trabalhar com Git, a preocupação em aprender os seus comandos básicos é, normalmente, maior do que entender seu modelo e funcionamento completo. A questão é que ele, além de ser considerado complexo e diferente do que a maioria estava acostumada, ele oferece diversas maneiras de resolver o mesmo problema. Isso faz com que possam surgir situações que pareçam complicadas de serem resolvidas. Uma boa forma de evitar que casos assim aconteçam é entender como Git funciona e seu modelo.
Esse tutorial tem como objetivo ajudar as pessoas a irem além dos comandos básicos. A partir daí, podemos então focar em resolver problemas práticos e em estratégias para trabalhar em equipe.
Público alvo: Pessoas que já usam Git como sistema de controle de versão.
Duração: Idealmente 4h.
Configurações de ambiente: Preferencialmente sala com computadores que tenham o Git instalado ou sala com espaço e tomadas para cada um levar seu próprio computador.
Nível: Básico/Intermediário
Conteúdo:
- Primeiros passos
- Git básico
- Começando um repositório
- Git no dia-a-dia
- Trabalhando com repositórios remotos
- Entendendo Git
- Repositórios
- Objetos do Git
- Conceitos: files, trees, commits, tags
- SHA1
- Git branching
- Branch e merge
- Rebasing
- Branching models
- Desfazendo coisas
- Histórico público
- git reset
- git cherry-pick
- git revert
- reset, revert, checkout
- rebase vs merge
- Dicas e truques
Unsupervised Learning with Python
Unsupervised learning is a set of techniques that helps discover patterns in unlabeled data. For example, suppose you're looking at dogs - some dogs are tall, others may have long fur. Although you're not exactly sure what they're called, you may notice some repeating patterns and similarities. Without knowing what is a "Greyhound", or "German Shepherd" you've already learned their important attributes! This is one type of unsupervised learning, called clustering. Unsupervised learning is powerful tool for detecting anomolies, finding useful features, and visualizing the structure of unlabeled data. In this workshop we will give you an introduction to unsupervised learning techniques in machine learning. After a crash course on unsupervised learning, we will cover a few strategies used by popular algorithms, including K-means and PCA. During the workshop, we will be using a popular Python machine learning library, scikit-learn.
Topics:
-Supervised vs. Unsupervised learning
-Implementation of unsupervised learning algorithms (PCA, k-means, and others)
-Applications of unsupervised learning (Anomaly detection, compression, visualization)
-Examples with scikit-learn
Duration: 2 hours.
Web2py: Como Desenvolver Uma Aplicação Web Rápida e Segura com Python?
Resumo:
Ganhador do prêmio Bossie Award em 2011 como um dos melhores Softwares Open Sources e do prêmio Tecnologia do Ano da InfoWorld em 2012, o Web2py ganhou destaque na comunidade "pythônica" como um dos melhores Frameworks Python. De posse desta visibilidade, este treinamento tem como objetivo apresentar o Web2py em paralelo com o desenvolvimento de uma aplicação web destacando algumas de suas características como simplicidade, velocidade de implementação e segurança. Originalmente desenvolvido como uma ferramenta de ensino, o Web2py é extremamente fácil para a compreensão de usuários iniciantes, não havendo portanto, qualquer pré-requisito para seu aprendizado neste treinamento.
Agenda do treinamento:
1. Introdução:
- Princípios
- Frameworks para Web
- O padrão de projeto MVC (Model View Controller)
- Mas... por que web2py?
- Segurança
2. Download:
- Instalação? Ou configuração?
- Criando uma nova aplicação: Por onde começar?
3. Trabalhando no Model
- Apresentação do modelo da aplicação
- Introdução a DAL (Database Abstraction Layer)
- Definição das tabelas da aplicação
- Validação de dados
4. Trabalhando no Controll
- Apresentação das funções padrões do framework
- Construção das funcionalidades da aplicação
- Manipulação de dados: SQLFORM, Grids, CRUD e Custom Forms
5. Trabalhando na View
- Apresentação das páginas padrões do framework
- Por que criar páginas?
- Relação Controll vs View
- Personalizando as páginas da aplicação
- Funcionamento da aplicação
6. Sistema de Controle de Acesso
- Cadastro de Usuários
- Autenticação: É importante?
- Grupos e Permissões
7. URLs:
- Mapeamentos
- Personalização
8. Deploy da Aplicação
Duração:
- Ideal seria um tutorial de 8 horas com um intervalo a cada 4 horas. Mas se não for possível neste escopo, consigo apresentar em 6 horas direto.
Obs: A data da palestra precisa ser no dia 14/10, caso contrário, não posso participar!
Pré-requisitos:
- Não há pré-requisitos, uma vez que qualquer pessoa é capaz de desenvolver e entender uma aplicação utilizando o web2py.
Configurações de Ambiente:
1.Computadores com arquitetura Linux (preferência), MAC OS ou Windows contendo a versão Python 2.7 previamente instalada.
2.Disponibilidade para acessar a internet.
wolfcrypt: embalando segredos com Python
Já pensou no que aconteceria se alguém tivesse acesso às informações de login e senha de todos os usuários de uma aplicação sua? Como garantir que as senhas estejam protegidas mesmo com o vazamento dos dados?
E aquela outra sua aplicação ciente/servidor, como garantir a confidencialidade das informações que trafegam na rede? Como garantir que o cliente é realmente o cliente e não um agente malicioso?
Nesse tutorial pretendo introduzir conceitos básicos de criptografia clássica e moderna, e também apresentar o módulo wolfcrypt, engine de criptografia por trás da biblioteca wolfSSL responsável pela segurança de mais de 1 bilhão de aplicações e dispositivos.
Utilizaremos de exemplos práticos e desafios para verificação do conhecimento adquirido no treinamento.
Requisito: Amiente Linux: Ubuntu 14.10 por exemplo.
Público: Pessoas com conhecimentos básicos de Python.
Duração: 4 horas.
Workshop: Qual é a desse tal de Kanban, e como ele pode te ajudar a ser ágil de verdade
Pra muita gente, Kanban é só aquele quadrinho com to-do, doing e done. Isso é mais ou menos como achar que SNES é só Amazing Tennis!
Nesse workshop vamos fazer um jogo prático onde veremos como limitar WIP (Work in Process) realmente é a chave da agilidade, e como usar o método Kanban para visualizar seu trabalho, otimizar a quantidade de trabalho que você e seu time podem realizar ao mesmo tempo, encontrar os gargalos em seu processo e gerenciar o fluxo, pra sair do Extreme Go Horse e sobrar um tempinho no final do expediente pra jogar F-Zero e Super Mario World!
Duraçao: 2 horas.