Os conceitos que você aprende em cada módulo. Ficam verdes quando você é aprovado na prova do módulo.
Módulo 1: Boas-vindas ao Python Avançado
salto avancadoengenharia de softwarecodigo que se garanterevisao intermediarioorientacao a objetosdecoradores e geradoresplayground avancadoferramentas de engenhariatype hints preview
Módulo 2: Tipagem estática
type hintsanotacao de funcaoanotacao de variaveltipos de colecaooptionalunioncallableanyalias de tipogenericstypevarprotocolmypyerros de tipoquando tipar
Módulo 3: Dataclasses e estruturas de dados
dataclasscampos anotadosmetodos geradosdefault factoryvalor mutavelfieldfrozenpost initinvariantesnamedtuplecomparacao estruturasescolha de estruturaenumvalores magicosconstantes nomeadas
Módulo 4: Programação funcional
funcao puraefeito colateralimutabilidademap filterlambdacompreensao vs mapreducepartialaplicacao parciallru cachememoizacaocache de funcaoitertoolsiteradores infinitosgroupby
Módulo 5: Decoradores avançados
decorador por dentrofunctools wrapsidentidade da funcaofabrica de decoradortres niveisdecorador configuraveldecorador de classeregistro de classesdataclass como decoradorempilhar decoradoresordem de aplicacaoordem de execucaodecorador de log e timerlru cachedecorador de retry
Módulo 6: Context managers e o with
gestao de recursosgarantia de limpezawith versus finallyprotocolo context managermetodo entermetodo exitcontextmanager decoradoryield como fronteiralimpeza no finallycontextlib suppresscontextlib exitstackrecursos dinamicoslock com withtransacao commit rollbackcronometro com with
Módulo 7: Geradores e iteradores avançados
iteravel versus iteradormetodo nextstopiterationgenerator expressionavaliacao preguicosaconsumo unicoyield fromdelegacao de geradorcomposicao de geradorespipeline de geradoresgerador infinitoitertools islicemetodo sendcorrotina geradorponte para async
Módulo 8: Concorrência com threads
concorrencia vs paralelismogilio bound vs cpu boundthreading threadstart e joinargs em threadrace conditionsecao criticathreading lockprodutor consumidorqueue thread safesentinela de fimthread poolconcurrent futuressubmit e map
Módulo 9: Async e asyncio
desperdicio de iocooperativo vs preemptivoasync panoramaasync defawaitobjeto corrotinaevent loopasyncio runponto de entrada asyncasyncio gathersobreposicao de esperasasync for withasync vs threadscodigo bloqueante no loopdecisao de concorrencia
Módulo 10: Orientação a objetos avançada
propertygetter e settervalidacao de atributoclassmethodstaticmethodconstrutor alternativometodos dunderrepr vs strprotocolos da linguagemheranca multiplamrosuper cooperativocomposicao vs herancaslotseconomia de memoria
Módulo 11: Metaclasses e descritores
classe como objetotype fabricamodelo de objetosmetaclasscriacao de classeparcimoniadescritorprotocolo descritorproperty por dentrointercepta atributogetattr vs getattributerecursao infinitainit subclassregistro automaticoescolha da ferramenta
Módulo 12: Exceções, logging e robustez
hierarquia excecoesexcecao base do dominiocaptura precisaraise fromencadeamento de excecaocausa originalelse finallyeafplbylloggingniveis de loghandlers formattersprogramacao defensivafalhar rapidoassert vs excecao
Módulo 13: Testes avançados
pytest basicofuncao de testerelatorio de testefixturesetup teardownreuso de cenarioparametrizetestar excecaocasos de bordamockmonkeypatchisolar dependenciacoberturatddred green refactor
Módulo 14: Performance e profiling
medir antes de otimizartimeitmicrobenchmarkcprofilepstatsleitura de perfilcomplexidade big obusca lista vs setescolha de estruturacollections dequeheapq fila de prioridadebisect lista ordenadamemoizacao lru cachegeradores para memoriaarmadilhas de performance
Módulo 15: Empacotamento e boas práticas
modulo vs pacoteinit pyestrutura de projetopyproject tomlimport absolutoimport relativopep 8formatador blacklinter ruffresponsabilidade unicaaberto fechadoinversao de dependenciaestrategia com funcaofabrica simplesclean code dry
Módulo 16: Projeto final: mini biblioteca de utilidades
visao do projetoarquitetura de pacotedivisao de responsabilidadesdataclass tipadaenum de dominiovalidacao post initdecorador de cachedecorador de validacaocontext manager propriohierarquia de excecoeslogging em bibliotecaniveis de logtestes com pytestempacotamento finalencerramento do curso