@spbpython

Страница 202 из 785
Serge
17.11.2016
19:03:43
А подписаться на поток изменений с клиента, на те ивенты, которые он видит?

Я не понимаю при чем тут план по времени

Ну да ладно

Roman
17.11.2016
19:03:59
А?
Ну с некоторым интервалом бегать по таблице и смотреть что пора обрабатывать. Дельта нужна чтобы не жевать вообще все из прошлого

Google
Serge
17.11.2016
19:04:44
От последней проверки до сейчас

s0b0lev
17.11.2016
19:05:01
А подписаться на поток изменений с клиента, на те ивенты, которые он видит?
он подписан, но вот начало ивента никак не тригерится на бэкэнде, просто date_from становится меньше текущей даты

по этому клиент зная date_from объектов которые его интересует - сможет сам с ними что нибудь сделать

Vitali K.
17.11.2016
21:04:45
https://www.pythonsheets.com/

Roman
17.11.2016
21:51:45
А использует кто orm для монги?

Вот у джава-программист батхерт: код, считающий сумму чисел до 1 млрд на pypy исполняется за 3с, а его вариант на java - 27c

https://gist.github.com/olegchir/91acba30cbdc0fb971b03d59a34eeff4

Zart
17.11.2016
22:24:13
против print(sum(range(1000000000))) ?

Roman
17.11.2016
22:31:20
pypy у меня жует это за 3с. Вариант с reduce и лямбдой - тоже 3с

Google
Zart
17.11.2016
22:36:17
есть, как чукча-читатель

Vitali K.
17.11.2016
22:48:43
kotik-mbp:~ kotik$ time pypy -c "print(sum(range(1000000000)))" 499999999500000000 real 0m1.322s user 0m1.280s sys 0m0.034s

Serge
18.11.2016
00:27:20
Roman
18.11.2016
06:28:00
Его нет
mongoengine ?

Serge
18.11.2016
06:28:55
mongoengine ?
Ну, оно только создаёт проблемы

Roman
18.11.2016
06:33:19
Какие?

Mehti
18.11.2016
06:39:52
Я использовал mongoengine для хранения узлов дерева сад

Dmitry
18.11.2016
06:59:31
https://gist.github.com/olegchir/91acba30cbdc0fb971b03d59a34eeff4
У java проблема из-за создания строк для больших чисел. Пусть попробует MutableBigInteger

Serge
18.11.2016
07:19:07
И как впечатления?
Ну, чтобы они были адекватными, надо еще реализовать без ME. Там будет все просто и очевидно

Вообще, мне кажется mypy и pymongo достаточно

Mehti
18.11.2016
07:27:05
И как впечатления?
вроде норм; ты только на меня не особо надейся - я им мало пользовался)

у меня был выбор между графовыми бд и nosql (документо-ориентированными), в итоге выбор пал на mongo просто потому что биндинг поддерживаемый

ну и потому что в инфраструктуре должна была быть одна бд и коллеги которые на других языках писали использовали ее

Aleksander
18.11.2016
11:24:01
что-то я не воткну есть тесты на pytest, django тест выполняется по несколько секунд на запрос какой-нибудь (POST, GET) --reuse-db --nomigration есть куда копать ?

Serge
18.11.2016
11:24:43
в одном треде ты идешь сам к себе и хочешь получить ответ?

Aleksander
18.11.2016
11:30:45
в смысле ?

Serge
18.11.2016
11:31:59
ну ты POST / GET по реальному http гонишь?

да и какая разница. по любому GIL

Aleksander
18.11.2016
11:32:27
self.client.get() self.client.post()

Google
Aleksander
18.11.2016
11:32:49
они последовательно выполняются

без xdist

откуда GIL ?

Serge
18.11.2016
11:33:16
ну а почему еще оно можешь тупить?

потрейси

в IDE или pdb

Vitali K.
18.11.2016
11:34:15
может тайминги проставить

на какой-то глубине стека найдешь затыки

че гадать то))

Aleksander
18.11.2016
11:35:57
руками ? у py.test нет чего-то уже готового для этого ?

есть --duration но мало

Vitali K.
18.11.2016
11:36:11
ну руками да, а че

Vitali K.
18.11.2016
11:36:18
это минутное же дело)

Serge
18.11.2016
11:37:31
только если будешь принтить, не забудь, что питест подавляет вывод, надо его либо включить, либо зафейлить тест, чтобы увидеть

Vitali K.
18.11.2016
11:38:04
Можно накидадать (скопипастить из интернета) декоратор для ф-ци, который будет принтить время выполнения ф-ции.

ну другой способ закоментить какие-то ветки кода подозрительные

Можно профайлер включить. Но я в нем больше толку вижу если тестируешь на нескольких итарциях

Roman
18.11.2016
11:41:39
Вообще, мне кажется mypy и pymongo достаточно
>Mypy is an experimental optional static type checker

спасибо, но нет.

я бы хотел ещё иметь лимиты на длину строки, всякие choices, required

Google
Vitali K.
18.11.2016
11:44:30
может PG? :)

Serge
18.11.2016
11:45:48
Serge
18.11.2016
11:46:07
Choices через enum и mypy

Roman
18.11.2016
11:46:44
Есть же на уровне базы валидация теперь
>New in version 3.2. не все сидят на 3.2

Serge
18.11.2016
11:46:46
https://docs.mongodb.com/v3.2/core/document-validation/

Roman
18.11.2016
11:46:53
Serge
18.11.2016
11:47:01
python2?
И что?

Roman
18.11.2016
11:48:20
ну... выглядит это вырвиглазно

Admin
ERROR: S client not available

Serge
18.11.2016
13:45:52
http://www.fedmsg.com/en/latest/ внезапно

по ходу я в это буду копать, ждите доклада как раз в январе свободно, времени хватит

GNU/Docker
18.11.2016
13:48:18
Опа

Очередной дбас?

Zart
18.11.2016
13:48:27
когда это начинали пилить оно было на 0mq

Очередной дбас?
дбас - ипц. федмсг - рпц

GNU/Docker
18.11.2016
13:49:27
Окей

Zart
18.11.2016
13:50:26
точнее оно пабсаб насколько помню. сорцы не копал но про архитектуру читал

Serge
18.11.2016
13:50:55
да, я вот пока читаю, там 0mq упоминается, но до текущего я пока не дочитал

Google
Serge
18.11.2016
13:51:05
есть пара кейсов,, попробую применить

Zart
18.11.2016
13:51:40
так как я пакаджером не стал, то интерес пропал

Serge
18.11.2016
13:51:50
надо посмотреть как оно с большими сообщениями и как там с роутингом и приоритетами.

ну оно теперь Federated Message Bus. универсальное

Zart
18.11.2016
13:54:07
у меня давно ощущение что новье пилят в основном в федоре с сузей, а остальные пакуют и сруться о политике

Serge
18.11.2016
13:59:15
ну еще в каноникал пилят, но при этом своё вместо существующего, велосипедисты

а пилят там, потому что RedHat одобряе

я тут, кстати, научился пользоваться pip freeze :)

в смысле вот так pip install --upgrade -r requirements.in pip freeze -r requirements.in > requirements.txt

Aleksander
18.11.2016
15:52:20
Pip-tools не ?)

Serge
18.11.2016
15:52:40
в requirements.in получаются только мои зависимости иногда даже без версий или прост ос ограничениями, а в requirements.txt — всё с закрепленными версиями. и дальше всё после меня ставится из txt

причем оно там еще каментом разделяет что поставлено по исходному файлику, а что по зависимостям закреплено

Pip-tools не ?)
не трогал

ну вот freeze с -r - очень удобно оказалось, то что надо

Zart
18.11.2016
15:57:40
Serge
18.11.2016
15:59:14
зачем setuptools, кроме setup.py ?

осталось выучить pip install -c и setuptools
constraint-ы в реальной жизни как-то не приходилось применить

Zart
18.11.2016
16:00:48
Serge
18.11.2016
16:01:27
ну это модуль, я знаю что оно умеет, но зачем его руками дергать, кроме случаев, когда оно нужно

вот просто в generic проекте

Zart
18.11.2016
16:02:13
я имел в виду понимать его работу и тулзы к нему

Roman
18.11.2016
16:20:38
Vitali K.
18.11.2016
16:21:18
А че?

Страница 202 из 785