Посты | OTUS
Запланируйте обучение с выгодой в Otus!
-15% на все курсы до 30.11 Забрать скидку! →
Выбрать курс
Архитектурные паттерны: Event Sourcing

Arch_headline_970x70-1801-410a68.png

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

Кейс-классы и сопоставление с шаблоном в Scala

Оператор switch во многих языках воплощает задумку классификации данных на несколько категорий. Но большинство реализаций не могут поддерживать классификацию объектов и поэтому редко используются в программах. В Scala есть очень мощная система сопоставления объекта с образцом. Однако экземпляр далеко не каждого класса можно сопоставлять с образцом без лишних телодвижений.

Компоненты высшего порядка в React

Приходилось ли вам использовать компоненты высшего порядка (КВП)? К примеру, та же функция Redux connection() возвращает компонент высшего порядка. Но что же из себя представляют эти компоненты?

Event2Mind для русского языка. Обучаем модель читать между строк

Умение модели распознавать намерения собеседника, то есть понимать зачем человек совершил то или иное действие, применимо в большом числе прикладных NLP-задач. К примеру, чат-ботам, голосовым помощникам и другим диалоговые системам это позволит эмоционально реагировать на высказывания собеседника, проявлять понимание, сочувствие и другие эмоции. Кроме того, задача распознавания намерения – это еще один шаг на пути к пониманию человеческой речи (human understanding).

Выбираем БД для Highload-проекта

Highload_970x90-1801-fc90a0.png

Главное требование, предъявляемое к базе данных для Highload-проекта, заключается в отсутствии потери информации. К сожалению, даже проверенные решения могут давать сбои. Как же сохранить избыточность во время отключения любого сервера на техническое обслуживание? К примеру, хранить информацию как минимум на трех серверах.

Системный анализ в разработке ПО

SA_Adv_Headline_970x70-1801-93c022.png Разработка ПО начинается с системного анализа, в результате чего определяют как стоимость, так и сроки реализации проекта. В зависимости от сложности поставленной задачи, этот процесс может занимать до нескольких недель. Соответствующий специалист анализирует существующие системы, исследует проект на осуществимость, оценивает достоинства будущего программного продукта. Важно добавить, что это итеративный процесс, главная задач которого — определить весь комплекс целей и требований к разрабатываемому программному продукту.

Архитектурные паттерны: горизонтальное масштабирование и CQRS

Arch_headline_970x70-1801-410a68.png

Не секрет, что сегодня интернет-сервисы подвергаются усиленной нагрузке. Случается, что торговые сети даже останавливают сайты с заказами по причине нехватки имеющихся мощностей. Но если запросы клиентов не обрабатывать или обрабатывать с перебоями, клиенты, разумеется, уйдут к конкурентам. Избежать этого помогут архитектурные практики, позволяющие создавать быстрые и отказоустойчивые сервисы. Рассмотрим некоторые из таких паттернов.

Настраиваем тесты Liveness и Readiness

Эта тема нередко обсуждается в Kubernetes-сообществе. Почему же так важно хорошо разбираться в тестах готовности (Readiness) и жизнеспособности (Liveness)? Потому что они как минимум обеспечивают устойчивую работу ПО, минимизируя время простоя. К тому же, если тесты настроены неправильно, они могут существенно повлиять на производительность вашего приложения.

Какие виды тестирования лучше автоматизировать?

Иногда ручного тестирования недостаточно, чтобы обеспечить качество, особенно когда речь идет о сложных программных продуктах и многокомпонентном ПО. К тому же, современные IT-компании, адаптируясь к динамичным потребностям рынка, ускоряют разработку, поэтому и на тестирование отводится все меньше и меньше времени. В результате автоматизация играет все большую роль, ведь она позволяет ускорить QA-процессы. Давайте посмотрим, какие виды тестирования следует автоматизировать в первую очередь.

Популярное
Сегодня тут пусто
Черная пятница в Otus! ⚡️
Скидка 15% на все курсы до 27.11 →