7

Хочу стать программистом ч.3

Спасибо всем за поддержку и теплые слова, написанные в комментариях к прошлому посту. Мне было приятно читать = )


Ссылку на репозиторий скину в конце статьи, в дальнейшем планирую писать новый пост примерно раз в неделю с новыми фичами, а на данный момент опубликую пока то что есть.



Итак мы будем делать клиент-серверное приложение. Сперва мой выбор пал на стандартную библиотеку питона socketserver, но он разрывает связь после первого обмена данными, поэтому реализация  будет на socket


Начнем с сервера (код):

Большинство кода являет собой копипасту из документации по модулю selectors.

Cуть в том, что мы слушаем сокет и в бесконечном цикле слушаем события от модуля selectors, заранее вешая туда обработчик accept. Таким образом мы можем подключаться одновременно с нескольких клиентов.


Из интересного можно отметить код split_input_data, где мы регуляркой разбиваем входящие данные на кортеж.


Код клиента вообще прост как 2 копейки(код):

-просто подключается

- ждем ввод

- пишем ответ



Сама структура для хранения сейчас представлена в виде словаря, напомню главная цель данной активности - чтоб работало, о скорости подумаем потом = )

Записывать свое состояние пока не умеет, просто хранит словари в памяти и отдает данные по ключу.

Реализация опять же проста на данный момент. Код



На данный момент основная проблема это то как это все можно протестировать, автоматизировать?

Как замерить скорость и сравнить с реальным redis?

Полное непонимание того как пишутся распределенные приложения.



Ссылка на гит - https://github.com/straus123/strais


Как обычно рад адекватной и не очень критике.

Спасибо!

Программирование на python

940 постов11.9K подписчиков

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

2
DELETED
Автор поста оценил этот комментарий

Молодец, главное - писать код.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо, если будут советы и коменты, пиши = )

0
Автор поста оценил этот комментарий

Привет! Первое - вы молодец! Начать, это уже пол дела )

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


Опять же, имхо,  самое важное понимать "по какому принципу это работает" а не "что делает эта функция".

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо! Всегда рад советам и критики.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества