Search
Write a publication
Pull to refresh
45
0
Табота Олег @nProfessor

Руководитель команды общих компонент в Яндекс.Еде

Send message

Умный дом — дешево и сердито, часть 2

Reading time2 min
Views171K
В жизни каждого умного дома возникает закономерный вопрос – как маленький нежный микроконтроллер своими пятью вольтами сможет коммутировать 220 вольт переменного тока?

Самый простой вариант – реле. Тут вам и гальваническая развязка, и замыкаешь что хочешь, хоть постоянный, хоть переменный, мало, много. Но и минусы у реле очень неприятные.

Первый – щелкает. Раздражает. Да, человек – штука такая, ко всему приспособится, и можно привыкнуть, но зачем привыкать к плохому?

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

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

Анализ неявных предпочтений пользователей. Научно-технический семинар в Яндексе

Reading time9 min
Views19K
Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, — важнейший фактор в ранжировании документов в результатах поиска или, например, показе рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.

Этому вопросу и было посвящено исследование, проведенное мной, Михаилом Агеевым, совместно с Дмитрием Лагуном и Евгением Агиштейном в Emory Intelligent Information Access Lab Университета Эмори.




Мы изучали методы сбора данных и алгоритмы анализа поведения пользователя по движениям мыши, а также возможности применения этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году. Позже я представил доклад о результатах проделанной работы в рамках научно-технических семинаров в Яндексе. Его конспект вы найдете под катом.
Читать дальше →

Умный дом — общая архитектура системы

Reading time2 min
Views82K
Когда я наконец решил рассказать хабру о моем умном доме — он был уже готов, и я не знал как рассказать так много, а самое главное — с чего начать. В предыдущем посте рассказывал о комнатных контроллерах, но, без общего представления какую роль эта штука играет в доме и зачем оно вообще надо — все это кажется, мягко говоря, оторванным от контекста.

Лучше поздно, чем никогда. Я наконец понял свою ошибку, и теперь начну с того, с чего обычно начинаются все книги — с оглавления.
Структурное представление умного дома:

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

Совместный эксперимент команд Яндекс.Почты и Nginx: действительно ли SPDY ускорит интернет?

Reading time7 min
Views67K
Мы в Яндекс.Почте совместно с командой Nginx провели исследование, чтобы на живом примере с подробностями расставить точки над «ё» в вопросе о том, насколько и за счет чего SPDY ускоряет интернет.

Про сам SPDY вы, конечно, знаете. В 2011 году несколько разработчиков компании Google опубликовали черновик нового протокола, призванного стать заменой привычному HTTP. Его основные отличия заключались в мультиплексировании ответов, сжатии заголовков и приоритизации трафика. Первые несколько версий были не вполне удачными, но к 2012 году спецификация устоялась, появились первые альтернативные (не из Google) реализации, доля поддержки в браузерах достигла 80%, вышла стабильная версия nginx с поддержкий SPDY.



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

Есть много интересных исследований вокруг SPDY, в том числе самого Google. Компания-автор протокола показывала, что в их случае SPDY ускоряет загрузку на 40%. Исследование протокола SPDY проводила и компания Opera. Но ни методик подсчета, ни примеров страниц, на которых были достигнуты столь впечатляющие результаты, в этих исследованиях не было.
Итак, что именно мы измеряли и к каким выводам пришли

Интерфейс приложения: наши ошибки и 16 советов как их не повторить

Reading time6 min
Views39K
Как только мы сделали первую версию iOS приложения, я начал упорно приставать к людям на футбольных полях и баскетбольных площадках с просьбой установить Topic и пощелкать его прямо при мне.

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


Изображение №1: поиск игр (Find a game в меню приложения)
Читать дальше →

Комплексная аналитика интернет-проекта с помощью Google Analytics и Google Docs

Reading time5 min
Views36K
В последнее время мы успели разобраться со множеством аналитических систем, построить экономическую модель и провести несколько экспериментов по оптимизации конверсий в регистрацию и активацию. Благодаря Илье Красинскому(ex. LinguaLeo product chief) мы научились правильной настройке и анализу данных Google Analytics, узнали как строить экономические модели интернет проектов. Далее мы стали разбираться с event based аналитикой и настройкой mixpanel. Теперь мы решили поделиться этими знаниями с хабросообществом.


В этой статье мы рассмотрим:
  • Построение экономики продукта с помощью Google таблиц
  • Формирование отчета Google Analytics по когортам и каналам
  • Создание таблицы анализа эффективности платных каналов

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

Правильный подход к использованию API Вконтакте

Reading time5 min
Views99K
Привет, Хабр!

В своё время, бороздя просторы интернета на предмет рационального использования API Вконтакте, я не смог найти чего-то вразумительного, единственные библиотеки, которые были найдены мной были реализованы без использования каких-либо общепринятых практик и без красивого кода. Я решил исправить, сложившееся недоразумение и написал свою библиотеку для работы с API Вконтакте.
Животрепещущие подробности и подходы под хабракатом.
Читать дальше →

Прокачай английский с LinguaLeo: cоздавай тематические словари, тренируй память и занимайся в группе!

Reading time4 min
Views34K


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

Во-первых, теперь каждый пользователь может создавать и публиковать тематические наборы слов на LinguaLeo. Ими можно поделиться со всеми или отправить ссылку на набор кому-то одному. Во-вторых, теперь все изучаемые наборы слов можно проводить через тренировку brainstorm. Она построена так, что пользователь быстро запоминает значение и написание слов. В третьих, изучать английский на LinguaLeo теперь можно в группе.

Под катом мы расскажем, что получилось и как оно работает.
Читать дальше →

Чего я хочу от инструментов разработки требований. Затычки, костыли и грабли СУТ

Reading time19 min
Views23K
Публикуем доклад Печенкина Григория с предыдущей конференции Analyst Days 2013.

Аннотация:


В части обеспечения профессиональными инструментами, аналитики представляют собой наиболее угнетённый класс по сравнению с другими участниками разработки ПО. Аналитики привыкли к этому и часто даже не задумываются о том, как часто в своей работе им приходится использовать неудобные и неэффективные «костыли». Кроме того, аналитику обычно приходится полностью менять свой инструментарий при смене работы, так как построенные на этих «костылях» системы почти всегда оказываются уникальными и не переносимыми.
В докладе будут рассмотрены некоторые типичные костыли и грабли систем управления требованиями, а также высказаны пожелания о том, каким должен быть инструмент мечты аналитика.

Видео доклада:



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

Высоконагруженные системы: решение основных проблем

Reading time7 min
Views55K
Привет, Хабр!

Сегодня я хочу рассказать о некоторых решениях проблем, которые возникают во время использования высоконагруженных систем. Все, о чем пойдет речь в этом материале, проверено на собственном опыте: я – Social Games Server Team Lead в компании Plarium, которая занимается разработкой социальных, мобильных, браузерных игр.

Для начала немного статистики. Plarium занимается разработкой игр с 2009 года. На данный момент наши проекты запущены во всех наиболее популярных социальных сетях («Вконтакте», «Мой мир», «Одноклассники», Facebook), несколько игр интегрированы в крупные игровые порталы: games.mail.ru, Kabam. Отдельно существует браузерная и мобильная (iOS) версии стратегии «Правила войны». В базах числятся более 80 миллионов пользователей (5 игр, локализация на 7 языках, 3 миллиона уникальных игроков в день), в итоге все наши серверы получают в среднем около 6500 запросов в секунду и 561 миллион запросов в сутки.

В качестве аппаратной платформы на боевых серверах в основном используются два серверных CPU с 4 ядрами (x2 HT), 32-64 GB RAM, 1-2 TB HDD. Серверы работают на базе Windows Server 2008 R2. Контент раздается через CDN с пропускной способностью до 5 Gbps.
Разработка ведется под .NET Framework 4.5 на языке программирования C#.

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

Все самое интересное - под катом

Логика мышления. Часть 13. Ассоциативная память

Reading time8 min
Views31K


Этот цикл статей описывает волновую модель мозга, серьезно отличающуюся от традиционных моделей. Настоятельно рекомендую тем, кто только присоединился, начинать чтение с первой части.

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

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

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

Видео докладов с конференции LoveQA. Вторая часть

Reading time1 min
Views10K
С радостью делимся второй частью докладов с конференции для тестировщиков LoveQA, которую мы проводили в середине февраля. Первую часть докладов можно посмотреть по ССЫЛКЕ.

Доклады


«Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей».
Виталий Котов, Badoo.





«Как мы разгоняли тесты — от баш-скриптов до облака».
Илья Relz Кудинов, Badoo.




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

Скорочтение по технологии spritz на любом сайте

Reading time2 min
Views169K


