Search
Write a publication
Pull to refresh
3
0
Дмитрий Куликов @DmitryKulikov

User

Send message

Где смерть Кащеева?

Reading time7 min
Views34K
Привет ребят, давайте для начала проверим вашу память. Итак:
«На море на океане есть остров, на том острове дуб стоит, под дубом сундук зарыт, в сундуке — заяц, в зайце — утка, в утке — яйцо» в яйце игла — смерть Кощея!

А теперь, внимание, вопрос — как это формализовать?
Как приатачить к яйцу иголку и какова временная сложность детача смертии моей. Как перенести сказку в быль, как это выглядит на B-деревьях и почему на самом деле нет разницы между 2D и 1D.
А было все так: давным давно, в неком царстве, некотором государстве, на одном сервисе с шейрингом геолокации очень захотелось Иванушке Дурачку на уровне ЧПУ разделить Москву(/RU/MOW/) и Область(/RU/MOS/). И вообще навести порядок, чтобы все лежало по полочкам красиво и по алфавиту. Но не получалось ему сокровища свои посчитать, и аккуратно разложить. А Василису, хоть и дурак, к сбережениям не пускал.
Но решение было найдено.
Совсем недалеко над каким-то златом успешно чах Чахлик, еще и смерть он свою прятал по науке.
И если задача определения региональной (точнее полигональной) принадлежности некой иголки к некому сундуку выходит за рамки данной статьи, то нам ничто не мешает погрузиться в глубины зайца и посмотреть как он устроен на табличном уровне.
PS: и не спрашивайте почему зайца.
Читать дальше →

Обзор наиболее интересных материалов по анализу данных и машинному обучению №37 (23 февраля — 1 марта 2015)

Reading time3 min
Views11K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →

Как мы готовим будущих специалистов по большим данным

Reading time4 min
Views15K
В эту субботу стартует наша программа “Специалист по большим данным”: она получилась такой насыщенной, что, кажется, в ближайшие три месяца у слушателей не останется никакого свободного времени. В этом посте я расскажу, как именно мы будем растить специалистов по Big Data, и как будет построен процесс обучения во время первого месяца.



Центральный кейс на этот период — создание DMP-системы. DMP (data management platform) анализирует интернет-логи пользователей и, исходя из их поведения в сети, присваивает этим людям различные свойства или причисляет к определенным классам. Например, правильно настроенная DMP-система может определить пол и возраст человека и узнать, является ли он гаджетоманом или, скажем, фанатом люксовых фешн-брендов. Этот кейс мы разрабатываем совместно с компанией Data-Centric Alliance, они используют большие данные для настройки рекламных кампаний.
Читать дальше →

Обзор наиболее интересных материалов по анализу данных и машинному обучению №3 (обзор онлайн курсов)

Reading time7 min
Views27K

Данный выпуск обзора наиболее интересных материалов по анализу данных и машинному обучению полностью посвящен онлайн-курсам по тематике Data Science. В прошлом выпуске был представлен список онлайн-курсов, стартующих в ближайшее время. В данном выпуске я постарался собрать наиболее интересные онлайн-курсы по теме анализа данных. Стоит отметить, что некоторые курсы уже закончились, но у большинства таких курсов можно посмотреть архив всех учебных материалов.
Начинается обзор с набора курсов от Johns Hopkins University на Coursera, которые объединены в одной специализации «Data Science Specialization», поэтому имеет смысл рассмотреть их отдельно от остальных курсов. Это 9 официальных курсов специализации и два дополнительных Mathematical Biostatistics Boot Camp 1 и 2, которые официально не входят в специализацию. Важно отметить, что весь набор данных курсов регулярно начинается заново и в общем-то можно достаточно гибко построить свой график продвижения по специализации. Большинство курсов длятся 4 недели. Язык R является основным языком программирования в данном наборе курсов. Далее идет список курсов из специализации Data Science от Johns Hopkins University:
Читать дальше →

Flask. Наполняем «флягу» функционалом

Reading time7 min
Views47K

Предисловие


В прошлом году решил для себя вплотную познакомиться c Python, а в последствии перебраться на него с PHP. На данный момент моя стезя — веб-разработка, а потому осваивать новый язык я начал именно со стороны веба, в частности, с обзора доступных фреймворков и проектов на них. Познакомившись с возможностями TurboGears, web2py, Django, я всё таки поддался «тренду» и погрузился в мир Django.

На протяжении почти года я честно пытался подружиться с ним. Написал несколько простеньких проектов, но монструозность фреймворка отпугивала, обилие «батареек» путало выбор, а с некоторыми ограничениями не хотелось мириться. Душа требовала лаконичности и однозначности, что в конечном счете привело меня к знакомству с Flask. Изучив документацию по фреймворку и смежным проектам (Jinja2, Werkzeug), я проникся идеологией и стал вплотную изучать фреймворк.

Flask позиционируется как расширяемый микрофреймворк. Это означает наличие лишь необходимого минимума функционала, но в то же время возможность добавить оный посредством расширений до требуемого проекту уровня.

Сей эпос — это мой опыт под использованию Flask и расширений для него, а точнее, попытка собрать воедино и на русском то, что может пригодиться при создании проектов практически любого уровня.
Читать дальше →

Форматирование Python-кода

Reading time4 min
Views71K

Введение


Python, точнее его самый известный представитель CPython, не очень предназначен для каких-либо быстрых расчетов. Иначе говоря, производительность у него не такая уж хорошая. А вот скорость разработки и читаемости отличная.

О читаемости и пойдет речь, а точнее как ее увеличить.
Читать дальше →

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

Reading time29 min
Views108K
На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться.



В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
Читать дальше →

Экскурсия по крупнейшему дата-центру Европы

Reading time3 min
Views40K
В небольшом португальском городке Ковильян расположился один из самых мощных дата-центров Европы. Новый ЦОД был построен и введен в эксплуатацию крупнейшим португальским провайдером Portugal Telecom в конце 2013 года, а уже в следующем году стал победителем конкурса Global Data Centre & Cloud Awards в номинации «лучший дата-центр года». Главными критериями победы дата-центра стали инновационность технологий, энергоэффективность, низкое воздействие на окружающую среду, а также метод развертывания вычислительных мощностей.

Читать дальше →

Apache Spark: что там под капотом?

Reading time5 min
Views52K

Вступление


В последнее время проект Apache Spark привлекает к себе огромное внимание, про него написано большое количество маленьких практических статей, он стал частью Hadoop 2.0. Плюс он быстро оброс дополнительными фреймворками, такими, как Spark Streaming, SparkML, Spark SQL, GraphX, а кроме этих «официальных» фреймворков появилось море проектов — различные коннекторы, алгоритмы, библиотеки и так далее. Достаточно быстро и уверенно разобраться в этом зоопарке при отсутсвие серьезной документации, особенно учитывая факт того, что Spark содержит всякие базовые кусочки других проектов Беркли (например BlinkDB) — дело непростое. Поэтому решил написать эту статью, чтобы немножко облегчить жизнь занятым людям.
Читать дальше →

OpenCage — самый мощный инструмент для геокодирования

Reading time2 min
Views13K


Большинство людей не задумываются о геокодировании, когда дают своему смартфону запрос в виде адреса, GPS-координат, широты и долготы, или координат what3words. Разработчики в свою очередь должны понимать всю критическую важность геокодера. Каждый из предложенных геокодеров имеет свои плюсы и минусы, которые нужно учитывать при выборе. Некоторые геокодеры могут иметь неприемлемые ограничения, стоимость, или быть недоступными для коммерческих целей. Некоторые сервисы не поддерживают кэширование, и практически все они имеют 24-часовые лимиты. Универсального варианта не существовало до появления OpenCage.
Читать дальше →

N+1 полезных книг о бизнесе

Reading time9 min
Views231K
В топике блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто собирается открыть своё дело. Рядом с каждой — короткие пояснения, почему и зачем стоит прочесть.

Отобраны лучшие 10% из примерно 200 прочитанных книг о маркетинге, продажах и всем связанном — самые «пробивные» вещи, которые помогут вам не тратить время на всякий шлак, а сразу начать с главного.

В конце — суммация книг, которые хабровчане рекомендуют в комментариях помимо основного списка.

Читать дальше →

Do not be evil

Reading time6 min
Views157K
Сегодня довольно непростой, но, очевидно, знаменательный день. Сегодня Яндексу пришлось пойти на шаг, который, как мне всегда хотелось верить, никогда не придётся делать.

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

Мы всегда верили в конкуренцию и право выбора пользователя. Настолько, что даже в наших поисковых результатах с первых дней существования Яндекса стоят ссылки на другие популярные поисковики. Если честно, я всегда был уверен, что и Гугл верит в то же. Что это компания инженеров, производящих крутые продукты. Увы, сейчас очевидно, что помимо технической компании, которая когда-то считала своим лозунгом «Do not be evil», теперь есть и совсем другая – компания, контролируемая юристами и бизнесменами.

Android давно уже совсем не выглядит открытой OS. И уж точно не выглядит открытой политика конкуренции Google на этой платформе. Например, сейчас мы столкнулись с тем, что вендоры, чтобы продавать в России телефоны с сервисами Яндекса, должны отказаться от всех сервисов Google не только в России, но и во всех остальных странах. При этом правила получения GMS и Google Play для каждого из них могут измениться в любой момент.

Мы хотим, чтобы в открытой OS условия и лицензии были открыты и прозрачны для всех.
Читать дальше →

HTTP/2 готов

Reading time1 min
Views51K


Сегодня спецификации новой версии HTTP приобрели окончательный вид. Председатель рабочей группы IETF HTTP Марк Ноттингем в своём блоге написал, что IESG формально одобрила спецификации HTTP/2. Теперь они отправляются в редактор RFC, где им присвоят официальный номер RFC, немного отредактируют и опубликуют.

Скоро это замечательное событие отразят в официальном блоге IETF, а пока что Марк Ноттингем от себя лично благодарит всех, кто внёс свой вклад в разработку новых спецификаций. В особенности — разработчиков протокола SPDY, который лёг в основу HTTP/2.
Читать дальше →

Full stack vs micro framework, экосистема Docker и другие вещи, с которыми повезло питонистам (UPD: видео)

Reading time2 min
Views9.8K
Наш CTO, Миша Voldar Корнеев, познакомился с питоном в 34 года. В смысле, с живым:

image
Знакомство питона с питонистом

C Python’ом цифровым он познакомился еще лет шесть назад, и с тех пор все, к чему он прикасается, становится чуть более высокоуровневым.

Тем не менее, Миша до сих пор продолжает открывать для себя много нового, потому что ходит на тусовки Moscow Django Meetup. А ходит, потому что их соорганизует.

Но 10 февраля его не будет с нами, потому что его сыну — моему племяннику — исполняется три годика.

Так что #tceh решил заранее рассказать Мише, что будет на 25-м московском Django Meetup, который пройдет у нас.

Читать дальше →

Обзор и оценка перспектив развития мирового и российского рынков ИТ

Reading time45 min
Views152K
Ранее, в своем блоге на «Хабре» мы писали о том, почему Московская Биржа – это в первую очередь ИТ-компания. Как и полагается ИТ-компании, мы постоянно отслеживаем новые тренды рынка ИТ, делаем аналитику и строим прогнозы.

Представляем свежий аналитический обзор рынка ИТ, подготовленный совместно с фондом РВК и компанией IDC.

В этом обзоре

Первая часть обзора посвящена обзору мирового рынка информационных технологий (ИТ).Особое внимание в ней уделяется описанию факторов будущего развития рынка, таких как распространение облачных вычислений, экспоненциальное увеличение объемов данных, а также использование мобильных устройств и технологий социальных сетей в корпоративной среде. Отдельно рассматривается эволюция роли директора по информационным технологиям.

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

Обзор содержит прогноз развития мирового и российского рынка ИТ по основным категориям на период 2014-2018 годы.

Читать длинный интересный пост...

Контейнеризируй это! Что такое Fuel и для чего он использует Docker

Reading time6 min
Views12K
Пока патентные войны остаются скрытой угрозой для экосистемы OpenStack, давайте поговорим о технологии, позволяющей разворачивать OpenStack практически в один клик. Название этого проекта многократно встречалось в постах нашего блога, но не было ни одного текста, посвященного именно Fuel. Между тем — именно этот проект существенно упростил процедуру развертывания OpenStack и сделал менее трудоемким процесс дальнейшего управления облаком. Безусловно, можно действовать по старинке. Использование Fuel не является обязательным для работы с OpenStack. Однако мы считаем, что если театр начинается с вешалки, то OpenStack начинается с Fuel. По крайней мере — Mirantis OpenStack (MOS).
Читать дальше →

Основы статистики: просто о сложных формулах

Reading time6 min
Views323K

Статистика вокруг нас


Статистика и анализ данных пронизывают практически любую современную область знаний. Все сложнее становится провести границу между современной биологией, математикой и информатикой. Экономические исследования и регрессионный анализ уже практически неотделимы друг от друга. Один из известных методов проверки распределения на нормальность — критерий Колмогорова-Смирнова. А вы знали, что именно Колмогоров внес огромный вклад в развитие математической лингвистики?

Еще будучи студентом психологического факультета СПбГУ, я заинтересовался когнитивной психологией. Кстати, Иммануил Кант не считал психологию наукой, так как не видел возможности применять в ней математические методы. Мои текущие исследования посвящены моделированию психических процессов, и я надеюсь, что такие направления в современной когнитивной психологии, как вычислительные и коннективисткие модели, смягчили бы его отношение!
Читать дальше →

Обзор наиболее интересных материалов по анализу данных и машинному обучению №34 (2 — 8 февраля 2015)

Reading time3 min
Views8.4K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →

Apriori: новое или хорошо забытое старое

Reading time3 min
Views7.2K


Рекомендательные (они же рекомендационные) системы уже около 20 лет используются в e-commerce. Самые успешные примеры мы можем видеть у гигантов Amazon и Taobao. Но как же быть с offline ритейлом? Применимы ли к нему эти существующие рекомендательные системы? И есть ли альтернатива?

Перед командой Datawiz возникла задача: создать подобную рекомендательную систему для offline ритейла. Все, чем мы обладали — данные о клиентах, которыми располагают ритейлеры — различные программы лояльности.

Нестандартное решение нашлось сразу — старый, добрый и проверенный алгоритм Apriori. Хотите узнать как использовать парный анализ по-новому? Добро пожаловать под кат.
Читать дальше →

Неперсонализированные рекомендации: метод ассоциаций

Reading time5 min
Views20K
Персональные рекомендации позволяют познакомить пользователя с объектами, о которых он, возможно, никогда не знал (и не узнал бы), но которые могут ему понравиться с учетом его интересов, предпочтений и поведенческих свойств. Однако, часто пользователь ищет не новый объект, а, к примеру, объект A похожий на объект B («Форсаж 2» похож на «Форсаж»), или объект A, который приобретается/потребляется с объектом B (сыр с вином, пиво с детским питанием, гречка с тушенкой и т.д.). Построить такие рекомендации позволяют неперсонализированные рекомендательные системы (НРС).


Рекомендовать похожие/сопутствующие объекты можно, ориентируясь на знания об объектах (свойства, теги, параметры) или на знания о действиях, связанных с объектами (покупки, просмотры, клики). Преимуществом первого способа является то, что он позволяет достаточно точно определить похожие по свойствам объекты («Форсаж 2» и «Форсаж» — похожие актеры, похожий жанр, похожие теги, ...). Однако данный способ не сможет порекомендовать сопутствующие объекты: сыр и вино. Еще одним недостатком этого способа является тот факт, что для разметки всех объектов, доступных на сервисе, требуется не мало усилий.

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

Под катом описан метод ассоциаций, позволяющий построить неперсонализированные рекомендации, основываясь лишь на данных о действиях над объектами. Там же код на Python, позволяющий применить метод для большого объема данных.
Читать дальше →

Information

Rating
Does not participate
Location
Саров (Нижегородская обл.), Нижегородская обл., Россия
Date of birth
Registered
Activity