Евгений Борисов — Spring Patterns


Сколько дизайн паттернов вы знаете? 24? 36? 100? А сколько из них вы применяете в реальной жизни? 3? 5? 10?

В этом докладе Евгений покажет, как при помощи спринга можно легко и просто реализовывать наиболее популярные паттерны, с которыми мы сталкиваемся в повседневной жизни. Chain of responsibility, strategy, command, lazy initialization, scala traits, AOP, proxy, decorator и прочие паттерны и концепции, внедренные при помощи спринга, сделают ваш код мягким и шелковистым. А перхоть вашего бойлерплэйта в виде switch-ей, статических методов, наследования, и прочей устаревшей шелухи, посыпется с вашего проекта под радостные крики сонара. Код станет более читабельным, гибким и поддерживаемым. Такой код проще обкладывать тестами и, наконец, это просто красиво.

В этом докладе мы не будем ковырять внутренности спринга или пытаться его кастомизировать. Мы даже не напишем ни одного бин пост процессора или стартера (разве что кастомный класслоадер). Только практические задачи и самый обычный, простой, добрый, пятый спринг.

Тагир Валеев — Заменят ли роботы программистов?


Одна из основных целей программиста — автоматизировать ручной труд. Из-за программистов уже во многих областях существенно сократилось количество необходимых сотрудников-людей. Но программисты любят автоматизировать и свой собственный труд. Не роют ли они себе яму? Не наступит ли день, когда программисту не останется работы, потому что всё за него будет делать его же программа? Давайте посмотрим, куда мы движемся.

Евгений Борисов — Spring-потрошитель, часть 1


. Евгений Борисов — Spring-потрошитель, часть 1
Встреча JUG.ru
Санкт-Петербург, 26.06.2014

Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.

Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):

Насколько Spring влияет на производительность вашей программы?
Что входит в жизненный цикл спринга?
Как устроен ApplicationContext?
«Вот это на Spring сделать нельзя» — а может можно?

Евгений Борисов — Power of Gradle


. Евгений Борисов — Power of Gradle
Встреча JUG.ru 31.08.2013

Вы замучались работать с Ant’ом? Вас утомило отсутствие гибкости у Maven’a? Вам бы хотелось пользоваться наиболее современным и простым фреймворком для автоматизации сборки проектов? Данный доклад представит вам Gradle, наиболее оптимальный сборщик на сегодняшний день. Gradle пытается объединить в себе все плюсы Ant, Maven и Ivy. И представить то, что получилось, с помощью Groovy. Теперь вместо того, чтобы скрещивать Batch-скрипты, java и xml-файлы конфигурации, можно просто написать несколько строчек кода на диалекте Groovy и радоваться жизни. Диалект специально разработан для описания сборки, тестирования, развертывания, экспорта и любых других действий над проектом, которые только могут прийти вам в голову.В процессе доклада вы ознакомитесь с тем, как Gradle может помочь при решении проблем, с которыми мы ежедневно сталкиваемся в процессе сборки проекта, и узнаете о преимуществах декларативной сборки над императивной без привычных для вас трудностей. Мы также поговорим о том, насколько просто перейти с Анта на Gradle и в чем его преимущество перед maven-ом. Данная презентация завершится демонстрацией работы Gradle на не тривиальной проблеме сборки.

Евгений Борисов — Power of Gradle


. Евгений Борисов — Power of Gradle
Встреча JUG.ru 31.08.2013

Вы замучались работать с Ant’ом? Вас утомило отсутствие гибкости у Maven’a? Вам бы хотелось пользоваться наиболее современным и простым фреймворком для автоматизации сборки проектов? Данный доклад представит вам Gradle, наиболее оптимальный сборщик на сегодняшний день. Gradle пытается объединить в себе все плюсы Ant, Maven и Ivy. И представить то, что получилось, с помощью Groovy. Теперь вместо того, чтобы скрещивать Batch-скрипты, java и xml-файлы конфигурации, можно просто написать несколько строчек кода на диалекте Groovy и радоваться жизни. Диалект специально разработан для описания сборки, тестирования, развертывания, экспорта и любых других действий над проектом, которые только могут прийти вам в голову.В процессе доклада вы ознакомитесь с тем, как Gradle может помочь при решении проблем, с которыми мы ежедневно сталкиваемся в процессе сборки проекта, и узнаете о преимуществах декларативной сборки над императивной без привычных для вас трудностей. Мы также поговорим о том, насколько просто перейти с Анта на Gradle и в чем его преимущество перед maven-ом. Данная презентация завершится демонстрацией работы Gradle на не тривиальной проблеме сборки.

Евгений Борисов, Кирилл Толкачев — Boot yourself, Spring is coming (Часть 1)


. Много лет назад Java-программисты пользовались «new» для создания сервисов. Они проделывали огромное количество ручных действий и смешивали конфигурацию с бизнес-логикой. Они даже использовали техники copy-paste. Было написано много строк убогого кода, который временами даже работал. Но при этом они понимали (почти) всё, что делали, и при возникновении проблем могли легко заняться отладкой.

Потом появился Spring. С ним многое изменилось… Мы получили много «магии» из волшебного цилиндра Spring, и наш код стал более чистым, простым и поддерживаемым. Бизнес-аспекты отделились от технических, но отладка усложнилась.

А затем появился Spring Boot.

С одной стороны, он решает тысячи ранее существовавших проблем: конфликты версий, задачи конфигурации, работа с инфраструктурными бинами, проблему настройки окружения, и, конечно же, запуск или деплой приложения, включая сборку jar/war-архивов… С другой стороны, Spring Boot добавил в наш волшебный цилиндр ещё больше магии. В результате имеют место быть два сценария:

Всё прекрасно работает, хотя никто не знает, как.
Ничего не работает, и никто не знает, почему.
Этот доклад раскроет основные секреты магии Spring Boot. Вы осознаете основные принципы и конвенции, по которым работают типичные Spring Boot-приложения. Наша задача — чтобы вся магия из цилиндра превратилась для вас в куда более прозрачный процесс. Тогда вы сможете не только получать удовольствие, когда всё работает, но и понимать суть возникающих проблем, решая их без привлечения скорой помощи.

Евгений Борисов — Spring – Глубоко и не очень


. Постоянно работая со Spring, Евгений ранее уже выступал с докладом Spring Puzzlers. Теперь он возвращается с новыми проблемами, нюансами и задачами, требующими нестандартных решений — но у нового доклада более серьёзный формат. Будут разбираться конкретные ситуации, часть из которых могла попадаться вам в реальных проектах, часть ещё попадётся, а что-то покажется совершенно эзотерическим — но все случаи взяты из реальных проектов. Мы будем говорить в основном про spring-core, оговаривая в процессе последние изменения, которые внёс Spring 4.3.

Евгений Борисов — Spring-потрошитель, часть 2


. Евгений Борисов — Spring-потрошитель, часть 2
Встреча JUG.ru
Санкт-Петербург, 26.06.2014

Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.

Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):

Насколько Spring влияет на производительность вашей программы?
Что входит в жизненный цикл спринга?
Как устроен ApplicationContext?
«Вот это на Spring сделать нельзя» — а может можно?

Trustin Lee — Writing a Java library with better experience


It is fun to write a library or a framework. It allows us to play with many interesting ideas that were not possible before due to the constraints in others work. However, utmost care must be taken to build it great.

In this session, Trustin Lee, the founder of Netty project and Armeria, shares you the opinionated key practices from his recent works which might be useful when you build your own library or framework, or even designing an API for your project.