Безопасность играет жизненно важную роль в разработке REST API. Небезопасный REST API может обеспечить прямой доступ к конфиденциальным данным на серверных системах. Таким образом, организациям необходимо обратить внимание на безопасность API.
Spring Security предоставляет различные механизмы для защиты наших REST API. Один из них — API-ключи. Ключ API — это токен, который предоставляет клиент при вызове API-вызовов.
В этом руководстве мы обсудим реализацию аутентификации на основе ключей API в Spring Security. https://www.baeldung.com/spring-boot-api-key-secret
Spring Security предоставляет различные механизмы для защиты наших REST API. Один из них — API-ключи. Ключ API — это токен, который предоставляет клиент при вызове API-вызовов.
В этом руководстве мы обсудим реализацию аутентификации на основе ключей API в Spring Security. https://www.baeldung.com/spring-boot-api-key-secret
Baeldung
Securing Spring Boot API With API Key and Secret | Baeldung
A quick and practical guide to securing Spring Boot APIs with API keys and secrets.
Java- разработчики. Окончательный список функций #Java21 завершен.
https://openjdk.org/projects/jdk/21/
https://openjdk.org/projects/jdk/21/
Spring Transaction and Connection Management — заметка Vlad Mihalcea о том, как работают транзакции в hibernate в контексте спринга и как использовать параметр readOnly.
Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice — статья про относительно новый проект Spring for GraphQL, когда, используя всего один Spring Boot Starter, можно получить все необходимое для создания GraphQL API в своем приложении.
Analyzing Dependencies in IntelliJ IDEA — емкий и полезный туториал о возможностях IntelliJ IDEA в плане анализа зависимостей. Рассказывается как о Dependency Analyzer, так и о Dependency Diagram с обзором самых основных полезных фич этих инструментов, как, например, поиск конкретной зависимости, фильтрация по скоупу, группировка и подсвечивание конфликтующих зависимостей.
Java Developer vs. ChatGPT Part I: Writing a Spring Boot Microservice — статья про относительно новый проект Spring for GraphQL, когда, используя всего один Spring Boot Starter, можно получить все необходимое для создания GraphQL API в своем приложении.
Analyzing Dependencies in IntelliJ IDEA — емкий и полезный туториал о возможностях IntelliJ IDEA в плане анализа зависимостей. Рассказывается как о Dependency Analyzer, так и о Dependency Diagram с обзором самых основных полезных фич этих инструментов, как, например, поиск конкретной зависимости, фильтрация по скоупу, группировка и подсвечивание конфликтующих зависимостей.
Vlad Mihalcea
Spring Transaction and Connection Management - Vlad Mihalcea
Learn how Spring handles transaction and database connection management using the TransactionInterceptor, as well as JPA and Hibernate.
(Spring) Booting Java для приема цифровых платежей с помощью USDC
Теперь, сосредоточив свою карьеру на Fintech, я решил, что пришло время понять, как внедрить web3 в существующий RESTful API на основе Java.
https://dzone.com/articles/spring-booting-java-to-accept-digital-payments-wit
Обзор новостей Java: JDK 21 в Rampdown, JEP 404, JDK 22 Expert Group, обновления Jakarta EE 11
https://www.infoq.com/news/2023/06/java-news-roundup-jun05-2023
Теперь, сосредоточив свою карьеру на Fintech, я решил, что пришло время понять, как внедрить web3 в существующий RESTful API на основе Java.
https://dzone.com/articles/spring-booting-java-to-accept-digital-payments-wit
Обзор новостей Java: JDK 21 в Rampdown, JEP 404, JDK 22 Expert Group, обновления Jakarta EE 11
https://www.infoq.com/news/2023/06/java-news-roundup-jun05-2023
DZone
(Spring) Booting Java To Accept Digital Payments With USDC
It’s funny how a seemingly meaningless event in one’s life can lead to an unexpected change. For me, one of those events happened in July 2021 when my flight home was delayed by so much that I paid for my very first Uber.
❤2
Эра виртуальных потоков: Java
Концепция «виртуальных потоков» в последнее время привлекла значительное внимание. Многие языки программирования обновляют свои библиотеки потоков для поддержки функции Virtual Threading. Java представляет виртуальный поток в качестве функции предварительного просмотра в выпуске Java 19. В этой статье представлено глубокое введение в поток от базового до более глубокого уровня, чтобы выразить преимущества виртуальных потоков и преимущества, которые они предлагают по сравнению с обычными методами создания потоков. https://medium.com/@pradeesh-kumar/an-era-of-virtual-threads-java-b839a844efee
Концепция «виртуальных потоков» в последнее время привлекла значительное внимание. Многие языки программирования обновляют свои библиотеки потоков для поддержки функции Virtual Threading. Java представляет виртуальный поток в качестве функции предварительного просмотра в выпуске Java 19. В этой статье представлено глубокое введение в поток от базового до более глубокого уровня, чтобы выразить преимущества виртуальных потоков и преимущества, которые они предлагают по сравнению с обычными методами создания потоков. https://medium.com/@pradeesh-kumar/an-era-of-virtual-threads-java-b839a844efee
Medium
An Era of Virtual Threads: Java
The concept of “Virtual threads” has gained considerable attention in recent times. This article deep dives into virtual thread concepts.
Сила Java 21! 🚀
Приготовьтесь к невероятным изменениям, Java 20 заложила основу для революционных улучшений, и теперь пришло время рассказать, что приготовила для нас Java 21. https://theankitdabhi.medium.com/power-of-java-21-819ca7cf32a1
Приготовьтесь к невероятным изменениям, Java 20 заложила основу для революционных улучшений, и теперь пришло время рассказать, что приготовила для нас Java 21. https://theankitdabhi.medium.com/power-of-java-21-819ca7cf32a1
Medium
Power of Java 21! 🚀
Prepare for some incredible changes, Java 20 has laid the groundwork for revolutionary improvements, and now it’s time to unveil what Java…
Подводные камни, которых следует избегать при переключении на виртуальные потоки
В этом посте давайте узнаем о ловушках, которых следует избегать при переключении с потоков платформы Java на виртуальные потоки:
1. Избегайте синхронизированных блоков/методов
2. Избегайте пулов потоков, чтобы ограничить доступ к ресурсам
3. Уменьшите использование ThreadLocal
https://blog.fastthread.io/2023/02/28/pitfalls-to-avoid-when-switching-to-virtual-threads/
В этом посте давайте узнаем о ловушках, которых следует избегать при переключении с потоков платформы Java на виртуальные потоки:
1. Избегайте синхронизированных блоков/методов
2. Избегайте пулов потоков, чтобы ограничить доступ к ресурсам
3. Уменьшите использование ThreadLocal
https://blog.fastthread.io/2023/02/28/pitfalls-to-avoid-when-switching-to-virtual-threads/
Fast thread
Pitfalls to avoid when switching to Virtual threads
Java virtual thread is a new feature available from JDK 19. It has potential to improve the application’s availability, throughput and code quality on top of reducing memory consumption. If you are…
Bazel — это проект с открытым исходным кодом, изначально созданный Google, доработанный и протестированный в течение многих лет для запуска ресурсоемких, критически важных сервисов и приложений. Это отличный выбор для создания и тестирования проектов. Усовершенствованное выполнение распределенного кэширования Bazel создает быстрые добавочные и настраиваемые сборки, перестраивая только то, что необходимо. Он работает на нескольких языках и платформах, таких как Java, Go и JavaScript, а также в операционных системах, таких как IOS, Android, Linux и Windows.
Bazel автоматизирует сборку и тестирование программного обеспечения для таких задач, как запуск компиляторов и компоновщиков для создания исполняемых программ и библиотек, таких как преобразование файла JAVA в исполняемый файл JAR. Bazel можно сравнить с такими инструментами, как Apache Maven , Apache Ant , GNU Make или Gradle , но он превосходит всех благодаря многоязычной и мультиплатформенной поддержке.
https://github.com/bazelbuild/bazel/
Bazel автоматизирует сборку и тестирование программного обеспечения для таких задач, как запуск компиляторов и компоновщиков для создания исполняемых программ и библиотек, таких как преобразование файла JAVA в исполняемый файл JAR. Bazel можно сравнить с такими инструментами, как Apache Maven , Apache Ant , GNU Make или Gradle , но он превосходит всех благодаря многоязычной и мультиплатформенной поддержке.
https://github.com/bazelbuild/bazel/
GitHub
GitHub - bazelbuild/bazel: a fast, scalable, multi-language and extensible build system
a fast, scalable, multi-language and extensible build system - bazelbuild/bazel
Изучение интригующих дополнений Java 21: открытие новых функций (часть 1)
В Java 21 будет представлено несколько интригующих дополнений, расширяющих возможности языка.
В этой статье мы обсудим несколько примечательных особенностей, а также дадим обзор их функциональных возможностей и потенциальных вариантов использования.
https://foojay.io/today/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/
В Java 21 будет представлено несколько интригующих дополнений, расширяющих возможности языка.
В этой статье мы обсудим несколько примечательных особенностей, а также дадим обзор их функциональных возможностей и потенциальных вариантов использования.
https://foojay.io/today/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/
foojay
Exploring Java 21's Intriguing Additions (Part 1)
Learn about a few notable features that stand out in the upcoming Java 21, in an overview of their functionalities and potential use cases.
👍3
Java versus Go
Разработчики могут выбирать из множества языков программирования, каждый из которых имеет свой уникальный набор функций, сильных и слабых сторон. Два из этих вариантов включают Java и Golang. В этом руководстве мы рассмотрим каждый из этих языков и изучим, чем они отличаются друг от друга, чтобы помочь вам выбрать правильный вариант для вашего программного проекта или карьеры. https://www.developer.com/java/java-versus-go/
Разработчики могут выбирать из множества языков программирования, каждый из которых имеет свой уникальный набор функций, сильных и слабых сторон. Два из этих вариантов включают Java и Golang. В этом руководстве мы рассмотрим каждый из этих языков и изучим, чем они отличаются друг от друга, чтобы помочь вам выбрать правильный вариант для вашего программного проекта или карьеры. https://www.developer.com/java/java-versus-go/
Все плохое в Java хорошо для вас
Одна из моих любимых вещей в Java — это ее тенденция двигаться медленно и обдуманно. Он не дает нам сразу то, что мы хотим. Команда Java понимает требования и изучает другие реализации, а затем учится на них.
Я бы сказал, что движущая философия Java заключается в том, что ранняя пташка проглатывается змеей.
https://dev.to/codenameone/everything-bad-in-java-is-good-for-you-3fhd
Одна из моих любимых вещей в Java — это ее тенденция двигаться медленно и обдуманно. Он не дает нам сразу то, что мы хотим. Команда Java понимает требования и изучает другие реализации, а затем учится на них.
Я бы сказал, что движущая философия Java заключается в том, что ранняя пташка проглатывается змеей.
https://dev.to/codenameone/everything-bad-in-java-is-good-for-you-3fhd
🔥2👍1
Управление Java-приложениями на базе ИИ с помощью API Management
https://dev.to/apisix/managing-ai-powered-java-app-with-api-management-12d1
https://dev.to/apisix/managing-ai-powered-java-app-with-api-management-12d1
DEV Community
Managing AI-powered Java App With API Management
In this article, we will explore how to integrate OpenAI's ChatGPT APIs with a Spring Boot...
Как конвертировать документы Excel и CSV в HTML на Java
Преобразование документов в HTML делает их универсально совместимыми и открывает возможности для их настройки с помощью динамических элементов.
https://dzone.com/articles/how-to-convert-excel-and-csv-documents-to-html-in
Преобразование документов в HTML делает их универсально совместимыми и открывает возможности для их настройки с помощью динамических элементов.
https://dzone.com/articles/how-to-convert-excel-and-csv-documents-to-html-in
DZone
How to Convert Excel and CSV Documents to HTML in Java
Converting documents to HTML makes them universally compatible and opens up opportunities to customize them with dynamic elements.
👎3
Интересная ошибка параллелизма
Ошибки параллелизма - это, пожалуй, самый коварный вид ошибок 1. Они коварны, непостоянны, их трудно воспроизвести, и они любят заявлять о себе только тогда и там, где вы меньше всего ожидаете (обычно в процессе производства). Однако это только делает их еще более интересными! Добавьте к этому чувство победы, которое вы испытываете, когда ловите и разгадываете одну из них. Итак, давайте посмотрим, как я это сделал ;).
https://mizosoft.github.io/2023/06/22/an-interesting-concurrency-bug.html
Ошибки параллелизма - это, пожалуй, самый коварный вид ошибок 1. Они коварны, непостоянны, их трудно воспроизвести, и они любят заявлять о себе только тогда и там, где вы меньше всего ожидаете (обычно в процессе производства). Однако это только делает их еще более интересными! Добавьте к этому чувство победы, которое вы испытываете, когда ловите и разгадываете одну из них. Итак, давайте посмотрим, как я это сделал ;).
https://mizosoft.github.io/2023/06/22/an-interesting-concurrency-bug.html
Умная пакетная обработка в Java
В этом уроке мы разберемся с шаблоном интеллектуальной пакетной обработки. Сначала мы рассмотрим микропакетную обработку и ее плюсы и минусы, а затем посмотрим, как интеллектуальная пакетная обработка может облегчить ее проблемы. Мы также рассмотрим несколько примеров обоих шаблонов с использованием простых структур данных Java. https://www.baeldung.com/java-smart-batching
Все о загрузчиках классов Java
Вот краткий обзор трех типов загрузчиков классов и всего, что вам нужно знать для работы с ними в ваших программах на Java. https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html#tk.rss_java
Java в Visual Studio Code — июнь 2023 г.
https://devblogs.microsoft.com/java/java-on-visual-studio-code-june-2023/
В этом уроке мы разберемся с шаблоном интеллектуальной пакетной обработки. Сначала мы рассмотрим микропакетную обработку и ее плюсы и минусы, а затем посмотрим, как интеллектуальная пакетная обработка может облегчить ее проблемы. Мы также рассмотрим несколько примеров обоих шаблонов с использованием простых структур данных Java. https://www.baeldung.com/java-smart-batching
Все о загрузчиках классов Java
Вот краткий обзор трех типов загрузчиков классов и всего, что вам нужно знать для работы с ними в ваших программах на Java. https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html#tk.rss_java
Java в Visual Studio Code — июнь 2023 г.
https://devblogs.microsoft.com/java/java-on-visual-studio-code-june-2023/
Baeldung
Smart Batching in Java | Baeldung
Learn about task batching techniques in Java and understand how the smart batching technique can help address the shortcomings of micro batching.
Как я удалил более 1000 строк кода с помощью Spring Retry
https://levelup.gitconnected.com/how-i-deleted-more-than-1000-lines-of-code-using-spring-retry-9118de29060
Развертывание приложения Spring Boot на K8S 🌻
https://medium.com/@rajani103/deploying-spring-boot-application-on-k8s-25d64c218def
https://levelup.gitconnected.com/how-i-deleted-more-than-1000-lines-of-code-using-spring-retry-9118de29060
Развертывание приложения Spring Boot на K8S 🌻
https://medium.com/@rajani103/deploying-spring-boot-application-on-k8s-25d64c218def
Medium
How I deleted more than 1000 lines of code using Spring Retry
Comprehensive guide to refactor code using Spring Retry
Три способа локального запуска Java с помощью HTTPS
Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!
https://developer.okta.com/blog/2022/01/31/local-https-java
Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!
https://developer.okta.com/blog/2022/01/31/local-https-java
Checkstyle — это инструмент разработки, помогающий программистам писать код Java, соответствующий стандарту кодирования.
https://github.com/checkstyle/checkstyle
https://github.com/checkstyle/checkstyle
GitHub
GitHub - checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.…
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly co...