А потом узнала, что ученые уже сто лет как выяснили то, про что до сих пор спорят дизайнеры.
Мы в Тинькофф сравнили мнение знаменитых дизайнеров и ученых о том, какие шрифты легче читать: антикву(с засечками) или гротески(без засечек).
![](https://habrastorage.org/webt/gg/wh/wf/ggwhwf1_hryjftrmh0ar3cnxq6o.png)
web разработчик (backend)
«Досмотрю вот это видео на YouTube и пойду спать! Ой, в рекомендациях еще одно интересное. Сон, прости…». «Закажу в IKEA только стулья. Ах, сайт показал мне еще посуду, постельное белье и новую кухню в сборке. Когда там следующая зарплата?». «Бесконечный плейлист любимых музыкальных жанров в СберЗвуке заряжает меня позитивом! Как специалистам удается создавать выборку специально для меня?».
Согласитесь, вы сталкивались с подобными мыслями при использовании интернет сервисов. Магическим образом пользователю предлагают новые и новые объекты: видеоролики, музыку, товары. Никакого волшебства здесь нет — это рутинная работа рекомендательных систем. Алгоритмы поиска похожих объектов в больших массивах данных органично вплелись в нашу жизнь и помогают нам делать почти осознанный выбор в той или иной области повседневных дел.
Модели рекомендаций можно использовать для поиска похожих объектов вне контекста продаж. Например, выявлять однообразные ответы операторов в чатах, распознавать будущих злостных неплательщиков кредитных обязательств по косвенным признакам или находить различные группы сотрудников, которым требуется рекомендовать курсы повышения квалификации, в зависимости от текущих навыков. Не стоит забывать и о сайтах знакомств, где рекомендательные алгоритмы будут подбирать собеседника по указанным критериям.
TL:DR
Статья описывает основные подходы к поиску схожих объектов в наборе данных и содержит вводный курс в мир рекомендательных систем. Представлены варианты подготовки данных. Информация будет полезна аналитикам, которые изучают python, и начинающим data-scientist’ам. Мы не будем останавливаться на подробном описании каждого метода и разбирать отличия контентных и коллаборативных рекомендательных систем. Базовая теоретических часть находится здесь, здесь и здесь. Нас интересует применение алгоритмов матчинга (matching, англ. Поиск схожих объектов) в повседневных задачах. К статье прилагается ноутбук на платформе Kaggle с основным кодом, который рекомендуем запускать одновременно с изучением текста.
Детерминированный факторный анализ - это метод исследования влияния факторов на результативный показатель.
Предполагается, что связь факторов с результативным показателем носит функциональный характер, которая выражена математической формулой.
Для двумерного случая факторы вычисляются тривиально, но с увеличением размерности поиск формул становится сложнее. Но, я нашел алгоритм, как это можно сделать по сути в одну строчку кода.
ограниченные контексты
.ограниченного контекста
используется ряд более низкоуровневых тактических шаблонов, которые имеют технический характер, то есть эти шаблоны используются для решения технических задач. Такими шаблонами являются: сущность
, объект-значение
, службы предметной области
, события
, модули
, агрегаты
, фабрики
и хранилища
. Именно о них пойдет речь в этой статье.Эта статья является переводом материала «Cohesion and Coupling: the difference».
Возможно, вы слышали рекомендацию, в которой говорится, что мы должны стремиться к достижению low coupling (низкой связанности) и high cohesion (высокого сцепления) при работе над кодовой базой. В этой статье хотелось бы обсудить, что на самом деле означает эта рекомендация, и взглянуть на некоторые примеры кода, иллюстрирующие ее. И также хочется провести границу между этими двумя идеями и показать различия в них.
Недавно я спросила одну девушку, какие факторы она учитывает при покупке новых джинсов. Она не колебалась в своем ответе и сказала: «Насколько они хорошо сидят - вот мой фактор номер один».
Это кажется разумным. Трудно найти подходящую пару джинсов.
Затем я попросила ее рассказать мне о том, как она в последний раз покупала джинсы. Она сказала: «Я купила их на Amazon».
Я засмеялась и спросила: «Как вы узнали, подходят ли они?»
Она ответила: «Я не знала, но это был бренд, который мне нравился, и они были в продаже».
Вокруг Dependency Injection много инженерных практик. Несмотря на то, что эта статья про конкретный подход к написанию кода, она будет интересна широкому кругу разработчиков. Я постарался провести глубокий анализ существующих около Dependency Injection принципов разработки и хочу поделиться исследованием с сообществом.
Небольшая команда из 5 разработчиков разного уровня, сокращенные сроки и многоэтапная задача внедрения нового программного продукта в крупной организации.
Выгорание участников проекта, недовольство заказчика, сдвигание сроков...
Было сложно, но мы это решили.