• 25 января 2013, пятница
  • Москва, ул. Волочаевская, д. 5 к. 1 - Офис компании КРОК. Как добраться: http://www.croc.ru/about/contactus/croc_moscow.php

Встреча jug.msk.ru 25 января 2013 с Олегом Шелаевым и Виктором Смирновым

Регистрация на событие закрыта

Извините, регистрация закрыта. Возможно, на событие уже зарегистрировалось слишком много человек, либо истек срок регистрации. Подробности Вы можете узнать у организаторов события.

Другие события организатора

2277 дней назад
25 января 2013 c 19:00 до 22:00
Москва
ул. Волочаевская, д. 5 к. 1 - Офис компании КРОК. Как добраться: http://www.croc.ru/about/contactus/croc_moscow.php

В пятницу, 25 января, в московском офисе компании КРОК пройдет очередная встреча московского сообщества Java-разработчиков. Наши гости: Олег Шелаев — инженер компании ZeroTurnaround и Виктор Смирнов — ведущий инженер-разработчик в компании КРОК. Речь пойдет про инструментарий Java-разработчика, а также о том, как создать инфраструктуру для непрерывной интеграции и доставки кода (CI & CD). В докладах коллег будут отражены, как теоретические основы, так и практические рекомендации. Не обойдется также без демо и живых обсуждений.

В рамках общей темы встречи, посвященной тому, как организовать процесс разработки таким образом, чтобы работа Java-разработчика была более эффективной и приносила не только пользу, но и удовольствие, предлагаем ознакомиться сразу с несколькими докладами:
 
  • Патчим JVM
  • Быстрая разработка приложений с JRebel (Java style)
  • import continuous.delivery.*;
  • Централизованная инфраструктура для CI
 
Что общего, между инструментацией в Java и правильно работающим кодом? Как сократить временные издержки при разработке и отладке Java-кода, исполняемого в контейнере? Как повысить уверенность в результате и быть готовым его предоставить в любой момент? Вот немногие вопросы, ответы на которые готовы дать наши гости на встрече.
 
 

Патчим JVM

На первый взгляд, байткод и модификация классов на лету могут казаться загадочными и непонятными, но с добавлением интерфейса инструметации в Java, они позволяют легко создавать расширения JVM в виде java-агентов, которые прерывают процесс загрузки классов и при необходимости могут их менять. Вкупе с развитием библиотек для управления байткодом, это кардинально изменило экосистему Java.

Мы пройдемся по общим концепциям и принципам инструментации java кода, разберем как с помощью библиотеки javassist можно легко изменять функциональность уже скомпилированных программ. Рассмотрим как это позволяет пробовать новые модели программирования для JVM, создавать интересные инструменты типа профайлеров или дебагеров. Заодно для примера мы напишем java-агента, который находит утечку ресурсов.

 

Быстрая разработка приложений c JRebel (Java style)

JRebel делает процесс разработки Java приложений быстрее, эффективнее и, пожалуй, интереснее. JRebel создает виртуальную отображение приложения на файловую систему и умеет считывать изменения класс-файлов для того, чтобы незамедлительно отобразить их в работающем приложении. Больше никаких пауз для редеплоя!

Мы покажем как JRebel помогает:

  • всегда пропускать процессы сборки приложения;
  • изменять приложение и менять конфигурацию фрэймворков на лету, например добавить Spring bean в уже существующий контекст;
  • наконец-то снова сделать программирование на Java приятным!

 

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-платформ, а также развитие внутренних инфраструктурных проектов для отдела разработки.

Все свободное время предпочитает проводить в незнакомых городах и весях. Коллекционирует сов. 

Регистрация