@ru_python

Страница 8060 из 9768
Alex
11.02.2019
18:13:30
Вообще сокеты тушить не обязательно. Например демон inetd тупо работает слушателем сокетов.

Alex
11.02.2019
18:13:45
Igor
11.02.2019
18:15:29
а при чем тут велосипеды с интерфейсами к 5му правилу SOLID?
https://github.com/dboyliao/SOLID/blob/master/python_code/good/DIP.py

Google
Denis
11.02.2019
18:16:39
https://github.com/dboyliao/SOLID/blob/master/python_code/good/DIP.py
Если тут убрать IWorker, ничего не поменяется

Nikitcat
11.02.2019
18:17:07
та питоняч не очень подходит под паттерны и солиды на моё мнение

Alex
11.02.2019
18:17:10
https://github.com/dboyliao/SOLID/blob/master/python_code/good/DIP.py
херня какая. вместо того чтобы читать и понимать принципы приводить в пример говнокод какого-то рандомного чувака с гитхаба.

та питоняч не очень подходит под паттерны и солиды на моё мнение
еще как подходит. SOLID это просто набор принципов, которыми имеет смысл руководствоваться в разработке ПО.

RayZ
11.02.2019
18:17:50
Можно юзать ABC и он уже не даст вам не реализовать методы

Alex
11.02.2019
18:18:24
сейчас нам расскажут о том какой этот чувак большой авторитет?

Alex
11.02.2019
18:18:41
м?
Прикольное сочетание.

сейчас нам расскажут о том какой этот чувак большой авторитет?
Я не в курсе кто он. Какой-то питохер с горы.

RayZ
11.02.2019
18:23:42
еще как подходит. SOLID это просто набор принципов, которыми имеет смысл руководствоваться в разработке ПО.
Как один из вариантов протянуть джавошное ооп шоб джавистам переучиваться не надо было

Google
Валентин
11.02.2019
18:24:38
Можно юзать ABC и он уже не даст вам не реализовать методы
можно в родительском классе просто кидать в методе эксепшен по дефолту

Terminator
11.02.2019
18:24:41
@KonstantinKaretny будет жить. Поприветствуем!

Валентин
11.02.2019
18:25:01
pycharm даже в подклассах тогда подсвечивает, что надо переопределить их

Konstantin
11.02.2019
18:25:41
RayZ
11.02.2019
18:26:05
можно в родительском классе просто кидать в методе эксепшен по дефолту
Не видел реализацию ABC но если там так то пожалуй пора идти на ноду

Марк
11.02.2019
18:26:35
Вообще сокеты тушить не обязательно. Например демон inetd тупо работает слушателем сокетов.
Я проверял на самом простом скрипте. Сокет, реюз, бинд, листен. Дальше exec*. - Адрес алреади ин юз. Забороть так и не смог. Возможно, exec* совсем никак не тушит сокеты. И я не нашел какого-то элегантного решения.

flush сокеты никак не закрывает.

Konstantin
11.02.2019
18:28:25
Посоны, чё питон не поддерживает SOLID, в частности последнее правило DIP? Как это реализовать за неимением интерфейсов в языке?

MC SHAR
11.02.2019
18:28:56
Здрасьте, как сделать так, чтобы один input() брал сразу 2 значения и сохранял их в две разные переменнные?

Марк
11.02.2019
18:29:06
Konstantin
11.02.2019
18:29:47
Ввват?
Каким образом соблюдать последнее правило SOLID в питоне?

Evil ⁡Deity ?
11.02.2019
18:30:06
Здрасьте, как сделать так, чтобы один input() брал сразу 2 значения и сохранял их в две разные переменнные?
Эта функция берет строку, которую можно потом запарсить. Например, если вводишь два числа через пробел, то a, b = input().split()

Alex
11.02.2019
18:30:15
Эм. Можно для тупых
Порт в листен. После коннекта клиента форкается соединение с другим портом, а родительский порт продолжает слушать порт.

Denis
11.02.2019
18:30:33
Konstantin
11.02.2019
18:31:09
А зачем для него интерфейсы?
Ок, а что для него использовать тогда?

Denis
11.02.2019
18:31:30
Ок, а что для него использовать тогда?
Для него ничего не надо использовать, он просто работает

В питоне утиная типизация

RayZ
11.02.2019
18:31:59
Google
Terminator
11.02.2019
18:32:14
@Swered будет жить. Поприветствуем!

