Обновить
256K+

Java *

Объектно-ориентированный язык программирования

243,7
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Стала доступна первая EAP-версия IntelliJ IDEA 2025.1

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели13K

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1. 

Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.

Читать далее

Как я пишу open source игру на Java

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели26K

Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.

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

Читать далее

Amplicode становится платным (и остается бесплатным)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.4K

Практически год с момента публичного релиза в апреле все возможности Amplicode были доступны любому разработчику абсолютно бесплатно.

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

В новой статье мы рассказали, какая часть возможностей Amplicode останется бесплатной, что войдет в состав платной версии, сколько будет стоить подписка и кто может рассчитывать на скидки до 100%.

Читать далее

Постквантовая криптография в Java

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.6K

Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам. 

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

Читать далее

Автотесты: что есть 100% покрытие API?

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели16K

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Читать далее

Spring Security + Telegram Authentication

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.8K

Spring Security + Telegram Auth

Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней изучений я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить аутентификацию через Telegram в Spring Security и интегрировать ее с БД, а также протестировать как локально, так и на сервере...

Подробнее

Нужна ли программисту математика? Разбираем на примерах

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели44K

Нужна ли программистам математика? Странный вопрос, учитывая, что на самом деле программисты и занимаются математикой в любом случае — даже если предпочитают не замечать этого.

Меня зовут Пётр — я разработчик и автор курса «Java-разработчик» в Яндекс Практикуме. В этом материале я покажу примеры будничного кода программиста, в которых порой математики не меньше, чем разработки, — и вопрос из заголовка отпадёт сам собой.

Читать далее

Как упростить доступ к данным с MySQL и Jakarta Data

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.6K

Многие приложения, особенно в сегменте enterprise, сохраняют или получают доступ к данным в какой-либо форме. Реляционные базы данных по-прежнему остаются самым популярным механизмом для управления данными, несмотря на конкуренцию со стороны таких технологий, как NoSQL базы данных. В этой статье рассмотрим некоторые концепции доступа к данным и то, как новая спецификация Jakarta Data упрощает эту задачу для разработчиков приложений.

Читать далее

RabbitMQ + Java Spring

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели15K

github

Понять статью не составит труда тем, кто знаком с Spring и Spring Web и хотя бы раз создавал простое приложение с контроллерами, сервисами и моделями (проще говоря - реализовывал паттерн Model View Controller).

Читать далее

Apache Flink: тестирование собственного сериализатора состояния

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели1.8K

Привет, Хабр! На связи Александр Бобряков, техлид команды МТС Аналитика. Это мой одиннадцатый пост про Apache Flink. В предыдущей части мы рассмотрели сериализацию данных во Flink, написали сериализатор, поддерживающий эволюцию схемы для Flink-состояния в операторе на основе Jackson.

В этой части мы научимся писать тесты на эволюцию схемы состояния при использовании своего сериализатора.

Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Этот материал соответствует релизной ветке с названием release/10_test_JacksonStateSerializer.

Читать далее

Jakarta Data и Persistence: Инструменты, которые меняют подход к работе с данными

Уровень сложностиПростой
Время на прочтение26 мин
Охват и читатели15K

Команда Spring АйО перевела и адаптировала доклад "Jakarta Data and Jakarta Persistence by Gavin King" Гевина Кинга с последнего Devoxx.

В своем выступлении Гевин Кинг рассказал о преимуществах и нововведениях Jakarta Data и Jakarta Persistence.

Читать далее

Spring Boot Filter. Введение в фильтрацию запросов

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели12K

Привет, меня зовут Николай Пискунов, я руководитель направления Big Data и автор медиа вАЙТИ. В этой статье поговорим о фильтрации запросов.

Примером может быть авторизация: Filter проверит, прошел ли пользователь аутентификацию до отправки запроса. Если нет, то можно отказать ему в доступе к ресурсу. Еще один пример — логирование: с помощью Filter вы можете записывать информацию о каждом запросе и ответе, что может быть полезно для отладки или мониторинга.

В предыдущей статье мы создали аспект для логирования запросов через аннотации. Сегодня рассмотрим, как осуществить то же самое с использованием Spring Boot Filter.

Читать далее

Баг в дизайне коллекций

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.1K

В этой статье речь пойдёт о фреймворке коллекций в Java. Относительно недавно (в 3 кв. 2023 года) эта библиотека вновь слегка обновилась. Я ознакомился с обновлениями, и скажу, что они меня разочаровали.

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

