Pull to refresh
26
0
Андрей Петрин @feriat

Аналитик

Send message

Экосистема разработчиков в Telegram

Reading time10 min
Views71K
Лого

Многим уже известно, что в мессенджере Telegram помимо прямого общения между двумя людьми также реализованы другие полезные инструменты:

  • Каналы — некий симбиоз сообщений и списков рассылки, где автор или коллектив авторов обращаются к своей аудитории, но аудитория не может влиять на содержимое канала.
  • Группы — своеобразные чаты между большим количеством пользователей, где каждый участник является полноправным представителем сообщества и может влиять на повестку дня.
  • Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения, часто используются для интеграции c сервисами.

На днях на просторах Github, наткнулся на список каналов, групп, ботов в Telegram, который пополняется непосредственно разработчиками, использующими этот проект совместной разработки. Под катом можно увидеть саму IT-подборку, из которой каждый сможет выбрать что-то интересное для себя.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments46

Как запустить ClickHouse своими силами и выиграть джекпот

Reading time15 min
Views77K

Мы решили описать простой и проверенный путь для тех, кто хочет внедрить аналитическую СУБД ClickHouse своими силами или просто испробовать ClickHouse на собственных данных. Именно этот путь прошли мы сами в новостном агрегаторе СМИ2 и добились впечатляющих результатов.


Clickhouse-client


В предисловии статьи — небольшой рассказ о наших попытках внедрить Druid и InfluxDB. Почему после успешного запуска ClickHouse мы смогли отказаться от использования InfiniDB и Cassandra.


Total votes 59: ↑59 and ↓0+59
Comments50

Почему мы в «Дадате» тратим 2 млн долларов в год на 99,99% точность обработки данных

Reading time6 min
Views13K

Вы когда-нибудь задумывались, почему вообще возможно исправить ошибки и опечатки в текстовых данных, например, в адресах и именах? Почему мы думаем, что «Терская» — это, скорее всего, Тверская улица, а не какая-нибудь фантастическая улица Василиятёрского? А вдруг это Комсомольский проспект, в котором сделано двадцать опечаток?


Наш жизненный опыт говорит о том, что упорядоченные низкоэнтропийные состояния менее вероятны, чем высокоэнтропийные неупорядоченные. То есть «Терская» скорее Тверская с одной опечаткой, чем Комсомольский проспект с двадцатью опечатками. Однако в жизни возникает много спорных случаев, где вероятности не так однозначны.

Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments28

Как писать меньше кода для MR, или Зачем миру ещё один язык запросов? История Yandex Query Language

Reading time14 min
Views44K
Исторически во многих уголках Яндекса разрабатывались свои системы хранения и обработки больших объемов данных — с учетом специфики конкретных проектов. При такой разработке в приоритете всегда была эффективность, масштабируемость и надежность, поэтому на удобные интерфейсы для использования подобных систем времени, как правило, не оставалось. Полтора года назад разработку крупных инфраструктурных компонентов выделили из продуктовых команд в отдельное направление. Цели были следующими: начать двигаться быстрее, уменьшить дублирование среди схожих систем и снизить порог входа новых внутренних пользователей.



Очень скоро мы поняли, что тут мог бы здорово помочь общий высокоуровневый язык запросов, который бы предоставлял единообразный доступ к уже имеющимся системам, а также избавлял от необходимости заново реализовывать типовые абстракции на низкоуровневых примитивах, принятых в этих системах. Так началась разработка Yandex Query Language (YQL) — универсального декларативного языка запросов к системам хранения и обработки данных. (Сразу скажу, что мы знаем, что это уже не первая штука в мире, которая называется YQL, но мы решили, что это делу не мешает, и оставили название.)

В преддверии нашей встречи, которая будет посвящена инфраструктуре Яндекса, мы решили рассказать о YQL читателям Хабрахабра.

Читать дальше →
Total votes 101: ↑100 and ↓1+99
Comments5

Сисадмин с манией автоматизации и большая переделка процессов

Reading time10 min
Views51K


Пару недель назад в ИТ-отдел зашла сотрудница из опта и попросила доделать мелкую фичу к своему рабочему месту. Заявку вполне ожидаемо поставили в очередь.

Девушка немного обиделась и сказала:
— Это у вас сейчас несезон, и уже не успеваете. Посмотрю я на вас, что тогда к новому году будет!

Предполагалось, что под новогодний раш ИТ-отделу с такой постановкой дел хана. Никто не объяснил милой девушке, что сезон у нашего ИТ приходится на лето. Потому что потом, когда наступит сезон у розницы, будет вообще поздняк метаться.

А этим летом было жарко. Особый колорит процессам придал сисадмин Валера, помешанный на автоматизации. Настолько, что он даже курсы валют и погоду отслеживал Заббиксом. В общем, заходите, расскажу, как мы провели лето. И генеральную уборку. Ничего особо примечательного, но пара полезных грабель для среднего бизнеса у меня всегда найдётся.
Читать дальше →
Total votes 75: ↑74 and ↓1+73
Comments70

