All streams
Search
Write a publication
Pull to refresh
153
63.1
Никита Соболев @sobolevn

Fulltime OpenSource разработчик

Send message
Советую посмотреть на `dry-python/returns`: github.com/dry-python/returns

Там есть:
— Типизированные пайплайны: returns.readthedocs.io/en/latest/pages/pipeline.html
— Типизированный `partial` и `curry`: returns.readthedocs.io/en/latest/pages/curry.html
Да, 16.09 в 18:30 и до вечера. Внесу в пост. Спасибо.
Мы столкнулись с такой проблемой, когда начали делать dry-python/returns

Внезапно оказалось, что разработчикам на Python слова вроде «Монада», «Функтор» и уж тем более «Апликативный функтор» – не знакомы совсем.

Потому мы пришли к другому решению: выкинуть все сложные слова. И заменить их более интуитивно понятными. Монада = контейнер. Функтор = Mappable.

А все объяснения «зачем?!» строить через решение понятных практических задач. Например:
— Монады можно использовать для обработки ошибок вместо исключений
— А еще для внедрения зависимостей
— Ну и чтобы писать асинхронный код!

На мой взгляд — сработало отлично! Многие только потом узнали, куда они ввязались.
Я не пользовался `zally`. По описанию, они делают очень разное. Насколько я понял, он используется для валидации и «лучших практик». А `schemathesis` используется для тестирования.
Для тех, кто интересуется темой работы с `ast` в Python, можно посмотреть на пример реализации преобразований в реальном проекте: мы делаем самый строгий линтер для Python.

Вот тут наши преобразования: github.com/wemake-services/wemake-python-styleguide/tree/master/wemake_python_styleguide/transformations
Спасибо за статью! Для Nuxt + Django советую использовать:
github.com/wemake-services/wemake-django-template
github.com/wemake-services/wemake-vue-template
Спасибо за вашу статью.

Любителям функционального стиля и python – предлагаю посмотреть на замечательную библиотеку returns, где реализованы основные монады (+типизация) и разные полезные вспомогательные штуки для работы с ними. Очень помогает делать простые вещи – просто.
Можно взять например github.com/wemake-services/wemake-python-package

Там есть все из списка, но и еще куча дополнительных ништяков вроде: `wemake-python-styleguide`, `mypy`, правильный набор плагинов для `pytest`, `poetry` для управления зависимостями, куча всего для безопасности (`bandit`, `safety`, `snyk`)
Отличная статья!

Кстати про Python. Туда тоже начинают проникать похожие идеи и подходы: habr.com/ru/company/oleg-bunin/blog/445234
Самый строгий и самый догматичный Python линтер в мире: github.com/wemake-services/wemake-python-styleguide
Спасибо. Поставил в очередь на 8 ноября 2019, 11:00
Самая главная ссылка про типизацию в питоне: github.com/typeddjango/awesome-python-typing
Для контроля размера Docker образа можно использовать docker-image-size-limit
Есть даже такой подход: cross-interview. Там такие вопросы обязательны: habr.com/ru/post/431514
Поправил, спасибо!
Вы говорите про какой-то конкретный язык?
Спасибо за видео и статью! К сожалению, не смог посетить доклад лично.
Задам вопрос пост-фактум.

> Есть функции, которые принимают позиционные аргументы. Если аргументов достаточно много, то при их вызове функции не очень понятно, где какой аргумент и зачем он нужен.

У меня была похожая идея для своего линтера: github.com/wemake-services/wemake-python-styleguide/issues/340
Но она разбилась о факт наличия `*args` в языке. Как вы решаете проблему того, что некоторые функции могут и должны принимать много позиционных аргументов by design?

Information

Rating
110-th
Registered
Activity