. Постоянно работая со Spring, Евгений ранее уже выступал с докладом Spring Puzzlers. Теперь он возвращается с новыми проблемами, нюансами и задачами, требующими нестандартных решений — но у нового доклада более серьёзный формат. Будут разбираться конкретные ситуации, часть из которых могла попадаться вам в реальных проектах, часть ещё попадётся, а что-то покажется совершенно эзотерическим — но все случаи взяты из реальных проектов. Мы будем говорить в основном про spring-core, оговаривая в процессе последние изменения, которые внёс Spring 4.3.
. Евгений Борисов — Spring-потрошитель, часть 2
Встреча JUG.ru
Санкт-Петербург, 26.06.2014
Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.
Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):
Насколько Spring влияет на производительность вашей программы?
Что входит в жизненный цикл спринга?
Как устроен ApplicationContext?
«Вот это на Spring сделать нельзя» — а может можно?
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.
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.
. Много лет назад Java-программисты пользовались «new» для создания сервисов. Они проделывали огромное количество ручных действий и смешивали конфигурацию с бизнес-логикой. Они даже использовали техники copy-paste. Было написано много строк убогого кода, который временами даже работал.
Потом появился Spring. С ним многое изменилось… Мы получили много «магии» из волшебного цилиндра Spring, и наш код стал более чистым, простым и поддерживаемым.
И вот появился Spring Boot. С одной стороны, он решает тысячи ранее существовавших проблем: конфликты версий, задачи конфигурации, работа с инфраструктурными бинами, проблему настройки окружения, и, конечно же, запуск или деплой приложения, включая сборку jar/war-архивов… С другой стороны, Spring Boot добавил в наш волшебный цилиндр еще больше магии. В результате имеют место быть два сценария:
Всё прекрасно работает, хотя никто не знает, как.
Ничего не работает, и никто не знает, почему.
Этот доклад раскроет основные секреты магии Spring Boot. Вы осознаете основные принципы и конвенции, по которым работают типичные Spring Boot-приложения. Наша задача, чтобы вся магия из цилиндра превратилась для вас в куда более прозрачный процесс и вы смогли не только получать удовольствие, когда всё работает, но и понимали суть возникающих проблем и могли решить их без привлечения скорой помощи и других служб, доступных по срочным вызовам.
Строки. java.lang.String. Пожалуй, наиболее изученный класс в Java. Все его использовали бессчётное количество раз, и порой кажется, что уже не осталось ничего, чем он может нас удивить. Но всегда ли правильно мы его используем? Рискнем предположить, что далеко не всегда. Доклад об использовании строках и связанных с ними граблях.
. Vaadin довольно широко известен в среде Java как фреймворк для разработки UI. Некоторое время назад вышла революционная версия Vaadin 10, в которой разработчики полностью поменяли технологический стек, переосмыслили API и предприняли попытку сделать UI-фреймворк на Java по-настоящему простым. Отдельный интерес представляет механизм синхронизации состояния UI, который можно применять вместе с другими фронтенд-фреймворками.
Теперь, когда Vaadin Flow уже можно считать готовым к продакшну, мы выясним, можно ли делать UI на Java быстрым и удобным, а также постараемся понять, для каких приложений эта технология подходит, а каким лучше её сторониться. Цель этого доклада — пристальный анализ внутренностей фреймворка и поиск подводных камней, он призван помочь вам составить своё мнение о технологии без маркетинга и хайпа.
. Все вы слышали фразу: «Человек, научившийся пользоваться молотком, во всем начинает видеть гвоздь». В мире программирования это очень часто происходит с новыми и модными технологиями, которые далеко не всегда применяются по назначению. В результате мы имеем более сложный API, который могут поддерживать только прошедшие медные трубы, кучи багов и прочие проблемы программисты.
Как нам избежать сломанных пальцев и разбитых молотком вещей при попытке внедрить React?
Мы рассмотрим пример системы, в которой есть проблемы и, конечно же, попробуем отрефакторить её в реактивном стиле. Рассмотрим преимущества и недостатки не только подхода, но и API конкретных реализаций. Оценим сложность, которая была до рефакторинга, и ту сложность, которую мы привнесли после. Постараемся разобраться что игрушки, а что нет.