Как Google Cloud вдохнул жизнь в Pokémon GO

Reading time4 min
Views15K
В течение всей моей карьеры инженера, я приложил руку к запуску множества продуктов, завоевавших миллионы пользователей. Люди принимают продукт, обычно, постепенно, в течение нескольких месяцев, когда внедрение новых возможностей и архитектурных изменений распланировано на достаточно долгий период. Но никогда раньше я не видел ничего даже близкого к тому росту, который компания Niantic, клиент Google Cloud, испытала с Pokémon GO.

В качестве затравки я начну с картинки, стоящей тысячи слов:


Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments18

Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные

Reading time9 min
Views22K

Яндекс, как и любая другая большая интернет-компания, хранит много, а точнее очень много данных. Это и пользовательские данные из разных сервисов, и намайненные сайты, и промежуточные данные для расчёта погоды, и резервные копии баз данных. Стоимость хранения ($/ГБ) — один из важных показателей системы. В этой статье я хочу рассказать вам про один из методов, который позволил нам серьезно удешевить хранилище.




В 2015 году, как вы все помните, сильно вырос курс доллара. Точнее, расти-то он начал в конце 2014-го, но новые партии железа мы заказывали уже в 2015-м. Яндекс зарабатывает в рублях, и поэтому вместе с курсом выросла и стоимость железа для нас. Это заставило нас в очередной раз подумать о том, как сделать, чтобы в текущий кластер можно было положить больше данных. Мы такое, конечно, делаем регулярно, но в этот раз мотивация была особенно сильной.


Каждый сервер кластера предоставляет для нас следующие ресурсы: процессор, оперативную память, жёсткие диски и сеть. Сеть здесь — более сложное понятие, чем просто сетевая плата. Это ещё и вся инфраструктура внутри дата-центра, и связность между разными дата-центрами и точками обмена трафиком. В кластере для обеспечения надёжности применялась репликация, и суммарный объём кластера определялся исключительно через суммарную ёмкость жёстких дисков. Нужно было придумать, как обменять оставшиеся ресурсы на увеличение места. Кстати, если после поста у вас останутся вопросы, которые бы вы хотели обсудить лично, приходите на нашу встречу.


Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments19

Алгоритм визуализации сложных данных

Reading time9 min
Views26K
За три года существования Лаборатория данных выпустила около тридцати интерактивных визуализаций, в формате заказных, собственных проектов и бесплатных советов. Мы в лаборатории визуализируем финансовые и научные данные, данные городской транспортной сети, результаты забегов, эффективность маркетинговых кампаний и многое другое. Весной мы получили бронзовую медаль на престижной премии Malofiej 24 за визуализацию результатов Московского марафона.

Последние полгода я работаю над алгоритмом визуализации данных, который систематизирует этот опыт. Моя цель — дать рецепт, который позволит разложить любые данные по полочкам и решать задачи по визуализации данных также чётко и последовательно, как математические задачи. В математике не важно, складывать яблоки или рубли, распределять кроликов по ящикам или бюджеты на рекламные кампании — есть стандартные операции сложения, вычитания, деления и т.д. Я хочу создать универсальный алгоритм, который поможет визуализировать любые данные, при этом учитывает их смысл и уникальность.

Я хочу поделиться с читателями Хабра результатами своих исследований.


Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments3

YT: зачем Яндексу своя MapReduce-система и как она устроена

Reading time14 min
Views83K
В течение последних шести лет в Яндексе идет работа над системой под кодовым называнием YT (по-русски мы называем её «Ыть»). Это основная платформа для хранения и обработки больших объемов данных — мы уже о ней рассказывали на YaC 2013. С тех пор она продолжала развиваться. Сегодня я расскажу о том, с чего началась разработка YT, что нового в ней появилось и что ещё мы планируем сделать в ближайшее время.



Кстати, 15 октября в офисе Яндекса мы расскажем не только о YT, но и о других наших инфраструктурных технологиях: Media Storage, Yandex Query Language и ClickHouse. На встрече мы раскроем тайну — расскажем, сколько же в Яндексе MapReduce-систем.

Какую задачу мы решаем?


По роду своей деятельности Яндекс постоянно сталкивается с необходимостью хранить и обрабатывать данные таких объемов, с которыми обычному пользователю никогда не приходится иметь дело. Поисковые логи и индексы, пользовательские данные, картографическая информация, промежуточные данные и результаты алгоритмов машинного обучения — все это может занимать сотни петабайт дискового пространства. Для эффективной обработки подобных объемов традиционно используется парадигма MapReduce, позволяющая достичь хорошего баланса между эффективностью вычислений и простотой пользовательского кода.

Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments45

