Премиум каналы

Java guru

Присоединяйтесь к каналу "Java guru" и оставайтесь в курсе последних новостей из мира Java! Мы предлагаем обзоры интересных библиотек и фреймворков, которые помогут вам расширить свои знания и навыки в программировании на Java. Наши обучающие статьи помогут вам углубить свое понимание языка и научиться применять его на практике. Кроме того, в нашем канале вы найдете онлайн обсуждения актуальных тем, где вы сможете обмениваться опытом с другими участниками. Присоединяйтесь к "Java guru", чтобы быть в курсе последних новостей, развиваться вместе с нами и стать настоящим экспертом в мире Java!

Последние публикации с канала

Использование Java Record-ов как DTO в Spring Boot 3

В статье описывается как наилучшим образом использовать Java Record-ы для работы с базой данных и API в Spring Boot 3 с Hibernate 6.

https://dzone.com/articles/how-to-best-use-java-records-as-dtos-in-spring-boo

DZone
How To Best Use Java Records as DTOs in Spring Boot 3

Explore how to best use compact Java records as DTOs for database and API calls in Spring Boot 3 with Hibernate 6 as the persistence provider.

17.04.2024 / 04:04

Sealed (закрытые) классы Java: создание надежных и безопасных приложений

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

https://dzone.com/articles/java-sealed-classes-building-robust-and-secure-app

DZone
Java Sealed Classes: Building Robust and Secure Applications

Learn about Java sealed classes, which restrict the set of classes that can implement or extend them, can help prevent bugs, and make code more maintainable.

10.04.2024 / 05:04

Красивый код с Optional и Either

Класс Optional хорошо подходит для ситуаций с отсутствующим значением как прекрасная альтернатива использованию null, но что делать если мы хотим в таких случаях возвращать разные объекты? Например если мы хотим работать с исключениями в функциональном стиле?

Есть несколько библиотек решающих эту задачу: vavr, fugue, lambda и either.

Either самая легковесная из них и детали работы с ней рассмотрены в статье.

https://dzone.com/articles/the-beauty-of-java-optional-and-either

DZone
The Beauty of Java Optional and Either

Many Java developers often overlook its functional programming capabilities. Learn how to chain Optional and Either to write concise and beautiful code.

09.04.2024 / 04:04

System Design 101

Во многих компаниях на собеседованиях senior разработчиков этап System Design становится обязательным. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы.

https://habr.com/ru/articles/770564/

Хабр
System Design 101

О сложных системах простыми словами. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы...

08.04.2024 / 04:04

Опять транзакции…

Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring @Transactional и базу Postgres.

https://habr.com/ru/articles/803395

Хабр
Опять транзакции…

Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ....

04.04.2024 / 04:04

Awesome IT links

Сборник ссылок на ресурсы для изучения Java. Список будет расширяться.

https://github.com/RodinDenis/awesome-it-links

GitHub
GitHub - RodinDenis/awesome-it-links

Contribute to RodinDenis/awesome-it-links development by creating an account on GitHub.

03.04.2024 / 04:04

Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

В статье рассмотрены аннотации @Valid, и @Validated, которые используются для запуска процесса валидации при обработке запроса в Spring.

@Valid — это стандартная аннотация из спецификации Java Bean Validation, также известной как JSR-303.

@Validated — это специфическая для Spring аннотация, предоставляемая самим Spring.

https://habr.com/ru/companies/otus/articles/799987/

Хабр
Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?

Если да, то вам следовало бы обновить свой код, используя приведенные ниже рекомендации. Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть...

26.03.2024 / 04:03

Пару дней назад вышла Java 22

В этот релиз попало около 2300 закрытых задач и 12 JEP'ов. Release Notes можно посмотреть здесь. Полный список изменений API – здесь.

Из интересных фич лично для меня можно отметить:
1. String Templates (Second Preview) (JEP 459), которые, к сожалению, уходят на второй раунд preview без изменений.
2. Stream Gatherers (Preview) (JEP 461)
3. Class-File API (Preview) (JEP 457)
4. Structured Concurrency (Second Preview) (JEP 462), который тоже уходит на второй раунд preview без изменений.
5. Scoped Values (Second Preview) (JEP 464) тоже уходит на второй раунд preview без изменений.
6. Foreign Function & Memory API (JEP 454), которое наконец-то стабилизировалось!!!

https://habr.com/ru/articles/801467/

Хабр
Вышла Java 22

Вышла общедоступная версия Java 22 . В этот релиз попало около 2300 закрытых задач и 12 JEP'ов . Release Notes можно посмотреть здесь . Полный список изменений API – здесь . Java 22 не является...

22.03.2024 / 05:03

Project Leyden: Capturing Lightning in a Bottle

Проект Laden позволяет сократить время запуска приложений как минимум в два раза. В докладе о том как можно оптимизировать старт приложения на 800% используя Leyden ))

https://youtu.be/NlJK5BKXtHI?si=sriIC7UYa30WzVIL

YouTube
Project Leyden: Capturing Lightning in a Bottle

Project Leyden aims to improve the startup time, warmup time, and footprint of Java applications by enabling developers to shift computation forward and backward in time. We’ll dive into what that means, how it could work, and review recent progress.

Presented…

21.03.2024 / 05:03

Асинхронная работа с файловой системой в Vert.x

Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Одна из фич vert.x - это набор абстракций и API для асинхронной работы с сетью, файловой системой и другими ресурсами. С его помощью можно легко создавать масштабируемые веб-приложения, микросервисы, сетевые утилиты и многое другое.

https://habr.com/ru/companies/otus/articles/794484/

Хабр
Асинхронная работа с файловой системой в Vert.x

Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглотная платформа, поддерживающая не...

20.03.2024 / 05:03

How Netflix Really Uses Java

Выступление Пола Баккера (Paul Bakker) - чемпиона Java и разработчика в команде Java Platform в Netflix. Он рассказывает об использовании Java в Netflix, делая акцент на микросервисах, RxJava, Hystrix и Spring Cloud.


В Netflix он работает над развитием технологического стека Java и инструментов разработчика. Он также является одним из авторов фреймворка DGS (GraphQL) и соавтором двух книг по модульности Java, опубликованных O'Reilly.

P.S. Под видео есть транскрипт выступления.

https://www.infoq.com/presentations/netflix-java/

InfoQ
How Netflix Really Uses Java

Paul Bakker discusses Netflix’s use of Java, emphasizing the use of microservices, RxJava, Hystrix and Spring Cloud.

18.03.2024 / 05:03

The Illustrated TLS

Подробный разбор протокола TLS 1.3. Пример подключения клиента к серверу, согласовывание сеанса TLS 1.3, отправка "ping", получение "pong", а затем завершение сеанса.

https://tls13.xargs.org/#open-all

tls13.xargs.org
The Illustrated TLS 1.3 Connection

Every byte of a TLS connection explained and reproduced

14.03.2024 / 05:03

Виртуальные потоки Java столкнулись с проблемой.

Команда Java в Oracle работает над устранением двух распространенных случаев, когда виртуальный поток паркуется или блокируется, а базовый нативный поток не освобождается.

https://www.infoworld.com/article/3713220/java-virtual-threads-hit-with-pinning-issue.html#tk.rss_java

InfoWorld
Java virtual threads hit with pinning issue

The Java team at Oracle is working to address two common cases in which a virtual thread parks or blocks and the underlying native thread is not released.

11.03.2024 / 05:03

Тестирование Spring Security

В этой статье описано, как протестировать аутентификацию и авторизацию приложений Spring Boot. 

Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring WebTestClient.

https://habr.com/ru/articles/795149/

Хабр
Тестирование Spring Security

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

07.03.2024 / 05:03

Гексагональная Архитектура и Spring Boot

Интересный опыт применения гексагональной архитектуры в одном микросервисе. Правда тема с entity в данном контексте раскрыта не полностью.

https://habr.com/ru/articles/795127/

Хабр
Гексагональная Архитектура и Spring Boot

Всем привет! Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал. Боль Как обычно выглядит java проект на spring boot?...

06.03.2024 / 05:03

Вариантность обобщенных типов в картинках и простых примерах

В статье приведены неплохие схемы, но ей не хватает для полноты картины описания PECS и более сложных кейсов. Для новичков изучающих эту тему будет полезна. В целом мне понравилась описанная часть.

https://habr.com/ru/articles/795083/

Хабр
Вариантность обобщенных типов в картинках и простых примерах

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

05.03.2024 / 05:03

Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test

Задача на мой взгляд довольно редкая. Отсутствие поддержки таблиц не радует, но с другой стороны можно попробовать добавить самому и получить еще один плюс в карму за opensource ))

https://habr.com/ru/companies/simbirsoft/articles/794728/

Хабр
Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test

Многие сервисы в различных отраслях генерируют печатные формы счетов, отчётов и прочего в формате PDF. И конечно, перед специалистами тестирования встаёт вопрос о проверке этих документов. Обычно...

04.03.2024 / 04:03

Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов

Я давно задумывался о подобной систематизации, но так комплексно к этому вопросу не подходил. Лично я предпочитаю AsciiDoc. Он гибче и богаче md, а также можно собирать все в удобный pdf. Для сборки можно использовать как консольную утилиту так и maven плагин, если оформить репозиторий как maven проект. По моей субъективной оценке проще структурировать в разных репозиториях информацию по разным топикам, но это наверное дело вкуса.

https://habr.com/ru/companies/lanit/articles/793444/

Хабр
Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов

Привет, Хабр! Хочу поделиться своими мыслями и опытом («сыном ошибок трудных») в организации своей базы знаний, регулярно приобретаемых после прочтения разных книг, статей, просмотра видосов,...

29.02.2024 / 05:02

Nes4j

Nes4j - это симулятор Nintendo, реализованный на Java ))

https://github.com/GZYangKui/nes4j

28.02.2024 / 05:02

Spring Boot. Реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий

Статья конечно «однобокая», но новичкам для иллюстрации разницы синхронных и асинхронных запросов подойдет.

https://habr.com/ru/articles/793494/

Хабр
Spring Boot. Реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий

Введение В этой статье я хочу простым языком рассказать о некоторых особенностях работы реактивного веб-сервиса в сравнении с традиционным REST. На данном этапе не буду углубляться в спецификацию....

27.02.2024 / 05:02
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное