Pull to refresh
217
0
Леонид Клюев @Leono

Интернет щей

Send message

«Не будем порождать теории заговора». Разговор про ML-конференции с людьми из науки и IT-компаний

Reading time6 min
Views3.2K
Сейчас почти никакие публичные мероприятия не проходят, но мы надеемся, что скоро ситуация изменится (и прикладываем к этому усилия). Мы ждём, что перенесённые события пройдут в другие даты, а будущие — не отменятся, поскольку в их отмене не будет необходимости. В том числе в 2020 году должны пройти десятки больших конференций по машинному обучению.

NeurIPS (бывшая NIPS) считается самой престижной из них. Каждый год NeurIPS собирает тысячи исследователей и инженеров, которые представляют свои научные результаты в разных областях ML: глубоком обучении, обучении с подкреплением, масштабируемой оптимизации, байесовских методах и другом.



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

Глазные интерфейсы. Доклад в Яндексе

Reading time5 min
Views3.9K
В феврале Яндекс провёл вторую конференцию «Я Фронтенд». Мы сделали её непохожей на наши традиционные Я.Субботники — почти все спикеры были не из Яндекса, чтобы зрители могли узнать об опыте разных компаний и разработчиков. За день было съедено 10 кг мармелада, гости посмотрели, как работает робот-курьер Яндекс.Ровер, а вечером поболели за участников контеста Code in the Dark.





Как всегда, мы опубликуем конспекты нескольких докладов с конференции. Иван Бакаидов ibakaidov работает программистом в компании LINKa в Санкт-Петербурге. Он создатель программ альтернативной коммуникации и защитник прав людей без подписи. Ваня выступал на сессии комиссии по делам глухих в чрезвычайных ситуациях гуманитарного саммита ООН в Стамбуле. У нас на конференции он рассказал о «глазных интерфейсах» — поделился опытом разработки детских обучающих игр и приложений, управляемых с помощью устройства отслеживания взгляда и предназначенных для людей с ограниченными возможностями здоровья. Из конспекта и видео вы узнаете о подводных камнях в создании «глазных интерфейсов» и сможете ответить для себя на вопрос, будущее ли это.
Читать дальше →

Как проверить навыки программирования на Python? Задачи от Яндекса

Reading time9 min
Views66K

Хакатон в Школе бэкенд-разработки

В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.
Читать дальше →

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса

Reading time11 min
Views7K
Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе для студентов и начинающих специалистов Артур объяснил, что должен уметь разработчик, чтобы создавать современный мобильный софт.


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

Мобильная разработка — это просто и скучно? Доклад Яндекса

Reading time9 min
Views16K

Существует миф, что создавать приложения для iOS или Android проще, чем быть, скажем, бэкенд-разработчиком. Разумеется, это не так: в работе с любой платформой есть свои сложности, всюду возникают неочевидные проблемы, требующие навыков в предметной области и за её пределами. Роман Абузяров из команды Яндекс.Чатов подготовил доклад о своих нескольких задачах, который показывает, насколько широкими знаниями должен обладать специалист по iOS. Доклад предназначен для начинающих и junior-разработчиков.
Читать дальше →

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса

Reading time16 min
Views238K
gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве протокола для построения интеграций между сервисами на Java и C++. Из доклада вы узнаете, как избежать частых проблем, если вы начинаете использовать gRPC после REST, как возвращать ошибки, реализовать трассировку, отлаживать запросы и тестировать вызовы клиентов. В конце есть неофициальная запись доклада.

— Сначала хотелось бы познакомить вас с некоторыми фактами про Яндекс.Маркет, они будут полезны в рамках доклада. Первый факт: мы пишем сервисы на разных языках. Это накладывает требования по наличию клиентов для сервисов.
Читать дальше →

Arc — система контроля версий для монорепозитория. Доклад Яндекса

Reading time11 min
Views55K
Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, либо разрабатывают собственные системы: Piper и CitC в Google и Arc VCS в Яндексе.

В докладе разработчик Владимир Кихтенко kikht рассказывает, зачем Яндексу понадобилась собственная система контроля версий и как она работает. Рассмотрим её со стороны рядового разработчика: как получить доступ к исходному коду, отвести ветку для разработки и интегрировать изменения в общую кодовую базу. Заглянем под капот — узнаем про внутреннее представление данных и их отображение в виртуальной файловой системе с рабочей копией. Обсудим трудности при реализации функций VCS в виртуальной файловой системе и при ленивой загрузке данных. Поговорим о том, как обеспечивать надежность серверной инфраструктуры репозитория. В конце можно посмотреть неофициальную запись доклада.

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

Бот для тетриса и реверс-инжиниринг анимации. Разбор мобильного трека второго чемпионата по программированию

Reading time18 min
Views6.5K

Победители мобильного трека

В уходящем году Яндекс провел два онлайн-чемпионата по программированию. Мы продолжаем публиковать разборы задач второго чемпионата. Напоминаем, что участникам было предложено четыре трека: машинное обучение, фронтенд, мобильная разработка и бэкенд. Перед вами разбор квалификационного раунда для мобильных разработчиков — 121 человек из числа прошедших квалификацию затем приняли участие в финале. Задачи придумали специалисты из Яндекс.Браузера и других команд поискового портала. В этом хабрапосте мы коснемся темы генетических алгоритмов, напишем бота для тетриса и пройдем квест разными для Android и iOS методами.

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

Зачем учить Java и как делать это эффективно. Доклад Яндекса

Reading time11 min
Views63K
Чем Java отличается от других популярных языков? Почему именно Java может быть первым языком для изучения? Давайте составим план, который поможет выучить Java как с нуля, так и с применением навыков программирования на других языках. Перечислим отличия между созданием продакшен-кода на Java и разработкой на других языках. Михаил Затепякин прочитал этот доклад на встрече для будущих участников стажировки Яндекса и других начинающих разработчиков — Java Junior meetup.


— Всем привет, меня зовут Миша. Я разработчик из Яндекс.Маркета, и сегодня я расскажу вам, зачем учить Java и как делать это эффективно. Вы можете задать резонный вопрос: почему это буду рассказывать я, а не какой-нибудь сильный разработчик с кучей лет стажа? Дело в том, что я сам изучал Java недавно, года полтора назад, поэтому еще помню, как это примерно было и какие есть подводные камни.
Читать дальше →

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию

Reading time33 min
Views10K
Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий спектр навыков разработчика интерфейсов, включая способность разобраться в необычной предметной области.

A. Аннигилируй это

Авторы: Максим Сысоев, Константин Петряев

Первая задача — разминочная. Каждому участнику доставался один из четырёх вариантов задачи, похожих между собой. Мы предложили не только текстовое условие, но и «плохое» рекурсивное решение. Нужно было переделать код (написать жадный алгоритм, который выдавал самое быстрое решение), убрав рекурсию и разные глупости вроде лишних операций и вычислений.

Условие


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

Второй чемпионат по программированию: разбираем задачи ML-трека

Reading time16 min
Views13K
В октябре состоялся второй чемпионат по программированию. Мы получили 12 500 заявок, более 6000 человек попробовали свои силы в соревнованиях. В этот раз участники могли выбрать один из следующих треков: бэкенд, фронтенд, мобильную разработку и машинное обучение. В каждом треке требовалось пройти квалификационный этап и финал.

По традиции мы опубликуем разборы треков на Хабре. Начнём с задач квалификационного этапа по машинному обучению. Команда подготовила пять таких задач, из которых составила два варианта по три задачи: в первом варианте были задачи A1, B1 и C, во втором — A2, B2 и C. Варианты случайно распределялись между участниками. Автор задачи C — наш разработчик Павел Пархоменко, остальные задачи составил его коллега Никита Сендерович.

За первую простую алгоритмическую задачу (A1/A2) участники могли получить 50 баллов, правильно реализовав перебор по ответу. За вторую задачу (B1/B2) мы давали от 10 до 100 баллов — в зависимости от эффективности решения. Чтобы получить 100 баллов, требовалось реализовать метод динамического программирования. Третья задача была посвящена построению кликовой модели по предоставленным обучающим данным. В ней требовалось применить методы работы с категориальными признаками и воспользоваться нелинейной моделью обучения (например, градиентным бустингом). За задачу можно было получить до 150 баллов — в зависимости от значения функции потерь на тестовой выборке.
Читать дальше →

