Как стать автором
Обновить

JRebel

Java *
Из песочницы
На Хабре несколько раз публиковались статьи, где JRebel либо просто упоминался, либо выкладывалась информация, что вышла новая версия. При этом, не всем читателям было понятно, о чём вообще речь, и как данное ПО работает.

Как непосредственному участнику разработки данного продукта, мне хотелось бы прояснить некоторые моменты, почему JRebel существует и как он может помочь Java-разработчику.

Откуда ноги растут?



Изначальная проблема известна практически любому разработчику, который работает с Java: после каких-либо изменений в проекте, для того, чтобы увидеть результат, тратится довольно много времени на сборку и развёртывание в контейнере. На Хабре уже публиковались отличные статьи о том, как можно ускорить или автоматизировать процесс разработки, не стану повторяться. Но дело в том, что в упомянутых способах есть свои изъяны: далеко не все изменения возможно перегрузить в развёрнутом приложении штатными средствами; очень легко получить утечки памяти, которые приведут к надобности перезапуска контейнера. Технические детали хорошо расписаны в серии статей в нашем сайте — любопытных приглашаю почитать.

Куда уходит время?


Как выглядит цикл разработки web-приложения, в классическом виде:
1. Сделали изменения в коде (или в ресурсах)
2. Собрали JAR/WAR/EAR
3. Развернули полученный архив в контейнере
4. Открыли развёрнутое приложение, и, после некоторых манипуляций увидели результаты своего труда.

В зависимости от размера приложения, используемого контейнера, и некоторых других факторов, этапы 2, 3 и 4 могут занимать от нескольких секунд, до совершенно невменяемых цифр. Наша компания проводила опрос разработчиков относительно используемых технологий и времени которое затрачивается на развёртывание приложения. Как оказалось, в среднем на развёртывание тратится около 3 минут за раз, и около 10 минут в час. В плачевных случаях, где на развёртывание уходит более получаса, нет даже смысла спрашивать у человека, сколько раз в час он может повторить этот процесс. Ответ очевиден.

Когда перезапуск контейнера/приложения занимает считанные секунды, проблема, описанная выше, не ощущается так сильно. Однако, по мере роста и усложнения проекта, неудобства дадут о себе знать. Тут-то и можно задуматься: может быть, JRebel — это то, что вам нужно?
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 36K
Комментарии 23

JRebel Quickstart

Java *
В прошлой статье я немного рассказал о JRebel и для чего его можно использовать. Теперь попробую описать как можно попробовать JRebel использовать, шаг за шагом.

Для примера возьмём приложение Petclinic, исходной код которого можно найти на GitHub. В качестве IDE буду использовать свою любимую IntelliJIDEA.

Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 18K
Комментарии 28

Битва против повторных развертываний достигает облаков

Блог компании Jelastic
Автором данной статьи является наш друг и пользователь платформы Jelastic – Антон Архипов. Антон сейчас занимает должность менеджера продукта JRebel в компании ZeroTurnaround, а также является сооснователем сообщества разработчиков devclub.eu и JUG.ee.
Англоязычную версию статьи можно читать здесь.

imageВозможно, Вы еще не слышали о таком продукте как JRebel. Так вот, JRebel – это инструмент, призванный избавить от проблемы повторного развертывания приложения во время разработки, а значить сэкономить Ваше время. Он обновляет приложение сразу же после внесения каких-либо изменений в классовую структуру, файлы ресурсов и конфигурационные файлы фреймворков. Надо отметить, что этот инструмент пользуется огромной популярностью среди Java разработчиков. И не зря, ведь используя JRebel, разработчик избавляется от необходимости повторно собирать и разворачивать приложение. При этом он сохраняет в среднем 10,5 минут за час кодирования, согласно последнему отчету о JavaEE продуктивности. Это больше чем 5 недель работы каждый год – а значит более 1 месячной зарплаты каждого разработчика в команде.

