Mais prática! Vamos ensinar Spring Framework e criação de perfil sem nenhuma conferência

Você lê as postagens em nosso blog e pensa: "Quem precisa delas, eu não vou à conferência". E você não vai à conferência porque quer aprender algumas coisas específicas, e não apenas aumentar seus horizontes. Sim, para alguns, faz sentido! Não apenas você pensa assim.


Especialmente para você, fizemos algo completamente diferente. Alguns dias antes do Coringa, dois treinamentos em grande escala serão realizados. Cada treinamento - dois dias para 6-8 horas de treinamento rigoroso em coisas específicas. Os grupos são pequenos, então o treinador trabalha com você pessoalmente - ele fala, dá tarefas, observa como você as executa, solicita.


A primavera será ensinada pela pessoa que você conhece - Evgeny Borisov, um dos melhores especialistas em primavera fora do Pivotal. As aplicações Java de criação de perfil serão ensinadas por Alexei Ragozin, engenheiro e instrutor com mais de 10 anos de experiência no desenvolvimento de sistemas distribuídos altamente carregados em vários setores.


Você pode ler mais sobre esses treinamentos sob o corte.


Na ilustração - uma trajetória típica da primavera. Apenas no caso, se você não o vê há muito tempo.




Estripador de mola


Você pode andar, andar de táxi, passar à direita e dirigir o carro você mesmo, mas o controle máximo é com quem também entende o que está acontecendo sob o capô.


Este treinamento o ajudará a passar de pedestres a motociclistas. Aprenderemos não apenas a usar o Spring, mas também a expandir suas capacidades e, para isso, teremos que mergulhar profundamente sob o capô. Vamos falar sobre todos os principais componentes do Spring, discutir diferentes tipos de contextos e seus conglomerados, considerar a integração do Spring com outras tecnologias populares, como Hibernate, web, segurança, validação.


O treinamento será o mais prático possível. Muito código será gravado ao vivo. Vai ser divertido, duro, mas o mais claro possível.


Tópicos principais


1º dia


  • Spring conceitos básicos, padrões de design e filosofia, reflexão avançada, escrevendo seu próprio framework à la Spring
  • Diferentes tipos de contextos (XML, anotações, Java Config, Groovy Script)
  • Beandefinition
  • Beanpostprocessors
  • Proxy dinâmico + CGLib
  • BeanFactoryPostProcessors
  • Anotações da primavera e escrevendo suas próprias anotações
  • Como capacitar o Spring
  • Qualificadores
  • Herança Factory e BeanDefinition
  • Configuração Java
  • Práticas recomendadas: contextos mistos e quando usar algo, atualização de protótipos em compartimentos Singleton, proxies duplos, pesquisando metadados da classe original em proxies
  • Padrões de design com mola

Dia 2


  • Atualização do protótipo Singleton
  • Escopo personalizado
  • Spring aop
  • Aspectos de escrita
  • Práticas recomendadas de AOP
  • Perfis e condicionais
  • Introdução ao ORM usando o JPA + Hibernate como exemplo
  • Usando o Hibernate no Spring
  • Transações declarativas na primavera
  • Complementos do Spring (Spring Data, Spring Data Rest, Spring MVC)
  • Introdução ao Spring Boot
    • Gerenciamento de Dependências
    • Anotações principais da bota com mola
    • @EnableAutoConfiguration
    • Springapplication
    • Processadores e ambiente
    • Application.properties / YML
  • Iniciantes
    • Iniciantes existentes
    • Spring.factories
    • Iniciador personalizado

Evgeny Borisov


Tecnologias Naya


Eugene escreve em Java desde 2001 e participou de um grande número de projetos empresariais. Tendo passado de um simples programador para um arquiteto e cansado da rotina, ele entrou em artistas livres. Hoje, Zhenya escreve e realiza cursos, seminários e master classes para vários públicos: cursos ao vivo J2EE para oficiais do exército israelense, Spring - WebEx para romenos, Hibernate através do GoToMeeting para canadenses, solução de problemas e padrões de design para ucranianos.


O que onde onde quando


Data e hora : 17 a 18 de outubro de 2018.


Localização :

São Petersburgo
Escritório Nexign
Uralskaya St., 4


Requisitos para o equipamento dos participantes : É desejável ter um laptop com o seguinte software: IntelliJ IDEA (2017+ é altamente recomendado), Java 8.


Como se inscrever : preencha o formulário localizado no site oficial, na parte inferior desta página .




Criação de perfil eficaz de aplicativos Java


Na prática, as tarefas que exigem o uso de um criador de perfil ocorrem em momentos muito críticos para uma empresa, quando não há muitos direitos para cometer um erro. Portanto, os desenvolvedores geralmente não têm a oportunidade de aprender como possuir essa ferramenta efetivamente a partir de sua própria experiência. Obviamente, a exceção são os engenheiros de desempenho especiais que se dedicam a criar perfis de todas as horas de trabalho - mas mesmo eles precisam aprender um com o outro.


No entanto, o uso efetivo do criador de perfil em uma situação crítica pode reduzir drasticamente o tempo necessário para resolver o problema (de semanas e meses para dias) e, às vezes, pode decidir o destino de todo o projeto. A criação de perfil é necessária.


Esse treinamento fornece ao desenvolvedor os principais conhecimentos e habilidades para o uso efetivo do criador de perfil em seu trabalho e permite preencher a lacuna nas habilidades descritas acima.


Será útil para desenvolvedores e arquitetos Java (em todos os níveis de treinamento), engenheiros de Big Data e SRE (Site Reliability Engineer).


Tópicos principais


  • Seção 1 . 1. Introdução Abordagem de análise de problemas de cima para baixo. Classificação de problemas típicos e árvore de decisão. Diagnóstico básico de um aplicativo com problemas usando as ferramentas JDK.
  • Seção 2 Pesquise "código quente", amostrando dumps de fluxo. Trabalhe com o VisualVM. Visualização dos resultados da amostragem: árvore de chamada, árvore de chamada invertida, Flame Graph.
  • Seção 3 Triturador de lixo e seu impacto no desempenho. Análise de logs de coleta de lixo. Eventos de coleta de lixo no Mission Control / Java Flight Recorder. Critérios para o funcionamento normal do coletor de lixo.
  • Seção 4 . Análise do conteúdo da memória da JVM. Usando histogramas de classe para analisar cargas de memória estática e dinâmica. Obtendo um dump de memória JVM e trabalhando com ele. Usando a linguagem de consulta OQL para análise de despejo.
  • Seção 5 . Gravador de vôo Java avançado. Amostragem de alocações de memória e outros recursos da ferramenta.
  • Seção 6 Corrigindo o tópico de dumps de fluxo de amostra. Demonstração de estimativas de viés características da amostragem.
  • Seção 7 Use o rastreamento ao procurar gargalos. Rastreamento usando o Visual VM. Rastreie com o BTrace. Análise de problemas de multithreading. Demonstração de várias opções para bloqueios de thread cruzado (deadlocks) e métodos para sua detecção.
  • Seção 8 . A palestra final. Recursos de comunicação de resultados de análises intermediárias para um público não técnico. Combinação de perfis e outros métodos de pesquisa.

Alexey Ragozin



O autor do curso e do instrutor, tem mais de 10 anos de experiência no desenvolvimento de sistemas distribuídos altamente carregados em vários setores. Alexey é palestrante ativo em conferências de software russas e estrangeiras e colaborador do Open Source.


O que onde onde quando


Data e hora : 17 a 18 de outubro de 2018.


Localização :

São Petersburgo
Escritório OpenWay
Nab. Petrogradskaya, 36, lit. "A".


Plano de treinamento : 8 pares acadêmicos (90 minutos), agrupados por dia.


Requisitos para o equipamento dos participantes : os participantes do treinamento precisam de um laptop com o seguinte software:


  • Oracle Java Development Kit (JDK) - Versão 8u144 ou posterior
  • Apache Maven - versão não inferior a 3.0.5;
  • cliente git;
  • qualquer ambiente de desenvolvimento Java integrado;
  • qualquer sistema operacional pode ser usado.

Como se inscrever : preencha o formulário localizado no site oficial, na parte inferior desta página .

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


All Articles