
Dmitry
07.02.2017
12:12:42
requested = (NAME, SURNAME)
recent_users = db.session.query(User).order_by(User.id.desc()).limit(10)
recent_users_values = [(u.name, u.surname) for u in recent_users]
if requested in recent_users_values:
pass # todo
нет?
а ещё лучше не делать выборку, а последние 10 просто хранить в кэше в любом удобном тебе виде, раз ты всё время с ними сравниваешь

Serg
07.02.2017
12:16:44
А там паук опрашивает раз в час страницу

Google

Roman
07.02.2017
12:16:47
some functions and attributes of the gc module behave in a slightly different way: for example, gc.enable and gc.disable are supported, but instead of enabling and disabling the GC, they just enable and disable the execution of finalizers.

Serg
07.02.2017
12:16:51
Так что он кроном дергается
сейчас попробую твой вариант, но у меня примерно такая конструкция и не работает...

Danil
07.02.2017
12:18:47

Roman
07.02.2017
12:20:06

Danil
07.02.2017
12:20:51
интересно, его как начинаешь читать, больше про обычный cpython узнаешь )

Roman
07.02.2017
12:21:46
directly calling the internal magic methods of a few built-in types with invalid arguments may have a slightly different result. For example, [].__add__(None) and (2).__add__(None) both return NotImplemented on PyPy; on CPython, only the latter does, and the former raises TypeError. (Of course, []+None and 2+None both raise TypeError everywhere.) This difference is an implementation detail that shows up because of internal C-level slots that PyPy does not have.

Danil
07.02.2017
12:25:04
PyPy prints a random line from past #pypy IRC topics at startup in interactive mode. In a released version, this behaviour is suppressed, but setting the environment variable PYPY_IRC_TOPIC will bring it back. Note that downstream package providers have been known to totally disable this feature.

Dmitry
07.02.2017
12:26:27
lol

Roman
07.02.2017
12:28:21
__slots__ is pointless for (but doesn't hurt) performance in PyPy.

Serge
07.02.2017
12:53:06

Roman
07.02.2017
13:21:31
внезапно. в twisted не используется super.

Google

Dmitry
07.02.2017
13:24:08
его просто не было на момент создания твистеда? :)
надо же, пытался пошутить, а в итоге угадал.

Aleksandr
07.02.2017
13:30:36
Хорошо арабские цифры в нем хоть есть …

Roman
07.02.2017
13:31:32

Serg
07.02.2017
13:50:11
а в чем прикол последних 10?
10 просто из головы взято )) по сути мне надо, чтобы за определенный промежуток времени, допустим, в течении суток - данные были уникальны.
Скорей всего там будет более 100 записей.

Serge
07.02.2017
14:04:10
ну и можно, наверное, составной индекс на это дело накатить

Serg
07.02.2017
14:18:05
Тогда получается не надо делать выборку из последних N записей, надо добавить поле date, и сделать select с нужными name, surname, date. Если select что-то вернул - идем дальше, если такой записи нет - добавляем. А много подряд select к БД не критично?

Serge
07.02.2017
14:18:51
ну и кэш там свой опять же
можно локально кэшировать ответ по определенным парам

Serg
07.02.2017
14:19:56
Просто я так за раз делаю выборку - она сохраняется как объект и уже с этим объектом работаю.

Serge
07.02.2017
14:21:18
а как ты в ней ищешь? если сделать в памяти дикт по парам и фактам есть/нет. то может и быстро быть, да. туту вопрос памяти, размера дикта и нагруженности базы и попадания в кэш, если работать с базой
т.е. если у тебя в один прогон 3 разных пары и 10000 записей за сутки, то я бы делал 3 запроса, а если 50 разных пар и 100 записей, то, наверное, эффективнее словарь из ста записей собрать сначала

Serg
07.02.2017
14:31:42
Глупый вопрос теперь))) собственно он меня больше всего волнует. По сути у нас же есть query объект, единый содержит набор объектов User. Почему я не могу из новых данных создать тоже объекты типа User и не сравнивать объекты? Наверное я плохо понимаю принцип orm?
Хотя по сути это будут 2 разных объекта и скорей всего надо написать функцию, которая и будет их сравнивать

