Библиотека джависта | Java, Spring, Maven, Hibernate
24.7K subscribers
1.89K photos
38 videos
42 files
2.68K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
👑 Магия IntelliJ IDEA

Надоело тратить время на создание шаблонных тестов вручную? IntelliJ IDEA поможет и с этим. С помощью Ctrl + Shift + T можно сгенерировать структуру тестов для классов и методов.

🔹 Зачем это нужно

— Вместо того, чтобы вручную писать шаблон тестов, IDEA сгенерирует базовую структуру тестов для классов или методов.
— Особенно полезно, когда проект растет, а тестов слишком много, чтобы каждый раз выдумывать тестовую структуру с нуля.

🔹 Как использовать

— Поместите курсор на класс или метод, для которого нужен тест.
— Нажмите Ctrl + Shift + T (на Windows/Linux) или Cmd + Shift + T (на macOS).
— Выберите, какой тестовый фреймворк использовать (JUnit, TestNG и т.д.), и IDEA предложит создать тестовый класс с нужной структурой.

IDE автоматически создаст тестовый класс с методами для проверки каждого (или выбранного) публичного метода.

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике

Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.

Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
💼🚫 Собес провален? 8 советов, как извлечь пользу из каждого отказа

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

Однако отказ — это всего лишь один из этапов в поиске работы и не стоит воспринимать его как конец света.

➡️ Читать статью

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕 Java Digest: подборка материалов

🔹 10 Java-инструментов, которые стоит освоить в 2025 году

Отличная подборка свежих тулов от команды JavaRevisited. Автор рассказывает, почему IntelliJ IDEA по-прежнему топ, как Maven и Gradle делят рынок сборщиков, зачем подключать SonarQube к CI/CD, и как JaCoCo помогает не пускать баги в прод.

🔹 16 лучших инструментов для анализа покрытия кода в Java

LambdaTest собрали отличную коллекцию тулов для code coverage. JaCoCo, Cobertura, Emma и другие инструменты с реальными примерами, плюс — рекомендации, как интерпретировать отчёты и не уплыть в графиках.

🔹 Spring Tools 4.29.0: новые возможности

В марте вышел свежий релиз Spring Tools с обновлённой поддержкой Spring Boot 3.x, быстрой навигацией и улучшенной автоподстановкой. Плюс, разработчики поработали над интеграцией с IDE (включая Eclipse и VS Code).

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
😮 Топ-вакансий для джавистов за неделю

Java-разработчик (junior+/middle) — от 200 000 до 250 000 ₽, гибрид (Москва, Санкт-Петербург)

Java-разработчик (Платёжная инфраструктура) — 300 000 —‍ 370 000 ₽, гибрид (Москва, Санкт-Петербург)

Senior Java Developer — от 400 000 ₽, удалёнка (Москва, Астрахань, Екатеринбург)

Java разработчик с нуля (стажер) — от 70 000 до 80 000 ₽, удалённо (Москва, Астрахань, Екатеринбург)

Java разработчик (middle) — от 270 000 до 300 000 ₽, удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале Java jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
Как бы вы оптимизировали запрос с JOIN?

Создание индексы на колонках, которые используются для соединений. Это ускорит поиск строк, особенно если соединяемые таблицы большие.

Если возможно, уменьшить размер данных, участвующих в соединении. Для этого можно использовать подзапросы или фильтровать данные до соединения.

Использование правильного типа JOIN.

EXPLAIN для анализа выполнения запроса и выявления узких мест. Это покажет, как именно СУБД обрабатывает запрос и на каких этапах происходят замедления.

Если запросы с JOIN используются часто, создать материализованные представления для хранения результатов, что снизит нагрузку на базу данных при повторных обращениях.

Рассмотреть варианты изменения структуры БД (например, денормализация).

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
📈 Как «ленивая разработка» захватывает IT-рынок

Пока мы выстраиваем архитектуру, пишем тесты и спорим о лучших практиках, рынок всё активнее обживают те, кто вообще не пишет код. Low-code и no-code решения не просто живы — они становятся нормой для бизнеса.

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

🔗 Подробнее в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда сроки горят, а разработчиков не хватает

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

Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!

Что мы предлагаем:

• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA) 

• Полноценная разработка проектов под ключ 

• Гибкое масштабирование команды под потребности клиента 