Совсем недавно, была представлена технология скорочтения spritz (500 слов в минуту без подготовки) она позволяет вам читать тексты намного быстрее, но, к сожалению, разработчик не реализовал тогда её в виде приложения для прочтения собственных текстов.

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

Снимаем постпродажный шок: короткий совет для интернет-магазинов

Reading time5 min
Views99K
Привет! Есть такая штука – постпродажный шок. Это когда человек купил что-то, отдал деньги, получил вещь в руки… и начинает лихорадочно думать, зачем он это сделал.

В крупных городах, где шоппинг развит, это не так актуально, как в регионах (где до кучи ещё и зарплаты несколько меньше). Поэтому у нас есть одна рекомендованная механика, которая помогает этот шок снимать.

Сейчас расскажу.
Читать дальше →

Есть ли жизнь после смерти у стартапов?

Reading time4 min
Views11K
image
Недавно мне довелось побывать в Оптиной пустыни. Там в часовне Воскресения Христова на окошке стояла книга, привлекшая моё внимание. «Инструкция для бессмертных, или Что делать, если вы всё-таки умерли», — гласило её название. Не смог удержаться, чтобы не ознакомиться с книжкой с таким прелюбопытнейшим названием, благо она была совсем небольшой по объему. Автор даёт советы как подготовиться к неизбежной для каждого человека смерти, как правильно себя вести в столь важный для человеческой души момент, как не испугаться и пройти все мытарства, ожидающие за порогом смерти, как достичь рая, а не ада.

Вернувшись домой, я сразу вспомнил про ту горечь, которую испытываю всякий раз, когда получаю на свой email очередное сообщение, что важный для меня проект закрывается. «Мы премного благодарны всем, кто был с нами всё это время, кто верил в нас, но мы вынуждены закрыть проект». За последние пять лет, что я занимаюсь Дарударом, с примерно такими словами умерли десятки проектов, к которым я испытывал самый живой интерес. И мне всегда любопытно, куда отправляются эти закрывающиеся проекты? Как распоряжаются их создатели тем, что совсем недавно было еще таким живым и вселяющим надежду?
Читать дальше →

Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

Reading time15 min
Views80K
В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

Главная страница интрнет-магазина в axure
Читать дальше →

Противодействие здравому смыслу. О возможной блокировке Яндекса по решению Хабаровского суда

Reading time2 min
Views52K
10 декабря 2013 года прокурор обратился в Центральный районный суд Хабаровска с иском о противодействии экстремизму. 5 февраля было вынесено решение суда — «Ростелеком» обязан заблокировать доступ к нескольким ресурсам. В их числе — Яндекс и Кинопоиск. Решение должно вступить в силу с 12 марта — если до этого момента его не оспорят заинтересованные лица или кто-то из участников дела.

В решении суда сказано, что на страницах yandex.ru/video/search?text= и kinopoisk.ru/film/79500 размещены ссылки на скачивание фильма «Вечный жид», который признан экстремистским материалом и запрещён на территории России. Однако ни на одной из этих страниц ссылки на скачивание фильма не размещались и не могли размещаться. Страница на поиске Яндекса по Видео представляет собой пустой поисковый запрос, по которому нет не только запрещённого фильма, но и вообще ничего. По ссылке на Кинопоиск находится только справочная информация о фильме, в том числе о том, что в России он внесён в список экстремистских материалов. К тому же ни на Яндекс.Видео, ни на Кинопоиске вообще не предполагаются ссылки на скачивание контента.

Поскольку решение суда обязывает «Ростелеком» ограничивать доступ к yandex.ru/video/search?text= по IP-адресу, то более чем у 9 миллионов его абонентов может оказаться заблокирован весь поиск Яндекса.
Читать дальше →

Нелицеприятный тест вашего Agile

Reading time5 min
Views54K


Когда-то мне доводилось участвовать в попытках внедрения Agile в команде, разрабатывающей ПО. В регулярных дискуссиях, стараясь, чтобы это внедрение не превратилось в карго-культ, я снова и снова цитировал пост в блоге Элизабет Хендриксон. Ему уже больше трёх лет, но мне он нравится, и я бы хотел представить вашему вниманию (и вашей борьбе с карго-культом) перевод этого поста.
Читать дальше →

Information

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

Specialization

Backend Developer, Fullstack Developer
Lead
From 10,000 $
Symfony
PHP
High-loaded systems
OOP
Database
SQL