SlideShare a Scribd company logo
Микрообзор веб-фреймворков
Донец Владимир
twitter.com/vovk_donets
vk.com/vovk.donets
Python & web
e-commerce SAAS
kwimba.ru
2
Что будет дальше
➢ Немного истории
➢ Типичная архитектура веб-фреймворка
➢ Наиболее популярные фреймворки
➢ Немного сравнений между собой
3
Всё сказанное далее отражает моё линое
мнение – обсуждение приветствуется!
Отмазка
4
● 1996 г. – Grail
● 1998 г. – Zope
… Webware, Quixote, Twisted
● Django, Pyramid, web.py,
web2py
● Flask, Bottle
● Статические фреймворки
Назад в прошлое
5
Структура + набор модулей
Фреймворк
6
» Роутинг URL
» ORM
» Работа с формами
» Шаблонные движки
» Защита от распространённых атак
» Печеньки и сессии
» ...дополните список по-своему усмотрению
Типичные компоненты
7
» Качество документации
» Техническая реализация
» Объем «фарша» из коробки
» Качество поддержки фреймворка
» Популярность: количество и активность пользователей
В чём различия?
8
Популярные фреймворки
Django
Pyramid
Flask
Bottle
web.py
web2py
9
>>> pip install django
>>> django-admin startproject bakaproject
>>> cd bakaproject; python manage.py startapp bakapp
>>> делаем базовые настройки в settings.py
>>> Создаём view, urls.py ...
>>> manage.py runserver
o__O
Hello world, Django
10
def hello_world(request):
return Response('<h1>Hello World!</h1>')
if __name__ == '__main__':
config = Configurator()
config.add_route('hello', '/')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 6543, app)
Hello world, Pyramid
11
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Hello world, Flask
12
from bottle import route
from bottle import run, template
@route('/hello/<name>')
def index(name):
txt = '<b>Hello {{name}}</b>!'
return template(txt, name=name)
run(host='localhost', port=8080)
Hello world, Bottle
13
from weppy import App
app = App(__name__)
@app.route("/")
def hello():
return "Hello world!"
if __name__ == "__main__":
app.run()
Hello world, Weppy
14
» Качество документации
» Техническая реализация
» Объем «фарша» из коробки
» Качество поддержки фреймворка
» Популярность: количество и активность пользователей
Дьявол кроется в деталях
15
Документация
Django Pyramid Flask Bottle Weppy web2py web.py
0
2
4
6
8
10
12
Документация
16
Django Pyramid Flask Bottle Weppy web2py web.py
0
2
4
6
8
10
12
9,8
7,5
10
8,2
5,8
7
8,2
Stars
Форков
Разработчиков
Оценим по гитхабу
17
Скорость: сериализация JSON
18
Скорость: ORM + шаблон
19
Ссылки
● http://weppy.org/docs/0.6
● http://klen.github.io/py-frameworks-bench/
● http://docs.pylonsproject.org/
● http://wsgi.tutorial.codepoint.net/
● http://turbogears.readthedocs.io/
● webpy.org
● http://bottlepy.org/
● http://archimedeanco.com/wsgi-tutorial/
● http://djangoproject.com/

More Related Content

What's hot

Internet brauzery
Internet brauzeryInternet brauzery
Internet brauzery
lerkalukyanova
 
мой любимый браузер
мой любимый браузермой любимый браузер
мой любимый браузер
Ksusha Sosnovskaya
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
KazHackStan
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerVal
Elitesru
 
Bootstrap
BootstrapBootstrap
Bootstrap
Timofey Chukleev
 
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
KazHackStan
 
Обзор браузеров
Обзор браузеровОбзор браузеров
Обзор браузеров
Kate Kapel
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
KazHackStan
 
Кто такой фронтендер
Кто такой фронтендер Кто такой фронтендер
Кто такой фронтендер
Alexandra Kaminskaya
 
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
NaZapad
 
Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
Yandex
 
Браузеры
БраузерыБраузеры
Браузеры
Ekaterina Mandik
 
Разведка боем
Разведка боемРазведка боем
Разведка боем
Дмитрий Бумов
 
Tagconf 12 - SphinxSearch - 1
Tagconf 12 - SphinxSearch - 1Tagconf 12 - SphinxSearch - 1
Tagconf 12 - SphinxSearch - 1
Roman Kudlay
 
рейтинг браузеров
рейтинг браузероврейтинг браузеров
рейтинг браузеров
Hannah Karpovskaya
 
