Search
Write a publication
Pull to refresh
5
0
Никита @briskly

User

Send message

Tolstoy Startup Camp: как Яндекс учит делать свой бизнес

Reading time8 min
Views33K
Однажды в студёную майскую пору обычным рабочим утром я читал Хабр. В тот день здесь появился пост от Яндекса о том, что в скором времени начнётся мероприятие по выращиванию стартапов с нуля — тогда оно было летнее и называлось Tolstoy Summer Camp. Прочитав детали мероприятия, я ещё подумал: «Два месяца? Серьёзный подход. Где-то в тридцать раз более серьёзный, чем в среднем по стартап-рынку».

Меня зовут Александр Янковский, и среди 12 готовых прототипов в финале прошлого Tolstoy Camp и трёх, которые получили инвестиции и поддержку Яндекса, был и мой проект Speaking Mind — агрегатор новостей, который умеет их зачитывать. Сегодня я хочу рассказать о своём личном опыте на Tolstoy Camp, что мне дали эти два месяца, и почему это стоит внимания.

Сразу признаюсь, что поводом для этого поста стало то, что сегодня Яндекс объявляет о наборе в новый Tolstoy Startup Camp — мастерскую для тех, кто хочет научиться создавать, разрабатывать и запускать стартапы. Как и в прошлом году, Яндекс ждёт заявки от разработчиков, дизайнеров и менеджеров. Никаких требований к образованию, опыту или месту, где вы живёте, нет, а иногородним оплачивает проживание в Москве. В этот раз занятия будут проходить весной — с 3 марта по 25 апреля. Если готовы участвовать, заполняйте анкету и приступайте к тестовому заданию.

image

Итак, постараюсь рассказать о том, как я стал участником кэмпа и что он мне дал.
Читать дальше →

Алгоритм быстрого поиска слов в игре балда

Reading time7 min
Views48K
Как-то в одной социальной сети наткнулся на игру балда с нестандартными правилами (большие поля и узелки). Программы-подбиралки в основном работают по классическим правилам и на полях 5х5. Поэтому у меня появился спортивный интерес написать свою подбиралку полностью адаптированную под нестандартные правила. Причем не просто написать подбиралку, а реализовать максимально быстрый алгоритм поиска слов.

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

Знания о языке и Яндекс. Зачем нам падежи? Лекция малой школы анализа данных

Reading time1 min
Views20K


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

В этой лекции Елена Грунтова раскрывает студентам Малого ШАДа понятие грамматической категории и подробно рассказывает падежах, их природе, типах, а также способах выражения.

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

Майнинг и как он работает: матчасть

Reading time6 min
Views563K

Привет, %username%!
Я расскажу и покажу как работает основа генерации денег в криптовалютах — майнинг. Как создается первый блок, новые блоки и как появляются деньги из ниоткуда.
Чтобы было проще понять, мы напишем свой импровизированный майнер для импровизированной криптовалюты HabraCoin.
Читать дальше →

Извлечение объектов и фактов из текстов в Яндексе. Лекция для Малого ШАДа

Reading time6 min
Views43K
В докладе рассказывается о том, как мы извлекаем сущности (например, имена людей и географические названия) из текстов и запросов. А также об извлечении фактов, т.е. связей между объектами. Мы рассмотрим несколько подходов к решению этих задач: формулирование правил, составление словарей всевозможных объектов, машинное обучение.

Лекция рассчитана на старшеклассников — студентов Малого ШАДа, но и взрослые смогут с ее помощью восполнить некоторые пробелы.

http://video.yandex.ru/users/e1coyot/view/4/
Конспект лекции

Архитектура Поиска Яндекса. Лекция для Малого ШАДа

Reading time4 min
Views29K
В этой лекции на примере Яндекса будут рассмотрены базовые компоненты, необходимые для организации интернет-поисковика. Мы поговорим о том, как эти компоненты взаимодействуют и какими особенностями обладают. Вы узнаете также, что такое ранжирование документов и как измеряется качество поиска.

Лекция рассчитана на старшеклассников – студентов Малого ШАДа, но и взрослые могут узнать из нее много нового об устройстве поисковых машин.





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

Взлом корпоративного портала SAP

Reading time9 min
Views19K
Популярность SAP NetWeaver Portal и его доступность из сети Интернет делают его привлекательным объектом для атаки на компании разного масштаба и профиля. В данной статье рассматривается, как потенциальный злоумышленник может взломать этот популярнейший модуль ERP-системы SAP и каким образом можно избежать подобной угрозы.

Бизнес-приложения представляют привлекательную мишень для атак компьютерных злоумышленников. Цели могут быть самые разные: промышленный шпионаж, нанесение финансовых и репутационных потерь, получение критичной информации с целью продажи. Как правило, атаки на бизнес-приложения и системы являются целенаправленными и выполняются людьми весьма квалифицированными.

SAP NetWeaver Portal (EP) является основной точкой входа в ERP-систему SAP для всех пользователей корпоративной сети. Портал, как правило, используется внутри компании как площадка, где хранится и обрабатывается как открытая информация (включая новости компании, данные о работниках и т. д.), так и закрытые сведения (внутренние документы, инструкции и распоряжения). Кроме того, портал предоставляет пользователям необходимые инструменты, с помощью которых они могут выполнять свои повседневные рабочие задачи: проводить встречи и совещания, управлять пользователями, редактировать документы, работать с необходимыми таблицами и т. д.

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

Базы знаний. Часть 2. Freebase: делаем запросы к Google Knowledge Graph

Reading time24 min
Views41K
image
Больше года назад Google объявил, что отныне в их поиске используется таинственная Сеть Знаний (официальный перевод Knowledge Graph). Возможно, не все знают, что значительная часть данных Сети доступна для использования всеми желающими и доступна по прекрасно описанному API. Этой частью является база знаний Freebase, поддерживаемая Google и энтузиастами. В этой статье мы сначала немного подурачимся, а потом попробуем сделать несколько простеньких запросов на языке MQL.
Эта статья — вторая из цикла Базы знаний. Следите за обновлениями.

  • Часть 1 — Введение
  • Часть 2 — Freebase: делаем запросы к Google Knowledge Graph
  • Часть 3 — Dbpedia — ядро мира Linked Data
  • Часть 4 — Wikidata — семантическая википедия

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

Основы анализа данных на python с использованием pandas+sklearn

Reading time9 min
Views175K
Добрый день уважаемые читатели. В сегодняшней посте я продолжу свой цикл статей посвященный анализу данных на python c помощью модуля Pandas и расскажу один из вариантов использования данного модуля в связке с модулем для машинного обучения scikit-learn. Работа данной связки будет показана на примере задачи про спасенных с "Титаника". Данное задание имеет большую популярность среди людей, только начинающих заниматься анализом данных и машинным обучением.
Читать дальше →

Профилирование и отладка Python, переходим к практике

Reading time14 min
Views45K
В прошлой статье мы определили понятия профилирования и оптимизации, познакомились с различными подходами к профилированию и видами инструментов. Немного коснулись истории профайлеров.

