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
330
Агрегация и обработка статистики
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
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
260
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
240
testingを眺める
matumoto
1
130
Kiroで始めるAI-DLC
kaonash
2
540
print("Hello, World")
eddie
1
490
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
240
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
220
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
AIエージェント開発、DevOps and LLMOps
ymd65536
1
380
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
160
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
350
Featured
See All Featured
How to Ace a Technical Interview
jacobian
279
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
GitHub's CSS Performance
jonrohan
1032
460k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
We Have a Design System, Now What?
morganepeng
53
7.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Unsuck your backbone
ammeep
671
58k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
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