Java News – Telegram
Java News
4.3K subscribers
250 photos
5 videos
1 file
1.47K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Запросы к MongoDB из Java с помощью билдера фильтров

В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.

Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов.

Читать статью
👍31🔥1
18 сентября в 16:00 мск пройдет онлайн-митап Naumen Java Junior Meetup #3

Спикеры поделятся опытом, разберут виртуальные потоки, протестируют производительность и расскажут, как компании обрабатывают десятки откликов на вакансию в современных условиях.

В программе три доклада:
🔸 Виртуальные потоки в Java: эволюция, практика, подводные камни — Денис Абрамов
🔸 Тестирование производительности: зачем, как и чем проверять ваши приложения — Максим Петренко
🔸 ИИ, фильтры и рекрутер: правила игры для вашего резюме — Антонина Балдова

Участие бесплатное, нужна только регистрация.

→ Зарегистрироваться.

Реклама, АО «Нау-сервис, ИНН 6671116364. erid: 2VtzqusuzEX
👍2
Деплой приложения на Java. Хостим проект через push в Git

В статье мы рассмотрим, как развернуть в облаке приложение на Java, на примере Spring Boot приложения с встраиваемой базой данных H2. А именно, мы попробуем развернуть приложение с простым REST API, сборкой Maven и тремя эндпоинтами, позволяющими добавить продукт, получить список всех продуктов и узнать общую стоимость всех продуктов.

Читать статью
👍3🍾1
Как писать понятный код на Java

В этой статье Реза Ганджи делится советами по написанию более ясного кода на Java 🖥:
- Пишите простой и понятный код
- Изучайте основы
- Не изобретайте велосипед
- Делайте периодически рефакторинг
- Соблюдайте стандарты кодирования и принципы SOLID и KISS

Больше подробностей в предлагаемой статье💡


Читать статью
👍2
Как ускорить прогон тестов в многомодульном проекте Maven

Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый инструмент — Maven Modules Merger, который сократил время некоторых сборок с 50 до 12 минут. В статье подробно расскажу о том, с какими проблемами нам помог справиться Maven Modules Merger и поделюсь подробностями его создания.

Читать статью
👍2🔥1
RabbitMQ + Spring boot + Docker. Отправляем и получаем сообщения через Producer и Consumer. Пошаговое руководство

Меня зовут Андрей Вербицкий и я столкнулся с тем, что мое знакомство с RabbitMQ, а в частности его запуск на локальной машине и отправка сообщений в очередь с помощью приложения на Spring Boot, вылилась в несколько дней поисков информации о том, как это вообще работает, какие есть сущности и как в итоге переслать это сообщение. Я решил собрать все это в одном месте и сделать из этого практическое руководство, которое поможет из ничего получить рабочий прототип и понять как это работает. Эта статья ориентированная на новичков, которые только хотят познакомиться с RabbitMQ. Целью я поставил максимально простыми словами и по шагам рассказать, как быстро и легко поднять все окружение локально, отправить и получить сообщения через очередь.

Читать статью
👍7
Задачи на собеседованиях. Денежные переводы в SQL. Обновление счетов и уровни изоляций

Задача перевода денег в первом приближении сводится к обновлению пары строк и кажется простой — но обеспечение корректности при параллельном доступе может быть неожиданно сложным для только знакомящихся с уровнями изоляций БД.

Читать статью
👍3🔥1
Декомпозиция систем по ограниченным контекстам DDD — глубокое погружение

"Отдайте этот функционал в другую системы - он относится к ним" - ворчал мой собеседник. Ему с пылом отвечали: "Так быть не должно. Мы сами должны его сделать!" Спор грозил затянуться до вечера. Ни одна из сторон не могла привести ни одного настоящего аргумента, почему новый функционал нужно поместить в ту или иную автоматизированную систему.

Проблема была в том, что никто не понимал как правильно делить системы на части и по каким признакам включать в них новые модули. У собеседников не было никакой единой простой методики.

Но методика на самом деле есть, и весьма неплохая. Называется она Предметно Ориентированным Дизайном (Domain Driven Design, DDD). С помощью DDD деление большой системы на (микро)сервисы становится простым и понятным.

Читать статью
👍2🔥1
Короче, ищем менторов — Senior Java-разработчиков

Ищем в ШОРТКАТ — менторскую платформу от команды разработчиков из бигтеха. Мы помогаем найти крутую работу, апнуть грейд или сменить стек.