Выявление проблем дорожной сети с помощью Яндекс.Пробок. Лекция в Яндексе

Reading time7 min
Views18K

Яндекс.Пробки и связанные с ними функции в Навигаторе и Картах работают благодаря данным о скорости машин на разных участках дорог. Это совсем не новая, но по-прежнему эффективная схема. Вопрос, возникший уже по мере развития Пробок — можно ли использовать указанные данные как-нибудь ещё?



Аналитик Карт Леонид Медников рассказал о примере такого использования на конференции Яндекса «Пути Сообщения 2016». Под катом — расшифровка доклада и большинство слайдов.


Total votes 55: ↑53 and ↓2+51
Comments22

Что такое свёрточная нейронная сеть

Reading time13 min
Views264K


Введение


Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.


Но классический, и, возможно, самый популярный вариант использования сетей это обработка изображений. Давайте посмотрим, как СНС используются для классификации изображений.


Задача


Задача классификации изображений — это приём начального изображения и вывод его класса (кошка, собака и т.д.) или группы вероятных классов, которая лучше всего характеризует изображение. Для людей это один из первых навыков, который они начинают осваивать с рождения.


Читать дальше →
Total votes 91: ↑91 and ↓0+91
Comments74

Немного про кино или как делать интерактивные визуализации в python

Reading time5 min
Views69K


Введение


В этой заметке я хочу рассказать о том, как можно достаточно легко строить интерактивные графики в Jupyter Notebook'e с помощью библиотеки plotly. Более того, для их построения не нужно поднимать свой сервер и писать код на javascript. Еще один большой плюс предлагаемого подхода — визуализации будут работать и в NBViewer'e, т.е. можно будет легко поделиться своими результатами с коллегами. Вот, например, мой код для этой заметки.


Для примеров я взяла скаченные в апреле данные о фильмах (год выпуска, оценки на КиноПоиске и IMDb, жанры и т.д.). Я выгрузила данные по всем фильмам, у которых было хотя бы 100 оценок — всего 36417 фильмов. Про то, как скачать и распарсить данные КиноПоиска, я рассказывала в предыдущем посте.


Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments8

Минуя бесконечность: t-тест своими руками

Reading time5 min
Views20K

В этом посте речь пойдёт о реализации процедуры вычисления значения функции распределения Стьюдента без использования каких-либо специальных математических библиотек. Только Java (либо C/C++, код вполне универсален).

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments12

Разрабатываем систему real-time fulltext-поиска по error-логам на основе ClickHouse от Яндекса

Reading time9 min
Views29K
UPDATE из будущего: Не используйте этот подход! Для поиска логов намного лучше подходит простой поиск по регулярному выражению или подстроке встроенными средствами ClickHouse. Эта статья была написана давно, как интересный эксперимент, и у меня на тот момент не. было полного понимания того, как ClickHouse работает и как его лучше всего готовить. Я вас предупредил. Привет участникам телеграм-чатика «ClickHouse не тормозит»!

В этой статье я расскажу о том, как разработать систему для индексирования и полнотекстового поиска error-логов (или любых других логов) на основе СУБД от Яндекса под названием ClickHouse. Про саму базу Яндекс писал на Хабре сначала когда база была закрытой, а потом когда они её заопенсорсили. База данных в первую очередь предназначена для аналитики и для реализации сервиса Яндекс.Метрика, но может на самом использоваться для чего угодно, если вам подходит загружать данные пачками, удалять их тоже огромными пачками и никогда не обновлять отдельные строки.

Что мы будем делать


Мы будем реализовывать систему для индексирования и поиска по error-логам. При этом, считается, что сами логи вы уже сумели доставить на центральный сервер (или несколько серверов) и уже засунули сами тексты сообщений в базу, то есть у вас уже есть таблица в какой-нибудь базе данных примерно следующего вида:

CREATE TABLE Messages (
    message_id BIGINT PRIMARY KEY AUTO_INCREMENT,
    created_ts DATETIME,
    message_text BLOB
)


Мы научимся быстро отдавать результаты поиска по такому логу (то есть, всегда отсортированные по времени) и индексировать его в режиме реального времени.

Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments14

Переговоры о зарплате — как не прогореть

Reading time8 min
Views127K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


Что бы вы ни делали, не называйте ему конкретную цифру. Как только у него появится цифра, он сможет задать тон при продолжении переговоров. Эта цифра будет потолком — самое высокое предложение, которое вы сможете получить на этом месте. Но, скорее всего, вы получите меньше.

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Total votes 81: ↑67 and ↓14+53
Comments392

Яндекс открывает ClickHouse

Reading time14 min
Views167K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →
Total votes 176: ↑172 and ↓4+168
Comments204

Как настроить двухфакторную аутентификацию для логина и sudo

Reading time4 min
Views51K


Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
Читать дальше →
Total votes 69: ↑53 and ↓16+37
Comments86

Information

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