Size: a a a

2019 October 22

DA

Dmitry Alimov in SPb Python
источник

DA

Dmitry Alimov in SPb Python
Может кому-то пригодится)
источник
2019 October 23

YV

Yuliya Volkova in SPb Python
Слайды с митапа, как обещала: https://speakerdeck.com/xnuinside/about-memory-in-python-ru-language. Если кому-то захочется на досуге потыкаться в сепмлы, семплы тут: https://github.com/xnuinside/meetup_code_samples/tree/master/meetup_examples . Был вопрос про кложуры, на который я не смогла ответить - обязательно докидаю потом семплов.
источник

s

spb_python_bot in SPb Python
Yuliya Volkova
Слайды с митапа, как обещала: https://speakerdeck.com/xnuinside/about-memory-in-python-ru-language. Если кому-то захочется на досуге потыкаться в сепмлы, семплы тут: https://github.com/xnuinside/meetup_code_samples/tree/master/meetup_examples . Был вопрос про кложуры, на который я не смогла ответить - обязательно докидаю потом семплов.
источник

YV

Yuliya Volkova in SPb Python
бот хочет общения 🙂
источник

s

spb_python_bot in SPb Python
Yuliya Volkova
Слайды с митапа, как обещала: https://speakerdeck.com/xnuinside/about-memory-in-python-ru-language. Если кому-то захочется на досуге потыкаться в сепмлы, семплы тут: https://github.com/xnuinside/meetup_code_samples/tree/master/meetup_examples . Был вопрос про кложуры, на который я не смогла ответить - обязательно докидаю потом семплов.
источник

YV

Yuliya Volkova in SPb Python
если редактировать сообщение, бот принимает его за новое и отвечает ещё раз, забавно
источник

SM

Serge Matveenko in SPb Python
Yuliya Volkova
Слайды с митапа, как обещала: https://speakerdeck.com/xnuinside/about-memory-in-python-ru-language. Если кому-то захочется на досуге потыкаться в сепмлы, семплы тут: https://github.com/xnuinside/meetup_code_samples/tree/master/meetup_examples . Был вопрос про кложуры, на который я не смогла ответить - обязательно докидаю потом семплов.
#slides
источник

DI

Danil Ivanov in SPb Python
Yuliya Volkova
Слайды с митапа, как обещала: https://speakerdeck.com/xnuinside/about-memory-in-python-ru-language. Если кому-то захочется на досуге потыкаться в сепмлы, семплы тут: https://github.com/xnuinside/meetup_code_samples/tree/master/meetup_examples . Был вопрос про кложуры, на который я не смогла ответить - обязательно докидаю потом семплов.
Ещё раз Спасибо за отличный доклад ) забыл вчера спросить классы на клиенте автогенерите же  на основе схемы graphql?
источник

YV

Yuliya Volkova in SPb Python
Danil Ivanov
Ещё раз Спасибо за отличный доклад ) забыл вчера спросить классы на клиенте автогенерите же  на основе схемы graphql?
ох там всё сложно, я как раз писала, что это проект-вдохновение, надо было на этом акцентироваться побольше, это не то, что было сделано в прод, мы боролись пока только с перфомансом и оптимизировали квери по максимуму + исправляли дичь типа мутабельных типов в дефолтах, история про классы и память следующий шаг. Чтобы понимать насколько всё плохо: одно из доп табу - нельзя было втаскивать графен, и работаем мы с graphql-core. У нас задача была исправить перфоманс и привести код в более менее приличное состояние - убрать асинки возле синхронных функций, deepcopy насовыванные везде где надо и где нет (там вначале вообще ад был с памятью, люди просто делали дип копи всех объектов в каждой функции часто даже перед манипуляциями с данными без изменений). В итоге мы перфоманс x100 раз просто за счет того, что там настолько херово всё было, что просто переписав код нормально всё стало быстрее, все асинк вызовы были вот так "for chto_tam in choto_tam: await chto_tam", внутри цепочки асинк методов где-то по середине мог быть вызов парсинга xml файла с диска, квери все были без использования фрагментов и у тебя есть 6 кверей которые юзают одну и ту же сущность с теми жи филдами, и они просто берут и дублируют этот кусок квери, размеры файлов с кверями были примерно такие же как весь код - 10-12 к строк где-то
источник

YV

Yuliya Volkova in SPb Python
в итоге после выполнения задачи по перфомансу, я попросила меня с проекта снять, мы пол года объясняли почему надо тестами всё покрывать, объясняли откуда столько багов и пол года спустя тех лид со стороны клиента говорит "нам не нужны тесты, ведь мы тестируем всё руками перед каждым релизом и этого достаточно", я в итоге на другом проекте сейчас, попросила себя перекинуть, было интересно с точки зрения бизнес области, но совсем грустно с точки зрения менеджмента и компетенций человека принимающего тех решения
источник

YV

Yuliya Volkova in SPb Python
теперь я опять дата инженер )) так и живем, то бэк энды на graph ql, то Spark джобы и аирфлоу ) туда-сюда
источник

DI

Danil Ivanov in SPb Python
Yuliya Volkova
теперь я опять дата инженер )) так и живем, то бэк энды на graph ql, то Spark джобы и аирфлоу ) туда-сюда
клёво ) я вот как-то тоже устал доказывать что нужны тесты и постоянные технические улучшения, устал бороться, стал лидом ) и теперь у меня нет проблем с выделением времени на тесты ))
источник

YV

Yuliya Volkova in SPb Python
Danil Ivanov
клёво ) я вот как-то тоже устал доказывать что нужны тесты и постоянные технические улучшения, устал бороться, стал лидом ) и теперь у меня нет проблем с выделением времени на тесты ))
это минус аутсорса, всё сильно зависит на клиента и договоренности с ним, есть аккаунты, где клиент говорит - окей гайс, делайте что хотите, мне важен результат и качество, а есть где ты больше идешь как аутстаф и все решения принимаются по факту клиентом, вот последний проект был по модели аутстафа и грустного, где мы шли просто как разрабы. Но бывает когда берут как просто человека оркестра под задачу и дают полномочия на принятие решеий, обычно как правило только ставятся какие-то границы по согласованию этих решений, надо задокументировать, на планерке рассказать что чего и зачем, тикеты и т.д. но это не тот случай был, к сожалению
источник

YV

Yuliya Volkova in SPb Python
последняя модель у меня была на проекте до этого ) там столько времени на задачи было, что мне удалось втащить себе таски с использованием lex & yacc для парсинга существующих hql, ddl и тд, что бы на базе них генерировать близкие к продовым тестовые данные для прогонов 😄 все такие "звучит как какая-то дичь, но результат полезен, да ок почему бы и нет", а мне очень хотелось ply попробовать ))
источник

SM

Serge Matveenko in SPb Python
Yuliya Volkova
последняя модель у меня была на проекте до этого ) там столько времени на задачи было, что мне удалось втащить себе таски с использованием lex & yacc для парсинга существующих hql, ddl и тд, что бы на базе них генерировать близкие к продовым тестовые данные для прогонов 😄 все такие "звучит как какая-то дичь, но результат полезен, да ок почему бы и нет", а мне очень хотелось ply попробовать ))
а потом тебе передают такой проект и тебе весело, потому что кому-то хотелось попробовать:)
источник

YV

Yuliya Volkova in SPb Python
Serge Matveenko
а потом тебе передают такой проект и тебе весело, потому что кому-то хотелось попробовать:)
Да, но это была утилита для генерации данных на тест, а не что-то в прод ;) я максимально безопасно )) без вот этого «а давайте перепившем все на хаскель, потому что у нас есть целый 1 хаскелист а вы потом живите как хотите». Это было всяко лучше, чем руками все параметры для данных руками писать.
источник

SM

Serge Matveenko in SPb Python
Yuliya Volkova
Да, но это была утилита для генерации данных на тест, а не что-то в прод ;) я максимально безопасно )) без вот этого «а давайте перепившем все на хаскель, потому что у нас есть целый 1 хаскелист а вы потом живите как хотите». Это было всяко лучше, чем руками все параметры для данных руками писать.
тесты не должны зависеть ни от чего существующего вне них:)
https://youtu.be/oO-FMAdjY68
источник

YV

Yuliya Volkova in SPb Python
У тебя есть дата пайплайн, который делает преобразования данных и ждёт определенные филды
источник

YV

Yuliya Volkova in SPb Python
Каждый кусок такого пайплайна делает определённые маппинги и ожидает в данных определённые значения
источник