Pull to refresh
12
0
Ашрапов Инсаф @4knowledge

Data scientist

Send message

Как мы кратно улучшили качество рекомендаций в оффлайн ритейле

Reading time11 min
Views6.1K

Всем привет! Меня зовут Саша, я CTO & Co-Founder в LoyaltyLab. Два года назад я с друзьями, как и все бедные студенты, ходил вечером за пивом в ближайший магазин у дома. Нас очень расстраивало, что ритейлер, зная, что мы придём за пивом, не предлагает скидку на чипсы или сухарики, хотя это так логично! Мы не поняли, почему такая ситуация происходит и решили сделать свою компанию. Ну и как бонус выписывать себе скидки каждую пятницу на те самые чипсы.


image


И дошло всё до того, что с материалом по технической стороне продукта я выступаю на NVIDIA GTC. Мы рады делиться наработками с коммьюнити, поэтому я выкладываю свой доклад в виде статьи.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

Как работают браузеры: принципы работы современных веб-браузеров

Reading time2 min
Views189K
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

Возможно для кого-то это давно уже не новость, но, надеюсь, для тех, кто не слышал, будет полезно (на хабре упоминаний не нашел).

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →
Total votes 200: ↑179 and ↓21+158
Comments27

Census Analyzer 1.0: новый инструмент для анализа данных

Reading time3 min
Views16K
Привет, Хабр!

Мы в компании JetBrains только что выпустили Census Analyzer — новое веб-приложение для визуализации и анализа данных. Попробуйте его и расскажите нам, что вы думаете!

Census Analyzer является прототипом, “preview”-версией, призванной познакомить пользователей с принципами работы более глобального продукта по анализу данных, который пока в разработке. Но уже сейчас с помощью Census Analyzer вы можете в облаке анализировать данные Бюро переписи населения США (US Census Bureau), работать с графиками и сводными таблицами, составлять графические отчеты, публиковать их и делиться ими в сети.

Давайте посмотрим, чем интересен Census Analyzer.

image
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments34

Revolution R переименован в Microsoft R и доступен бесплатно для разработчиков и студентов

Reading time2 min
Views23K

За девять месяцев, с тех пор как Microsoft приобрела Revolution Analytics, компанией было выпущено много обновлений для Revolution R Open и Revolution R Enterprise, не говоря уже об интеграции R с SQL Server, PowerBI, Azure и Cortana Analytics.
Читать дальше →
Total votes 32: ↑19 and ↓13+6
Comments8

Ещё раз про семь основных методологий разработки

Reading time8 min
Views966K
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Total votes 51: ↑38 and ↓13+25
Comments48

Рекурсивные запросы в PostgreSQL (WITH RECURSIVE)

Reading time3 min
Views172K

Как ни странно, чтобы понять рекурсию, в PostgreSQL не надо понимать рекурсию. Потому что WITH RECURSIVE, который присутствует в посгресе (и в других серьёзных базах) — это скорее вычисление чего-то итерациями до того, как будет выполнено некоторое условие.
Тем не менее это очень полезный функционал базы, который можно использовать, например, чтобы вывести все подкатегории заданной категории, если таблица задана в виде (id, parent_id, ...)
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments14

Немного об оптимизации запросов

Reading time3 min
Views40K
Хочу на простом примере рассказать о том, как иногда можно сильно оптимизировать вполне простые на первый взгляд запросы. Возьмем такой код, для примера на PostgreSQL 9.3, но принцип подходит ко всем субд, в которых присутствует hash join.

Задача простая — сджойнить две таблицы — одна весьма большая, другая маленькая — но джоин не простой, а золотой с OR. (Как реальный кейс — джоин таблицы проводок по счетам к самим счетам, учитывая, что в проводке два поля со счетом — для дебета и кредита.)
Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments8

Пятничный формат: Как писать код, который никто не сможет сопровождать

Reading time16 min
Views95K


Благодаря советам экспертов в области Java вы научитесь писать код, который будет настолько сложно сопровождать, что любому, кто будет с ним работать после вас, потребуются годы, чтобы внести даже малейшие правки. Более того, если будете неизменно следовать этим правилам, вы сможете гарантировать себе пожизненное рабочее место, так как никто кроме вас не сможет разобраться в вашем коде.
Читать дальше →
Total votes 89: ↑74 and ↓15+59
Comments119

Физический дизайн структур хранения в СУБД Teradata

Reading time12 min
Views21K

Что такое физический дизайн структур хранения


Основная цель, преследуемая в ходе разработки физической модели данных, — создание таких объектов для конкретной платформы/СУБД, которые позволят достигнуть максимальной производительности запросов/приложений, создающих основную нагрузку, сведя при этом дополнительные затраты, такие как необходимость поддерживать дополнительные индексы, выполнять материализацию производных данных и т. п., к минимуму.
Все реляционные СУБД построены на одних принципах, но каждой платформе присущи уникальные черты в виде наличия различных типов объектов и особенностей их реализации. По этой причине процесс физического моделирования является платформенно-зависимым, в отличие от логического моделирования, основная цель которого — достоверно описать данные и бизнес-процессы.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments7

Статистика в СУБД Teradata

Reading time11 min
Views23K
«There are three kinds of lies: lies, damned lies, and statistics» Бенджамин Дизраэли, 40-й премьер-министр Великобритании

Статистическая информация о данных в СУБД играет важную роль в производительности системы. С учетом ряда комментариев к прошлой статье, мы решили описать, зачем нужна статистика в СУБД Teradata, как она учитывается оптимизатором, на что влияет, и дать ряд практических советов по сбору статистики для тех, кто работает с нашей СУБД.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments6

Соединение исторических таблиц

Reading time5 min
Views6.2K
Время от времени мне приходится сталкиваться с задачами, когда нужно в рамках имеющейся СУБД выполнить соединение двух и более исторических таблиц между собой, да так, чтобы получить красивые исторические интервалы на выходе. Зачем? Чтобы отчет смог правильно отобразить данные на выбранную пользователем дату, или приложение подтянуло в себя эти данные для обработки.
Часто коллеги и братья по цеху сталкиваются с подобными задачами и советуются как лучше их решить.
В этой статье я хочу поделиться опытом как решались различные ситуации подобного типа.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments3

Разгоняем портфолио сисадмина бесплатными сертификатами

Reading time3 min
Views124K
Информация будет особенно полезна тем, кто начинает свою карьеру. Обычно первое резюме пугающе пустое, кроме образования, практики и дипломной работы – в нём ничего нет. Практический опыт отсутствует, но есть энтузиазм и жажда знаний. Предлагаю вашему вниманию возможность не только получить знания, но и подтвердить их сертификатом, который можно будет приложить к резюме, добавив ему веса.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments36

PSNR и SSIM или как работать с изображениями под С

Reading time4 min
Views29K
imageВ данной статье я коснусь базовых принципов, как работать с изображениями. Для этого я выбрал библиотеку OpenCV. Она распространяется бесплатно, так что скачать ее не составит труда.
Когда мне на учебе дали задание написать две метрики для оценки различия двух картинок, в частности качества видоизмененной от исходной, меня это конечно все это немного смутило. Знания в программировании были, мягко говоря, не очень большими, как-никак был только на первом курсе. Благо, какую библиотеку выбрать сказали заранее, так что с этим труда не возникло. А вот как ее использовать это было уже на порядок сложнее, все, что я в основном смог нарыть в интернете, было на английском, хоть я его и знаю на уровне, что могу читать тех. литературу, вследствие огромности самой библиотеки, подходило мало. Отлично, что удалось, какие функции и как использовать, я смог потом уточнить у преподавателя. А требовалось только понять как обращаться к самой картинке, в частности к отдельным пикселям изображения. Кого заинтересовало, добро пожаловать под кат.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments14

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity