Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
#TouchDesigner, #TD
Моя мечта и цель создать инструмент для проектирования искусственных нервных схем подобно той которую можно увидеть в фильме "Ева: Искусственный разум". В фильме инженер по искусственному интеллекту используя придуманный шоураннерами редактор настройки ИИ, в основе которого граф вершины которого отражают различные психические качества и их настройки: любопытство, настойчивость, привязанность и т.д. Подобно этому в моём воображении формируется редактор в котором возможно настраивать различные области мозга и связи между ними: облсти коры, мозжечка, ментальная карта таламуса, центры потребностей и удовольствия. В поисках интерфейсных решений я наткнулся на TouchDesigner (TD), это программа для дизайнеров благодаря ей создаются различные крутые инсталляции, где требуйся динамика. Её особенность программирование с помощью специальных нод и организации связей между ними, внутри ноды может быть код или заранее подготовленный алгоритм. TD отвечает главному моему принципу - это визуализация и наглядность. Внутри каждой ноды есть отображение того, что происходит внутри неё. И конечно это работа в реалтайме, пришло врем решать задачи в реалтайме... Конечно, TD это не создан для задач машинного обучения, в нём есть некоторые ограничения для моей работы, но это будет некий прототип, где я отработаю некоторые механики. Здесь есть ноды GLSL, а значит быстрые вычисления на GPU, есть нода python и сила numpy. Во первых, я переношу некоторые свои алгоритмы в TD, пока только в начале. Это послужит началом и прообразом инструмента к которому я стремлюсь, таким же удобным и доступным как TD. Возможно сочетание с тем, что я делал в CogFLUX (https://belkinandrey.github.io/), базовые безусловные рефлексы возможно настроить на нейронах, а когнитивные вычисления на нодах более высокого порядка с заготовленными алгоритмами. Причем всё может работать совместно.
Под хэштегом #TouchDesigner и #TD буду выкладывать этот прогресс. Сейчас на видео самый простой алгоритм кластеризации из статьи https://habr.com/ru/articles/709350/
#Polonia#Sejm
Con 265 voti favorevoli e 193 contrari, Szymon #Hołownia (#TD/#Polska2050|RE) è stato eletto nuovo Presidente del Sejm (Camera bassa).
@OsservatorioEsteri
#Polonia
#KO|EPP|RE|G/EFA, #TD|RE|EPP e #Lewica|S&D hanno annunciato che presenteranno il leader di #PO|EPP Donald #Tusk come candidato a Primo Ministro.
@OsservatorioEsteri
🚀 Analyst Lance Vitanza Initiates Buy Ratings on Three Treasury Companies
Lance Vitanza from TD Cowen has initiated coverage on Nakamoto, SharpLink Gaming, and Strive with Buy ratings. According to NS3.AI, Vitanza has set price targets of $1, $16, and $26 for these companies, respectively. He suggests that these treasury firms have the potential to outperform spot crypto exchange-traded products, provided that cryptocurrency prices recover and the companies continue to increase their token holdings per share.
#LanceVitanza#TD Cowen #Nakamoto#SharpLinkGaming#Strive#BuyRating#TreasuryCompanies#Crypto#TokenHoldings#PriceTargets#BTC
#Polonia
È stata pubblicata la lista del Terzo governo di Donald #Tusk (#PO|EPP):
-Primo Ministro: Donald #Tusk (PO)
-Vicepremier e Ministro della Difesa Władysław #KosiniakKamysz (#TD/#PSL|EPP);
-Vicepremier e Ministro della Digitalizzazione: Krzysztof #Gawkowski (#Lewica/#NL|S&D);
-Ministro della Giustizia: Adam #Bodnar (#KO|EPP|RE|G/EFA);
-Ministro degli Esteri: Radosław #Sikorski (PO);
-Ministro degli Interni: Marcin #Kierwiński (PO);
-Ministra per la Società Civile: Agnieszka #Buczyńska (TD/#Polska2050|RE);
-Ministro delle FInanze: Andrzej #Domański (PO);
-Ministro del Patrimonio Statale: Borys #Budka (PO);
-Ministra dell'Industria: Marzena #Czarnecka;
-Ministra della Famiglia, del Lavoro e delle Politiche Sociali: Agnieszka #DziemianowiczBąk (Lewica/NL);
-Ministra del Clima e dell'Ambiente: Paulina #HennigKloska (TD/Polska2050);
-Ministro dello Sviluppo e della Tecnologia: Krzysztof #Hetman (TD/PSL);
-Ministro delle Infrastrutture: Dariusz #Klimczak (TD/PSL);
-Ministra dell'Uguaglianza: Katarzyna #Kotula (Lewica/NL);
-Ministra della Salute: Izabela #Leszczyna (PO);
-Ministra dell'Istruzione: Barbara #Nowacka (#iPL|RE);
-Ministro dello Sport: Sławomir #Nitras (PO);
-Ministra degli Anziani: Marzena #OkłaDrewnowicz (PO);
-Ministra dei Fondi e delle Politiche Regionali: Katarzyna #PełczyńskaNałęcz (TD/Polska2050);
-Ministro dell'Agricoltura: Czesław #Siekierski (TD/PSL);
-Ministro della Cultura: Bartłomiej #Sienkiewicz (PO);
-Ministro degli Affari Europei: Adam #Szłapka (#N|RE);
-Ministro della Scienza: Dariusz #Wieczorek (Lewica/NL);
-Ministro degli Affari Legislativi: Maciej #Berek;
-Cancelliere presso l'Ufficio del Primo Ministro: Jan #Grabiec (PO);
-Coordinatore dei Servizi di Sicurezza: Tomasz #Siemoniak (PO).
@OsservatorioEsteri