Библиотека Java разработчика
10.8K subscribers
1.14K photos
564 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
Spring Profiles

В этом руководстве мы сосредоточимся на представлении профилей в Spring.
Профили являются основной особенностью фреймворка, позволяя нам сопоставлять наши beans с различными профилями - например, dev, test и prod.
Затем мы можем активировать разные профили в разных окружениях, чтобы загружать только те модули, которые нам нужны.

https://www.baeldung.com/spring-profiles

👉@BookJava
👍3
Погрузиться в мир Javа и написать свою первую программу? Уже через 14 дней подготовительного курса!

Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия. Всего 990 ₽ и ваше жгучее желание начать.

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

Начало уже 4 июля!
👍5🤔1
Как прочитать криптографический ключ?

Для чтения криптографического ключа необходимо использовать классы Java Cryptography Architecture (JCA). Пример кода для чтения криптографического ключа из файла вида PKCS#8 с помощью этих классов может выглядеть следующим образом:

// Загружаем публичный ключ из файла
FileInputStream fis = new FileInputStream("public.pem");
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
byte[] keyBytes = new byte[dis.available()];
dis.readFully(keyBytes);
dis.close();

// Преобразуем байты в объект PublicKey
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);


// Используем ключ для выполнения криптографических операций

👉@BookJava
👍5
Сжатие указателей в Java

В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.

https://habr.com/ru/articles/440166/

👉@BookJava
👍3
Нельзя так просто взять и вычислить абсолютное значение

Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На Java это будет выглядеть примерно так:

public static double abs(double value) {
if (value < 0) {
return -value;
}
return value;
}


https://bookflow.ru/nelzya-tak-prosto-vzyat-i-vychislit-absolyutnoe-znachenie/

👉@BookJava
👍4
Java Collections Framework. Вопросы для собеседования.

https://github.com/enhorse/java-interview/blob/master/jcf.md

👉@BookJava
👍8
Media is too big
VIEW IN TELEGRAM
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.

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

источник

👉@BookJava
👍4
Вопросы с реального собеседования Senior Java Developer

00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли разработчик управлять памятью в Java?
03:40 Как потоки связаны с памятью?
07:28 Spring Context и зачем он нужен?
08:10 Как работает аннотация @ Transactional?
09:45 Как работает транзакция?
10:30 Как работает TDD?
14:17 Выводы

https://www.youtube.com/watch?v=sMGYAucH9yY

👉@BookJava
👍5
RSHB Backend Dev Meetup: — бесплатный митап для Java-разработчиков

🗓 6 июля в 19:00 (МСК, GMT+3)

🌐 Онлайнтрансляция на сайте
📍 Офлайн — в офисе РСХБ-Интех по адресу: Москва, Профсоюзная улица, дом 125а

В программе:
Александр Нозик— «Такая разная разработка». Доклад об использовании технологий Kotlin-стека разными командами для разноплановых кейсов (пет-проект, стартап, аналитика, исследования и энтерпрайз).
Иван Кочергин — «Микросервисы в банке: на чем их лучше писать? Java/Kotlin, а может Go?». Иван сравнит преимущества двух популярных платформ и составит непредвзятую картину, чтобы понять, на чем лучше писать микросервисы в банке.
Илья Сазонов, Федор Сазонов — «Маппинг: убрать нельзя использовать». Спикеры расскажут о маппинге одних DTO в другие, как и главное зачем это делать, а также обсудят особенности юнит-тестирования.

Вы сможете задать вопросы спикерам и подискутировать с другими участниками. Авторы лучших вопросов получат подарки🎁

Участие бесплатное. Нужно только зарегистрироваться.
🔥3
Java

В нативный код из уютного мира Java: путешествие туда и обратно
Иван Углянский - Java

Загадки JPA и их разоблачение
Андрей Беляев - Java

источник

👉@BookJava
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка слиянием через рекурсию

В этот раз мы применим рекурсию для создания алгоритма сортировки слиянием.

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

Освежим в памяти суть сортировки слиянием:

Изначальный массив делится пополам до тех пор, пока длина "половинок" не станет равна 1. Это - базовый случай. Затем элементы двух "половинок" сравниваются и заносятся в результирующий массив в порядке возрастания.

https://habr.com/ru/articles/710620/

👉@BookJava
👍5
Media is too big
VIEW IN TELEGRAM
Spring по верхам: Разработка REST-сервиса

00:00 Вступление
02:13 Конфигурация проекта
06:48 Создание аннотированного контроллера и реализация API для получения списка задач
16:08 API для создания задачи, базовая валидация и интернационализация
34:54 API для получения задачи по идентификатору

источник

👉@BookJava
👍5
Как за полчаса написать простую читалку книг FB2 для десктопа на Java

Недавно мне для личных целей потребовалось написать читалку FB2. И сразу я столкнулась с тем, что информации по теме минимум. Палочка-выручалочка под названием ChatGPT выдал что-то невразумительное в ответ на довольно подробный запрос. К тому же, никаких готовых библиотек, чтобы по-быстренькому наваять ридер, я также не смогла обнаружить. Хотя искала долго и упорно, как Чубакка расческу.

https://habr.com/ru/articles/732412/

👉@BookJava
👍8
Apache Kafka - это распределённая платформа потоковой передачи данных с открытым исходным кодом.

Её используют LinkedIn, Netflix и тысячи других компаний для создания высокопроизводительных конвейеров данных, потоковой аналитики и критически важных приложений.

— Как эффективно использовать Apache Kafka в своих проектах?
— Как применять best practices от лидеров индустрии?
— Как избежать распространённых ошибок?

Читайте в канале Рецепты Kafka
👍2
Еще один путь снизить боль при работе с Java проектами и их документированием

За время карьеры, чаще всего сталкивался с ситуацией — когда получаешь проект в котором непонятно, где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят — «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же, после перебросок между многочисленными проектами бывало — когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой‑то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.

https://habr.com/ru/articles/732564/

👉@BookJava
👍6
Миллиарды сообщений в минуту по протоколу TCP/IP

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

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

Библиотека Chronicle Wire с открытым исходным кодом обеспечивает высокоэффективные средства сериализации и десериализации данных для передачи в и из Chronicle Queue.

Недавние дополнения к библиотеке расширяют возможности ее использования с каналами связи TCP/IP, обеспечивая чрезвычайно высокую пропускную способность.

Использование Wire через TCP/IP открывает возможность облачно-ориентированного (cloud native) развертывания приложений на основе Chronicle.

https://www.infoq.com/articles/billions-messages-minute/

👉@BookJava
👍4🤔1
Метод compareTo()

В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.

👉@BookJava
👍3