<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniil Manukian</title>
    <description>The latest articles on DEV Community by Daniil Manukian (@noloquideus).</description>
    <link>https://dev.to/noloquideus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1179919%2Fe7795e67-25a5-4b4c-b3f1-c5af1c0e40ef.jpg</url>
      <title>DEV Community: Daniil Manukian</title>
      <link>https://dev.to/noloquideus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noloquideus"/>
    <language>en</language>
    <item>
      <title>My python logger</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Fri, 05 Jan 2024 21:18:55 +0000</pubDate>
      <link>https://dev.to/noloquideus/my-python-logger-4ngh</link>
      <guid>https://dev.to/noloquideus/my-python-logger-4ngh</guid>
      <description>&lt;p&gt;Check &lt;a href="https://github.com/Noloquideus/Lognet"&gt;github repo&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My python linter</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Fri, 01 Dec 2023 11:11:08 +0000</pubDate>
      <link>https://dev.to/noloquideus/my-python-linter-2lpb</link>
      <guid>https://dev.to/noloquideus/my-python-linter-2lpb</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/Noloquideus/linters"&gt;Github repo&lt;/a&gt;&lt;br&gt;
Используемые линтеры:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://pypi.org/project/black/"&gt;&lt;strong&gt;black&lt;/strong&gt;&lt;/a&gt; - форматирование кода&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pypi.org/project/isort/3.8.1/"&gt;&lt;strong&gt;isort&lt;/strong&gt;&lt;/a&gt; - форматирование импортов&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pypi.org/project/flake8/"&gt;&lt;strong&gt;flake8&lt;/strong&gt;&lt;/a&gt; - статический анализатор&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pypi.org/project/pep8-naming/"&gt;&lt;strong&gt;pep8-naming&lt;/strong&gt;&lt;/a&gt; - анализатор нейминга по стандартам pep8, работает вместе с flake.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/astral-sh/ruff"&gt;&lt;strong&gt;ruff&lt;/strong&gt;&lt;/a&gt; - унивыерсальный линтер - замена isort и flake8&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Установка
&lt;/h2&gt;

&lt;p&gt;Для установки используйте команду:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;install_dependencies.bat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>linter</category>
      <category>backend</category>
      <category>development</category>
    </item>
    <item>
      <title>Oop patterns</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Sun, 05 Nov 2023 11:16:08 +0000</pubDate>
      <link>https://dev.to/noloquideus/oop-patterns-2jj3</link>
      <guid>https://dev.to/noloquideus/oop-patterns-2jj3</guid>
      <description>&lt;h1&gt;
  
  
  Порождающие паттерны (Generative Patterns)
&lt;/h1&gt;

&lt;p&gt;В данном репозитории представлены реализации различных порождающих паттернов, которые являются одним из типов паттернов проектирования. Порождающие паттерны предоставляют механизмы для создания объектов, скрывая детали их создания и обеспечивая гибкость в процессе создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Абстрактная фабрика (Abstract Factory)
&lt;/h2&gt;

&lt;p&gt;Абстрактная фабрика позволяет создавать семейства связанных или зависимых объектов без указания их конкретных классов. Она предоставляет интерфейс для создания объектов каждого семейства и обеспечивает согласованность их создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Фабричный метод (Factory Method)
&lt;/h2&gt;

&lt;p&gt;Фабричный метод - это паттерн проектирования, который предоставляет интерфейс для создания объектов, но позволяет подклассам решать, какой класс создавать. Это полезный паттерн, когда у вас есть общий интерфейс, но различные реализации объектов, которые могут быть созданы.&lt;/p&gt;

&lt;h2&gt;
  
  
  Прототип (Prototype)
&lt;/h2&gt;

&lt;p&gt;Прототип позволяет создавать объекты путем копирования уже существующего объекта-прототипа. Он предоставляет способ создания объектов без указания их конкретного класса и позволяет избежать дополнительных накладных расходов на создание объектов с нуля.&lt;/p&gt;

&lt;h2&gt;
  
  
  Строитель (Builder)
&lt;/h2&gt;

&lt;p&gt;Строитель позволяет создавать сложные объекты пошагово. Он абстрагирует процесс создания объекта, позволяя создавать различные представления одного и того же объекта.&lt;/p&gt;

&lt;h2&gt;
  
  
  Одиночка (Singleton)
&lt;/h2&gt;

&lt;p&gt;Одиночка гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Он обеспечивает контроль над созданием и доступом к экземпляру класса.&lt;/p&gt;

&lt;h2&gt;
  
  
  Пул одиночек (Singleton Pool)
&lt;/h2&gt;

