JUG.EKB — проект java-разработчиков из Naumen. За девять лет существования митапа мы перестали быть городским сообществом и перешли на всероссийский уровень. Поэтому пришло время перемен: следующий митап уже пройдет под новым именем — Naumen Java Meetup. Встречаемся в онлайне 20 мая. Поговорим о промышленной java-разработке приложений. →  Бесплатно зарегистрироваться Внедряем SonarQube без шума и пыли Святослав Кокурин, разработчик в Naumen поэтапно расскажет о том, как его команда внедряла анализатор кода SonarQube, чтобы закрыть одну проблему, а в итоге нашла ошибки в собственном коде. Также из доклада узнаете: преимущества SonarQube в сравнении с другими анализаторами и может ли он их заменить;  как подойти к внедрению SonarQube, где отойти от документации и сколько ресурсов на это потратить; слабые стороны SonarQube, о которых лучше узнать заранее. В конце Святослав попробует ответить на главный вопрос, стоило ли оно того? JPA для базы или база для JPA? Андрей Беляев, Developer Advocate в Хоулмонт поделится мнением о вопросе, который делит разработчиков на два лагеря: одни считают, что важнее правильно составить объектную модель, и предоставить слою JPA решать, как оптимально выполнить запрос. А другие говорят, что «база всегда переживет приложение» и изначально правильная структура данных делает доступ к данным быстрее вне зависимости от того, JPA мы используем или нет. Если безоговорочно следовать одному из подходов, то страдают или разработчики, пытающиеся адаптировать JPA к базе данных, или администраторы БД, вынужденные «отлавливать» запросы, которые тормозят, а иногда и все одновременно. В своем докладе спикер рассмотрит плюсы и минусы разных подходов к разработке слоя доступа к данным в приложениях. Первый — от объектной модели JPA, второй — от нормализованной базы данных. Андрей поговорит о плюсах, минусах и общих моментах в обоих подходах, а также о важности инструментов при использовании того или иного подхода. Расскажет о том, когда может быть полезно включить полную перегенерацию БД (HBM2DDL), а когда лучше это выключить. А еще обсудит с вами, как можно по схеме БД понять, что авторы использовали Hibernate, даже не видя кода приложения. Не всё Spring’у потоки Виталий Куценко, Java Lead в ЦПТ Агроцифре расскажет про многопоточное программирование — важный инструментарий в создании современного софта. Java предоставляет прекрасный инструмент для простой работы с потоками. И всё это можно использовать совместно со Spring Framework. Но часто это не срабатывает так, как ожидается. В рамках доклада Виталий укажет на подводные камни многопоточной разработки в Spring Framework и расскажет как их обойти. Кластер на Java и JGroups или велокластер своими руками Андрей Ожигов, разработчик в Naumen расскажет как его команда кластеризовала Java-приложение, чтобы оно выдерживало большие нагрузки. Готовые решения распределенных кешей (Apache Ignite, Infinispan) или координации сервера (Apache ZooKeeper) их не устраивали. Тогда ребята сделали кастомное решение на основе библиотеки JGroups. Оно дало им все, что нужно: синхронизацию данных и процессов приложения; возможность динамически менять состав кластера; распределенное синхронное хранилище; репликацию кэша второго уровня. В докладе Андрей расскажет, во многом непростой, путь познания JGroups, его адаптацию и настройки для надежного и масштабируемого кластера. →  Бесплатно зарегистрироваться