company_banner

Ещё больше практики! Научим Spring Framework и профилированию без всяких конференций

    Вы читаете посты в нашем блоге и думаете: «Кому они нужны, я не хожу на конференции». А на конференции вы не ходите потому, что вам хочется научиться каким-то конкретным вещам, а не просто увеличить кругозор. Да, для кого-то это имеет смысл! Не только вы так думаете.


    Специально для вас мы сделали нечто совершенно другое. За пару дней до Joker будут проводиться два полномасштабных тренинга. Каждый тренинг — два дня по 6-8 часов плотного обучения конкретным вещам. Группы небольшие, поэтому тренер работает с вами лично — рассказывает, дает задания, смотрит, как вы их выполняете, подсказывает.


    Спрингу будет учить человек, которого все вы знаете — Евгений Борисов, один из лучших специалистов по Spring вне Pivotal. Профилированию Java-приложений будет учить Алексей Рагозин — инженер и тренер, имеющий более 10 лет опыта в области разработки высоконагруженных распределенных систем в различных индустриях.


    Подробнее об этих тренингах можно прочитать под катом.


    На иллюстрации — типичный стектрейс Spring. Просто на всякий случай, если вы его давно не видели.




    Spring Ripper


    Можно ходить пешком, можно ездить на такси, можно сдать на права и водить машину самому, но максимальный контроль — у того, кто еще и понимает, что происходит под капотом.


    Данный тренинг поможет вам пройти путь от пешехода до гонщика-механика. Мы научимся не просто пользоваться Spring, но и расширять его возможности, а для этого нам придется залезть глубоко под капот. Поговорим обо всех основных компонентах Spring, обсудим разные виды контекстов и их конгломератов, рассмотрим интеграцию Spring с другими популярными технологиями, такими как Hibernate, web, security, validation.


    Тренинг будет максимально практичным. Много кода будет писаться вживую. Будет весело, сурово, но максимально понятно.


    Ключевые темы


    День 1


    • Основные концепции, шаблоны проектирования и философия Spring, продвинутый reflection, написание собственного фреймворка а-ля Spring
    • Различные виды контекстов (XML, annotations, Java Config, Groovy Script)
    • BeanDefinition
    • BeanPostProcessors
    • Dynamic Proxy + CGLib
    • BeanFactoryPostProcessors
    • Аннотации Spring и написание собственных аннотаций
    • Как расширять возможности Spring
    • Qualifiers
    • Factory Bean и наследование BeanDefinition
    • Java Config
    • Best practices: смешанные контексты и когда чем пользоваться, обновление прототипов в Singleton-бинах, двойные прокси, поиск метаданных оригинального класса в прокси
    • Шаблоны проектирования при помощи Spring

    День 2


    • Обновление прототипов в Singleton
    • Custom Scope
    • Spring AOP
    • Написание аспектов
    • AOP Best Practiсe
    • Профили и Conditionals
    • Введение в ORM на примере JPA + Hibernate
    • Использование Hibernate через Spring
    • Декларативные транзакции в Spring
    • Дополнительные модули Spring (Spring Data, Spring Data Rest, Spring MVC)
    • Введение в Spring Boot
      • Dependency Management
      • Main Spring Boot annotations
      • @EnableAutoConfiguration
      • SpringApplication
      • EnvironmentPostProcessors & Environment
      • Application.properties / YML
    • Стартеры
      • Существующие стартеры
      • Spring.factories
      • Custom Starter

    Евгений Борисов


    Naya Technologies


    Евгений пишет на Java с 2001 года и принял участие в большом количестве энтерпрайз-проектов. Пройдя путь от простого программиста до архитектора и устав от рутины, он ушел в свободные художники. Сегодня Женя пишет и проводит курсы, семинары и мастер-классы для различной аудитории: live-курсы по J2EE для офицеров израильской армии, Spring — по WebEx для румын, Hibernate через GoToMeeting для канадцев, Troubleshooting и Design Patterns для украинцев.


    Что, где, когда


    Дата и время: 17-18 октября 2018.


    Место проведения:

    Санкт-Петербург
    Офис компании Nexign
    Уральская ул., 4


    Требования к оборудованию участников: Желательно иметь ноутбук со следующим ПО: IntelliJ IDEA (крайне рекомендуется 2017+), Java 8.


    Как записаться: заполнить форму, расположенную на официальном сайте, в самом низу вот этой страницы.




    Эффективное профилирование Java-приложений


    На практике задачи, требующие применения профайлера, случаются в очень критичные для бизнеса моменты, когда права на ошибку не так много. Поэтому у разработчиков обычно нет возможности научиться эффективно владеть этим инструментом на собственном опыте. Конечно, исключением являются специальные перформанс-инженеры, занимающиеся профилированием всё рабочее время — но даже им нужно учиться друг у друга.


    Однако эффективное использование профайлера в критической ситуации может драматически сократить время решения проблемы (от недель и месяцев до считанных дней), а иногда — решить судьбу всего проекта. Профилирование нужно.


    Данный тренинг даёт разработчику ключевые знания и навыки для эффективного применения профайлера в своей работе и позволяет заполнить описанный выше пробел в навыках.


    Он будет полезен Java-разработчикам и Java-архитекторам (всех уровней подготовки), Big Data-инженерам и SRE (Site Reliability Engineer).


    Ключевые темы


    • Секция 1. Введение. Подход к анализу проблемы сверху вниз. Классификация типовых проблем и дерево принятия решений. Базовая диагностика проблемного приложения с использованием инструментов JDK.
    • Секция 2. Поиск «горячего кода» методом сэмплирования дампов потоков. Работа с VisualVM. Визуализация результатов сэмплирования: дерево вызовов, инвертированное дерево вызовов, Flame Graph.
    • Секция 3. Сброка мусора и его влияние на производительность. Анализ логов сборки мусора. События сборки мусора в Mission Control / Java Flight Recorder. Критерии нормальной работы сборщика мусора.
    • Секция 4. Анализ содержимого памяти JVM. Использование гистограмм классов для анализа статической и динамической нагрузки на память. Получение дампа памяти JVM и работа с ним. Использование языка запросов OQL для анализа дампов.
    • Секция 5. Углублённая работа с Java Flight Recorder. Семплирование аллокаций памяти и другие возможности инструмента.
    • Секция 6. Закрепление темы сэмплирования дампов потоков. Демонстрация смещения оценки, характерной для сэмплирования.
    • Секция 7. Использование трассировки при поиске узких мест. Трассировка с использованием Visual VM. Трассировка с помощью BTrace. Анализ проблем многопоточности. Демонстрация различных вариантов межпоточных блокировок (deadlocks) и методы их обнаружения.
    • Секция 8. Заключительная лекция. Особенности коммуникации промежуточных результатов анализа для нетехнической аудитории. Комбинирование профилирования и других способов исследования.

    Алексей Рагозин



    Автор курса и тренер, имеет более 10 лет опыта в области разработки высоконагруженных распределенных систем в различных индустриях. Алексей — активный докладчик на российских и зарубежных конференциях в области ПО и контрибьютор в Open Source.


    Что, где, когда


    Дата и время: 17-18 октября 2018.


    Место проведения:

    Санкт-Петербург
    Офис компании OpenWay
    Наб. Петроградская, 36, лит. «А».


    План тренинга: 8 академических пар (90 минут), сгруппированные по дням.


    Требования к оборудованию участников: участникам тренинга необходим ноутбук со следующим ПО:


    • комплект разработки Java (JDK) от Oracle — версия не ниже 8u144;
    • Apache Maven — версия не ниже 3.0.5;
    • git-клиент;
    • любая интегрированная среда разработки Java;
    • может быть использована любая операционная система.

    Как записаться: заполнить форму, расположенную на официальном сайте, в самом низу вот этой страницы.

    JUG Ru Group
    Конференции для программистов и сочувствующих. 18+

    Комментарии 3

      +2
      Алексей Рагозин не по наслышке знает о профилировании и нагрузочном тестировании. Работал с кодом проекта IMDG на основе Oracle Coherence что он разрабатывал. Писал распределенные тесты на основе его фреймворка nanocloud и пользовались в проде его jvm-tools для анализа производительности приложения. За эксперта прежде всего говорит его практическая работа и open source проекты!
        0

        А запись тренинга будет?

          0
          Тренинги не пишутся на видео, надо присутствовать

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое