SlideShare a Scribd company logo
 
 
 
 
aiohttp
 
Андрей Светлов
 
 
 
О себе
 
Python Core Developer
Committer в asyncio
Соавтор aiohttp и еще
десятка asyncio библиотек
 
 
 
Асинхронное
программирование
 
Неблокирующие операции ввода­
вывода
Недостижимая для
традиционного (основанного
на потоках)
производительность web
серверов.
Объединение в одном
процессе веб­обработчиков и
“долгоиграющих” задач
 
 
 
 
 
 
 
Асинхронное
программирование 2
 
Цена ­­ неудобство написания
кода
 
 
 
Два года назад
 
twisted
tornado
 
 
десяток никому не известных
библиотек
 
 
 
Год назад
 
вышел asyncio
http ­­ нет
баз данных ­­ нет
есть tcp sockets, udp sockets,
unix sockets, pipes, processes
 
 
 
Сегодня
 
aiohttp
aiopg
aiomysql
aioredis
aiozmq
aioes
aiomcache
 
 
 
 
 
 
 
 
 
aiohttp_jinja2
aiohttp_session
aiorwlock
aiokafka
 
 
aiocouchdb
aio­s3
aio­beanstalk
 
 
 
 
 
 
Сегодня 2
 
aiodns
asyncio­mongo
aioamqp
aioetcd
qualmash (Qt)
aiogevent
 
 
 
 
 
 
 
 
asyncssh
irc3
autobahn
pulsar
aiogreen (eventlet)
gbulb (GLib)
rose (libuv)
aiomultiprocessing
 
 
 
 
 
 
Клиентское API
 
 
 
Клиентское API
 
def f(loop):
response = yield from aiohttp.request(
'GET', 'http://python.org',
loop=loop)
body = yield from response.read()
return body
 
 
loop = asyncio.get_event_loop()
loop.run_until_complete(f(loop))
 
 
 
 
 
 
 
Keep­alive
 
conn = aiohttp.TCPConnector()
 
 
r = yield from aiohttp.request(
'get', 'http://python.org',
connector=conn)
 
 
 
 
 
 
 
Сессии
 
conn = aiohttp.TCPConnector(
shared_cookies=True)
 
 
r = yield from aiohttp.request(
'get', 'http://python.org',
connector=conn)
 
 
 
 
 
 
 
 
 
Таймауты
 
r = yield from asyncio.wait_for(
aiohttp.request(
'get', 'http://python.org'),
0.5)
 
 
 
 
 
 
 
 
 
Серверное API
 
 
 
Простейший сервер
 
import asyncio
from aiohttp import web
 
 
@asyncio.coroutine
def handler(request):
return web.Response(
body=b"Hello, world")
 
 
app = web.Application()
app.router.add_route('GET', '/', handler)
 
 
 
 
 
Простейший сервер 2
 
loop = asyncio.get_event_loop()
f = loop.create_server(app.make_handler(),
'0.0.0.0', 8080)
srv = loop.run_until_complete(f)
print('serving on',
srv.sockets[0].getsockname())
try:
loop.run_forever()
except KeyboardInterrupt:
pass
 
 
 
 
 
Параметры
 
@asyncio.coroutine
def handler(request):
args = request.GET
accept = request.headers.getall(
'ACCEPT', [])
name = request.match_info['name']
return web.HTTPOk()
 
 
app.router.add_route('GET', '/{name}',
handler)
 
 
 
 
 
Загрузка файлов
 
<form action="/store_mp3" method="post"
accept­charset="utf­8"
enctype="multipart/form­data">
 
 
<label for="mp3">Mp3</label>
<input id="mp3" name="mp3"
type="file" value="" />
 
 
<input type="submit" value="submit" />
</form>
 
 
 
 
 
Загрузка файлов 2
 
@asyncio.coroutine
def store_mp3_view(request):
data = yield from request.post()
filename = data['mp3'].filename
input_file = data['mp3'].file
content = input_file.read()
return web.Response(
body=content,
headers=MultiDict(
{'CONTENT­DISPOSITION':
input_file})
 
 
 
 
 
Web­sockets
 
@asyncio.coroutine
def websocket_handler(request):
ws = web.WebSocketResponse()
ws.start(request)
while True:
try:
data = yield from ws.receive_str()
if data == 'close':
ws.close()
else:
ws.send_str(data + '/answer')
except web.WebSocketDisconnectedError
as exc:
print(exc.code, exc.message)
return ws
 
 
 
 
 
Middleware
 
app = web.Application(
middlewares=[
middleware_factory_1,
middleware_factory_2])
 
 
 
 
 
 
 
Middleware 2
 
@asyncio.coroutine
def middleware_factory(app, handler):
# configure middleware
@asyncio.coroutine
def middleware(request):
try:
# preprocess
ret = yield from handler(request)
except Exception as exc:
# process exception
raise
else:
# postprocess
return ret
return middleware
 
 
 
 
 
Примеры middleware
 
CORS
sessions
database transactions
 
 
 
aiohttp_session
 
from aiohttp_session import
get_session
 
 
@asyncio.coroutine
def hander(request):
session = yield from
get_session(request)
session['key'] = 'value'
return
web.HTTPOk(text='Response
text')
 
 
 
 
 
aiohttp_session 2
 
def
session_middleware(storage):
@asyncio.coroutine
def factory(app, handler):
@asyncio.coroutine
def middleware(request):
request[STORAGE_KEY] =
storage
response = yield from
handler(request)
yield from
storage.save_session(request,
response)
return response
return middleware
return factory
 
 
 
 
 
Базы данных
 
import sqlalchemy as sa
from aiopg.sa import create_engine
metadata = sa.MetaData()
tbl = sa.Table('tbl', metadata,
sa.Column('id', sa.Integer,
primary_key=True),
sa.Column('val', sa.String(255)))
 
 
app = web.Application()
app['db'] = yield from create_engine(...)
 
 
 
Базы данных
 
@asyncio.coroutine
def handler(request):
with (yield from request.app['db']) as
conn:
yield from conn.execute(
tbl.insert().values(val='abc'))
 
 
res = yield from
conn.execute(tbl.select())
for row in res:
print(row.id, row.val)
 
 
 
 
 
 
Производительность
 
Примерно как у tornado
twisted.web быстрее
(грязный тест)
WSGI – медленнее
 
 
 
Дальнейшие планы
 
 
 
andrew.svetlov@gmail.com
http://asvetlov.blogspot.com
 
Вопросы?

More Related Content

What's hot

CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Ontico
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
Alex Chistyakov
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
Ruslan Sharipov
 
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Александр Сигачев
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Ontico
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
 
Using Ansible
Using AnsibleUsing Ansible
Using Ansible
Alex Chistyakov
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
Дмитрий Столяров
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Ontico
 
Docker networking
Docker networkingDocker networking
Docker networking
Badoo Development
 
Vagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальVagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальNikita Borzykh
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPCon
Alex Chistyakov
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
Anton Turetsky
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Ontico
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Ontico
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Ontico
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
CodeFest
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
Ontico
 
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Ontico
 

What's hot (20)

CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
Депрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчасДепрокрастинируем Docker: контейнеры здесь и сейчас
Депрокрастинируем Docker: контейнеры здесь и сейчас
 
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)Elasticsearch(java) fluentbit(c++)    fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps MeetupДоклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
 
Using Ansible
Using AnsibleUsing Ansible
Using Ansible
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Vagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестивальVagrant: плагины и гастрономический фестиваль
Vagrant: плагины и гастрономический фестиваль
 
My talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPConMy talk on Hadoop stack operations engineering at OSPCon
My talk on Hadoop stack operations engineering at OSPCon
 
Docker integration into Badoo
Docker integration into BadooDocker integration into Badoo
Docker integration into Badoo
 
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
Aviasales: миграция поискового движка в docker / Дмитрий Кузьменков (Aviasales)
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
 

Viewers also liked

Получи больше от своей карты
Получи больше от своей картыПолучи больше от своей карты
Получи больше от своей картыnizhgma.ru
 
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду Mosaic, Буриан, Имплементация креативной стратегии в Digital среду
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду Digital Branding
 
Эволюция работы с партнерами. Сбербанк России
Эволюция работы с партнерами. Сбербанк РоссииЭволюция работы с партнерами. Сбербанк России
Эволюция работы с партнерами. Сбербанк России
metrosphera
 
5ое московское биеннале отчет2
5ое московское биеннале отчет25ое московское биеннале отчет2
5ое московское биеннале отчет2Inga_G
 
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
metrosphera
 
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
Expolink
 
Оценка прав требования по обязательствам перед банком. Сбербанк, Пермь
Оценка прав требования по обязательствам перед банком. Сбербанк, ПермьОценка прав требования по обязательствам перед банком. Сбербанк, Пермь
Оценка прав требования по обязательствам перед банком. Сбербанк, Пермь
metrosphera
 
Лариса Пономарева - Сбербанк РФ
Лариса Пономарева - Сбербанк РФЛариса Пономарева - Сбербанк РФ
Лариса Пономарева - Сбербанк РФWorld Brand Academy
 
я в сбербанк!-пгниу
я в сбербанк!-пгниуя в сбербанк!-пгниу
я в сбербанк!-пгниуchugaevanv
 
отчетная презентация др вип офиса
отчетная презентация др вип офисаотчетная презентация др вип офиса
отчетная презентация др вип офисаInga_G
 
презентация по сбербанку
презентация по сбербанкупрезентация по сбербанку
презентация по сбербанкуAdel Smaga
 
Презентация Сбербанка
Презентация СбербанкаПрезентация Сбербанка
Презентация Сбербанка
Anton Lowes
 
Знакомство нового сотрудника на примере "ОАО"Сбербанк
Знакомство нового сотрудника на примере  "ОАО"СбербанкЗнакомство нового сотрудника на примере  "ОАО"Сбербанк
Знакомство нового сотрудника на примере "ОАО"Сбербанк
ess1542gt
 
Сбербанк: слон в интернете
Сбербанк: слон в интернетеСбербанк: слон в интернете
Сбербанк: слон в интернете
Медведев Маркетинг
 
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России» E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
Корус Консалтинг СНГ
 
Страховые продукты для бизнеса. Новые решения и сервисы для бизнеса
Страховые продукты для бизнеса. Новые решения и сервисы для бизнесаСтраховые продукты для бизнеса. Новые решения и сервисы для бизнеса
Страховые продукты для бизнеса. Новые решения и сервисы для бизнеса
Деловая среда
 
Eduson - Kak German Gref reformiruet Sberbank
Eduson - Kak German Gref reformiruet SberbankEduson - Kak German Gref reformiruet Sberbank
Eduson - Kak German Gref reformiruet Sberbank
Eduson.tv
 
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...Рим Забаров
 
МегаФон на Foursquare: зачем и почему?
МегаФон на Foursquare: зачем и почему? МегаФон на Foursquare: зачем и почему?
МегаФон на Foursquare: зачем и почему? Anton Lapkin
 
Продукты Сбербанк страхование для малого и среднего бизнеса
Продукты Сбербанк страхование для малого и среднего бизнесаПродукты Сбербанк страхование для малого и среднего бизнеса
Продукты Сбербанк страхование для малого и среднего бизнеса
Деловая среда
 

Viewers also liked (20)

Получи больше от своей карты
Получи больше от своей картыПолучи больше от своей карты
Получи больше от своей карты
 
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду Mosaic, Буриан, Имплементация креативной стратегии в Digital среду
Mosaic, Буриан, Имплементация креативной стратегии в Digital среду
 
Эволюция работы с партнерами. Сбербанк России
Эволюция работы с партнерами. Сбербанк РоссииЭволюция работы с партнерами. Сбербанк России
Эволюция работы с партнерами. Сбербанк России
 
5ое московское биеннале отчет2
5ое московское биеннале отчет25ое московское биеннале отчет2
5ое московское биеннале отчет2
 
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
Требования к отчетам об оценке в соответствии с рекомендациями Комитета АРБ п...
 
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
Уральский банк Сбербанка России. Колоколов Иван. "Реализованные в Уральском б...
 
Оценка прав требования по обязательствам перед банком. Сбербанк, Пермь
Оценка прав требования по обязательствам перед банком. Сбербанк, ПермьОценка прав требования по обязательствам перед банком. Сбербанк, Пермь
Оценка прав требования по обязательствам перед банком. Сбербанк, Пермь
 
Лариса Пономарева - Сбербанк РФ
Лариса Пономарева - Сбербанк РФЛариса Пономарева - Сбербанк РФ
Лариса Пономарева - Сбербанк РФ
 
я в сбербанк!-пгниу
я в сбербанк!-пгниуя в сбербанк!-пгниу
я в сбербанк!-пгниу
 
отчетная презентация др вип офиса
отчетная презентация др вип офисаотчетная презентация др вип офиса
отчетная презентация др вип офиса
 
презентация по сбербанку
презентация по сбербанкупрезентация по сбербанку
презентация по сбербанку
 
Презентация Сбербанка
Презентация СбербанкаПрезентация Сбербанка
Презентация Сбербанка
 
Знакомство нового сотрудника на примере "ОАО"Сбербанк
Знакомство нового сотрудника на примере  "ОАО"СбербанкЗнакомство нового сотрудника на примере  "ОАО"Сбербанк
Знакомство нового сотрудника на примере "ОАО"Сбербанк
 
Сбербанк: слон в интернете
Сбербанк: слон в интернетеСбербанк: слон в интернете
Сбербанк: слон в интернете
 
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России» E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
E-invoicing — сервис электронного документооборота ОАО «Сбербанк России»
 
Страховые продукты для бизнеса. Новые решения и сервисы для бизнеса
Страховые продукты для бизнеса. Новые решения и сервисы для бизнесаСтраховые продукты для бизнеса. Новые решения и сервисы для бизнеса
Страховые продукты для бизнеса. Новые решения и сервисы для бизнеса
 
Eduson - Kak German Gref reformiruet Sberbank
Eduson - Kak German Gref reformiruet SberbankEduson - Kak German Gref reformiruet Sberbank
Eduson - Kak German Gref reformiruet Sberbank
 
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...
«Логистика для интернет-магазина. «Подводные камни» и успешные модели». Елена...
 
МегаФон на Foursquare: зачем и почему?
МегаФон на Foursquare: зачем и почему? МегаФон на Foursquare: зачем и почему?
МегаФон на Foursquare: зачем и почему?
 
Продукты Сбербанк страхование для малого и среднего бизнеса
Продукты Сбербанк страхование для малого и среднего бизнесаПродукты Сбербанк страхование для малого и среднего бизнеса
Продукты Сбербанк страхование для малого и среднего бизнеса
 

Similar to Андрей Светлов. Aiohttp

Веб-сервер
Веб-серверВеб-сервер
Веб-сервер
lectureswww lectureswww
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
Олег Винников
 
Highload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighLoad2009
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Ontico
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Anton Baranov
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
Python Meetup
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
Roman Dvornov
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
Sergey Xek
 
ITGM #9
ITGM #9ITGM #9
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
Slach
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
Alexey Lustin
 
YaC 2013 Notes
YaC 2013 NotesYaC 2013 Notes
YaC 2013 Notes
Anton Ignatov
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
Ontico
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
Cisco Russia
 
Middleware
MiddlewareMiddleware
Middleware
megakott
 

Similar to Андрей Светлов. Aiohttp (20)

Async Python
Async PythonAsync Python
Async Python
 
Веб-сервер
Веб-серверВеб-сервер
Веб-сервер
 
разработка Metro style приложений
разработка Metro style приложенийразработка Metro style приложений
разработка Metro style приложений
 
Highload2009 Rybak Badoo Os
Highload2009 Rybak Badoo OsHighload2009 Rybak Badoo Os
Highload2009 Rybak Badoo Os
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
Abf
AbfAbf
Abf
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
ITGM #9
ITGM #9ITGM #9
ITGM #9
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
YaC 2013 Notes
YaC 2013 NotesYaC 2013 Notes
YaC 2013 Notes
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Middleware
MiddlewareMiddleware
Middleware
 

More from Volha Banadyseva

Сергей Зефиров
Сергей ЗефировСергей Зефиров
Сергей Зефиров
Volha Banadyseva
 
Eugene Burmako
Eugene BurmakoEugene Burmako
Eugene Burmako
Volha Banadyseva
 
Heather Miller
Heather MillerHeather Miller
Heather Miller
Volha Banadyseva
 
Валерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИРВалерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИР
Volha Banadyseva
 
Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»
Volha Banadyseva
 
Татьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУТатьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУ
Volha Banadyseva
 
Trillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital TrendsTrillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital Trends
Volha Banadyseva
 
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернетеАлександр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
Volha Banadyseva
 
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в storeМастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Volha Banadyseva
 
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App StoreБахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Volha Banadyseva
 
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Volha Banadyseva
 
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google PlayЕвгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Volha Banadyseva
 
Евгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипированияЕвгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипирования
Volha Banadyseva
 
Егор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложенийЕгор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложений
Volha Banadyseva
 
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформСтанислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
Volha Banadyseva
 
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Volha Banadyseva
 
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Volha Banadyseva
 
Юлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитиеЮлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитие
Volha Banadyseva
 
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позжеАлександр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Volha Banadyseva
 
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Volha Banadyseva
 

More from Volha Banadyseva (20)

Сергей Зефиров
Сергей ЗефировСергей Зефиров
Сергей Зефиров
 
Eugene Burmako
Eugene BurmakoEugene Burmako
Eugene Burmako
 
Heather Miller
Heather MillerHeather Miller
Heather Miller
 
Валерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИРВалерий Прытков, декан факультета КСиС, БГУИР
Валерий Прытков, декан факультета КСиС, БГУИР
 
Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»Елена Локтева, «Инфопарк»
Елена Локтева, «Инфопарк»
 
Татьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУТатьяна Милова, директор института непрерывного образования БГУ
Татьяна Милова, директор института непрерывного образования БГУ
 
Trillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital TrendsTrillhaas Goetz. Innovations in Google and Global Digital Trends
Trillhaas Goetz. Innovations in Google and Global Digital Trends
 
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернетеАлександр Чекан. 28 правДИвых слайдов о белорусах в интернете
Александр Чекан. 28 правДИвых слайдов о белорусах в интернете
 
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в storeМастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
Мастер-класс Ильи Красинского и Елены Столбовой. Жизнь до и после выхода в store
 
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App StoreБахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
Бахрам Исмаилов. Продвижение мобильного приложение - оптимизация в App Store
 
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
Евгений Пальчевский. Что можно узнать из отзывов пользователей в мобильных ма...
 
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google PlayЕвгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
Евгений Невгень. Оптимизация мета-данных приложения для App Store и Google Play
 
Евгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипированияЕвгений Козяк. Tips & Tricks мобильного прототипирования
Евгений Козяк. Tips & Tricks мобильного прототипирования
 
Егор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложенийЕгор Белый. Модели успешной монетизации мобильных приложений
Егор Белый. Модели успешной монетизации мобильных приложений
 
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформСтанислав Пацкевич. Инструменты аналитики для мобильных платформ
Станислав Пацкевич. Инструменты аналитики для мобильных платформ
 
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
Артём Азевич. Эффективные подходы к разработке приложений. Как найти своего п...
 
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
Дина Сударева. Развитие игровой команды и ее самоорганизация. Роль менеджера ...
 
Юлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитиеЮлия Ерина. Augmented Reality Games: становление и развитие
Юлия Ерина. Augmented Reality Games: становление и развитие
 
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позжеАлександр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
Александр Дзюба. Знать игрока: плейтест на стадии прототипа и позже
 
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
Светлана Половинкина. О чём говорит игрок: опросы как инструмент принятия биз...
 

Андрей Светлов. Aiohttp