Итак случившееся обновление - добавление последовательных версий интерфейсов в коллекции, а именно SequencedCollection, SequencedSet и SequencedMap. Такие последовательные коллекции ещё во времена Рапиры, кажется, называли кортежами.

Читать далее

Ближайшие события

Spring Cloud Gateway как шлюз для мобильных приложений

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели4.9K

В статье будет рассмотрен способ организации инфраструктуры API шлюза для мобильных приложений. Как и в предыдущий раз мы будем использовать spring cloud gateway и keycloak.

Читать далее

Spring Cloud Gateway + Keycloak: полноценный пример

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели18K

Всем привет! Сегодня мы посмотрим, как сделать полноценную интеграцию api шлюза spring cloud gateway и keycloak, так как мне показалось, что тема недостаточно раскрыта. С небольшими оговорками этот пример можно использовать в реальных продакшн условиях.

Читать далее

Simple Spring (полный фарш)

Уровень сложностиСредний
Время на прочтение55 мин
Охват и читатели17K

У нас был spring и hibernate
Мы твёрдо знали, что OAuth2.0 это хорошо, а принцип "Api first" ещё лучше.
И нам дали ровно 48-ь часов чтобы создать работающую инфраструктуру с возможностями авторизации, отслеживания метрик, динамической маршрутизацией запросов и раздачей конфигураций сервисам "на лету". Кроме того от нас хотели получить "best practics" по работе с БД в коде и лёгкой поддержке ролевой модели.

Читать далее

JOOQ — не замена Hibernate. Они решают разные проблемы

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели18K

Последние год-полтора я натыкаюсь на статьи и доклады (особенно в англоязычном сегменте) о том, что JOOQ – это современная и более крутая альтернатива Hibernate.

Скажу сразу, что я считаю JOOQ отличной библиотекой (именно библиотекой, а не фреймворком, в отличие от Hibernate). Он прекрасно справляется со своей задачей – работой с SQL в режиме статической типизации, чтобы отловить большинство ошибок на этапе компиляции.

Но когда я слышу аргумент, что время Hibernate прошло и пора все писать на JOOQ, для меня это звучит примерно так же, как то, что время реляционных БД прошло и теперь нужно использовать только NoSQL. Звучит смешно? Но по меркам истории буквально вчера такие разговоры велись вполне серьезно.

Я думаю, дело кроется в непонимании корневых проблем, которые решают эти два инструмента. Этой статьей я хочу ответить на эти вопросы.

Читать далее

Отчёт о тенденциях Java от InfoQ за 2024

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели6.7K

В этой статье представляем отчёт, в котором команда редакторов InfoQ описывает текущее состояние внедрения технологий и выявляет новые тенденции в Java. Основное внимание уделяется языку Java, смежным языкам, таким как Kotlin и Scala, а также JVM и Java-фреймворкам и утилитам. Мы обсудим как ключевые тенденции в самой Java, так и эволюцию фреймворков — Spring Framework, Jakarta EE, Quarkus, Micronaut, Helidon, MicroProfile и EclipseStore.

Читать далее

Волшебные ссылки теперь в Spring Security

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели12K

Концепция волшебных ссылок (magic link) далеко не нова, однако долгое время у разработчиков не было надежного решения с полноценным комьюнити, которое позволяло бы быстро и просто реализовывать волшебные ссылки в своих приложениях. И вот, наконец, такая фича появилась в spring security. Давайте подробно разберем что у нас получилось, какие проблемы остались, и что планируется реализовать.

Читать далее

Можно ли уместить игру Minecraft всего в один QR-код?

Время на прочтение15 мин
Охват и читатели40K

Ответ: да! И вот же он:

Игра запускается, и вы можете перемещаться по миру 64x64x64 при помощи клавиш WASD. Пробелом прыгаем, мышью осматриваемся. Щёлкнув левой кнопкой мыши, можно разрушить блок, а правой — установить землю.

Можно просмотреть QR-код при помощи следующей команды под Linux:

zbarcam -1 --raw -Sbinary> /tmp/m4k &&chmod +x /tmp/m4k  && /tmp/m4k

-1: выйти после того, как код будет просканирован

--raw: не обрабатывать его как текст

--Sbinary: воспользоваться двоичной конфигурацией

Проект выложен на GitHub здесь:TheSunCat/Minecraft4k

Читать далее