А Вы знали, что программистом Python реально стать только работая поэтапно?
Сильный метод индивидуального обучение Python, что это и как записаться? https://spb-tut.ru/pricing/ смотреть видео https://rutube.ru/video/39e1b3d74f12768eff6bfbdf66e98942/ функция класс метод экземпляр Изучать как питон сохраняет данные читать код и понимать. как на его основе написать свой. ------------------------- Чтение кода --------------------------------------------------------- функция класс метод экземпляр ООП(класс) декоратор - дескриптор - метакласс - класс патерн абстракции -------------------------------------------------- Написание фреймворка (20 - 40) ------------------------------------------- Архитектуру Спасибо изучу. Много конечно, даже не представляю на что там столько можно смотреть. Но отвлекать лишний раз не буду это ваша работа. Хочу только добавить сейчас, к слову о навыках, покажите пожалуйста как по принципу абстрактной фабрики получать доступ к уже созданным объектам, т.е. из того же хранилища Repository (как говорится в луковой архитектуре). Я не понимаю куда в контексте приложения девается информаия от всех этих экземпляров, например взять тех же мастеров. В контексте ячейки кода - понятно. Создается объект в памяти и хранится ссылка на него, которую мы везде используем. А как это работает в реальной системе (тот же джанго)? Не создается ведь каждый раз новый объект с одними и теми же данными каждый раз, который поиспользуется для чего то и исчезнет. Оставьте заметку чтобы не забыть как рассмотрите проект. Может будет возможность сразу где-то это добавить. Здравствуйте, да я сейчас активно занимаюсь приведением архитектуры, чтобы работа с классами была бесшовная, по примеру ресторана понял быстро что нужно добавить. Пока скажу свою основную идею, на неё частично меня вывел ии. Там буквально строк 40 кода). Обрисую вкратце: Регистратор ShopRegistry должен принимать разные классы определенные глобально в реестре следующей парой значений _ENTITY_REGISTRIES: dict[type, tuple] = {} Но работать с ними как с одним объектом! Связать класс сущности с его слотом в ShopRegistry. Вызывается из ShopRegistry.__init__ — один раз, до создания любых объектов. Аналог register_manager() . entity_cls — класс (Client, Worker, Task) registry — экземпляр ShopRegistry slot — имя словаря внутри registry: "_clients", "_workers", "_tasks" """ _ENTITY_REGISTRIES[entity_cls] = (registry, slot) В результате для Meta когда будет перехват вызова client1=Client(***) Class Meta(type) def __new__(): ___________ def __init__(): ___________ def __call__(cls, *args, **kwargs): """ Перехватывает вызов конструктора любого доменного класса. Порядок работы: 1 super().__call__ → Waiter.__new__ + __init__ → готовый экземпляр 2 найти нужный слот в ShopRegistry через _ENTITY_REGISTRIES 3 положить instance в словарь реестра по instance.id """ # создать экземпляр стандартным путём instance = super().__call__(*args, **kwargs) # найти привязку для данного типа entry = _ENTITY_REGISTRIES.get(cls) if entry is not None: registry, slot = entry # 3 положить в нужный словарь реестра по id getattr(registry, slot)[instance.id] = instance Здравствуйте, DI уловил сходу по вашему объяснению. Это как такой автоматизированный конфиг для всего приложения который оперирует слоями-объктами (теми которые ему подсовываешь для первого run app.py). Нужно правильно понять: - как настраивать классы под контейнер - как связан с дженериками и мета - и как далее я могу их этими собранными упакованными контейнерами оперировать. Открыт новый ТИП - di-container, МЕТОДЫ - ??? что можно с ним делать. Методология базовая абсолютно та же самая - это ваше достижение можно сказать! Фаст АПИ дает дает хороший пример, но как обычно слишком вырванные из контекста куски кода. Приходится сутками разбираться, копаться в исходном коде чтобы расшифровать хоть одно слово, что это и откуда. weakref пока в очереди, часто про него слышал. Нужно идти в плюсы, это также его изобретение. Видео пересматриваю по нескольку раз, до связи.
Сильный метод индивидуального обучение Python, что это и как записаться? https://spb-tut.ru/pricing/ смотреть видео https://rutube.ru/video/39e1b3d74f12768eff6bfbdf66e98942/ функция класс метод экземпляр Изучать как питон сохраняет данные читать код и понимать. как на его основе написать свой. ------------------------- Чтение кода --------------------------------------------------------- функция класс метод экземпляр ООП(класс) декоратор - дескриптор - метакласс - класс патерн абстракции -------------------------------------------------- Написание фреймворка (20 - 40) ------------------------------------------- Архитектуру Спасибо изучу. Много конечно, даже не представляю на что там столько можно смотреть. Но отвлекать лишний раз не буду это ваша работа. Хочу только добавить сейчас, к слову о навыках, покажите пожалуйста как по принципу абстрактной фабрики получать доступ к уже созданным объектам, т.е. из того же хранилища Repository (как говорится в луковой архитектуре). Я не понимаю куда в контексте приложения девается информаия от всех этих экземпляров, например взять тех же мастеров. В контексте ячейки кода - понятно. Создается объект в памяти и хранится ссылка на него, которую мы везде используем. А как это работает в реальной системе (тот же джанго)? Не создается ведь каждый раз новый объект с одними и теми же данными каждый раз, который поиспользуется для чего то и исчезнет. Оставьте заметку чтобы не забыть как рассмотрите проект. Может будет возможность сразу где-то это добавить. Здравствуйте, да я сейчас активно занимаюсь приведением архитектуры, чтобы работа с классами была бесшовная, по примеру ресторана понял быстро что нужно добавить. Пока скажу свою основную идею, на неё частично меня вывел ии. Там буквально строк 40 кода). Обрисую вкратце: Регистратор ShopRegistry должен принимать разные классы определенные глобально в реестре следующей парой значений _ENTITY_REGISTRIES: dict[type, tuple] = {} Но работать с ними как с одним объектом! Связать класс сущности с его слотом в ShopRegistry. Вызывается из ShopRegistry.__init__ — один раз, до создания любых объектов. Аналог register_manager() . entity_cls — класс (Client, Worker, Task) registry — экземпляр ShopRegistry slot — имя словаря внутри registry: "_clients", "_workers", "_tasks" """ _ENTITY_REGISTRIES[entity_cls] = (registry, slot) В результате для Meta когда будет перехват вызова client1=Client(***) Class Meta(type) def __new__(): ___________ def __init__(): ___________ def __call__(cls, *args, **kwargs): """ Перехватывает вызов конструктора любого доменного класса. Порядок работы: 1 super().__call__ → Waiter.__new__ + __init__ → готовый экземпляр 2 найти нужный слот в ShopRegistry через _ENTITY_REGISTRIES 3 положить instance в словарь реестра по instance.id """ # создать экземпляр стандартным путём instance = super().__call__(*args, **kwargs) # найти привязку для данного типа entry = _ENTITY_REGISTRIES.get(cls) if entry is not None: registry, slot = entry # 3 положить в нужный словарь реестра по id getattr(registry, slot)[instance.id] = instance Здравствуйте, DI уловил сходу по вашему объяснению. Это как такой автоматизированный конфиг для всего приложения который оперирует слоями-объктами (теми которые ему подсовываешь для первого run app.py). Нужно правильно понять: - как настраивать классы под контейнер - как связан с дженериками и мета - и как далее я могу их этими собранными упакованными контейнерами оперировать. Открыт новый ТИП - di-container, МЕТОДЫ - ??? что можно с ним делать. Методология базовая абсолютно та же самая - это ваше достижение можно сказать! Фаст АПИ дает дает хороший пример, но как обычно слишком вырванные из контекста куски кода. Приходится сутками разбираться, копаться в исходном коде чтобы расшифровать хоть одно слово, что это и откуда. weakref пока в очереди, часто про него слышал. Нужно идти в плюсы, это также его изобретение. Видео пересматриваю по нескольку раз, до связи.
