Java guru
4.37K subscribers
1 photo
1 video
1 file
266 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Как подружить нейросети и разработку: программируем с ChatGPT

Задача: создать простой REST-сервис на Java (с использованием Spring Boot и JPA) без написания кода.

Технологии: ChatGPT 3.5 + JAIG.

Итог: если бы автор статьи самостоятельно, вручную писал код, то по его оценке уложился примерно в один рабочий день. На работу с ChatGPT и JAIG у него ушло в общей сложности 10 дней 🤡

https://habr.com/ru/companies/ibs/articles/792032/
🔥2
Maven плагин для проверки семантической схемы версионирования Java-библиотек.

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

https://foojay.io/today/semantic-versioning-your-java-libraries/
👍2🔥2🤷‍♀1
MyBatis «на минималках»

Я не фанат этого фреймворка, но для кругозора посмотреть можно. Исходя из статьи в CDEK он используется в большинстве проектов. Лично я давно не слышал о его использовании в ПРОМе.

https://habr.com/ru/companies/cdek_blog/articles/771714/
👍2🤣1
Project Valhalla: эпичный квест Java за перфомансом

Project Valhalla, задуманный еще в 2014, призван дать возможность создавать кастомные примитивные или "value" объекты. Эти объекты должны представлять собой плоскую структуру, подобно рассмотренному выше массиву int[], а не дерево "указателей".

В статье приводится довольно интересное сравнение.

https://habr.com/ru/articles/787166/
2👍2🔥1
Игра Untrusted

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

Почему я решил запостить здесь?!?!? Потому что по слухам там есть задачки на Java ))

Сам я пока эту игру не играл. В детстве помню подобную консольную играл. Прям ностальгия ))

https://www.playuntrusted.com
👍2🔥2
Java ScopedValue: Ускоренный ThreadLocal

В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue. Она предназначена для того, чтобы предоставить более легкую альтернативу ThreadLocal. ScopedValue сейчас в стадии превью в Java 20+ (включая последний релиз Java 21).

https://habr.com/ru/companies/otus/articles/787978/
🔥3
Java Flight Recorder ожидает улучшения

В рамках проекта Skogsluft будут представлены продвинутые возможности профилирования Java приложений.

https://www.infoworld.com/article/3712811/java-flight-recorder-eyed-for-improvement.html#tk.rss_java
🔥5
Применение ООП на практике

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

https://habr.com/ru/companies/pvs-studio/articles/793900/
👍2🔥2🤣1
Spring Boot. Реактивный асинхронный неблокирующий REST vs традиционный синхронный блокирующий

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

https://habr.com/ru/articles/793494/
👍3
Nes4j

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

https://github.com/GZYangKui/nes4j
🔥3👍2
Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов

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

https://habr.com/ru/companies/lanit/articles/793444/
🔥2🤪1
Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test

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

https://habr.com/ru/companies/simbirsoft/articles/794728/
👍5
Вариантность обобщенных типов в картинках и простых примерах

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

https://habr.com/ru/articles/795083/
🔥3
Гексагональная Архитектура и Spring Boot

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

https://habr.com/ru/articles/795127/
🔥5👍4
Тестирование Spring Security

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

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

https://habr.com/ru/articles/795149/
🔥3
Виртуальные потоки Java столкнулись с проблемой.

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

https://www.infoworld.com/article/3713220/java-virtual-threads-hit-with-pinning-issue.html#tk.rss_java
😭4😢2
The Illustrated TLS

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

https://tls13.xargs.org/#open-all
🔥4👍3
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/
🔥4👍2
Асинхронная работа с файловой системой в Vert.x

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

https://habr.com/ru/companies/otus/articles/794484/
🔥3
Project Leyden: Capturing Lightning in a Bottle

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

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