SlideShare a Scribd company logo
Python в ядре Яндекс.Диска
Яндекс.Диск:
Использование Python
Иващенко Сергей, Яндекс
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Архитектура Яндекс.Диска
Архитектура Яндекс.Диска
MPFS
Архитектура Яндекс.Диска
MPFS
WebDAV Веб интерфейс REST API
Архитектура Яндекс.Диска
MPFS
WebDAV Веб интерфейс REST API
Кладун
Заберун
Архитектура Яндекс.Диска
MPFS
WebDAV Веб интерфейс REST API
Кладун
Заберун
Mulca
Архитектура Яндекс.Диска
MPFS
WebDAV Веб интерфейс REST API
Кладун
Заберун
MongoDB
Mulca
Архитектура Яндекс.Диска
MPFS
WebDAV Веб интерфейс REST API
Кладун
Заберун
Почта
Фотки
Музыка
MongoDB
Mulca
Проблемы?
Проблема 1. На каком языке писать?
Почему Python?
•Скорость разработки
•Скорость разработки
•Распространённость
Проблема 2. Какие технологии
использовать?
Что в основе?
Что в основе?
Что в основе?
Проблема 3
В системе есть длительные задачи, их
можно выполнять асинхронно. Как это
сделать?
Асинхронные задачи
Асинхронные задачи
•Operations – для сложных составных задач
Асинхронные задачи
•Operations – для сложных составных задач
Queue – для небольших атомарных задач
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Python в ядре Яндекс.Диска
Проблема 4. Как понять что происходит?
ЛОГИ!!
Как мы логируем
Python в ядре Яндекс.Диска
•> 50 разных логов
•700 ГБ в сутки
2014-07-10 19:53:41,563 [30180] web-111-ufodev
30180_10104 __init__ GET /json/status?oid=111&uid=222 HTTP/1.1 200 0.0
2014-07-10 19:53:12,007 [30182] mac-JTWz_1_LXK-1-webdav 30182_10618 __
GET /json/info?uid=0&path=/disk/photo.png HTTP/1.1 200 0.045
__slots__
Slice
Slice
Slice
Slice
a[start:stop:step]
Pyrasite
$ pyrasite-shell 26234
Pyrasite Shell 2.0 C
(DistantInteractiveConsole)
• Python – хороший язык, позволяющий быстро
разрабатывать сложные сервисы
• При выборе готовых решений всегда помните о целях
• Каждому инструменту – свою задачу
Выводы
Disk API
•
http://api.yandex.ru/disk/
• RESTful API
• WebDAV API + SDK (iOS, Android, WP)
Иващенко Сергей
triklozoid@yandex-team.ru
http://api.yandex.ru/disk/
Спасибо за внимание!

More Related Content

PDF
Javaone 2013 moscow gradle
PDF
Innovecs Meetup Lifestory
PPTX
10 способов как не надо тестировать высоконагруженный веб-сервис
PDF
Приложения в плагинах
PDF
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
PDF
Релизимся чаще, или тернистый путь к continuous delivery
PDF
10 способов как не надо тестировать высоконагруженный сервис (SQA Days 2013)
PDF
Спасение через тестирование - история одного проекта
Javaone 2013 moscow gradle
Innovecs Meetup Lifestory
10 способов как не надо тестировать высоконагруженный веб-сервис
Приложения в плагинах
«GitHub Flow — немного сложнее, чем на бумаге», Александр Бирюков
Релизимся чаще, или тернистый путь к continuous delivery
10 способов как не надо тестировать высоконагруженный сервис (SQA Days 2013)
Спасение через тестирование - история одного проекта

What's hot (19)

PDF
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
PDF
Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo".
PDF
Опыт использования Erlang в разработке многопользовательской игры
KEY
Erlang&rails
PDF
Максим Лапшин — введение в Erlang
PDF
1. Введение в Java
PDF
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
PDF
Thank you miyagawa (русская версия)
PDF
мифы о спарке
PDF
Erlang ruby
PDF
Сергей Кокшаров. Особенности SEO для сайтов на JavaScript
PDF
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
KEY
Что и почему писать на Erlang
PDF
Разделяй и властвуй!
PDF
Rootconf-2015 Тестируем инфраструктуру как код
ODP
Server Side Javascript (ru)
PDF
Open Source − это не больно (Сергей Нартымов)
KEY
Erlang for Yandex
PPT
«Как ради производительности высоконагруженного приложения мы разработали соб...
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Доклад Юрия Насретдинова на РИТ++ 2013. "Система перевода в Badoo".
Опыт использования Erlang в разработке многопользовательской игры
Erlang&rails
Максим Лапшин — введение в Erlang
1. Введение в Java
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
Thank you miyagawa (русская версия)
мифы о спарке
Erlang ruby
Сергей Кокшаров. Особенности SEO для сайтов на JavaScript
Лучшие практики CI/CD с Kubernetes и GitLab / Дмитрий Столяров (Флант)
Что и почему писать на Erlang
Разделяй и властвуй!
Rootconf-2015 Тестируем инфраструктуру как код
Server Side Javascript (ru)
Open Source − это не больно (Сергей Нартымов)
Erlang for Yandex
«Как ради производительности высоконагруженного приложения мы разработали соб...
Ad

Similar to Python в ядре Яндекс.Диска (20)

PDF
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
PDF
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
PDF
Фронтенд разработка без боли
PDF
DOCX
.NET Development
PDF
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
PDF
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
PDF
Когда технологий много - iForum 2013
PDF
Фронтенд в Яндексе
PDF
Елизавета Голенок Переходим на mono или как это было
PPTX
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
PDF
Экскурс в мир WEB разработки
PDF
Ликбез по веб-технологиям
PDF
Symfony в архитектуре Upwork Enterprise
PDF
Что нового в ASP.NET 5
PDF
Денис Чистяков — JavaScript на фронте и в тылу
PDF
Фронтенд в Яндексе
PDF
Фронтенд в Яндексе
PDF
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
PPTX
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Переводим без интернета: как мы делали Яндекс.Перевод для iOS, Иван Москалёв
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Фронтенд разработка без боли
.NET Development
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Когда технологий много - iForum 2013
Фронтенд в Яндексе
Елизавета Голенок Переходим на mono или как это было
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Экскурс в мир WEB разработки
Ликбез по веб-технологиям
Symfony в архитектуре Upwork Enterprise
Что нового в ASP.NET 5
Денис Чистяков — JavaScript на фронте и в тылу
Фронтенд в Яндексе
Фронтенд в Яндексе
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Ad

More from Yandex (20)

PDF
Предсказание оттока игроков из World of Tanks
PDF
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
PDF
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
PDF
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
PDF
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
PDF
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
PDF
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
PDF
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
PDF
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
PDF
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
PDF
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
PDF
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
PDF
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
PDF
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
PDF
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
PDF
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
PDF
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
PDF
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
PDF
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
PDF
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Предсказание оттока игроков из World of Tanks
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...

Python в ядре Яндекс.Диска

Editor's Notes