Публикации по теме 'software-architecture'
Как избежать ловушки потерянных обновлений в параллельных системах
На днях я наткнулся на следующий фрагмент кода, который привлек мое внимание:
def post(self, request, args, kwargs):
obj: Object = get_object_or_404(Object, id=kwargs['id']) # 1.
with DistributedLock(obj): # 2.
check_obj_ready(obj) # 3.
cluster_config = ClusterConfig(obj) # 4.
config = Config(cluster_config.read()) # 5.
config.add(json.loads(request.data)['data']) # 6.
if obj.limit < len(config.get_limit()): # 7...
Перестройка видеонаблюдения
Дрю Кошевник
Это история о том, как команда разработчиков Content Setup Engineering использовала Hollow, технологию Netflix OSS, для перестройки и упрощения важного компонента в нашем конвейере контента, обеспечивая при этом большую ценность для бизнеса.
Контекст
Каждый фильм и шоу в сервисе Netflix тщательно отбирается для обеспечения оптимального просмотра. За это курирование отвечает команда Title Operations . Среди прочего, Title Operations подтвердит:
Мы соблюдаем контракты -..
Данные формы иерархического дерева в .NET C#
СЕКРЕТЫ И УЛОВКИ
Структура данных иерархической древовидной формы в .NET C#
Разработка структуры данных для данных иерархической древовидной формы и связанных с ней операций в .NET C#
Иногда вам нужно иметь дело с данными Формы иерархического дерева . Проще говоря, это данные, представленные в узлах parent-child .
В таких ситуациях вы иногда можете столкнуться со сложностью реализации, особенно при работе с огромным объемом данных.
В этой статье я бы предоставил вам одну из..
Сделайте свой модуль Rust-кода тестируемым с помощью инверсии зависимостей
Используйте Traits, чтобы инвертировать зависимости Rust и сделать ваш код слабосвязанным и тестируемым.
Это был момент прозрения, когда я понял, что классы Java можно высмеивать, расширяя их и переопределяя их общедоступные методы.
«Ну, блин», — вероятно, думаете вы. Конечно, вы можете это сделать, и в любом случае именно так работает половина насмешливых библиотек! (Кроме того, почему бы просто не использовать издевательскую библиотеку?) Но для меня это был момент прозрения. Это..
Кольца и лук в вашем приложении Next Node
Проектирование службы Node API с использованием чистой архитектуры со скелетом папок
Иногда нам нужно создать новый сервис или провести рефакторинг существующего. Большую часть времени мы тратим пару часов на инициализацию приложения — настройку приложения Node, создание файлов, папок и т. д. Способ, которым мы структурируем скелет папок, может быть чем-то похожим на другие службы в наших репозиториях или на основе службы, которую мы делали в прошлом.
Этот момент очень важен! Если..
Вам не нужна архитектура программного обеспечения для вашего стартапа
… Если он еще не установлен в вашем продукте
В настоящее время я работаю в небольшом стартапе. Однажды я поздно ночью думал о нашем новом продукте и о том, как его правильно спроектировать. А ниже я подведу пару итогов того вечера.
Эта статья предназначена для тех, кто участвует в стартапах на ранней стадии развития либо в качестве технических руководителей, либо в качестве владельцев продуктов. Если вы работаете над проектом с определенной областью действия, которая вряд ли..
Написание многоязычного онлайн-компилятора для VS Code, часть 1: архитектура
Мне нравится писать код в Visual Studio Code. А иногда установить и настроить компилятор для некоторых языков и заставить его работать — это боль. Итак, я придумал идею.
Что, если бы я мог скомпилировать свой код с помощью вызова API, ничего не устанавливая? Конечно, мне не нужно компилировать огромный проект с несколькими файлами, но даже если бы я мог создать что-то, что компилирует небольшие фрагменты кода для быстрого опробования какого-то языка программирования или компиляции кода..