Giter Club home page Giter Club logo

python-base's Introduction

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

python-base's People

Contributors

rochacbruno avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-base's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.