&lt;p&gt;Пул одиночек предоставляет пул объектов одиночек, чтобы эффективно управлять их созданием и использованием. Он позволяет повторно использовать одиночки для различных задач и уменьшает накладные расходы на создание и удаление объектов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Пул объектов (Object Pool)
&lt;/h2&gt;

&lt;p&gt;Пул объектов предоставляет пул предварительно созданных объектов, которые могут быть повторно использованы. Он позволяет избежать накладных расходов на создание и удаление объектов путем их повторного использования.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ленивая инициализация (Lazy Initialization)
&lt;/h2&gt;

&lt;p&gt;Ленивая инициализация откладывает создание объекта до момента его фактического использования. Это позволяет избежать ненужных накладных расходов на создание объектов, которые могут не понадобиться.&lt;/p&gt;

&lt;h2&gt;
  
  
  Реестр (Registry)
&lt;/h2&gt;

&lt;p&gt;Реестр (или реестр объектов) - это паттерн проектирования, который предоставляет механизм для регистрации, поиска и получения объектов в централизованном месте. Реестр может быть использован для хранения и доступа к различным объектам приложения, таким как сервисы, компоненты и другие ресурсы.&lt;/p&gt;

&lt;h2&gt;
  
  
  Локатор служб (Service Locator)
&lt;/h2&gt;

&lt;p&gt;Локатор служб (или сервис-локатор) - это паттерн проектирования, который предоставляет механизм для поиска и получения служб (или сервисов) в централизованном месте. Локатор служб позволяет клиентскому коду получать доступ к службам, не зная их конкретных реализаций или деталей создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Внедрение зависимости (Dependency injection)
&lt;/h2&gt;

&lt;p&gt;Это паттерн проектирования, который позволяет разделить создание и конфигурацию объектов от их использования. Вместо того, чтобы объекты создавали свои зависимости, они получают их из внешнего источника, такого как контейнер внедрения зависимостей.&lt;/p&gt;

&lt;h1&gt;
  
  
  Структурные паттерны (Structural patterns)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Адаптер (Adapter)
&lt;/h2&gt;

&lt;p&gt;Адаптер это структурный паттерн, который позволяет объектам с несовместимыми интерфейсами работать вместе.&lt;/p&gt;

&lt;h2&gt;
  
  
  Мост (Bridge)
&lt;/h2&gt;

&lt;p&gt;Мост — это структурный паттерн, который разделяет абстракцию и реализацию так, чтобы они могли изменяться независимо друг от друга.&lt;/p&gt;

&lt;h2&gt;
  
  
  Компоновщик (Composite)
&lt;/h2&gt;

&lt;p&gt;Компоновщик — это структурный паттерн, который позволяет сгруппировать объекты в древовидные структуры и работать с ними так, как будто это единичный объект.&lt;/p&gt;

&lt;h2&gt;
  
  
  Декоратор (Decorator)
&lt;/h2&gt;

&lt;p&gt;Декоратор — это структурный паттерн, который позволяет добавлять объектам новые функциональные возможности на лету, оборачивая их в полезные «обёртки».&lt;/p&gt;

&lt;h2&gt;
  
  
  Фасад (Facade)
&lt;/h2&gt;

&lt;p&gt;Фасад — это структурный паттерн, который предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.&lt;/p&gt;

&lt;h2&gt;
  
  
  Контроллер (Front Controller)
&lt;/h2&gt;

&lt;p&gt;Контроллер — это архитектурный паттерн, который предоставляет единый точку входа для обработки запросов и управления его обработкой.&lt;/p&gt;

&lt;h2&gt;
  
  
  Легковес (Flyweight)
&lt;/h2&gt;

&lt;p&gt;Легковес — это структурный паттерн, который позволяет эффективно поддерживать огромное количество мелких объектов, используя разделение их общего состояния.&lt;/p&gt;

&lt;h2&gt;
  
  
  Заместитель (Proxy)
&lt;/h2&gt;

&lt;p&gt;Заместитель — это структурный паттерн, который позволяет создать объект-заместитель для контроля доступа к другому объекту или для добавления дополнительной логики при его использовании.&lt;/p&gt;

&lt;h2&gt;
  
  
  Монада (Monad)
&lt;/h2&gt;

&lt;p&gt;Monad - это структурный паттерн проектирования, который позволяет комбинировать операции с помощью монадической последовательности. Он позволяет обрабатывать результаты вычислений в функциональном программировании и управлять побочными эффектами.&lt;/p&gt;

&lt;h1&gt;
  
  
  Поведенческие паттерны (Behavioral patterns)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Chain of responsibility
&lt;/h2&gt;

