Pull to refresh
33
0
Send message

Spring Data JPA: замена нескольких запросов одним и почему это очень важно

Level of difficultyEasy
Reading time10 min
Views9.3K

Spring Data JPA: замена нескольких запросов одним и почему это очень важно.

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

Читать далее

Пишем простой docker-compose.yml для контейнеризации приложения (React, Spring Boot, PostgreSQL, pgAdmin)

Level of difficultyEasy
Reading time21 min
Views59K

В данной статье описан простой пример написания docker-compose.yml файла на примере контейнеризации приложения с использованием Spring Boot на бэкенде, React на фронте, PostgreSQL в качестве базы данных и pgAdmin - для просмотра данных в базе.

Читать далее

Шаблон проектирования: Composite

Level of difficultyEasy
Reading time9 min
Views11K

Всем привет! В данной статье рассмотрим паттерн проектирования Composite («Компоновщик»).

Начнем немного с теории.

Паттерн Composite, исходя уже с самого названия, позволяет скомпоновать объекты в структуры по типу «дерева», для предоставления иерархии от частного к целому, а также позволяя клиентам единообразно трактовать отдельные и составные объекты этого дерева. Данный паттерн используется для группировки мелких компонентов в более крупные, которые в свою очередь, могут стать основой для еще более крупных структур.

Читать далее

Шаблон проектирования: Chain of Responsibility

Reading time7 min
Views17K

Всем привет.

Данная статья будет полезна начинающим Java разработчиком понять зачем нужен шаблон проектирования «Цепочка ответственности» и как его можно использовать на примерах.

Итак начнем с самого начала. Основная суть данного шаблона: связывание объектов‑получателей в цепочку и передача запроса по ней.

Читать далее

Пишем простой Telegram bot на java, который показывает официальный курс по отношению к иностранным валютам

Reading time5 min
Views62K

Всем привет! Да-да тема не очень актуальна и на просторах habr-a есть очень много статей про то, как написать простейшего telegram bota, но я все-таки рискну написать еще одну. Может кому-то она будет интересна и полезна.

Для написания бота нужен аккаунт в telegram.

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

Создадим проект, я это сделаю с помощью https://start.spring.io/

Читать далее

Проблема N+1 и как её решить с помощью EntityGraph

Reading time6 min
Views41K

Всем привет! В данной статье попробуем разобраться с проблемой N+1 (или может правильнее 1+N?) и как ее решить с помощью использования EntityGraph.

Проблема N+1 возникает, когда мы генерируем запрос на получение одной сущности из базы данных, но у данной сущности есть свои связанные сущности, которые мы тоже хотим получить и hibernate генерирует вначале один (1) запрос к базе данных, чтобы получить интересующую нас сущность, а потом N запросов, чтобы достать из базы данных связанные сущности. Данная проблема отражается отрицательно на производительности работы базы данных из-за большого числа обращений к ней.

Создадим проект и подключим следующие зависимости:

Читать далее

Простой пример написания Dockerfile. Использование многоэтапной сборки

Reading time5 min
Views81K

Всем привет! В данной статье хочу показать простой пример написания Dockerfile, объяснить как это все работает, а также показать на примере использование многоэтапной сборки.

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

Вначале немного теории.

Dockerfile - это файл, который содержит инструкции для сборки образа. На основании образа создается и запускается контейнер.

Обратимся к официальной документации https://docs.docker.com/get-started/overview/

Читать далее

English Tenses — моё представление времён в английском языке

Reading time3 min
Views12K

Всем привет! Сегодня я хочу представить своё виденье времен в английском языке, а также представить свою диаграмму по изучению и применению на практике данных времен.

Сразу хочу отметить, что я не являюсь педагогом и у меня вообще нет никакого ни лингвистического, ни педагогического образования. Данной статьей я просто хочу поделиться своей диаграммой по изучению времен, возможно кому-то она будет полезной и поможет в понимании времен и того, как и когда использовать, то или иное время. Данная диаграмма будет поверхностной и не будет углубляться во все подробности языка (и так она получилась огромной), она не охватывает все многообразие времен и конструкций в английском. Уровень данной диаграммы А2-В1.

И сразу начну с диаграммы:

Читать далее

Пакетная операция JDBC — команда batchUpdate

Reading time5 min
Views11K

Всем привет! Данная статья будет полезна начинающим разработчикам на Java, для понимания работы пакетных операции и команды batchUpdate и на сколько она эффективнее по производительности в сравнении с update. Поехали!

Вначале немного теории:

С официальной документации:

Читать далее

Практические примеры использования Stream API

Reading time9 min
Views18K

Всем привет! Решил написать статью с практическими примерами использования Stream API. В данной статье не будет теории - только хардкор и практические примеры. Поехали!

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

Для тестирования буду использовать Postman.

В проекте есть три сущности с которыми мы будем работать: Client, Product и Booking. Связи между ними можно посмотреть на следующей картинке.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Specialist
Java