Эволюция Clojure: от идеи к зрелому решению
Джордан Миллер рассказывает, как язык Clojure развивался от концепции Рича Хики по борьбе со сложностью до мощной платформы для бизнеса. В посте освещены основные философии, важные этапы и активное сообщество вокруг Clojure.
Подробности: https://www.infoq.com/presentations/clojure-2024/
#en
@a_cup_of_java | Другие наши каналы
Джордан Миллер рассказывает, как язык Clojure развивался от концепции Рича Хики по борьбе со сложностью до мощной платформы для бизнеса. В посте освещены основные философии, важные этапы и активное сообщество вокруг Clojure.
Подробности: https://www.infoq.com/presentations/clojure-2024/
#en
@a_cup_of_java | Другие наши каналы
Spring Data Ahead of Time репозитории
Команда Spring АйО перевела статью про новую версию AOT-репозиториев, которые позволяют генерировать реализацию методов запросов на этапе сборки. Это ускоряет запуск приложений, снижает потребление памяти и делает поведение репозиториев более прозрачным для разработчиков.
Читать: https://habr.com/ru/companies/spring_aio/articles/913486/?utm_campaign=913486
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью про новую версию AOT-репозиториев, которые позволяют генерировать реализацию методов запросов на этапе сборки. Это ускоряет запуск приложений, снижает потребление памяти и делает поведение репозиториев более прозрачным для разработчиков.
Читать: https://habr.com/ru/companies/spring_aio/articles/913486/?utm_campaign=913486
@a_cup_of_java | Другие наши каналы
❤2
Разработка Java-проекта с Jmix AI Assistant, часть 2
В первой части статьи с помощью инструмента Jmix AI Assistant начато создание системы для проведения онлайн курсов.
Были сгенерированы сценарии использования (use cases), разработана UML-диаграмма в формате PlantUML для этих use cases, разработана доменная модель для системы и ее реализация на JMIX. Далее все классы разбиты по пакетам.
Продолжим эксперименты по разработке кода с помощью Jmix AI Assistant, включая следующие:
- Генерация класса, заполняющего доменную модель тестовыми данными
- Генерация REST API для модели домена, включая создание контроллеров и REST сервисов
- Генерация пользовательского интерфейса
Читать: https://habr.com/ru/articles/908736/?utm_campaign=908736
@a_cup_of_java | Другие наши каналы
В первой части статьи с помощью инструмента Jmix AI Assistant начато создание системы для проведения онлайн курсов.
Были сгенерированы сценарии использования (use cases), разработана UML-диаграмма в формате PlantUML для этих use cases, разработана доменная модель для системы и ее реализация на JMIX. Далее все классы разбиты по пакетам.
Продолжим эксперименты по разработке кода с помощью Jmix AI Assistant, включая следующие:
- Генерация класса, заполняющего доменную модель тестовыми данными
- Генерация REST API для модели домена, включая создание контроллеров и REST сервисов
- Генерация пользовательского интерфейса
Читать: https://habr.com/ru/articles/908736/?utm_campaign=908736
@a_cup_of_java | Другие наши каналы
Почему java -jar игнорирует твой -cp и как это обойти
Привет, Хабр!
Когда
Читать: https://habr.com/ru/companies/otus/articles/911992/?utm_campaign=911992
@a_cup_of_java | Другие наши каналы
Привет, Хабр!
Когда
java -jar цинично игнорирует ваш -cp, хочется грустить, но спокойствие, сегодня рассмотрим, почему так происходит и как это обойти.Читать: https://habr.com/ru/companies/otus/articles/911992/?utm_campaign=911992
@a_cup_of_java | Другие наши каналы
10 техник оптимизации Java, которые выведут вас на новый уровень
Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.
Читать: https://habr.com/ru/companies/otus/articles/913922/?utm_campaign=913922
@a_cup_of_java | Другие наши каналы
Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.
Читать: https://habr.com/ru/companies/otus/articles/913922/?utm_campaign=913922
@a_cup_of_java | Другие наши каналы
Spring команда рассказала о новых подходах к AOT-кэшу, поддержке null safety с JSpecify и обновлённой политике поддержки Spring Boot. Важно для разработчиков: облегчён запуск контейнеров и стандартизация аннотаций null в Java. Полная поддержка теперь длится до 7 лет.
Подробности: https://www.infoq.com/news/2025/05/spring-aot-jspecify-support/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/05/spring-aot-jspecify-support/
#en
@a_cup_of_java | Другие наши каналы
🌭1
Архитектурные принципы Spring Security. Часть вторая
Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль.
Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы расскажем об Authentication объектах и продемонстрируем, как разработать специализированный фильтр для обеспечения доступа программы-робота к основному приложению.
Читать: https://habr.com/ru/companies/spring_aio/articles/911862/?utm_campaign=911862
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль.
Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы расскажем об Authentication объектах и продемонстрируем, как разработать специализированный фильтр для обеспечения доступа программы-робота к основному приложению.
Читать: https://habr.com/ru/companies/spring_aio/articles/911862/?utm_campaign=911862
@a_cup_of_java | Другие наши каналы
👎1
Как встроить распознавание паспорта РФ в Android: пошаговое руководство
Пошагово объясняем, как встроить быстрое и безопасное распознавание паспорта РФ в Android. Нативное приложение с возможностью распознавания ДУЛ на устройстве.
Читать: «Как встроить распознавание паспорта РФ в Android: пошаговое руководство»
@a_cup_of_java | Другие наши каналы
Пошагово объясняем, как встроить быстрое и безопасное распознавание паспорта РФ в Android. Нативное приложение с возможностью распознавания ДУЛ на устройстве.
Читать: «Как встроить распознавание паспорта РФ в Android: пошаговое руководство»
@a_cup_of_java | Другие наши каналы
Как я развернул сайт на Java Spring Boot + Angular SSR с Docker и Nginx: личный опыт
Как развернуть сайт на Spring Boot и Angular с SSR, Docker и Nginx: пошаговый опыт настройки, устранения ошибок, подключения HTTPS и защиты от ботов.
Читать: «Как я развернул сайт на Java Spring Boot + Angular SSR с Docker и Nginx: личный опыт»
@a_cup_of_java | Другие наши каналы
Как развернуть сайт на Spring Boot и Angular с SSR, Docker и Nginx: пошаговый опыт настройки, устранения ошибок, подключения HTTPS и защиты от ботов.
Читать: «Как я развернул сайт на Java Spring Boot + Angular SSR с Docker и Nginx: личный опыт»
@a_cup_of_java | Другие наши каналы
👌5👍2
jpeek – когда SonarQube мало
Сегодня в любой более-менее серьезной компании, где настроен CI/CD, используется SonarQube. Это уже стандарт де-факто — он умеет проверять определять code smells, измерять цикломатическую сложность, определять дублирование, уровень покрытия тестами, распознавать недостижимый код, подсчитывать размеры методов и классов и многое другое. Настроили, подключил к CI — и вроде бы все хорошо.
Но...
Читать: https://habr.com/ru/articles/912556/?utm_campaign=912556
@a_cup_of_java | Другие наши каналы
Сегодня в любой более-менее серьезной компании, где настроен CI/CD, используется SonarQube. Это уже стандарт де-факто — он умеет проверять определять code smells, измерять цикломатическую сложность, определять дублирование, уровень покрытия тестами, распознавать недостижимый код, подсчитывать размеры методов и классов и многое другое. Настроили, подключил к CI — и вроде бы все хорошо.
Но...
Читать: https://habr.com/ru/articles/912556/?utm_campaign=912556
@a_cup_of_java | Другие наши каналы
«Я слышу свой код»: как работает Java-программист, потерявший зрение
Константин Евтеев @beginner760собирает Java-код с помощью диктора NVDA, редактирует его в Блокноте и передает на Linux по SSH через самописные bash-скрипты. После потери зрения он не потерял интереса к жизни и желания быть полезным и выстроил собственную инженерную экосистему: оглавления по строкам .txt-файлами, навигация по main и маленьким методам, отладка на слух.
Читать: https://habr.com/ru/companies/axiomjdk/articles/913748/?utm_campaign=913748
@a_cup_of_java | Другие наши каналы
Константин Евтеев @beginner760собирает Java-код с помощью диктора NVDA, редактирует его в Блокноте и передает на Linux по SSH через самописные bash-скрипты. После потери зрения он не потерял интереса к жизни и желания быть полезным и выстроил собственную инженерную экосистему: оглавления по строкам .txt-файлами, навигация по main и маленьким методам, отладка на слух.
Читать: https://habr.com/ru/companies/axiomjdk/articles/913748/?utm_campaign=913748
@a_cup_of_java | Другие наши каналы
👍7😨1
Интеграция MCP-сервера и Cursor для автоматизации мониторинга и тестирования
Современные LLM‑агенты могут обходиться без внешних вызовов — выдавать ответы исключительно на основе prompt’а. Но когда речь идёт о живых данных (трассы вызовов, результаты SQL‑запросов, исходный код из GitLab), нужно динамически обогащать контекст модели и давать ей «функции» для вызова.
Читать: https://habr.com/ru/articles/914792/?utm_campaign=914792
@a_cup_of_java | Другие наши каналы
Современные LLM‑агенты могут обходиться без внешних вызовов — выдавать ответы исключительно на основе prompt’а. Но когда речь идёт о живых данных (трассы вызовов, результаты SQL‑запросов, исходный код из GitLab), нужно динамически обогащать контекст модели и давать ей «функции» для вызова.
Читать: https://habr.com/ru/articles/914792/?utm_campaign=914792
@a_cup_of_java | Другие наши каналы
Стандартизация без боли: как строгий синтаксис экономит время и нервы
Когда проект начинается, разработчику хочется только одного — свободы творчества. Писать код быстро и так же быстро получать результат. Но со временем появляются баги, регрессии, архитектура, миграции... И вот тогда свобода оборачивается болью: оказывается, что один и тот же результат в коде можно выразить десятком способов — и все они несовместимы друг с другом.
В этой статье я сравню несколько популярных языков программирования с точки зрения их синтаксической однозначности, гибкости и способности масштабироваться в командной разработке. Мы посмотрим, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое.
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/912172/?utm_campaign=912172
@a_cup_of_java | Другие наши каналы
Когда проект начинается, разработчику хочется только одного — свободы творчества. Писать код быстро и так же быстро получать результат. Но со временем появляются баги, регрессии, архитектура, миграции... И вот тогда свобода оборачивается болью: оказывается, что один и тот же результат в коде можно выразить десятком способов — и все они несовместимы друг с другом.
В этой статье я сравню несколько популярных языков программирования с точки зрения их синтаксической однозначности, гибкости и способности масштабироваться в командной разработке. Мы посмотрим, как строгие ограничения формируют культуру качества, а чрезмерная выразительность часто мешает команде работать как единое целое.
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/912172/?utm_campaign=912172
@a_cup_of_java | Другие наши каналы
Java 25 представил Stable Values API — новый способ ленивой и безопасной инициализации неизменяемых объектов. Это ускоряет запуск приложений, позволяя откладывать создание тяжелых компонентов до момента реальной необходимости. Особенность в поддержке JVM-оптимизаций для стабильных значений.
Подробности: https://www.infoq.com/news/2025/06/java25-stable-values-api-startup/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/06/java25-stable-values-api-startup/
#en
@a_cup_of_java | Другие наши каналы
Обновления Java и экосистемы: вышел двенадцатый релиз GlassFish 8.0, четыре JEP для JDK 25, представлен GPU-ускоренный GPULlama3.java на базе TornadoVM, а также новые версии Hibernate Reactive, Spring Cloud и других популярных инструментов.
Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-may26-2025/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-may26-2025/
#en
@a_cup_of_java | Другие наши каналы
MultiDirectory: российская альтернатива Active Directory с 2FA, SSO и совместимостью с AD
MultiDirectory от компании МУЛЬТИФАКТОР — современная служба каталогов для централизованного хранения данных и управления информацией о пользователях, группах и сетевых ресурсах. Она помогает российским компаниям администрировать инфраструктуру с помощью удобных инструментов и гибких механизмов для поиска и фильтрации данных. Рассказываем об особенностях и функционале MultiDirectory.
Читать: «MultiDirectory: российская альтернатива Active Directory с 2FA, SSO и совместимостью с AD»
@a_cup_of_java | Другие наши каналы
MultiDirectory от компании МУЛЬТИФАКТОР — современная служба каталогов для централизованного хранения данных и управления информацией о пользователях, группах и сетевых ресурсах. Она помогает российским компаниям администрировать инфраструктуру с помощью удобных инструментов и гибких механизмов для поиска и фильтрации данных. Рассказываем об особенностях и функционале MultiDirectory.
Читать: «MultiDirectory: российская альтернатива Active Directory с 2FA, SSO и совместимостью с AD»
@a_cup_of_java | Другие наши каналы
❤3
Архитектурные принципы Spring Security. Часть третья
Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль.
Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы рассказали об
Читать: https://habr.com/ru/companies/spring_aio/articles/915158/?utm_campaign=915158
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела и адаптировала доклад Даниэля Гарнье-Муару “Spring Security Architecture Principles”, в котором на наглядных примерах рассказывается, как пользоваться возможностями Spring Security, не запутываясь на каждом шагу и не зарабатывая себе головную боль.
Доклад публикуется тремя частями. В первой части было рассказано об основных подходах к созданию цепочек фильтров, а также разработан простейший фильтр. Во второй части мы рассказали об
Authentication объектах и продемонстрировали, как разработать специализированный фильтр для обеспечения доступа программы-робота к основному приложению. В третьей части мы поговорим об абстракции AuthenticationProvider и приведем пример ее использования.Читать: https://habr.com/ru/companies/spring_aio/articles/915158/?utm_campaign=915158
@a_cup_of_java | Другие наши каналы
❤3
Семантический поиск по статьям Хабра в PostgreSQL + индексация текстов LLM в Ollama
Покажу вам практическую реализацию семантического поиска на основе векторных представлений - эмбеддингов из текста. Здесь я создам систему, которая анализирует статьи с Хабра, извлекает из них темы и ключевые слова с помощью локально работающих больших языковых моделей LLM, и на основе этих данных создает векторные представления для эффективного поиска по смыслу, а не по запросу на вхождение определенного текста.
Читать: https://habr.com/ru/articles/915348/?utm_campaign=915348
@a_cup_of_java | Другие наши каналы
Покажу вам практическую реализацию семантического поиска на основе векторных представлений - эмбеддингов из текста. Здесь я создам систему, которая анализирует статьи с Хабра, извлекает из них темы и ключевые слова с помощью локально работающих больших языковых моделей LLM, и на основе этих данных создает векторные представления для эффективного поиска по смыслу, а не по запросу на вхождение определенного текста.
Читать: https://habr.com/ru/articles/915348/?utm_campaign=915348
@a_cup_of_java | Другие наши каналы
❤2👍1😁1
Эволюция Java в 2025 году: ключевые тренды и успешные кейсы
В 2025 году Java продолжает развиваться благодаря таким технологиям, как GraalVM и Project Loom. Язык становится более быстрым и эффективным инструментом для создания решений в сфере искусственного интеллекта, облачных нативных приложений, систем Интернета вещей и масштабируемых микросервисов. В этой статье рассмотрим ключевые тренды, поддерживающие актуальность Java в современной разработке программного обеспечения.
Читать: https://habr.com/ru/companies/otus/articles/915498/?utm_campaign=915498
@a_cup_of_java | Другие наши каналы
В 2025 году Java продолжает развиваться благодаря таким технологиям, как GraalVM и Project Loom. Язык становится более быстрым и эффективным инструментом для создания решений в сфере искусственного интеллекта, облачных нативных приложений, систем Интернета вещей и масштабируемых микросервисов. В этой статье рассмотрим ключевые тренды, поддерживающие актуальность Java в современной разработке программного обеспечения.
Читать: https://habr.com/ru/companies/otus/articles/915498/?utm_campaign=915498
@a_cup_of_java | Другие наши каналы
❤3👍1
AI-ассистенты для кодинга в 2025: сравниваем GigaChat, Claude, GPT-4o и DeepSeek на реальных задачах
В наши дни, кажется, каждый второй пишет AI-ассистента для разработчиков. Но работает ли это в реальности? Мы решили проверить на себе и сравнить самых популярных помощников.
Внутри команды у нас 14 Java-разработчиков — от мидлов до уверенных сеньоров. Все мы работаем в боевом проекте, и стало интересно: может ли AI реально помочь в повседневной разработке, или это всё больше про хайп?
Читать: https://habr.com/ru/companies/itfb/articles/915506/?utm_campaign=915506
@a_cup_of_java | Другие наши каналы
В наши дни, кажется, каждый второй пишет AI-ассистента для разработчиков. Но работает ли это в реальности? Мы решили проверить на себе и сравнить самых популярных помощников.
Внутри команды у нас 14 Java-разработчиков — от мидлов до уверенных сеньоров. Все мы работаем в боевом проекте, и стало интересно: может ли AI реально помочь в повседневной разработке, или это всё больше про хайп?
Читать: https://habr.com/ru/companies/itfb/articles/915506/?utm_campaign=915506
@a_cup_of_java | Другие наши каналы
Как я учил жёлтый ИИ торговать и обманывать друг друга
В предыдущей статье я учил существ рисовать узоры и привлекать внимание человека. Теперь я пошёл дальше — дал им возможность «торговать» друг с другом. Простая экономика и координация действий через обмен. В этой статье — как это устроено, какие алгоритмы я использовал и почему торговля среди глупых жёлтых существ оказалась совсем не глупой.
Читать
Читать: https://habr.com/ru/articles/914432/?utm_campaign=914432
@a_cup_of_java | Другие наши каналы
В предыдущей статье я учил существ рисовать узоры и привлекать внимание человека. Теперь я пошёл дальше — дал им возможность «торговать» друг с другом. Простая экономика и координация действий через обмен. В этой статье — как это устроено, какие алгоритмы я использовал и почему торговля среди глупых жёлтых существ оказалась совсем не глупой.
Читать
Читать: https://habr.com/ru/articles/914432/?utm_campaign=914432
@a_cup_of_java | Другие наши каналы