#java
Откройте для себя вселенную Java: от паттернов проектирования и фреймворков вроде Spring и Spark до разработки высоконагруженных систем, обработки Big Data и автоматизации тестирования. Готовые проекты и полезные инструменты для разработчиков любого уровня.
Ethereum-нода на Java, и почему это не так странно
Besu это execution-клиент Ethereum на Java. Разбираем, зачем он нужен в корпоративной инфраструктуре, что умеет под капотом и кому точно зайдёт.
Как продать биткоин, не отдавая его никому на хранение
Bisq — децентрализованная биржа на Java, где биткоин меняют напрямую между людьми через мультиподпись: без KYC, без хранения ваших монет и без единого...
MPAndroidChart рисует графики в Android за вас
MPAndroidChart — библиотека для Android, которая рисует линейные, столбчатые, круговые, радарные и свечные графики. Разбираем, что она умеет и когда е...
Как ViaVersion спасает старые серверы Minecraft от новых клиентов
ViaVersion переводит сетевой протокол Minecraft на лету, чтобы клиенты новых версий заходили на старые серверы. Разбираем, как устроен плагин, где он...
Как Micronaut избавляет JVM от медленного старта и прожорливости
Разбираем архитектуру Micronaut — фреймворка, который переносит IoC и AOP на этап компиляции, ускоряет запуск JVM-сервисов и снижает потребление памят...
Как объединить авторизацию в легаси и микросервисах с помощью Apereo CAS
Обзор Apereo CAS — проверенного временем SSO-сервера на базе Spring Boot, объединяющего протоколы LDAP, SAML, OAuth2, OpenID Connect и WebAuthn в един...
Как поймать NullPointerException на этапе компиляции без тормозов в сборке
Обзор NullAway: как инструмент от инженеров Uber находит NullPointerException в Java-коде во время компиляции с оверхедом по времени меньше 10%.
Заглядываем под капот Android-приложений с APK Studio
APK Studio — быстрая кроссплатформенная IDE на C++ и Qt6 для декомпиляции, анализа и обратной сборки Android-приложений.
Как перевести бумажные ноты в код и XML с помощью Audiveris
Обзор Audiveris: опенсорсного гибридного движка оптического распознавания нот (OMR) на Java. Разбираем архитектуру, алгоритмы и способ запустить проек...
Пишем сервер для Minecraft на Java без костылей и кода Mojang: знакомство с Minestom
Разбор фреймворка Minestom — легкого сервера Minecraft на Java без оригинального кода Mojang, который открывает новые возможности для высоконагруженны...
EOLANG и концепция чистейшего ООП без типов, классов и циклов
Обзор экспериментального языка программирования EOLANG, который отказывается от типов, классов, наследования и циклов ради чистой объектно-ориентирова...
Jeandle JDK или зачем разработчики прикручивают LLVM к виртуальной машине Java
Разбираем Jeandle — открытый JIT-компилятор для OpenJDK на базе LLVM. Зачем он нужен, как устроен под капотом и с какими трудностями сталкиваются его...
Как обрабатывать миллиарды событий в секунду и не обвалить задержки
Разбираемся, как Hazelcast объединяет распределенную оперативную память и движок потоковой обработки данных для создания быстрых реактивных систем.
Быстрый парсинг JSON в Java с новыми правилами безопасности в Fastjson2
Обзор библиотеки Fastjson2 от Alibaba: ускорение парсинга JSON в Java, бинарный формат JSONB, поддержка Kotlin и исправление проблем с безопасностью.
Как подменить файл hosts на Android без root-прав
Обзор открытого инструмента Virtual Hosts для Android, который помогает подменять файлы hosts и перенаправлять DNS-запросы без root-прав.
Как Apache Struts помогает держать структуру в Java приложениях и почему его еще рано списывать в утиль
Разбираемся, почему классический Java-фреймворк Apache Struts все еще актуален для Enterprise-разработки, как он реализует MVC и почему его архитектур...
Как перестать тонуть в инстансах Redis и начать жить с CacheCloud
Обзор CacheCloud — мощной платформы для управления инфраструктурой Redis, которая помогает автоматизировать развертывание, мониторинг и масштабировани...
Как GeoServer превращает сырые координаты в живые карты
Разбираемся, зачем нужен GeoServer — эталонный Open Source инструмент для работы с геоданными, который объединяет базы данных и интерактивные карты.
ИИ-агенты выходят в реалтайм с Apache Flink Agents
Обзор нового фреймворка Apache Flink Agents для создания распределенных ИИ-агентов, работающих с потоковыми данными в реальном времени.
Зачем мучиться с OAuth когда есть SuperTokens
Подробный обзор SuperTokens — опенсорсной альтернативы Auth0 и Firebase. Разбираем архитектуру на Java, безопасность сессий и возможности Self-hosted...
Как не утонуть в океане Java и наконец-то выучить базу
Обзор одного из самых популярных Java-репозиториев на GitHub: от основ синтаксиса до глубокого погружения в JVM и многопоточность. Разбираемся, почему...
Как подружить ИИ-агентов с бизнес-процессами без зоопарка инструментов
Разбираем ByteChef — опенсорсную платформу, которая объединяет автоматизацию API-воркфлоу и оркестрацию ИИ-агентов в едином интерфейсе с поддержкой RA...