Serge
07.02.2017
14:32:11
забудь об объектах
думай примитивами
QuerySet - это список, после того, как его подергали

Google

Serge
07.02.2017
14:32:31
у тебя элемент
ты хочешь понять есть ли этот элемент в списке
сложность O(N)
если таких элементов не один, сложность O(N*M), т.к. N~=M, то сложность O(N**2)

Serg
07.02.2017
14:43:00
Т.е. получается быстрее из выборки сделать словарь со 100 элементами и ими оперировать, чем делать кучу объектов

Serge
07.02.2017
14:44:09
ну, тогда получится O(N) на сборку словаря + скорее всего O(M) на поиск в нем всех элементов
т.е. O(2N), т.е. O(N) :)

Serg
07.02.2017
14:49:02
Спасибо, я понял))

Dmitry
07.02.2017
16:20:54
@luxorqueen увы, нет описания задачи — нет сайта.
Во-первых, см. описание группы;
во-вторых, check your attitude.
Флуд потёр.

Sergey
07.02.2017
17:09:36
что-то интересное пропустил

Serge
07.02.2017
19:09:13
А вот коллеги, а как там назывался CI на питоне, который весь из себя через Docker работает?

Vitali K.
07.02.2017
19:18:16
У нас Circle CI. Может он?

Paul
07.02.2017
19:22:24

Dmitry
07.02.2017
19:36:16

Michael
07.02.2017
19:45:48
Зачем в питоне контравариант если он не работает нормально?
Ваше жизнь боль

Admin
ERROR: S client not available

Sergey
07.02.2017
19:58:48

Serge
08.02.2017
04:35:50

Google

Michael
08.02.2017
07:21:18
Ху...во работает

Sasha
08.02.2017
07:32:05
доброе утро)
решил с утра снова заняться инстаграмом, завел бота, начал парсить паблики и тут решил глянуть логи... Оказывается еще несколько человек резко ломанулись парсить паблики в этот же момент о_О
кажется, надо выложить бота куда-то на сервер, чтобы он работал постоянно)
видимо, полезный бот в итоге)

Dmitry
08.02.2017
07:35:14
доброе утро)
http://www.nohello.com/2013/01/please-dont-say-just-hello-in-chat.html?m=1

Sasha
08.02.2017
07:40:38

Serge
08.02.2017
07:51:32
Так-то все 6 предыдущих сообщений не пойми зачем были написаны.

Michael
08.02.2017
07:55:31
@lig11 в целом да.
В обшем если у кого есть рабочий пример с Ololo = TypeVar('Ololo', contravariant=True) прошу кинуть в меня...

Eugene
08.02.2017
07:55:57
Тщеславие - такая штука, почти каждому присуще.
Тут коллега мне пишет: Почему ты мне лайки не ставишь на гитхабе? Поставь лайк моему PR! :)

Michael
08.02.2017
08:00:38
@lig11 а еше вот это у...но вышлядит
def __init__(self) -> None:NONE !!! Серьезно?!!!
Емое там еше kind есть в Var ужас...
А как границы задать?

Андрей
08.02.2017
08:07:08
Помогите советом, кто пробовал: приходит набор данных ~100-300 тысяч записей, есть шаблон ~60-100 Кб. Нужно проводить рендеринг, и писать для каждой записи файл в папку. Как в рамках 2.7 делать это эффективно и безболезненно? Безотносительно файловой системы для папки

Roman
08.02.2017
08:18:24

Dmitry
08.02.2017
08:19:50
а я понял

Serge
08.02.2017
08:20:31

Roman
08.02.2017
08:20:48

Dmitry
08.02.2017
08:21:30
Андрей уточни что за шаблон и какой результат у рендера

Michael
08.02.2017
08:22:24

Google

Андрей
08.02.2017
08:22:41
Принимаю набор данных порядка 100-300 тысяч записей, провожу рендеринг, записываю в каталог. Шаблоны Джанги. Пробую профилировать - большая часть времени уходит на создание файла и запись в него