Spring Profiles
В этом руководстве мы сосредоточимся на представлении профилей в Spring.
Профили являются основной особенностью фреймворка, позволяя нам сопоставлять наши beans с различными профилями - например, dev, test и prod.
Затем мы можем активировать разные профили в разных окружениях, чтобы загружать только те модули, которые нам нужны.
https://www.baeldung.com/spring-profiles
👉@BookJava
В этом руководстве мы сосредоточимся на представлении профилей в Spring.
Профили являются основной особенностью фреймворка, позволяя нам сопоставлять наши beans с различными профилями - например, dev, test и prod.
Затем мы можем активировать разные профили в разных окружениях, чтобы загружать только те модули, которые нам нужны.
https://www.baeldung.com/spring-profiles
👉@BookJava
Baeldung on Kotlin
Spring Profiles | Baeldung
How to define and use Profiles in Spring. The 4 ways to enable profiles and their precedence. And a real-world example using profiles.
👍3
Погрузиться в мир Javа и написать свою первую программу? Уже через 14 дней подготовительного курса!
Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия. Всего 990 ₽ и ваше жгучее желание начать.
✅ Вас ждет 62 урока теории и практики прямо в браузере, вебинары, лайвкодинг и первая собственная программа на Java, написанная под руководством опытного наставника и сертификат по окончании.
⏰ Начало уже 4 июля!
Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия. Всего 990 ₽ и ваше жгучее желание начать.
✅ Вас ждет 62 урока теории и практики прямо в браузере, вебинары, лайвкодинг и первая собственная программа на Java, написанная под руководством опытного наставника и сертификат по окончании.
⏰ Начало уже 4 июля!
👍5🤔1
Как прочитать криптографический ключ?
Для чтения криптографического ключа необходимо использовать классы Java Cryptography Architecture (JCA). Пример кода для чтения криптографического ключа из файла вида PKCS#8 с помощью этих классов может выглядеть следующим образом:
// Используем ключ для выполнения криптографических операций
👉@BookJava
Для чтения криптографического ключа необходимо использовать классы 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
В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.
https://habr.com/ru/articles/440166/
👉@BookJava
👍3
Нельзя так просто взять и вычислить абсолютное значение
Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На Java это будет выглядеть примерно так:
https://bookflow.ru/nelzya-tak-prosto-vzyat-i-vychislit-absolyutnoe-znachenie/
👉@BookJava
Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На 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
https://github.com/enhorse/java-interview/blob/master/jcf.md
👉@BookJava
👍8
Реализация gRPC с помощью Java и Spring Boot
https://medium.com/turkcell/grpc-implementation-with-spring-boot-7d6f98349d27
👉@BookJava
https://medium.com/turkcell/grpc-implementation-with-spring-boot-7d6f98349d27
👉@BookJava
👍3🥰1
Media is too big
VIEW IN TELEGRAM
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.
В этом видео я рассказываю о представлении в отрицательных чисел в компьютере на примере типа byte. Показываю, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишем алгоритм для преобразования цветной фотографии в черно-белую.
источник
👉@BookJava
В этом видео я рассказываю о представлении в отрицательных чисел в компьютере на примере типа byte. Показываю, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишем алгоритм для преобразования цветной фотографии в черно-белую.
источник
👉@BookJava
👍4
KeyStore Explorer - Создание самоподписанных сертификатов
В данном ролике я рассмотрю создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
https://youtu.be/ixK9CWfSdQ8
👉@BookJava
В данном ролике я рассмотрю создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
https://youtu.be/ixK9CWfSdQ8
👉@BookJava
YouTube
KeyStore Explorer - Создание самоподписанных сертификатов
В данном ролике я рассмотрю создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
Сайт: https://alexkosarev.name
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
#ssl #keystoreexplorer
Сайт: https://alexkosarev.name
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://t.me/+TZCuO38vG3oqu_Jq
#ssl #keystoreexplorer
👍3
Вопросы с реального собеседования 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
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
YouTube
Вопросы с реального собеседования Senior Java Developer
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
👍5
RSHB Backend Dev Meetup: — бесплатный митап для Java-разработчиков
🗓 6 июля в 19:00 (МСК, GMT+3)
🌐 Онлайн — трансляция на сайте
📍 Офлайн — в офисе РСХБ-Интех по адресу: Москва, Профсоюзная улица, дом 125а
В программе:
✔ Александр Нозик— «Такая разная разработка». Доклад об использовании технологий Kotlin-стека разными командами для разноплановых кейсов (пет-проект, стартап, аналитика, исследования и энтерпрайз).
✔ Иван Кочергин — «Микросервисы в банке: на чем их лучше писать? Java/Kotlin, а может Go?». Иван сравнит преимущества двух популярных платформ и составит непредвзятую картину, чтобы понять, на чем лучше писать микросервисы в банке.
✔ Илья Сазонов, Федор Сазонов — «Маппинг: убрать нельзя использовать». Спикеры расскажут о маппинге одних DTO в другие, как и главное зачем это делать, а также обсудят особенности юнит-тестирования.
Вы сможете задать вопросы спикерам и подискутировать с другими участниками. Авторы лучших вопросов получат подарки🎁
Участие бесплатное. Нужно только зарегистрироваться.
🗓 6 июля в 19:00 (МСК, GMT+3)
🌐 Онлайн — трансляция на сайте
📍 Офлайн — в офисе РСХБ-Интех по адресу: Москва, Профсоюзная улица, дом 125а
В программе:
✔ Александр Нозик— «Такая разная разработка». Доклад об использовании технологий Kotlin-стека разными командами для разноплановых кейсов (пет-проект, стартап, аналитика, исследования и энтерпрайз).
✔ Иван Кочергин — «Микросервисы в банке: на чем их лучше писать? Java/Kotlin, а может Go?». Иван сравнит преимущества двух популярных платформ и составит непредвзятую картину, чтобы понять, на чем лучше писать микросервисы в банке.
✔ Илья Сазонов, Федор Сазонов — «Маппинг: убрать нельзя использовать». Спикеры расскажут о маппинге одних DTO в другие, как и главное зачем это делать, а также обсудят особенности юнит-тестирования.
Вы сможете задать вопросы спикерам и подискутировать с другими участниками. Авторы лучших вопросов получат подарки🎁
Участие бесплатное. Нужно только зарегистрироваться.
🔥3
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка слиянием через рекурсию
В этот раз мы применим рекурсию для создания алгоритма сортировки слиянием.
В сети легко найти множество вариаций решения данной задачи. Код, который мы рассмотрим в этой статье, будет написан так, чтобы быть максимально простым для понимания начинающих разработчиков.
Освежим в памяти суть сортировки слиянием:
Изначальный массив делится пополам до тех пор, пока длина "половинок" не станет равна 1. Это - базовый случай. Затем элементы двух "половинок" сравниваются и заносятся в результирующий массив в порядке возрастания.
https://habr.com/ru/articles/710620/
👉@BookJava
В этот раз мы применим рекурсию для создания алгоритма сортировки слиянием.
В сети легко найти множество вариаций решения данной задачи. Код, который мы рассмотрим в этой статье, будет написан так, чтобы быть максимально простым для понимания начинающих разработчиков.
Освежим в памяти суть сортировки слиянием:
Изначальный массив делится пополам до тех пор, пока длина "половинок" не станет равна 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
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
Недавно мне для личных целей потребовалось написать читалку FB2. И сразу я столкнулась с тем, что информации по теме минимум. Палочка-выручалочка под названием ChatGPT выдал что-то невразумительное в ответ на довольно подробный запрос. К тому же, никаких готовых библиотек, чтобы по-быстренькому наваять ридер, я также не смогла обнаружить. Хотя искала долго и упорно, как Чубакка расческу.
https://habr.com/ru/articles/732412/
👉@BookJava
👍8
Apache Kafka - это распределённая платформа потоковой передачи данных с открытым исходным кодом.
Её используют LinkedIn, Netflix и тысячи других компаний для создания высокопроизводительных конвейеров данных, потоковой аналитики и критически важных приложений.
— Как эффективно использовать Apache Kafka в своих проектах?
— Как применять best practices от лидеров индустрии?
— Как избежать распространённых ошибок?
Читайте в канале Рецепты Kafka
Её используют LinkedIn, Netflix и тысячи других компаний для создания высокопроизводительных конвейеров данных, потоковой аналитики и критически важных приложений.
— Как эффективно использовать Apache Kafka в своих проектах?
— Как применять best practices от лидеров индустрии?
— Как избежать распространённых ошибок?
Читайте в канале Рецепты Kafka
👍2
Еще один путь снизить боль при работе с Java проектами и их документированием
За время карьеры, чаще всего сталкивался с ситуацией — когда получаешь проект в котором непонятно, где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят — «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же, после перебросок между многочисленными проектами бывало — когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой‑то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.
https://habr.com/ru/articles/732564/
👉@BookJava
За время карьеры, чаще всего сталкивался с ситуацией — когда получаешь проект в котором непонятно, где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят — «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же, после перебросок между многочисленными проектами бывало — когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой‑то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.
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
Основные выводы
Согласованность данных имеет решающее значение при обмене данными между программными компонентами на разных машинах, чтобы обеспечить сохранность информации.
Обмен данными с низкой задержкой требует иного подхода, чем обычные форматы.
Библиотека Chronicle Wire с открытым исходным кодом обеспечивает высокоэффективные средства сериализации и десериализации данных для передачи в и из Chronicle Queue.
Недавние дополнения к библиотеке расширяют возможности ее использования с каналами связи TCP/IP, обеспечивая чрезвычайно высокую пропускную способность.
Использование Wire через TCP/IP открывает возможность облачно-ориентированного (cloud native) развертывания приложений на основе Chronicle.
https://www.infoq.com/articles/billions-messages-minute/
👉@BookJava
InfoQ
Billions of Messages Per Minute Over TCP/IP
Chronicle Wire offers an alternative way of transferring data between systems, delivering more messages, faster, than common JSON/XML approaches. This approach to data serialization improves both latency and throughput.
👍4🤔1
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👉@BookJava
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👉@BookJava
👍3