Pull to refresh

Получение экземпляра класса запроса по сигнатуре его интерфейса

.NET *
Не так давно на Хабре была опубликована статья (ссылка на топик) моего коллеги AlexanderByndyu, описывающая уход от использования Repository в сторону применения связки QueryFactory + классы запросов Query. При этом в комментариях разгорелся весьма интересный диспут, касающийся целесообразности приведенного в статье решения. Было достаточно много интересных отзывов, среди которых особенно выделялись высказывания о том, что, дескать, QueryFactory не нужен и является лишней обузой, мешающей безболезненному добавлению, изменению и удалению классов запросов. В данной статье я хочу показать подход, который позволяет избавиться от применения QueryFactory, через активное использование IoC контейнера. Данную организацию работы со структурой классов запросов мы использовали в одном из наших недавних проектов, где в качестве IoC использовался Castle.Windsor.
читать далее
Total votes 23: ↑18 and ↓5 +13
Views 12K
Comments 25

CRI: у меня для вас плохие новости

LampTest corporate blog Gadgets Computer hardware
Все, кто разбирался с качеством света светодиодных ламп и все, кто читал мои статьи о светодиодных лампах, знают о таком параметре, как индекс цветопередачи (CRI, он же Ra). Считается, что у качественного света для жилых помещений CRI должен быть не меньше 80.

Недавно я столкнулся с лампой, CRI у которой был вполне приличным — 83.4, но она давала очень неприятный зеленоватый свет.


Я попытался разобраться, что с ней не так.
Читать дальше →
Total votes 79: ↑78 and ↓1 +77
Views 106K
Comments 125

Спектрометр UPRtek MK350N

LampTest corporate blog Gadgets Computer hardware
В арсенале приборов Lamptest.ru пополнение — Санкт-Петербургская компания ИНТЕХ Инжиниринг предоставила мне для проекта Lamptest спектрометр UPRtek MK350N.



Этот прибор измеряет спектр света и рассчитывает цветовую температуру и индекс цветопередачи. Кроме того он работает, как люксметр.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 14K
Comments 31

“Заапрувьте мой ПР!”: инструменты гита через CQRS и Event Sourcing для пользователей

БАРС Груп corporate blog System Analysis and Design *Designing and refactoring *ООP *Microservices *
Tutorial

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

Современные приложения работают со все большим количеством информации, и, понятно, что чем эффективнее подходы работы с потоками данных, тем эффективнее работа приложения в целом. 

За пять предыдущих лет человечеством было произведено информации больше, чем за всю предшествующую историю (из них половина была произведена в нашем отделе УНП). 

Проблематика

Существует класс приложений, в которых пользователи модифицируют исходные данные, но эти модификации должны применяться к основной системе только после согласования некоторой третьей стороной - руководителями/специалистами/сторонними организациями/другими уполномоченными пользователями. Также по итогам предварительного ознакомления с изменениями и ревью часто требуется  внести некоторые корректировки, чтобы снова отправить на согласование, и после нескольких итераций изменения вступают в силу. Создается новая базовая модель, в которую также можно вносить изменения, которые необходимо согласовывать - процесс повторяется. 

Мы занимались разработкой именно такой системы, и сегодня речь пойдет о новой версии реализации системы, которую мы разработали совместно со Skirgus.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 2.2K
Comments 2

Почему некоторые принципы программирования важны для понимания, но бесполезны на практике

Хекслет corporate blog Programming *IT Standards *ООP *Development Management *

Многие разработчики считают принципы программирования обязательными и используют их по дефолту во всех проектах. На самом деле большинство из них нереализуемы на практике — докажем это на нескольких примерах.

Читать далее
Total votes 49: ↑31 and ↓18 +13
Views 36K
Comments 50