Java guru
СтатистикаНовости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV ry-12537748218192955366
- Последний пост
- 14 янв.
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 21
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Spring TestContext Framework: Переопределение бинов в интеграционных тестах В Spring Framework 6.2 появился простой механизм переопределения бинов, позволяющий заменить существующие компоненты на собственные реализации прямо в процессе тестирования. 🔍 Зачем это нужно: Иногда важно изменить поведение компонента именно в тестах, чтобы убедиться, что система ведет себя ожидаемым образом даже при нестандартных ситуациях. 📌 Пример: Если в вашем приложении используется сложный сервис, вы можете временно заменить его упрощенной версией исключительно для целей тестирования. 💥 Преимущества подхода: - Легкость настройки тестового окружения благодаря удобной аннотации @TestBean. - Возможность использования моков (@MockitoBean) и шпионов (@MockitoSpyBean), чтобы упростить проверку поведения ваших сервисов. Теперь ваши тесты станут ещё проще и надёжнее! 🚀 https://spring.io/blog/2024/04/16/spring-framework-6-2-0-m1-overriding-beans-in-tests #spring #testcontextframework #интеграционныетесты
3D-моделирование с Rodin AI Компания Hyper3D выпустила обновление своего популярного инструмента для 3D-моделирования под названием Rodin AI, которое значительно расширило возможности пользователей. Теперь редакторы могут не только создавать и редактировать отдельные части моделей, но и собирать проекты из предварительно подготовленных элементов, используя систему макросов для ускорения рабочего процесса. Обновленный продукт также включает обширную библиотеку высокодетализированных материалов, инструменты для повышения качества изображений и трехмерных объектов, преобразование 2D-изображений в 3D и создание персонализированных аватаров. Особое внимание разработчики уделили интеграции нового решения с ведущими профессиональными инструментами индустрии — такими как Blender и Unreal Engine. Пользователи смогут свободно переключаться между этими системами, сохраняя привычный рабочий процесс, либо воспользоваться удобной собственной консолью Rodin, обеспечивающей быстрое тестирование и внедрение новых концепций. https://hyper3d.ai/
Представьте себе мир, где ваш поиск становится умнее и быстрее благодаря современным технологиям. Сегодня мы погрузимся в увлекательную тему RAG-систем и выясним, почему они становятся незаменимым инструментом для разработчиков и компаний, стремящихся улучшить качество поиска. Что вас ждёт? ✅ Теория, объясняющая суть RAG-технологий простым языком ✅ Практический разбор с использованием популярных инструментов: Spring AI, векторных баз данных и моделей машинного обучения (LLM) ✅ Подробный гайд по созданию собственного приложения на Java и Spring Boot — от задумки до готового продукта ✅ Чёткие инструкции и живой код, который легко повторить Забудьте о сложных формулах и непонятных концепциях — здесь всё разложено по полочкам! https://habr.com/ru/companies/ruvds/articles/924100/ #RAG #SpringAI #Java #SpringBoot #ИскусственныйИнтеллект #МашинноеОбучение #ПоисковыеАлгоритмы #ПрактическоеРуководство
🔥 Как защитить персональные данные пользователей в условиях строгих правовых ограничений? Многие компании, особенно в сфере финансов, вынуждены сталкиваться с проблемой хранения персональных данных пользователей ограниченное количество времени. Например, хранение данных кредитных карт возможно лишь на короткий период — буквально считанные минуты! 🚨 В статье простой пример реализации подобного сценария с использованием Spring и Redis. Вот что делает этот микросервис: ✅ Получает POST-запросы с зашифрованными карточными данными (для демонстрации используем простую строку). ✅ Хранит данные всего 5 минут в Redis. ✅ Автоматически удаляет запись после её прочтения через GET-запрос. Этот микросервис подходит для внутренних нужд компаний, обеспечивая защиту данных внутри корпоративного периметра. Пользователи и внешние сервисы доступа к данным не имеют! https://habr.com/ru/articles/857518/ #DataProtection #PrivacyFirst #CyberSecurity #SpringBoot #Redis #Microservices #FinTech #SecureDevelopment #NoSQL #JavaDev #BackendDevelopment
Виртуальные потоки Java: разбор тестовых сценариев Команда Open Liberty изучила влияние виртуальных потоков на производительность Java-приложений и поделилась результатами исследования. 🔹 Что нового: Виртуальные потоки предлагают альтернативу классическим пулам потоков, реализованным в Liberty. 🔸 Основные выводы: ✅ Для большинства облачных рабочих нагрузок использование виртуальных потоков не даёт заметных преимуществ перед адаптивными пулами потоков Open Liberty. ❌ Нагрузки, активно использующие процессор, показывают меньшую пропускную способность с виртуальными потоками, хотя причина этого ещё выясняется. ⚡️ Время выхода на полную мощность обработки запросов сокращается благодаря использованию виртуальных потоков («один поток на запрос»). 📊 Объем занимаемой памяти зависит от множества факторов, поэтому снижение потребления памяти виртуальными потоками не гарантирует общего снижения затрат ресурсов. ⚠️ Обнаружены случаи неожиданных падений производительности, над которыми продолжается работа совместно с сообществом OpenJDK. Статья подробно описывает тестирование, сравнение технологий и рекомендации по выбору подходящей стратегии многопоточности для приложений на платформе Open Liberty. https://habr.com/ru/companies/otus/articles/856464/ #java #OpenLiberty #multithreading #VirtualThreads
HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory Hibernate выводит важное предупреждение, когда для постраничного вывода приходится загружать сразу ВСЕ записи из базы данных — вместо того, чтобы запрашивать страницы порциями. Проблема возникает потому, что число записей не совпадает с числом самих объектов (например, один пост имеет много комментариев). Из-за этого пагинация на SQL-уровне невозможна. Чтобы реализовать пагинацию программно, Hibernate вытаскивает все данные целиком — и вот тут-то кроется подвох! В статье разобраны разные способы устранения проблемы 🚀 https://habr.com/ru/articles/856092/ #Hibernate #Database
Что ищет он в краю далёком? Как найти смысл жизни с PostgreSQL Эта статья — о том, как адаптировать PostgreSQL для векторного поиска, исследуя возможности и расширения, такие как pgvector, и показывая, как они работают на практике. В результате у вас будет полноценное руководство по тому, как развернуть смысловой поиск на PostgreSQL, обходя стороной дорогие и сложные специализированные решения. https://habr.com/ru/companies/rostelecom/articles/855712/ #PostgreSQL #pgvector #LLM
🔥 Знакомьтесь с Tribuo 🚀 Tribuo — это библиотека машинного обучения на Java от Oracle. Она помогает решать разные задачи, такие как классификация, регрессия и кластеризация. Сегодня поговорим именно о регрессии — важной задаче, позволяющей предсказывать численные значения (например, цены или температуры). Главные плюсы Tribuo: ✅ Удобный интерфейс для быстрого построения моделей ✅ Простота оценки качества созданных моделей https://habr.com/ru/companies/otus/articles/853300/ #машинноеобучение #tribuo #java #oracle
🔥 API-Шлюз или опять тестировать Разработчики часто сталкиваются с вопросом централизации обработки запросов при увеличении количества микросервисов. Важность Gateway подчеркивается двумя аспектами: ✅ Безопасность: благодаря единому пункту входа легко организовать полный аудит событий. ✅ Производительность: такие сервисы помогают разгрузить основную систему, предотвращая обработку некорректных запросов. Просто закупка мощного железа неэффективна и ведет к дополнительным расходам. ❗ Проблемы существующих подходов Автор статьи отмечает недостатки популярного инструмента Spring Cloud Gateway: - Необходимость написания множества фильтров вручную. - Увеличение трудоемкости проекта. - Сложность реализации прозрачности авторизации и проверки данных. 🆕 Предлагаемое решение Предлагается новый подход, позволяющий оптимизировать работу над проектом Mireapay: 1. Использование проверенных методов авторизации: интеграция авторизационных механизмов прямо в инфраструктуру. 2. Снижение расходов на разработку: автоматическая генерация шаблонов gateways и клиентов снижает количество ручного программирования. 3. Выявление ошибок заранее: переход к обнаружению багов на этапе компиляции повышает качество конечного продукта. Эти меры позволят сократить затраты на сопровождение сложной инфраструктуры и повысить эффективность командной работы. https://habr.com/ru/articles/854880/ #микросервисы #шлюз
▌ 🔍 Разбираемся с Vespa. Часть 2 Продолжаем погружение в мир поиска и обработки данных с Vespa! Сегодня разберём ключевые аспекты платформы: ▌ ➕ Узнаете: - Что такое Document и Query Processing: этапы обработки документов и запросов. - Обработка текста: токенизация, стемминг и оптимальные методы для русского языка. - Алгоритмы поиска: как эффективно находить нужную информацию среди множества данных. - Ранжирование результатов: почему одни результаты оказываются выше других. https://habr.com/ru/companies/sportmaster_lab/articles/848992/ #Vespa
🔥 Хочешь ускорить работу своего Java-приложения и повысить его эффективность? Тогда эта статья обязательна к прочтению! 🖥️ Полнотекстовый поиск в ваших приложениях с использованием Elasticsearch — мощнейший инструмент, который позволит мгновенно находить нужные данные среди огромного объема информации. Представьте себе скорость и удобство работы вашего сервиса на совершенно новом уровне! ✅ Чем полезна интеграция Elasticsearch + Spring Boot + PostgreSQL? - 🚀 Масштабируемость и высокая производительность - 🗂️ Надежное хранение данных с возможностью быстрой индексации - 🧑🤝🧑 Простота разработки благодаря удобству Spring Boot - 🕵️ Улучшение пользовательского опыта и повышение конкурентоспособности продукта 📃 Статья раскрывает важные аспекты интеграции: - Как правильно индексировать сущности и связи (JPA) - Настройки разметки атрибутов для эффективного поиска - Совмещение и разделение сущностей для максимальной гибкости - Реализация синонимов и фильтраций для повышения точности результата 🔍 Вы научитесь настраивать веса и применять многослойные фильтры, чтобы пользователи могли легко находить необходимые данные даже при ошибке ввода или неполном запросе. 📚 Примеры из практики позволят сразу внедрить знания в ваш проект и ощутить реальную пользу для бизнеса. https://habr.com/ru/companies/rostelecom/articles/851658/ #Elasticsearch #SpringBoot #PostgreSQL #Java #Эффективность #Оптимизация #Поиск #Данные
Скажем нет «Превращению», или анализ Kafka Вас когда-нибудь интересовал скрытый мир ошибок в исходниках крупных open-source проектов? ⚡️ Откройте для себя захватывающие истории обнаружения багов в проекте Apache Kafka — один из самых популярных инструментов обработки больших данных! 📌 ✅ Что внутри поста: — Ошибки, найденные анализатором PVS-Studio. — Как избежать проблем в собственном коде. — Примеры реальных уязвимостей и советы по улучшению качества вашего ПО. Прочитав этот материал, вы получите знания, способные повысить качество ваших собственных проектов! https://habr.com/ru/companies/pvs-studio/articles/851066/ #Kafka #PVSStudio
Принципы SOLID на примерах из жизни и разработки В статье объясняются принципы SOLID доступным языком на простых жизненных примерах, а затем показывается, как эти правила применяются в реальных программах. SOLID — это пять важных правил разработки программного обеспечения, помогающих создавать хороший, удобный и надежный код. https://habr.com/ru/articles/849350/ #solid
Интеграция AI в Java приложения На конференции InfoQ Live участники панельной сессии обсудили рабочие процессы, влияние на персонал и использование различных инструментов, фреймворков и сервисов для интеграции ИИ в приложения на Java. Много воды и общих фраз, но в целом послушать про тренды интересно. Состав участников: Асир Сельвасингх - Главный архитектор Java в Azure @Microsoft Джонатан Шнайдер - сооснователь и генеральный директор @Moderne Дов Кац - Управляющий директор, выдающийся инженер @Morgan Stanley Светлана Землянская - Инженер по машинному обучению @Jetbrains Модератор: Эрик Костлоу - Редактор InfoQ | Управление продуктами @Azul https://www.infoq.com/presentations/ai-java-integrate/ #infoq #ai
Аутентификация через телеграм в Spring Boot приложении Сейчас наиболее распространена аутентификация через сторонние сервисы Google, Github и подобные, но через Telegram...что-то новенькое )) В статье рассказывается о том как можно сделать аутентификацию через Telegram в Spring boot приложении. https://habr.com/ru/articles/848502/ #springboot #spring #telegram
AI-ассистент со Spring AI В статье автор делится своим опытом интеграции AI-помощника в Spring Petclinic. Spring Petclinic служит основным референсным приложением в экосистеме Spring. Приложение реализует систему управления ветеринарной клиникой для домашних животных. Spring AI позволяет взаимодействовать с популярными большими языковыми моделями (LLM), используя знакомые парадигмы и техники Spring. https://spring.io/blog/2024/09/26/ai-meets-spring-petclinic-implementing-an-ai-assistant-with-spring-ai-part-i #springai #ai
🔥 Сборка мусора в Java: почему важно понимать, как она работает 🧐 Вы программируете на Java и думаете: «Ну да ладно, сборщик мусора сам разберётся!» А ведь разобраться в тонкостях сборки мусора полезно! Это помогает выбрать оптимальный подход именно для вашего проекта. 📌 На конференции JPoint 2024 Дмитрий Силин из Сбербанка поделился крутым докладом на эту тему. По ссылке полный текст доклада + запись выступления! https://habr.com/ru/companies/jugru/articles/846308/ #GC #JPoint2024 #разработка
Есть ли хорошие форматтеры кода для Java? Поиск идеального форматера • Автор статьи ищет хороший Java-форматер. • Он обсуждает различные форматеры, такие как встроенный в IntelliJ, google-java-format, более красивая Java, Eclipse JDT formatter, Java-формат Palantir, формат Spring Java и межъязыковые форматировщики кода. Проблемы с существующими решениями • Ни один из этих форматеров не удовлетворяет всем заявленным требованиям автора. • Автор статьи готов перейти на другой инструмент, но не может выбрать что-то одно из-за проблем каждого из них. Альтернативные инструменты • Он также упоминает EditorConfig и Spotless, но не оценивает их как полноценные средства форматирования. Рекомендация • Вывод: Palantir, вероятно, является лучшим вариантом, если не возражаете против запуска программы форматирования из командной строки. Мне также очень нравится инструмент checkstyle. Он не является в чистом виде форматером, но в нем можно настроить необходимые проверки качества и встроить в DevOps. https://jqno.nl/post/2024/08/24/why-are-there-no-decent-code-formatters-for-java/
Погружение в безумный мир Brainfuck: создаём генератор кода и интерпретатор с нуля! История о том, как автор статьи превратил простую задачку на C в настоящий кодерский квест. Решать задачу стандартно? Скучно! Автор статьи решил добавить остроты и закодить решение на Brainfuck, а на C сваять интерпретатор для этого безумия. Но писать Brainfuck-код вручную — это как чистить картошку тупым ножом. Поэтому он вооружился Java и создал генератор кода, чтобы автоматизировать этот хаос и сделать процесс эпичным! 🔥 Погрузись в детали на Хабре: https://habr.com/ru/articles/846076/
🚀 Раскрываем секреты скорости в Java! Хочешь знать, как работает сортировка в java.util.Arrays.sort()? 🤔 Timsort для объектов и Dual-Pivot Quicksort для примитивов — два алгоритма, которые делают Java молниеносной! Узнай: - Почему Timsort — король упорядоченных данных. - Как Dual-Pivot Quicksort от автора статьи изменил игру в JDK и Android. - История создания и эволюция этих алгоритмов от эксперта! 💡 Погрузись в мир оптимизации Java и стань профи! Читай статью и прокачай свои знания. https://habr.com/ru/companies/sberbank/articles/841342/?utm_campaign=841342 #Java #Timsort #Quicksort #Программирование