
b0g3r
09.11.2017
17:02:27
https://twitter.com/selectel/status/928661565389361153 хе-хе

Vadim
09.11.2017
17:06:17
Я до зала шел в темнотище
В собрание

Chikiro
09.11.2017
18:20:40
Наверное, потому что из верстки приходят в клиентское веб-программирование :) А в верстке, насколько я знаю, относительно много девушек.

Google

Sergey
09.11.2017
18:25:27
?

Вадим
09.11.2017
18:51:30
Есть какой-нибудь способ/тулза, чтобы замаппить огромные и кривые словари без кучи кода?
Просто тут мне один из главных разрабов клиента сказал:
>I'm actually all in for hard mapping vs serializers
makes getting the data more easy without the added overhead of passing it through a serializer
Хочется плакать от этого (точнее все переписать, но нельзя)
Юзаю джангу, если что. Нужно все переправить на другой эндпоинт, а потом отобразить все в вебе.
Ну и вообще любые идеи по поводу того, как превратить сотни строк кривейшего хард маппинга во что-то красивое.

Danil
09.11.2017
19:01:50

Вадим
09.11.2017
19:04:52
Надо глянуть, спасибо
Вообще после апи на SOAP xml пугает чутка, хех

Danil
09.11.2017
19:06:10

Вадим
09.11.2017
19:09:30
Если ничего не найду, буду искать как грамотно юзать для этого Django REST фреймворк, потому что он отлично справляется с добычей инфы из БД
Вот только, мне кажется, будет больно, потому что поля все называются иначе, а иногда даже являются комбинацией нескольких
Но, мне кажется, можно что-то придумать
Я говорю про сериалайзеры

Danil
09.11.2017
19:11:24

Vadim
09.11.2017
19:11:40

Danil
09.11.2017
19:12:15
Если надо одни словари мапить на другие, то надо посмотреть какие типы используются, и какие преобразования есть, а потом написать свой dsl )) и продолжить страдать, но уже более декларативно )

Вадим
09.11.2017
19:14:34
>Мне лично пока что совсем не понятно что надо сделать. Но вот высказывание про drf совсем меня в заблуждение ввело.
Взять что-то из БД (там все в JSON филдах). Сделать из этого ОГРОМНЫЙ словарь 3-5 вложенности, отправить его на АПИ эндпоинт, снова его разбить на что-то вразумительное и отобразить

Vadim
09.11.2017
19:15:38
Сам таким занимаюсь
Все вручную делаю на рекурсиях?

Google

Vadim
09.11.2017
19:16:11
Открыт к предложениям тоже)

Вадим
09.11.2017
19:18:31
Просто вот тоже видел что коллеги подобным занимаются, но дальше работы руками они тоже не ушли.
Главная проблема в том, что код писал не я и все постоянно ломается где-то, так что нужно хотя бы в одном месте выиграть войну за чистый код

Danil
09.11.2017
19:25:39
Кстати, если не хочется свой dsl писать, то можно использовать уже один существующий, и просто делать нужный SQL запросы с нужными преобразованиями, по памяти сэкономишь. (Стоит воспринимать так же как и сообщение про xml/xslt)
В общем либо пиши свой с коллегами, либо по старинке.

Вадим
09.11.2017
19:40:25
Не, все не настолько плохо
Думаю просто создам несколько сериалайзеров по вложенности и в каждом из них опишу логику конкретно для них.
Кода от этого не особо меньше будет, но зато все будет более-менее красиво и не будет ломаться на каждом шагу.
Да и логика должна быть только для комбинированных полей, потому что для обычных можно просто написать что-то подобное:
field_1 = serializers.IntegerField(source='field_2')
Думаю должно сработать

Vadim
09.11.2017
19:44:32

Вадим
09.11.2017
19:45:50
А как это выглядит? Тебе приходит словарь, из которого тебе нужно что-то достать, но ты не знаешь где это лежит или как?

Vadim
09.11.2017
19:47:23

Вадим
09.11.2017
19:51:24
Если одти от сериалайзеров (не обязательно джанговских), то можно сделать класс с методом, который берет все поля этого сериалайзера и ищет совпадения.
Потом ты просто наследуешься от него и пишешь уже свои "модели"
https://github.com/marshmallow-code/marshmallow

Vadim
09.11.2017
19:51:47

Вадим
09.11.2017
19:51:50
Это так, первое что в голову пришло
И я никогда не юзал маршмеллоу, просто дока ОЧЕНЬ похожа на джанговские сериалайзеры, думаю смысл один в один.

Alexander
09.11.2017
19:53:47
ребятки а вот такой вопрос, есть страничка на ней js код который подтягивает данные из некой базы, естественно он выполняется с задержкой (примерно 4-6 сек) как спарсить содержимое генерируемое этим кодом. Написал скрипт на селениуме но он вышел ну ооооочень медленный

Вадим
09.11.2017
19:54:52
Что мешает посмотреть куда конкретно идет запрос и слать его самому?

Alexander
09.11.2017
19:57:46
там код слишком сложный для меня ...
чем это можно посмотреть
подскажи в какую сторону копать

