fa
Feedback
Чашечка Java

Чашечка Java

رفتن به کانال در Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

نمایش بیشتر
8 454
مشترکین
-224 ساعت
-167 روز
-6030 روز
آرشیو پست ها
Новый open source Java коннектор для Tarantool: практика с примерами кода VK Tech открывает исходный код коннектора Tarantool Java EE и переименовывает его в Tarantool Java SDK. Дистрибутив станет доступен в Maven Central, что упростит интеграцию с Java-приложениями в корпоративных средах. Меня зовут Артём Дубинин, я старший программист в VK Tech. Я разрабатываю коннекторы к Tarantool, а также участвую в разработке различных продуктов в VK Tech. Однажды я понял, что материала про совместную работу Java и Tarantool очень мало и из-за этого может казаться, что совмещать их сложно. Но на самом деле это не так — и иногда альтернативы Tarantool могут быть даже сложнее во взаимодействии. Поэтому я и решил написать эту статью. Цель статьи — показать через код, что Tarantool реально совместить с Java без больших полотен кода, а итеративно с небольшими сниппетами (не считая java импортов и xml 😄). Мы будем использовать такие, чтобы каждый мог попробовать провести у себя на компьютере эти эксперименты и понять, что Tarantool легок в использовании. Читать: https://habr.com/ru/companies/vk/articles/980380/?utm_campaign=980380 @a_cup_of_java | Другие наши каналы

Разработчик развеял мифы о чистом коде, трендах и идеальном программировании Разработчик развеял мифы о чистом коде и трендах
Разработчик развеял мифы о чистом коде, трендах и идеальном программировании Разработчик развеял мифы о чистом коде и трендах — почему идеальное программирование не всегда оправдано в реальных проектах Читать: «Разработчик развеял мифы о чистом коде, трендах и идеальном программировании» @a_cup_of_java | Другие наши каналы

Почему я перешел на Dagger Components (вместо Dagger Android) Всем привет, меня зовут Анатолий Спитченко, я Android-разработчик в ПСБ. В этой статье расскажу про свои эксперименты с Dagger. Наткнувшись в проекте на огромный модуль Application (11,5 Мб), я стал искать альтернативы обертке Dagger Android. Поэкспериментировал с продвигаемым Google Dagger Hilt, а также с более старым подходом — Dagger Components. Последний, как ни странно, позволяет немного сократить Application и в целом имеет больше плюсов, чем минусов. Подробности под катом. Читать: https://habr.com/ru/companies/psb/articles/979988/?utm_campaign=979988 @a_cup_of_java | Другие наши каналы

JavaScript: большой гайд от Tproger Гайд по JavaScript. Топовые и полезные статьи с теорией, инструментами и фреймворками. Пр
JavaScript: большой гайд от Tproger Гайд по JavaScript. Топовые и полезные статьи с теорией, инструментами и фреймворками. Практика для новичков и продвинутых программистов. ✔ Tproger Читать: «JavaScript: большой гайд от Tproger» @a_cup_of_java | Другие наши каналы

Project Panama: как Java научилась говорить на C! (Часть 1) Как безопасно и эффективно вызывать C-функции из Java? Благодаря Project Panama — новому API из OpenJDK — это стало возможно без использования JNI. В новом переводе от команды Spring АйО познакомимся с основами FFM API, посмотрим на запуск Hello World на C, роль jextract, и на то, как управлять памятью вне кучи JVM. Читать: https://habr.com/ru/companies/spring_aio/articles/985144/?utm_campaign=985144 @a_cup_of_java | Другие наши каналы

Реализация гексагональной архитектуры на Java В данной статье рассматривается архитектура проекта, позволяющая модульным образом интегрировать инфраструктурные фреймворки, такие как Spring, Quarkus и Micronaut, без необходимости модификации ядра предметной области (domain) или внешних API. Читать: https://habr.com/ru/articles/985156/?utm_campaign=985156 @a_cup_of_java | Другие наши каналы

И снова про алгоритмы и структуры данных… За годы разработки приходит понимание, что происходит в тех или иных сервисах, когда они тормозят, лагают, выдают «неожидаемое» поведение. В данной статье хочу рассмотреть проблему неправильного использования алгоритмов и архитектурных решений с бытовой, общечеловеческой стороны. Читать: https://habr.com/ru/articles/984792/?utm_campaign=984792 @a_cup_of_java | Другие наши каналы

Kafka для начинающих: работа с Kafka транзакциями на практике — когда они нужны, а когда когда только вредят? Как работать с Kafka транзакциями из Spring Boot? Когда они нужны, а когда бесполезны или даже вредны? Простым языком и с примерами кода о Kafka транзакциях. Читать: https://habr.com/ru/articles/981188/?utm_campaign=981188 @a_cup_of_java | Другие наши каналы

Миграция проекта с Node.js на Java-стек с помощью ИИ Один из наших проектов нужно было перенести на Kotlin, чтобы включить его в общую экосистему клиента и упростить поддержку. Мы должны были курировать процесс и следить за итоговой реализацией, в которой заказчик решил использовать ИИ. В этой статье рассказываем о реальных возможностях нейронки для миграции бэкенда и про то, с чем лучше к ней не обращаться — чтобы не тратить ни время, ни нервы. Читать: https://habr.com/ru/companies/dalee_group/articles/984702/?utm_campaign=984702 @a_cup_of_java | Другие наши каналы

От Redis к Kafka Streams: как мы проверяем сетевую доступность 200к устройств В инфраструктуре банка мы ежедневно работаем с ~200 000 физических устройств: это IP-камеры, сетевые видеорегистраторы и другая периферия. Каждое из них должно быть проверено на доступность — не реже чем раз в 10 минут. Требования к системе: - не создавать бессмысленную нагрузку на инфраструктуру; - решение должно быть горизонтально масштабируемым; - система должна выдерживать падение pod, rebalance, сетевые сбои. Читать: https://habr.com/ru/companies/sberbank/articles/974926/?utm_campaign=974926 @a_cup_of_java | Другие наши каналы

Как затащить AI в Java/Kotlin проект Мир Enterprise-разработки на Java/Kotlin и мир нейронных сетей кажутся параллельными вселенными. С одной стороны - статическая типизация, многопоточность, Spring-контейнеры, а с другой - Python-скрипты, тензорные операции и эксперименты в Jupyter Notebook. Между ними - пропасть, через которую многие команды не решаются перешагнуть. Однако необходимость строить этот мост возникает всё чаще. Заказчик хочет «искусственный интеллект» в новом фиче, аналитики мечтают о реализации чат-бота  с преферансом и барышнями, а менеджеры слышали, что конкуренты уже всё автоматизировали. Как же совместить надежность и структуру JVM-проекта с гибкостью и мощью AI? В этой статье постараемся разобраться какие инструменты для этого есть на данный момент и как с ними работать. Читать: https://habr.com/ru/articles/984544/?utm_campaign=984544 @a_cup_of_java | Другие наши каналы

