
Absolute Nikola
20.06.2018
07:32:04
Привет есть люди кто работал с kivy? Как можно сделать чтение из сокета чтоб вся программа не висла? Я придумал только сделать неблокирующий сокет и несколько раз в секунду оттуда пытаться читать, есть ли варианты получше?

Alex
20.06.2018
07:34:56
Что бы программа не висла надо писать адекватный код))) Если нет фоновых задач, то твой вариант подойдет. Если есть, то выносить в отдельный поток
реализовать модель consumer/producer через condition variable
А вообще в строго синхронном api нет нужды использовать неблокирующий режим. Полный дуплекс нужен для чатов всяких и подобных задач

Google

Absolute Nikola
20.06.2018
07:41:02
я чат и пишу, спасибо)

xPushkin
20.06.2018
07:41:17

Absolute Nikola
20.06.2018
07:44:09
сервер на ++, клиента хочу на python

Alex
20.06.2018
07:45:16
Сервер на нативных сокетах без библиотек?

Absolute Nikola
20.06.2018
07:46:12
да

Alex
20.06.2018
07:46:53
Похвально, че. мультиплексор какой используешь, kqueue/epoll?

Absolute Nikola
20.06.2018
07:47:06
только мультиплексирование на epoll еще прикрутил
допишу более-менее работающего клиента и пойду сервер доделывать, хочу добавить работу в несколько потоков, мб бд для сообщений
на bsd не сидел


Alex
20.06.2018
08:03:12
Я бы работу с соединениями не разносил по потоками, что бы снизить расходы на синхронизацию. В потоках делал бы только чтение из СУБД в буфер сокета и изменял бы флаг готовности, atomic в структуре привязанной к сокету. В читающем/пишущем потоке проверял бы статус буфера по дескриптору и писал бы чанками со смещением добавляя терминирование, что бы на клиенте пайплайн был(когда 2 запроса сразу сыпится). Здесь еще надо учесть то, что в 1 момент времени 1 поток может ждать данных с субд, поэтому нужно определять есть ли ожидающие потоки для этого дескриптора что бы в очередь именно этого потока ставить данные. Иначе тоже может посыпаться все. Временные метки не помогут здесь
Хотя, если просто пет проект, то нафиг чанки, можно не париться про гранулярность и прочее)

Absolute Nikola
20.06.2018
08:07:34
Максимум это видит штук 30 знакомых чтоб потестить. А так это все для себя, опыта набраться, да шишек набить)

Google

Absolute Nikola
20.06.2018
08:10:08
на сервере хотел в потоки вынести рассылку по группам (в данный момент всем) + протокол написанный на коленях не особо поддерживает то что в один момент на сокет пойдут два сообщения, и из за этого все упадет.
спасибо за текст про реализацию, учту

Alex
20.06.2018
08:12:56
Ну там сам придумаешь, главное помнить что не надо потоки/процессы всюду пихать. Распространенная ошибка. в итоге часто код превращается в лапшу из механизмов синхронизации

Absolute Nikola
20.06.2018
08:13:32
окей)

Иван
20.06.2018
10:04:36
Народ, всем привет. Возникла проблема с python-magic.
>>> from magic import Magic
>>> magician = Magic(mime=True, uncompress=True, mime_encoding=True)
>>> magician.from_file('/tmp/files/archives/example_multicontent_multilevel.zip')
'gzip ERROR: Stdin has more than one entry--rest ignored compressed-encoding=application/zip; charset=binary'Кто-нибудь сталкивался? Запускается в docker, образ python:3.6-slim
Версия python-magic == 0.4.15

? Snyp
21.06.2018
07:09:10
Доброго времени суток. Посоветуйте пожалуйста вводные русские доки по PyQt.

Andrey
21.06.2018
07:14:38
Первая ссылка в гугле, по аналогичной изучал pyqt4, все доступно и понятно


Alex
22.06.2018
13:03:07
ребят, помогите обойти граф, я не понимаю с чего начать
ам предоставлена информация о соединениях в сети и об уровне защищенности каждого компьютера. Уровень защищенности оценивается временем (в минутах), которое затрачивает вирус на захват машины. Время захвата не зависит от количества зараженных компьютеров, с которых проводится на него атака. Заражение начинает распространение с нулевого компьютера (который уже заражен). Связи в сети не имеют направлений. Уровень защищенности не может быть равен нулю (кроме уже зараженного).
Информация о конфигурации сети и уровнях защищенности представлена в квадратной матрице размерности NxN, где N - количество компьютеров в сети. Если i-ый компьютер соединен с j-ым компьютером, значения matrix[i][j] == matrix[j][i] == 1, в противном случае 0. Уровни защищенности расположены на главной диагонали, то есть, в matrix[i][i] находится значение уровня защищенности i-го компьютера. Короче вот


Absolute Nikola
22.06.2018
13:07:49
bfs + немного модернизоровать очередь
http://e-maxx.ru/algo/bfs

Dmitry
22.06.2018
15:39:25
Подскажите, что-то туплю почему тут None выводится:
class MyClass:
name = None
def __init__(self, x):
self.x = x
m = MyClass("Mike")
print(m.name)
Я ожидал что имя напечатает

Il
22.06.2018
15:40:53
lass MyClass:
name = None
def __init__(self, name):
self.name = name
m = MyClass("Mike")
print(m.name)

Dmitry
22.06.2018
15:41:59
ты вроде тоже самое написал что и я
или нет?

Il
22.06.2018
15:42:15
Попробуй

Dmitry
22.06.2018
15:42:56
ой это я затупил
сорян блин, глаз замылился уже

Denis
23.06.2018
13:35:10
Привет парни подскажите пожалуйста.
Вот надо такой скрепер не скрепер сделать, тупо переход по ссылке и клик.
МАСТЕР ЛИР (Я КОТИ!!!), [23.06.18 21:30]
А у меня вот какая ошибка.
МАСТЕР ЛИР (Я КОТИ!!!), [23.06.18 21:30]
pip3 instal pyvirtualdisplayTraceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
МАСТЕР ЛИР (Я КОТИ!!!), [23.06.18 21:30]
грустная
МАСТЕР ЛИР (Я КОТИ!!!), [23.06.18 21:31]
странно но теперь на pip3 install selenium он тоже самое выдает

Google

Denis
23.06.2018
13:35:35
Оно конечно можно упериться рогом и сделать на ДЖС но не хочется.

xPushkin
23.06.2018
13:36:38

Ярослав
23.06.2018
13:40:38
Кто не хочет ломать глаза - ошибка: ssl error: decryption failed or bad record mac
Запускаю бота, бот обрабатывает все апдейты, и при получении апдейта во время работы - ложится с этой ошибкой, при этом сообщение может быть любое

xPushkin
23.06.2018
13:43:17

Ярослав
23.06.2018
13:43:34
Просто я столкнулся с тем, кто никто не может помочь особо

V
23.06.2018
22:15:08
https://pythoninsider.blogspot.com/2018/05/python-370b5-bonus-beta-is-now.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+PythonInsider+(Python+Insider)&m=1

Cool
24.06.2018
12:52:02
Всем привет!

xPushkin
24.06.2018
12:57:08
Добро пожаловать

Cool
24.06.2018
15:02:37

Alex
24.06.2018
15:46:05

Ярослав
24.06.2018
15:46:18

Oleg
25.06.2018
14:16:38
Всем привет!
Подскажите пож, как решить подобную проблему?
ставил grpcio и grpcio-tools, не помогло
Traceback (most recent call last):
File "./protogen", line 25, in <module>
from grpc.tools.protoc import main as _protoc
ImportError: No module named 'grpc.tools'

Ярослав
25.06.2018
14:17:10
точнее скорее всего pip install grpc

Oleg
25.06.2018
14:19:48

Ярослав
25.06.2018
14:20:26
тут уже не помогу, сорри

Google

Vadim
25.06.2018
20:49:15
@bunk100 видно же что ругается на версию питона)