Programador Java - curso 106.920 rublos. da GeekBrains, treinamento de 7 meses, Data: 5 de junho de 2023.
Miscelânea / / November 28, 2023
Noções básicas de programação
O curso é direcionado a pessoas sem experiência em programação. Para começar a aprender, basta ter conhecimentos de informática ao nível do usuário mais comum. Todo o treinamento ocorrerá no navegador e você não precisará instalar software adicional. Você aprenderá o que é um programa, como ele é executado e se familiarizará com as operações básicas de programação. Falaremos sobre tipos básicos de dados, arrays, ramificações, loops e funções em linguagem acessível. Você ganhará experiência na resolução de problemas simples, mas interessantes, o que lhe dará a base para aprender a resolver problemas muito mais sérios.
Lição 1. Programa, variáveis e tipos de dados
Após a aula você terá uma ideia do que é um programa, que consiste em instruções e dados, você aprenderá tipos de dados escalares em JS, você pode escrever um programa que multiplique dois números inseridos pelo usuário e imprima resultado.
Lição 2. Fluxogramas e ramificações
Após a aula, você terá uma ideia de como visualizar algoritmos usando fluxogramas, entender o trabalho dos operadores de comparação, entender como usar ramificação e quais problemas ela resolve
Lição 3. Ciclos
Após esta lição, você entenderá como visualizar algoritmos cíclicos usando fluxogramas, como usar loops e quais problemas eles resolvem.
Lição 4. Funções
Após a lição, você terá uma ideia de quais problemas são resolvidos colocando código em funções, e será capaz de criar funções, inclusive aquelas que aceitam argumentos.
Lição 5. Matrizes
Após a lição, você terá uma ideia de quais problemas os arrays resolvem, será capaz de criar arrays, adicionar e receber seus elementos.
Java. Nível 1. 1 mês.
Java SE 8 e superior
Um curso para desenvolvedores iniciantes, aqueles que desejam dominar rapidamente os fundamentos da programação orientada a objetos (OOP) e aprender a criar seus próprios projetos. A principal característica do curso é a combinação do estudo dos fundamentos teóricos da linguagem Java e do treinamento prático online sob orientação de um professor.
Lição 1. Java. Introdução
Recursos da plataforma Java, ferramentas de desenvolvimento, escrita do primeiro programa “Hello, World!”. Variáveis, constantes, tipos de dados primitivos e princípios para trabalhar com eles. Métodos. Declarações condicionais.
Lição 2. Projetos básicos
Loops, instrução switch, blocos de código, escopos de variáveis, arrays.
Lição 3. Prática
Análise de exemplos práticos de utilização dos elementos básicos da linguagem Java, trabalhando com o console.
Lição 4. Jogo da velha em estilo processual
Aplicamos os conhecimentos adquiridos para escrever o programa de console “Tic Tac Toe”.
Lição 5. Introdução à POO
Introdução à programação orientada a objetos. Classes, objetos, construtores, encapsulamento e modificadores de acesso.
Lição 6. POO avançado
Estudo aprofundado de questões de programação orientada a objetos: herança, polimorfismo.
Lição 7. Pratique OOP e trabalhe com strings
Análise de exemplos práticos de utilização de OOP no desenvolvimento de aplicações. Trabalhando com as classes String, StringBuilder, StringBuffer.
Lição 8. Escrevendo um aplicativo GUI
Noções básicas de trabalho com a biblioteca Swing. A janela principal do aplicativo, controles e seu layout. Escrevendo uma aplicação com interface gráfica, montando o projeto.
Eita. Curso básico
Noções básicas de Git
13 vídeos ensinarão o básico sobre como trabalhar com o sistema de controle de versão Git. Você aprenderá por que isso é importante no desenvolvimento moderno. Aprenda os conceitos básicos: repositório, commits, ramificações e tags. Operações de chave mestra: criação e clonagem de um repositório, fusão de ramificações, consulta de histórico de alterações e muito mais. Após o treinamento, você estará pronto para usar o Git para preparar tarefas de casa para cursos de programação em qualquer idioma. Além disso, você ficará mais próximo da entrevista, onde diversas perguntas costumam focar no controle de versão.
Lição 1. Introdução ao Git
Lição 2. Instalando e configurando o Git
Lição 3. Comandos básicos do terminal
Lição 4. Trabalhando com repositórios no Git
Lição 5. Gerenciamento de arquivos de repositório
Lição 6. Histórico de mudanças
Lição 7. Trabalhando com ramificações de repositório
Lição 8. Publicando um repositório
Lição 9. Fusões de filiais
Lição 10. Gerenciamento de versões
Lição 11. Criando uma solicitação pull
Lição 12. Operações complexas
Lição 13. Trabalhando com repositórios Fork
Noções básicas de banco de dados. 20 aulas.
Design de banco de dados e consultas SQL
Bancos de dados (BDs) são sistemas de armazenamento e processamento de dados que são acessados através da linguagem SQL (Structured Query Language). Qualquer site, jogo ou aplicativo de desktop moderno precisa de armazenamento de dados. No momento, existem muitos sistemas de gerenciamento de banco de dados (SGBD) diferentes, sendo o mais popular o MySQL. “Database Basics” são 20 videoaulas intensivas (10 minutos cada), onde passaremos por todas as etapas do design do banco de dados usando o exemplo de uma loja online usando a linguagem de consulta SQL. Após este curso, você poderá utilizar diversos bancos de dados, como MS SQL e Postgre Sql, já que a sintaxe SQL para eles é praticamente a mesma.
Lição 1. Bancos de dados relacionais
Qual é a diferença entre um banco de dados e um SGBD; quais bancos de dados são chamados de relacionais; visão geral do SGBD moderno.
Lição 2. Instalando o SGBD
Instalação do SGBD MySql e da aplicação gráfica Mysql Workbench.
Lição 3. Design de banco de dados, formulários normais
Desenho de dados em Excel; formas normais; chave primária.
Lição 4. Comando SQL CRIAR
Criação de tabelas na GUI do MySql Workbench; comando CRIAR; tipos de dados; trabalhar no console.
Lição 5. Comando SQL INSERT
Preenchimento de tabelas com dados através de interface gráfica; Comando INSERIR; INCREMENTO AUTOMÁTICO.
Lição 6. Comandos SQL SELECT e WHERE
Recebimento e filtragem de dados utilizando comandos SQL SELECT e WHERE; verificando NULL; filtragem de dados por diversas condições.
Lição 7. Comandos SQL DISTINCT, ORDER BY, LIMIT
Recebimento e filtragem de dados utilizando comandos SQL DISTINCT e LIMIT; classificação usando o comando ORDER BY.
Lição 8. Comandos SQL DELETE e UPDATE
Atualização e exclusão de dados utilizando comandos SQL DELETE e UPDATE; filtragem de dados usando WHERE IN.
Lição 9. A consistência dos dados
O conceito de consistência ou consistência de dados.
Lição 10. Chave externa
O conceito de chave estrangeira e restrições nos valores das colunas; RESTRIÇÕES-CHAVE ESTRANGEIRAS.
Lição 11. Criando tabelas com um relacionamento muitos para muitos
Adicionando um carrinho ao banco de dados da loja online.
Lição 12. Chave primária composta
Usando uma chave primária composta ao projetar uma tabela com um relacionamento muitos para muitos.
Lição 13. Mesclando dados de várias tabelas
Recuperação de dados de diversas tabelas inter-relacionadas; inconsistência da abordagem usando vários SELECTs.
Lição 14. Operador INNER JOIN
Unir dados de várias tabelas usando o operador INNER JOIN.
Lição 15. Operadores LEFT JOIN, RIGHT JOIN
Unir dados de várias tabelas usando os operadores LEFT JOIN e RIGHT JOIN.
Lição 16. Operador UNIÃO
Combinando os resultados de múltiplas consultas SQL usando o operador UNION.
Lição 17. Funções de agregação
Funções de agregação COUNT, SUM, MIN, MAX.
Lição 18. Operador GROUP BY
Agrupe um conjunto selecionado de linhas usando a cláusula GROUP BY.
Lição 19. Índices
Filtrando em GROUP BY usando HAVING; aumentando a velocidade de execução de consultas usando índices.
Lição 20. Transações
Conceito de transação; Instrução TRANSAÇÃO; Requisitos ACID para o sistema de transação.
Java. Nível 2. 1 mês.
Curso avançado
Este curso é para quem deseja fortalecer seus conhecimentos em Java. Durante o curso, os alunos dominam a teoria e, ao mesmo tempo, sob a orientação de um professor, desenvolvem um projeto completo do zero Java, ganhando assim experiência prática na aplicação dos conceitos complexos de orientação a objetos encontrados em linguagem. Antes de fazer o curso, é recomendado dominar o curso para iniciantes: “Java. Nível 1".
Lição 1. Programação Orientada a Objetos Java
Estudo aprofundado de questões de POO em Java: princípios básicos de POO, classes abstratas, interfaces.
Lição 2. Exceções
Conceito de tratamento de exceções, sua comparação com o mecanismo tradicional de tratamento de erros, bloco try-catch-finally, tipos de exceções, exceções padrão em Java e sua função, lançando uma exceção de um método
Lição 3. Coleções
Tipos de contêineres em Java: Lista, Mapa, Conjunto. Implementações básicas e técnicas de uso, percorrendo os elementos da coleção, comparando e classificando os elementos da coleção
Lição 4. Problemas avançados de criação de GUI
Crie seus próprios controles. Trabalhando com gráficos. Manipulação de eventos
Lição 5. Multithreading
Threads em Java, formas de criar e gerenciar estados de threads, principais problemas ao trabalhar com threads e sincronização.
Lição 6. Rede
tomadas Escrevendo um servidor de eco simples e um cliente de console.
Lição 7. Escrevendo um bate-papo em rede. Parte I
Escrevendo as partes cliente e servidor do chat. Processamento multithread de conexões de clientes.
Lição 8. Escrevendo um bate-papo em rede. parte II
Desenvolvimento de interface para o lado cliente. Autorização. Mecanismos de interação entre cliente e servidor.
Java. Nível 3. 1 mês.
Desenvolvimento de software profissional
O curso é voltado para quem deseja aprender sobre os recursos avançados da linguagem Java e ganhar experiência prática na escrita de aplicações. Para concluir o curso com êxito, os alunos devem compreender os conceitos básicos de programação e ter alguma experiência básica com Java. O curso cobre todos os tópicos básicos necessários para o trabalho profissional.
Lição 1. Generalizações
O que são genéricos, classes genéricas, métodos e interfaces, herança de classes genéricas, restrições ao trabalhar com genéricos
Lição 2. Base de dados
Bancos de dados relacionais, linguagem de consulta SQL. Operadores SELECT, INSERT, UPDATE, DELETE. Conectando-se ao banco de dados via JDBC, enviando solicitações e processando resultados
Lição 3. Instalações de E/S
Visão geral das ferramentas de entrada-saída. Byte, caractere, fluxos em buffer. Comunicação de rede, serialização/desserialização de objetos
Lição 4. Multithreading. Parte I
Multithreading em Java, memória compartilhada, problemas de gerenciamento e sincronização de threads, interação de threads de execução, deadlocks
Lição 5. Multithreading. parte II
Aulas para trabalhar com multithreading, Coleções concorrentes, análise de exemplos práticos
Lição 6. Visão geral das ferramentas de desenvolvimento
Exploração madeireira. Teste usando JUnit, escrita de testes, classe Assert
Lição 7. API de reflexão e anotações
O conceito de reflexão, tipo de dados de classe, metadados de classe, acesso a campos e métodos, anotações e sua utilização, escrever suas próprias anotações.
Lição 8. Preparando-se para uma entrevista
Preparando-se para uma entrevista e revisando perguntas durante o curso Java
Algoritmos Java. Curso interativo. 1 mês.
Algoritmos Java. Curso interativo
O curso se concentra no uso de estruturas de dados e algoritmos na programação Java. As estruturas de dados definem como os dados são armazenados na memória do computador. O curso cobrirá as seguintes estruturas de dados: arrays, pilha, fila, listas, gráficos, árvores, tabelas hash. Para cada estrutura de dados serão considerados algoritmos que proporcionam diversas operações sobre essas estruturas, por exemplo, pesquisa ou ordenação. O curso é destinado a alunos que concluíram o curso básico de Java SE.
Lição 1. Algoritmos e estruturas de dados
O que são algoritmos e estruturas de dados; Um exemplo de utilização de algoritmos e estruturas de dados no desenvolvimento de software; Para que servem algoritmos e estruturas de dados? Algoritmos e estruturas de dados em Java; Princípios de armazenamento de dados em Java; Tipos de dados de referência; Tipos de dados primitivos; Tipos de dados abstratos; Qual é a complexidade do algoritmo; Qual é a complexidade do algoritmo; O-grande; Princípios para determinar a eficácia de uma estrutura de dados.
Lição 2. Matrizes e classificação
O que são arrays e sua utilização; Matrizes unidimensionais e bidimensionais; matrizes de classes; Um exemplo de array e classe de arrays; O que é classificação; Por que a classificação é necessária? Classificando usando o método sort() integrado; Ordenação rápida; Eficiência de classificação rápida; Por que a implementação da pesquisa é necessária? Como a pesquisa linear é implementada; Como a pesquisa binária é implementada; Complexidade dos algoritmos; Por que a classificação por inserção é necessária? Implementação de ordenação de inserção; Eficiência de ordenação por inserção; Por que a classificação por seleção é necessária? Implementação de ordenação por método de seleção; Eficiência de ordenação por seleção; Por que a classificação por bolha é necessária? Implementação de bubble sort; Eficiência do tipo bolha.
Lição 3. Coleções, listas, listas vinculadas e iteradores
O que são coleções; O que as coleções implementam? O que são listas; Vantagens e desvantagens das listas; Métodos para converter um array em uma lista ou coleção; O que são listas bidirecionais; Para que servem as listas bidirecionais? Eficiência de listas vinculadas; O que é um iterador; Para que serve um iterador? Métodos iteradores; Exemplo de iterador; Como adicionar um objeto ou elemento a uma lista; Como remover um objeto ou elemento de uma lista; Como obter um objeto ou elemento de uma lista; Qual é o método insert e sua implementação; Qual é o método delete e sua implementação; Exemplo LinkedList; O que são listas vinculadas? Para que servem as listas vinculadas? Implementação de uma lista vinculada simples.
Lição 4. Pilhas e filas
Adicionando um elemento à fila; Removendo um elemento da fila; Recebendo um elemento da fila; Criando uma pilha; Adicionando um elemento à pilha; Removendo um elemento da pilha; Obtendo um elemento da pilha; Verificando se a pilha está vazia; Exemplo de programação usando uma pilha; O que é uma fila; Para que serve a fila? Vantagens e desvantagens da fila; Eficiência da fila; O que é uma pilha; Para que serve uma pilha? Vantagens e desvantagens da pilha; Eficiência de pilha; Quais métodos auxiliares existem para a fila; Para que servem os métodos auxiliares de fila? O que é transferência cíclica; Por que a transferência cíclica é necessária? O que é dezembro; Para que serve o baralho? Métodos de dezembro; O que é uma fila prioritária; Para que servem as filas prioritárias? Eficiência da fila prioritária; Exemplo de fila prioritária; O que é pilha e fila baseada em uma lista vinculada; Por que você precisa implementar uma pilha e uma fila com base em uma lista vinculada; Como implementar uma pilha e uma fila com base em uma lista vinculada.
Lição 5. Recursão
O que é recursão infinita; Como implementar a recursão infinita; Para que serve a recursão infinita? O que é recursão correta em programação; Como implementar a recursão correta; O que é recursão; Usando recursão; Um exemplo de recursão na prática matemática; O que é um loop na programação; Quais são as diferenças entre loop e recursão na programação; O que é pesquisa binária recursiva; Para que é usada a pesquisa binária recursiva? Como implementar pesquisa binária recursiva; Por que a classificação por seleção é necessária? Implementação de ordenação por método de seleção; Eficiência de ordenação por seleção; O que é uma pilha de chamadas; Como funciona a pilha de chamadas; O que é uma pilha de chamadas recursiva? Nuances e estouro de pilha de chamadas.
Lição 6. Árvores
O que é uma pirâmide binária; Por que precisamos de uma pirâmide binária? Usando uma pirâmide binária; Eficiência da pirâmide binária; O que são árvores; Para que servem as árvores? As árvores estão além da programação; Árvores na programação; Eficiência da Árvore Binária; O que são árvores rubro-negras? Para que são necessárias as árvores rubro-negras? O que é travessia de árvores; Como implementar o percurso em árvore; Como implementar a busca de máximo e mínimo; Por que o heapsort é necessário? Implementação de heapsort; Eficiência de classificação de heap; Procure um nó de árvore; Inserindo um nó de árvore; Como criar nós; Como criar uma árvore; Implementação de exclusão de nós de árvore.
Lição 7. Gráficos
O que são gráficos; Para que servem os gráficos? Onde os gráficos são usados? Gráficos em Java; O que são vértices? O que são costelas; O que são matrizes de adjacência; Por que as matrizes de adjacência são necessárias? O que são listas de adjacências; Para que servem as listas de adjacências? O conceito de bypass; O que é o primeiro método de travessia em profundidade? Por que precisamos do primeiro método de travessia em profundidade? Como o método de travessia em profundidade é implementado; O que é o primeiro método de travessia em largura? Por que precisamos do método de travessia em largura? Como implementar o método de travessia em largura.
Lição 8. Tabelas hash
O que é hashing e tabelas hash; Por que o hash é necessário? O que é hash duplo; Como implementar hashing duplo; O que são chaves e para que servem? O que são colisões e qual o seu significado; Como lidar com colisões; O que é endereçamento aberto? Por que o endereçamento aberto é necessário? O que são testes lineares; Por que o teste linear é necessário? Como implementar sondagem linear; Por que é necessário aumentar a tabela hash; Como implementar o aumento da tabela hash; O que é teste quadrático; Como implementar uma função hash; O que é soma; O que é exponenciação?
HTML/CSS. Curso de vídeo. 1 mês.
HTML/CSS. Curso de vídeo
HTML/CSS é uma linguagem de marcação de hipertexto, a base para o aprendizado de linguagens de programação do lado do servidor. Ao aprender HTML, você pode criar uma página ou site responsivo. Depois de estudar CSS, você será capaz de criar um site. Para praticar os conhecimentos adquiridos, faça trabalhos práticos. Não os verificamos, mas é importante segui-los: isso lhe dará habilidades básicas de layout profissional.
Lição 1. Conceitos básicos em desenvolvimento web
Introdução, informações introdutórias, configuração do código do visual studio, teclas de atalho, instalação de extensões. Criando um documento HTML Estrutura de um documento HTML. Tipos e atributos de tags Depurador do navegador
Lição 2. Noções básicas da linguagem de marcação de documentos HTML
Listas em html Caracteres especiais e comentários Hiperlinks (locais, absolutos, âncoras) Tipos de imagens para web; Formas e seus elementos. Visualize, edite e procure erros por meio do depurador do navegador
Lição 3. Noções básicas da linguagem de estilo de documentos CSS
Introdução aos estilos Métodos para conectar seletores de estilos Propriedades básicas dos estilos (px,%, plano de fundo, cor, borda) parte 1 Propriedades básicas de estilo (largura, altura, fonte, estilo de lista, texto) Aninhamento, herança e agrupamento propriedades
Lição 4. Tags básicas para layout, pseudoclasses e pseudoelementos
Tags básicas div, span, criação de uma estrutura de bloco Recuos de elementos Elementos de fluxo Pseudoclasses Pseudoelementos Tabelas
Lição 5. Noções básicas de posicionamento, trabalhando com Flexbox
Propriedade de exibição O que é flexbox (layout horizontal e vertical) Ordem de exibição, multilinha, deslocamento de um bloco separado Configuração de tamanhos flexíveis para blocos Posição: relativa e absoluto
Lição 6. Trabalhando com uma maquete de design no formato Figma
O que é layout e quais tipos de layout existem Conhecendo o programa Figma, cortando o layout Determinando os tamanhos dos blocos, criando uma estrutura de blocos Adicionando estilos do layout Criando um site baseado no layout. Parte 1 Criando um site baseado no layout. Parte 2
Lição 7. Noções básicas de criação de um site responsivo
Tamanhos de bloco flexíveis, site responsivo Emulação de dispositivos móveis Consultas de mídia Compressão de rodapé na parte inferior da tela Prática de criação de um site responsivo Prática de criação de um site responsivo parte 2
Lição 8. Padrões da Web e ferramentas de suporte
Ferramentas de desenvolvimento. Parte 1 Fazendo upload de projetos para o servidor Cross-browser Apresentando o Boostrap Apresentando o pré-processador Sass Uso prático do pré-processador Sass
Noções básicas de desenvolvimento web usando o Spring Framework. 1 mês.
Criando aplicações web em Java
O curso apresenta o framework Spring e os recursos de sua interação com outras plataformas de software. Os alunos dominarão a conexão e configuração do Spring e as especificidades do acesso a dados. Eles analisarão passo a passo as etapas de desenvolvimento e formas de melhorar os projetos: templates, internacionalização e validação. Aprenda tecnologia de segurança de aplicativos usando Spring Security. Aplicarão os conhecimentos adquiridos no desenvolvimento de uma loja online.
Lição 1. Noções básicas de Java EE
Lição 2. Introdução à Primavera
Lição 3. Primavera MVC
Lição 4. Bota Primavera
Lição 5. API de persistência Java. Hibernar. Parte 1
Lição 6. API de persistência Java. Hibernar. Parte 2
Lição 7. Dados da primavera
Lição 8. Folha de tomilho
Lição 9. Primavera REST. Parte 1
Lição 10. Primavera REST. Parte 2
Lição 11. Segurança Primavera
Lição 12. Prática
Estágio na GeekBrains. 2 meses.
Em formato de webinar
Durante o estágio, os alunos terão que trabalhar remotamente em um projeto ou startup Open Source. Os alunos serão convidados a escolher entre um conjunto de projetos disponíveis para desenvolvimento. Os alunos aprenderão a trabalhar em equipe, se comunicar com outros desenvolvedores, produtos e gerentes de projetos, designers, estudarão metodologias flexíveis, a estrutura SCRUM e dominarão os princípios trabalho remoto. O resultado do estágio é a capacidade de trabalhar em equipe, a adição de um portfólio e a oportunidade de indicar o trabalho em um projeto como principal experiência de trabalho em seu currículo. O estágio decorre em formato de trabalho remoto a tempo parcial, reuniões semanais de status com o docente em formato webinar.
Lição 1. Conhecendo-se, escolhendo um projeto
Que funções existem no desenvolvimento? Gerente de Produto, Gerente de Projetos, desenvolvedor, designer. O que é MVP. Arquitetura do serviço moderno. Como os desenvolvedores interagem entre si. API REST, soquete da Web. Backend, Frontend, aplicativos móveis. Arquitetura de microsserviços. Noções básicas de trabalho remoto. Inscreva-se em equipes.
Lição 2. Metodologias de desenvolvimento
Revisão de metodologias. Cascata (cascata), Manifesto Ágil, Kanban, Scrum. Onde e para que são usados. Metodologias mistas.
Lição 3. Metodologia SCRUM
Trabalhe usando SCRUM. Planejamento de sprints. Preparação do backlog. Objetivo de sprint. Incremento. Metodologia flexível em condições de trabalho remoto. Rastreadores de tarefas (Trello, Favro)/
Lição 4. Mapeamento de história de usuário
Tipos de tarefas. Decomposição de tarefas. Mapeando histórias de usuários. Trabalhando em histórias de usuários. Trabalhando com especificações técnicas utilizando metodologias cascata e flexíveis.
Lição 5. Responsabilidade, motivação, crescimento pessoal
O que e como se motivar. Quais são os níveis de motivação? Como não se esgotar no trabalho. E como não esquecer do trabalho.
Lição 6. Escrevendo um currículo
Como escrever um currículo para que o RH não o rejeite. Como interessar um empregador. Como demonstrar as habilidades adquiridas em seus estudos se você ainda não possui experiência profissional relevante.
Lição 7. Resumo preliminar, preparação para defesa do projeto
Análise de currículos de alunos. Resumo preliminar. Um pouco sobre startups, monetização, investidores.
Lição 8. Resumindo, demonstrando o projeto final
Demonstração de um protótipo funcional pelos alunos. Discussão dos resultados obtidos. Feedback do professor. Palavras de despedida.