&lt;p&gt;Паттерн Цепочка обязанностей позволяет создать цепочку объектов-обработчиков, в которой каждый объект может обработать запрос самостоятельно или передать его дальше по цепочке. Это позволяет избежать жесткой связанности между отправителем запроса и его получателем, и дает возможность гибко настраивать обработку запросов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Command
&lt;/h2&gt;

&lt;p&gt;Паттерн Команда превращает запросы в объекты, что позволяет передавать их как аргументы, хранить их в структурах данных, выполнять отложенные или отменяемые операции. Этот паттерн используется для инкапсуляции запроса в объект, позволяя таким образом параметризовать клиентов с разными запросами, обрабатывать запросы с разными операциями и поддерживать отмену операций.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interpreter
&lt;/h2&gt;

&lt;p&gt;Паттерн Интерпретатор определяет представление грамматики и интерпретатор для этой грамматики. Он позволяет интерпретировать предложения на определенном языке или представлять их в виде структур данных. Этот паттерн полезен, когда нужно создавать простые языки для решения определенных задач.&lt;/p&gt;

&lt;h2&gt;
  
  
  Iterator
&lt;/h2&gt;

&lt;p&gt;Паттерн Итератор предоставляет способ последовательного доступа к элементам коллекции без раскрытия ее внутреннего представления. Он позволяет обходить элементы коллекции без знания о ее структуре и реализации. Этот паттерн упрощает работу с коллекциями и обеспечивает единый интерфейс для их перебора.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mediator
&lt;/h2&gt;

&lt;p&gt;Паттерн Посредник определяет объект, который инкапсулирует способ взаимодействия между объектами, позволяя им обмениваться информацией через посредника. Это позволяет снизить связанность между объектами, улучшить их повторное использование и обеспечить гибкость взаимодействия.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memento
&lt;/h2&gt;

&lt;p&gt;Паттерн Хранитель позволяет сохранять и восстанавливать состояние объекта без нарушения инкапсуляции. Он используется для реализации механизма отката или сохранения состояния объекта, чтобы можно было восстановить его позднее.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observer
&lt;/h2&gt;

&lt;p&gt;Паттерн Наблюдатель определяет отношение "один ко многим" между объектами, где изменение состояния одного объекта автоматически оповещает и обновляет все зависимые объекты. Этот паттерн позволяет объектам быть независимыми друг от друга, но в то же время реагировать на изменения состояния друг друга.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blackboard (Доска объявлений)
&lt;/h2&gt;

&lt;p&gt;Паттерн Доска объявлений используется для решения сложных проблем, которые требуют совместной работы нескольких экспертов или систем. Он представляет собой централизованную систему, где различные компоненты могут вносить свои вклады в решение задачи. Доска объявлений позволяет различным компонентам обмениваться информацией и координировать свои действия для достижения общей цели.&lt;/p&gt;

&lt;h2&gt;
  
  
  Servant (Слуга)
&lt;/h2&gt;

&lt;p&gt;Паттерн Слуга используется для предоставления общего интерфейса, через который клиенты могут взаимодействовать с группой объектов. Слуга выступает в роли посредника между клиентом и группой объектов, обеспечивая выполнение запросов клиента. Этот паттерн позволяет клиенту работать с группой объектов, не зная о конкретных деталях их реализации.&lt;/p&gt;

&lt;h2&gt;
  
  
  State (Состояние)
&lt;/h2&gt;

&lt;p&gt;Паттерн Состояние позволяет объекту изменять свое поведение в зависимости от своего внутреннего состояния. Он представляет собой альтернативу использованию большого количества условных операторов, разбрасывая логику в разные классы состояний. Этот паттерн позволяет упростить код и сделать его более гибким при добавлении новых состояний.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strategy (Стратегия)
&lt;/h2&gt;

&lt;p&gt;Паттерн Стратегия позволяет определить семейство алгоритмов, инкапсулировать их и сделать их взаимозаменяемыми. Он позволяет клиенту выбирать алгоритм во время выполнения программы, не привязываясь к конкретным реализациям. Этот паттерн позволяет добиться гибкости и легкости модификации алгоритмов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specification (Спецификация)
&lt;/h2&gt;

&lt;p&gt;Паттерн Спецификация используется для определения набора правил или условий, которые объект должен удовлетворять. Он позволяет выразить сложные логические условия через комбинацию простых правил. Спецификация может быть использована для фильтрации, валидации или выбора объектов в системе.&lt;/p&gt;

&lt;h2&gt;
  
  
  Subsumption (Подчинение)
&lt;/h2&gt;

&lt;p&gt;Паттерн Подчинение используется для управления поведением роботов или агентов в системе. Он позволяет организовать иерархию классов, где каждый класс представляет некоторое поведение. Классы могут наследоваться друг от друга, и более общие классы могут подчинять более конкретные классы. Этот паттерн позволяет реализовать гибкое иерархическое управление поведением.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visitor (Посетитель)
&lt;/h2&gt;

&lt;p&gt;Паттерн Посетитель используется для добавления новых операций к существующей структуре объектов без изменения самих объектов. Он позволяет разделить алгоритмы и структуры данных, позволяя добавлять новые операции без модификации существующего кода. Посетитель позволяет применять различные операции к объектам в структуре, не нарушая инкапсуляцию.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>OOP Patterns</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Mon, 30 Oct 2023 21:33:40 +0000</pubDate>
      <link>https://dev.to/noloquideus/oop-patterns-4j4o</link>
      <guid>https://dev.to/noloquideus/oop-patterns-4j4o</guid>
      <description>&lt;h1&gt;
  
  
  Порождающие паттерны (Generative Patterns)
&lt;/h1&gt;

&lt;p&gt;В данном репозитории представлены реализации различных порождающих паттернов, которые являются одним из типов паттернов проектирования. Порождающие паттерны предоставляют механизмы для создания объектов, скрывая детали их создания и обеспечивая гибкость в процессе создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Абстрактная фабрика (Abstract Factory)
&lt;/h2&gt;

&lt;p&gt;Абстрактная фабрика позволяет создавать семейства связанных или зависимых объектов без указания их конкретных классов. Она предоставляет интерфейс для создания объектов каждого семейства и обеспечивает согласованность их создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Фабричный метод (Factory Method)
&lt;/h2&gt;

&lt;p&gt;Фабричный метод - это паттерн проектирования, который предоставляет интерфейс для создания объектов, но позволяет подклассам решать, какой класс создавать. Это полезный паттерн, когда у вас есть общий интерфейс, но различные реализации объектов, которые могут быть созданы.&lt;/p&gt;

&lt;h2&gt;
  
  
  Прототип (Prototype)
&lt;/h2&gt;

&lt;p&gt;Прототип позволяет создавать объекты путем копирования уже существующего объекта-прототипа. Он предоставляет способ создания объектов без указания их конкретного класса и позволяет избежать дополнительных накладных расходов на создание объектов с нуля.&lt;/p&gt;

&lt;h2&gt;
  
  
  Строитель (Builder)
&lt;/h2&gt;

&lt;p&gt;Строитель позволяет создавать сложные объекты пошагово. Он абстрагирует процесс создания объекта, позволяя создавать различные представления одного и того же объекта.&lt;/p&gt;

&lt;h2&gt;
  
  
  Одиночка (Singleton)
&lt;/h2&gt;

&lt;p&gt;Одиночка гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Он обеспечивает контроль над созданием и доступом к экземпляру класса.&lt;/p&gt;

&lt;h2&gt;
  
  
  Пул одиночек (Singleton Pool)
&lt;/h2&gt;

&lt;p&gt;Пул одиночек предоставляет пул объектов одиночек, чтобы эффективно управлять их созданием и использованием. Он позволяет повторно использовать одиночки для различных задач и уменьшает накладные расходы на создание и удаление объектов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Пул объектов (Object Pool)
&lt;/h2&gt;

&lt;p&gt;Пул объектов предоставляет пул предварительно созданных объектов, которые могут быть повторно использованы. Он позволяет избежать накладных расходов на создание и удаление объектов путем их повторного использования.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ленивая инициализация (Lazy Initialization)
&lt;/h2&gt;

&lt;p&gt;Ленивая инициализация откладывает создание объекта до момента его фактического использования. Это позволяет избежать ненужных накладных расходов на создание объектов, которые могут не понадобиться.&lt;/p&gt;

&lt;h2&gt;
  
  
  Реестр (Registry)
&lt;/h2&gt;

&lt;p&gt;Реестр (или реестр объектов) - это паттерн проектирования, который предоставляет механизм для регистрации, поиска и получения объектов в централизованном месте. Реестр может быть использован для хранения и доступа к различным объектам приложения, таким как сервисы, компоненты и другие ресурсы.&lt;/p&gt;

&lt;h2&gt;
  
  
  Локатор служб (Service Locator)
&lt;/h2&gt;

&lt;p&gt;Локатор служб (или сервис-локатор) - это паттерн проектирования, который предоставляет механизм для поиска и получения служб (или сервисов) в централизованном месте. Локатор служб позволяет клиентскому коду получать доступ к службам, не зная их конкретных реализаций или деталей создания.&lt;/p&gt;

&lt;h2&gt;
  
  
  Внедрение зависимости (Dependency injection)
&lt;/h2&gt;

&lt;p&gt;Это паттерн проектирования, который позволяет разделить создание и конфигурацию объектов от их использования. Вместо того, чтобы объекты создавали свои зависимости, они получают их из внешнего источника, такого как контейнер внедрения зависимостей.&lt;/p&gt;

&lt;h1&gt;
  
  
  Структурные паттерны (Structural patterns)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Адаптер (Adapter)
&lt;/h2&gt;

&lt;p&gt;Адаптер это структурный паттерн, который позволяет объектам с несовместимыми интерфейсами работать вместе.&lt;/p&gt;

&lt;h2&gt;
  
  
  Мост (Bridge)
&lt;/h2&gt;

&lt;p&gt;Мост — это структурный паттерн, который разделяет абстракцию и реализацию так, чтобы они могли изменяться независимо друг от друга.&lt;/p&gt;

&lt;h2&gt;
  
  
  Компоновщик (Composite)
&lt;/h2&gt;

&lt;p&gt;Компоновщик — это структурный паттерн, который позволяет сгруппировать объекты в древовидные структуры и работать с ними так, как будто это единичный объект.&lt;/p&gt;

&lt;h2&gt;
  
  
  Декоратор (Decorator)
&lt;/h2&gt;

&lt;p&gt;Декоратор — это структурный паттерн, который позволяет добавлять объектам новые функциональные возможности на лету, оборачивая их в полезные «обёртки».&lt;/p&gt;

&lt;h2&gt;
  
  
  Фасад (Facade)
&lt;/h2&gt;

&lt;p&gt;Фасад — это структурный паттерн, который предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.&lt;/p&gt;

&lt;h2&gt;
  
  
  Контроллер (Front Controller)
&lt;/h2&gt;

&lt;p&gt;Контроллер — это архитектурный паттерн, который предоставляет единый точку входа для обработки запросов и управления его обработкой.&lt;/p&gt;

&lt;h2&gt;
  
  
  Легковес (Flyweight)
&lt;/h2&gt;

&lt;p&gt;Легковес — это структурный паттерн, который позволяет эффективно поддерживать огромное количество мелких объектов, используя разделение их общего состояния.&lt;/p&gt;

&lt;h2&gt;
  
  
  Заместитель (Proxy)
&lt;/h2&gt;

&lt;p&gt;Заместитель — это структурный паттерн, который позволяет создать объект-заместитель для контроля доступа к другому объекту или для добавления дополнительной логики при его использовании.&lt;/p&gt;

&lt;h2&gt;
  
  
  Монада (Monad)
&lt;/h2&gt;

&lt;p&gt;Monad - это структурный паттерн проектирования, который позволяет комбинировать операции с помощью монадической последовательности. Он позволяет обрабатывать результаты вычислений в функциональном программировании и управлять побочными эффектами.&lt;/p&gt;

&lt;h1&gt;
  
  
  Поведенческие паттерны (Behavioral patterns)
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Chain of responsibility
&lt;/h2&gt;

&lt;p&gt;Паттерн Цепочка обязанностей позволяет создать цепочку объектов-обработчиков, в которой каждый объект может обработать запрос самостоятельно или передать его дальше по цепочке. Это позволяет избежать жесткой связанности между отправителем запроса и его получателем, и дает возможность гибко настраивать обработку запросов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Command
&lt;/h2&gt;

&lt;p&gt;Паттерн Команда превращает запросы в объекты, что позволяет передавать их как аргументы, хранить их в структурах данных, выполнять отложенные или отменяемые операции. Этот паттерн используется для инкапсуляции запроса в объект, позволяя таким образом параметризовать клиентов с разными запросами, обрабатывать запросы с разными операциями и поддерживать отмену операций.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interpreter
&lt;/h2&gt;

&lt;p&gt;Паттерн Интерпретатор определяет представление грамматики и интерпретатор для этой грамматики. Он позволяет интерпретировать предложения на определенном языке или представлять их в виде структур данных. Этот паттерн полезен, когда нужно создавать простые языки для решения определенных задач.&lt;/p&gt;

&lt;h2&gt;
  
  
  Iterator
&lt;/h2&gt;

&lt;p&gt;Паттерн Итератор предоставляет способ последовательного доступа к элементам коллекции без раскрытия ее внутреннего представления. Он позволяет обходить элементы коллекции без знания о ее структуре и реализации. Этот паттерн упрощает работу с коллекциями и обеспечивает единый интерфейс для их перебора.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mediator
&lt;/h2&gt;

&lt;p&gt;Паттерн Посредник определяет объект, который инкапсулирует способ взаимодействия между объектами, позволяя им обмениваться информацией через посредника. Это позволяет снизить связанность между объектами, улучшить их повторное использование и обеспечить гибкость взаимодействия.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memento
&lt;/h2&gt;

&lt;p&gt;Паттерн Хранитель позволяет сохранять и восстанавливать состояние объекта без нарушения инкапсуляции. Он используется для реализации механизма отката или сохранения состояния объекта, чтобы можно было восстановить его позднее.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observer
&lt;/h2&gt;

&lt;p&gt;Паттерн Наблюдатель определяет отношение "один ко многим" между объектами, где изменение состояния одного объекта автоматически оповещает и обновляет все зависимые объекты. Этот паттерн позволяет объектам быть независимыми друг от друга, но в то же время реагировать на изменения состояния друг друга.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blackboard (Доска объявлений)
&lt;/h2&gt;

&lt;p&gt;Паттерн Доска объявлений используется для решения сложных проблем, которые требуют совместной работы нескольких экспертов или систем. Он представляет собой централизованную систему, где различные компоненты могут вносить свои вклады в решение задачи. Доска объявлений позволяет различным компонентам обмениваться информацией и координировать свои действия для достижения общей цели.&lt;/p&gt;

&lt;h2&gt;
  
  
  Servant (Слуга)
&lt;/h2&gt;

&lt;p&gt;Паттерн Слуга используется для предоставления общего интерфейса, через который клиенты могут взаимодействовать с группой объектов. Слуга выступает в роли посредника между клиентом и группой объектов, обеспечивая выполнение запросов клиента. Этот паттерн позволяет клиенту работать с группой объектов, не зная о конкретных деталях их реализации.&lt;/p&gt;

&lt;h2&gt;
  
  
  State (Состояние)
&lt;/h2&gt;

&lt;p&gt;Паттерн Состояние позволяет объекту изменять свое поведение в зависимости от своего внутреннего состояния. Он представляет собой альтернативу использованию большого количества условных операторов, разбрасывая логику в разные классы состояний. Этот паттерн позволяет упростить код и сделать его более гибким при добавлении новых состояний.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strategy (Стратегия)
&lt;/h2&gt;

&lt;p&gt;Паттерн Стратегия позволяет определить семейство алгоритмов, инкапсулировать их и сделать их взаимозаменяемыми. Он позволяет клиенту выбирать алгоритм во время выполнения программы, не привязываясь к конкретным реализациям. Этот паттерн позволяет добиться гибкости и легкости модификации алгоритмов.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specification (Спецификация)
&lt;/h2&gt;

&lt;p&gt;Паттерн Спецификация используется для определения набора правил или условий, которые объект должен удовлетворять. Он позволяет выразить сложные логические условия через комбинацию простых правил. Спецификация может быть использована для фильтрации, валидации или выбора объектов в системе.&lt;/p&gt;

&lt;h2&gt;
  
  
  Subsumption (Подчинение)
&lt;/h2&gt;

&lt;p&gt;Паттерн Подчинение используется для управления поведением роботов или агентов в системе. Он позволяет организовать иерархию классов, где каждый класс представляет некоторое поведение. Классы могут наследоваться друг от друга, и более общие классы могут подчинять более конкретные классы. Этот паттерн позволяет реализовать гибкое иерархическое управление поведением.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visitor (Посетитель)
&lt;/h2&gt;

&lt;p&gt;Паттерн Посетитель используется для добавления новых операций к существующей структуре объектов без изменения самих объектов. Он позволяет разделить алгоритмы и структуры данных, позволяя добавлять новые операции без модификации существующего кода. Посетитель позволяет применять различные операции к объектам в структуре, не нарушая инкапсуляцию.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Algorithms and data structure</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Sat, 28 Oct 2023 07:57:58 +0000</pubDate>
      <link>https://dev.to/noloquideus/readme-update-3ea4</link>
      <guid>https://dev.to/noloquideus/readme-update-3ea4</guid>
      <description>&lt;p&gt;&lt;em&gt;Hello everyone&lt;/em&gt;✌️&lt;/p&gt;

&lt;p&gt;I want to show my work. These are algorithms and data structures&lt;br&gt;
&lt;a href="https://github.com/Noloquideus/Structures"&gt;Github repo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Content
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stack&lt;/li&gt;
&lt;li&gt;Queue&lt;/li&gt;
&lt;li&gt;Merge Sort&lt;/li&gt;
&lt;li&gt;Quick Sort&lt;/li&gt;
&lt;li&gt;Binary Search&lt;/li&gt;
&lt;li&gt;Linked List&lt;/li&gt;
&lt;li&gt;Breadth First Search (BFS)&lt;/li&gt;
&lt;li&gt;Depth-first search (DFS)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;p&gt;A stack is a last-in, first-out (LIFO) data structure. This implementation introduces basic stack operations such as adding an element, removing an element, and checking if the stack is empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Queue
&lt;/h2&gt;

&lt;p&gt;A queue is a first-in, first-out (FIFO) data structure. This implementation introduces basic queue operations such as adding an element, removing an element, and checking if the queue is empty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Merge sort
&lt;/h2&gt;

&lt;p&gt;Merge sort is a sorting algorithm that uses a split-and-merge strategy. It splits the list into halves, sorts them separately, and then combines the sorted halves into one sorted list. This implementation introduces merge sort in Python and C#.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick sort
&lt;/h2&gt;

&lt;p&gt;Quicksort is a sorting algorithm that uses a divide and conquer strategy. It selects an element (the pivot) from the array and rearranges the remaining elements so that the elements to the left of the pivot are smaller than it, and the elements to the right are larger. The process is then repeated recursively for the two subarrays to the left and right of the pivot. This implementation introduces quicksort in Python and C#.&lt;/p&gt;

&lt;h2&gt;
  
  
  Binary search
&lt;/h2&gt;

&lt;p&gt;Binary search is a search algorithm that operates on a sorted list. It compares the search value with the element in the middle of the list, and, depending on the result of the comparison, continues searching either in the left or right half of the list. This implementation introduces binary search in Python and C#.&lt;/p&gt;

&lt;h2&gt;
  
  
  Linked list
&lt;/h2&gt;

&lt;p&gt;A linked list is a data structure consisting of nodes, each of which contains a value and a link to the next node. This allows you to efficiently add and remove items from a list. This implementation introduces basic linked list operations such as adding an element, removing an element, and getting the size of the list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Breadth first search
&lt;/h2&gt;

&lt;p&gt;Breadth-first search (BFS) is a graph traversal or search algorithm that starts at a given vertex and traverses all vertices breadth-first before moving to the next depth. This implementation introduces breadth-first search in Python and C#.&lt;/p&gt;

&lt;h2&gt;
  
  
  Depth-first search
&lt;/h2&gt;

&lt;p&gt;Depth-first search (DFS) is a graph traversal or search algorithm that starts at a given vertex and goes deep into the graph until it reaches a final vertex or backtracks if a dead-end path is reached. This implementation introduces depth-first search in Python and C#.&lt;/p&gt;

</description>
      <category>github</category>
      <category>readme</category>
      <category>beginners</category>
    </item>
    <item>
      <title>README update</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Wed, 18 Oct 2023 13:10:47 +0000</pubDate>
      <link>https://dev.to/noloquideus/readme-update-256j</link>
      <guid>https://dev.to/noloquideus/readme-update-256j</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hello everyone&lt;/strong&gt;✌&lt;/p&gt;

&lt;p&gt;I want to share tools for decorating your github profile using readme&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/nastyox/Repo-Roster"&gt;Display forkers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/smartiqaorg/geometric_lib/stargazers"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OWu5Fac8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://reporoster.com/stars/smartiqaorg/geometric_lib" alt="Stargazers repo roster for @smartiqaorg/geometric_lib" width="676" height="131"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;[![Stargazers repo roster for @USERNAME/REPO_NAME](https://reporoster.com/stars/USERNAME/REPO_NAME)](https://github.com/USERNAME/REPO_NAME/stargazers)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/badges/shields"&gt;Shields generator&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lvvjivrn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/badge/-Russia-black%3Fstyle%3Dfor-the-badge%26logo%3DRussia" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lvvjivrn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/badge/-Russia-black%3Fstyle%3Dfor-the-badge%26logo%3DRussia" alt="Russia" width="75" height="28"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;![Russia](https://img.shields.io/badge/-Russia-black?style=for-the-badge&amp;amp;logo=Russia)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ryo-ma/github-profile-trophy"&gt;Profile Trophy&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q2RfTntj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github-profile-trophy.vercel.app/%3Fusername%3DNoloquideus%26theme%3Donedark" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q2RfTntj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://github-profile-trophy.vercel.app/%3Fusername%3DNoloquideus%26theme%3Donedark" alt="trophy" width="800" height="100"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;![trophy](https://github-profile-trophy.vercel.app/?username=Noloquideus&amp;amp;theme=onedark)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/lowlighter/metrics"&gt;Metrics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w0ApTCsM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm2qx7odwd1tmkl5jh1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w0ApTCsM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm2qx7odwd1tmkl5jh1l.png" alt="Image description" width="800" height="777"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/abhisheknaiidu/todoist-readme"&gt;Todo stats&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4LA_qSHO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s78qews9yq53a69m7zq0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4LA_qSHO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s78qews9yq53a69m7zq0.png" alt="Image description" width="402" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/PiyushSuthar/github-readme-quotes"&gt;Quotes&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ltI4DpVc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/29fh0759w1hkrobmuh2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ltI4DpVc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/29fh0759w1hkrobmuh2j.png" alt="Image description" width="285" height="276"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>readme</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Top Workspaces</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Sat, 14 Oct 2023 10:13:46 +0000</pubDate>
      <link>https://dev.to/noloquideus/top-workspaces-1ja2</link>
      <guid>https://dev.to/noloquideus/top-workspaces-1ja2</guid>
      <description>&lt;p&gt;Hello everyone✌️&lt;br&gt;
I want to share my top applications where you can place your personal workspace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notion&lt;/strong&gt; &lt;a href="https://www.notion.so/"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;notion has a website, desktop application, mobile application. This is great for me because I can quickly access my workspace at any time from any device.&lt;/li&gt;
&lt;li&gt;Notion имеет много возможностей представления данных, поддержка markdown&lt;/li&gt;
&lt;li&gt;The ability to easily import and export your pages, databases, etc.&lt;/li&gt;
&lt;li&gt;Unfortunately, notion has limitations in the free version. For me, this results in the inability to save many files directly into Notion, but the subscription is not expensive. For the budget conscious, I advise you to use the cloud to store files - google drive is a good example.&lt;/li&gt;
&lt;li&gt;Notion has many integrations with other services.&lt;/li&gt;
&lt;li&gt;Notion has the ability to share your pages.&lt;/li&gt;
&lt;li&gt;You can put custom icons in Notion.
Notion is the best tool in my opinion, especially in conjunction with google workspace (excel, forms, drive)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Coda&lt;/strong&gt; &lt;a href="https://coda.io/"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coda only has a website - this is a minus for me.&lt;/li&gt;
&lt;li&gt;Coda has a set of data visualization options.&lt;/li&gt;
&lt;li&gt;Coda does not have the ability to add cutom icons in the free version.
For me, code is not the best option, but not bad either.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AnyType&lt;/strong&gt; &lt;a href="https://download.anytype.io/"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AnyType does not have a website, but does have applications for different systems.&lt;/li&gt;
&lt;li&gt;The main visual advantage is the graph representation.&lt;/li&gt;
&lt;li&gt;AnyType has libraries to expand functionality.
Not the best solution for me personally, but I like it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Obsidian&lt;/strong&gt; &lt;a href="https://obsidian.md/"&gt;link&lt;/a&gt;&lt;br&gt;
Cool and convenient application, I haven’t tried it completely yet.&lt;/p&gt;

</description>
      <category>workspace</category>
      <category>beginners</category>
      <category>discuss</category>
      <category>devops</category>
    </item>
    <item>
      <title>Plugin for VS Code.</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Sun, 08 Oct 2023 12:20:33 +0000</pubDate>
      <link>https://dev.to/noloquideus/plugin-for-vs-code-5afm</link>
      <guid>https://dev.to/noloquideus/plugin-for-vs-code-5afm</guid>
      <description>&lt;p&gt;🚀 Turn your Visual Studio Code into a powerful tool for creating the file format you want with our new extension!&lt;/p&gt;

&lt;p&gt;📁 &lt;strong&gt;VS Code Extension: File Creator&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now it's easier than ever to create the right file format. Our extension provides you:&lt;br&gt;
📝 &lt;strong&gt;Ease of Use&lt;/strong&gt;: Create files of the desired format in just a few clicks.&lt;/p&gt;

&lt;p&gt;🔧 &lt;strong&gt;VS Code Integration&lt;/strong&gt;: Fully integrated into your development environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Noloquideus/File-Creator-Plugin-VSCODE"&gt;File Creator&lt;/a&gt;&lt;/p&gt;

</description>
      <category>extensions</category>
      <category>vscode</category>
      <category>typescript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Telegram Tamplate</title>
      <dc:creator>Daniil Manukian</dc:creator>
      <pubDate>Sun, 08 Oct 2023 12:12:40 +0000</pubDate>
      <link>https://dev.to/noloquideus/telegram-tamplate-5716</link>
      <guid>https://dev.to/noloquideus/telegram-tamplate-5716</guid>
      <description>&lt;p&gt;🚀 Hello friends! We are glad to present you our new project - "Telegram Tamplate"! This is a template for creating unique Telegram bots with minimal effort.&lt;/p&gt;

&lt;p&gt;🔥 Features of the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ease of use&lt;/li&gt;
&lt;li&gt;Flexible settings&lt;/li&gt;
&lt;li&gt;Open source&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🌐 More about the project and a link to the &lt;a href="https://github.com/Noloquideus/Telegram_tamplate"&gt;repository&lt;/a&gt; here.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>python</category>
    </item>
  </channel>
</rss>