Best Browser
Best BrowserBest Browser
Best Browser
Alexandra Goryachkina
 
Safari
SafariSafari
Fuzz.txt
Fuzz.txtFuzz.txt
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 

What's hot (20)

Internet brauzery
Internet brauzeryInternet brauzery
Internet brauzery
 
мой любимый браузер
мой любимый браузермой любимый браузер
мой любимый браузер
 
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotemТатьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
Татьяна Новикова (Казахстан), ЦАРКА. Как мы мониторим Казнет с помощью WebTotem
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerVal
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
 
Обзор браузеров
Обзор браузеровОбзор браузеров
Обзор браузеров
 
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
Иван Чалыкин (Россия), Digital Security. Легальный SOP Bypass. Проблемы внедр...
 
Кто такой фронтендер
Кто такой фронтендер Кто такой фронтендер
Кто такой фронтендер
 
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
7 фишек максимизировать результат в SEO. Фишка №6 вас шокирует
 
Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"Алексей Андросов "HTML5 в Я.Почте"
Алексей Андросов "HTML5 в Я.Почте"
 
Браузеры
БраузерыБраузеры
Браузеры
 
Разведка боем
Разведка боемРазведка боем
Разведка боем
 
Tagconf 12 - SphinxSearch - 1
Tagconf 12 - SphinxSearch - 1Tagconf 12 - SphinxSearch - 1
Tagconf 12 - SphinxSearch - 1
 
рейтинг браузеров
рейтинг браузероврейтинг браузеров
рейтинг браузеров
 
Browsers
BrowsersBrowsers
Browsers
 
Best Browser
Best BrowserBest Browser
Best Browser
 
Safari
SafariSafari
Safari
 
Fuzz.txt
Fuzz.txtFuzz.txt
Fuzz.txt
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 

Viewers also liked

Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)
lectureswww lectureswww
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Pavel Tsukanov
 
Введение в Django
Введение в DjangoВведение в Django
Введение в Django
Илья Барышев
 
Генетические Алгоритмы
Генетические АлгоритмыГенетические Алгоритмы
Генетические Алгоритмы
Empatika
 
Introduction to Python and Web Programming
Introduction to Python and Web ProgrammingIntroduction to Python and Web Programming
Introduction to Python and Web Programming
David Neiss
 
Snakes on the Web
Snakes on the WebSnakes on the Web
Snakes on the Web
Jacob Kaplan-Moss
 
Python and the Web
Python and the WebPython and the Web
Python and the Web
pycontw
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Web
joelburton
 
An Introduction to Twisted
An Introduction to TwistedAn Introduction to Twisted
An Introduction to Twisted
sdsern
 
Python talk web frameworks
Python talk web frameworksPython talk web frameworks
Python talk web frameworks
Kat Chuang
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"
Yandex
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
PyNSK
 
Asynchronous Python with Twisted
Asynchronous Python with TwistedAsynchronous Python with Twisted
Asynchronous Python with Twisted
Adam Englander
 
Framework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs ChaliceFramework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs Chalice
STEP Computer Academy (Zaporozhye)
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
Max Klymyshyn
 
Async Web Frameworks in Python
Async Web Frameworks in PythonAsync Web Frameworks in Python
Async Web Frameworks in Python
Ryan Johnson
 
Web Scraping with Python
Web Scraping with PythonWeb Scraping with Python
Web Scraping with Python
Paul Schreiber
 
Scraping the web with python
Scraping the web with pythonScraping the web with python
Scraping the web with python
Jose Manuel Ortega Candel
 

Viewers also liked (18)

Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)Спецификация WSGI (PEP-333)
Спецификация WSGI (PEP-333)
 
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже. Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
 
Введение в Django
Введение в DjangoВведение в Django
Введение в Django
 
Генетические Алгоритмы
Генетические АлгоритмыГенетические Алгоритмы
Генетические Алгоритмы
 
Introduction to Python and Web Programming
Introduction to Python and Web ProgrammingIntroduction to Python and Web Programming
Introduction to Python and Web Programming
 
Snakes on the Web
Snakes on the WebSnakes on the Web
Snakes on the Web
 
Python and the Web
Python and the WebPython and the Web
Python and the Web
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Web
 
An Introduction to Twisted
An Introduction to TwistedAn Introduction to Twisted
An Introduction to Twisted
 
Python talk web frameworks
Python talk web frameworksPython talk web frameworks
Python talk web frameworks
 
