Desenvolvedor Python - curso RUB 161.352. da Skypro, treinamento 10 meses
Miscelânea / / November 27, 2023
Uma vez por semana, com um mentor, discutimos suas dúvidas em tempo real e explicamos imediatamente na prática. Resolvemos tarefas junto com o grupo e conduzimos sessões de codificação ao vivo.
Programa do curso
"Desenvolvedor Python"
Adicionamos 145 horas ao programa para que após o treinamento você esteja muito acima de seus concorrentes no mercado de trabalho
Você emergirá não como um Junior, mas como um especialista Junior+
Obtenha um diploma de reciclagem profissional
Domine as mais recentes ferramentas de desenvolvedor Python
redes neurais para programadores (ChatGPT, Copilot)
pensamento de negócios
Inglês para desenvolvedores
escolha da especialização
4 módulos exclusivos para trabalhar como desenvolvedor Python
9 projetos práticos reais
tese única
Aprender através da prática é indistinguível de 1 ano de experiência real de trabalho
Introdução à programação e espaço do desenvolvedor
Introdução à profissão e os fundamentos da algoritmização
Você aprenderá o conceito de algoritmo e seus principais elementos, como funciona uma aplicação web básica e praticará a implementação de fluxogramas em problemas reais.
Imersão: Coleções e Nesting
Amplie seu conhecimento sobre coleções: conheça conjuntos e tuplas. Descubra o que é JSON e como trabalhar com ele, explore a biblioteca Requests - uma ferramenta para envio de solicitações a recursos de terceiros.
Aprenda a sintaxe básica do Python, configure um ambiente de desenvolvimento interativo e escreva seu primeiro código simples para resolver um problema do mundo real.
Cordas e Dicionários
Você trabalhará com strings: enumeração, busca de caracteres, divisão de strings por caracteres e conversão em uma lista de caracteres e vice-versa, contagem do número de caracteres em uma linha e substituição de um caractere por outro. Você também aprenderá como trabalhar com uma nova coleção - um dicionário.
Noções básicas de sintaxe
Aprenda funções básicas do Python, o conceito de uso de variáveis, tipos de dados e como usar diferentes tipos de dados para diferentes tarefas.
Funções
Aprenda a dividir um programa em sub-rotinas usando uma função, familiarize-se com argumentos e documente funções.
Listas e Loops
Domine a primeira coleção - listas. Aprenda a usar seus métodos, pratique a obtenção e alteração de dados deles.
Noções básicas de abstrações e objetos
Aprenda o que são abstrações e como implementá-las em Python. Aprenda a criar classes, campos, instâncias e métodos e a mover lógica comum para classes pai.
Selecionando um ambiente de desenvolvimento e instalando um editor de código para Python (PyCharm)
Aprenda o que são abstrações e como implementá-las em Python. Aprenda a criar classes, campos, instâncias e métodos e a mover lógica comum para classes pai.
Ao final do módulo você:
Dominar os princípios básicos do desenvolvimento
Fizemos 2 projetos de curso:
Um programa que converte palavras em código Morse e as compara com a resposta do usuário
Um simples jogo de palavras
Linha de comando, Linux, Git, ambiente, testes
Introdução à linha de comando
Familiarize-se com a linha de comando do Linux, instale o Ubuntu em seu próprio computador, aprenda a usar comandos básicos do Linux para gerenciar o sistema através da linha de comando.
Git: Noções básicas e trabalho com ramificações
Você aprenderá como gerenciar versões de código, trabalhar com alterações e reverter código para uma versão específica e começar a trabalhar com um repositório de código remoto - GitHub. Você praticará o uso de ramificações para conduzir o desenvolvimento em equipe de um produto.
Aprenda a trabalhar com o sistema operacional Linux, crie sua própria infraestrutura e aprenda como verificar se há erros em seu código.
Configurando o ambiente
Aprenda o que é um ambiente virtual, implemente-o no seu projeto, entenda o que são dependências e como trabalhar com elas. Dominar ferramentas para trabalhar com ambientes virtuais - venv e poesia.
Noções básicas de teste de código
Descubra quais tipos de testes existem e por que você precisa testar seus próprios programas. Aprenda a escrever testes usando unittest e pytest e considere a cobertura de código como testes.
Linha de comando e Linux
Você aprenderá o que são fluxos e pipelines de E/S, aprenderá como gerenciar usuários no Linux e também trabalhará com um gerenciador de pacotes para gerenciar programas instalados.
Ao final do módulo você:
Dominou os princípios de teste: aprendeu a trabalhar na rede profissional de desenvolvedores GitHub
Fizemos um projeto de curso: um widget de transações bancárias com exibição das últimas dez transações da conta
Programação orientada a objetos (OOP)
Introdução à POO
Você aprenderá o que é OOP, quais são os princípios básicos deste paradigma, como uma classe difere de um objeto. Escreva seu próprio construtor de classe e aprenda como testar métodos de classe.
Modos de acesso
Aprenda quais modos de acesso aos atributos e métodos de classe existem em Python, como eles diferem entre si, por que são usados e como são implementados. Considere os princípios de trabalhar com o decorador @property.
Aprenda o princípio básico sobre o qual toda linguagem de programação e todos os tipos de desenvolvimento são construídos.
Exceções
Você aprenderá quais tipos de exceções existem, como lidar com elas e evitar que a execução do programa seja interrompida. Familiarize-se com a construção try...except, a instrução raise e o conceito de teste de exceção. Escreva suas próprias exceções.
Herança e herança múltipla
Você aprenderá sobre herança - um dos princípios da OOP, classes pai e filho, o conceito de herança múltipla e MRO. Você trabalhará com classes abstratas e sua conexão com polimorfismo.
Linha de comando e Linux
Você aprenderá o que são fluxos e pipelines de E/S, aprenderá como gerenciar usuários no Linux e também trabalhará com um gerenciador de pacotes para gerenciar programas instalados.
2 projetos de curso por módulo
Sistema de gerenciamento de produtos para uma loja de eletrônicos, onde são calculados os valores e descontos dos itens do carrinho
Uma plataforma de análise do YouTube, onde são analisadas a popularidade dos canais, a duração das playlists e são exibidos os vídeos mais interessantes do canal
Trabalhando com bancos de dados e SQL
Cada site possui um banco de dados - você aprenderá como recuperar dados dele corretamente, automatizar e configurar processos de transferência de dados e escrever consultas básicas e complexas.
Introdução aos bancos de dados
Instale o PostgreSQL, aprenda a sintaxe da linguagem de consulta SQL, crie seu primeiro banco de dados e preencha-o com dados.
Projetando bancos de dados e trabalhando com tabelas
Familiarize-se com as formas normais das tabelas, aprenda como projetar seu banco de dados levando em consideração a tarefa. Você trabalhará com alteração e exclusão de dados e tabelas inteiras, aprenderá a trabalhar com as restrições que os relacionamentos entre tabelas impõem aos dados.
Consultas SQL básicas e sintaxe avançada
Aprenda sobre operadores para obter, classificar, filtrar, agrupar dados e aprender como vincular tabelas entre si, fazer seleções de dados de tabelas relacionadas de várias maneiras, usar subconsultas quando amostra.
Ao final do módulo você:
Dominar a linguagem SQL para consulta de tabelas e aprender a trabalhar com grandes quantidades de dados: filtrar, alterar e agregar informações
Fizemos um projeto de curso: um banco de dados que preenche e armazena automaticamente informações sobre vagas interessantes nas empresas que você escolhe para trabalhar
Trabalhando na estrutura Django
Cada site possui um banco de dados - você aprenderá como recuperar dados dele corretamente, automatizar e configurar processos de transferência de dados e escrever consultas básicas e complexas.
Introdução aos bancos de dados
Instale o PostgreSQL, aprenda a sintaxe da linguagem de consulta SQL, crie seu primeiro banco de dados e preencha-o com dados.
Consultas SQL básicas e sintaxe avançada
Aprenda sobre operadores para obter, classificar, filtrar, agrupar dados e aprender como vincular tabelas entre si, fazer seleções de dados de tabelas relacionadas de várias maneiras, usar subconsultas quando amostra.
Projetando bancos de dados e trabalhando com tabelas
Familiarize-se com as formas normais das tabelas, aprenda como projetar seu banco de dados levando em consideração a tarefa. Você trabalhará com alteração e exclusão de dados e tabelas inteiras, aprenderá a trabalhar com as restrições que os relacionamentos entre tabelas impõem aos dados.
Ao final do módulo você:
Dominar a linguagem SQL para consulta de tabelas e aprender a trabalhar com grandes quantidades de dados: filtrar, alterar e agregar informações
Fizemos um projeto de curso: um banco de dados que preenche e armazena automaticamente informações sobre vagas interessantes nas empresas que você escolhe para trabalhar
Trabalhando na estrutura Django
Noções básicas da Web
Entenda como o computador, a rede e o servidor estão conectados e como os navegadores respondem às solicitações dos usuários. Crie um aplicativo da web baseado em navegador que exiba informações sob demanda.
Conhecendo e trabalhando com Django
Aprenda como criar e configurar um projeto Django, recuperar dados e retornar uma resposta a uma solicitação.
Aprenda a trabalhar no framework de desenvolvimento Python mais popular - Django. Todos os aplicativos complexos e grandes são coletados nele.
Diferentes tipos de representações: FBV e CBV
Aprenda as classes básicas para implementação de controladores (CRUD), substituição de métodos e como traduzir um controlador de uma função para uma classe.
No final do módulo você fará um grande projeto de curso:
Escreva um serviço de newsletter por e-mail com função de autorização e diferentes funções de acesso: administrador, leitor, convidado. Implementar uma interface para gerenciamento de e-mails e obtenção de estatísticas sobre o funcionamento do programa
Modelagem
Você entenderá como conectar um modelo a um projeto, usar submodelos e vários modelos de uma só vez. Aprenda Bootstrap, responsável pela interface do aplicativo.
Formulários e Autenticação
Aprenda a trabalhar com formas e formatos, redefinir a lógica do seu trabalho e definir o design visual. Você pode criar um modelo de autenticação e editá-lo para que os usuários possam se registrar e fazer login no site.
Armazenando em cache e trabalhando com variáveis de ambiente
Entenda como armazenar informações sobre a lógica de negócios do aplicativo. Você aprenderá como implementar o cache em um projeto e como usar o cache de um site ou de suas partes.
No final do módulo você fará um grande projeto de curso:
Escreva um serviço de newsletter por e-mail com função de autorização e diferentes funções de acesso: administrador, leitor, convidado. Implementar uma interface para gerenciamento de e-mails e obtenção de estatísticas sobre o funcionamento do programa
Noções básicas da Web
Entenda como o computador, a rede e o servidor estão conectados e como os navegadores respondem às solicitações dos usuários. Crie um aplicativo da web baseado em navegador que exiba informações sob demanda.
Conhecendo e trabalhando com Django
Aprenda como criar e configurar um projeto Django, recuperar dados e retornar uma resposta a uma solicitação.
Aprenda a trabalhar no framework de desenvolvimento Python mais popular - Django. Todos os aplicativos complexos e grandes são coletados nele.
Diferentes tipos de representações: FBV e CBV
Aprenda as classes básicas para implementação de controladores (CRUD), substituição de métodos e como traduzir um controlador de uma função para uma classe.
No final do módulo você fará um grande projeto de curso:
Escreva um serviço de newsletter por e-mail com função de autorização e diferentes funções de acesso: administrador, leitor, convidado. Implementar uma interface para gerenciamento de e-mails e obtenção de estatísticas sobre o funcionamento do programa
Modelagem
Você entenderá como conectar um modelo a um projeto, usar submodelos e vários modelos de uma só vez. Aprenda Bootstrap, responsável pela interface do aplicativo.
Formulários e Autenticação
Aprenda a trabalhar com formas e formatos, redefinir a lógica do seu trabalho e definir o design visual. Você pode criar um modelo de autenticação e editá-lo para que os usuários possam se registrar e fazer login no site.
Armazenando em cache e trabalhando com variáveis de ambiente
Entenda como armazenar informações sobre a lógica de negócios do aplicativo. Você aprenderá como implementar o cache em um projeto e como usar o cache de um site ou de suas partes.
Trabalhando com APIs Web no Django REST Framework
Configure a troca de dados entre diferentes aplicativos e prepare o projeto para transferência para desenvolvedores web.
Viewets e genéricos
Configure o Django REST Framework, trabalhe com Postman e descreva controladores baseados em viewsets e genéricos.
Serializadores
Aprenda como estender ou criar campos personalizados e implementar multiplicidade em serializadores.
Direitos de acesso em DRF
Aprenda o processo de conexão a um projeto JWT para autorização. Você aprenderá como definir direitos de acesso a um modelo, objeto ou controlador e como editá-los para atender aos requisitos de negócios.
Validadores e testes
Aprenda diferentes abordagens de teste no Django para melhorar a qualidade do seu projeto.
Documentação
Aprenda como preparar corretamente a documentação e modificá-la antes de entregar sua aplicação aos desenvolvedores web.
Salsão
Saiba o que são filas de tarefas, tarefas adiadas e tarefas periódicas. Aprenda como criá-los.
Ao final do módulo você fará um projeto de curso:
Escreva um rastreador de hábitos úteis. O serviço irá sincronizar com o Telegram e enviar lembretes ao usuário
Noções básicas e implantação do Docker
Noções básicas do Docker
Aprenda a trabalhar com Docker em diversos sistemas operacionais, criar contêineres e regular sua operação com base no desempenho do projeto e nos requisitos do cliente. Empacote o projeto em um contêiner Docker e escreva as primeiras instruções para o Dockerfile.
Composição do Docker
Aprenda a executar vários aplicativos e instalar contêineres usando Docker Compose.
Aprenda como entregar aplicativos ao servidor de maneira rápida e universal.
Implantar
Familiarize-se com as etapas básicas de implantação de um projeto em um servidor remoto, aprenda como se conectar a ele e aprenda como trabalhar com chaves SSH.
CI/CD de integrações contínuas
Aprenda a arquitetura CI/CD do GitLab, a sintaxe do arquivo yml e escreva seu próprio arquivo descrevendo como construir e implantar um aplicativo via CI/CD. Entenda o algoritmo para configurar um servidor para implantação de CI/CD, registre e instale seus próprios executores para implantação do projeto.
Ao final do módulo você fará um projeto de curso:
Implante qualquer curso concluído anteriormente no Docker
Trabalhando na estrutura FastAPI
Aprenda a trabalhar no novo framework, descubra porque ele é mais rápido e produtivo que o Django e qual é o melhor para escolher para o seu trabalho.
Conceitos básicos do FastAPI
Aprenda roteamento, parâmetros de solicitação e resposta, assincronia e documentação de API.
Análise comparativa de FastAPI e Django
Você entenderá os prós e os contras, quais tarefas cada framework pode resolver e como escolher com qual trabalhar.
Prática
Faça a mesma tarefa no FastAPI e no Django, veja como o princípio de desenvolvimento difere em cada framework.
Bônus adicional ao procurar emprego:
Ao final do módulo você poderá trabalhar não só no framework básico, mas também em uma ferramenta de desenvolvimento avançada
Preparando-se para entrevistas sobre algoritmos
Qualquer grande empresa testa separadamente o conhecimento de algoritmos e estruturas de dados. Estamos nos preparando para isso em um bloco especial.
Perguntas-chave para uma entrevista algorítmica
Você aprenderá no que as pessoas prestam atenção, quais perguntas capciosas elas podem fazer e como respondê-las.
Aulas teóricas + simulador prático
Depois de praticar suas habilidades e resolver problemas, na entrevista eles perguntarão exatamente quantos problemas semelhantes você concluiu e escolherão você com base nessa habilidade. Portanto, quanto mais, melhor.
Bônus adicional ao procurar emprego:
Ao final do módulo, você terá um portfólio pronto com uma dúzia de problemas resolvidos.
Pensamento empresarial: o primeiro passo para se tornar um líder de equipe
Ensinamos você não apenas a realizar uma tarefa, mas a entender por que você está realizando a tarefa, quais benefícios ela traz para o negócio – e encontrar uma solução mais eficaz.
Não há lições específicas aqui, porque o pensamento empresarial é uma habilidade transversal que é levada em consideração em todos os módulos do programa.
Ao final do módulo você:
Você ganhará experiência na solução de problemas reais, aprenderá a procurar erros no código de outras pessoas e ficará muito acima de outros novatos no mercado.
Redes Neurais: escrevendo código com ChatGPT, Copilot
Coletando código simples com ChatGPT
Você entenderá quais tarefas o ChatGPT pode realizar e quais você não deve confiar nele. Você aprenderá como usar redes neurais em áreas simples de trabalho para se livrar de tarefas rotineiras.
Revisão de código usando o Copilot
Reduza o tempo de revisão de código, encontre erros e aumente a eficiência do trabalho.
Aprenda a resolver problemas básicos usando redes neurais e agilize o trabalho com código.
Faça uma varredura rápida nos mecanismos de pesquisa para encontrar os materiais necessários
Aprenda a usar redes neurais em vez do “Google” - componha corretamente uma consulta para obter uma seleção pronta de artigos com as respostas corretas para a pergunta desejada e economizar tempo na pesquisa.
Ao final do módulo você:
Um passo à frente de outros recém-chegados na área
Não tenha medo de perder o emprego por causa das redes neurais
Você sabe como automatizar tarefas rotineiras
Inglês para Desenvolvedor Python
Aprenda 180 termos-chave que os desenvolvedores enfrentam todos os dias
Melhore o seu nível para ler facilmente documentação de desenvolvimento importante que não está disponível em russo
Professor de língua russa, adequado para qualquer nível de conhecimento de inglês
4 aulas gratuitas com um professor particular para superar a barreira do idioma
Ao final do módulo você:
Você pode ler os últimos desenvolvimentos de colegas que falam inglês, aplicá-los em seu trabalho e estar um passo à frente
Saiba como nomear funções em palavras claras em inglês para que você e seus colegas possam usar o código facilmente
Não fique estressado quando colegas usarem termos em inglês: todos vocês os conhecem
Somente em tarifa individual
Escolhendo 1 de 4 áreas para desenvolvimento em Python
Escolhendo uma direção
Você conhecerá detalhadamente as principais tendências atuais de desenvolvimento em Python e escolherá em qual deseja desenvolver: backend, full stack, trabalho com algoritmos ou programação assíncrona.
Preparação para a tese
Escolha o seu próprio projeto que melhor demonstre suas habilidades para a direção específica que você escolheu.
Você passará por uma importante bifurcação conosco: escolha a direção do desenvolvimento como desenvolvedor Python e se prepare para procurar um emprego.
Bônus adicional ao procurar emprego
No final do módulo, você terá um plano claro para desenvolver um projeto de tese exclusivo que entrará em seu portfólio de busca de emprego.
Introdução ao Frontend: HTML, CSS, JavaScript
Trabalho de graduação
Noções básicas da Web
Entenda como o computador, a rede e o servidor estão conectados e como os navegadores respondem às solicitações dos usuários. Crie um aplicativo da web baseado em navegador que exiba informações sob demanda.
Conhecendo e trabalhando com Django
Aprenda como criar e configurar um projeto Django, recuperar dados e retornar uma resposta a uma solicitação.
Aprenda a trabalhar no framework de desenvolvimento Python mais popular - Django. Todos os aplicativos complexos e grandes são coletados nele.
Diferentes tipos de representações: FBV e CBV
Aprenda as classes básicas para implementação de controladores (CRUD), substituição de métodos e como traduzir um controlador de uma função para uma classe.
No final do módulo você fará um grande projeto de curso:
Escreva um serviço de newsletter por e-mail com função de autorização e diferentes funções de acesso: administrador, leitor, convidado. Implementar uma interface para gerenciamento de e-mails e obtenção de estatísticas sobre o funcionamento do programa
Modelagem
Você entenderá como conectar um modelo a um projeto, usar submodelos e vários modelos de uma só vez. Aprenda Bootstrap, responsável pela interface do aplicativo.
Formulários e Autenticação
Aprenda a trabalhar com formas e formatos, redefinir a lógica do seu trabalho e definir o design visual. Você pode criar um modelo de autenticação e editá-lo para que os usuários possam se registrar e fazer login no site.
Armazenando em cache e trabalhando com variáveis de ambiente
Entenda como armazenar informações sobre a lógica de negócios do aplicativo. Você aprenderá como implementar o cache em um projeto e como usar o cache de um site ou de suas partes.
Trabalhando com APIs Web no Django REST Framework