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
Falcon — очередная WSGI библиотека? Дмитрий Кук...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
IT-People
July 25, 2016
Programming
0
280
Falcon — очередная WSGI библиотека? Дмитрий Кукушкин, Wargaming
Выступление на конференции PyCon Russia 2016
IT-People
July 25, 2016
Tweet
Share
More Decks by IT-People
See All by IT-People
Александр Кошкин, Positive Technologies: Знай и люби свой CPython во имя луны и великой справедливости
itpeople123
1
200
How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
itpeople123
1
230
Building social network with Neo4j and Python, Андрей Солдатенко, Toptal
itpeople123
1
230
Осторожно, DSL! Иван Цыганов, Positive Technologies
itpeople123
0
120
Докеризация веб-приложения на Python Антон Егоров, Ostrovok.ru
itpeople123
0
190
Python Robot Operating System вместо Middleware framework Дмитрий Киселев, Endpoint.com
itpeople123
0
100
Очереди задач без купюр, Артем Малышев, Positive Technologies
itpeople123
1
110
Flame graph: новый взгляд на привычное профилирование, Кирилл Борисов, Яндекс
itpeople123
1
260
Как добавить scripting в веб приложение, Константин Лопухин, Scrapinghub
itpeople123
0
150
Other Decks in Programming
See All in Programming
AgentCoreとHuman in the Loop
har1101
5
250
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
150
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
Data-Centric Kaggle
isax1015
2
780
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
CSC307 Lecture 02
javiergs
PRO
1
780
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
2
280
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
First, design no harm
axbom
PRO
2
1.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Claude Code のすすめ
schroneko
67
210k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Transcript
FALCON Yet another WSGI library? Дмитрий Кукушкин Software Engineer
2
3 •500 000 игроков / 50 000 кланов •10 000
провинций •50 000 RPM Глобальная карта для WoT
4 •OSM data Исходные данные
5 •OSM data •JS Single Page App Исходные данные
6 •OSM data •JS Single Page App •Tiny Backend API
Исходные данные
7 •OSM data •JS Single Page App •Tiny Backend API
•Много PostGIS, SQL и Python Исходные данные
8 •Django •Bottle •Flask •Falcon Что выбрать
9 •Только API Что хотим
10 •Только API •SQLAlchemy Что хотим
11 •Только API •SQLAlchemy •Не потерять скорость разработки Что хотим
12 •Только API •SQLAlchemy •Не потерять скорость разработки •Действительно быстрый
API Что хотим
13 •Только API •SQLAlchemy •Не потерять скорость разработки •Действительно быстрый
API •Поменьше велосипедов Что хотим
14 •1 GET End-point •Параметр в URL (/conferences/{name}/) •Query -
параметр (/conferences/{name}?highlight=1) •1 заголовок запроса и ответа •10 KiB random text Сценарий
15 Скорость
16 Скорость
17
18 •CPython 2.6 / 2.7 •PyPy •CPython 3.3 - 3.5
Python
19 # api.py import falcon class HelloResource(object): def on_get(self, req,
resp): resp.status = falcon.HTTP_200 resp.body = 'Hello from Minsk!' app = falcon.API() app.add_route('/nohello, HelloResource()) >>> gunicorn api:app Пример!
20 •Falcon Сборка истребителя
21 •Falcon •SQLAlchemy + alembic Сборка истребителя
22 •Falcon •SQLAlchemy + alembic •invoke - command line interface
Сборка истребителя
23 •Falcon •SQLAlchemy + alembic •invoke - command line interface
•RQ Сборка истребителя
24 •Request/Response •Cookies •Routing •Middleware Что есть в боекомплекте
25 •l10n and i18n Что не хватило
26 •l10n and i18n •sessions and auth Что не хватило
27 •l10n and i18n •sessions and auth •CSRF Что не
хватило
28 “+” “-” • Быстрый • Прост в использовании •
Хорошо документирован • Не популярен • Мало библиотек • Нет стандартов организации кода
29
30 •falcon-i18n •falcon-redis-sessions •falcon-csrf •…. Будем делиться
31 •https://falconframework.org/ •https://github.com/wgnet Ссылочки
Спасибо!
Дмитрий Кукушкин Software Engineer +375-29-776-47-88 https://www.facebook.com/WargamingMinsk Вопросы?
[email protected]
wargaming.com https://www.linkedin.com/company/wargaming-net
OUR PROJECTS
None