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


Введение в архитектуру разработки программного обеспечения: канал и фильтр
Добро пожаловать в эту серию статей об архитектуре разработки программного обеспечения. В этом выпуске мы будем изучать архитектуру каналов и фильтров. Определение Стиль архитектуры каналов и фильтров в программной инженерии определяется как система, состоящая из каналов и фильтров, а также источника данных и приемника данных. Фильтры Каждый отдельный фильтр системы имеет набор входов и выходов. Компонент фильтра будет считывать поток данных со своего входа и создавать данные со..

В облака: путь архитектора программного обеспечения
В облака: путь архитектора программного обеспечения В 1991 году, в том же году, когда зародилась всемирная паутина, трое из нас основали компанию. Наше видение состояло в том, чтобы создать систему программного обеспечения для работы банкоматов и обработки дебетовых и кредитных карт. Нашим уникальным преимуществом было то, что он будет работать в открытых системах, как тогда называлась Unix. Это было большим делом, потому что в то время все аналогичные системы работали либо на..

Монолитная архитектура
Этот пост является частью Хроники архитектуры программного обеспечения , серии статей об архитектуре программного обеспечения . В них я пишу о том, что я узнал об архитектуре программного обеспечения, что я думаю об этом и как использую эти знания. Содержание этого сообщения может быть более понятным, если вы прочитаете предыдущие сообщения этой серии. Вначале был Монолит… 😀 Строительство монолита всегда было архитектурным стилем по умолчанию. Я имею в виду, что в самом начале у..

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

[Бизнес-]Приложения будущего? Идея кроссплатформенной логики
Недавно я поиграл с идеей, после нескольких обсуждений с разными людьми, это похоже на решение в поисках проблемы. Позвольте мне рассказать о том, как это началось: Я думал о том, как упростить создание общих бизнес-приложений (форм, форм и т. д.) лучше, быстрее, гибче и дешевле. Проверенный метод То, что часто делалось и реализовывалось различными способами, выглядит примерно так: Реальные приложения , с которыми работают люди, в основном представляют собой тонкие клиенты...

Ваш мотивирующий запрос должен иметь хорошую производительность с обычными индексами FK, индексом сообщения ...
Ваш мотивирующий запрос должен иметь хорошую производительность с обычными индексами FK, индексом сообщения (room_id, timestamp) и коррелированным подзапросом EXISTS (вместо вычисления максимума). В SQL: выберите count (1) из room_user ru, где ru.user_id = ‹user_id› и существует (выберите 1 из сообщения m, где m.room_id = ru.room_id и m.timestamp ›ru.last_seen_timestamp) Затем у вас просто есть несколько поисков по индексу для room_user и message, которые должна обрабатывать любая база..

Monorepo и один лингва франка: TypeScript
Создание серии веб-приложений: выпуск № 2 Думаю, первое техническое решение при создании веб-приложения: где оно будет жить? Традиционно было 2 варианта: монорепозиторий или мультирепозиторий. Но я видел это, и возможно иметь гибрид. Используйте монорепозиторий для некоторых проектов, а также несколько других репозиториев, каждый для одного проекта. Я выбираю модель монорепозитория, но я всегда могу перейти на гибридную модель и иметь несколько проектов в собственном репозитории,..