К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"К.В. Воронцов "Нейронные сети (продолжение)"
К.В. Воронцов "Нейронные сети (продолжение)"
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Asynchronous Python with Twisted
Asynchronous Python with TwistedAsynchronous Python with Twisted
Asynchronous Python with Twisted
 
Framework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs ChaliceFramework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs Chalice
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
 
Async Web Frameworks in Python
Async Web Frameworks in PythonAsync Web Frameworks in Python
Async Web Frameworks in Python
 
Web Scraping with Python
Web Scraping with PythonWeb Scraping with Python
Web Scraping with Python
 
Scraping the web with python
Scraping the web with pythonScraping the web with python
Scraping the web with python
 

Similar to Зоопарк python веб-фреймворков

Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
Pavlo Iuriichuk
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Andrew Mayorov
 
Второе пришествие WAP игр. Антон Гришин
Второе пришествие WAP игр. Антон ГришинВторое пришествие WAP игр. Антон Гришин
Второе пришествие WAP игр. Антон Гришин
Wake_up_province
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
it-people
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Yandex
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковAlex Tumanoff
 
Эффективное управление ПО под *nix
Эффективное управление ПО под *nixЭффективное управление ПО под *nix
Эффективное управление ПО под *nixAndrew Pantyukhin
 
Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеPositive Hack Days
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
Positive Hack Days
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
Yandex
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
Roman Dvornov
 
Seo 2016
Seo 2016Seo 2016
Seo 2016
sslash65
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
HappyDev-lite
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TKConf
 
Роман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьРоман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьDataArt
 
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
Provectus
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON
 
Browzer
BrowzerBrowzer
BrowzerIKTO
 

Similar to Зоопарк python веб-фреймворков (20)

Mobile web apps
Mobile web appsMobile web apps
Mobile web apps
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.
 
Второе пришествие WAP игр. Антон Гришин
Второе пришествие WAP игр. Антон ГришинВторое пришествие WAP игр. Антон Гришин
Второе пришествие WAP игр. Антон Гришин
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
 
Эффективное управление ПО под *nix
Эффективное управление ПО под *nixЭффективное управление ПО под *nix
Эффективное управление ПО под *nix
 
Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в Интернете
 
Sivko
SivkoSivko
Sivko
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Cakephp
CakephpCakephp
Cakephp
 
Seo 2016
Seo 2016Seo 2016
Seo 2016
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
Роман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьРоман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умирать
 
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
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Browzer
BrowzerBrowzer
Browzer
 

More from PyNSK

Нейронные сети и Keras. Часть 1
Нейронные сети и Keras. Часть 1Нейронные сети и Keras. Часть 1
Нейронные сети и Keras. Часть 1
PyNSK
 
Нейронные сети и Keras. Часть 2
Нейронные сети и Keras. Часть 2Нейронные сети и Keras. Часть 2
Нейронные сети и Keras. Часть 2
PyNSK
 
Asyncio для процессинга распределенной базы данных
Asyncio для процессинга  распределенной базы данныхAsyncio для процессинга  распределенной базы данных
Asyncio для процессинга распределенной базы данных
PyNSK
 
Python для GameDev
Python для GameDevPython для GameDev
Python для GameDev
PyNSK
 
Python инструменты для нагрузочного тестирования
Python инструменты для нагрузочного тестированияPython инструменты для нагрузочного тестирования
Python инструменты для нагрузочного тестирования
PyNSK
 
Python, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системыPython, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системы
PyNSK
 
Настрой контент под пользователя!
Настрой контент под пользователя!Настрой контент под пользователя!
Настрой контент под пользователя!
PyNSK
 
Питон в малине
Питон в малинеПитон в малине
Питон в малине
PyNSK
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!
PyNSK
 
Как и зачем можно создать DSL на Python
Как и зачем можно создать DSL на PythonКак и зачем можно создать DSL на Python
Как и зачем можно создать DSL на Python
PyNSK
 
Во внутренности Kivy
Во внутренности KivyВо внутренности Kivy
Во внутренности Kivy
PyNSK
 
Как Python Дайджест работает с внешней статикой
Как Python Дайджест работает с внешней статикойКак Python Дайджест работает с внешней статикой
Как Python Дайджест работает с внешней статикой
PyNSK
 
Применение behave+webdriver для тестирования Web-проектов
Применение behave+webdriver для тестирования Web-проектовПрименение behave+webdriver для тестирования Web-проектов
Применение behave+webdriver для тестирования Web-проектов
PyNSK
 
