company_banner
  • Разработчики остались неизвестны. Лекция Яндекса

      Этот доклад руководителя группы разработки ClickHouse Алексея Миловидова представляет собой обзор мало кому известных СУБД. Некоторые из них устарели, некоторые прекратили свое развитие и заброшены. Алексей обращает внимание на интересные архитектурные решения в перечисленных примерах, разбирается в их судьбе и объясняет, каким требованиям должен отвечать ваш опенсорс-проект.


      — Мой доклад будет про базы данных. Позвольте сразу спросить, схема метрополитена какого города изображена на этом слайде? Все линии идут в одну сторону.
      Читать дальше →
    • Как сэкономить память на вкладках браузера, но не потерять их содержимое. Опыт команды Яндекс.Браузера

        Когда браузерам не хватает памяти, они выгружают из нее наиболее старые вкладки. Это раздражает, потому что клик по такой вкладке приводит к принудительной перезагрузке страницы. Сегодня мы расскажем читателям Хабра о том, как команда Яндекс.Браузера решает эту проблему с помощью технологии Hibernate.

        Браузеры, основанные на Chromium, создают по процессу на каждую вкладку. У этого подхода множество достоинств. Это и безопасность (изоляция сайтов друг от друга), и стабильность (падение одного процесса не тянет за собой весь браузер), и ускорение работы на современных процессорах с большим количеством ядер. Но есть и минус – более высокое потребление оперативной памяти, чем при использовании одного процесса на всё. Если бы браузеры ничего с этим не делали, то их пользователи постоянно видели бы что-то подобное:



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

        Также в Chromium уже достаточно давно работают над тем, чтобы останавливать JS-таймеры в фоновых вкладках. Иначе очистка кэшей теряет смысл, т.к. активности в фоновых вкладках их восстанавливают. Считается, что если сайты хотят работать в фоне, то нужно использовать service worker, а не таймеры.

        Читать дальше →
      • Android Go — будущий миллиард устройств и лимит в 50 МБ. Лекция Яндекса

          Новые направления развития уже знакомой платформы — это всегда интересно. С одной стороны, вы расширяете клиентскую базу, с другой — не вкладываетесь в создание софта с нуля, а используете существующие наработки. Но если направление действительно новое, со своей спецификой, то совсем малой кровью обойтись не удастся. На очередной встрече сообщества Mosdroid в нашем офисе разработчик Артур Василов Arturka рассказал об адаптации приложения «Яндекс» под систему Android Go.


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

          Читать дальше →
        • Четыре пути из Школы анализа данных Яндекса

            Яндекс готовит специалистов в области data science с 2007 года. Студенты ценят Школу анализа данных за актуальность учебных программ и курсов, но они не всегда понимают, что их ждет по ее окончании. Работа с данными в Яндексе или в другой крупной компании? Но какая?



            Изначально в Школе было два отделения: компьютерные науки и анализ данных. В 2014 году, когда в моду вошли big data, появилась третья специализация — большие данные. В этом году для того, чтобы студентам сразу стали понятнее их перспективы, мы провели реформу отделений: теперь обучение будет проходить в рамках четырёх профессиональных треков. Наша первоочередная задача — рассказать студенту о возможных путях развития и помочь понять, какие курсы помогут в достижении цели.

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

            Читать дальше →
          • Разработка чат-бота с заданной личностью. Лекция в Яндексе

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


              И конечно, берите отпуск на хакатон. Когда вы участвуете в недельном хакатоне и одновременно еще и работаете, это плохо. Вы приходите в 7 вечера, немножко поработавший, садитесь и компилите Docker с TensorFlow, Keras, чтобы все это запустилось на каких-то удаленных серверах, к которым у вас даже доступа нет. Где-то в два ночи вы ловите катарсис, и у вас это работает — без Docker, без всего, потому что вы поняли, что можно и так.

              Читать дальше →
            • Рецепт полезного код-ревью от разработчика из Яндекса



                Привет. Меня зовут Сергей, последние пять лет я работаю в Яндексе. За это время участвовал в разработке одиннадцати проектов. Писал код на JavaScript, Python и C++. Некоторые проекты делал в одиночку, другие разрабатывал в группе из восьми человек. Но в каждой команде, на всех проектах, вне зависимости от языка программирования я использовал код-ревью.


                С помощью код-ревью я постоянно узнаю что-то новое. Иногда, глядя на чужой код, хочется воскликнуть: "А что, так тоже можно?". В чужом коде я нахожу интересные приёмы и беру их себе на вооружение. Много новых знаний черпаю из комментариев к моему коду. Для меня стало открытием, что люди любят делиться своим опытом. Даже когда я разрабатываю проект в одиночку, то прошу ребят из другой команды посмотреть мои пулреквесты. Это мотивирует писать красивый и понятный код.


                Но так было не всегда. Когда-то ревью было для меня наказанием. Я мог неделю с вдохновением писать код, вкладывая в него все силы. Отправлял пулреквест, трижды пинговал ревьювера, а в ответ получал сухое "вроде ок" или, что ещё хуже, десятки комментариев не по существу.


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


                Если вы чувствовали это на себе, значит, статья для вас. Сегодня я расскажу о приёмах и инструментах, которые использую каждый день на протяжении пяти лет ежедневного код-ревью.

                Читать дальше →
              • Как Яндекс создавал дополненную реальность в Картах для iOS. Опыт использования ARKit

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


                  Меня зовут Дмитрий, и я разрабатываю Яндекс.Карты для iOS. Сегодня я расскажу читателям Хабра о том, как мы создавали маршрутизацию с использованием дополненной реальности. Вы также узнаете об особенностях применения фреймворка ARKit, благодаря которому внедрение дополненной реальности перестало быть уделом лишь специалистов в области компьютерного зрения.



                  Читать дальше →
                • Компьютерное зрение в промышленности. Лекция в Яндексе

                    Машинное обучение продолжает проникать в индустрии за пределами интернет-отрасли. На конференции Data&Science «Мир глазами роботов» Александр Белугин из компании «Цифра» рассказал об успехах, сложностях и актуальных задачах на этом пути. Внедрение таких технологий, как компьютерное зрение, требует серийности и продуктового подхода, позволяющего снизить стоимость единичных внедрений. Дело в том, что видов задач на производстве очень много. Из доклада можно узнать о продуктах, мировых трендах и опыте команды Александра в сферах промышленной безопасности и автоматизации процессов.


                    — Доброе утро. Рад, что все пришли на эту интересную конференцию. Я сначала кратко расскажу про компанию «Цифра», затем — немного о задачах, которые стоят в промышленности, и о типовых способах решения таких задач. Это задачи без роботов, не сборочные, а разные процессные производства. В конце немного рассмотрим наш опыт.
                    Читать дальше →
                    • +29
                    • 2,9k
                    • 6
                  • 3D-реконструкция лиц по фотографии и их анимация с помощью видео. Лекция в Яндексе

                      В фильме «Миссия невыполнима 3» был показан процесс создания знаменитых шпионских масок, благодаря которым одни персонажи становятся неотличимы от других. По сюжету, сначала требовалось сфотографировать того, в кого герой хотел превратиться, с нескольких ракурсов. В 2018 году простую 3D-модель лица можно пусть и не напечатать, но, по крайней мере, создать в цифровом виде — причём на основе всего одной фотографии. Научный сотрудник VisionLabs подробно описал процесс на мероприятии Яндекса «Мир глазами роботов» из серии Data&Science — с детализацией до конкретных методов и формул.


                      — Добрый день. Меня зовут Николай, я работаю в компании VisionLabs, которая занимается компьютерным зрением. Наш основной профиль — распознавание лиц, но также у нас есть технологии, которые применимы в дополненной и виртуальной реальности. В частности, у нас есть технология построения 3D-лица по одному фото, и сегодня я буду рассказывать о ней.

                      Читать дальше →
                      • +11
                      • 2,6k
                      • 2
                    • Как сократить код-ревью с двух недель до нескольких часов. Опыт команды Яндекс.Маркета

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


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


                        Для начала надо представить, какой флоу в разработке у нас принят:


                        Читать дальше →
                      • Как Яндекс готовит фронтендеров. От программы на Coursera до курсов в университете

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

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



                          Читать дальше →
                        • Прогнозирование продаж недвижимости. Лекция в Яндексе

                            Успех в проектах по машинному обучению обычно связан не только с умением применять разные библиотеки, но и с пониманием той области, откуда взяты данные. Отличной иллюстрацией этого тезиса стало решение, предложенное командой Алексея Каюченко, Сергея Белова, Александра Дроботова и Алексея Смирнова в конкурсе PIK Digital Day. Они заняли второе место, а спустя пару недель рассказали о своём участии и построенных моделях на очередной ML-тренировке Яндекса.


                            Алексей Каюченко:
                            — Добрый день! Мы расскажем о соревновании PIK Digital Day, в котором мы участвовали. Немного о команде. Нас было четыре человека. Все с абсолютно разным бэкграундом, из разных областей. На самом деле, мы на финале познакомились. Команда сформировалась буквально за день до финала. Я расскажу про ход конкурса, организацию работы. Потом выйдет Сережа, он расскажет про данные, а Саша расскажет уже про сабмишен, про финальный ход работы и про то, как мы двигались по лидерборду.

                            Читать дальше →
                          • Как писать программы на стыке мобильной разработки и алгоритмов? Конкурс и истории Яндекса

                              С 10 по 22 сентября пройдет конкурс Яндекс.Блиц по мобильной разработке. Регистрация открыта. Блиц — это короткий путь в Яндекс: участникам топ-5 будет достаточно успешно пройти одну секцию собеседования вместо стандартных четырех, чтобы получить предложение по работе.

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



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

                              Читать дальше →
                              • +27
                              • 7,4k
                              • 1
                            • Опыт использования WebRTC. Лекция Яндекса

                                Что лучше использовать при разработке софта — нативные или веб-технологии? Холивар по этому поводу закончится ещё не скоро, но мало кто станет спорить, что нативные функции полезно продублировать для использования в браузерах или WebView. И если когда-то приложения для звонков существовали исключительно отдельно от браузера, то теперь их легко реализовать и в вебе. Разработчик Григорий Кузнецов объяснил, как пользоваться технологией WebRTC для P2P-соединений.


                                — Как вы все знаете, в последнее время появляется довольно много приложений, в основу которых заложен прямой обмен данными между двумя браузерами, то есть P2P. Это всевозможные мессенджеры, чаты, звонилки, видеоконференции. Также это могут быть приложения, которые производят какие-то распределенные вычисления. Пределы фантазии никак не ограничиваются.
                                Читать дальше →
                              • Многомодульность и Dagger 2. Лекция Яндекса

                                  Когда ваше приложение построено на многомодульной архитектуре, приходится посвящать много времени тому, чтобы все связи между модулями были корректно прописаны в коде. Половину этой работы можно поручить фреймворку Dagger 2. Руководитель группы Яндекс.Карт для Android Владимир Тагаков Noxa рассказал о плюсах и минусах многомодульности и удобной организации DI внутри модулей при помощи Dagger 2.


                                  — Меня зовут Владимир, я разрабатываю Яндекс.Карты и сегодня буду рассказывать вам про модульность и второй Dagger.
                                  Читать дальше →
                                  • +12
                                  • 4,9k
                                  • 2
                                • Яндекс вновь открывает набор в Школу разработки интерфейсов. Примеры лекций и домашних заданий с предыдущего набора

                                    Приглашаем студентов вузов и начинающих специалистов в Школу разработки интерфейсов Яндекса. Обучение бесплатное, и в этот раз будет открыто сразу в трёх городах: Москве, Санкт-Петербурге и Симферополе. Приём заявок закрывается уже в августе.

                                    Кто такой разработчик интерфейсов? Это тот, кто разрабатывает на HTML, CSS, JavaScript и отвечает за реализацию взаимодействия с пользователем. В нашей Школе мы делаем акцент на практике, потому что верим, что качественного результата можно добиться только через опыт, а теория сейчас легко доступна для всех. К примеру, сегодня мы поделимся с читателями Хабра всеми записями наших лекций с предыдущего набора Школы.


                                    Читать дальше →
                                    • +13
                                    • 7,9k
                                    • 6
                                  • Лучшие доклады про машинное обучение с ICML 2018 по версии сотрудников Яндекса

                                      С 10 по 15 июля в Стокгольме прошла конференция ICML, одна из крупнейших в мире в области машинного обучения. В этом году ее посетило рекордное количество участников – 7000. Среди них были и сотрудники Яндекса, которые представляли технологии CatBoost и DeepHD, сервисы Толока, Дзен и Переводчик, направление беспилотных автомобилей и другие продукты. Сегодня они поделятся с читателями Хабра подборкой докладов, которые запомнились им больше всего.



                                      Кстати, на фото выше шутка организаторов – это статистика по словам из писем тех, кто отправлял свой доклад на конференцию. Точнее, из писем с ответами на критику рецензентов, которые привели к приёму доклада. Тут же приведен «идеальный» ответ, с точки зрения машинного обучения. Но мы отвлеклись, переходим к обзору пяти лучших докладов (все заголовки кликабельны и ведут на работы докладчиков).
                                      Читать дальше →
                                      • +23
                                      • 4,1k
                                      • 1
                                    • Стейт-машины на службе у MVP. Лекция Яндекса

                                        Модель конечного автомата (finite-state machine, FSM) находит применение в написании кода для самых разных платформ, включая Android. Она позволяет сделать код менее громоздким, неплохо укладывается в парадигму Model-View-Presenter (MVP) и поддаётся несложному тестированию. Разработчик Владислав Кузнецов рассказал на Droid Party, как эта модель помогает в развитии приложения Яндекс.Диск.


                                        — Вначале поговорим по теорию. Думаю, каждый из вас слышал и про MVP, и про стейт-машину, но повторим.
                                        Читать дальше →
                                        • +22
                                        • 5,6k
                                        • 3
                                      • Android accessibility — волк в овечьей шкуре? Лекция Яндекса

                                          Месяц назад на очередной Droid Party старший разработчик Данила Фетисов подробно разобрал принцип действия службы, которая отвечает за accessibility-функции Android. Вы узнаете о том, как использовать её для улучшения доступности своих проектов, а также об опасной уязвимости под названием clickjacking.


                                          — Меня зовут Данила Фетисов, я из московского офиса Яндекса, конкретнее — из Такси, конкретнее — из Таксометра. Сегодня мы с вами поговорим о том, что же такое Android accessibility и почему же я такую святую штучку для людей с ограниченными возможностями решил назвать волком в овечьей шкуре.
                                          Читать дальше →
                                        • Метаданные S3 в PostgreSQL. Лекция Яндекса

                                            Это вторая лекция с Я.Субботника по базам данных — первую мы опубликовали пару недель назад.

                                            Руководитель группы СУБД общего назначения Дмитрий Сарафанников рассказал об эволюции хранилища данных в Яндексе: о том, как мы решили делать S3-совместимый интерфейс, почему выбрали PostgreSQL, на какие грабли наступили и как с ними справились.


                                            — Всем привет! Меня зовут Дима, в Яндексе я занимаюсь базами данных.
                                            Читать дальше →
                                            • +36
                                            • 6,6k
                                            • 9

                                          Самое читаемое