Горизонтальный vs. вертикальный рост разработчика. Мнения из ivi и Яндекса

Reading time7 min
Views12K
Одну из сессий конференции YaTalks мы посвятим росту разработчиков. Это будет разговор между представителями разных фирм — мы пригласили CTO онлайн-кинотеатра ivi Евгения eross Россинского, технического директора mos.ru Романа romas1982 Ивлиева и Германа Наркайтиса — директора по инжинирингу компании Apstra. От нас будут участвовать руководители разных команд в поисковом портале: Ольга Мегорская и (в роли модератора) Андрей yafinder Плахов.

Мы подумали, что перед дискуссией стоит «синхронизироваться» в терминах. Все хотя бы примерно представляют, что такое вертикальный рост. С горизонтальным всё сложнее: хорошие примеры выросших горизонтально людей не так видны из-за пределов компании. В чём состоит их работа? Они пишут код или только занимаются код-ревью, составлением методологий и т. д.? А возвращаясь к вертикальному росту — какие главные проблемы встают перед (будущим) тимлидом? Мы задали эти вопросы участникам дискуссии и сегодня публикуем их ответы на Хабре. Тех разработчиков, кто выбрал горизонтальную ветку развития, будем называть экспертами — имея в виду, что они управляют не людьми, а технологиями.

Евгений Россинский, CTO ivi




Небезразличные разработчики


Помимо вертикального роста, по административной линии, разработчики могут расти горизонтально — в технологических экспертов. Тогда важнее хард-скиллы. Это очень сильные, небезразличные разработчики, которые развивают концепцию архитектуры продукта. Им не требуется менеджмент — они самостоятельно находят «дырки» в продуктах и закрывают их. Если надо, они сами пишут код, собирают и разбирают команды. На таких людях у нас держится большая часть архитектурных решений. В нашей компании 26 команд, в каждой из них примерно по 10 человек, из них 2-3 эксперта. Более того, иногда мы создаём команды только из таких суперзвёзд. Рост эксперта зависит от уровня и количества проектов, которые он курирует.
Читать дальше →

Как масштабировать дата-центры. Доклад Яндекса

Reading time22 min
Views20K
Мы разработали дизайн сети дата-центров, который позволяет разворачивать вычислительные кластеры размером больше 100 тысяч серверов с полосой бисекции (bisection bandwidth) свыше одного петабита в секунду.

Из доклада Дмитрия Афанасьева вы узнаете об основных принципах нового дизайна, масштабировании топологий, возникающих при этом проблемах, вариантах их решения, об особенностях маршрутизации и масштабирования функций forwarding plane современных сетевых устройств в «плотных» (densely connected) топологиях с большим числом ECMP-маршрутов. Кроме того, Дима коротко рассказал об организации внешней связности, физическом уровне, кабельной системе и способах дальнейшего увеличения емкости.



— Всем добрый день! Меня зовут Дмитрий Афанасьев, я сетевой архитектор Яндекса и занимаюсь преимущественно дизайном сетей дата-центров.
Читать дальше →

Как Браузер для iOS А/Б-тестирование улучшал. Доклад Яндекса

Reading time17 min
Views3.6K
Не так давно мы посмотрели, как устроены A/Б-эксперименты в Поиске. Руководитель бригады разработки iOS-версии Яндекс.Браузера Андрей Сикерин sav42 на последней встрече CocoaHeads Russia тоже рассказывал про инфраструктуру А/Б-тестирования, только уже в своем проекте.



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

Какие soft skills нужны разработчику? Мнения из Яндекса

Reading time7 min
Views22K
Скоро начнется большая студенческая олимпиада «Я — профессионал». Она уже несколько лет проходит в онлайне и офлайне. Участвовать могут студенты самых разных специальностей, включая технические. Олимпиаду организуют 26 ведущих вузов: НИУ ВШЭ, МГУ, МГТУ, МФТИ, МИФИ, СПбГУ, Университет ИТМО и другие.

Яндекс — технический партнер проекта. Для нас «Я — профессионал» уже второй год подряд становится хорошим поводом поговорить про важность софт-скиллз (гибких навыков) в работе разработчиков и других специалистов. Год назад в нашем московском офисе прошла встреча для участников олимпиады, посвященная софт-скиллам. Говорил о них и руководитель офиса разработки Яндекса в Новосибирске Сергей Бражник, выступая на тренинге, входящем в программу «Я — профессионал». Сегодня Сергей и еще двое руководителей в Яндексе — Анна Федосова и Олег Мохов Olegbl4 — расскажут для Хабра о гибких навыках: какие они бывают, какие из них нужны разработчику, где их получать и как их наличие сказывается на росте в компании.

Сергей Бражник, руководитель офиса разработки в Новосибирске, директор по развитию региональных образовательных проектов




— Для разработчика важны «4К»: критическое мышление, креативность, кооперация и коммуникация. Принято считать, что коммуникация в этой профессии — не важный навык, но если задуматься, он необходим для профессионального роста: нужно уметь задавать вопросы, слушать и слышать собеседника, объяснять свою точку зрения и принимать чужую, говорить и договариваться. Стажер может не уметь работать в команде или критически мыслить — и это нормально, потому что у него еще нет такого бэкграунда.
Читать дальше →

Blackbox-мониторинг в Clos-сетях. Доклад Яндекса

Reading time10 min
Views6.1K
Топология современных дата-центров и устройства в них уже не позволяют довольствоваться исключительно whitebox-мониторингом. С течением времени понадобился инструмент, который покажет работоспособность конкретных устройств, исходя из реальной ситуации с передачей трафика (dataplane) в любом месте Clos-сети. Несколько недель назад на конференции Next Hop сетевой инженер Яндекса Александр Клименко поделился опытом решения этой проблемы.



— Я работаю в отделе эксплуатации и развития сети Яндекса, и меня иногда заставляют решать какие-то проблемы, вместо того чтобы рисовать на листочках красивые облачка или изобретать светлое будущее. Приходят люди и говорят, что у них что-то не работает. Если это дело мониторить, если наши дежурные инженеры будут видеть, что именно не работает, то мне самому будет легче. Так что эти полчаса будут посвящены мониторингу.
Читать дальше →

Беспилотный автомобиль: оживляем алгоритмы. Доклад Яндекса

Reading time11 min
Views16K
Подробная расшифровка еще одного доклада со встречи Яндекс.Железо — про разработку устройств для беспилотника.



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

Как научить Алису управлять вашим умным домом. Доклад Яндекса

Reading time10 min
Views28K
В конце сентября прошла наша первая встреча для hardware-разработчиков — Яндекс.Железо. Это важный шаг на новом для нас рынке производителей устройств. Участники (около 150 человек) послушали доклады, пообщались и провели много времени на стендах, где можно было заглянуть внутрь беспилотного автомобиля, обезвредить «бомбу», перерезав нужные провода, разобрать Яндекс.Станцию (рекорд — 6 минут 23 секунды), а также протестировать бортовой компьютер Яндекс.Авто и умный дом.





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

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем

Reading time12 min
Views22K
В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков victor-homyakov описал типичные ошибки, которые встречались ему в проектах на языках Java, C# и JavaScript от разных авторов. Перед ними вставали одни и те же задачи: получить текущую дату и время, измерить интервалы или выполнить код асинхронно.



— До Яндекса я работал в других продуктовых компаниях. Это не как фрилансер — написал, сдал и забыл. Приходится очень долго работать с одной кодовой базой. И я, собственно, смотрел, читал, писал много кода на разных языках и увидел много чего интересного. В итоге у меня родилась тема этого рассказа.

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

Жадный подход и игровые автоматы. Разбор задач ML-трека чемпионата по программированию

Reading time16 min
Views12K


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

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

Information

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