TGViewer
Channel Public Channel
Java guru

Java guru

@java_guru

Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
ry-12537748218192955366
Subscribers
924
Photos
1
Videos
1
Links
270
Recent Posts 20 shown
Post #301 9.25K
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 #интеграционныетесты
Spring Framework 6.2.0-M1: Overriding Beans in Tests Level up your Java code and explore what Spring can do for you.
  • ❤ 5
  • 🔥 4
  • 👍 2
Post #299 11.3K
3D-моделирование с Rodin AI

Компания Hyper3D выпустила обновление своего популярного инструмента для 3D-моделирования под названием Rodin AI, которое значительно расширило возможности пользователей.

Теперь редакторы могут не только создавать и редактировать отдельные части моделей, но и собирать проекты из предварительно подготовленных элементов, используя систему макросов для ускорения рабочего процесса. Обновленный продукт также включает обширную библиотеку высокодетализированных материалов, инструменты для повышения качества изображений и трехмерных объектов, преобразование 2D-изображений в 3D и создание персонализированных аватаров.

Особое внимание разработчики уделили интеграции нового решения с ведущими профессиональными инструментами индустрии — такими как Blender и Unreal Engine. Пользователи смогут свободно переключаться между этими системами, сохраняя привычный рабочий процесс, либо воспользоваться удобной собственной консолью Rodin, обеспечивающей быстрое тестирование и внедрение новых концепций.

https://hyper3d.ai/
Hyper3D Hyper3D Rodin - Best AI 3D Model Generator Rodin generates high-quality 3D assets that are nearly production-ready for supported workflows.
  • 🔥 7
  • 👍 4
  • 😁 3
  • ❤ 1
Post #298 13K
Представьте себе мир, где ваш поиск становится умнее и быстрее благодаря современным технологиям. Сегодня мы погрузимся в увлекательную тему RAG-систем и выясним, почему они становятся незаменимым инструментом для разработчиков и компаний, стремящихся улучшить качество поиска.

Что вас ждёт?
✅ Теория, объясняющая суть RAG-технологий простым языком
✅ Практический разбор с использованием популярных инструментов: Spring AI, векторных баз данных и моделей машинного обучения (LLM)
✅ Подробный гайд по созданию собственного приложения на Java и Spring Boot — от задумки до готового продукта
✅ Чёткие инструкции и живой код, который легко повторить

Забудьте о сложных формулах и непонятных концепциях — здесь всё разложено по полочкам!

https://habr.com/ru/companies/ruvds/articles/924100/

#RAG #SpringAI #Java #SpringBoot #ИскусственныйИнтеллект #МашинноеОбучение #ПоисковыеАлгоритмы #ПрактическоеРуководство
  • ❤ 8
  • 🔥 7
  • 👍 5
  • 🤡 1
Post #297 12.8K
🔥 Как защитить персональные данные пользователей в условиях строгих правовых ограничений?

Многие компании, особенно в сфере финансов, вынуждены сталкиваться с проблемой хранения персональных данных пользователей ограниченное количество времени. Например, хранение данных кредитных карт возможно лишь на короткий период — буквально считанные минуты! 🚨

В статье простой пример реализации подобного сценария с использованием Spring и Redis. Вот что делает этот микросервис:

✅ Получает POST-запросы с зашифрованными карточными данными (для демонстрации используем простую строку).
✅ Хранит данные всего 5 минут в Redis.
✅ Автоматически удаляет запись после её прочтения через GET-запрос.

Этот микросервис подходит для внутренних нужд компаний, обеспечивая защиту данных внутри корпоративного периметра. Пользователи и внешние сервисы доступа к данным не имеют!

https://habr.com/ru/articles/857518/

#DataProtection #PrivacyFirst #CyberSecurity #SpringBoot #Redis #Microservices #FinTech #SecureDevelopment #NoSQL #JavaDev #BackendDevelopment
  • 🔥 5
  • ❤ 4
  • 😱 1
Post #296 11.4K
Виртуальные потоки Java: разбор тестовых сценариев

Команда Open Liberty изучила влияние виртуальных потоков на производительность Java-приложений и поделилась результатами исследования.

🔹 Что нового: Виртуальные потоки предлагают альтернативу классическим пулам потоков, реализованным в Liberty.

🔸 Основные выводы:
✅ Для большинства облачных рабочих нагрузок использование виртуальных потоков не даёт заметных преимуществ перед адаптивными пулами потоков Open Liberty.
❌ Нагрузки, активно использующие процессор, показывают меньшую пропускную способность с виртуальными потоками, хотя причина этого ещё выясняется.
⚡️ Время выхода на полную мощность обработки запросов сокращается благодаря использованию виртуальных потоков («один поток на запрос»).
📊 Объем занимаемой памяти зависит от множества факторов, поэтому снижение потребления памяти виртуальными потоками не гарантирует общего снижения затрат ресурсов.
⚠️ Обнаружены случаи неожиданных падений производительности, над которыми продолжается работа совместно с сообществом OpenJDK.

Статья подробно описывает тестирование, сравнение технологий и рекомендации по выбору подходящей стратегии многопоточности для приложений на платформе Open Liberty.

https://habr.com/ru/companies/otus/articles/856464/

#java #OpenLiberty #multithreading #VirtualThreads
  • 👍 4
  • ❤ 3
  • 🔥 3
  • 😱 1
Post #295 14.1K
HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory

Hibernate выводит важное предупреждение, когда для постраничного вывода приходится загружать сразу ВСЕ записи из базы данных — вместо того, чтобы запрашивать страницы порциями.

Проблема возникает потому, что число записей не совпадает с числом самих объектов (например, один пост имеет много комментариев). Из-за этого пагинация на SQL-уровне невозможна.

Чтобы реализовать пагинацию программно, Hibernate вытаскивает все данные целиком — и вот тут-то кроется подвох!

В статье разобраны разные способы устранения проблемы 🚀

https://habr.com/ru/articles/856092/

#Hibernate #Database
  • 🔥 6
  • ❤ 5
  • 👍 2
Post #294 14.3K
Что ищет он в краю далёком? Как найти смысл жизни с PostgreSQL

Эта статья — о том, как адаптировать PostgreSQL для векторного поиска, исследуя возможности и расширения, такие как pgvector, и показывая, как они работают на практике. В результате у вас будет полноценное руководство по тому, как развернуть смысловой поиск на PostgreSQL, обходя стороной дорогие и сложные специализированные решения.

https://habr.com/ru/companies/rostelecom/articles/855712/

#PostgreSQL #pgvector #LLM
  • 👏 6
  • 🔥 5
  • ❤ 1
Post #293 24.7K
🔥 Знакомьтесь с Tribuo 🚀

Tribuo — это библиотека машинного обучения на Java от Oracle. Она помогает решать разные задачи, такие как классификация, регрессия и кластеризация. Сегодня поговорим именно о регрессии — важной задаче, позволяющей предсказывать численные значения (например, цены или температуры).

Главные плюсы Tribuo:
✅ Удобный интерфейс для быстрого построения моделей
✅ Простота оценки качества созданных моделей

https://habr.com/ru/companies/otus/articles/853300/

#машинноеобучение #tribuo #java #oracle
  • 🔥 7
  • 👌 5
Post #292 27.5K
🔥 API-Шлюз или опять тестировать

Разработчики часто сталкиваются с вопросом централизации обработки запросов при увеличении количества микросервисов. Важность Gateway подчеркивается двумя аспектами:

✅ Безопасность: благодаря единому пункту входа легко организовать полный аудит событий.
✅ Производительность: такие сервисы помогают разгрузить основную систему, предотвращая обработку некорректных запросов.

Просто закупка мощного железа неэффективна и ведет к дополнительным расходам.

❗ Проблемы существующих подходов

Автор статьи отмечает недостатки популярного инструмента Spring Cloud Gateway:

- Необходимость написания множества фильтров вручную.
- Увеличение трудоемкости проекта.
- Сложность реализации прозрачности авторизации и проверки данных.

🆕 Предлагаемое решение

Предлагается новый подход, позволяющий оптимизировать работу над проектом Mireapay:

1. Использование проверенных методов авторизации: интеграция авторизационных механизмов прямо в инфраструктуру.
2. Снижение расходов на разработку: автоматическая генерация шаблонов gateways и клиентов снижает количество ручного программирования.
3. Выявление ошибок заранее: переход к обнаружению багов на этапе компиляции повышает качество конечного продукта.

Эти меры позволят сократить затраты на сопровождение сложной инфраструктуры и повысить эффективность командной работы.

https://habr.com/ru/articles/854880/

#микросервисы #шлюз
  • 👍 5
  • 🔥 5
  • ❤ 2
Post #291 29.8K
▌ 🔍 Разбираемся с Vespa. Часть 2

Продолжаем погружение в мир поиска и обработки данных с Vespa!

Сегодня разберём ключевые аспекты платформы:

▌ ➕ Узнаете:

- Что такое Document и Query Processing: этапы обработки документов и запросов.
- Обработка текста: токенизация, стемминг и оптимальные методы для русского языка.
- Алгоритмы поиска: как эффективно находить нужную информацию среди множества данных.
- Ранжирование результатов: почему одни результаты оказываются выше других.

https://habr.com/ru/companies/sportmaster_lab/articles/848992/

#Vespa
  • 🔥 2
  • 👍 1
Post #290 30.4K
🔥 Хочешь ускорить работу своего Java-приложения и повысить его эффективность? Тогда эта статья обязательна к прочтению!

🖥️ Полнотекстовый поиск в ваших приложениях с использованием Elasticsearch — мощнейший инструмент, который позволит мгновенно находить нужные данные среди огромного объема информации. Представьте себе скорость и удобство работы вашего сервиса на совершенно новом уровне!

✅ Чем полезна интеграция Elasticsearch + Spring Boot + PostgreSQL?

- 🚀 Масштабируемость и высокая производительность
- 🗂️ Надежное хранение данных с возможностью быстрой индексации
- 🧑‍🤝‍🧑 Простота разработки благодаря удобству Spring Boot
- 🕵️ Улучшение пользовательского опыта и повышение конкурентоспособности продукта

📃 Статья раскрывает важные аспекты интеграции:

- Как правильно индексировать сущности и связи (JPA)
- Настройки разметки атрибутов для эффективного поиска
- Совмещение и разделение сущностей для максимальной гибкости
- Реализация синонимов и фильтраций для повышения точности результата

🔍 Вы научитесь настраивать веса и применять многослойные фильтры, чтобы пользователи могли легко находить необходимые данные даже при ошибке ввода или неполном запросе.

📚 Примеры из практики позволят сразу внедрить знания в ваш проект и ощутить реальную пользу для бизнеса.

https://habr.com/ru/companies/rostelecom/articles/851658/

#Elasticsearch #SpringBoot #PostgreSQL #Java #Эффективность #Оптимизация #Поиск #Данные
Хабр Полнотекстовый поиск в java приложениях с помощью Elasticsearch Введение В современном мире объёмы данных растут экспоненциально, и эффективное управление информацией становится критически важным для успеха любого приложения. Полнотекстовый поиск играет ключевую...
  • 👍 2
  • 🔥 2
Post #289 32.1K
Скажем нет «Превращению», или анализ Kafka

Вас когда-нибудь интересовал скрытый мир ошибок в исходниках крупных open-source проектов?

⚡️ Откройте для себя захватывающие истории обнаружения багов в проекте Apache Kafka — один из самых популярных инструментов обработки больших данных! 📌

✅ Что внутри поста:
— Ошибки, найденные анализатором PVS-Studio.
— Как избежать проблем в собственном коде.
— Примеры реальных уязвимостей и советы по улучшению качества вашего ПО.

Прочитав этот материал, вы получите знания, способные повысить качество ваших собственных проектов!

https://habr.com/ru/companies/pvs-studio/articles/851066/

#Kafka #PVSStudio
Хабр Скажем нет «Превращению», или анализ Kafka Бывало ли вам интересно, какие баги может таить исходный код проектов, которыми пользуются большие компании по всему миру? Не упустите шанс познакомиться с интересными ошибками, которые нашёл...
  • 🔥 5
  • 👏 2
Post #288 40.6K
Принципы SOLID на примерах из жизни и разработки

В статье объясняются принципы SOLID доступным языком на простых жизненных примерах, а затем показывается, как эти правила применяются в реальных программах.

SOLID — это пять важных правил разработки программного обеспечения, помогающих создавать хороший, удобный и надежный код.

https://habr.com/ru/articles/849350/

#solid
  • 👍 3
  • 🔥 3
  • 👏 2
  • 💩 1
  • 👾 1
Post #287 44K
Интеграция AI в Java приложения

На конференции InfoQ Live участники панельной сессии обсудили рабочие процессы, влияние на персонал и использование различных инструментов, фреймворков и сервисов для интеграции ИИ в приложения на Java.

Много воды и общих фраз, но в целом послушать про тренды интересно.

Состав участников:
Асир Сельвасингх - Главный архитектор Java в Azure @Microsoft
Джонатан Шнайдер - сооснователь и генеральный директор @Moderne
Дов Кац - Управляющий директор, выдающийся инженер @Morgan Stanley
Светлана Землянская - Инженер по машинному обучению @Jetbrains
Модератор: Эрик Костлоу - Редактор InfoQ | Управление продуктами @Azul

https://www.infoq.com/presentations/ai-java-integrate/

#infoq #ai
InfoQ AI Integration for Java: to the Future, from the Past The panelists discuss workflows, staff impact, and utilizing different tools, frameworks, and services to integrate AI in Java applications.
  • 👍 4
  • 🔥 2
  • 👏 2
Post #286 44.5K
Аутентификация через телеграм в Spring Boot приложении

Сейчас наиболее распространена аутентификация через сторонние сервисы Google, Github и подобные, но через Telegram...что-то новенькое ))

В статье рассказывается о том как можно сделать аутентификацию через Telegram в Spring boot приложении.

https://habr.com/ru/articles/848502/

#springboot #spring #telegram
  • 🔥 5
  • ❤ 3
  • 👍 2
Post #285 44.6K
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
AI Meets Spring Petclinic: Implementing an AI Assistant with Spring AI (Part I) Level up your Java code and explore what Spring can do for you.
  • 👍 3
  • 🔥 2
  • 💯 1
Post #284 45.4K
🔥 Сборка мусора в Java: почему важно понимать, как она работает 🧐

Вы программируете на Java и думаете: «Ну да ладно, сборщик мусора сам разберётся!» А ведь разобраться в тонкостях сборки мусора полезно! Это помогает выбрать оптимальный подход именно для вашего проекта.

📌 На конференции JPoint 2024 Дмитрий Силин из Сбербанка поделился крутым докладом на эту тему. По ссылке полный текст доклада + запись выступления!

https://habr.com/ru/companies/jugru/articles/846308/

#GC #JPoint2024 #разработка
  • 👍 5
  • 🔥 3
Post #283 44.6K
Есть ли хорошие форматтеры кода для 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/
tr ouwens Why are there no decent code formatters for Java? In which I compare and rate code formatting tools for Java.
  • 🔥 6
  • 👍 1
Post #282 44.1K
Погружение в безумный мир Brainfuck: создаём генератор кода и интерпретатор с нуля! 

История о том, как автор статьи превратил простую задачку на C в настоящий кодерский квест. 

Решать задачу стандартно? Скучно! Автор статьи решил добавить остроты и закодить решение на Brainfuck, а на C сваять интерпретатор для этого безумия. 

Но писать Brainfuck-код вручную — это как чистить картошку тупым ножом. Поэтому он вооружился Java и создал генератор кода, чтобы автоматизировать этот хаос и сделать процесс эпичным! 

🔥 Погрузись в детали на Хабре: https://habr.com/ru/articles/846076/
Хабр О том как я генератор Brainfuck кода писал На днях мне потребовалось написать решение задачи поиска максимально возрастающей последовательности цифр на C. Однако я решил что решать эту задачу привычным методом будет скучно и я решил слегка...
  • 🔥 4
  • 👍 2
  • 🤯 1
Post #281 45.7K
🚀 Раскрываем секреты скорости в 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 #Программирование
  • 👍 4
  • 🔥 4
Older posts →

About this channel

How can I read @java_guru without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Java guru: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Java guru have?
Java guru (@java_guru) has 924 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Java guru know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →