Безопасность
Данные
Математика
Разработка ПО
Языки программирования
- Сбор
- Logbroker: сбор и поставка больших объёмов данных
- Использование распределённой очереди задач в спортивных проектах Яндекса (Celery - отчасти аналог cron, хорошо подходит для тасков импорта/экспорта данных, которые надо выполнить когда-то там, т.е. Celery это не интерактивная технология.)
- Продвинутое использование Celery
- Хранение
- Архитектура бесконечного хранилища для пользовательского контента (Elliptics - это распределённая хеш-таблица обладающая свойством "ядерной" отказоустойчивости. Elliptics - это DHT распределенное хранилище. Thrift - это С++ ручка, которая HTTP-запросы преобразует в протокол Elliptics.)
- Обработка
Математика
Разработка ПО
- Проектирование
- Dependency Injection в Android (DI используют для того, чтобы можно было грамотно тестировать отдельные юниты, грамотно перебрасывать зависимости)
- Кодирование
- Тестирование
- Автоматизация нагрузочного тестирования
- Организация нагрузочного тестирования (Яндекс.Танк - это такой инструмент в Яндексе, доступный open source, с помощью которого вы можете положить своих конкурентов например.)
- Crash Test Your Application ... And Your Team
- Документирование
- Развёртывание
- Как справляться с ростом инфраструктуры сервиса (Про системы управления конфигурациями.)
- Build High-Performance, Scalable, Distributed Applications (Docker - это по сути стандарт распространения приложений на базе LXC. Docker решает проблему изоляции ресурсов и пользовательского окружения. Вы пишите программу на С++, она зависит от Boost, от чего-то ещё. Вы просто инкапсулируете все эти зависимости в контейнер, разрабатывая всё это на своём ноутбуке и после этого ваше приложение будет совершенно одинаковым образом работать как на вашем ноутбуке так и в продакшене.)
- Круглый стол по Docker
- Cocaine: погружение в облака
Языки программирования
- Любимые языки программирования в Яндексе
- Построение компилятора на базе LLVM
- Go
- Go в продакшене Яндекса: отчёт после года использования (Питону конец, а вот Go будет!)
- Плюсы и минусы Go для разработчиков на C++
- C++
- С++11/14 в STL
- Статический и динамический полиморфизм в C++
- Магия метапрограммирования на примере Boost.Geometry
- Секция вопросов и ответов на C++ party в Новосибирске (26.09.2014)
- Использование C++ для низкоуровневой платформозависимой разработки
- Использование шаблонов и RTTI для конфигурации симулятора флеш-накопителя
- Модель памяти C++
- Некоторые паттерны реализации полиморфного поведения в C++
- С++ контейнеры и многопоточность: вместе или врозь?
- Rust
- Rust: код может быть одновременно безопасным и быстрым
- Rust — лучше, чем C++ (Компилятор занимается тем, что доказывает, что программа является безопасной. Можно сказать, весь Rust в некотором смысле язык доказательства того что программа на C++ написана безопасно.)
- Секция вопросов и ответов на C++ party в Минске (25 июня 2014)
- Java
Яндекс.Store
Яндекс.Браузер
Яндекс.Карты
API Яндекс.Карт
Яндекс.Маркет
Яндекс.Музыка
Яндекс.Почта
- Массовые операции над письмами в Яндекс.Почте (Когда кто-то думает про синхронизацию почему то у всех в голове сразу возникает слово Zookeeper. Apache Zookeeper - это такая open-source платформа для распределенных координаций между серверами. По сути это такая файловая система специфичная, опять таки распределенная, и набор рецептов, которые можно использовать для имплементации локов, барьеров, и прочих разных механизмов координации между машинами.)
Яндекс.Такси
- Асинхронность и многопоточность в Яндекс.Такси ("Дождаться пока какие-то операции завершатся и потом продолжить своё выполнение" это настолько частая операция, что во фреймворке Twisted сделали даже специальную конструкцию DeferredList. Она вам вернет список вот этих вот вычислений, по каждому из них вернет True или False. True - всё хорошо завершилось, список кортежей, первый элемент - это хорошо/нехорошо завершилось, второй элемент это будет соответственно результат или ошибка.)