Извините, регистрация закрыта. Возможно, на событие уже зарегистрировалось слишком много человек, либо истек срок регистрации. Подробности Вы можете узнать у организаторов события.
В пятницу, 25 января, в московском офисе компании КРОК пройдет очередная встреча московского сообщества Java-разработчиков. Наши гости: Олег Шелаев инженер компании ZeroTurnaround и Виктор Смирнов ведущий инженер-разработчик в компании КРОК. Речь пойдет про инструментарий Java-разработчика, а также о том, как создать инфраструктуру для непрерывной интеграции и доставки кода (CI & CD). В докладах коллег будут отражены, как теоретические основы, так и практические рекомендации. Не обойдется также без демо и живых обсуждений.
Патчим JVM
На первый взгляд, байткод и модификация классов на лету могут казаться загадочными и непонятными, но с добавлением интерфейса инструметации в Java, они позволяют легко создавать расширения JVM в виде java-агентов, которые прерывают процесс загрузки классов и при необходимости могут их менять. Вкупе с развитием библиотек для управления байткодом, это кардинально изменило экосистему Java.
Мы пройдемся по общим концепциям и принципам инструментации java кода, разберем как с помощью библиотеки javassist можно легко изменять функциональность уже скомпилированных программ. Рассмотрим как это позволяет пробовать новые модели программирования для JVM, создавать интересные инструменты типа профайлеров или дебагеров. Заодно для примера мы напишем java-агента, который находит утечку ресурсов.
Быстрая разработка приложений c JRebel (Java style)
JRebel делает процесс разработки Java приложений быстрее, эффективнее и, пожалуй, интереснее. JRebel создает виртуальную отображение приложения на файловую систему и умеет считывать изменения класс-файлов для того, чтобы незамедлительно отобразить их в работающем приложении. Больше никаких пауз для редеплоя!
Мы покажем как JRebel помогает:
import continuous.delivery.*;
FedEx создал всем известый удобный и прозрачный автоматический процесс доставки посылок, благодаря которому они уверены, что посылка придет в место назначения вовремя и без проишествий. Ту же философию можно применить и к разкаботке приложений. Процесс непрерывной доставки (continuous delivery) определяет каким образом закоммиченный разработчиком код доставляется в production-среду.
Основная идея процесса continuous delivery (непрерывной доставки) построить систему для регулярного обновления различный сред работы приложения: QA, staging, production. Код, помещенный в систему контроля версий должен автоматически проходить определенные фазы обычного процесса разработки, например тестирование и двигаться дальше.
Мы покажем как и зачем можно построить такую систему снабжения с помощью инструментов доступных уже сегодня: Jenkins, LiveRebel, Nexus. На примере будет объяснено, как Jenkins может дирижировать этим процессом и как разные версии приложения могут добраться до конечного пользователя автоматически.
Централизованная инфраструктура для CI
Традиционно в проектах компании КРОК для автоматизированной сборки использовались возможности Team Foundation Server. Однако с ростом количества проектов и разнообразия технологий, которые в них использовались, проектные команды начали использовать инструменты, более подходящие для управления сборкой конкретного проекта – JetBrains TeamCity, Jenkins.
Мы расскажем об опыте КРОК по выбору и внедрению централизованной инфраструктуры для непрерывной интеграции.
О докладчиках:
Олег Шелаев инженер компании ZeroTurnaround, где он занимается проблемами деплоймента Java приложений в рамках проекта LiveRebel. В этом ему помогает пятилетний опыт разработки как стандартных Java веб-инфосистем, так и полностью in-house решений на Java SE.
Олег частый участник Java конференций и любит путешествовать.
В свободное от работы время Олег учится в докторантуре Тартуского университета и там же работает лектором и тренером ACM ICPC команд.
Одними из его любимых занятий являются игра в шахматы и решение головоломок.
Виктор Смирнов - ведущий инженер-разработчик в компании КРОК. В течении пяти лет участвовал во внедрении решений, основанных на.Net и Java.
На текущий момент основной сферой деятельности является внедрение интеграционных и BPM-платформ, а также развитие внутренних инфраструктурных проектов для отдела разработки.
Все свободное время предпочитает проводить в незнакомых городах и весях. Коллекционирует сов.