Что надо будет делать: проводить тестовые собесы → оценивать грейд → помогать разбираться в сложных темах.

Что взамен:
- От 40К за 5-7 часов работы в неделю
- Доступ к обучению и комьюнити сильных менторов из Яндекс, Uber, VK, Сбер
- Возможность выступать на эфирах, куда уже приходят 500+ джавистов, и стать заметнее на рынке

Заполняй форму — свяжемся и расскажем подробности ➡️https://tally.so/r/mD602X

Реклама.
О рекламодателе.
👍3
Семь принципов хорошей разработки

Принципы разработки программного обеспечения играют решающую роль при создании высококачественных, удобных в сопровождении и эффективных программных систем. К этим принципам относятся: DRY. KISS, YAGNI, SLAP, SOLID. О них и пойдет речь в данной статье.

Читать статью
👍2🔥1
JPA Entity. Загрузи меня не полностью

JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по частичной загрузке сущностей.
Подготовили статью, в которой рассмотрели имеющиеся в Spring Data JPA инструменты для частичной загрузки сущностей, а также разобрали их особенности и corner-кейсы.


Читать статью
👍2🔥1
Развертывание безопасных Java-приложений на AWS EKS с GitLab CI/CD, Maven, Trivy и SonarQube

В современном DevOps для эффективного, надежного и последовательного развертывания программного обеспечения важна автоматизация. Весь процесс разработки и выпуска ПО оптимизируется при помощи мощного инструмента GitLab CI/CD. Развернем с ним приложение Java в мультикластере Kubernetes, управляемом на AWS и настраиваемом в eksctl. Рассмотрим процесс от создания кластера Kubernetes до развертывания контейнеризованного приложения Java, попутно интегрируя инструменты DevOps Trivy и SonarQube.

Читать статью
👍2
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)

Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.

Читать статью
👍2
Новое событие в JFR для диагностики использования устаревшего (deprecated) кода

В Java есть специальная аннотация @Deprecated для маркировки уставшего кода. С определенной периодичностью такой код из JDK удаляется. Обычно о конкретных сроках удаления анонс делается заранее и в теории можно успеть подготовиться, но на практике не все так просто.

В больших проектах найти куски устаревшего кода в куче зависимостей задача не тривиальная и требующая хорошей автоматизации. В этой ситуации к нам приходит на помощь новый тип события в JFR. Он был добавлен в JDK 22.

Давайте посмотрим на простом примере как это работает.


Читать статью
👍2🔥1
Узнаём какое аниме будет самым рейтинговым еще до выхода

Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или не интересным для меня. Было много идеи (не только про аниме) и даже в сфере аниме - не только про задачу прогнозирования. Когда уже надо было утверждать тему, на одной из лекции как раз рассказывали про задачи классификации и прогнозирования. Я знала, что уже есть вагон и маленькая тележка статей про прогнозирование в области фильмов, но в аниме? Критически мало. И я решила это исправить)

Читать статью
👍2🔥1
Секреты в Java-сервисах на Spring: где брать и как обновлять

Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы работы с секретами в Java‑сервисах на всеми любимом Spring Boot и про наш опыт такой работы. В современном мире практически не осталось автономных, ни с чем не интегрированных, сервисов. А секреты в первую очередь нужны для безопасных интеграций.

Статья будет состоять из двух частей. В первой расскажу про особенности работы с секретами в Java на Spring Boot — где их брать и как применять к вашему сервису на примере того, как мы делаем это в Platform V Sessions Data (распределенный in‑memory кеш для клиентских сессий, который позволяет снизить нагрузку на внешние сервисы и базу данных). Также расскажу про стандартные варианты обновления секретов «на горячую» (не останавливая, не перезапуская сервисы, и даже не снимая с них нагрузку) и что с ними не так.

Во второй части подробно разберу, как мы обновляем секреты «на горячую». Эти советы помогут вам улучшить работу с секретами, а значит сделать сервисы более защищёнными. Ведь если секреты попадут в руки злоумышленников, те смогут атаковать ваш сервис — вывести его из строя, украсть конфиденциальные данные и т. п. А любая успешная атака чревата для компаний потерей денег, нервов, времени и репутации.


Читать статью
👍2🔥2
Реализации Microkernel архитектуры с помощью Java OSGI

Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение между компонентами на уровне VM с другой - межкомпонентное взаимодействие происходит без участия сети, что ускоряет запросы.

Читать статью
👍31