Ctypes в игровых приложениях на python
Ctypes в игровых приложениях на pythonCtypes в игровых приложениях на python
Ctypes в игровых приложениях на python
PyNSK
 
Оптимизация производительности Python
Оптимизация производительности PythonОптимизация производительности Python
Оптимизация производительности Python
PyNSK
 
Python инструменты решения типичных задач
Python  инструменты решения типичных задачPython  инструменты решения типичных задач
Python инструменты решения типичных задач
PyNSK
 
Мир Python функционалим с помощью библиотек
Мир Python  функционалим с помощью библиотекМир Python  функционалим с помощью библиотек
Мир Python функционалим с помощью библиотек
PyNSK
 
JSON-RPC или когда rest неудобен
JSON-RPC или когда rest неудобенJSON-RPC или когда rest неудобен
JSON-RPC или когда rest неудобен
PyNSK
 
TestRail. Некоторые возможности интеграции.
TestRail. Некоторые возможности интеграции.TestRail. Некоторые возможности интеграции.
TestRail. Некоторые возможности интеграции.
PyNSK
 
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
"Модифицируй это!" или "Больше магии Python с помощью изменения AST""Модифицируй это!" или "Больше магии Python с помощью изменения AST"
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
PyNSK
 

More from PyNSK (20)

Нейронные сети и Keras. Часть 1
Нейронные сети и Keras. Часть 1Нейронные сети и Keras. Часть 1
Нейронные сети и Keras. Часть 1
 
Нейронные сети и Keras. Часть 2
Нейронные сети и Keras. Часть 2Нейронные сети и Keras. Часть 2
Нейронные сети и Keras. Часть 2
 
Asyncio для процессинга распределенной базы данных
Asyncio для процессинга  распределенной базы данныхAsyncio для процессинга  распределенной базы данных
Asyncio для процессинга распределенной базы данных
 
Python для GameDev
Python для GameDevPython для GameDev
Python для GameDev
 
Python инструменты для нагрузочного тестирования
Python инструменты для нагрузочного тестированияPython инструменты для нагрузочного тестирования
Python инструменты для нагрузочного тестирования
 
Python, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системыPython, Django и корпоративные информационные системы
Python, Django и корпоративные информационные системы
 
Настрой контент под пользователя!
Настрой контент под пользователя!Настрой контент под пользователя!
Настрой контент под пользователя!
 
Питон в малине
Питон в малинеПитон в малине
Питон в малине
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!
 
Как и зачем можно создать DSL на Python
Как и зачем можно создать DSL на PythonКак и зачем можно создать DSL на Python
Как и зачем можно создать DSL на Python
 
Во внутренности Kivy
Во внутренности KivyВо внутренности Kivy
Во внутренности Kivy
 
Как Python Дайджест работает с внешней статикой
Как Python Дайджест работает с внешней статикойКак Python Дайджест работает с внешней статикой
Как Python Дайджест работает с внешней статикой
 
Применение behave+webdriver для тестирования Web-проектов
Применение behave+webdriver для тестирования Web-проектовПрименение behave+webdriver для тестирования Web-проектов
Применение behave+webdriver для тестирования Web-проектов
 
Ctypes в игровых приложениях на python
Ctypes в игровых приложениях на pythonCtypes в игровых приложениях на python
Ctypes в игровых приложениях на python
 
Оптимизация производительности Python
Оптимизация производительности PythonОптимизация производительности Python
Оптимизация производительности Python
 
Python инструменты решения типичных задач
Python  инструменты решения типичных задачPython  инструменты решения типичных задач
Python инструменты решения типичных задач
 
Мир Python функционалим с помощью библиотек
Мир Python  функционалим с помощью библиотекМир Python  функционалим с помощью библиотек
Мир Python функционалим с помощью библиотек
 
JSON-RPC или когда rest неудобен
JSON-RPC или когда rest неудобенJSON-RPC или когда rest неудобен
JSON-RPC или когда rest неудобен
 
TestRail. Некоторые возможности интеграции.
TestRail. Некоторые возможности интеграции.TestRail. Некоторые возможности интеграции.
TestRail. Некоторые возможности интеграции.
 
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
"Модифицируй это!" или "Больше магии Python с помощью изменения AST""Модифицируй это!" или "Больше магии Python с помощью изменения AST"
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"
 

Зоопарк python веб-фреймворков