Совсем недавно вышел релиз JRebel 5.0. Главная фишка этого релиза — функция JRebel Remoting, которая позволяет использовать JRebel в случаях, когда приложение запущено в облачной среде.
С такой фичей будет очень просто разрабатывать и тестировать Java приложения в облаках. Давайте рассмотрим, как установить и сконфигугировать JRebel на облачной платформе Jelastic.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 2.9K
Комментарии 1

Выпуск №77 — The Art Of Programming [ Java Learning ] JRebel

Java *Kotlin *
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 2.7K
Комментарии 1

Использование buildSrc для внедрения дополнительной логики в Gradle

Блог компании JUG Ru Group Java *Groovy & Grails *Разработка под Android *Gradle *
Перевод
Tutorial

Интересная заметка от Madis Pink в блоге ZeroTurnaround RebelLabs. Если кто-то вас разбудит посреди ночи и спросит: «какую фичу в Gradle должен знать каждый?» — с уверенностью отвечай, что это buildSrc. Это особый магический Gradle-проект внутри твоего репозитория, доступный всем файлам build.gradle в виде библиотеки.


Описанный далее подход позволяет писать код на удобном тебе JVM-языке, и результат использовать прямо в своих сборочных скриптах. Как бонус, можно покрыть юнит-тестами особо хитрые моменты в этих скриптах. Добро пожаловать под кат!

Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 17K
Комментарии 5

«Я всегда должен быть на виду» — Интервью с Олегом Шелаевым из ZeroTurnaround (часть 1)

Блог компании JUG Ru Group Java *Веб-аналитика *Интернет-маркетинг Контент-маркетинг


Всем привет! Вашему вниманию — очередной выпуск шоу «Без Слайдов». На этот раз гостем стал Олег Шелаев, Developer Advocate компании ZeroTurnaround, которая делает разные продукты для Java-разработчиков. За время, которое прошло с момента интервью, произошло два важных события:

  • Олег получил звание Java Champion
  • Компанию ZeroTurnaround купила компания Rogue Wave Software

Поэтому сейчас — самое время для того, чтобы выпустить это интервью. Оно получилось длинным, поэтому, как и в предыдущем случае, я разбил его на две части. Первая часть — перед вами. О чём мы поговорили в ней с Олегом:

  • кто такие ZeroTurnaround;
  • как стать Developer Advocate;
  • о правильном маркетинге;
  • о продажниках и инвесторах;
  • об инструментах маркетинга и продаж;
  • о задачах и проблемах маркетинга.

Получилось много про маркетинг и технологии в маркетинге. А также о том, что такое «правильный айтишный маркетинг».



Расшифровка как всегда — под катом. Приятного вам просмотра или чтения.
Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Просмотры 5.7K
Комментарии 0

«Когда ты рассказываешь правдивую историю, ей верят гораздо больше» — Интервью с Олегом Шелаевым, часть 2

Блог компании JUG Ru Group Java *Контент-маркетинг Конференции


Несколько месяцев назад мы встретились с Олегом Шелаевым, Developer Advocate компании ZeroTurnaround (далее — ZT). С тех пор Олег успел стать Java Champion (поздравляем!) и… покинуть ZT. Да, если откладывать интервью в долгий ящик, с героем может случиться разное.

Интервью получилось длинным, поэтому я разбил его на две части. Первую часть я опубликовал на хабре ещё в декабре, а сейчас пришло время для второй части. В ней мы поговорили:

  • о гипотезах и их проверке;
  • о блоге RebelLabs;
  • о разнице между продуктами и услугами;
  • о профилировщике XRebel;
  • о конференции GeekOUT и проекте VirtualJUG;
  • о простых и сложных цепочках в маркетинге.

Вот видео:


Для тех, кто предпочитает читать, а не слушать, ниже — полная расшифровка нашего с Олегом разговора. Приятного вам просмотра или прочтения.
Всего голосов 30: ↑28 и ↓2 +26
Просмотры 3.5K
Комментарии 0