Вадим
09.11.2017
19:59:42
ctrl + shift + I
Вкладка Network
Там ищешь то, что похоже больше всего на нужный эндпоинт.
Не нашел - кликаешь на все и ищешь нужные тебе данные.
Если таск повторяется постоянно, то просто жди, он будет постоянно появляеться
Это в хроме
Лучше взять тулзу для http запросов (postman, insomnia) и простукивать его сначала руками, потому что кодом слишком долго.
ВСЯ инфа доступна в самом запросе, так что ошибится сложно. Правда если там слишком много всего, значит почти наверняка можно что-то выкинуть из запроса.
В основном у всех все криво сделано на фронте

Google

Вадим
09.11.2017
20:02:43
Ну и надеюсь ты готов к тому, что тебя забанят, если ты пытаешься воровать у кого-то большого

oneek
09.11.2017
20:04:18

Stepan
09.11.2017
20:10:10
https://blogs.msdn.microsoft.com/pythonengineering/2017/11/09/don-jayamanne-joins-microsoft/
Чувак в одну каску пилил жирную поддержку Python для vscode, пилил хорошо. Я все переживал, что он рано или поздно выгорит, а тут его MS наняли, теперь можно не переживать.

Sergey
09.11.2017
20:12:50

Stepan
09.11.2017
20:13:22
я не знаю что там не осиливать ?
экстеншен поставил и все работает
я правда на vscode перешел с sublime (пытался использовать atom, но там совсем все кустарно), с idea наверное сложнее слезть

Вадим
09.11.2017
20:18:57
После пайчарма все выглядит сложно, а главное совсем не ясно зачем
Я даже пытался из вима IDE сделать, джини, саблаймы и атомы тоже пытался. В итоге либо мешанина получается, либо нет того, что мне нужно

Sergey
09.11.2017
20:20:07

Stepan
09.11.2017
20:20:32
так тут также )
ну с вима слезать это дело такое

Stepan
09.11.2017
20:21:12
(разговоры о редакторах будто о наркотиках)

Sergey
09.11.2017
20:21:47

Danil
09.11.2017
20:24:12

Roman
09.11.2017
20:36:14

Serge
09.11.2017
21:31:06

b0g3r
09.11.2017
21:32:26
вырубило электричество во всем районе

Serge
09.11.2017
21:32:41

Google

Serge
09.11.2017
21:33:06

b0g3r
09.11.2017
21:33:09
да, московские ворота
http://www.lenenergo.ru/press/lenenergo/61756.html

Serge
09.11.2017
21:34:48

Admin
ERROR: S client not available

Serge
09.11.2017
21:36:27

Вадим
09.11.2017
21:55:35
@lig11 спасибо большое, если drf сериалайзеры не взлетят, то заюзаю это. В примерах как раз проблемы, которые мне нужно решить.
Глядишь и работники заказчика вдохновятся и зарефакторят все красиво

newtover
09.11.2017
23:07:13

Serge
09.11.2017
23:19:11

Вадим
09.11.2017
23:22:49
В такие моменты радуешься что юзаешь питон

Александр
10.11.2017
06:29:29

Alexander
10.11.2017
08:02:48
коллеги, вопрос по следам #PiterPy
Как по-английски будет "хуяк-хуяк и в продакшен"?

Aleksander
10.11.2017
08:03:27
slap this shit and release

oneek
10.11.2017
08:03:35
в каком-то чатике обсуждали помню)
но там сошлись на том что лучше с заказчиками англоязычными такие обороты не употреблять :)

Ilya
10.11.2017
08:19:18

Александр
10.11.2017
09:01:57

Google

Aleksander
10.11.2017
10:13:42
наткнулся тут
для тех кому нужна картинка для хейтинга php))
https://habrastorage.org/webt/nm/fl/2n/nmfl2nmh9rnc2whse6ddpblof38.jpeg

oneek
10.11.2017
10:20:57
тут не хейтинг, скорее сострадание беднягам

Vadim
10.11.2017
10:21:09
в бегинерсах не ответили
доброе утро! в каких случаях у метода класса есть магический метод __self__, а в каких его нет?

oneek
10.11.2017
10:24:28
https://books.google.ru/books?id=7U1CIoOs5AkC&pg=PA49&lpg=PA49&dq=attribute+%22__self__%22++python&source=bl&ots=eNZvAfK1DO&sig=00PdKDzJVH-eN72FM_xeuIHuVYE&hl=ru&sa=X&ved=0ahUKEwjZtdmC5bPXAhXsCJoKHQ7TDY0Q6AEIQDAD#v=onepage&q=attribute%20%22__self__%22%20%20python&f=false

Vadim
10.11.2017
10:25:48
ага, читал. Метод баундед. Инстанс создан
сэлфа нет. Что-то я упускаю

newtover
10.11.2017
10:33:10
self классметода будет смотреть на класс, а инстанса - на инстанс

Vadim
10.11.2017
10:36:45

newtover
10.11.2017
10:38:01

Vadim
10.11.2017
10:38:09

Dmitry
10.11.2017
10:45:16
неа(
а без декоратора есть?

Vadim
10.11.2017
10:46:24

Evgeny
10.11.2017
10:49:46
от питона еще зависит, во втором в случае класса вернет None, а в 3 ругнется там же unbounded методы аообще выпилили и они стали просто функциями