
Alex
21.01.2019
18:15:52
теперь все стало ясно

ᅠ ᅠ
21.01.2019
18:16:27

Alex
21.01.2019
18:17:34
Знаете как решить?
да, отправить тебя читать http://citforum.ru/howto/smart-questions-ru.shtml

Google

ᅠ ᅠ
21.01.2019
18:25:54
При работе с библиотекой requests на ubuntu18.04, при .get() запросе выпадает ошибка SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:847)'
Никто не сталкивался?

Николай
21.01.2019
18:26:09
Тебе ответили

Tishka17
21.01.2019
18:36:41
Ух, я как-то компиировал опенссл, чтобы новый tls втянуть, только для того чтобы http/2 заюзать

Terminator
21.01.2019
18:50:28
@n3yron2 будет жить. Поприветствуем!

Влад
21.01.2019
19:05:49
У меня вот тут проблема: если пытаюсь обменяться данными между разными процессами в multiprocessing.Process, то получаю нули. Т.е. передаю переменную — получаю вместо ее значения 0.0. Если передаю массив, то он становится заполнен нулями вместо нужных данных. Что с этим делать?

Tishka17
21.01.2019
19:06:33
Код покажи

Влад
21.01.2019
19:08:16
self.frames_counter = 10
Process(target=print_fps).start()
def print_fps(self):
while True:
time.sleep(1)
print(self.frames_counter)
Ну, условно так.
print выводит 0.0

BlackAndOrange
21.01.2019
19:14:04
Hi
Какая ORM поверх PostgreSQL сейчас наиболее быстрая для асинхронного проекта?
Не смог найти Benchmark'ов, но если смотреть поверх SQLite, то PonyORM внезапно гораздо быстрее:
https://github.com/tortoise/orm-benchmarks
Но при этом драйвер PostgreSQL, который используется Tortoise, утверждается что очень быстрый:
https://github.com/MagicStack/asyncpg

Google

Denis
21.01.2019
19:16:16
Быстрее всего будет без ОРМ

BlackAndOrange
21.01.2019
19:16:17
Не могу сделать выбор

Tishka17
21.01.2019
19:17:06

Влад
21.01.2019
19:17:23
from multiprocessing import Process, Queue
import time
class Frame(object):
def __init__(self):
self.frames_counter = 0
def update_fps(self):
while True:
time.sleep(1)
self.frames_counter += 1
print("update counter:", self.frames_counter)
def print_fps(self):
while True:
time.sleep(1)
print("get counter:", self.frames_counter)
frame = Frame()
Process(target=frame.update_fps).start()
Process(target=frame.print_fps).start()

Tishka17
21.01.2019
19:17:26

Влад
21.01.2019
19:17:37
Выводит
update counter: 1
get counter: 0
update counter: 2
get counter: 0
update counter: 3

Tishka17
21.01.2019
19:18:32
Между ними нет свзяи

Влад
21.01.2019
19:19:41
т.е. это нормальное поведение и ничего с этим не сделать, только использовать коммуникацию между процессами в виде труб или очередей?

Tishka17
21.01.2019
19:20:58
Ну в момент форка для каждого создается копия памяти и дальше они независимы
Есть ещё shared_memory так-то
Но тут вопрос, что ты вообще делашь через процессы?

Влад
21.01.2019
19:22:03
ну, я сделал через Queue, работает. Но может как-то проще можно.
один процесс — http-сервер, второй — анализирует видео

dd
21.01.2019
19:26:31
я снова за помощью по джанге, есть две модели, вторая использует первую в качестве foreignkey, нужно сортировать записи первой модели по количеству ссылко на них во второй базе

Terminator
21.01.2019
19:27:00
@molchanos будет жить. Поприветствуем!

Tishka17
21.01.2019
19:28:25
Оу
Сразу готовься с тому что они могут оказаться на разных серверах

Google

Tishka17
21.01.2019
19:28:26
И возьми нормальную очередь
В смысле сервер очередей

Denis
21.01.2019
19:28:44

dd
21.01.2019
19:29:07
пажжи, я нашел по ходу
очень полезный паблик, как только что то спрошу, сразу самому доходит :)

Sheridan
21.01.2019
19:43:29
Коморады, а как в питонах принято глобальные синглтоны заводить? Неохота через конструкторы в каждый класс на нижний уровень передавать линк на те же опции...

Alex
21.01.2019
19:44:07
это еще раз намекает на то что ты делаешь что-то совсем не то

Sheridan
21.01.2019
19:44:39

Alex
21.01.2019
19:45:05
да блин... ты книжку по питону хотя бы раз открывал?

Sheridan
21.01.2019
19:45:30

Alex
21.01.2019
19:45:35
инстанс созданный на уровне модуля по сути является синглтоном.

Alex
21.01.2019
19:46:12
> синглтон это шаблон проектирования объекта, имеющего один и только один инстанс
ваш К.О.

Sheridan
21.01.2019
19:46:22

Tishka17
21.01.2019
19:46:40

Alex
21.01.2019
19:47:04

Tishka17
21.01.2019
19:47:04

Alex
21.01.2019
19:47:41
но вообще нужно стараться их избегать

Sheridan
21.01.2019
19:48:18

Google

Tishka17
21.01.2019
19:48:43

Alex
21.01.2019
19:48:57
ты путаешь наследование с агрегированием

Tishka17
21.01.2019
19:49:10
Вот понадобится тебе два инстанса разными настройками, спасибо скажешь

Admin
ERROR: S client not available

Alex
21.01.2019
19:49:25
вообще классы с сайд-эффектами это не очень хорошо
как и любые другие сущности

Sheridan
21.01.2019
19:49:49
два одинаковых синглтона, но разных...

Tishka17
21.01.2019
19:50:18
Всегда так происходит

Alex
21.01.2019
19:50:30
> два одинаковых синглтона, но разных...
(facepalm.jpg)

Sheridan
21.01.2019
19:50:58
чтото опять срач
простите
так каким путём пойти?

Alex
21.01.2019
19:52:01
вот понадобится юни-тесты написать, спасибо скажешь

Sheridan
21.01.2019
19:52:08
глобально доступная переменная или просовывать сквозь конструкторы вглубину?

Alex
21.01.2019
19:52:13

Tishka17
21.01.2019
19:52:25
Кстати, заодно раз зашла речь о наследовании. Если у тебя больше 3х уровней наследования, ты потерял контроль над прогой

Google

Tishka17
21.01.2019
19:52:34

Alex
21.01.2019
19:52:42

Sheridan
21.01.2019
19:52:46
мода такая чтоле?
у меня бывало и десяток набирался

Tishka17
21.01.2019
19:53:06

Sheridan
21.01.2019
19:53:20
каждый класс декомпозирован, инкапсулирует в себя только то что ему надо, самодостаточне

Alex
21.01.2019
19:53:21
я просто не понимаю какое отношение наследование имеет к просовыванию контекста внутрь

Tishka17
21.01.2019
19:53:32
Не десяток классов, а именно уровней

Alex
21.01.2019
19:53:34

Tishka17
21.01.2019
19:53:50

Sheridan
21.01.2019
19:54:15
и в итоге контрукторы разрастаются до нуегонахер )

Alex
21.01.2019
19:55:24

Tishka17
21.01.2019
19:55:56