Перейти к основному содержимому

· 5 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим выполнение массовых обновлений и операций вставки в MongoDB . Кроме того, MongoDB предоставляет вызовы API, которые позволяют вставлять или извлекать несколько документов за одну операцию. MongoDB использует интерфейсы Array или Batch , которые значительно повышают производительность базы данных за счет уменьшения количества вызовов между клиентом и базой данных.

В этом руководстве мы рассмотрим оба решения, использующие MongoDB Shell и код драйвера Java.

Давайте углубимся в реализацию массового обновления документов в MongoDB.

2. Инициализация базы данных

· 5 мин. чтения

1. Обзор

Upsert — это комбинация вставки и обновления (inSERT + UPdate = upsert). Мы можем использовать upsert с различными методами обновления, т . е. update , findAndModify и replaceOne .

Здесь, в MongoDB , опция upsert является логическим значением. Предположим, что значение равно true и документы соответствуют указанному фильтру запроса. В этом случае примененная операция обновления обновит документы. Если значение равно true и ни один документ не соответствует условию, этот параметр вставляет в коллекцию новый документ. Новый документ будет содержать поля на основе фильтров и примененных операций.

В этом руководстве мы сначала рассмотрим upsert в запросе MongoDB Shell, а затем воспользуемся кодом драйвера Java.

2. Инициализация базы данных

· 5 мин. чтения

1. Обзор

«Конвейер как код» — это идея, позволяющая всем участникам DevOps создавать и поддерживать конвейеры Jenkins. На самом деле существует два способа применения принципа «конвейер как код» в жизни: сценарии и декларативные конвейеры . «Конвейер как код» позволяет Jenkins обрабатывать конвейеры как обычные файлы. Люди, вовлеченные в DevOps, могут хранить, совместно использовать и использовать эти файлы с SCM.

2. Декларативные конвейеры и их преимущества

Декларативные конвейеры — это более свежий подход к принципу «конвейер как код». Их довольно легко написать и понять. Структура может показаться немного сложной, но в целом она содержит всего пару основных разделов. Блок «конвейер» — это основной блок, содержащий полное объявление конвейера. В этом примере мы рассмотрим только секции «agent» , «stages» и «steps» :

  • конвейер — содержит весь конвейер

  • агент — определяет машину, которая будет обрабатывать этот конвейер

  • stages — объявляет этапы пайплайна

  • шаги - небольшие операции внутри определенного этапа

· 5 мин. чтения

1. Введение

В приложениях Spring Boot каждый контроллер может иметь собственное сопоставление URL-адресов. Это позволяет одному приложению легко предоставлять конечные веб-точки в нескольких местах. Например, мы можем сгруппировать наши конечные точки API в логические группы, такие как внутренние и внешние.

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

2. Контекст сервлета

Основным компонентом, отвечающим за обработку веб-запросов в приложениях Spring, является DispatcherServlet . Настраивая этот компонент, мы получаем достаточный контроль над маршрутизацией запросов.

· 7 мин. чтения

1. Обзор

В этой статье будут рассмотрены некоторые важные шаблоны корпоративной интеграции (EIP), поддерживаемые Apache Camel. Шаблоны интеграции помогают, предоставляя решения для стандартизированных способов интеграции систем.

Если вам нужно сначала ознакомиться с основами Apache Camel, обязательно посетите эту статью , чтобы освежить в памяти основы.

2. О EIP

Шаблоны корпоративной интеграции — это шаблоны проектирования, направленные на решение проблем интеграции. Camel предоставляет реализации для многих из этих шаблонов. Чтобы увидеть полный список поддерживаемых шаблонов, перейдите по этой ссылке .

· 15 мин. чтения

1. Обзор

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

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

2. Основы параллелизма

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

· 10 мин. чтения

1. Введение

Недавно мы рассмотрели Creational Design Patterns и где их найти в JVM и других основных библиотеках. Теперь мы рассмотрим шаблоны поведенческого проектирования . Они сосредоточены на том, как наши объекты взаимодействуют друг с другом или как мы взаимодействуем с ними.

2. Цепочка ответственности

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

interface ChainOfResponsibility {
void perform();
}

· 6 мин. чтения

1. Введение

Объекты имеют отношения между собой, как в реальной жизни, так и в программировании. Иногда трудно понять или реализовать эти отношения.

В этом уроке мы сосредоточимся на подходе Java к трем типам отношений, которые иногда легко перепутать: композиция, агрегация и ассоциация.

2. Состав

Композиция — это тип отношений «принадлежит». Это означает, что один из объектов является логически большей структурой, содержащей другой объект. Другими словами, это часть или член другого объекта.

· 5 мин. чтения

1. Обзор

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

« Банда четырех » описала семь таких структурных способов или паттернов. В этом кратком руководстве мы увидим примеры того, как некоторые основные библиотеки в Java адаптировали каждую из них .

2. Адаптер

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

· 11 мин. чтения

1. Введение

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

Creational Patterns — это шаблоны проектирования, которые сосредоточены на том, как мы получаем экземпляры объектов . Обычно это означает, как мы создаем новые экземпляры класса, но в некоторых случаях это означает получение уже созданного экземпляра, готового для использования.

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

2. Заводской метод