O Curso de Desenvolvimento Java do Grupo Mail.Ru no Technostream Channel



Nesta primavera, publicamos uma gravação do curso Java no canal Technostream. Por vários semestres consecutivos, ele tem lido como parte do projeto educacional da Technosphere implementado pelo Mail.Ru Group juntamente com a Universidade Estadual de Moscou. M.V. Lomonosov. O curso inclui todos os tópicos necessários para um desenvolvedor iniciante no mundo Java. Os autores não entram nos detalhes da sintaxe, mas imediatamente realizam tarefas práticas: desenvolver um jogo com uma interface de console e bate-papo funcional. No final do curso, discutimos perguntas comuns de entrevistas para posições de desenvolvedor júnior e médio de Java.

As anotações das aulas e os materiais do curso são gratuitos e estão disponíveis para todos.

A maioria dos trabalhos de casa pode ser concluída e verificada no repositório do curso.

Para quem


Supõe-se que os alunos não tenham encontrado o Java, mas estejam familiarizados com qualquer linguagem de programação moderna (JS / Python / C # / C / C ++) e os conceitos básicos do OOP.

Duração


O curso é composto por 3 partes, inclui 13 palestras e 1 hackathon. A duração das palestras é de 1 a 2 horas.

Conteúdo do curso


Parte 1. Introdução ao Desenvolvimento Java


Palestra 1. Introdução ao Java 1
Na primeira palestra, você se familiarizará rapidamente com a sintaxe do idioma e entenderá o HelloWorld. O curso é construído em torno do Github, portanto, na primeira lição, você aprenderá como trabalhar com o Git, criar um projeto usando o gradle e fazer uma solicitação de pull no Github.

Aula 2. Introdução ao Java 2
Familiaridade com o modelo de objeto de linguagem.

Palestra 3. Genéricos e coleções
Familiaridade com coleções e exceções.

DZ
Com base nos resultados de três palestras, você receberá a tarefa: desenvolver um pequeno jogo com uma interface de console (touros e vacas). Aqueles que fazem o curso no Youtube, os autores recomendam que você definitivamente conclua esta tarefa para lidar com o material na prática. Para fazer com as mãos não é um vídeo no Youtube para assistir;)

Parte 2. Serviços da Web


Java é uma linguagem industrial que domina o campo de grandes aplicativos da web. Na segunda parte, você aprenderá como criar serviços da web.

Palestra 4. Noções básicas da Web
Você aprenderá como o HTTP funciona e como fazer solicitações HTTP de Curl e Java.

Aula 5. Primavera, Tópicos, Anotações
Apresentando o popular framework Spring, que simplifica o desenvolvimento de aplicativos da web.

Para que os alunos pratiquem o trabalho com a Spring, um hackathon em equipe será realizado após a quinta palestra. Por um tempo limitado, você precisa desenvolver um bate-papo e torná-lo o mais funcional possível. Se você assistir ao curso no Youtube, poderá conversar pessoalmente e experimentar.

Palestras 6-7. Java + DB, Hibernação
Você aprenderá como trabalhar com bancos de dados. No curso de período integral, criamos bancos de dados de alunos na AWS. Para quem faz o curso on-line, recomendamos aumentar o banco de dados localmente ou usar bancos de dados na memória (H2).

Parte 3. O jogo


Você receberá uma tarefa para desenvolver um jogo cliente-servidor da Bomberman. O cliente do jogo em JS, criado com base no projeto de Matt Scala , encontra-se em um repositório separado .

Uma descrição formal da interação dos serviços de jogos pode ser encontrada aqui , mas aqui está um diagrama visual .

Palestra 8. Protocolo WebSocket full-duplex
Para a comunicação entre o cliente e o servidor, o jogo multiplayer é muito melhor que o HTTP, o protocolo WebSocket full-duplex é adequado. Você aprenderá como trabalhar com ele e refazer seu bate-papo escrito anteriormente com base no HTTP no WebSocket. Infelizmente, não há vídeo desta palestra no Youtube, mas todos os materiais estão disponíveis no Github.

Palestra 9. Arquitetura de Jogos
Você entenderá a estrutura do jogo e o mecanismo de interação dos serviços.

Parte 4. Tópicos Avançados


Nesta parte, analisamos dois tópicos tradicionalmente considerados avançados, mas qualquer desenvolvedor Java deve ter conhecimento básico desses tópicos.

Palestras 10-11. Tópicos de jogos, Simultaneidade prática
A aula 10 ilustra, com exemplos, os perigos do desenvolvimento multithread e, na aula 11, maneiras de contorná-los. Preste atenção ao modelo de fluxo do serviço de jogo .

Palestra 12. Coleta de Lixo
Você aprenderá como o heap funciona e como a coleta de lixo funciona. Ao mesmo tempo, o conhecimento sobre a estrutura das estruturas de dados é usado para avaliar o layout dos objetos.

Palestra 13. Perguntas da entrevista
A última aula do curso é dedicada à análise das perguntas mais populares nas entrevistas em Java (desenvolvedor júnior-médio).

Informações gerais sobre o curso


Todos os materiais do curso: https://github.com/rybalkinsd/atom

Cliente do jogo Bomberman: https://github.com/rybalkinsd/atom-bomberman-frontend

Canal do curso no Telegram - aqui você pode obter respostas para todas as perguntas relacionadas ao curso.

Observe que, no final de algumas palestras, há uma descrição dos trabalhos de casa e, no código da aula, há testes. Faça uma solicitação de recebimento para o segmento de aula Se os testes para travis forem verdes, você concluiu a tarefa corretamente.

Os alunos da DZ que participam de um curso on-line não são verificados. No entanto, você pode fazer solicitações pull livremente para o projeto e ver se os testes para o travis são aprovados com êxito. Além disso, você pode fazer qualquer pergunta sobre o curso no chat. Os autores realmente apreciam o feedback, especialmente na forma de solicitações pull com sugestões e correções.

Os autores



Alexander Pomosov, engenheiro sênior no Alibaba


Sergey Rybalkin, engenheiro principal no Alibaba

Lembre-se: o curso está disponível para todos em nosso canal educacional Technostream . Você pode conversar com outros participantes e fazer perguntas aos professores nos comentários na lista de reprodução do curso e conversar no Telegram .

Programar é engenharia, muito mais aberto à experimentação do que outras áreas da engenharia. Faça seu projeto, experimente-o e você terá não apenas experiência, mas também muita diversão!

Source: https://habr.com/ru/post/pt420693/


All Articles