SlideShare a Scribd company logo
1 of 15
Download to read offline
Проектные работы
Яковлев Виктор Вадимович
Департамент
Анализа данных и искусственного интеллекта
НИУ “Высшая школа экономики”
Обзор проектов
● Game Development (PyGame)
– 2D игра-платформер
● Разработка Desktop-приложений (Qt)
– Инструмент тестирования регулярных
выражений
● Jabber (Python + дополнительный библиотеки)
– Удаленный терминал
– Справочник из ManPage страниц
● Сетевые службы (Python)
– WebDAV сервер
Game Development
Сцена
Персонаж
Препятствие
Злодей
Game Development
● SDL – это C/C++
библиотека для
разработки игр
● PyGame – это
библиотека-оболочка
для использования
SDL в Python
Тестирование регулярных выражений
(Desktop-приложение на Qt)
Jabber
Jabber.ru
Facebook Chat
Google Hangouts
Я.ру
Командная строка
Позволяет управлять файлами, процессами, да
и вообще – делать все, что не запрещено
правилами безопасности.
Страницы man
WebDAV
Хранение файлов:
● Яндекс.Диск
● OwnCloud
Хранилища WebDAV
поддерживаются
стандартными
средствами
большинства
операционных
систем
WebDAV
Исходные файлы
●
abrakadabra.mp3
●
Track03.mp3
●
WelcomeMachine.mp3
● [unsorted]
– Track01.mp3
– Track02.mp3
Виртуальная ФС
●
[no artist]
– Symphony No9.mp3
●
[Pink Floyd]
– [1975 - Wish You Were Here]
●
02 – Welcome to the
Machine.mp3
– [1979 – The Wall]
● In the Fresh.mp3
●
The Thin Ice.mp3
Создание поставки
Класс для Python (WebDAV):
Пакет для Python EasyInstall (PIP)
Серверные программы для Linux
Реализация в виде системной службы
init.d или systemd
Подготовка поставки программ
Пакет RPM/DEB
или
программа-”установщик” для Windows
Спасибо за внимание!
Вопросы?
vyacovlev@hse.ru
WebDAV
Виртуальные “файловые системы”
CardDAV:
Синхронизация контактов
между устройствами
СalDAV:
Синхронизация событий в календаре
между устройствами
WebDAV
http.server
● Класс BaseHTTPRequestHandler
Поддерживает методы HEADи GET
● Класс CGIHTTPRequestHandler
Поддерживает методы HEAD, GETи POST
● Нет класса в стандартной библиотеке
Который поддерживает методы
PUT, DELETE, PROPFIND, MKCOL, COPY, MOVE
Библиотеки Qt

More Related Content

What's hot

ZFS - файловая система будущего
ZFS - файловая система будущегоZFS - файловая система будущего
ZFS - файловая система будущегоAlex Chistyakov
 
BeeGo для веб приложений, API и демонов
BeeGo для веб приложений, API и демоновBeeGo для веб приложений, API и демонов
BeeGo для веб приложений, API и демоновAnton Piskunov
 
Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложномуIlya Bolkhovsky
 
Денис Трифонов
Денис ТрифоновДенис Трифонов
Денис ТрифоновCodeFest
 
Пример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в текстеПример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в текстеMoscowDjango
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...it-people
 
Понимая Git /git/. Git изнутри наружу
Понимая Git /git/. Git изнутри наружуПонимая Git /git/. Git изнутри наружу
Понимая Git /git/. Git изнутри наружуGDG Odessa
 
2015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №22015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №2dev1ant
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsMikhail Chinkov
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыUA Mobile
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей ЛузинCodeFest
 
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)Ontico
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
 
Micro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияMicro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияRinat Abdullin
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахAlex Chistyakov
 
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.jsDUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.jsJetStyle
 

What's hot (18)

ZFS - файловая система будущего
ZFS - файловая система будущегоZFS - файловая система будущего
ZFS - файловая система будущего
 
BeeGo для веб приложений, API и демонов
BeeGo для веб приложений, API и демоновBeeGo для веб приложений, API и демонов
BeeGo для веб приложений, API и демонов
 
Python & Web: От простого к сложному
Python & Web: От простого к сложномуPython & Web: От простого к сложному
Python & Web: От простого к сложному
 
Денис Трифонов
Денис ТрифоновДенис Трифонов
Денис Трифонов
 
Пример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в текстеПример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в тексте
 
Fuzz testing
Fuzz testingFuzz testing
Fuzz testing
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
Понимая Git /git/. Git изнутри наружу
Понимая Git /git/. Git изнутри наружуПонимая Git /git/. Git изнутри наружу
Понимая Git /git/. Git изнутри наружу
 
2015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №22015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №2
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
 
Павел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузерыПавел Юрийчук - Разработка приложений под мобильные браузеры
Павел Юрийчук - Разработка приложений под мобильные браузеры
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей Лузин
 
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
 
Micro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложенияMicro-services, Упрощаем монолитные приложения
Micro-services, Упрощаем монолитные приложения
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
 
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.jsDUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
DUMP-2013 - Frontend: Преимущества разработки средствами BEM+Python+node.js
 

Similar to Yacovlev

SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекPython Meetup
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчикаSoftline
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”HYS Enterprise
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Fwdays
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решенияВладимир Кожаев
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Nikita Baksalyar
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...it-people
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPCMad Devs
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidDevGAMM Conference
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 

Similar to Yacovlev (20)

2056
20562056
2056
 
Vanessa.services разработка в облаке
Vanessa.services   разработка в облакеVanessa.services   разработка в облаке
Vanessa.services разработка в облаке
 
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотекSWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
SWIG — cоздание мультиязыковых интерфейсов для C/C++ библиотек
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчика
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...
DUMP-2013 Frontend - Преимущества разработки средствами BEM + Python + node.j...
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPC
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 

More from Ekaterina Chernyak (18)

Chernyak_defense
Chernyak_defenseChernyak_defense
Chernyak_defense
 
Backgammon
BackgammonBackgammon
Backgammon
 
Desktop game agar.io
Desktop game agar.ioDesktop game agar.io
Desktop game agar.io
 
Gayazov
GayazovGayazov
Gayazov
 
Koptsov.web.introduction
Koptsov.web.introductionKoptsov.web.introduction
Koptsov.web.introduction
 
Intro to NLP (RU)
Intro to NLP (RU)Intro to NLP (RU)
Intro to NLP (RU)
 
L1
L1L1
L1
 
Intro to NLP. Lecture 2
Intro to NLP.  Lecture 2Intro to NLP.  Lecture 2
Intro to NLP. Lecture 2
 
L3 v2
L3 v2L3 v2
L3 v2
 
редактор параллельных разметок
редактор параллельных разметокредактор параллельных разметок
редактор параллельных разметок
 
Hse project introduction_22012015
Hse project introduction_22012015Hse project introduction_22012015
Hse project introduction_22012015
 
зачем нужен чистый корпус
зачем нужен чистый корпусзачем нужен чистый корпус
зачем нужен чистый корпус
 
Suhoroslov
SuhoroslovSuhoroslov
Suhoroslov
 
Koptsov
KoptsovKoptsov
Koptsov
 
Gusakov
GusakovGusakov
Gusakov
 
Hse.projects 17.01.2015
Hse.projects 17.01.2015Hse.projects 17.01.2015
Hse.projects 17.01.2015
 
Ignat vita artur
Ignat vita arturIgnat vita artur
Ignat vita artur
 
Ivan p
Ivan pIvan p
Ivan p
 

Yacovlev