Параллельные стримы и CompletableFuture: ошибки и решения Кратко о ловушках параллелизации в Java (вложенные parallel, flatMa
Параллельные стримы и CompletableFuture: ошибки и решения Кратко о ловушках параллелизации в Java (вложенные parallel, flatMap, потеря контекста в ForkJoinPool, OOM с CompletableFuture) и практических решениях: точечная параллелизация, разделение executors, семафоры, thenApply vs thenApplyAsync. Кейс Hugo Marques (JDK24). Подробности: https://www.infoq.com/presentations/java-grpc-workload/ #en @a_cup_of_java | Другие наши каналы

Java-дайджест: январь 2026 По данным InfoQ: вышли обновления — maintenance/point-релизы для Spring gRPC, Quarkus, Gatherers4j
Java-дайджест: январь 2026 По данным InfoQ: вышли обновления — maintenance/point-релизы для Spring gRPC, Quarkus, Gatherers4j, Keycloak, Grails и Java Operator SDK; также доступны сборки JDK 26 и 27 с исправлениями и улучшениями. Подробности: https://www.infoq.com/news/2026/01/java-news-roundup-jan05-2026/ #en @a_cup_of_java | Другие наши каналы

Доступ к ChatGPT за 5 минут без VPN Примерно год назад я написал статью ChatGPT без VPN за 10 минут (и установка нативного приложения). Хотя она актуальна до сих пор, сегодня я хочу вам рассказать про еще один способ. Суть: мы делаем свой DNS-профиль в NextDNS или Cloudflare и автоматически актуализируем его раз в сутки. Для этого я написал небольшую программу. Самое приятное: для ее работы вам не придется ничего устанавливать вообще. Читать: https://habr.com/ru/articles/984224/?utm_campaign=984224 @a_cup_of_java | Другие наши каналы

Как жёсткие правила сборки релизов упростили жизнь инженерам финтеха Перевели инфраструктуру Java-разработки высоконагруженного финтеха с SLA 99,99% на доверенный репозиторий компонентов. Это отечественные продукт из экосистемы Axiom JDK. Делимся инженерными деталями этого перехода. Читать: https://habr.com/ru/companies/axiomjdk/articles/983938/?utm_campaign=983938 @a_cup_of_java | Другие наши каналы

LLM + 1C: Почему чат-бот для учета — это плохая идея, и как реализовать AI-шлюз через OData LLM + 1C = ? Почему чат-бот для учета — это плохая идея, и как я сделал из него «умный шлюз». Изначально идея казалась кристально чистой: пользователь отправляет текстовый или голосовой запрос (например: «Выведи топ должников по Тверской области на текущую дату и суммы задолженности»). Читать: https://habr.com/ru/articles/984008/?utm_campaign=984008 @a_cup_of_java | Другие наши каналы

Как я поучаствовал в разработке Camunda 8 или пример типичной ошибки в многопоточном коде Зимой 2024 года мне довелось поучаствовать в разработке проекта на Camunda 8. Сразу оговорюсь: проект в итоге реализовали на другом движке. Тем не менее, команда успела сделать стенд, прогнать тесты и замерить производительность. В этой статье я расскажу об одном эпизоде, когда мне пришлось исправить библиотеку spring-zeebe из Camunda 8, отвечающую за обвязку Job Worker на Spring. Одной из моих задач было отладить процесс, используя локальные интеграционные тесты с Docker и библиотекой Testcontainers. Мы создали простой процесс, вызывающий наш Job Worker, подлежавший отладке. Сразу столкнулись с плавающей ошибкой: иногда тест проходил успешно, иногда — нет. Несколько тасков работали корректно, однако первый периодически игнорировался без видимых ошибок. Изначально подозревали проблему в собственном коде, проверяли конфигурацию Job Worker, благодаря чему узнали много нового о Camunda 8. Читать: https://habr.com/ru/articles/983902/?utm_campaign=983902 @a_cup_of_java | Другие наши каналы

DeepSeek в Intellij Idea через плагин Continue Может кому пригодится, на просторах интернета не нашел, как запустить модель deepseek в idea, потому сам вместе с deepseek допиливал конфиг и обучал модель работе через инструменты плагина. Ну и попутно решил проблему с зависаниями, плагин очень любил зависнуть, приходилось ide перезапускать. Сразу оговорюсь, решение не элегантно, я не убирал лишний код, строки и текст, я просто добился рабочего состояния и более ничего не тестировал и не трогал. Годами работы приучен "работает - не трож". Потому решение as is выкладываю. Можете сами эксперименты проводить и допиливать, мне был просто нужен рабочий инструмент, на тюнинг не осталось желания, накрыла лень и я продолжил заниматься изначальным своим проектом =) Читать: https://habr.com/ru/articles/983430/?utm_campaign=983430 @a_cup_of_java | Другие наши каналы

InfoQ Trends Reports 2025 — что важно разработчикам InfoQ собрал серию отчетов по архитектуре, культуре, AI/ML, облакам и Jav
InfoQ Trends Reports 2025 — что важно разработчикам InfoQ собрал серию отчетов по архитектуре, культуре, AI/ML, облакам и Java. Главные идеи: эволюция технологий, AI как соавтор в доставке ПО, роль человеческого суждения, рост платформенной инженерии и практические тренды на 1–5 лет. Подробности: https://www.infoq.com/minibooks/2025-infoq-trends-reports-emag/ #en @a_cup_of_java | Другие наши каналы

Корпоративный RAG как MCP-сервис: подключаем кодовую базу к IDE В компаниях с несколькими продуктами знания о коде и архитектуре почти неизбежно расползаются. Часть живёт в репозиториях, часть — в статьях с архитектурными решениями, часть — в корпоративной базе знаний (в нашем случае — Confluence). На небольшом масштабе это выглядит как порядок. Но по мере роста начинают проявляться системные эффекты. Появляется дублирование функционала с разными подходами. Сложнее становится погружаться в новый продукт при кросс-командных переходах. Поиск по каждому репозиторию и каждому пространству документации по отдельности — медленный и утомительный. В итоге вопросы уходят к «знающим людям», которые постепенно превращаются в узкое горлышко. Мы столкнулись с этим в явном виде и сформулировали задачу так: дать разработчикам и системным аналитикам быстрый и актуальный поиск по всей кодовой базе компании с возможностью диалога через универсального агента. В этой статье я расскажу, как мы построили локальный RAG-сервис, оформили его как MCP-сервер и подключили к IDE. Подход будет полезен командам с большим количеством репозиториев, внутренней документацией и требованиями к безопасности. Читать: https://habr.com/ru/articles/983424/?utm_campaign=983424 @a_cup_of_java | Другие наши каналы