Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 52 сообщений
Cообщения с меткой

сокеты - Самое интересное в блогах

Следующие 30  »
rss_habr

[Перевод] Руководство по программированию сокетов на Python. Устранение проблем и справочный раздел

Среда, 23 Ноября 2022 г. 23:48 (ссылка)



К старту курса по Fullstack-разработке на Python делимся заключительной частью руководства по программированию сокетов, эта часть посвящена устранению неполадок и справочным сведениям.



К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях.

Читать дальше →

https://habr.com/ru/post/700248/?utm_source=habrahabr&utm_medium=rss&utm_campaign=700248

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Руководство по программированию сокетов на Python. Протокол и сообщения

Вторник, 22 Ноября 2022 г. 23:46 (ссылка)





К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python.

Читать дальше →

https://habr.com/ru/post/700246/?utm_source=habrahabr&utm_medium=rss&utm_campaign=700246

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Руководство по программированию сокетов на Python. Клиент, сервер и несколько соединений

Вторник, 04 Октября 2022 г. 22:39 (ссылка)





К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python. Для удобства чтения первая часть — за спойлером.
Посмотреть

https://habr.com/ru/post/691296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=691296

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Руководство по программированию сокетов на Python. От введения до работающего примера

Понедельник, 26 Сентября 2022 г. 23:39 (ссылка)





К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python.
Посмотреть первую часть

https://habr.com/ru/post/690186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=690186

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Чего вам не говорили про сокеты

Пятница, 02 Сентября 2022 г. 17:58 (ссылка)



Чтобы эффективно писать приложения, общающиеся через сокеты, мне пришлось понять кое-что, чего мне не сообщал никто и что не написано ни в какой документации.



Если у вас есть опыт написания приложения с использованием сокетов, то вся эта информация должна быть для вас очевидной. Она неочевидна для меня как абсолютного новичка, поэтому я попытаюсь как можно подробнее объяснить это, чтобы ускорить процесс освоения сокетов для других новичков.
Читать дальше →

https://habr.com/ru/post/686134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686134

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Эволюция игрового серверного фреймворка на Python. Часть 2 из 2. Слои логики

Понедельник, 25 Июля 2022 г. 19:06 (ссылка)

В прошлый раз мы отделили логику от инфраструктуры и разбили последнюю на четыре слоя: Server -> Parser -> Application -> Repository. Классы инфраструктуры составляют основной фреймворк, который берет на себя всю рутинную работу, а нам предоставляет писать одну только логику.

Логика состоит из контроллеров, которые составляют пятый и пока что последний слой. Они полностью независимы не только от инфраструктуры (им доступно только хранилище), но и друг от друга. Контроллеры — это, на данный момент, базовые единицы бизнес-логики.

Если сильно обобщить, то контроллеры занимаются преобразованием одних команд в другие с сопутствующим изменением состояния приложения (Repository). В зависимости от команды и текущего состояния пользователя Application выбирает соответствующий контроллер и передает ему ссылку на Repository. Контроллер обрабатывает команду, изменяет состояние хранилища и возвращает другие команды, которые должны быть отправлены инфраструктурой по назначению. В общей схеме контроллеры занимают промежуточное место между движком и хранилищем:

... -> Application -> Controller -> Repository.

Если размещать всю логику в одном классе контроллера, то это в большинстве случаев окажется большой класс. Большой класс — это много кода, а много кода, собранного в одном месте — это мешанина. Поэтому чтобы в ней не запутаться, вся логика будет разбиваться на различные классы. Одна задача — один класс. Классы, выполняющие сходные функции и способные заменять друг друга, будут группироваться в слои, как и в инфраструктуре.

В результате у нас появятся отдельные библиотеки для каждого жанра, а также библиотеки с базовыми классами для групп жанров. В отличие, от основного, инфраструктурного фреймворка, эти фреймворки будут сугубо "логические".

При такой организации кода отдельные игры — это лишь соответствующая настройка и использование классов из жанровой библиотеки. Идеальный проект тогда будет состоять вообще из одного main-скрипта в пару строк и yml-файла конфигурации.

О том, как писать классы такого уровня обобщения, чтобы исходный код проектов состоял всего из нескольких строк, как раз и пойдет речь в данной статье:

Читать далее

https://habr.com/ru/post/678666/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678666

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 5. Асинхронное программирование

Вторник, 12 Июля 2022 г. 11:00 (ссылка)

Выше мы рассмотрели, как появились генераторы, как они работают и как их можно использовать в роли сопрограмм. Еще раньше было разобрано, как реализовать асинхронность на колбеках с помощью модуля selectors. Теперь соединим оба материала и реализуем настоящую асинхронность — на сопрограммах (coroutines).

В конце мы создадим минимально возможную версию asyncio и используем ее как лабораторный макет для изучения внутреннего устройства данной библиотеки. Как по мне, это лучший способ понять, как работает асинхронное программирование в Python.

Читать далее

https://habr.com/ru/post/676144/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676144

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 3. Первый подход к асинхронности

Понедельник, 11 Июля 2022 г. 18:00 (ссылка)

В прошлый раз мы рассмотрели, что такое синхронное программирование, и с какими проблемами с ним сталкивается разработчик. На примере простого сервера с блокирующими сокетами мы увидели, что в синхронно выполняющейся программе все инструкции выполняются строго по очереди, и если встречается системный вызов ввода-вывода, то он может полностью остановить выполнение программы на довольно продолжительное время — пока не завершится. Весь этот период процессор простаивает в ожидании, хотя мог бы выполнять другие задачи, которых накапливается немало. В результате сервер одновременно может обрабатывать только одно подключение. Чтобы перейти ко второму, предыдущее должно быть закрыто.

Решить проблему многозадачности можно стандартными средствами вытесняющей многозадачности: процессами или потоками. Но тут разработчик сталкивается с достаточно серьезными трудностями. Процессы требуют дополнительных ресурсов на свое обслуживание, а потому невыгодны. А потоки влекут за собой множество трудноотлавливаемых и сложновоспроизводимых багов, из-за чего требуется долгая и кропотливая дополнительная работа по синхронизации потоков. В результате мы становимся перед выбором: или дополнительные расходы на железо, или дополнительные расходы на программистов.

Но, к счастью, существует и третий вариант — кооперативная многозадачность с помощью системного вызова select и его аналогов (poll, epoll и других). Он позволяет мультеплексировать несколько задач в одном потоке выполнения и в сущности является обычной синхронной программой. А потому никаких дополнительных трат процессорного времени и времени разработчиков не требуется.

Читать далее

https://habr.com/ru/post/676124/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676124

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 1. Введение

Воскресенье, 10 Июля 2022 г. 17:14 (ссылка)

Дабы исчерпать до дна тему сокетов в Python я решил изучить все возможные способы их использования в данном языке. Чтобы всех их можно было испытать и попробовать на зуб, были созданы 19 версий простого эхо-сервера: от примитивного использования класса socket до asyncio. Блокирующие и неблокирующие сокеты, процессы и потоки, select'ы и selector'ы, коллбеки и сопрограммы — все эти темы расположены в эволюционном порядке, чтобы один пример плавно перетекал в другой.

Отдельно разобрано появление асинхронности в Python. На примерах детально показано, как и зачем появились итераторы, из них — генераторы, сопрограммы. Ближе к концу построен учебный макет библиотеки asyncio с минимально необходимым кодом, чтобы любой (даже такой, как я) смог разобраться, как на самом деле устроена асинхронность, как там все внутри работает.

Пишу подробно, чтобы случайно чего не пропустить. Поэтому понятно должно быть всем.

Читать далее

https://habr.com/ru/post/676110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676110

Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<сокеты - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda