Vous lisez les articles sur notre blog et pensez: "Qui en a besoin, je ne vais pas à la conférence." Et vous n'allez pas à la conférence parce que vous voulez apprendre des choses spécifiques, et pas seulement élargir vos horizons. Oui, pour certains, cela a du sens! Non seulement vous le pensez.
Surtout pour vous, nous avons fait quelque chose de complètement différent. Quelques jours avant Joker, deux formations à grande échelle auront lieu. Chaque formation - deux jours pour 6-8 heures de formation serrée dans des choses spécifiques. Les groupes sont petits, donc le formateur travaille avec vous personnellement - il parle, donne des tâches, observe comment vous les exécutez, vous invite.
Le printemps sera enseigné par la personne que vous connaissez tous - Evgeny Borisov, l'un des meilleurs spécialistes du printemps en dehors de Pivotal. Le profilage des applications Java sera enseigné par Alexei Ragozin, ingénieur et formateur avec plus de 10 ans d'expérience dans le développement de systèmes distribués hautement chargés dans diverses industries.
Vous pouvez en savoir plus sur ces formations sous la coupe.
Dans l'illustration - une trajectoire de printemps typique. Au cas où, si vous ne l'avez pas vu depuis longtemps.

Ripper de printemps
Vous pouvez marcher, vous pouvez prendre un taxi, vous pouvez passer à droite et conduire la voiture vous-même, mais le contrôle maximum est avec celui qui comprend également ce qui se passe sous le capot.
Cette formation vous aidera à passer des piétons aux mécaniciens. Nous apprendrons non seulement à utiliser Spring, mais aussi à étendre ses capacités, et pour cela, nous devrons grimper profondément sous le capot. Parlons de tous les principaux composants de Spring, discutons des différents types de contextes et de leurs conglomérats, considérons l'intégration de Spring avec d'autres technologies populaires, telles que Hibernate, web, sécurité, validation.
La formation sera aussi pratique que possible. Beaucoup de code sera écrit en direct. Ce sera amusant, dur, mais aussi clair que possible.
Sujets clés
Jour 1
- Concepts de base de Spring, modèles de conception et philosophie, réflexion avancée, écriture de votre propre framework à la Spring
- Différents types de contextes (XML, annotations, Java Config, Groovy Script)
- Beandefinition
- Beanpostprocessors
- Proxy dynamique + CGLib
- BeanFactoryPostProcessors
- Annotations de printemps et rédaction de vos propres annotations
- Comment renforcer le printemps
- Qualificatifs
- Héritage Factory Bean et BeanDefinition
- Configuration Java
- Meilleures pratiques: contextes mixtes et quand utiliser quelque chose, mise à jour des prototypes dans les bacs Singleton, doubles procurations, recherche de métadonnées de la classe d'origine dans les procurations
- Modèles de conception avec ressort
2e jour
- Mise à jour du prototype Singleton
- Portée personnalisée
- Spring aop
- Aspects écrits
- Meilleures pratiques AOP
- Profils et conditions
- Introduction à ORM en utilisant JPA + Hibernate comme exemple
- Utilisation d'Hibernate au printemps
- Transactions déclaratives au printemps
- Modules complémentaires Spring (Spring Data, Spring Data Rest, Spring MVC)
- Introduction à Spring Boot
- Gestion des dépendances
- Annotations principales de démarrage à ressort
@EnableAutoConfiguration
- Springapplication
- EnvironmentPostProcessors & Environment
- Application.properties / YML
- Entrées
- Démarreurs existants
- Spring.factories
- Démarreur personnalisé
Evgeny Borisov
Technologies Naya
Eugene écrit à Java depuis 2001 et a participé à un grand nombre de projets d'entreprise. Passé d'un simple programmeur à un architecte et fatigué de la routine, il se lance dans les artistes libres. Aujourd'hui, Zhenya écrit et dirige des cours, des séminaires et des master classes pour divers publics: cours en direct J2EE pour les officiers de l'armée israélienne, Spring - WebEx pour les Roumains, Hibernate via GoToMeeting pour les Canadiens, Dépannage et modèles de conception pour les Ukrainiens.
Quoi où où quand
Date et heure : 17-18 octobre 2018.
Lieu :

Saint-Pétersbourg
Bureau Nexign
Uralskaya St., 4
Exigences pour l'équipement des participants : Il est souhaitable d'avoir un ordinateur portable avec le logiciel suivant: IntelliJ IDEA (2017+ est fortement recommandé), Java 8.
Comment s'inscrire : remplissez le formulaire situé sur le site officiel, tout en bas de cette page .
Profilage efficace des applications Java
Dans la pratique, les tâches qui nécessitent l'utilisation d'un profileur se produisent à des moments très critiques pour une entreprise où il n'y a pas autant de droits pour faire une erreur. Par conséquent, les développeurs n'ont généralement pas la possibilité d'apprendre à s'approprier efficacement cet outil à partir de leur propre expérience. Bien sûr, l'exception concerne les ingénieurs de performance spéciaux qui profilent toutes les heures de travail - mais même ils doivent apprendre les uns des autres.
Cependant, l'utilisation efficace du profileur dans une situation critique peut réduire considérablement le temps nécessaire pour résoudre le problème (de semaines et de mois à jours), et parfois il peut décider du sort de l'ensemble du projet. Le profilage est nécessaire.
Cette formation donne au développeur les connaissances et les compétences clés pour une utilisation efficace du profileur dans son travail et vous permet de combler le vide dans les compétences décrites ci-dessus.
Il sera utile aux développeurs Java et architectes Java (à tous les niveaux de formation), aux ingénieurs Big Data et SRE (Site Reliability Engineer).
Sujets clés
- Section 1 . Présentation Approche descendante d'analyse des problèmes. Classification des problèmes typiques et arbre de décision. Diagnostics de base d'une application problématique à l'aide des outils JDK.
- Section 2 . Recherchez le «code chaud» en échantillonnant les vidages de flux. Travaillez avec VisualVM. Visualisation des résultats d'échantillonnage: arbre d'appels, arbre d'appels inversé, Flame Graph.
- Section 3 . L'élimination des déchets et son impact sur les performances. Analyse des journaux de collecte des ordures. Événements de récupération de place dans Mission Control / Java Flight Recorder. Critères de fonctionnement normal du ramasse-miettes.
- Section 4 . Analyse du contenu de la mémoire JVM. Utilisation d'histogrammes de classe pour analyser les charges de mémoire statiques et dynamiques. Obtenir un vidage de mémoire JVM et travailler avec. Utilisation du langage de requête OQL pour l'analyse de vidage.
- Section 5 . Enregistreur de vol Java avancé. Échantillonnage des allocations de mémoire et autres fonctionnalités de l'outil.
- Section 6 . Correction du sujet de l'échantillonnage des vidages de flux. Démonstration d'estimations de biais caractéristiques de l'échantillonnage.
- Section 7 . Utilisez le traçage lors de la recherche de goulots d'étranglement. Traçage à l'aide de Visual VM. Tracez avec BTrace. Analyse des problèmes de multithreading. Démonstration de diverses options pour les verrous croisés (blocages) et méthodes pour leur détection.
- Section 8 . La conférence finale. Caractéristiques de communication des résultats d'analyse intermédiaires pour un public non technique. Combiner le profilage et d'autres méthodes de recherche.
Alexey Ragozin

L'auteur du cours et formateur, a plus de 10 ans d'expérience dans le développement de systèmes distribués hautement chargés dans diverses industries. Alexey est un conférencier actif lors de conférences de logiciels russes et étrangers et contributeur à l'Open Source.
Quoi où où quand
Date et heure : 17-18 octobre 2018.
Lieu :

Saint-Pétersbourg
OpenWay Office
Nab. Petrogradskaya, 36 ans, lit. "A".
Plan de formation : 8 paires académiques (90 minutes), groupées par jour.
Exigences pour l'équipement des participants : les participants à la formation ont besoin d'un ordinateur portable avec le logiciel suivant:
- Oracle Java Development Kit (JDK) - Version 8u144 ou ultérieure
- Apache Maven - version non inférieure à 3.0.5;
- client git;
- tout environnement de développement Java intégré;
- n'importe quel système d'exploitation peut être utilisé.
Comment s'inscrire : remplissez le formulaire situé sur le site officiel, tout en bas de cette page .