Библиотека джависта | 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
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?

Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.

Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.

👉 Ссылка на опрос 👈

Прохождение займёт примерно 4 минуты
💥🍾 Project Leyden: Capturing Lightning in a Bottle

Project Leyden нацелен на сокращение времени запуска, горячего старта, и занимаемого пространства Java-приложений. Автор углубится в разъяснение, что это все такое, как это могло бы работать, и покажет на пальцах процесс эксплуатации.

Смотреть

#видео
Каково максимальное число значений hashCode()?
Anonymous Quiz
3%
2*8
11%
2*16
56%
2*32
29%
2*64
💪 Что не так с MVP: как создать конкурентоспособный продукт

Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.

👉 Читать статью
👉 Зеркало
Очередной #дайджест для джависта

🌿 Декомпозиция систем по ограниченным контекстам DDD — глубокое погружение

🌿 Семь принципов хорошей разработки — принципы разработки ПО при создании высококачественных, удобных в сопровождении и эффективных программных систем

🌿 Хакатон: умный помощник для тендеров — пройдет на площадке РЭУ им. Г.В. Плеханова

🌿 Java's Custom Runtime Builder — про мощный инструмент командной строки для создания кастомных сред выполнения Java

🌿 Java в контейнере — особенности эксплуатации
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.

⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.

👉 Читать

P. S. Свои предложения для исследований пишите в комменты👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Java-программа для преобразования десятичной системы счисления в двоичную

Воспользуемся побитовыми операторами для решения данной задачи.

Временная сложность: O (1)
Вспомогательное пространство: O (1).
Хеш-таблицы в Java: секреты производительности

Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когда сложность добавления или удаления из нее не O(1), а линейная, и какие потенциальные атаки можно провести на эту структуру данных (и как их избегают в современных языках программирования на примере Java).

Читать статью

#туториал
Библиотека Apache Commons BeanUtils

Это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:

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

Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
Плавный переход с Java 11 на Java 21: пошаговое руководство для разработчиков

Наше пошаговое руководство поможет вам осуществить плавную миграцию вашего проекта с Java 11 на Java 21, избегая подводных камней и извлекая максимум пользы из новых возможностей.


Читать статью

#гайд
BrokenBarrierException

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

Как исправить:

👉 Обработайте исключение BrokenBarrierException в коде.
👉 Убедитесь, что все потоки, которые будут ждать на барьере, завершатся до того, как вы его сломаете.
👉 Используйте CyclicBarrier вместо Barrier, если вам нужно сбросить барьер и запустить его снова.
Очередной #дайджест для джавистов

🔅 JEP 467: Markdown Documentation Comments — про Markdown в JavaDoc, перешел в статус Candidate

🔅 Гексагональная Архитектура и Spring Boot — про опыт применения гексагональной архитектуры в микросервисе

🔅 Data Oriented Programming в Java 21, решение задачи обратного отсчета — речь пойдет о новых фичах: Records, Sealed Types, Pattern Matching, Unnamed Patterns и Exhaustive Switches

🔅 Hibernate StatelessSession JDBC Batching — теперь StatelessSession можно использовать для создания INSERT, DELETE и UPDATE батч-запросов

🔅 Оптимизация Java для современного оборудования — непрерывная эволюция Vector API
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🧑‍💻 Путь разработчика: один язык на всю жизнь или постоянное переобучение?

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

👉 Поделитесь своим мнением и опытом. Ваши ответы помогут нам лучше понять тенденции и предпочтения в сообществе разработчиков

Опрос займёт у вас примерно 4 минуты.
😎 Покупайте сейчас — учитесь, когда удобно!

До 1 апреля мы снизили цены на все наши курсы, чтобы вы могли сформировать свой карьерный трек и например подготовится и поступить в ШАД.

👀 Советуем обратить внимание на наши самые популярные курсы:
Математика для Data Science
Алгоритмы и структуры данных

🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.

📚А если вы не уверенны, подойдет ли вам курс, то вы можете оставить заявку на вводные занятия. И наш менеджер пришлет вам всю необходимую информацию, где вы познакомитесь с преподавателями и форматом обучения — https://proglib.io/w/47905349
Задача с LeetCode (Minimum Path Sum)

Дана двумерная матрица M x N, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который будет иметь наименьшую сумму чисел на своем пути. Двигаться при этом можно только вниз и вправо.

Для решения воспользуемся динамическим программированием:

⏺️ Первые два цикла for обновляют значения в первой строке и первом столбце, добавляя значения ячеек сверху и слева соответственно.

⏺️ Последний цикл for обновляет остальные значения внутри массива grid, выбирая минимальное значение из верхней и левой ячейки и добавляя его к текущей ячейке.

⏺️ Конечный результат возвращается из последней ячейки массива grid.