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

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

Обратная связь: @proglibrary_feedback_bot

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
🎧 Что послушать — #подкаст

🔹 Javaswag #76
Дата выпуска: 24 февраля 2025
Ведущий: Дмитрий Волыхин
Гость: Сергей Куксенко
Продолжительность: 2 часа 3 минуты

Выпуск для тех, кто хочет понимать Java «до винтиков». Сергей Куксенко — инженер из Oracle и ветеран в области производительности Java — рассказывает, как устроены компиляторы, зачем Java нужно тестировать бенчмарками, и почему проект Loom может перевернуть представление об асинхронности.

🔹 Ключевые темы выпуска

00:04:39 — Опыт Сергея в Excelsior и старте с Java
00:10:47 — Работа с компиляторами в Intel
00:15:13 — Производительность Java в Oracle
00:26:01 — Почему случаются регрессии
00:39:50 — Как собрать бенчмарки, которые действительно работают
00:52:12 — Асинхронщина и проект Loom
01:03:08 — Теория очередей и производительность
01:09:42 — Loom: плюсы и минусы
01:24:43 — Полугодовые релизы и их влияние
01:50:10 — Kotlin vs Java
02:00:00 — Острые мнения про Agile

🔗 Слушать выпуск

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤨 ТОП-7 стран для айтишников в 2025 году

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

Что в статье:

➡️ Средняя зарплата IT-специалистов в каждой стране

➡️ Уровень налогов и наличие льгот для техсектора

➡️ Иммиграционные программы и условия въезда

➡️ Развитость IT-экосистемы и перспективы в индустрии

➡️ Плюсы и минусы жизни в каждом регионе

Если вы задумываетесь о переезде или просто хотите знать, где IT-навыки особенно ценны — самое время заглянуть в подборку 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужны ли Java кортежи?

Java, которому более 25 лет, продолжает развиваться — добавлены records, sealed classes, улучшен switch, появилась структурная деструкция… Но встроенных tuples (кортежей) по-прежнему нет.

Если вы хотите вернуть из метода два значения — создавайте Pair, Map.Entry, или пишите собственный класс. Три значения? Добро пожаловать в ад. А в других языках это давно решено.

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

— Почему, по-вашему, в Java до сих пор нет встроенной поддержки кортежей?
— Нужны ли они вообще в Java?

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

🔹 JavaOne 2025
С 18 по 20 марта в Redwood Shores, Калифорния, прошла конференция JavaOne. Среди ключевых тем — релиз Java 24, упрощение синтаксиса и минимизация шаблонного кода. Mala Gupta, Java Champion и представитель JetBrains, поделилась своими впечатлениями и подчеркнула важность сертификации для карьерного роста. ​

🔹 JPoint 2025
3–4 апреля в Москве состоялась конференция JPoint 2025. Среди докладов: оптимизация компилятора javac, микробенчмарки с JMH, расширения Quarkus и CQRS, многопоточная вставка данных в БД с использованием Spring и PostgreSQL. Конференция собрала более 1200 участников и стала площадкой для обсуждения актуальных трендов в Java-разработке. ​

🔹 Рейтинг языков программирования
По данным TIOBE за апрель 2025 года, Java занимает 4-е место в рейтинге языков программирования. Несмотря на конкуренцию со стороны Python, C++ и C, Java сохраняет свою популярность благодаря стабильности и широкому применению в корпоративной разработке.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Что будет результатом кода?

👍🏼 — Parent
🔥 — Child
👾 — ParentChild
⚡️ — RuntimeException

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

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

Java Tech Lead — от 400 000 ₽, удаленно (Москва)

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

Java разработчик (команда Supermarket) — от 350 000 ₽, гибрид (Москва)

Java Developer with AWS Cloud Expertise — от $2000, удалёнка (Сербия)

➡️ Еще больше топовых вакансий — в нашем канале Java jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
Сохраняйте шпаргалку по командам docker

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
☕️ Java-челлендж: 10 вопросов, которые заставят мозг кипеть

Уверены, что знаете Java на отлично? Проверьте себя на этих 10 каверзных вопросах, которые могут встретиться на собеседовании или просто сломать код.

Пройдите тест и узнайте, насколько знаете тонкости языка.

🔗 Пройти тест
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Как быстро настроить распределённую трассировку в Spring Boot с OpenTelemetry

Дебажить без трейсинга — как ловить баги с завязанными глазами. Но Spring Boot и тут не подвёл: подключаем, настраиваем — и уже можно видеть, что происходит внутри сервиса (и между сервисами тоже).

1️⃣ Добавляем зависимости
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>

ИЛИ

implementation 'io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter:2.1.0'


Плюс агент (нужно будет передать при запуске JAR-а):
-javaagent:opentelemetry-javaagent.jar


2️⃣ Настраиваем экспорт в Jaeger / Zipkin / OTEL Collector

Добавляем конфигурацию в application.yml:
otel:
exporter:
otlp:
endpoint: http://localhost:4317
resource:
attributes:
service.name: my-service
instrumentation:
spring-web:
enabled: true
jdbc:
enabled: true


Можно слать трейсинг напрямую в Jaeger или Zipkin, или в OTEL Collector для гибкости.

3️⃣ Автоматическая трассировка веб-запросов и JDBC

Ничего руками писать не нужно. Всё, что проходит через @RestController и JdbcTemplate — уже обвешано спанами. Нужно только запустить приложение с агентом:
java -javaagent:opentelemetry-javaagent.jar -jar myapp.jar


Сразу работают:

— Спаны на все входящие HTTP-запросы
— Спаны на SQL-запросы
— Привязку логов к трейсам (если логгер поддерживает traceId)

4️⃣ Кастомные спаны

Нужно залезть в середину метода и обернуть свою логику? Без проблем:
@Autowired
private Tracer tracer;

public void doSomething() {
Span span = tracer.spanBuilder("custom-operation").startSpan();
try (Scope scope = span.makeCurrent()) {
// какая-то магия
} finally {
span.end();
}
}


5️⃣ Визуализация трассировок

Установите Jaeger UI или Zipkin — и смотрите в реальном времени, что делает сервис и как долго.

💬 Что вы используете для трейсинга?

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Залетай на стажировку в Kaspersky ⚡️

Если ты хорошо знаешь Java или Kotlin и хочешь освоить новые скиллы, весенняя стажировка от «Лаборатории Касперского» — для тебя. Мы ищем студентов на направление SDET Android — работа на стыке мобильной разработки и автотестирования.

Если ты учишься в вузе в Москве/МО на любом курсе, кроме выпускного, или в Школе 21 и готов(а) работать от 20 часов в неделю — присоединяйся к нам и начинай карьеру еще до окончания учебы 😎

☕️ Во время стажировки ты будешь получать зарплату и компенсацию питания, пользоваться сауной и игровыми комнатами в офисе 😇

☕️ Границы только в голове! Теперь время играет на тебя, действуй и регистрируйся здесь: https://kas.pr/3krn?erid=2W5zFJUGNe4

Реклама. Рекламодатель АО «Лаборатория Касперского» ИНН 7713140469
⚙️ Ускоряем отладку кода с помощью AI

Устали копаться в логах или ловить баги методом “на авось”? Попробуйте вот этот промпт — он сэкономит вам часы мучений:

📝 Промпт:


Debug the following code and identify potential issues or anti-patterns. Suggest fixes, explain the root cause of errors, and recommend tools or techniques to prevent such bugs in the future.

// Вставьте глючный код сюда


💡 Дополнительные возможности:

— Добавьте Simulate expected vs actual output behavior если не понимаете, почему оно работает не так, как вы думаете
— Добавьте Point out hidden performance issues or memory leaks если подозреваете, что код ест больше, чем должен
— Добавьте Suggest logging or monitoring strategies чтобы ловить баги ещё до того, как они вас поймают

💬 А как вы находите баги в коде?

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

На собеседовании важно уметь выделить главное — свои сильные стороны, мышление и ценности. Это помогает справляться со стрессом, неожиданными вопросами и субъективной оценкой.

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

В новой статье мы разберём:
• Как работает PCA
• Зачем он нужен
• Как применять его на практике — например, для анализа доходностей акций S&P 500

🐸 Подробнее: https://proglib.io/sh/uXsDlt75MY

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
👑 Магия 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