Рубрика «Блог компании Яндекс» - 56

Почти в каждой школе в кабинете математики висит табличка с высказыванием Ломоносова: «Математику уже затем учить надо, что она ум в порядок приводит». Многим из тех, кто не понимает, что такое программирование, кажется, что писать код — это то же самое, что решать математические задачи, а все программисты — обязательно математики. Но как все обстоит на самом деле? Насколько помогает знание математики в решении практических задач?

Наконец-то мы добрались до одной из самых острых тем и задали нашим коллегам в Яндексе вопрос: «Нужно ли программисту знать математику?»

Под катом, как всегда, полная текстовая версия.
Читать полностью »

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

На основе доклада я подготовил этот пост. Я расскажу о том, как браузеры оптимизировали процесс отрисовки: с чего начинали и до чего докатились. Что сейчас можно сделать, чтобы жизнь верстальщиков и пользователей стала немного лучше. Я надеюсь, что кого-нибудь натолкну на какие-нибудь улучшения. Мне бы это было приятно.
Читать полностью »

Этот текст памяти Алексея Яковлевича написал Аркадий Волож, сооснователь и генеральный директор Яндекса.

22 сентября трагически погиб Алексей Яковлевич Червоненкис — ведущий сотрудник Института проблем управления РАН, профессор МФТИ и Лондонского университета, преподаватель Школы анализа данных, человек, который внёс огромный вклад в теорию машинного обучения.

Памяти Алексея Яковлевича Червоненкиса

У науки об обучении машин до сих пор было три периода: докомпьютерный, компьютерный и современный период больших данных.

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

Это был период «теоретического» развития машинного обучения. Тогда считать можно было только на каких-нибудь М-200 или, в хорошем случае, на БЭСМ-ах, поэтому о «широком применении в народном хозяйстве» речи не шло. Но различать цели в воздухе, например, или выискивать шумы на эхо-кардиограммах это уже помогало.

Потом наступил второй этап науки об обучении машин, компьютерный. В 1990-е люди научились, например, довольно хорошо распознавать и оцифровывать тексты (в том числе рукописные) или очищать почту от спама. Половина из этих методов работала на знаменитом SVM (Support Vector Machine, метод опорных векторов), придуманном в начале 1990-х Червоненкисом и Вапником (VC-Dimension = Vapnik-Chervonenkis dimension). В середине 2000-х в любой известной конторе работали на SVM-е — и у нас, и в Яху, и в Гугле, и в Амазоне, и в Нетфликсе. SVM описан в любом учебнике по нашей теме.
Читать полностью »

Привет! Меня зовут Данил Ахметов, и ещё год назад я не был сотрудником Яндекса. А сейчаc работаю в команде, которая разрабатывает внутреннее IaaS-решение масштаба всего Яндекса. Попал я в неё не сразу — сначала были Курсы информационных технологий и стажировка в одном из самых критичных в смысле отказоустойчивости направлений — баннерной системе.

Так как недавно Яндекс объявил новый набор на КИТ, я решил рассказать вам о том, какой опыт я там получил и что они могут дать вам. Регистрация открыта до 7 октября, и, хотя мест уже не так много, я надеюсь, что кому-то мой рассказ поможет решиться пойти учиться и, может быть, немного изменить свою жизнь.

Курсы информационных технологий Яндекса. Жизнь до и после

Пару лет назад я закончил Ульяновский государственный университет по специальности «Прикладная информатика». Дипломную работу писал о кластерах, суперкомпьютерах и перспективах распределенных вычислений. Меня пригласили админить в не очень большую компанию, разрабатывающую юридическую справочно-информационную систему. Работа была интересной, была почти полная свобода в решении имеющихся задач — все шло своим чередом. Вряд ли бы многое изменилось, если бы 18 октября 2013 года тимлид отдела разработки веб-версии справочного продукта не прислал мне ссылку на страницу предстоящего КИТа, четвертого по счету.
Читать полностью »

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

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

Мы решили, что дальше так жить нельзя и решили процесс тестирования как-то автоматизировать. Начали мы с инструментов статического анализа. Для проверки стиля кода у нас используется инструмент jscs, написанный нашим коллегой Маратом Дулиным. Для статического анализа кода применяется всем известный JSHint. А для отлова регрессий в JS мы пишем юнит-тесты. Это в какой-то мере помогло справиться с проблемой: анализаторы отлавливали совсем уж глупые ошибки, а тесты позволили проверять функциональность блока. А вот с регрессиями в CSS был пробел. Тестирование внешнего вида по-прежнему проводилось руками и глазами тестировщика. Мы стали искать инструменты, которые помогал бы нам в автоматизации.
Читать полностью »

Вчера в районе платформы Лосиноостровская пропал профессор Школы анализа данных Яндекса, профессор Лондонского университета Алексей Яковлевич Червоненкис.

Нужна помощь: пропал Алексей Червоненкис

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

Его поисками занимаются ребята из Лиза Алерт (это волонтёрская организация, занимающаяся поиском пропавших людей). Нужна помощь: и с распространением информации от Лиза Алерт, и с поисками на месте. Вот пост на их форуме: lizaalert.org/forum/viewtopic.php?f=207&t=8429
Читать полностью »

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

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

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

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

Continuous Delivery в Яндексе. Как разогнать свой цикл разработки, используя только Open Source решения

Сегодня мы покажем, что Continuous Delivery — это просто и весело! А пользу от него можно получить, встроив его даже частично. Мы в тестировании Яндекса уже несколько лет используем подобный подход для наших библиотек с открытым исходным кодом — Allure Framework или Yandex QATools. Процесс прост, значительно масштабируем и может применяться как для огромных команд из одного человека, так и для маленьких командочек из десятков человек. А самое главное — весь инструментарий доступен в Open Source!

Кстати, до 30 сентября можно подать заявку и поступить в нашу Школу автоматизации процессов разработки в Питере. Обучение в ней бесплатное и будет состоять не только из курса лекций — обязательным этапом станет командная работа над учебным проектом.

А теперь вернёмся к теме. Представьте картину: уютное рабочее место, вы пишете код, добавляете юнит-тесты и отправляете изменения в систему контроля версий, а через пару часов они «выезжают» на боевые сервера. И все при этом работает.
Читать полностью »

13 сентября Илье Сегаловичу, сооснователю и техническому директору Яндекса, исполнилось бы 50 лет. К дню его рождения мы учредили на факультете Computer Science ВШЭ, который был создан в этом году при нашем участии, стипендию его имени. Как мы уже говорили, программа факультета во многом будет расти из Школы анализа данных, где над тем, что будет изучать отделение CS, работал и iseg.

Стипендию смогут получить студенты и аспиранты факультета. Она создана для того, чтобы поддержать и поощрить людей, интересующихся наукой и технологиями. Выдаваться она будет за успехи в учёбе и научной деятельности. Уже с первого курса студенты, интересующиеся технологиями на стыке с наукой, могут вести свои проекты и публиковать результаты в российских и международных научных изданиях, таких как «Искусственный интеллект и принятие решений», «Lecture Notes in Computer Science» и других.

Яндекс учредил стипендию имени Ильи Сегаловича
Первая встреча студентов факультета Computer Science

В первый же год факультет компьютерных наук ВШЭ и Яндекса привлёк внимание рекордного количества победителей олимпиад: на 180 бюджетных мест подали заявления 330 олимпиадников. В итоге Вышка приняла решение об увеличении количества бюджетных мест, и в сентябре начали учёбу 204 олимпиадника — среди них четырнадцать призёров заключительных этапов Всероссийской олимпиады школьников по информатике, математике и физике. Сам Илья когда-то занял второе место на Всесоюзной олимпиаде по математике.
Читать полностью »

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

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js