Java News
4.37K subscribers
99 photos
5 videos
1 file
1.5K links
Все новости связанные с Java!

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

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Что такое внедрение зависимости и инверсия управления

Внедрение зависимости и инверсия управления - два понятия, понимание которых открывает перед нами двери фреймворков, типа Spring, Guice, Dagger и т.д. 😃

Что это, как это используется и где - в предложенной сегодня статье.

Приятного чтения!

Читать статью
👍6
Запросы к MongoDB из Java с помощью билдера фильтров

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

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

Читать статью
👍5
Деплой приложения на Java. Хостим проект через push в Git

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

Читать статью
👍5🔥2
Пишем Java код используя проект Lombok

Можно долго спорить о необходимости и полезности проекта Lombok, но факт есть факт: количество кода для написания программы значительно сокращается. 😳

Предложенная сегодня статья расскажет о следующем:
✔️ Как работает Lombok
✔️ Формирование методов класса Object
✔️ Настройка аннотаций
✔️ Иммутабельные структуры данных
✔️ Delombok
и др.

Приятного чтения!

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

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

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

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

Читать статью
👍3🔥2
Может ли Java-приложение использовать больше памяти, чем размер кучи

Возможно, вы замечали, что Java-приложение может превышать лимит памяти, указанный в параметре -Xmx (максимальный размер кучи). Дело в том, что JVM помимо кучи использует и другие области памяти.

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

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

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

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

Читать статью
👍4🔥1
Семь принципов хорошей разработки

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

Читать статью
3👍1
Готов принять вызов

Стартовала регистрация на Всероссийские соревнования по продуктовому программированию «Хакатон: умный помощник для тендеров»!

Присоединяйтесь к участию и станьте частью комьюнити Федерации спортивного программирования, объединяющей талантливых специалистов и спортсменов!

Без лишних слов переходим к сути ⬅️

Когда: 23-25 марта 2024 года
Формат: гибридный
Итоги: питч-сессия пройдёт 25 марта на площадке РЭУ им. Г.В. Плеханова.
Командам из регионов доступно участие в онлайн-формате
Дедлайн регистрации: 20 марта, 23:59 (мск)

Какой кейс предстоит решить командам?

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

Кого мы ждём?
Студенческие команды в составе от 3-х до 5-ти человек
Учащихся технических специальностей
IT-специалистов
Заинтересованных представителей регионов Российской Федерации

Регистрируйся по ссылке и принимай участие в IT-соревновании от Федерации спортивного программирования!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Вышла Java 22

Вышла общедоступная версия Java 22. В этот релиз попало около 2300 закрытых задач и 12 JEP'ов.

Java 22 не является LTS-релизом, и у неё будут выходить обновления только полгода (до сентября 2024 года).


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

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

Читать статью
👍1
Графический интерфейс для bash, делаем работу в командной строке удобнее

Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.

Читать статью
👍1🔥1
🔥 Годнота

Наткнулся на базу с 1700 вопросов с собеседований на Java разработчика. Фишка в том что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏
👍1
Prostore — простой Event sourcing + CQRS фреймворк

На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.

Читать статью
👍2
Руководство по обработке исключений в Java Stream

Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.

Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.

Хорошей практики!

Читать статью
👍3🎉2🔥1
3, 2 … Остановимся здесь.⤵️

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

Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем.

Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.

Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.

 Старт курса уже 4 апреля, присоединяйтесь!
🔥3
Работа с null ссылками: Kotlin vs. Java

Предложенная сегодня статья напомнит про "ошибку на миллион долларов", а также сравнит между собой языки программирования Java и Kotlin с точки зрения их работы с null ссылками. 😃

Приятного чтения!

Читать статью
👍6🔥1
Красивый код с Java Optional и Either

Многие из Java разработчиков, особенно начинающие, упускают из вида возможности функционального программирования. 😒

Предложенная сегодня статья научит вас последовательному соединению экземпляров Optional и Either для написания лаконичного и красивого кода.

Хорошей практики!

Читать статью
👍4🔥2