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


Покрытие кода в VSTS с помощью xUnit, Coverlet и ReportGenerator
Сегодня я читал сообщение Скотта Хансельмана о покрытии кода в проектах .Net Core. Внезапно я начал копаться в сообщениях об инструментах, о которых я никогда не слышал, но это звучало довольно интересно, таких как Coverlet и ReportGenerator . Тогда я подумал, что они могут вписаться в наши потоки CI. Признаюсь, когда я начинал разработку .NET, я вообще не занимался модульным тестированием. Однако, благодаря таким хорошим людям, как Луис Фрайле и Унаи Зоррилла Кастро , я..

Архитектура программного обеспечения и проверка кода
В процессе проверки кода можно использовать множество подходов. Самый популярный способ обзора кода, с которым я столкнулся при работе с различными компаниями, - это сосредоточение внимания на деталях. Особенно, когда мы не знаем контекст . Я хотел бы остановиться здесь на мгновение. Рассмотрим следующую ситуацию. Вы помните время, когда вы просматривали фрагмент кода и находили, что он идеально подходит для одного из « Банды четырех » ( Шаблоны проектирования: элементы..

Программная сложность 1: черные ящики и сообщения
Большая часть программного обеспечения сегодня очень похожа на египетскую пирамиду с миллионами кирпичей, сложенных друг на друга, без структурной целостности, но созданных грубой силой и тысячами рабов. Алан Кей Марк устал и голоден. Он решает проверить ближайший торговый автомат. Вставлена ​​монета, выбрана закуска, рельеф, «это было легко». В параллельной вселенной Марк должен не просто вставить монету, но объявить полный список деталей, которые торговый автомат должен..

3 стратегии устранения блокировки цикла событий Node.js
Разделение задач, рабочие потоки и кластеризация API Express Понимание того, как работает цикл событий Node.js, имеет решающее значение для улучшения того, как мы пишем код JavaScript, предназначенный для работы на этом движке. Знание различных стеков и фаз, через которые проходит цикл обработки событий, и того, что происходит в каждой из них, является лишь основой для понимания того, как должен быть структурирован наш код, чтобы он без проблем работал поверх этой архитектуры. В этой..

Пользователи Ruby: опасайтесь Net :: HTTP
В прошлом году мы много работали над использованием тайм-аутов . Если вы не укажете тайм-аут при создании соединения, наш HTTP-клиент, обернутый We :: Call , вызовет исключение. Это привело к тому, что от всей группы инженеров потребовалось учитывать тайм-ауты, что, в свою очередь, улучшило производительность всей нашей архитектуры. Таймауты - это совсем другая статья, но терпят неудачу быстро, часто терпят неудачу. Это подводит нас к сути дела: мы заметили, что таймауты занимают в два..

ИСТОЧНИК СОБЫТИЙ - ПРИВИЛЕГИРОВАННАЯ МОДЕЛЬ ДЛЯ КОСВЕННОСТИ - ЧАСТЬ 2
Часть 1 вы можете прочитать здесь . Разработка службы бронирования Во второй части мы начнем проектировать сервис бронирования, повторим его и обсудим все этапы. Начнем с некоторых требований. Для создания отелей нам нужен бэк-офис. В каждой гостинице есть список номеров. В каждом номере есть вместимость, цена и список бронирования с указанием интервала дат, когда он забронирован. У отеля есть адрес, город, страна и список объектов, таких как бассейн, тренажерный зал, детские..

От СУХОГО к замешательству
Прочитав статью Джеймиса Бака Integration API vs. Internal API , я почувствовал необходимость подробнее остановиться на теме интеграционного API , основываясь на собственном опыте, но из совершенно другого, возможно, более социального или культурного контекста. аспект. Я работаю над унаследованной кодовой базой уже несколько лет, и одна из вещей, которую мне постоянно трудно понять: «Эта концепция или операция существует только для интеграции?» Под унаследованной кодовой базой я..