Марк
11.02.2019
18:32:32
Порт в листен. После коннекта клиента форкается соединение с другим портом, а родительский порт продолжает слушать порт.
А причем тут клиент? У меня простой скрипт становится в листен. Дальше я заменяю процесс на него же через exec*. Тут как раз тема в том, что бинд продолжает/не успевает

Konstantin
11.02.2019
18:33:09
Строить нормальную архитектуру
Это понятно, но все примеры касательно DIP правила крутятся вокруг интерфейсов, в питоне их нет, так как нам быть?

Denis
11.02.2019
18:33:59
Это понятно, но все примеры касательно DIP правила крутятся вокруг интерфейсов, в питоне их нет, так как нам быть?
В питоне для того, чтобы сделать a.b(), не нужно зависеть от модуля, где объявляется класс a

RayZ
11.02.2019
18:34:11
Интерфейс это абстракция а не инструмент

Марк
11.02.2019
18:35:12
https://docs.python.org/2/library/os.html#process-management Я за эти командсы, если чего.

Konstantin
11.02.2019
18:35:30
Интерфейс это абстракция а не инструмент
Понятно, но что мне использовать в питоне в качестве абстракции, обычный класс?

Или костыль как в этом примере?

https://github.com/dboyliao/SOLID/blob/master/python_code/good/DIP.py

RayZ
11.02.2019
18:36:16
Можешь сам реализовать

Konstantin
11.02.2019
18:38:39
Danke

Ае
11.02.2019
18:40:54
Всем привет, а можно ли скрипт который робит в CMD свернуть в трей? Или лучше его в Qt запихать и уже оттуда его сворачивать?

Terminator
11.02.2019
18:55:21
@asistents будет жить. Поприветствуем!

Google
Aragaer
11.02.2019
19:03:15
/me прочитал, но не понял вопроса

MC SHAR
11.02.2019
19:04:35
Это конечно хорошо, но как эти переменные преобразовать в int, чтобы с ними можно было совершать всякие вычисления

Эта функция берет строку, которую можно потом запарсить. Например, если вводишь два числа через пробел, то a, b = input().split()

Вот такой был вопрос

Здрасьте, как сделать так, чтобы один input() брал сразу 2 значения и сохранял их в две разные переменнные?

Aragaer
11.02.2019
19:06:11
не, я про бинды и листены

Ае
11.02.2019
19:08:49
https://pastebin.com/11mGHUef В общем, вот код, он работает. Но если интернет отключается в момент когда цикл запущен он не вызывает subprocess.call(который все таки открывает проводник, если выключить интернет и запустить скрипт) и вызывает ошибку - Ping сбой передачи. General failure, почему?

Terminator
11.02.2019
19:10:31
allej jella будет жить. Поприветствуем!

Alph
11.02.2019
19:11:14
товарищи , подскажите пожалуйста , как можно быстро найти в каком файле библиотеки лежит необходимый класс

Aragaer
11.02.2019
19:11:31
греп

Denis
11.02.2019
19:11:33
Наводишь курсор на имя и Ctrl+B

Марк
11.02.2019
19:14:25
/me прочитал, но не понял вопроса
Создает сокет. Делаем его реюз. Дальше делаем бинд и листен. Все. Мы начали слушать порт на каком-то адресе. Следующей строкой я хочу пересоздать скрипт через exec*. Я его пытаюсь пересоздать, но мне пишет ошибку - address already in use. Почему так?

Alph
11.02.2019
19:15:01
греп
cat file.py | grep Class ? что то долго так по каждому файлу делать

Наводишь курсор на имя и Ctrl+B
это в каком редакторе?

Denis
11.02.2019
19:15:22
Alph
11.02.2019
19:15:35
Pycharm
у меня sublime text

Terminator
11.02.2019
19:16:11
Sergey будет жить. Поприветствуем!

Google
Aragaer
11.02.2019
19:16:31
то есть sock = socket.socket() sock.setsockopt(socket.SOL_SOCKET, socket.SOL_REUSEPORT, 1) sock.bind((my_addr, my_port))

или на сях?

https://gist.github.com/aragaer/c63746486da6be0b13de808bf1f65227

вот тут у меня пример reuseport

Марк
11.02.2019
19:17:53
то есть sock = socket.socket() sock.setsockopt(socket.SOL_SOCKET, socket.SOL_REUSEPORT, 1) sock.bind((my_addr, my_port))
Вот так, да. Листен еще. И следом os.execl() на самого себя.

Страница 8060 из 9768