22 Apr 2024, 20:01 UTC≈1,200 views10 reactionsread 8 August 2026 Evil that you need
Вы используйте pydantic? Скорее всего да, ведь он стал наряду с FastAPI основной больших объёмов легаси. Однако на самом деле, он является таким же злом как какая-нибудь джанга, но злом необходимым. Сегодня мы поговорим про одну из самых перспективных альтернатив пайдайнтика на данный момент.
Few points about pydantic
У пайдантика можно выделить ряд проблем на разных "уровнях".
Начать стоит кон…
👍10
6 Feb 2024, 19:42 UTC≈1,240 views12 reactionsread 8 August 2026 Стандартные проблемы DDD и CQRS дизайна
Работая с такими нетривиальными концепциями часто можно упустить из виду грубые ошибки дизайна, которые могут вызывать множество проблем.
отсутствие ограниченных контекстов
Ограниченый контекст - группа людей говорящих на одном языке, которые специализируются отдельно. Если мы явно не задаем их, то наш код прекращает выражать домен, а сама идея модели предметной области руши…
🔥7👍4🤩1
25 Nov 2023, 17:08 UTC≈1,790 views6 reactionsread 8 August 2026 #DDзвери
Введение
Раннее мы уже рассмотрели достаточно интересную для бизнеса парадигму - BDD. В данном очерке предложена её несложная модификация.
Рассмотрим кусочек спецификации:
When I press enter call my mom
В целом для продактов, аналитиков и заказчиков тут все очевидно. Они даже сами могут подобное написать. Но это не совсем очевидно разработчику. Какой тест писать под слово call?
Чёрно-белая разметка
Ра…
👍4🔥2
11 Oct 2023, 16:34 UTC≈1,850 views8 reactionsread 8 August 2026 Common, utils, shared
Все когда-нибудь сталкивались с пакетами из набора файлов или и того хуже одним файликом с названием utils. Сегодня мы обсудим подобные сущности и их минусы.
utils
Если подумать об ответственности и необходимости подобных сущностей мы можем заметить, что основной причиной их создания является необходимость обслуживать определённый набор объектов, компонентов и т.п. Например часто под utils пр…
❤5👍3
9 Sept 2023, 06:34 UTC≈1,720 views9 reactionsread 8 August 2026 Про чрезмерное дробление
При проектировании чистой архитектуры важным аспектом является логическое разбиение функциональности по компонентам или в целом более крупным сущностям, которые можно назвать объекты. Один объект отвечает за работу с базой данных, другой за работу прикладной модель и т.д. Такое разбиение казалось бы является полностью верным. Давайте сильно соблюдать CCP и делать более ясными работу наших ур…
🔥8🥰1
26 Aug 2023, 17:58 UTC≈1,330 views7 reactionsread 8 August 2026 #DDзвери
Введение
Сегодня мы продолжим обсуждать TDD. Рассмотрим бизнес версию TDD - BDD. И обсудим некоторые тонкие моменты, которые возникли в прошлой статье.
Покрытие тестами после
В прошлой статье при описание TDD было сказано, что мы должны тестами задать спецификацию будущего функционала, что является верным подходом. Однако очевидно есть набор исключений. Одним из основных является интеграция функционала д…
🔥6👍1
24 Aug 2023, 13:13 UTC≈1,140 views11 reactionsread 8 August 2026 #DDзвери
Введение
Сегодня я начинаю цикл статей, о достаточно редко обсуждаемых темах - TDD, MDD, BDD и др. Начнём мы с философски крайне правильной идеи построения, разработки и проектирования приложения - TDD(Test Driven Development).
Структура TDD
Сам TDD состоит из набора небольших циклов разработки:
1. Пишем тест, который заранее покрывает желаемое изменение или работу компонента
2. Реализуем изменение или …
👍7❤3🔥1
30 Jun 2023, 10:07 UTC≈1,830 views22 reactionsread 8 August 2026 #рефакторинг
Введение
Сегодня мы поговорим, о рефакторинге, его основных идеях и антипаттернах.
Напомню, что рефакторинг - это изменение программного кода/системы, при котором не меняется поведение, а улучшается его внутренняя структура.
Принципы рефакторинга
1. Когда вы производите рефакторинг, вы не стараетесь изменить поведение и привнести в функционал что-то новое.
При проведение рефакторинга мы стремимся у…
👍15🤔4👎3
26 Jun 2023, 17:01 UTC≈1,650 views26 reactionsread 8 August 2026 #DDD
Введение
Похоже придётся написать пост про это. DDD - набор принципов, направленный на создание оптимальных систем объектов. Так как это не образовательный пост, а скорее пост, "на подумать" и о формирование вашего стека(неориентированный на новичков), я не буду вдаваться в подробности, вы можете сами почитать, что это. Сегодня мы обсудим полезность и реалистичночть DDD, с точки зрения времени на изучение, биз…
👍15👎9❤1🔥1
31 May 2023, 10:31 UTC≈1,630 views2 reactionsread 8 August 2026 Poll
Хотите новые посты?
- Да, было интересно читать74%
- Нет, не нужный канал26%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
👎2
18 Dec 2022, 17:56 UTC≈3,560 views17 reactionsread 8 August 2026 Если же у вас Windows, нужно ввести следующее:
PcBuild/build.bat -c Debug
Здесь мы опять же собираем питон с флагом -c Debug, что бы сборка была быстрее.
Замечание: Сборка процесс не быстрый. Эти команды могут выполняться достаточно долго, всё зависит от вашего железа.
Протестируем то что у нас получилось
создадим в корне директории cpython файл test_interpreter.py, и протестируем наш neg()
help(neg)
Запустим на…
👍9👎3🎉2🥰2🔥1
18 Dec 2022, 17:56 UTC≈2,570 views10 reactionsread 8 August 2026 By: quantum super position, MVC
Введение
Сегодня мы научимся добавлять свою функцию в builtins¹ эталонной реализации языка программирования Python - CPython.
Перед тем как приступить, давайте определимся какую функцию мы хотим добавить.
В builtins присутствует функция abs, её задача - вызывать у объекта dunder-method(магический метод) abs.
Обычно abs используют для того, что бы вернуть модуль какого-то числа.
П…
👍6❤4
Showing the 12 most recent of 20 posts we hold for @holy_python. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.