Python conf in Kharkiv, Nov 16 with Intel, Elastic engineering leaders. Prices go up 21.10

Материалы по теме «Megogo»

RSS

Создание рекомендательной системы Megogo: использование неявных сигналов. Часть 1 Создание рекомендательной системы Megogo: использование неявных сигналов. Часть 1

Дмитрий Мелков 7082

Дмитрий Мелков, CIO в MEGOGO, рассказывает об алгоритмах, метриках, входящих данных, предварительных исследованиях, тренировках модели и подборах гиперпараметров. 17

Архитектура видеосервиса Megogo: варианты решений и переход от монолита к микросервисам Архитектура видеосервиса Megogo: варианты решений и переход от монолита к микросервисам

Дмитрий Мелков 17581

Дмитрий Мелков, CIO в Megogo, рассказывает об опыте перехода на от монолитной к микросервисной архитектуре продукта и о выборе, который впоследствии сделал разработку и поддержку системы проще. 59

Комментарии

Да он просто бредил. Просто написал что-то, даже не читая то, на что он отвечал.
Ось те що писав: type Server struct { mu sync.RWMutex data []*recipes.Recipe } ще тести, інше кодогенерація все делают поля структур экспортируемыми Якщо DTO структура то всі поля відкриті, без getter-ів та setter-ів В сервісах поля закривають
Вообще, ДОУ далеко не самый токсичный. Есть еще один сайт...
ну да а потом микросервисы )) если динамическая загрузка shared objects (а по-другому видимо никак ну разве что снова вариант микросервисов) то зачем не сделать объекты .so уже конфигурируемыми на этапе загрузки что именно грузить? а стоп так они уже!
Сколько я не видел кодешников людей на go, все делают поля структур экспортируемыми. Это для облегчения примера или go программисты забивают на инкапсуляцию?
При чем тут это?
За що таке упереджене ставлення до «аплікації»? :(
Статическая линковка — это прошлый век. Используй динамическую загрузку, и сам решай что загружать.
Варіанти: println(cmp.Diff( mainRecipes.Recipes, recipesBy625.Recipes, )) та println(cmp.Diff( mainRecipes.Recipes, recipesBy625.Recipes, cmpopts.IgnoreFields(recipes.Recipe{}), cmpopts.IgnoreFields(recipes.Ingredient{}), )) дають однаковий результат:...
А теперь попробуйте без ignoreFields с темже результатом для protobuf
Да, но все дипломы надо подтверждать.
Дякую, спрацював: import ( «github.com/google/go-cmp/cmp» «github.com/google/go-cmp/cmp/cmpopts» ) ignoreFields := []string{ «XXX_NoUnkeyedLiteral», «XXX_unrecognized», «XXX_sizecache», } println(cmp.Diff( mainRecipes.Recipes, recipesBy625.Recipes,...
https://godoc.org/github.com/google/go-cmp/cmp#example-Diff—Testing из тойже библиотеки.
Обожаю читать комментарии ненависти гребцов к ТС, переход на личности, упоминание статуса тракториста, аналитику с дивана и, конечно же, «не читали но осуждаем». Прямо заглядение. Формування ГО з SMB давно на часі.
Второй вариант https://godoc.org/github.com/google/go-cmp/cmp#Equal Повертає тільки true або false Вручну написав порівняння за 5 хвилин, якщо колись знайду бібліотеку яка вміє ігнорувати і порівнювати з повертанням різниці то напишу в цій темі Варіант,...