
Pavel
16.03.2016
13:11:04
в каждом запросе, пользователь и сессия.

Sasha
16.03.2016
13:11:22
ну и зря значит я парился
етсь у меня плохая черта, склонность всегда сомнвеваться в своих релизациях

Pavel
16.03.2016
13:11:52
слишком ранняя оптимизация - корень очень многих проблем.

Google

Sasha
16.03.2016
13:12:19
ага. менее продуктивно выходит

Pavel
16.03.2016
13:13:50
кстати, напомните, как в русском называется premature optimization? слово вылетело из головы.

Vitya
16.03.2016
13:14:30
преждевременная оптимизация не?

Pavel
16.03.2016
13:14:40
точно, спасибо.

parikLS
16.03.2016
13:14:46
если мы про джангу, есть же request.user
там же мидлвер какойто ложит обьект юзера в обьект реквеста насколько я помню

Sasha
16.03.2016
13:15:37
Приходит Кука, он дергает что за юзер

parikLS
16.03.2016
13:17:02
ну при авторизации сериализирует в сессию, не?

Viktor
16.03.2016
13:20:27
Вот пишу я бота для телеграма, создал классы User, Message и так далее
Вот как я на данный момент генерирую инстансы:
Может есть метод получше? JSON распарсенный ведь уже объект, может можно его как-то "преобразовать"?

Pavel
16.03.2016
13:20:52
как?

Viktor
16.03.2016
13:21:39
class Message(TgType):
def __init__(self, dic: dict):
self.message_id = dic['message_id']
self.date = dic['date']
self.chat = Chat(dic['chat'])
self.forward_date = dic.get('forward_date')
self.text = dic.get('text')
...
всего 20 строк такого вида

Google

Pavel
16.03.2016
13:22:24
[setattr(self, key, value) for key, value in dic.items()] ?

Aragaer
16.03.2016
13:23:08
ну не совсем, но явно перечислить поля, которые просто переносятся можно
самый изврат это конечно self.__dict__.update(dic), но блин

Viktor
16.03.2016
13:23:56

Pavel
16.03.2016
13:24:33
ну значит [setattr(self, key, value) for key, value in dic.items() if key in auto_fields], а остальное руками.

Aragaer
16.03.2016
13:24:38
ну вот сделай два списка - обязательные, необязательные - по ним два цикла
остальное руками

Viktor
16.03.2016
13:24:50
Ок
А то что руками

Aragaer
16.03.2016
13:25:40
есть кстати еще один вариант - оно точно нужно в виде полей?

Viktor
16.03.2016
13:25:53
Сделать так:
self.forward_from = self._none_or_gen(User, dic.get('forward_from'))
ну и в родительском классе:
def _none_or_gen(cls, val):
if val is not None:
return cls(val)
return val

Aragaer
16.03.2016
13:26:04
может так - self._inner_dict = {}.update(dic)

Viktor
16.03.2016
13:26:33

Pavel
16.03.2016
13:26:41

Aragaer
16.03.2016
13:27:19
ну вот те поля, которые нужны, те вынести. Остальные не трогать до тех пор, пока не понадобятся
а то тут же был вон пример кода, где тип определеялся по наличию полей
и пришлось через getattr по ним пробегаться. А так бы сразу по словарю и все

Pavel
16.03.2016
13:28:57
с другой стороны, если явно определить self.field_name=field_name, то потом по ctrl-click в коде можно понять, откуда взялся этот field_name. а если будет какая-то магия слишком сложная, то потом же этот код читать надо будет

Viktor
16.03.2016
13:30:08

Google

Aragaer
16.03.2016
13:30:43
лучше сначала сделать так, как понятно
потому что когда начинается метапрограммирование, то как-то все становится запутанно

Viktor
16.03.2016
13:31:29
Да мне по-любому понятно, а во втором варианте заработает автокомплит

Pavel
16.03.2016
13:32:21

Viktor
16.03.2016
13:32:57

Kolyann
16.03.2016
13:33:50
супер

Viktor
16.03.2016
13:34:00

Тёма
16.03.2016
13:50:36
ребят, мне так, для справки, друг хочет узнать расценки примерные, сколько в среднем берут за час программисты на питоне тут?)

[Anonymous]
16.03.2016
13:51:23
300
Бля, прикиньте, забыл батю поздравить с др, забегался

Viktor
16.03.2016
13:53:02
Оу

Viktor
16.03.2016
13:53:13
бывает

Тёма
16.03.2016
13:54:58
это типа $5?

[Anonymous]
16.03.2016
13:55:27
Да я шучу же..

Viktor
16.03.2016
13:55:41

[Anonymous]
16.03.2016
13:55:46
Хдд
Каждый же по разному
Зависит от задачи

Google

parikLS
16.03.2016
13:56:04
та и от проекта зависит

[Anonymous]
16.03.2016
13:56:17
Ну, как я и сказал

parikLS
16.03.2016
13:56:37
ну меньше 20уе\час я бы не стал работать наверное (=

[Anonymous]
16.03.2016
13:56:38
А еще это будет делать джун или мидл или сеньйор
Я бы и за собаку работал
Кто-то с машинным обучением игрался/работает?
Тут конкурс есть по машинному обучению, от хабры и мыло.ру
Типа написать бота, который должен развиваться не зная правил игры(и правила игры меняются)

Admin
ERROR: S client not available

Artem
16.03.2016
14:00:20
https://hellobonsai.com/rates серьезные ребята берут столько, а нас нанимают, чтобы сэкономить, типичный рейт в пределах $10-50/час

Υπερβορεία
16.03.2016
14:00:26

[Anonymous]
16.03.2016
14:00:48
250 к рублеу
1 место, вроде
И в типа вакансия в подарок

Pavel
16.03.2016
14:01:22
это те 700+ запросов?

Whore Amazing
16.03.2016
14:01:29

Pavel
16.03.2016
14:01:41
select_related\prefetch_related?

Whore Amazing
16.03.2016
14:02:11
отчасти это, отчасти повторное использвание кверисетов вместо составления еще раз

Pavel
16.03.2016
14:02:24
круто.

Whore Amazing
16.03.2016
14:02:41
весьма.
те 7 дубликатов тоже мог бы убрать, но пока лень.

Google

Pavel
16.03.2016
14:03:02

Whore Amazing
16.03.2016
14:03:18
4421.86 ms
все равно долговато, хз почему так.

[Anonymous]
16.03.2016
14:03:34
А кем вы работаете?

Whore Amazing
16.03.2016
14:03:55
кто как, а я пиздетелем в чате.

Pavel
16.03.2016
14:04:06

[Anonymous]
16.03.2016
14:04:22
Просто интересно

Pavel
16.03.2016
14:05:09
сетевой инженер небольшого провайдера федерального масштаба, например.

[Anonymous]
16.03.2016
14:05:58
Прикольно, и что делаешь там?

Artem
16.03.2016
14:07:13
А кем вы работаете?
бэкенд разработчик небольшого секретного калифорнийского sharing economy стартапа

Alex
16.03.2016
14:07:32
заведую инкубатором стартапов

Pavel
16.03.2016
14:08:16

[Anonymous]
16.03.2016
14:08:38
Интересные профы

parikLS
16.03.2016
14:09:11
джава девелопер в кровавом ентерпрайзе (=

Whore Amazing
16.03.2016
14:09:28
ловите джависта!
и давайте по морде за такой ник.

Alex
16.03.2016
14:09:46

Pavel
16.03.2016
14:09:59

[Anonymous]
16.03.2016
14:10:05
А я джун, сейчас в соло разрабатываю бота для букмекера, ну, первая верси практически дописана, ничего увлекательного