Java
1.63K subscribers
223 photos
5 videos
3 files
901 links
Программирование на Java.

По всем вопросам: @un_ixtime
Download Telegram
Spring4Shell: уязвимость ядра Spring RCE

В конце 2021 года Интернет был взорван из-за падения Zero-day, уязвимости удаленного выполнения кода, также известной как Log4Shell , в Apache Log4j2. Уязвимость была обнаружена командой безопасности Alibaba Cloud.
Сегодня исследователи обнаружили еще одну уязвимость, которая может нанести серьезный ущерб множеству приложений. На данный момент для этой уязвимости нет идентификатора CVE, но мы можем назвать ее Spring4Shell . Уязвимость существует в ядре Spring с версией JDK выше или равной 9.0. https://shly.link/AXPJY
👍3
Введение в парсинг веб-страниц с помощью Java

Есть ли веб-сайт, с которого вы хотели бы регулярно получать данные в структурированном виде, но этот сайт еще не предлагает стандартизированный API, такой как интерфейс JSON REST? Не волнуйтесь, на помощь приходит парсинг
https://shly.link/ohacS
Для чего используется оператор assert?

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

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

Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ.

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

В Java проверка утверждений реализована с помощью оператора assert, который имеет форму:

[Выражение типа boolean]; или assert [Выражение типа boolean] : [Выражение любого типа, кроме void];

Во время выполнения программы в том случае, если поверка утверждений включена, вычисляется значение булевского выражения, и если его результат false, то генерируется исключение java.lang.AssertionError. В случае использования второй формы оператора assert выражение после двоеточия задаёт детальное сообщение о произошедшей ошибке (вычисленное выражение будет преобразовано в строку и передано конструктору AssertionError).
how-build-android-apps-kotlin.pdf
21.1 MB
How to Build Android Apps with Kotlin

Автор: Alex Forrester, Eran Boudjnah, Alexandru Dumbravan, Jomar Tigcal
Год издания: 2021

What you will learn
Create maintainable and scalable apps using Kotlin
Understand the Android development lifecycle
Simplify app development with Google architecture components
Use standard libraries for dependency injection and data parsing
Apply the repository pattern to retrieve data from outside sources
Publish your app on the Google Play store
Оптимизация производительности функции AWS Lambda для Java

В этом посте показано, как оптимизировать производительность функций AWS Lambda , написанных на Java, без изменения кода функции. https://shly.link/1Fny6
5 распространенных ошибок в JAVA
https://shly.link/mdmnLXy
💩2👍1
Реализация распределенной трассировки в приложении Java

В этой статье мы реализуем распределенную трассировку для приложения Java Spring Boot с тремя микросервисами. Для реализации распределенной трассировки мы будем использовать решения с открытым исходным кодом — SigNoz и OpenTelemetry, поэтому вы можете легко следовать руководству.

https://shly.link/devszzS
JEP 425: виртуальные потоки (предварительная версия)

https://openjdk.java.net/jeps/425
Как большинство Java проектов выглядят изнутри

Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. За всю свою практику я встречался с различными системами как в продакшене, так и в пет проектах. Некоторые системы имели свои “велосипеды”, но большинство базировались на очень похожих технических решениях.

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

https://shly.link/habrvm1V
👍1
Как сохранить json в файл на Java?

Используйте ObjectMapper() чтобы сохранить json данные в файл на Java.

Посмотреть пример в онлайн редакторе.
Есть ли наконец в Java 18 лучшая альтернатива JNI?

https://shly.link/devc8B5
10 лучших практик программирования на Java для начинающих

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

https://shly.link/reWc5
👍1
20+ вопросов для интервью по Core Java для опытных специалистов из инвестиционных банков

https://dev.to/javinpaul/20-core-java-interview-questions-for-experienced-professionals-from-investment-banks-53b7
👍1
Рекомендации Google для библиотек Java

Рекомендации Google Best Practices для библиотек Java — это правила, минимизирующие проблемы для пользователей взаимосвязанных библиотек Java. Эти методы основаны на накопленном за десятилетия опыте поддержки библиотек Java с открытым исходным кодом и основаны на многих трудно выученных уроках из совершенных ошибок. https://shly.link/WWr3q
👍1
Контейнеризируйте свои Java-приложения

В этой статье представлен обзор рекомендуемых стратегий и параметров контейнеризации приложений Java.

При контейнеризации Java-приложения тщательно продумайте, сколько процессорного времени будет доступно контейнеру. Затем подумайте, сколько памяти будет доступно как с точки зрения общего объема памяти, так и с точки зрения размера кучи виртуальной машины Java (JVM). В контейнерных средах приложения могут иметь доступ ко всем процессорам и, следовательно, иметь возможность запускать несколько потоков параллельно. Однако часто к контейнерам применяется квота ЦП, которая может ограничивать доступ к ЦП.
https://shly.link/docafA1
Шифрование и дешифрование Java AES

Алгоритм AES (также известный как алгоритм Rijndael) представляет собой блочный шифр с симметричным ключом, который поддерживает криптографические ключи (секретные ключи) длиной 128, 192 и 256 бит для шифрования и дешифрования данных блоками по 128 бит.
https://shly.link/mdmabJi
Вышла IntelliJ IDEA 2022.1

IntelliJ IDEA 2022.1 уже доступна. Наш первый крупный релиз в этом году предлагает множество улучшений и множество новых функций для улучшения вашего опыта работы с нашим продуктом.
https://shly.link/yPQpa
🤔3👍1
Топ-40 вопросов для собеседования по объектно-ориентированному программированию [ООП] на Java

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

https://shly.link/SESSk
Kafka с Java, Spring и Docker — асинхронная связь между микросервисами

Подробное объяснение того, как реализовать обмен сообщениями между микросервисами Java с помощью Kafka.
https://shly.link/mdmTk6t