Spring4Shell: уязвимость ядра Spring RCE
В конце 2021 года Интернет был взорван из-за падения Zero-day, уязвимости удаленного выполнения кода, также известной как Log4Shell , в Apache Log4j2. Уязвимость была обнаружена командой безопасности Alibaba Cloud.
Сегодня исследователи обнаружили еще одну уязвимость, которая может нанести серьезный ущерб множеству приложений. На данный момент для этой уязвимости нет идентификатора CVE, но мы можем назвать ее Spring4Shell . Уязвимость существует в ядре Spring с версией JDK выше или равной 9.0. https://shly.link/AXPJY
В конце 2021 года Интернет был взорван из-за падения Zero-day, уязвимости удаленного выполнения кода, также известной как Log4Shell , в Apache Log4j2. Уязвимость была обнаружена командой безопасности Alibaba Cloud.
Сегодня исследователи обнаружили еще одну уязвимость, которая может нанести серьезный ущерб множеству приложений. На данный момент для этой уязвимости нет идентификатора CVE, но мы можем назвать ее Spring4Shell . Уязвимость существует в ядре Spring с версией JDK выше или равной 9.0. https://shly.link/AXPJY
Cyber Kendra
SpringShell: Spring Core RCE 0-day Vulnerability
Spring4Shell: Spring core RCE vulnerability
👍3
Введение в парсинг веб-страниц с помощью Java
Есть ли веб-сайт, с которого вы хотели бы регулярно получать данные в структурированном виде, но этот сайт еще не предлагает стандартизированный API, такой как интерфейс JSON REST? Не волнуйтесь, на помощь приходит парсинг
https://shly.link/ohacS
Есть ли веб-сайт, с которого вы хотели бы регулярно получать данные в структурированном виде, но этот сайт еще не предлагает стандартизированный API, такой как интерфейс JSON REST? Не волнуйтесь, на помощь приходит парсинг
https://shly.link/ohacS
Scrapingbee
Introduction to Web Scraping With Java | ScrapingBee
This article will show you the setup to start web scraping with Java. It will teach you the basic techniques to fetch and parse data with Java and htmlUnit.
Для чего используется оператор assert?
Assert (Утверждение) — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Утверждение может автоматически сигнализировать об обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных.
Утверждения существенно упрощают локализацию ошибок в коде. Даже проверка результатов выполнения очевидного кода может оказаться полезной при последующем рефакторинге, после которого код может стать не настолько очевидным и в него может закрасться ошибка.
Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ.
Т.к. утверждения могут быть удалены на этапе компиляции либо во время исполнения программы, они не должны менять поведение программы. Если в результате удаления утверждения поведение программы может измениться, то это явный признак неправильного использования assert. Таким образом, внутри assert нельзя вызывать методы, изменяющие состояние программы, либо внешнего окружения программы.
В Java проверка утверждений реализована с помощью оператора
Assert (Утверждение) — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Утверждение может автоматически сигнализировать об обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных.
Утверждения существенно упрощают локализацию ошибок в коде. Даже проверка результатов выполнения очевидного кода может оказаться полезной при последующем рефакторинге, после которого код может стать не настолько очевидным и в него может закрасться ошибка.
Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ.
Т.к. утверждения могут быть удалены на этапе компиляции либо во время исполнения программы, они не должны менять поведение программы. Если в результате удаления утверждения поведение программы может измениться, то это явный признак неправильного использования assert. Таким образом, внутри assert нельзя вызывать методы, изменяющие состояние программы, либо внешнего окружения программы.
В Java проверка утверждений реализована с помощью оператора
assert
, который имеет форму: [Выражение типа boolean];
или assert [Выражение типа boolean] : [Выражение любого типа, кроме void];
Во время выполнения программы в том случае, если поверка утверждений включена, вычисляется значение булевского выражения, и если его результат false
, то генерируется исключение java.lang.AssertionError
. В случае использования второй формы оператора assert выражение после двоеточия задаёт детальное сообщение о произошедшей ошибке (вычисленное выражение будет преобразовано в строку и передано конструктору AssertionError
).Spring Boot 2.6.6 уже доступен
Версия Spring Framework в этом выпуске включает исправление для CVE-2022-22965 .
https://shly.link/98fJZ
Версия Spring Framework в этом выпуске включает исправление для CVE-2022-22965 .
https://shly.link/98fJZ
spring.io
Spring Boot 2.6.6 available now
<p>On behalf of the team and everyone who has contributed, I’m happy to announce that Spring Boot <code>2.6.6</code> has been released and is now available from Maven Central.</p>
<p>The Spring Framework version in this release includes a fix for <a href…
<p>The Spring Framework version in this release includes a fix for <a href…
👍3
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
Автор: 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
В этом посте показано, как оптимизировать производительность функций AWS Lambda , написанных на Java, без изменения кода функции. https://shly.link/1Fny6
Amazon
Optimizing AWS Lambda function performance for Java | Amazon Web Services
This post is written by Mark Sailes, Senior Specialist Solutions Architect. This blog post shows how to optimize the performance of AWS Lambda functions written in Java, without altering any of the function code. It shows how Java virtual machine (JVM) settings…
Реализация распределенной трассировки в приложении Java
В этой статье мы реализуем распределенную трассировку для приложения Java Spring Boot с тремя микросервисами. Для реализации распределенной трассировки мы будем использовать решения с открытым исходным кодом — SigNoz и OpenTelemetry, поэтому вы можете легко следовать руководству.
https://shly.link/devszzS
В этой статье мы реализуем распределенную трассировку для приложения Java Spring Boot с тремя микросервисами. Для реализации распределенной трассировки мы будем использовать решения с открытым исходным кодом — SigNoz и OpenTelemetry, поэтому вы можете легко следовать руководству.
https://shly.link/devszzS
DEV Community
Implementing Distributed Tracing in a Java application
Monitoring and troubleshooting distributed systems like those built with microservices is...
Как большинство Java проектов выглядят изнутри
Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. За всю свою практику я встречался с различными системами как в продакшене, так и в пет проектах. Некоторые системы имели свои “велосипеды”, но большинство базировались на очень похожих технических решениях.
Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями. А также перечислить те фреймворки и библиотеки, которые чаще всего используются для решения этих задач. Бонусом захватим немного инфраструктуры.
https://shly.link/habrvm1V
Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. За всю свою практику я встречался с различными системами как в продакшене, так и в пет проектах. Некоторые системы имели свои “велосипеды”, но большинство базировались на очень похожих технических решениях.
Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями. А также перечислить те фреймворки и библиотеки, которые чаще всего используются для решения этих задач. Бонусом захватим немного инфраструктуры.
https://shly.link/habrvm1V
Habr
Как большинство Java проектов выглядят изнутри
Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. За всю свою практику я встречался с различными системами как в продакшене, так и в пет...
👍1
Как сохранить json в файл на Java?
Используйте
Посмотреть пример в онлайн редакторе.
Используйте
ObjectMapper()
чтобы сохранить json данные в файл на Java.Посмотреть пример в онлайн редакторе.
10 лучших практик программирования на Java для начинающих
Чтобы облегчить вам поиск советов по программированию в Интернете, мы составили список нескольких методов кодирования Java. Эти передовые методы кодирования регулярно используются опытными программистами Java и очень помогут вам в написании отличного кода.
https://shly.link/reWc5
Чтобы облегчить вам поиск советов по программированию в Интернете, мы составили список нескольких методов кодирования 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
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
Рекомендации Google Best Practices для библиотек Java — это правила, минимизирующие проблемы для пользователей взаимосвязанных библиотек Java. Эти методы основаны на накопленном за десятилетия опыте поддержки библиотек Java с открытым исходным кодом и основаны на многих трудно выученных уроках из совершенных ошибок. https://shly.link/WWr3q
👍1
Контейнеризируйте свои Java-приложения
В этой статье представлен обзор рекомендуемых стратегий и параметров контейнеризации приложений Java.
При контейнеризации Java-приложения тщательно продумайте, сколько процессорного времени будет доступно контейнеру. Затем подумайте, сколько памяти будет доступно как с точки зрения общего объема памяти, так и с точки зрения размера кучи виртуальной машины Java (JVM). В контейнерных средах приложения могут иметь доступ ко всем процессорам и, следовательно, иметь возможность запускать несколько потоков параллельно. Однако часто к контейнерам применяется квота ЦП, которая может ограничивать доступ к ЦП.
https://shly.link/docafA1
В этой статье представлен обзор рекомендуемых стратегий и параметров контейнеризации приложений Java.
При контейнеризации Java-приложения тщательно продумайте, сколько процессорного времени будет доступно контейнеру. Затем подумайте, сколько памяти будет доступно как с точки зрения общего объема памяти, так и с точки зрения размера кучи виртуальной машины Java (JVM). В контейнерных средах приложения могут иметь доступ ко всем процессорам и, следовательно, иметь возможность запускать несколько потоков параллельно. Однако часто к контейнерам применяется квота ЦП, которая может ограничивать доступ к ЦП.
https://shly.link/docafA1
Шифрование и дешифрование Java AES
Алгоритм AES (также известный как алгоритм Rijndael) представляет собой блочный шифр с симметричным ключом, который поддерживает криптографические ключи (секретные ключи) длиной 128, 192 и 256 бит для шифрования и дешифрования данных блоками по 128 бит.
https://shly.link/mdmabJi
Алгоритм AES (также известный как алгоритм Rijndael) представляет собой блочный шифр с симметричным ключом, который поддерживает криптографические ключи (секретные ключи) длиной 128, 192 и 256 бит для шифрования и дешифрования данных блоками по 128 бит.
https://shly.link/mdmabJi
Вышла IntelliJ IDEA 2022.1
IntelliJ IDEA 2022.1 уже доступна. Наш первый крупный релиз в этом году предлагает множество улучшений и множество новых функций для улучшения вашего опыта работы с нашим продуктом.
https://shly.link/yPQpa
IntelliJ IDEA 2022.1 уже доступна. Наш первый крупный релиз в этом году предлагает множество улучшений и множество новых функций для улучшения вашего опыта работы с нашим продуктом.
https://shly.link/yPQpa
The JetBrains Blog
IntelliJ IDEA 2022.1 Is Out | The IntelliJ IDEA Blog
IntelliJ IDEA 2022.1 is now available. Our first major release of the year offers multiple enhancements and lots of new features to improve your experience with our product.
🤔3👍1
Топ-40 вопросов для собеседования по объектно-ориентированному программированию [ООП] на Java
Поскольку Java является объектно-ориентированным языком программирования, от разработчика Java ожидается, что он хорошо владеет объектно-ориентированным анализом и проектированием и знаком с основными концепциями ООП.
Вопросы интервью по объектно-ориентированному программированию на Java в основном основаны на фундаментальных концепциях ООП и способах их реализации в Java.
https://shly.link/SESSk
Поскольку Java является объектно-ориентированным языком программирования, от разработчика Java ожидается, что он хорошо владеет объектно-ориентированным анализом и проектированием и знаком с основными концепциями ООП.
Вопросы интервью по объектно-ориентированному программированию на Java в основном основаны на фундаментальных концепциях ООП и способах их реализации в Java.
https://shly.link/SESSk
Blogspot
Top 40 OOP Object Oriented Programming Interview Questions and Answers
A blog about Java, Programming, Algorithms, Data Structure, SQL, Linux, Database, Interview questions, and my personal experience.
Kafka с Java, Spring и Docker — асинхронная связь между микросервисами
Подробное объяснение того, как реализовать обмен сообщениями между микросервисами Java с помощью Kafka.
https://shly.link/mdmTk6t
Подробное объяснение того, как реализовать обмен сообщениями между микросервисами Java с помощью Kafka.
https://shly.link/mdmTk6t