Не о всей конечно, о кусочке.
Забавно, но я за карьеру мало взаимодействовал с контейнерами. Максимум — писал код, который в них работал. Контейнеры либо особо не требовались, либо готовились другими людьми.
В конце прошлого года решил обновить инфраструктуру Сказки, заодно посмотреть чего да как с контейнерами. Взял Docker, как самую популярную штуку.
Раз в несколько лет я нахожу время, чтобы покопаться в наработках сообщества по «продвинутым» проверкам типов. Благо у меня под рукой есть взрослый, большой и нетривиальный проект, на котором можно безбоязненно ставить эксперименты.
Не могу сказать что я разделяю оптимизм по поводу продвинутой типизации в Python. Наоборот, считаю, что это как попытка пришить змее ноги — забавно, но вряд ли удобно. Но раз куча людей тратит на это время, надо быть в курсе.
В этот раз я:
Рассказывать буду тезисно, без глубоких обоснований, так как делать нормального качества обоснования для таких холиварных вопросов слишком долго, а я уже дней 5 на копание в этом потратил.
Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.
Этот пост я начал писать как часть рецензии на произведения Сюзанны Кларк, но быстро понял что ухожу в сторону от основной темы. Поэтому в рецензии оставил только то, что напрямую касается мира английской магии, а тему проектирования миров подробнее раскрыл тут.
Изначально эссе было опубликовано на DTF, но я решил вернуть его в блог. Изменений не делал, поэтому подача может немного отличаться от обычной для блога.
Одной из практик тестирования является написание тестов по уже найденным ошибкам, чтобы исключить их в будущем. Но что делать, если ошибка не специфична для конкретной логической сущности, а может встретиться в любом месте?
Писать для каждого модуля одинаковые тесты — не самая вдохновляющая идея, тем более, о них ещё помнить надо. В некоторых случаях тест можно написать не для проверки поведения программы, а для проверки непосредственно её кода. Этакий семантический pep-8, если хотите.
В коде «Сказки» уже давно прописалось несколько таких тестов, собранных в файле test_code.py
. О них и расскажу, для иллюстрации идеи.
На этой неделе наконец включил донат в своей игрушке.
Расскажу о том, как и кудой я этот донат делал. А также как вообще можно организовать приём денег у нас в стране максимально простым способом. Под максимально простым способом я понимаю получение денег на беларуское юр. лицо в родной валюте, без заморочек с открытием фирм в левых странах, приёма иностранной валюты и подобных вещей.