• Прозрачная коммуникация и регулярная отчетность

Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.

Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
⚙️ JFR + JMC — встроенный профилировщик для JVM-приложений

🔹 Что это

— Java Flight Recorder (JFR) — низкоуровневый инструмент для профилирования, встроенный в JVM начиная с Java 11.
— Java Mission Control (JMC) — утилита для визуального анализа и работы с результатами JFR-записей.

🔹 Возможности

— Сбор информации о производительности с минимальным overhead.
— Анализ CPU, памяти, событий GC, блокировок, Thread dumps и других внутренних событий JVM.
— Отслеживание аллокаций, задержек, пауз и узких мест в приложении.
— Подходит для использования как в разработке, так и в продакшене.

🔹 Как использовать

1. Запустите приложение с параметрами, активирующими запись:
java -XX:StartFlightRecording=duration=60s,filename=recording.jfr ...


2. После завершения записи, откройте файл .jfr в JMC.
3. Используйте интерфейс для анализа производительности и поиска узких мест.

🔹 Преимущества


— Нативная поддержка в JVM.
— Низкий overhead (подходит для продакшн-сценариев).
— Не требует внешних агентов или дополнительных библиотек.
— Удобный интерфейс для анализа.

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📺 Что посмотреть — Java Tutorial for Beginners

📅 Опубликовано: около 2 лет назад​
👀 Просмотров: более 3 миллионов​
🎓 Автор: Naveen Reddy (Telusko)​
🕒 Длительность: 12,5 часов

Чем интересно:

— Подходит для начинающих, объясняет все основы Java простым и понятным языком.
— Покрывает ключевые темы: переменные, циклы, массивы, ООП, исключения и многое другое.
— Преподаватель делится практическими примерами и советами из реального опыта.​
— Видео отлично подходит, чтобы освежить знания.

🔗 Смотреть

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Делитесь вопросами, которые не дают покоя

Если вы сталкивались с неочевидной утечкой памяти, странным поведением GC или приложением, которое «ест 8 ГБ, а делает ничего» — делитесь в комментариях.

Пора перестать страдать молча. Давайте объединим комьюнити и будем разбирать реальные кейсы:

— Что утекло?
— Где GC не справился?
— Почему слабая ссылка вдруг стала сильной?
— Чем Map хуже WeakHashMap (а может — наоборот)?

P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😩 Лучшие материалы по Java в одной подборке

Собрали топовые материалы, которые наши подписчики сохраняют чаще всего.

Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!

1. Quartz уже не тот? Современные альтернативы для планирования задач

2. Как JVM обрабатывает исключения

3. @Subselect в Hibernate: разберись с хитростями

4. JOOQ против Hibernate: что выбрать для вашего проекта?

5. Инструменты командной строки, которые стоит знать

6. «Распределенные системы: принципы и парадигмы»

7. Что такое @Transactional в Spring?
Please open Telegram to view this post
VIEW IN TELEGRAM
💃 Как Java выглядят в стиле Гибли

Мы не могли пройти мимо нашумевшего тренда и попросили ИИ перенести наш любимый язык программирования во вселенную Миядзаки.

Как вам образ? Расскажите в комментариях ↓

😜 Еще больше персонажей из мира айти в стиле Гибли — в нашем канале @proglib
Please open Telegram to view this post
VIEW IN TELEGRAM
Как и где Spring ищет бины?

Spring ищет бины с помощью сканирования классов в указанных пакетах, используя аннотации (@Component, @Service, @Repository, @Controller и кастомные с @Component внутри).

Сканирование начинается с пакета, переданного в @ComponentScan или (по умолчанию) из того, где находится @SpringBootApplication (которая включает @ComponentScan).

Если бин не помечен аннотацией, его можно зарегистрировать вручную через @Bean в @Configuration-классе, BeanDefinitionRegistry или XML-конфиг.

🐸 Библиотека собеса по Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Пора ли перейти на Quarkus или Micronaut вместо Spring Boot?

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

Quarkus и Micronaut стартуют быстрее, кушают меньше памяти, заточены под облака и serverless. Всё вроде бы красиво — но если что-то сломается, вместо «гугли решение» услышишь «пиши ишью на GitHub, может через полгода поправят».

💬 Вопрос к вам:

— Стоит ли бросать Spring Boot в 2025 ради Quarkus или Micronaut?
— Или проверенная тяжеловесная классика всё ещё надёжнее молодой крови?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM