Несколько месяцев назад к нам пришёл клиент из недвижимости с простым запросом: «Почему CPL вырос в два раза, хотя мы ничего не меняли?» Мы проверили кабинет. Пиксель не был настроен. Цель стояла «Трафик» вместо «Конверсии». Аудитории холодная и горячая были смешаны в одной группе.
Анемичная модель предметной области (Anemic domain model) это такая модель, где сущности содержат только свойства, а бизнес-логика находится в сервисах. Ее противоположность это богатая модель предметной области (Rich domain model), где логика находится в сущностях, а cервиcы рекомендуют писать только в редких случаях.В этой статье я хочу показать, почему логика в сервисах является более правильным подходом. Мы рассмотрим пример бизнес-требований и их реализацию с Anemic domain model. Читать далее
Управление обработкой ошибок в Go всегда вызывает споры — это извечная тема в ежегодном опросе о самых больших проблемах, с которыми сталкиваются разработчики при работе с Go. Однако когда дело доходит до обработки ошибок в многопоточной среде или объединения нескольких ошибок одной и той же горутины, Go предоставляет отличные пакеты, которые упрощают управление обработкой множественных ошибок. Давайте посмотрим, как объединить несколько ошибок, генерируемых одной горутиной. Читать далее
Операция выравнивания гистограмм (увеличение контраста) часто используется для увеличения качества изображения. В рамках этой статьи будет рассмотрено понятие гистограммы, теория алгоритма для ее выравнивания, практические примеры работы этого алгоритма. Для облегчения обработки изображений, мы будем использовать библиотеку OpenCV. Также, сделаем сравнительный анализ результатов работы нашего алгоритма и алгоритма, который уже встроен в OpenCV. Читать дальше →