Как (и зачем) я создаю собственный фреймворк мутационного тестирования?
Сгонял на питонячью конференцию Сбера и рассказал про свою текущую работу над фреймворком мутационного тестирования. Презентация сохранилась.
Сгонял на питонячью конференцию Сбера и рассказал про свою текущую работу над фреймворком мутационного тестирования. Презентация сохранилась.
В последние пару-тройку лет все больше популярных питонячьих инструментов либо переписываются на Rust, либо просто полностью копируются на нем. И все чаще в сообществе встречаются люди, которые утверждают, что Rust во всем лучше, что там zero-cost абстракции смешаны с «синтаксисом в стиле Python». Если это действительно так, почему мы переходим не на Rust, а на инструменты, написанные на Rust? До Rust мейнстримным «быстрым языком под капотом» для питонистов был C, но там трейд-офф был всем понятен: писать больно и тяжело, зато работает быстро....
Предметно-ориентированные языки, когда они используются эффективно, поднимают уровень абстракции над программными идиомами и паттернами проектирования. Они позволяют разработчику выразить свои намерения на соответствующем уровне абстракции. Роберт Мартин, «Чистый код» Многие программисты считают создание собственного языка программирования чем-то типа вершины возможного творчества. Но не потому что это требует насмотренности и развитого дизайнерского чутья, а потому что это просто технически сложная задача, требующая многих часов работы редких по интеллекту людей. Но теперь, кажется, это больше не так....
Случилось оказаться в Новосибирске и выступить на местном митапе питонистов, рассказал им про трансфункции и суперфункции из библиотеки transfunctions: Презентация доступна отдельно
When creating libraries in Python, I have always strived to make their behavior transparent to other programmers. No matter how complex the library is internally, it should have a clear and obvious facade externally. One of the important parts of such a facade is the way objects are presented as strings. What does a user do when they first encounter my library? I assume they try to run it in REPL....
В четвертый раз выступил на Moscow Python, на этот раз рассказал про ключевую фичу моей библиотеки transfunctions — суперфункции: Презентация доступна отдельно.
Это случилось вновь, мне довелось увидеть со сцены большой и полный зал на PyCon. Рассказал там про то, как можно избавиться от фрагментации Python на sync и async, а также показал свою новую либу transfunctions: Презентация доступна отдельно.
Весной побывал в прекрасном Питере, сделал там красивую фотку прямо перед началом грозы, а еще выступил на PiterPy и рассказал про концепцию контекстно-осведомленных функций, которую сам для себя сформулировал незадолго до этого: Позднее на основе идей, высказанных здесь, я выпустил библиотеку transfunctions, о которой потом рассказывал на PyCon. Презентация сохранилась.
Чуть больше года назад я задался вопросом, из которого потом вырос целый небольшой пэт-проект: возможно ли прямо в рантайме установить питонячий пакет и воспользоваться им? Оказалось, что да, можно. Сегодня я расскажу, как это сделать, как это работает, и какие уязвимости открывает перед всей питонячьей экосистемой. Первая доза бесплатно Инструмент, который я по итогу написал, называется INSTLD. Устанавливается он одной командой: pip install instld Давайте проверим, что он работает. Вбив команду instld в консоль, вы увидите приглашение ко вводу текста, которое выглядит примерно так:...
Выступил на первом питонячьем митапе в “Школе 21” от Сбера, рассказал про свою новую библиотеку для обработки исключений — escaping: Есть запись мероприятия целиком. И есть презентация.