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


Еженедельный обзор 20181112–1118
Это утомительная неделя из-за детского гриппа. Быть здоровым! [Программирование] При интеграции похожих сервисов с разными API-интерфейсами изучен разный дизайн. Я работал над внутренней системой, которая объединяет несколько API отчетов рекламной сети. Чтобы получить от них отчет, нам нужно передать дату начала, дату окончания и размеры для показателей. Вначале с одним поставщиком очень просто сделать так, чтобы наша программа выглядела так, как показано на диаграмме ниже. Оболочка..

Статистически типизированная организация, часть I
По мере роста вашей организации, занимающейся разработкой программного обеспечения, становится все труднее координировать работу. Позвольте мне проиллюстрировать это. Допустим, вы работаете над новым рабочим процессом, который требует от вас отправки push-уведомлений некоторым клиентам вашего мобильного приложения. Другая команда поддерживает OutboundMessagingService , микросервис, написанный на Java, который занимается всеми нюансами отправки push-уведомлений пользователям на..

Отзывчивый дизайн: борьба с хаосом в дизайне программного обеспечения
ИЗ АРХИВА ЖУРНАЛА PRAGPUB СЕНТЯБРЬ 2009 ГОДА Отзывчивый дизайн: борьба с хаосом в дизайне программного обеспечения Кент Бек Кент решил, что разработка программного обеспечения — это не тот рациональный процесс, которым мы его считаем, и он приступил к проекту, чтобы выяснить, что же это такое на самом деле. В начале Вторая программа, которую я когда-либо пытался написать, была копией симулятора «Звездного пути», который я видел в Зале науки Лоуренса. За выходные я прошел..

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

Пакеты агрегатора мета-машинного обучения в R: Round II
написано в декабре 2019 года. В моем предыдущем посте от середины 2018 года описан мой опыт обучения с пакетами R для мета пакетов агрегатора машинного обучения: mlr, caret и SuperLerner. Эти пакеты объединяют структуру машинного обучения с несколькими независимыми индивидуальными многомерными моделями / пакетами и предоставляют мета структуру машинного обучения вокруг них для общих задач, таких как повторная выборка, настройка, сравнительный анализ, ансамбль и другие. С тех пор в..

Разбитые окна
Когда я прочитал о сломанной Windows в Pragmatic Programmer, я сразу понял эту концепцию, поскольку я испытал подобную нисходящую спираль в проектах, частью которых я был. Недавно просматривая PR, я увидел, казалось бы, безобидную строчку кода: Для проницательных вы можете заметить, что добавленная строка кода выглядит несколько не так. Некоторым это может показаться чем-то, что мы могли бы спокойно проигнорировать и одобрить PR. Эта строка кода является симптомом более..

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