Skip to content

rochacbruno/python-base

main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Python Expert

Um resumo dos treinamentos contidos no Python Expert.

  1. BASE - Conceitos fundamentais que formam a base para iniciar com Python, neste treinamento além de toda a base fundamental teórica tem muito execício prático e a criação de um projeto de backend em terminal completo com interfaces, banco de dados e testes.

  2. WEB - Python focado no desenvolvimento de backend para web e APIs usando os principais frameworks do mercado como Django, Flask e FastAPI, neste treinamento criaremos um mesmo projeto cobrindo as principais necessidades do mercado web e usando os 3 principais frameworks.

  3. Automação - Python com foco em automação de operações em ambientes DevOps, Ci, Cloud, Testes, Qualidade de Software, neste treinamento falaremos sobre sockets, subprocessos, code coverage, comunicação com cloud providers e módulos Ansible, análise de performance e criação de wrapers para APIs.

  4. Engineer - Para quem quer ir além da base, neste módulo vamos explorar conceitos avançados de Python, async, metaprogramação, descritores, criaremos nosso próprio framework e falaremos sobre inspeção de objetos e hooks.

Python BASE

Você está iniciando o Python BASE que é o primeiro passo para começar a sua carreira em desenvolvimento, este treinamento é pensado para pessoas que nunca tiveram contato com programação antes, ou que já possuem algum conhecimento em alguma outra linguagem e precisam aprender Python e vamos desde a teoria base do que é programação, instalação e configuração do ambiente, escolha de um editor de código e criação do seu primeiro script até a criação de vários pequenos programas que vão abordar as principais funcionalidades do Python e vamos também criar um projeto completo do zero com as melhores práticas do mercado.

Duração estimada em horas: 64h


Conteudo:

Day 1 - Iniciando no mundo da programação

Neste capítulo você terá uma introdução ao treinamento e aos conceitos básicos de programação e a linguagem Python, também aprenderá como instalar e preparar um ambiente para programar.

  1. Introdução
  2. Programação e Linguagens
  3. Como é organizada a plataforma Python
  4. Instalação e preparação do ambiente
  5. Repositório, git e seu primeiro script
  6. Variáveis de ambiente
  7. Tipos de instruções
  8. Organização de blocos de código
  9. Ambientes virtuais, instalação de pacotes e Ipython

Duração: 5h

Day 2 - Tipos e estruturas de dados

Neste capítulo você conhecerá os tipos e estruturas de dados do Python e execicios práticos para entender como manipulamos informações.

  1. Protocolos e Tipos de dados primitivos
  2. Float, Bool, None
  3. Textos, Caracteres e Strings
  4. Formatação de texto
  5. Tipos de dados compostos e Tuplas
  6. Listas
  7. Exercicio com Listas, Tuplas, Loops e Condicionais
  8. Sets (conjuntos)
  9. Dicionários
  10. Exercicio: Refatorando nosso Hello World com dicionários

Duração: 7h

Day 3 - Input, Output, Processamento

Nesta parte do treinamento o foco é obter informações do usuário, aplicar algortimo para processar e persistir a informação em arquivos.

  1. Stdin e Stdout
  2. Leitura de inputs do stdin e de argumentos do terminal
  3. Exercicio de criação de uma calculadora infix com input e argumentos
  4. Filesystem - Manipulação de arquivos e pastas
  5. Exercicio - Criando um bloco de anotações no terminal
  6. Tratamento de Erros LBYL e EAFP
  7. Logging - Formatando e gravando logs
  8. Algoritmos e lógica - Condicionais, Operadores compostos
  9. Condicionais ternárias e inline
  10. Repetições com for, while e comprehensions.
  11. Exercicio: Sistema de Reservas com iterators, textos, inputs e arquivos de texto.

Duração: 10h

Day 4 - Funções, Debugging e seu primeiro projeto.

Neste capítulo terá muito conteúdo sobre funções com exercicios práticos e em seguida aprenderá técnicas e ferramentas para depurar erros do programa e em seguida aprenderá a criar seu próprio projeto com as melhores práticas.

  1. Funções builtin uteis - sum, len, vars, min, max, filter, map
  2. Funções úteis da biblioteca padrão - random, pprint, itertools, functools, smtplib etc
  3. Definindo suas próprias Funções e aplicando fórmula matemática
  4. Anatomia detalhada de funções - assinatura, argumentos, retornos
  5. Escopos e namespaces e argumentos coringas
  6. Funções lambda
  7. Exercicio com lambda, recursão e introdução a programação funcional
  8. Debugging - Técnicas e ferramentas para encontrar erros.
  9. O Sistema de imports do Python
  10. Criando um repositótio para seu primeiro projeto e configurando o VSCode
  11. Estrutura de pastas, build e install do projeto
  12. Entry points com console scripts
  13. Gestão de dependencias e Makefile

Duração: 12h

Day 5 - Qualidade de Software e de Código

Nesta parte focamos em testes, integração continua e qualidade do projeto incluindo testes unitários, testes de integração e adequação com code style além de uma introdução a documentação de software e empacotamento.

  1. Introdução a testes + Doctest, Pytest e Decorators
  2. Diferençá entre unit e integration tests, configuração do Pytest e CI com Github Actions
  3. Boas práticas em testes e test reports
  4. Qualidade de código, linters e auto formatação
  5. Escolhendo boas ferramentas e libraries
  6. Introdução ao TDD
  7. Introdução a persistencia de dados e testes
  8. Documentação de projetos, Empacotamento e Distribuição no PyPI

Duração: 10h

Day 6 - Orientação a Objetos

Uma das principais caracteristicas da linguagem Python é a aplicação da Orientação a Objetos seguindo um modelo que é um pouco diferente do tradicional e muito flexivel, neste capítulo falaremos sobre toda a base da orientação a objetos com Python.

  1. Os paradigmas de programação
  2. Introdução a Orientação a Objetos
  3. Inicialização de instâncias
  4. Os 4 pilares da O.O: Abstração, Herança, Polimorfismo, Encapsulamento
  5. Encapsulamento com properties
  6. Python Data Model e Protocolos
  7. Python Moderno, Type Annotations e Dataclasses
  8. Dataclass abstrata, Enums, field e super()
  9. Structural Pattern Matching

Duração: 7h

Day 7 - Consumindo e armazenando dados.

Na maior parte dos programas sempre teremos que carregar e armazenar dados e para isso precisamos aprender a usar bancos de dados SQL e consultar APIs.

  1. Modelangem de dados com dataclasses e Pydantic
  2. Prova de conceito de um ORM
  3. Introdução a SQL e SQLite
  4. SQL Alchemy
  5. SQL Model
  6. Convertendo software legado para SQL
  7. Database Migrations e Consumindo API Rest
  8. Finalização do Projeto e desafios

Duração: 8h

Day 8 - Demonstrações

Nesta última parte do treinamento a intenção é fazer uma demonstração bastante breve a respeito das ferramentas e frameworks principais do mercado, o formato não será de aula mas sim de mão na massa, seguindo o mesmo projeto desenvolvido no treinamento vamos adicionar interfaces Gráfica (GUI), 2D (Pygame), terminal (TUI), web (html) e API (REST).

  1. Interface Gráfica para Desktop - Demonstração com Tk e Pysimplegui
  2. Interface 2D para games - Demonstração com Pygame
  3. Interface Gráfica para Terminal - Demonstração com Textual (game)
  4. Interface web com html - Demonstração com Flask
  5. Interface API com REST/Json - Demonstração com FastAPI

Duração: 5h