Size: a a a

2020 October 13

БС

Байт Словович... in rannts
ну вот подключиться и выгрузить это умеет pyrasite.. Это просто тула которая инжектит любой код.
источник

RB

Roman Bolkhovitin in rannts
судя по всему сейчас модно pympler/muppy, но я не юзал.
https://stackoverflow.com/questions/61896844/muppy-getting-the-name-of-the-biggest-pyobjects-in-a-python-program-sorted-by-s
источник

RB

Roman Bolkhovitin in rannts
я вообще очень грущу от подобного тулинга в питоне, зная что в гошечке это из коробки. ладно хоть py-spy есть )
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Он бывает нужен очень редко
источник
2020 October 14

💭П

💭 Руслан Прохоров... in rannts
💭 Исполняющий обязанности бота информирует:

@PavelPy, у нас принято представляться и кратко рассказывать о себе с тэгом #whois.

Cпасибо за внимание!
источник

SS

Sergey Smyshlyaev in rannts
Каково мнение сообщества о добавлении макросов в Питон? https://www.python.org/dev/peps/pep-0638/
источник

💭П

💭 Руслан Прохоров... in rannts
Sergey Smyshlyaev
Каково мнение сообщества о добавлении макросов в Питон? https://www.python.org/dev/peps/pep-0638/
Я против.
источник

💭П

💭 Руслан Прохоров... in rannts
💭 Исполняющий обязанности бота информирует:

@sergey_smyshlyaev, у нас принято представляться и кратко рассказывать о себе с тэгом #whois.

Cпасибо за внимание!
источник

SS

Sergey Smyshlyaev in rannts
Против любых макросов или конкретно такой имплементации?
источник

SS

Sergey Smyshlyaev in rannts
💭 Руслан Прохоров
💭 Исполняющий обязанности бота информирует:

@sergey_smyshlyaev, у нас принято представляться и кратко рассказывать о себе с тэгом #whois.

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

RB

Roman Bolkhovitin in rannts
Он же робот, инвалидирует кэш
источник

💭П

💭 Руслан Прохоров... in rannts
Sergey Smyshlyaev
Я раз пять уже представлялся, просто периодически выхожу из этого чата
У И.О. и кэш И.О :-)
источник

RB

Roman Bolkhovitin in rannts
Вот так лучше. А то непонятно откуда форварднул. В общем сообщество уже обсудило и осудило
источник

F

Fred in rannts
а зачем нужны макросы?
источник

💭П

💭 Руслан Прохоров... in rannts
Sergey Smyshlyaev
Против любых макросов или конкретно такой имплементации?
Против макросов в питоне.
источник

SS

Sergey Smyshlyaev in rannts
Sergey Arkhipov
Антон, все бы ничего, однако прямо под боком есть язык, в котором люди очень активно пользуются макросами. Называется Elixir. Вроде в Ruby примерно то же самое. Так вот, дебажить взрывы в Phoenix или даже просто Plug в случае этих макросов - это лютое адище.

Я прямо уверен, начнут появляться невинные поделки с макросами, а затем какому-нибудь дебилу придет в голову, что смотрите как можно веб-фреймворк сделать. Макросы на гет/пост и... родится новый Феникс.

Я считаю, что макросы ок только в Лиспах. А вот в других языках от этого невинного синтаксического сахарку только диабет бывает
По поводу дебага макросов: вот в Dr Racket есть прекрасный macro debugger, то есть задача дебага макросов принципиально реализуема
источник

SS

Sergey Smyshlyaev in rannts
Kirill (Cykooz) Kuzminykh
В целом я согласен с Серёгой. Для меня макросы - это попа-боль в Rust. Их там даже два типа:
- декларативные - можно сравнить с макросами для C, только они работают на уровне токенов парсера
- процедурные - это по сути плагин для компилятора написанный на самом Rust, который имеет информацию не только о токенах, но и о типах данных и им можно делать крутые штуки.

И вот я такой радостный пришёл в Rust - наконец-то IDE будет мне давать исчерпывающую информацию о всех типах данных, всякие автокмплиты и GoTo Definition. Но хер бы там - макросы, блядь, во все поля. И если с декларативными макросами кое как научились в Idea разбираться. Парсят их с некоторыми ограничениями на глубину вложенности. То вот с процедурными всё достаточно печально - это же по сути нативный код, который несколько сыкотно запускать в IDE.
При этом ни там ни там нет Goto Definition. А глазами парсить эти макросы - сомнительное удовольствие. Есть утилитка, которая может тебе весь проект или один модуль "раскрыть" и выплюнуть этот код в консоль - ищи нужный тебе кусок кода сам.
Про макросы а-ля процедурные макросы в Расте (или там Babel Transformы) у меня такая цепочка мыслей:
У вас есть код который работает с синтаксическим деревом. Это структура данных. Работать со структурами данных без литералов структур данных неудобно. Добавляем литералы стуктуры данных синтаксического дерева - появляется что-то вроде S-expressions. А когда они есть, почему бы сразу на них не писать код? Поздравляю, теперь у вас Лисп
источник

SA

Sergey Arkhipov in rannts
Sergey Smyshlyaev
По поводу дебага макросов: вот в Dr Racket есть прекрасный macro debugger, то есть задача дебага макросов принципиально реализуема
в лиспах макросы немножко иначе ощущаются. к сожалению, я вот уже 5 минут сижу и пытаюсь выразить почему, но как-то не получается обернуть в слова
источник

SA

Sergey Arkhipov in rannts
Из антипримера можно посмотреть Elixir и конкретно Phoenix - как только ты обнаружил проблему в глубинах макросов, то решить ее просто не получится. ты не можешь просто так взять и переписать функцию. Нет, там ты фактически руками будет все это говнище воссоздавать. Куда проще в таких ситуациях закостылять так, но не решать.

В общем, у меня только негативные мысли. Я совершенно не понимаю, на кой хрен они нужны в Питоне. Жили 30 лет нормально, и тут внезапно - макросы. Говорят, для DS надо. И ни одного вменяемого примера
источник

SS

Sergey Smyshlyaev in rannts
Не, ну это чисто проблема Эликсира, я так понимаю там macroexpand как-то криво работает
источник