Сегодня я предлагаю перейти к практике и покажу на примерах способы ручного профилирования (и даже «метод пристального взгляда». Будут так же рассмотрены инструменты для статистического профилирования.
Поехали!

How-to: роботы и API брокерской торговой системы

Reading time5 min
Views81K
image

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

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

Борьба с производительностью Tastypie API

Reading time7 min
Views8.2K
Как я перетащил пакет Tastypie на Pony ORM и что из этого получилось.

Данная статья продолжает историю моей борьбы за производительность приложений на python и django.

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

Как Яндекс использует лингвистику в поиске

Reading time1 min
Views18K
Яндексу ежедневно приходится отвечать на десятки миллионов запросов. Поисковая система должна уметь быстро и точно их обрабатывать. Без применения лингвистики поисковая система сможет найти только точные совпадения в проиндексированных документах. Чтобы найти релевантные документы, системе необходимо правильно определить язык запроса, исправить опечатки, произвести морфологический разбор каждого слова, расширить запрос синонимами или вообще его переформулировать. В этой лекции Алексей Зобнин постарался дать студентам Малого ШАДа ответы на следующие вопросы:

  • Зачем нужно учитывать морфологию?
  • Как и зачем мы определяем язык запроса и документа?
  • Что такое корпус языка?
  • Что такое языковые модели, и как они применяются в поиске?
  • Как производится морфологический анализ несловарных слов?
  • Как определить правильное значение и морфологическую парадигму омонимов?
  • Какие бывают опечатки, и как мы их исправляем?
  • Что такое расширения запроса и чем они могут быть полезны?



Страница лекции

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

Опыт от Яндекса. Как делать свой отчет для автотестов

Reading time15 min
Views22K
Хочу поделиться опытом, о том, как создавать хорошие отчёты об автотестах и одновременно пригласить вас на первое мероприятие Яндекса специально про тестирование.

Сначала пару слов о событии. 30 ноября в Санкт-Петербурге мы проведём Тестовую среду — своё первое мероприятие специально для тестировщиков. Там мы расскажем, как у нас устроено тестирование, что мы сделали для его автоматизации, как работаем с ошибками, данными и графиками и о многом другом. Участие бесплатное, но мест всего 100, поэтому надо успеть зарегистрироваться.

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

Автоматизации тестирования на Тестовой среде будет посвящено несколько докладов, в том числе мой. Итак, начну.
image
Бывают unit-тесты, а бывают высокоуровневые. И когда их количество начинает расти, анализ результатов запусков становится проблемой. Скажите честно, кто из вас не думал сделать свой отчет?
Читать дальше →

Как это сделано: парсинг статей

Reading time4 min
Views82K


Для меня всегда было некоей магией то, как Getpocket, Readability и Вконтакте парсят ссылки на страницы и предлагают готовые статьи к просмотру без рекламы, сайдбаров и меню. При этом они практически никогда не ошибаются. А недавно подобная задача назрела и в нашем проекте, и я решил копнуть поглубже. Сразу скажу, что это «белый» парсинг, вебмастеры сами добровольно пользуются нашим сервисом.
Читать дальше →

Избранное: ссылки по IT безопасности

Reading time3 min
Views110K




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




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

Как мы ускорили поиск в Яндекс.Почте и при этом освободили 25 серверов

Reading time5 min
Views51K
Мы уже писали о том, как организована работа поиска писем в Яндекс.Почте. С тех пор много всего изменилось и улучшилось, поэтому мы решили поделиться опытом и рассказать вам об этих изменениях.

В день в Почту приходит порядка 100M писем, 10M из которых — с аттачами. Несмотря на то, что лишь 10% писем содержат вложение, среди писем с вложениями существенная доля тех, в которых файлов больше одного. В среднем получается, что общее количество писем равно суммарному количеству аттачей к ним.

image

Средний размер письма с аттачем составляет 400 кб, а письма без аттача 4 кб. Суммарный размер аттачей в одном письме может достигать 30 мб. ТОП 10 типов аттачей: .jpg, .pdf, .xls, .rar, .doc, .zip, .eml, .mp3, .tif, .docx. Практически все файловые форматы кроме текстового, содержат существенное количество избыточной служебной информации. Так, например: .docx формат, содержит всреднем всего 10 % текстовой информации, а из jpg мы получаем всего 0,25% метаинформации для индексации в поиск.

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

Советы практикующего андрагога: как мы учимся

Reading time7 min
Views45K
Люди, как известно, делятся на два типа: тех, кто читают инструкцию перед тем, как включать электроприборы, и тех, кто сначала включает, а в случае каких-то косяков начинает читать, что же он сделал не так.

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

Ведь всем известно, что корпоративные тренинги учат как жить в корпорации. Тебе вставляют в ухо шланг, через который начинают закачивать vision, mission & corporate values.

Поэтому, решил я, я сделаю свой тренинг, где расскажу всю правду-матку. И сделал. А что там делать? Берешь свой опыт, рисуешь красивые слайды, придумываешь упражнения — и вперед!

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

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

В прошлой статье [1] мы говорили о матрице осознанности и компетентности и том, как взрослые люди обучаются навыкам. Давайте теперь поговорим о модели обучения, которая дает ответ на вопрос, а как учить взрослых людей. О цикле Колба.

Поняв эту модель, вы сможете:
  • Четко понимать, почему одни тренинги и семинары оказываются полезными, а другие заходят плохо
  • Правильно обучать других людей — как в группах, так и индивидуально
  • С умным видом рассуждать на тему обучения взрослых людей, уверенно используя термин “цикл Колба”


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

Алгоритм поиска наименьшего общего предка в дереве

Reading time5 min
Views35K
На досуге мне пришла интересная идея, которую я развил в алгоритм нахождения наименьшего общего предка(LCA) двух вершин в дереве. До появления этой идеи других алгоритмов для поиска LCA я не знал. Проверив корректность работы я поспешил изучить другие алгоритмы для решения этой задачи, но аналогичных моему я не нашел. Теперь поспешу поделиться им с сообществом.

Введение

Деревом называется неориентированный связный граф из N вершин и N-1 ребер. Из любой вершины до любой другой существует ровно один простой путь.
Корнем дерева будет называться такая вершина, от которой задано направление движения по дереву при его обходе.
Наименьшим общим предком двух вершин u и v будет называться такая вершина p, которая лежит на пути из корня и до вершины v, и до вершины u, а также максимально удаленная от него.
Читать дальше →

Методики и принципы экстремального программирования

Reading time10 min
Views90K
Экстрема́льное программи́рование (англ. Extreme Programming, XP) — одна из гибких методологий разработки программного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.

Игра в планирование


Наш мир слишком изменчив и непредсказуем, чтобы полагаться на постоянство ситуации. То же происходит и при разработке программного обеспечения: о редкой системе можно сказать, что ее окончательный вид был заранее известен в деталях еще в самом начале разработки. Обычно у заказчика аппетит приходит во время еды: ему постоянно хочется что-то поменять, что-то улучшить, а что-то вообще выбросить из системы. Это и есть изменчивость требований, которую все так боятся. К счастью, человеку дано умение прогнозировать возможные варианты и, таким образом, держать ситуацию под контролем.
В экстремальном программировании планирование — неотъемлемая часть разработки и то, что планы могут поменяться, учитывается с самого начала. Той точкой опоры, методикой, которая позволяет прогнозировать ситуацию и безболезненно мириться с изменениями, является игра в планирование. В ходе такой игры можно быстро собрать известные требования к системе, оценить и запланировать их разработку в соответствии с приоритетностью.
Как и любая другая игра, планирование имеет своих участников и свою цель. Ключевой фигурой является, конечно же, заказчик. Именно он сообщает о необходимости той или иной функциональности. Программисты же дают ориентировочную оценку каждой функциональности. Прелесть игры в планирование заключается в единстве цели и солидарности разработчика и заказчика: в случае победы побеждают все, в случае поражения все проигрывают. Но при этом каждый участник идет к победе своей дорогой: заказчик выбирает наиболее важные задачи в соответствии с бюджетом, а программист оценивает задачи в соответствии со своими возможностями по их реализации.
Экстремальное программирование предполагает, что разработчики в состоянии сами решить, за какой промежуток времени они справятся со своими задачами и кто из них охотнее бы решил одну задачу, а кто другую.
В идеальной ситуации игра в планирование с привлечением заказчика и программиста должна проводиться каждые 3-6 недель, до начала следующей итерации разработки. Это позволяет довольно просто внести коррективы в соответствии с успехами и неудачами предыдущей итерации.
Читать дальше →

Information

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