Создаем plugin для IDEA для мониторинга транзакций в Spring

В статье показано, как быстро можно создать свой plugin для облегчения работы с Transactional в Spring. Писать будем на Kotlin и Java Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/3gocWP3

Производительность: нюансы против очевидностей

Приветствую, это текстовая версия моего доклада на JPoint-2021. Как обычно я сделал упор на случаи из жизни и на повседневные вещи, используемые каждым разработчиком. Под кат приглашаются интересующиеся производительностью и им сочувствующие. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/3duVjLx

NullPointerException в чужой библиотеке, или некоторые манипуляции с байткодом

Привет, хабр! Был тёплый пятничный вечер, хотелось скорее бежать домой, пересесть из компьютерного кресла на кресло настоящее в полутора метрах, а тесты всё никак не проходили. Причём не проходили они самым изощрённым образом: падая прямо где-то в недрах библиотеки. Самое обидное было то, что состояние временной базы, поднятой в докере …

JPoint 2021: тенденции и тренды мира Java

В третьем онлайн-сезоне конференций, проводимых JUG Ru Group, с 13 по 17 апреля 2021 года успешно прошла Java-конференция JPoint 2021. Что было интересного на конференции? Какой тематики были доклады? Кто из спикеров и про что рассказывал? Что изменилось в организации конференции и долго ли ждать возвращение офлайн-формата? Можно ли что-то …

Расширение Keycloak для перехвата и обработки событий в системе

Продолжаю тему моего коллеги о Keycloak. Кому не нужна вода, а просто пример кода, прыгайте сразу сюда. Keycloak довольно часто используется в качестве решения для управления идентификацией и доступом для современных приложений в рамках enterprise приложений. Keycloak написан на языке Java, и создатели изначально заложили очень удобную возможность расширять функционал …

Декомпиляция node.js в Ghidra

Приветствую, Вам когда-нибудь хотелось узнать, как же именно работает программа, которой вы так активно пользуетесь, игра, в которую часто играете, прошивка какого-нибудь устройства, которое что-то делает по расписанию? Если да, то для этого вам потребуется дизассемблер. А лучше — декомпилятор. И если с x86-x64, Java, Python ситуация известная: этих ваших …

Почему следует избегать использования JPA/Hibernate в продакшене

JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё. Читать далее from Java – Объектно-ориентированный язык программирования …

Собственные метрики JFR и их анализ

Недавно я описывал как осуществлять запуск и управление Java Flight Recorder (JFR). Теперь решил затронуть тему записи в JFR метрик, специфичных для приложения, а так же способов их анализа в Java Mission Control (JMC). Это позволяет расширить понимание происходящего с приложением и значительно упростить анализ производительности и поиск узких мест. …

[Перевод] Вы уверены, что вам нужен API?

От переводчика: При разработке бэкэнда наличие API для фронт-энда стало практически повсеместным стандартом. Однако можем ли мы называть это "настоящим" API? Предлагаем вашему вниманию интересное пятничное чтение, которое, возможно, повлияет на API, которые мы все разрабатываем. “Слабая связанность, сильное сцепление”, “сокрытие информации”. Известные принципы дизайна. Тем не менее, к ним …

[Перевод] Иммутабельность в Java

Иммутабельный (неизменяемый, immutable) класс — это класс, который после инициализации не может изменить свое состояние. То есть если в коде есть ссылка на экземпляр иммутабельного класса, то любые изменения в нем приводят к созданию нового экземпляра. Чтобы класс был иммутабельным, он должен соответствовать следующим требованиям: Читать далее from Java – …

Анонс Jmix 0.9 — предварительный релиз фреймворка

Мы в компании Haulmont разрабатываем Jmix. Это фреймворк с открытым кодом для разработки backend для data-centric приложений, основанный на Spring Boot, наследник CUBA Platform. Мы предоставляем готовую архитектуру, сервисы и API, которые строятся поверх модели данных, а разработчики уже строят эту модель данных (JPA) и пишут бизнес-логику (Spring Boot). Всё …

[Перевод] Паттерн проектирования Builder (Строитель) в Java

А вот и я со своей очередной статьей о паттернах проектирования, а именно о паттерне проектирования Builder (он же Строитель). Очень полезный паттерн проектирования, который позволяет нам шаг за шагом конструировать сложные объекты. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/32buQw6

Подключение Keycloak к Spring Boot приложению

Привет Хабр! Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и предлагают использовать вместо него свободные или платные аналоги, в частности keycloak. В этом посте …

Реактивный масштабируемый чат на Kotlin + Spring + WebSockets

В данном туториале будет рассмотрено создание масштабируемого приложения, подключение и общение с котором происходит по веб-сокетам. Рассмотрим и мужественно преодолеем проблему передачи сообщений между инстансами с помощью месседж брокера. В качестве месседж брокера будет использован Redis. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/3mH7gAV

What can we do with Java16? Краткий обзор нового релиза JDK (март 2021)

В марте разработчикам в средах программирование пришло сообщение “New JDK version is available”, что означало, что вышел очередной релиз Java 16 с открытым исходным кодом Java SE (Standard Edition) 16 и Java Development Kit 16 (JDK 16). Подготовка к выпуску окончена и набор новых функций (JEP), который был утвержден, теперь …

[Перевод] Руководство по возможностям Java версий 8-16

Последнее обновление: 05 апреля 2021 г. Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т. Д.), А также получить обзор функций языка Java, включая версии Java версии. 8-16. Читать далее from …

[Перевод] Rust — теперь и на платформе Android

Корректность кода на платформе Android является наиважнейшим аспектом в контексте безопасности, стабильности и качества каждого релиза Android. По-прежнему сложнее всего вытравливаются ошибки, связанные с безопасностью памяти и попадающиеся в коде на С и C++. Google вкладывает огромные усилия и ресурсы в обнаружение, устранение багов такого рода, а также в уменьшение …

Desktop. Не популярный, но все еще живой. Eclipse Rich Client Platform (RCP e4)

Всем доброго времени суток. Начнем. Во время своего обучения этой технологии я столкнулся с проблемой, что на весь интернет есть только один нормальный источник информации по этой теме (Lars Vogel). А в нем все написано профи для профи. Поверхностно, без деталей. Есть и с деталями, но платно. Я хочу добавить подробностей …

Приглашаем спикеров и участников на Java Meeting Point 2021

23 июня 2021 мы проводим бесплатную онлайн-конференцию для Java-разработчиков и всех, кто интересуется этим языком. Наша конференция — это площадка для общения и обмена опытом инженеров по всей России. Ведущим Java Meeting Point будет Андрей Когунь — основатель и организатор встреч сообщества JUG.MSK. Регистрация для участников открыта.  Программа формируется, и …

Как извлечь пользу из статической типизации

Эта статья о том, как извлечь максимум пользы из статической системы типов при дизайне вашего кода. Статья пытается быть language agnostic (получается не всегда), примеры на Java и взяты из жизни. Читать далее from Java – Объектно-ориентированный язык программирования https://ift.tt/3fIVIM1

Back to Top