Twisted из первых рук [Марк Уильямс] (pdf) читать постранично
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (103) »
Дастин Митчелл, Кевин Сэмюэл, Пьер Тарди
Twisted из первых рук
Expert Twisted
Event-Driven and Asynchronous
Programming with Python
Moshe Zadka
Mark Williams
Cory Benfield
Brian Warner
Dustin Mitchell
Kevin Samuel
Pierre Tardy
Twisted из первых рук
Событийное и асинхронное
программирование на Python
Моше Задка
Марк Уильямс
Кори Бенфилд
Брайан Уорнер
Дастин Митчелл
Кевин Сэмюэл
Пьер Тарди
Москва, 2020
УДК 004.438
ББК 32.973.22
З15
З15
Задка М., Уильямс М., Бенфилд К., Уорнер Б.,
Митчелл Д., Сэмюэл К., Тарди П.
Twisted из первых рук / пер. с анг. А. Н. Киселева. – М.: ДМК Пресс, 2020. –
338 с.: ил.
ISBN 978-5-97060-795-4
Эта книга посвящена Twisted – событийно-ориентированному сетевому фреймворку
на Python, в котором можно создавать уникальные проекты. В первой части рассматриваются особенности Twisted; на практических примерах показано, как его архитектура
способствует тестированию, решает общие проблемы надежности, отладки и упрощает
выявление причинно-следственных связей, присущих событийно-ориентированному
программированию. Детально описываются приемы асинхронного программирования,
подчеркивается важность отложенного вызова функций и сопрограмм. На примере использования двух популярных приложений, treq и klein, демонстрируются сложности,
возникающие при реализации веб-API с Twisted, и способы их преодоления.
Вторая часть книги посвящена конкретным проектам, использующим Twisted.
В число примеров входят использование Twisted с Docker, применение Twisted в роли
контейнера WSGI, организация обмена файлами и многое другое.
Читатель должен иметь некоторый опыт работы с Python и понимать основы контейнеров и протоколов. Знакомство с Twisted и с проектами, описанными в книге, не
требуется.
УДК 004.438
ББК 32.973.22
Authorized Russian translation of the English edition of Expert Twisted ISBN 978-1-48423741-0 © 2019 Moshe Zadka, Mark Williams, Cory Benfield, Brian Warner, Dustin Mitchell, Kevin
Samuel, Pierre Tardy.
This translation is published and sold by permission of Packt Publishing, which owns or
controls all rights to publish and sell the same.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.
ISBN 978-1-4842-3741-0 (анг.)
ISBN 978-5-97060-795-4 (рус.)
© 2019 Moshe Zadka, Mark Williams, Cory Benfield,
Brian Warner, Dustin Mitchell, Kevin Samuel, Pierre Tardy
© Оформление, издание, перевод, ДМК Пресс, 2020
Посвящается AZ, NZ и TS: Twisted добился признания,
и мы с нетерпением ждем следующего поколения
разработчиков.
– Моше Задка (Moshe Zadka)
Содержание
Об авторах ..........................................................................................................12
Благодарности ...................................................................................................14
Введение .............................................................................................................15
От издательства .................................................................................................16
Часть I. ОСНОВЫ ..............................................................................................17
Глава 1. Введение в событийно-ориентированное
программирование с помощью Twisted .....................................................18
Примечание о версиях Python .............................................................................19
Событийно-ориентированное программирование – что это?..........................19
Многократные события........................................................................................20
Мультиплексирование и демультиплексирование ............................................22
Мультиплексор select............................................................................................23
История, аналоги и назначение ......................................................................23
Сокеты и select ..................................................................................................24
События сокета – как, что и почему ................................................................25
Обработка событий ..........................................................................................26
Цикл обработки событий с select ....................................................................27
Управляемые событиями клиенты и серверы ................................................29
Неблокирующий ввод/вывод ...............................................................................31
Знаем, когда нужно остановиться ...................................................................31
Отслеживание состояния .................................................................................32
Наличие информации о состоянии усложняет программы ..........................35
Управление сложностью с помощью транспортов и протоколов .....................36
Реакторы: работа с транспортом .....................................................................37
Транспорты: работа с протоколами ....................................................................37
Игра в пинг-понг с протоколами и транспортами .........................................38
Клиенты и серверы со своими реализациями протоколов и транспортов ....42
Реакторы Twisted и протоколы с транспортами ............................................43
Преимущества событийно-ориентированного программирования ................44
Twisted и реальный мир .......................................................................................46
События и время ...................................................................................................50
Повторение событий с LoopingCall .................................................................53
Интерфейсы событий в zope.interface.................................................................55
Содержание 7
Управление потоком в событийно-ориентированных программах ................57
Управление потоком в Twisted с
- 1
- 2
- 3
- . . .
- последняя (103) »
Последние комментарии
11 часов 45 минут назад
12 часов 20 минут назад
13 часов 13 минут назад
13 часов 18 минут назад
13 часов 29 минут назад
13 часов 43 минут назад