Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python non-mainstream web
Search
Yehor Nazarkin
August 14, 2013
Programming
0
150
Python non-mainstream web
My speech at DevPro TechTalk about pythonic web
Yehor Nazarkin
August 14, 2013
Tweet
Share
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Flask, гордость и предубеждения
nimnull
0
320
Агрегация и обработка статистики
nimnull
0
5.7k
Write once, run everywhere
nimnull
0
6.2k
GPU Computing in Python
nimnull
1
5.7k
To Flask or not to Flask
nimnull
5
630
MongoDB Без ORM
nimnull
0
300
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
940
Parallel::Pipesの紹介
skaji
2
870
生成AI時代のフルスタック開発
kenn
10
2.7k
がんばりすぎないコーディングルール運用術
tsukakei
1
180
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
7
1.6k
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
120
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
960
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6k
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.1k
Use Perl as Better Shell Script
karupanerura
0
650
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
800
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
GitHub's CSS Performance
jonrohan
1031
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Code Reviewing Like a Champion
maltzj
523
40k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Facilitating Awesome Meetings
lara
54
6.4k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
BBQ
matthewcrist
88
9.7k
Transcript
Python, Web - непопулярные решения Егор Назаркин
Если скучно • http://kharkivpy.org.ua • mailto:
[email protected]
что такое py-web? CGI mod_python WSGI (PEP 3333)
Среда исполнения • Собственное решение • IaaS • PaaS (GAE,
Heroku, dotCloud, etc.)
Custom и IaaS Задача формирует потребности Любой формат системного I/O
PaaS Платформа диктует ограничения Высокий уровень абстракции I/O
PaaS платформы dotCloud, Heroku... — sys.env GAE — набор собственных
API
GAE webapp vs workers async datastore memcache channels (comet) cloudSQL
Blobstore OAuth XMPP Mail logs images task queues sockets search URL fetch users (google id)
GAE Большинство full-stack решений Отдельные сервисы придется поддерживать самостоятельно
WSGI middleware CherryPy Werkzeug WebOb gunicorn свой собственный?
Неблокирующие tornado twisted.web circuits.web gunicorn gevent
Frameworks • NIH (not invented here) • На основе компонентов
Zope • Дедушка современных веб-решений • Пришел из CGI-only времен
• Enterprise подход • Много концепций используется последователями
Plone • CMS фреймворк поверх Zope2 • oDesk - одна
вакансия
Turbogears • paster, repoze.who, zope.sqlalchemy • scaffolding • предлагает структуру
• почти настоящий MVC
Turbogears • вакансий — ноль • встречается в поддержке •
о новых проектах не слышно
Pyramid • Последователь pylons/bfg • базируется на paster и webob
• почти full-stack (scaffolding, etc.) • подробная документация
bottle • похож на попытку облегчить Flask • расширяется плагинами
• однофайловые микроприложения • поддерживает 17 адаптеров для запуска (9 sync, 8 async)
wheezy . web • Щірий український • Предоставляет wsgi application
• “почти” full-stack (нет orm)
Flask • самый большой hype 2012-2013 • построен на werkzeug
• разные модели использования • есть api для расширения • рекомендации, документация, community - all inclusive
Nagare • Stackless Python! • строится из автономных компонентов •
страница — композиция из представлений • нет управляемого цикла request/ response
Nagare
GIL
twisted . web • twisted — матерь всея протоколов •
HTTP — протокол, twisted — сервер
twisted . web • соглашения, компоненты, ресурсы • вложенные ресурсы
• XML-RPC, SOAP • Nevow, Mantissa
tornado • Неблокирующий http/comet сервер • Компоненты, характерные для web-framework
gevent • Синхронный API поверх libevent • TCP/SSL и WSGI
• stdlib monkey-patching
Вопросы? follow @nimnull speakerdeck.com/nimnull