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 библиотека? Дмитрий Кукушкин, Wargaming
Search
IT-People
July 25, 2016
Programming
0
170
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
150
How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
itpeople123
1
220
Building social network with Neo4j and Python, Андрей Солдатенко, Toptal
itpeople123
1
220
Осторожно, DSL! Иван Цыганов, Positive Technologies
itpeople123
0
100
Докеризация веб-приложения на Python Антон Егоров, Ostrovok.ru
itpeople123
0
180
Python Robot Operating System вместо Middleware framework Дмитрий Киселев, Endpoint.com
itpeople123
0
86
Очереди задач без купюр, Артем Малышев, Positive Technologies
itpeople123
1
98
Flame graph: новый взгляд на привычное профилирование, Кирилл Борисов, Яндекс
itpeople123
1
180
Как добавить scripting в веб приложение, Константин Лопухин, Scrapinghub
itpeople123
0
130
Other Decks in Programming
See All in Programming
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
150
Elm 0.19.0 Changes
bkuhlmann
0
490
雑に思考を整理する技術と効能
konifar
59
29k
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
690
新宿ダンジョンを可視化してみた
satoshi7190
2
250
GitHub Copilotのススメ
marcy731
1
200
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Code Review Best Practice
trishagee
55
15k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Agile that works and the tools we love
rasmusluckow
325
20k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
How to Ace a Technical Interview
jacobian
272
22k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
Happy Clients
brianwarren
92
6.4k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
What's new in Ruby 2.0
geeforr
337
31k
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