Публикации по теме 'software-design'


Что такое шаблоны проектирования программного обеспечения?
Шаблоны проектирования — это многоразовые и эффективные решения общих проблем проектирования программного обеспечения. Некоторые из наиболее распространенных головоломок объектно-ориентированного проектирования можно решить с помощью шаблонов проектирования. Это хорошо задокументированные решения, которые разрабатывались в течение долгого времени путем проб и ошибок и могут быть применены к конкретным задачам проектирования. Шаблоны проектирования впервые были описаны в книге..

Написание многоязычного онлайн-компилятора для VS Code, часть 2: служба компиляции
В Части 1 мы рассмотрели, как устроена вся система. В этой части мы напишем службу компиляции Golang, которая будет компилировать код C++. Поток и процесс одинаковы для всех языков, поэтому, как только вы освоите компиляцию C++, вам будет легко реализовать аналогичный сервис для других языков. Я напишу сам сервер на Golang, но не стесняйтесь использовать любой другой внутренний язык, который вам нравится. ОБНОВЛЕНИЕ : Часть 3 теперь доступна Основная идея: Идея проста...

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

Как создать веб-сервер без сохранения состояния?
Создавайте код таким образом, чтобы контекст выполнения всегда находился на уровне запроса — функции не должны предполагать какой-либо контекст за пределами области запроса. Хотя он может искать данные за пределами самого сервера, такие как база данных, распределенный кэш, очереди и т. д.✔️ Избегайте локального кеша памяти, если только он не предназначен для использования внутри запроса✔️ Избегайте планирования / cron-подобных заданий на сервере. Используйте другую серверную или..

Усвоение принципов SOLID
Принципы SOLID говорят нам, как организовать наши функции и структуры данных в классы и как эти классы должны быть связаны между собой. Чтобы разработать корпоративное приложение или любое другое приложение в этом отношении, мы должны реализовать такие компоненты, как функции, классы и модули. Мы должны сгруппировать эти функции, создать между ними зависимости, добавить или удалить функции и многое другое. Все это необходимо делать при сохранении стабильной системы. Изучение..

Контейнерные микросервисы
Каковы последствия для производительности? Контейнерные микросервисы беспокоят многих опытных инженеров-программистов. Давайте рассмотрим одно из наиболее распространенных заблуждений, связанных с микросервисами, которых опасаются инженеры, - низкая производительность. Многие преимущества архитектурного шаблона микросервисов проистекают из тонкой детализации, с которой его компоненты могут быть реализованы и развернуты. Чтобы быть практичным, развертывание настоящих микросервисов..

Стоит ли проходить курсы Grokking System Design and Coding Interview от DesignGurus.io? Обзор
Является ли Design Guru хорошим местом для обучения системному дизайну и подготовке к собеседованию по программированию? Здравствуйте, ребята, как технический энтузиаст, я всегда увлечен изучением системного проектирования и преуспеваю в технических интервью, и в поисках ресурсов я наткнулся на Курс по проектированию систем пару лет назад. Меня сразу же заинтриговали их диаграммы , подобные показанной выше, и их обещание всесторонне подготовить меня к собеседованиям по..