JRebel Java Development Trends and Analysis 2022
JRebel has published the 2022 Java Developer Productivity Report, and this year marks the 10th anniversary of this annual publication about Java trends. Many things have changed in the past 10 years as most of today’s common technologies were not yet invented, for example: Docker, Kubernetes and microservices. Over 876 Java development professionals responded to the survey that ran from October 2021 to January 2022.
Читать статью
JRebel has published the 2022 Java Developer Productivity Report, and this year marks the 10th anniversary of this annual publication about Java trends. Many things have changed in the past 10 years as most of today’s common technologies were not yet invented, for example: Docker, Kubernetes and microservices. Over 876 Java development professionals responded to the survey that ran from October 2021 to January 2022.
Читать статью
InfoQ
JRebel Java Development Trends and Analysis 2022
JRebel has published the 2022 Java Developer Productivity Report, and this year marks the 10th anniversary of this annual publication. The survey investigates Java trends about architectures, frameworks and productivity tools.
👍6
Когда стоит использовать перечисления в Java?
Многие считают перечисления “кодом с запашком” и антипаттерном в ООП. Это мнение прослеживается и в некоторых книгах, например в “Внедрение зависимостей в . Net” Марка Симана:
“ВНИМАНИЕ! ПО ОБЩЕМУ ПРАВИЛУ ПЕРЕЧИСЛЕНИЯ ЯВЛЯЮТСЯ КОДОМ С ЗАПАШКОМ, И ИХ НЕОБХОДИМО ПРЕОБРАЗОВЫВАТЬ В ПОЛИМОРФНЫЕ КЛАССЫ.
В большинстве случаев перечислениями действительно злоупотребляют, но это не значит, что их обязательно нужно избегать. При правильном использовании они могут сослужить мощным инструментом. В текущей статье мы разберем сценарии, в которых перечисления уместны и в которых нет.
Читать статью
Многие считают перечисления “кодом с запашком” и антипаттерном в ООП. Это мнение прослеживается и в некоторых книгах, например в “Внедрение зависимостей в . Net” Марка Симана:
“ВНИМАНИЕ! ПО ОБЩЕМУ ПРАВИЛУ ПЕРЕЧИСЛЕНИЯ ЯВЛЯЮТСЯ КОДОМ С ЗАПАШКОМ, И ИХ НЕОБХОДИМО ПРЕОБРАЗОВЫВАТЬ В ПОЛИМОРФНЫЕ КЛАССЫ.
В большинстве случаев перечислениями действительно злоупотребляют, но это не значит, что их обязательно нужно избегать. При правильном использовании они могут сослужить мощным инструментом. В текущей статье мы разберем сценарии, в которых перечисления уместны и в которых нет.
Читать статью
👍5
Gradle 7.4 Introduces Aggregated Test Reports
Gradle has released version 7.4 of their open-source build automation tool that allows developers to create aggregated test and Jacoco coverage HTML reports. The versions catalog feature allows the centralized declaration of dependencies for usage in build noscripts. Shared build services allow caching of state or resources across multiple tasks.
Читать статью
Gradle has released version 7.4 of their open-source build automation tool that allows developers to create aggregated test and Jacoco coverage HTML reports. The versions catalog feature allows the centralized declaration of dependencies for usage in build noscripts. Shared build services allow caching of state or resources across multiple tasks.
Читать статью
InfoQ
Gradle 7.4 Introduces Aggregated Test Reports
Gradle has released version 7.4 of their open-source build automation tool that allows developers to create aggregated test and Jacoco coverage HTML reports. The versions catalog feature allows the centralized declaration of dependencies for usage in build…
👍4
Обобщенное программирование – обзор реализаций
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других.
Читать статью
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других.
Читать статью
👍5🔥1
5 моментов в Java Concurrency, о которых вы не знаете
В этой статье рассказывается о пяти интересных концепциях многопоточности, о которых начинающие и опытные разработчики могут не знать.
Читать статью
В этой статье рассказывается о пяти интересных концепциях многопоточности, о которых начинающие и опытные разработчики могут не знать.
Читать статью
👍3🔥1
Java News Roundup: JDK 18 GA, JMC 8.2, Spring Updates, MicroStream 7.0-Beta1, WildFly 26.1-Beta1
This week's Java roundup for March 21st, 2022 features news from JDK 18, JDK 19, JDK Mission Control 8.2, Amazon Corretto 18, BellSoft LibericaJDK 18, multiple Spring milestone and point releases, Micronaut 3.4.0, GraalVM Native Build Tools 0.9.11, WildFly 26 Beta 1, Hibernate Reactive 1.1.4.Final, MicroStream 7.0-M1, JReleaser 1.0-RC1, and TornadoVM 0.13.
Читать статью
This week's Java roundup for March 21st, 2022 features news from JDK 18, JDK 19, JDK Mission Control 8.2, Amazon Corretto 18, BellSoft LibericaJDK 18, multiple Spring milestone and point releases, Micronaut 3.4.0, GraalVM Native Build Tools 0.9.11, WildFly 26 Beta 1, Hibernate Reactive 1.1.4.Final, MicroStream 7.0-M1, JReleaser 1.0-RC1, and TornadoVM 0.13.
Читать статью
InfoQ
Java News Roundup: JDK 18 GA, JMC 8.2, Spring Updates, MicroStream 7.0-Beta1, WildFly 26.1-Beta1
This week's Java roundup for March 21st, 2022, features news from JDK 18, JDK 19, JDK Mission Control 8.2, Amazon Corretto 18, BellSoft LibericaJDK 18, multiple Spring milestone and point releases, Micronaut 3.4.0, GraalVM Native Build Tools 0.9.11, WildFly…
👍3🔥1
JPA-Buddy — избавляемся от рутины. Практические кейсы
Совсем недавно мне под руку попался плагин, который помогает генерировать код при написании программ - это JPA Buddy. В этой статье я не буду транслировать официальную документацию проекта или показывать на примере видеороликов, как нужно с ним работать, а приведу примеры своих рабочих кейсов, где плагин действительно выручил и сэкономил мое время. Спойлер: в создании POJO-классов, репозиториев для тучи сущностей, DTO-классов.
Читать статью
Совсем недавно мне под руку попался плагин, который помогает генерировать код при написании программ - это JPA Buddy. В этой статье я не буду транслировать официальную документацию проекта или показывать на примере видеороликов, как нужно с ним работать, а приведу примеры своих рабочих кейсов, где плагин действительно выручил и сэкономил мое время. Спойлер: в создании POJO-классов, репозиториев для тучи сущностей, DTO-классов.
Читать статью
🔥5👍2
Spring4Shell RCE — критическая уязвимость в Java Spring Framework
Не успел мир отойти от Apache Log4j2, как в сети появились сообщения о новых 0-day уязвимостях. В Spring Framework для Java обнаружено сразу несколько уязвимостей "нулевого дня", позволяющих, в том числе, выполнять произвольный код (RCE).
Читать статью
Не успел мир отойти от Apache Log4j2, как в сети появились сообщения о новых 0-day уязвимостях. В Spring Framework для Java обнаружено сразу несколько уязвимостей "нулевого дня", позволяющих, в том числе, выполнять произвольный код (RCE).
Читать статью
🔥3👍2😢1
Java News Roundup: Hibernate 6.0, JobRunr 5.0, JHipster 7.8.0, Spring CVEs, JReleaser 1.0-RC2
This week's Java roundup for March 28th, 2022 features news from JDK 19, Spring Boot, Spring CVEs, Apache Tomcat point releases, Quarkus Tools for Visual Studio Code, Micronaut 3.4.1, JetBrains joins the Micronaut Foundation, Open Liberty Paketo Liberty Buildpack, Hibernate 6.0, JobRunr 5.0, WildFly 26.1 Beta S2I images, JReleaser 1.0-RC2, MicroStream 7.0-M2, JHipster 7.8.0, JMH 1.35.
Читать статью
This week's Java roundup for March 28th, 2022 features news from JDK 19, Spring Boot, Spring CVEs, Apache Tomcat point releases, Quarkus Tools for Visual Studio Code, Micronaut 3.4.1, JetBrains joins the Micronaut Foundation, Open Liberty Paketo Liberty Buildpack, Hibernate 6.0, JobRunr 5.0, WildFly 26.1 Beta S2I images, JReleaser 1.0-RC2, MicroStream 7.0-M2, JHipster 7.8.0, JMH 1.35.
Читать статью
InfoQ
Java News Roundup: Hibernate 6.0, JobRunr 5.0, JHipster 7.8.0, Spring CVEs, JReleaser 1.0-RC2
This week's Java roundup for March 28th, 2022, features news from JDK 19, Spring Boot, Spring CVEs, Apache Tomcat point releases, Quarkus Tools for Visual Studio Code, Micronaut 3.4.1, JetBrains joining the Micronaut Foundation, Open Liberty Paketo Liberty…
👍3🔥1
Из Excel в JSON. Универсальные методы для формирования тела запроса из Excel книги для API тестов (Java)
Недавно нужно было написать API автотесты - запросы Post с большим количеством параметров в теле, в том числе вложенные JSON объекты, массивы , массивы JSON объектов. Многие параметры не обязательные, а значит - большое количество наборов тестовых данных.
Читать статью
Недавно нужно было написать API автотесты - запросы Post с большим количеством параметров в теле, в том числе вложенные JSON объекты, массивы , массивы JSON объектов. Многие параметры не обязательные, а значит - большое количество наборов тестовых данных.
Читать статью
Хабр
Из Excel в JSON. Универсальные методы для формирования тела запроса из Excel книги для API тестов (Java)
Недавно нужно было написать API автотесты - запросы Post с большим количеством параметров в теле, в том числе вложенные JSON объекты, массивы , массивы JSON объектов. Многие параметры не обязательные,...
🔥6👍2👎1
Security микросервисов с помощью Spring, OAuth2, JWT и Service Account
Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и, как правило, не раскрывает проблему security межсервисного взаимодействия. Поэтому я решил написать как бы я решал эту задачу на сегодняшний день.
Читать статью
Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и, как правило, не раскрывает проблему security межсервисного взаимодействия. Поэтому я решил написать как бы я решал эту задачу на сегодняшний день.
Читать статью
🔥7👍2
JReleaser 1.0 Releases Itself
April 2022 marks the one-year anniversary since JReleaser was introduced to the Java community. After a year of a steady two releases per month, Andres Almiray, creator of JReleaser, celebrates this anniversary with the rollout of version 1.0. During this time, support for other platform packagers was added: Macports and GoFish. Support for additional package managers will likely be added in the future.
Читать статью
April 2022 marks the one-year anniversary since JReleaser was introduced to the Java community. After a year of a steady two releases per month, Andres Almiray, creator of JReleaser, celebrates this anniversary with the rollout of version 1.0. During this time, support for other platform packagers was added: Macports and GoFish. Support for additional package managers will likely be added in the future.
Читать статью
👍5🔥2
Введение в Hilla: full-stack Java framework
Hilla, основанная на Vaadin Fusion, является уникальным инструментом в экосистеме Java: что-то вроде Next.js для JavaScript, но с серверной частью Java на основе Spring. Эта статья поможет вам начать работу с Hilla: узнаете как создать базовое веб-приложение, реактивный UI к нему и многое другое.
Читать статью
Hilla, основанная на Vaadin Fusion, является уникальным инструментом в экосистеме Java: что-то вроде Next.js для JavaScript, но с серверной частью Java на основе Spring. Эта статья поможет вам начать работу с Hilla: узнаете как создать базовое веб-приложение, реактивный UI к нему и многое другое.
Читать статью
👍4🔥2
Java News Roundup: CVE-2022-22968, Vector API, Jakarta EE 10 Update, IntelliJ IDEA 2022.1, Ktor 2.0
This week's Java roundup for April 11th, 2022 features news from OpenJDK, JEP 426, JDK 19, Jakarta EE 10 updates, Spring Framework point releases and CVE-2022-22968, Quarkus 2.8.0, Open Liberty 22.0.0.4 and 22.0.0.5-beta, Micronaut 3.4.2, WildFly 26.1, Eclipse GlassFish 7.0-M4, Piranha 22.4.0, Apache Camel Quarkus 2.8.0, IntelliJ IDEA 2022.1, Ktor 2.0, and the Devnexus 2022 Conference.
Читать статью
This week's Java roundup for April 11th, 2022 features news from OpenJDK, JEP 426, JDK 19, Jakarta EE 10 updates, Spring Framework point releases and CVE-2022-22968, Quarkus 2.8.0, Open Liberty 22.0.0.4 and 22.0.0.5-beta, Micronaut 3.4.2, WildFly 26.1, Eclipse GlassFish 7.0-M4, Piranha 22.4.0, Apache Camel Quarkus 2.8.0, IntelliJ IDEA 2022.1, Ktor 2.0, and the Devnexus 2022 Conference.
Читать статью
InfoQ
Java News Roundup: CVE-2022-22968, Vector API, Jakarta EE 10 Update, IntelliJ IDEA 2022.1, Ktor 2.0
This week's Java roundup for April 11th, 2022, features news from OpenJDK, JEP 426, JDK 19, Jakarta EE 10 updates, Spring Framework point releases and CVE-2022-22968, Quarkus 2.8.0, Open Liberty 22.0.0.4 and 22.0.0.5-beta, Micronaut 3.4.2, WildFly 26.1, Eclipse…
👍3🔥2
Тренды в разработке на Java в 2022
В этой статье автор прогнозирует, с какими вызовами столкнется в этом году отрасль, связанная с Java, и какие инновации и разработки повлияют на нее больше всего.
Читать статью
В этой статье автор прогнозирует, с какими вызовами столкнется в этом году отрасль, связанная с Java, и какие инновации и разработки повлияют на нее больше всего.
Читать статью
👍5🔥1
Конвертируем Spring XML в Java-based Configurations без слёз
Как-то я засиделся на работе добавляя новую функциональность в один "небольшой" и довольно старенький сервис написанный на Spring.
Редактируя очередной XML файл Spring конфигурации я подумал: а чего это в 21 веке мы всё еще не перевели наш проект на Java-based конфигурации и наши разработчики постоянно правят XML?
С этими мыслями и была закрыта крышка ноутбука в этот день...
Читать статью
Как-то я засиделся на работе добавляя новую функциональность в один "небольшой" и довольно старенький сервис написанный на Spring.
Редактируя очередной XML файл Spring конфигурации я подумал: а чего это в 21 веке мы всё еще не перевели наш проект на Java-based конфигурации и наши разработчики постоянно правят XML?
С этими мыслями и была закрыта крышка ноутбука в этот день...
Читать статью
👍4🔥2
KeyCloak и Spring Boot
Хочу описать логику как с использованием сервиса авторизации Keycloak настроить авторизацию при этом получая token и refreshToken , а так-же обменивать refreshToken на новый token.
Читать статью
Хочу описать логику как с использованием сервиса авторизации Keycloak настроить авторизацию при этом получая token и refreshToken , а так-же обменивать refreshToken на новый token.
Читать статью
👍4🔥2
Как использовать switch в современной Java
В Java 14 был введен новый синтаксис для switch: он стал короче, функциональнее и понятнее. С тех самых пор он совершенствовался и продолжает наращивать свои возможности. Николай Парлог в этой статье рассказывает о возможностях данной конструкции, знакомя читателя со всеми нововведениями, которые имеются на данный момент.
Читать статью
В Java 14 был введен новый синтаксис для switch: он стал короче, функциональнее и понятнее. С тех самых пор он совершенствовался и продолжает наращивать свои возможности. Николай Парлог в этой статье рассказывает о возможностях данной конструкции, знакомя читателя со всеми нововведениями, которые имеются на данный момент.
Читать статью
🔥6👍2
Что нового в IntelliJ IDEA 2022.1
В IntelliJ IDEA 2022.1 появился Dependency Analyzer, который упрощает управление зависимостями и разрешение конфликтов. Кроме того, мы обновили мастер создания проектов и предлагаем более удобный способ просмотра уведомлений в IDE. Рассказываем об этих и других важных изменениях.
Читать статью
В IntelliJ IDEA 2022.1 появился Dependency Analyzer, который упрощает управление зависимостями и разрешение конфликтов. Кроме того, мы обновили мастер создания проектов и предлагаем более удобный способ просмотра уведомлений в IDE. Рассказываем об этих и других важных изменениях.
Читать статью
👍7🔥2
Java 17 для тех, кто не следил. Часть 1
Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.
Читать статью
Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.
Читать статью
👍6🔥2
Java 17 для тех, кто не следил. Часть 2: API
Если обновляешься со старой Java на LTS-версию Java 17, как разобраться сразу во всех фичах за несколько лет? Чтобы помочь с этим, мы уже публиковали расшифровку доклада Тагира Валеева с нашего IT-фестиваля TechTrain. Но доклад такой подробный, что разделили его на два текста: в предыдущем была основная часть про языковые изменения, а теперь представляем вам завершающую часть про API.
Читать статью
Если обновляешься со старой Java на LTS-версию Java 17, как разобраться сразу во всех фичах за несколько лет? Чтобы помочь с этим, мы уже публиковали расшифровку доклада Тагира Валеева с нашего IT-фестиваля TechTrain. Но доклад такой подробный, что разделили его на два текста: в предыдущем была основная часть про языковые изменения, а теперь представляем вам завершающую часть про API.
Читать статью
🔥3👍2