en
Feedback
Библиотека джависта | Java, Spring, Maven, Hibernate

Библиотека джависта | Java, Spring, Maven, Hibernate

Open in Telegram

Все самое полезное для Java-разработчика в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Для обратной связи: @proglibrary_feeedback_bot По рекламе: @proglib_adv РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4

Show more

📈 Analytical overview of Telegram channel Библиотека джависта | Java, Spring, Maven, Hibernate

Channel Библиотека джависта | Java, Spring, Maven, Hibernate (@javaproglib) in the Russian language segment is an active participant. Currently, the community unites 22 436 subscribers, ranking 6 067 in the Technologies & Applications category and 30 003 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 22 436 subscribers.

According to the latest data from 09 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -81 over the last 30 days and by -13 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 8.55%. Within the first 24 hours after publication, content typically collects 5.09% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 919 views. Within the first day, a publication typically gains 1 142 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 12.
  • Thematic interests: Content is focused on key topics such as джависта, навигация, jooq, corejava, hibernate.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Все самое полезное для Java-разработчика в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Для обратной связи: @proglibrary_feeedback_bot По рекламе: @proglib_adv РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4

Thanks to the high frequency of updates (latest data received on 10 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

22 436
Subscribers
-1324 hours
-377 days
-8130 days
Posts Archive
🤫 Признайтесь: у вас в проде до сих пор крутится Spring Boot 2.7? Если послушать конференции и треды на Хабре, то кажется, ч
🤫 Признайтесь: у вас в проде до сих пор крутится Spring Boot 2.7? Если послушать конференции и треды на Хабре, то кажется, что весь мир давно переехал на 3.x, а кто не успел, тот прямо сейчас домигрирует. Только в курилке инженеры говорят другое. На самом деле огромная часть систем спокойно живёт на 2.7. Прод работает, инциденты не сыпятся, бизнес доволен. Просто вслух об этом говорить почему-то неловко, будто старая версия фреймворка автоматически делает тебя «неаккуратным инженером». Статья без морализаторства разбирает то, о чём не всегда говорят: — почему javax → jakarta — это только входной билет, а не сама миграция; — почему «там просто версию поднять» ломается ровно в тот момент, когда Hibernate начинает генерить чуть-чуть другой SQL; — почему security-кейс — единственный аргумент, который стабильно проходит приоритизацию; — и чем на самом деле вы платите, оставаясь на 2.7 (спойлер: не стабильностью, а отсрочкой). 🔗 Читай подробнее ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #CoreJava

🔥 Инженерная методичка по ИИ от Романа Барлоса (Team Lead в Yandex Cloud) Продолжаем делиться экспертизой команды курса «Раз
🔥 Инженерная методичка по ИИ от Романа Барлоса (Team Lead в Yandex Cloud) Продолжаем делиться экспертизой команды курса «Разработка ИИ-агентов». Роман собрал мастхев-инструменты и ключевые работы для тех, кто хочет выйти за рамки вайбкодинга. 🛠️ Полезные инструменты:
Understand Anything — граф знаний по коду и зависимостям. • DeepTutor — open-source платформа для персонализированного обучения. • Superpowers — набор практик для системной разработки с ИИ. • Awesome Agent Skills — коллекция навыков для ИИ-агентов.
📚 Ключевые работы по LLM:
Attention Is All You Need (2017) — архитектура Transformer. • GPT-1 (2018) — начало эпохи GPT. • GPT-2 (2019) — решение новых задач без дообучения. • GPT-3 (2020) — обучение на примерах из запроса. • InstructGPT (2022) — RLHF и современные чат-боты.
На курсе Роман выступает консультантом программы: помогает формировать содержание уроков с опорой на актуальные инженерные практики». Занять свое место на потоке: 👉 Курс «Разработка ИИ-агентов»

⚡️ Магия curl Нужно скачать файл и продолжить загрузку после обрыва? curl -C - автоматически продолжит с того места, где остановился — не нужно качать заново. 🔹 Зачем это нужно — Загрузка больших файлов через нестабильное соединение. — Автоматически определяет размер уже скачанной части и продолжает. — Работает с HTTP, FTP и даже SFTP. 🔹 Как использовать — Скачать с возможностью продолжения: curl -C - -O https://example.com/dump.sql.gz — С прогресс-баром: curl -C - -# -O https://example.com/large-file.tar.gz — Ограничить скорость: curl --limit-rate 10M -O https://example.com/file.iso — В конкретный файл: curl -C - -o backup.tar.gz https://example.com/backup — С авторизацией: curl -C - -u user:pass -O https://repo.example.com/artifact.jar 💡 Заверни в цикл для автоматического ретрая: while ! curl -C - -O https://example.com/dump.sql.gz; do sleep 5; done — скрипт будет пытаться докачать, пока не получится. ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

⚡️ Apache Fory — 4.3k ⭐️ Стандартная Java-сериализация медленная и жирная по байтам. Берёшь Kryo → лучше, но возишься с регистрацией классов и тюнингом. Apache Fory (бывший Fury, переименовали в 2025-м) — это сериализация, которая делает и то, и другое. Генерит сериализаторы в рантайме через JIT, использует zero-copy и даёт до 170x против JDK-сериализации. IDL не нужен:
import org.apache.fory.Fory;
import org.apache.fory.config.Language;

Fory fory = Fory.builder()
    .withLanguage(Language.JAVA)
    .requireClassRegistration(true)
    .build();
fory.register(Order.class);

byte[] bytes = fory.serialize(order);
Order copy = (Order) fory.deserialize(bytes);
Это drop-in замена JDK / Kryo / Hessian — со 100% совместимым API (writeObject/readObject, Externalizable и т.д.), только в разы быстрее. Корректно тащит shared- и циклические ссылки, умеет schema evolution (можно добавлять/удалять поля независимо на двух концах), поддерживает GraalVM native image через AOT без рефлексии. А режим xlang сериализует один и тот же объект между Java, Python, C++, Go, Rust, JS, Scala, Kotlin и TypeScript. Идеален для высоконагруженного RPC, кэшей, передачи данных между сервисами и кросс-язычных пайплайнов, где сериализация — это узкое место. 📱 Репозиторий ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

😎 Знакомьтесь с экспертом Proglib.academy: Senior Software Engineer и Team Lead в Yandex Cloud Роман Барлос Роман — консульт
😎 Знакомьтесь с экспертом Proglib.academy: Senior Software Engineer и Team Lead в Yandex Cloud Роман Барлос Роман — консультант нашего курса «Разработка ИИ-агентов». Он работает на стыке cloud-native архитектуры и AI, активно внедряя современные ИИ-подходы в реальные процессы разработки. За что его ценит IT-комьюнити? 🟣 Team Lead и AI-евангелист в команде UX Yandex Cloud
14-лет в разработке. Занимается AI-адопшеном в команде Yandex Cloud, проводит мастер-классы и продвигает лучшие практики для повышения эффективности разработчиков.
🟣 Техлид Sourcecraft Code Assistant
С сильным практическим бэкграундом принимал участие как технический лид в создании мощного AI-расширения для VS Code.
🟣 Создатель полезного Open Source
Разрабатывает утилиты, которые позволяют быстро начать эксперименты с инференсом и агентами в локальном окружении: например, набор скриптов vllm-setup для быстрого запуска окружения и mini-proxy — минималистичный прокси для OpenAI API провайдеров.
🟣 Автор интерактивных ML-визуализаций
Объясняет сложные концепции наглядно. Создал серию залипательных обучающих материалов, где можно вживую пощупать работу сетей Хопфилда, машин Больцмана и VC-размерности.
Роман регулярно делится инженерными наработками, инсайтами и экспертизой в своем авторском Telegram-канале На курсе Роман выступает консультантом программы: он помогает формировать содержание уроков с опорой на актуальные инженерные практики и жесткие требования индустрии. Узнать больше о программе и разработке автономных систем: 👉 Курс «Разработка ИИ-агентов» Так, продолжаем знакомить вас с командой? 👍 — Да, ждем новых лиц 🔥 — Жду полезные материалы от Романа

✔️ Spring-тест: идемпотентность платёжного эндпоинта Напишите защиту от двойного списания 👇 📦 Задание Клиент при сетевом таймауте повторяет POST /payments и списание проходит дважды. Реализуйте идемпотентность по заголовку Idempotency-Key.
@PostMapping("/payments")
public PaymentResult pay(
        @RequestHeader("Idempotency-Key") String key,
        @RequestBody PaymentRequest request) {
    // Ваша реализация
}
📋 Требования — Повторный запрос с тем же ключом возвращает результат первого вызова и НЕ выполняет списание заново. — Разные ключи → разные операции. — Конкурентные запросы с одним ключом (двойной клик / параллельные ретраи) не должны привести к двойному выполнению. — Ключ хранится с TTL (например, 24 часа). Ставьте → 🔥, если нравится формат. Если нет → 🌚 💬 Решения под спойлер. Сравним, какое будет лучше. 🐸 Библиотека собеса по Java #practise

👩‍💻 Руководство по Git Подробная документацию по Git на русском языке. От базовых команд до продвинутых тем вроде pack-файлов, переменных окружения и внутреннего устройства Git. Подойдёт и новичкам и тем, кто хочет глубже понимать, как Git работает под капотом. 🔗 Подробнее ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

⚡️ Продолжаем знакомить вас с экспертами курса AgentOps! — Сергей Нотевский расскажет, как выстроить FinOps для AI-продуктов:
⚡️ Продолжаем знакомить вас с экспертами курса AgentOps!Сергей Нотевский расскажет, как выстроить FinOps для AI-продуктов: оптимизировать затраты на разработку и продакшен, внедрить model routing, semantic cache и систему алертов для контроля расходов — Эмиль Сатаев разберет Context Engineering: управление контекстом, защиту от prompt injection, работу с длинными контекстами и построение безопасного пайплайна входа для AI-систем — Михаил Бондаревский покажет, как подготовить инфраструктуру для AI-агентов: Docker, sandboxing, streaming, docker-compose и воспроизводимое окружение для разработки и продакшена — Мурат Хажгериев расскажет про Enterprise Integrations & MCP: когда MCP действительно нужен, как подключать внешние сервисы и реализовывать интеграции с OAuth2 delegation — Герман Сабиров разберет Governance & Compliance для AI-систем: data flow, audit logs, требования 152-ФЗ, локализацию данных и построение compliance-подхода на уровне архитектуры Курс для backend-разработчиков, тимлидов и LLM инженеров о том, как внедрять AI-логику в бэкенд IT-продуктов и сохранять стабильность сервиса. 👉 Изучить обновленную программу AgentOps и занять место.

🏛 ArchUnit — 3.7k ⭐️ Кто-то дёрнул репозиторий прямо из контроллера «по-быстрому», ревьюер не заметил — и слои потекли. Документация в Confluence про это не в курсе. ArchUnit превращает архитектурные правила в обычные unit-тесты. Он читает байткод твоих классов и проверяет зависимости, а значит, нарушение падает прямо в CI, как любой другой красный тест:
import com.tngtech.archunit.core.importer.ClassFileImporter;
import com.tngtech.archunit.lang.ArchRule;
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;

@Test
void controllers_must_not_touch_repositories() {
    var imported = new ClassFileImporter().importPackages("com.myapp");

    ArchRule rule = classes()
        .that().resideInAPackage("..controller..")
        .should().onlyDependOnClassesThat()
        .resideOutsideOfPackage("..repository..");

    rule.check(imported);
}
🔹 Из коробки: → проверка слоёв (layered) и onion-архитектуры одним fluent-вызовом; → поиск циклических зависимостей между пакетами; → контроль неймингов и аннотаций. Работает с любым тест-фреймворком — JUnit, TestNG, без разницы. Для легаси есть «заморозка»: фиксируешь текущие нарушения как baseline и блокируешь только новые, разгребая старые постепенно. Можно даже задавать правила PlantUML-диаграммой и проверять код на соответствие картинке. Версия 1.4.2, поддержка вплоть до Java 26. Идеален, когда в команде больше трёх человек и архитектуру хочется не объяснять на словах, а зафиксировать в коде. 📱 Репозиторий ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

⚙️ HikariCP в проде: пять настроек, которые часто крутят неправильно Пул соединений в Spring Boot работает «из коробки», поэтому в application.properties обычно либо пусто, либо строчка про размер пула. И всё хорошо ровно до первого пика, когда в логах начинает мелькать Connection is not available, request timed out after 30000ms, а сервис уходит в полупаралич: не падает, но и не работает. Разбираем параметры, которые чаще всего настроены не так. 1️⃣ maximumPoolSize: «больше» ≠ «лучше» Классика — поставить 100 «на всякий, у нас тысяча юзеров онлайн». Но каждый коннекшн к Postgres — это процесс на стороне БД, память, контекст транзакции. 100 параллельных запросов от одного бэкенда — это не параллельность, а очередь: CPU и диск всё равно одни. Формула из pool sizing guide самого HikariCP: connections = (core_count * 2) + effective_spindle_count Для 8 ядер + SSD это ~17 коннекшенов. И помни про реплики: 5 подов по 20 = 100 коннекшенов к одной базе только от этого сервиса, а у Postgres max_connections обычно 100–200. Перешагнул → FATAL: sorry, too many clients already. Прежде чем раздувать пул, загляни в pg_stat_activity. В 9 из 10 случаев там медленные запросы без индекса, idle in transaction или локи. Больше коннекшенов = больше параллельных медленных запросов. 2️⃣ minimumIdle = maximumPoolSize, а не половине Туториалы любят min-idle: 5 / max: 20 → «в холостом держим 5, в пик расширяемся». Звучит экономно, а на деле каждый новый коннекшн — это TCP + TLS + auth + инициализация сессии = 30–100 мс сверху на первые запросы при расширении. Спайк на старте дня → красивый пик p99 → ложный инцидент. HikariCP проектировался как фиксированный пул. Дефолт minimumIdle == maximumPoolSize, и автор прямо просит не трогать. Хочешь экономить — уменьшай maximumPoolSize, а не разноси его с minimumIdle. 3️⃣ maxLifetime: всегда меньше любого внешнего таймаута Дефолт 30 минут. Проблема: если что-то в инфраструктуре закроет коннекшн раньше, чем HikariCP его «состарит», ловишь Connection is closed. А закрыть может многое: ▪️ AWS NLB — idle TCP через 350 сек ▪️ AWS ALB — 60 сек ▪️ корпоративный фаервол — 5–15 мин, без логов ▪️ PgBouncer server_idle_timeout — 600 сек ▪️ Postgres idle_in_transaction_session_timeout — нередко 10 мин Ставь с запасом 30–60 сек меньше самого короткого внешнего таймаута. Не видишь внешних таймаутов — 300000 (5 мин) разумный дефолт. 4️⃣ keepaliveTime: чтобы коннекшн не протух в idle Дефолт 0 → выключено. В средах с агрессивным conntrack или короткими idle-таймаутами файрвола соединение тихо рвётся, и следующий клиент получает Broken pipe / Connection reset на первом же запросе. Включаешь — и HikariCP раз в N мс гоняет SELECT 1 по простаивающим коннекшенам.
spring.datasource.hikari:
  keepalive-time: 30000   # 30 сек
  max-lifetime: 300000    # keepalive ОБЯЗАТЕЛЬНО меньше
Минимум — 30 сек, меньше HikariCP проигнорит. Нагрузка копеечная: 20 коннекшенов = 40 пингов в минуту. 5️⃣ connectionTimeout: это твой SLA Дефолт 30 сек — почти всегда абсурд. Если API должно отвечать за 500 мс, клиент через 30 сек уже давно получил 504 от ingress. А бэкенд продолжает копить запросы, потоки висят в ожидании коннекшна, сервис застревает на минуты. Лучше fail fast:
spring.datasource.hikari.connection-timeout: 2000  # 2 сек
Пул исчерпан → быстрый 503, очередь не растёт, алерт срабатывает сразу. Сверху можно навесить circuit breaker (Resilience4j). ⚠️ И отдельно про Actuator: /actuator/health/db дёргает базу. При исчерпанном пуле он тоже встаёт в очередь → DOWN → k8s liveness рестартит под → нагрузка переезжает на соседей → каскад. Лечится коротким connectionTimeout + liveness, который не трогает базу вообще. И главное помни: HikariCP — это просто пул. Если в сервисе медленные запросы без индексов, ни твики таймаутов, ни раздувание пула не помогут — получишь больше параллельных медленных запросов, и база встанет ещё быстрее. Сначала pg_stat_activity, pg_stat_statements, EXPLAIN ANALYZE — потом настройка пула. ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

@Scheduled(fixedRate = 5000) — предыдущее выполнение заняло 8 секунд. Когда запустится следующее?
Anonymous voting

🐳 Магия Docker Compose Поменяли конфиг одного сервиса и не хотите перезапускать весь стек из 10 контейнеров? docker compose up -d --no-deps service-name пересоздаст только указанный сервис. 🔹 Зачем это нужно — Перезапуск одного сервиса вместо всего стека экономит минуты на тяжёлых проектах. — --no-deps не трогает зависимости, так что БД и Redis останутся на месте. — -d запускает в фоне, терминал свободен для другой работы. 🔹 Как использовать — Пересоздать один сервис: docker compose up -d --no-deps api — Пересобрать и запустить: docker compose up -d --no-deps --build api — Посмотреть логи только одного: docker compose logs -f api — Рестарт без пересоздания: docker compose restart api — Масштабировать: docker compose up -d --scale worker=3 💡 restart не подхватывает изменения в docker-compose.yml или Dockerfile, для этого нужен up -d. Если обновили env-переменные или порты — только up -d применит изменения. ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

⚡️ Последний шанс забрать курсы со СКИДКОЙ 40%! Прокачайте свой мозг правильно До конца акции вы можете воспользоваться специ
⚡️ Последний шанс забрать курсы со СКИДКОЙ 40%! Прокачайте свой мозг правильно До конца акции вы можете воспользоваться специальными ценами на самые востребованные IT-направления. Круто и выгодно прокачать свои скиллы, чтобы получить оффер, уехать на Бали и больше не быть онлайн 😎 ➡️ Разработка AI-агентов от 49 000 ₽ (вместо 69 000 ₽) Курс про контролируемую разработку ИИ-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — только практическая работа. ➡️ Курс AgentOps 129 000 ₽ (вместо 149 000 ₽) Профессиональный трек для разработчиков и LLM инженеров о том, как правильно внедрять AI-логику в бэкенд и сохранять железную стабильность сервиса. ➡️ Математика для Data Science от 29 990 ₽ (вместо 39 990 ₽) Вы научитесь решать сложные математические задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе. Отличная база для мощного старта в DS. ➡️ Курс Специалист по ИИ 89 000 ₽ (вместо 113 900 ₽) Комплексная программа для получения профессии в сфере ИИ с нуля. За 8 месяцев вы соберете сильное портфолио из 5 реальных проектов и дипломной работы. ➡️ Архитектуры и шаблоны проектирования27 990 ₽ (вместо 37 900 ₽) Интенсив для разработчиков, который поможет освоить основные паттерны проектирования и прокачать навыки архитектора программного обеспечения. 🌸 Выбирайте направление, оставляйте заявку на сайте распродажи, и наш менеджер подробно вас проконсультирует

🚀 jbang — 1.8k ⭐️ Надо накидать утилиту на 30 строк, дёрнуть API, распарсить JSON, прогнать миграцию? И вот ты уже создаёшь Maven-проект, пишешь pom.xml, городишь src/main/java/com/example/..., добавляешь зависимость, билдишь jar. Полчаса церемоний ради скрипта, который запускается один раз. jbang убирает всё это. Один .java файл и он запускается как скрипт. Зависимости объявляются прямо в коде комментарием //DEPS, jbang сам тянет их с Maven Central, компилирует и запускает:
///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS com.squareup.okhttp3:okhttp:4.12.0
//JAVA 21+

import okhttp3.*;

public class fetch {
    public static void main(String[] args) throws Exception {
        var client = new OkHttpClient();
        var req = new Request.Builder()
            .url("https://api.github.com/repos/jbangdev/jbang")
            .build();
        try (var resp = client.newCall(req).execute()) {
            System.out.println(resp.body().string());
        }
    }
}
jbang fetch.java — и всё работает. Никакого pom.xml, никакого build-шага, никакой структуры папок. Что ещё умеет: — запускать скрипты прямо по URL или из GitHub Gist (jbang https://.../script.java); — генерить нативные бинарники через GraalVM; — ставить скрипт как системную команду (jbang app install); — экспортить в полноценный Maven/Gradle-проект, когда прототип дорос до проекта. Поддерживает .java, .jsh, .kt, .groovy и даже .md. А если на машине нет JDK, скачает сам. Идеален для CLI-тулзов, автоматизации, обучения и тех моментов, когда писать Python только потому что «на Java долго» — обидно. 📱 Репозиторий ══════ Навигация ══════ ВакансииЗадачиСобесы 🐸 Библиотека джависта #Enterprise

🦾🧠🏋️ Качаем мозги к лету! Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффе
🦾🧠🏋️ Качаем мозги к лету! Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффер, строить продукты будущего и работать из любой точки мира 😎 ⚡️ Распродажа @proglib_academy: забирайте самые актуальные образовательные треки по сниженным ценам! ➡️ Разработка AI-агентов от 49 000 ₽ (вместо 69 000 ₽). ➡️ Курс AgentOps129 000 ₽ (вместо 149 000 ₽). ➡️ Математика для разработки AI-моделей23 990 ₽ (вместо 31 990 ₽). ➡️ ML для старта в Data Science 28 990 ₽ (вместо 38 990 ₽). Почему мы? ⭐️Учим для продакшена. Наши программы заточены под реальные задачи бизнеса: как не слить бюджет на токены, как заставить LLM работать стабильно в бэкенде и как выстроить отказоустойчивую архитектуру. ⭐️Спикеры — суровые практики. Вы будете перенимать опыт у действующих AI-архитекторов, тимлидов и ML-инженеров из топовых IT-компаний. ⭐️Комплексный подход. Мы даем как мощный математический фундамент для понимания моделей «под капотом», так и передовые инструменты оркестрации агентов. ⭐️Много практики и фидбека. Вебинары, десятки практических заданий и живое общение с экспертами в чате Telegram на протяжении всего обучения. Оставляйте заявку и бронируйте место со СКИДКОЙ 40%