<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>German Gorelkin Blog</title>
    <link>https://ubiklab.net/</link>
    <description>Recent content on German Gorelkin Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ru-RU</language>
    <lastBuildDate>Tue, 27 Jan 2026 00:00:00 +0300</lastBuildDate><atom:link href="https://ubiklab.net/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Фильтр Блума (Bloom Filter)</title>
      <link>https://ubiklab.net/posts/bloom-filter/</link>
      <pubDate>Tue, 27 Jan 2026 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/bloom-filter/</guid>
      <description>Фильтры Блума в высоконагруженных распределённых системах: принципы работы, оптимизация параметров, практические паттерны и рекомендации для LSM, CDN, аналитики и блокчейна.</description>
    </item>
    
    <item>
      <title>Афоризмы житейской мудрости</title>
      <link>https://ubiklab.net/posts/the-art-of-worldly-wisdom/</link>
      <pubDate>Wed, 14 Jan 2026 00:05:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-art-of-worldly-wisdom/</guid>
      <description>Заметки о жизни и работе в IT. Не про синтаксис, а про здравый смысл: как общаться с людьми, почему меньше кода - это лучше и как стать по-настоящему сильным инженером. 21 простой совет о том, как делать проекты, которые приносят пользу, и при этом не выгорать в процессе.</description>
    </item>
    
    <item>
      <title>Накопительный эффект</title>
      <link>https://ubiklab.net/posts/nakopitelnyy-effekt/</link>
      <pubDate>Sat, 10 Jan 2026 00:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/nakopitelnyy-effekt/</guid>
      <description>Формула радикальных перемен через маленькие решения, системность и время. Как незначительные действия превращаются в колоссальный успех.</description>
    </item>
    
    <item>
      <title>Consistent hashing</title>
      <link>https://ubiklab.net/posts/consistent-hashing/</link>
      <pubDate>Thu, 08 Jan 2026 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/consistent-hashing/</guid>
      <description>Кластеры редко бывают статичными: узлы добавляются для масштабирования и выбывают из-за сбоев. В таких условиях обычное распределение нагрузки становится неэффективным. На помощь приходит Consistent Hashing - алгоритм, который гарантирует минимальное перемещение ключей при любых изменениях в составе системы</description>
    </item>
    
    <item>
      <title>CAP теорема</title>
      <link>https://ubiklab.net/posts/cap-theorem/</link>
      <pubDate>Sun, 04 Jan 2026 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/cap-theorem/</guid>
      <description>Обзор CAP-теоремы и PACELC: история, доказательство и практическое применение. Разбираем, как распределенные системы балансируют между согласованностью, доступностью и скоростью ответа.</description>
    </item>
    
    <item>
      <title>Try-Confirm-Cancel в распределенных системах</title>
      <link>https://ubiklab.net/posts/try-confirm-cancel/</link>
      <pubDate>Fri, 02 Jan 2026 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/try-confirm-cancel/</guid>
      <description>Try-Confirm-Cancel как модель управления согласованностью в микросервисах: резервирование ресурсов, идемпотентность, отказоустойчивость и архитектурные trade-offs.</description>
    </item>
    
    <item>
      <title>SAGA. Распределенные транзакции</title>
      <link>https://ubiklab.net/posts/saga-distributed-transactions/</link>
      <pubDate>Tue, 30 Dec 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/saga-distributed-transactions/</guid>
      <description>Как работают распределённые транзакции в микросервисах: Saga, компенсации вместо rollback, конечная согласованность и архитектурные компромиссы.</description>
    </item>
    
    <item>
      <title>Не Работайте С Мудаками. Роберт Саттон</title>
      <link>https://ubiklab.net/posts/ne-rabotayte-s-m-dakami-i-chto-delat-esli-oni-vokrug-vas/</link>
      <pubDate>Mon, 29 Dec 2025 12:21:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/ne-rabotayte-s-m-dakami-i-chto-delat-esli-oni-vokrug-vas/</guid>
      <description>Почему токсичные сотрудники разрушают бизнес, как выстроить здоровую культуру в компании и почему важно начать с самого себя.</description>
    </item>
    
    <item>
      <title>Be water, my friend</title>
      <link>https://ubiklab.net/posts/be-water-my-friend/</link>
      <pubDate>Sun, 28 Dec 2025 00:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/be-water-my-friend/</guid>
      <description>Фраза Брюса Ли «Будь водой, друг мой» — метафора радикальной адаптивности: гибкость, опустошённый ум, мягкая сила и умение адекватно реагировать на перемены.</description>
    </item>
    
    <item>
      <title>Two-Phased Commit и eXtended Architecture</title>
      <link>https://ubiklab.net/posts/two-phased-commit-and-extended-architecture/</link>
      <pubDate>Sat, 27 Dec 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/two-phased-commit-and-extended-architecture/</guid>
      <description>Распределённые транзакции через 2PC и XA: как обеспечить атомарность в микросервисах. Риски in-doubt транзакций, блокировки и специфика работы с PostgreSQL.</description>
    </item>
    
    <item>
      <title>Transactional Outbox. Как не потерять сообщения</title>
      <link>https://ubiklab.net/posts/pattern-transactional-outbox/</link>
      <pubDate>Fri, 26 Dec 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/pattern-transactional-outbox/</guid>
      <description>Transactional Outbox — паттерн для надёжной доставки событий в микросервисах. Как избежать dual write, потерь сообщений и дубликатов, обеспечить at-least-once и идемпотентность.</description>
    </item>
    
    <item>
      <title>CPU Request и Limit Для Контейнеров</title>
      <link>https://ubiklab.net/posts/kubernetes-cpu-go-gomaxprocs/</link>
      <pubDate>Wed, 18 Jun 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/kubernetes-cpu-go-gomaxprocs/</guid>
      <description>Как Kubernetes, ядро Linux и среда выполнения Go взаимодействуют с CPU: от планирования до реальных метрик</description>
    </item>
    
    <item>
      <title>Манифест пост-меритократии</title>
      <link>https://ubiklab.net/posts/post-meritocracy-manifesto/</link>
      <pubDate>Wed, 11 Jun 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/post-meritocracy-manifesto/</guid>
      <description>Меритократия - один из основополагающих принципов open source движения. Этот идеал находит отражение во всех аспектах нашей деятельности</description>
    </item>
    
    <item>
      <title>Go IO Closer, Seeker, WriterTo и ReaderFrom</title>
      <link>https://ubiklab.net/posts/go-io-closer-seeker-readfrom-writeto/</link>
      <pubDate>Thu, 05 Jun 2025 00:00:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-io-closer-seeker-readfrom-writeto/</guid>
      <description>Подробно рассмотрим интерфейсы Closer, Seeker, WriterTo и ReaderFrom в языке Go.</description>
    </item>
    
    <item>
      <title>12 практических упражнений от Эпиктета</title>
      <link>https://ubiklab.net/posts/12x-practical-spiritual-exercises/</link>
      <pubDate>Fri, 30 May 2025 00:00:01 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/12x-practical-spiritual-exercises/</guid>
      <description>Достижение внутренней свободы (атараксии) и невозмутимости через контроль над собственными суждениями, реакциями и поступками, полное принятие внешнего мира как данности и сосредоточение всей энергии на развитии добродетели (мудрости, мужества, справедливости, умеренности) – единственном истинном благе по Эпиктету.</description>
    </item>
    
    <item>
      <title>Вопросов для собеседования. Базы Данных. Часть 1</title>
      <link>https://ubiklab.net/posts/sql-interview-questions-part1/</link>
      <pubDate>Mon, 26 May 2025 00:00:01 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/sql-interview-questions-part1/</guid>
      <description>Вопросы по SQL и базам данных для собеседования. Некоторые из них касаются только Microsoft SQL Server, но большинство вопросов являются общими для всех реляционных СУБД.</description>
    </item>
    
    <item>
      <title>Первый принцип (First Principles)</title>
      <link>https://ubiklab.net/posts/first-principles/</link>
      <pubDate>Thu, 22 May 2025 00:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/first-principles/</guid>
      <description>Первый принцип (First Principles) — это метод мышления, при котором сложная проблема разбивается на фундаментальные элементы, чтобы понять её суть и построить инновационное решение с нуля. Этот подход противопоставляется рассуждению по аналогии (копированию существующих решений) и используется для преодоления ограничений традиционного мышления.</description>
    </item>
    
    <item>
      <title>Graceful Shutdown в Go</title>
      <link>https://ubiklab.net/posts/go-graceful-shutdown/</link>
      <pubDate>Mon, 19 May 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-graceful-shutdown/</guid>
      <description>Для корректного завершения работы программы необходимо выполнить три ключевых действия: Закрыть точку входа, Дождаться завершения всех активных запросов и Освободить критически важные ресурсы</description>
    </item>
    
    <item>
      <title>io.Reader и io.Writer в Go</title>
      <link>https://ubiklab.net/posts/go-io-reader-writer/</link>
      <pubDate>Sun, 02 Feb 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-io-reader-writer/</guid>
      <description>Интерфейсы io.Reader и io.Writer являются одними из самых часто используемых инструментов в процессе работы с вводом и выводом данных</description>
    </item>
    
    <item>
      <title>fmt.Sprintf vs String Concat</title>
      <link>https://ubiklab.net/posts/sprintf-vs-string-concat/</link>
      <pubDate>Mon, 27 Jan 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/sprintf-vs-string-concat/</guid>
      <description>Что быстрей — fmt.Sprintf или конкатенация строк?</description>
    </item>
    
    <item>
      <title>Go Runtime Finalizer и Keep Alive</title>
      <link>https://ubiklab.net/posts/go-runtime-finalizer-keepalive/</link>
      <pubDate>Thu, 23 Jan 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-runtime-finalizer-keepalive/</guid>
      <description>Финализатор — это функция, привязанная к объекту и предназначенная для выполнения определенных действий, когда сборщик мусора решает, что объект больше не нужен.</description>
    </item>
    
    <item>
      <title>Быстрый альтернативный способ выполнения операции взятия по модулю(остаток от деления)</title>
      <link>https://ubiklab.net/posts/a-fast-alternative-to-the-modulo-reduction/</link>
      <pubDate>Mon, 20 Jan 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/a-fast-alternative-to-the-modulo-reduction/</guid>
      <description>Операция взятия по модулю применяется для ограничения значения хэш-функции размером массива. Это делает её полезной в хэш-таблицах для выбора соответствующего бакета или в циклических структурах данных, таких как ring-buffer. Так же в некоторых алгоритмах генерации псевдослучайных чисел операция взятия по модулю используется для ограничения диапазона значений.</description>
    </item>
    
    <item>
      <title>Как устроен map в go</title>
      <link>https://ubiklab.net/posts/go-map-internals/</link>
      <pubDate>Tue, 07 Jan 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-map-internals/</guid>
      <description>map — это встроенный тип данных, предназначенный для хранения пар ключ-значение. В отличие от массивов, где ключи являются возрастающими индексами, такими как 0, 1, 2 и так далее, в map ключ может представлять собой любой сопоставимого(comparable) тип.</description>
    </item>
    
    <item>
      <title>Слабые Указатели в Go</title>
      <link>https://ubiklab.net/posts/go-weak-pointer/</link>
      <pubDate>Thu, 02 Jan 2025 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-weak-pointer/</guid>
      <description>Слабый указатель (weak pointer) — это указатель, который ссылается на участок памяти без его блокировки, позволяя сборщику мусора удалить этот участок, если больше никто не удерживает его активно.</description>
    </item>
    
    <item>
      <title>Go sync.Cond - самый недооцененный механизм синхронизации</title>
      <link>https://ubiklab.net/posts/go-sync-cond/</link>
      <pubDate>Sun, 15 Dec 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-sync-cond/</guid>
      <description>Когда горутина ожидает определённого события, например, изменения общих данных, она может «блокироваться», то есть приостанавливать свою работу до тех пор, пока не получит разрешение на продолжение.</description>
    </item>
    
    <item>
      <title>Go Production Performance Gotcha - GOMAXPROCS</title>
      <link>https://ubiklab.net/posts/go-production-performance-gotcha-gomaxprocs/</link>
      <pubDate>Tue, 10 Dec 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-production-performance-gotcha-gomaxprocs/</guid>
      <description>Переменная GOMAXPROCS ограничивает количество потоков операционной системы, которые могут одновременно выполнять user-level Go код. Количество потоков, которые могут быть заблокированы в системных вызовах от имени кода Go, не ограничено; они не учитываются в ограничении GOMAXPROCS</description>
    </item>
    
    <item>
      <title>Range по функциям в Go 1.23</title>
      <link>https://ubiklab.net/posts/ranging-over-functions-in-go-123/</link>
      <pubDate>Sat, 16 Nov 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/ranging-over-functions-in-go-123/</guid>
      <description>В Go 1.23 добавлена новая возможность *ranging over functions* (итераторы)</description>
    </item>
    
    <item>
      <title>Go sync.Pool и механика, лежащая в его основе</title>
      <link>https://ubiklab.net/posts/go-pool-and-mechanics-behind-it/</link>
      <pubDate>Mon, 11 Nov 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-pool-and-mechanics-behind-it/</guid>
      <description>sync.Pool - это место, где вы можете хранить временные объекты для последующего использования.</description>
    </item>
    
    <item>
      <title>Использование benchstat проекций в анализе Go бенчмарков</title>
      <link>https://ubiklab.net/posts/leveraging-benchstat-projections-in-go/</link>
      <pubDate>Wed, 06 Nov 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/leveraging-benchstat-projections-in-go/</guid>
      <description>В 2023 году benchstat был полностью переработан: появились проекции(projections), фильтрация и группировки, позволяющие проводить надежные сравнения по любому измерению, определяемому вашими суббенчмарками (они же «cases»)</description>
    </item>
    
    <item>
      <title>Go sync.WaitGroup и Проблема выравнивания</title>
      <link>https://ubiklab.net/posts/go-waitgroup-and-the-alignment-problem/</link>
      <pubDate>Thu, 17 Oct 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-waitgroup-and-the-alignment-problem/</guid>
      <description>WaitGroup - это способ подождать, пока несколько горутин закончат свою работу. Мы начнем с основ, а затем разберемся, как это устроено под капотом.</description>
    </item>
    
    <item>
      <title>Go sync.Mutex. Normal и Starvation Mode</title>
      <link>https://ubiklab.net/posts/go-mutex-normal-and-starvation-mode/</link>
      <pubDate>Sun, 13 Oct 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-mutex-normal-and-starvation-mode/</guid>
      <description>Mutex, или MUTual EXclusion, в Go - это способ убедиться, что только одна горутина одновременно работает с общим ресурсом. Этим ресурсом может быть кусок кода, целое число, map, структура, канал или практически все, что угодно.</description>
    </item>
    
    <item>
      <title>Go Профилировщики</title>
      <link>https://ubiklab.net/posts/go-profilers/</link>
      <pubDate>Mon, 07 Oct 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-profilers/</guid>
      <description>Обзор профилировщиков, встроенных в среду выполнения Go: CPU Profiler, Memory Profiler, Block Profiler и Mutex Profiler.</description>
    </item>
    
    <item>
      <title>Двенадцать Добродетелей Рационалиста</title>
      <link>https://ubiklab.net/posts/twelve-virtues-of-rationality/</link>
      <pubDate>Sun, 22 Sep 2024 11:05:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/twelve-virtues-of-rationality/</guid>
      <description>Двенадцать добродетелей рациональности — это набор принципов, которые помогут вам стать более разумным человеком. Эти добродетели помогут вам избегать ошибок в мышлении и принятии решений, а также помогут вам развивать критическое мышление и логику.</description>
    </item>
    
    <item>
      <title>Ментальная модель языка Go</title>
      <link>https://ubiklab.net/posts/mental-model-for-go/</link>
      <pubDate>Wed, 18 Sep 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/mental-model-for-go/</guid>
      <description>Основная задача Go - мультиплексировать и абстрагировать аппаратные ресурсы, подобно операционной системе. Для этого обычно используются две основные абстракции: Планировщик Goroutine(Goroutine Scheduler) и Сборщик мусора(Garbage Collector)</description>
    </item>
    
    <item>
      <title>Диспетчеризация интерфейса</title>
      <link>https://ubiklab.net/posts/interface-dispatch/</link>
      <pubDate>Mon, 09 Sep 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/interface-dispatch/</guid>
      <description>Рассмотрим вызовы методов интерфейса в C&#43;&#43; (GCC), Java (OpenJDK/HotSpot), C# (CLR), Go и Rust.</description>
    </item>
    
    <item>
      <title>Сравнение производительности с пакетом unique</title>
      <link>https://ubiklab.net/posts/interning-performance/</link>
      <pubDate>Fri, 06 Sep 2024 09:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/interning-performance/</guid>
      <description>Interning - это процесс хранения в памяти только одной копии значения и совместного использования уникальной ссылки на нее вместо аллокации нескольких копий и траты памяти.</description>
    </item>
    
    <item>
      <title>Динамическая и статическая диспетчеризация</title>
      <link>https://ubiklab.net/posts/dynamic-vs-static-dispatch/</link>
      <pubDate>Thu, 05 Sep 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/dynamic-vs-static-dispatch/</guid>
      <description>В этой статье объясняется разница между динамической диспетчеризацией (поздним связыванием) и статической диспетчеризацией (ранним связыванием). Мы также коснемся различий в языковой поддержке виртуальных и статических методов и того, как можно избежать использования виртуальных методов.</description>
    </item>
    
    <item>
      <title>Глубокое погружение в German Strings</title>
      <link>https://ubiklab.net/posts/deep-dive-into-german-strings/</link>
      <pubDate>Wed, 04 Sep 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/deep-dive-into-german-strings/</guid>
      <description>Мы хотим углубиться в тонкости реализации German Strings и рассказать о том, почему оптимизации, описанные в нашем предыдущем посте, необходимы для высокопроизводительной обработки строк.</description>
    </item>
    
    <item>
      <title>German Strings</title>
      <link>https://ubiklab.net/posts/german-strings/</link>
      <pubDate>Tue, 03 Sep 2024 07:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/german-strings/</guid>
      <description>Строки концептуально очень просты: По сути, это обычная последовательность символов, верно? Почему же тогда каждый язык программирования имеет свою собственную, немного отличающуюся реализацию строк? Оказывается, строка - это нечто большее, чем «просто последовательность символов».</description>
    </item>
    
    <item>
      <title>Реализация interning в Go</title>
      <link>https://ubiklab.net/posts/new-unique-package/</link>
      <pubDate>Sat, 31 Aug 2024 09:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/new-unique-package/</guid>
      <description>В стандартную библиотеку Go 1.23 добавили новых пакет unique. Цель этого пакета - позволить канонизировать сравниваемые(comparable) значения. Другими словами, этот пакет позволяет вам убрать дубли значений так, чтобы они указывали на единственную, каноническую, уникальную копию, при этом эффективно управляя каноническими копиями под капотом. Возможно, вы уже знакомы с этой концепцией, которая называется “interning”.</description>
    </item>
    
    <item>
      <title>Mechanical Sympathy: Понимание железа делает вас лучшим разработчиком</title>
      <link>https://ubiklab.net/posts/mechanical-sympathy/</link>
      <pubDate>Fri, 28 Jun 2024 10:10:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/mechanical-sympathy/</guid>
      <description>Вам не надо быть инженером, чтобы быть хорошим гонщиком, достаточно просто чувствовать машину</description>
    </item>
    
    <item>
      <title>Игра в Low Latency</title>
      <link>https://ubiklab.net/posts/game-of-low-latency/</link>
      <pubDate>Sat, 22 Jun 2024 18:31:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/game-of-low-latency/</guid>
      <description>Оптимизация low latency - это многоуровневая игра. Что бы успешно пройти это испытания необходимо уметь бороться с противником на каждом уровне. LEVEL 1 – ИТ-индустрия; LEVEL 2 – The Hardware; LEVEL 3 – The Kernel; LEVEL 4 – The Application.</description>
    </item>
    
    <item>
      <title>Оптимизация TCP. Алгоритм Нейгла и Delayed ACK</title>
      <link>https://ubiklab.net/posts/tcp-nodelay-nagle-quickack/</link>
      <pubDate>Mon, 17 Jun 2024 15:30:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/tcp-nodelay-nagle-quickack/</guid>
      <description>В начале 1980-х годов стек TCP/IP стал доминирующим протоколом, оставив Telnet для более специализированных целей, наконец-то появились настройки, позволяющие оптимизировать поток трафика и избежать перегрузок и потери данных. Однако даже сейчас бывает сложно понять, когда и как использовать эти настройки. В этой статье расмотрим некоторые методы оптимизации TCP, в частности Алгоритм Нейгла, TCP_NODELAY, Delayed ACK и TCP_QUICKACK.</description>
    </item>
    
    <item>
      <title>Пять Мифов о Производительности Систем</title>
      <link>https://ubiklab.net/posts/five-systems-performance-myths/</link>
      <pubDate>Sun, 16 Jun 2024 17:15:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/five-systems-performance-myths/</guid>
      <description>Некоторые мифы о производительности систем когда-то были правдой. Другие, кажется, были выдуманы из воздуха. В этой статье описаны 5 таких популярных мифов о производительности, некоторые из которых когда-то были правдой, а некоторые - никогда. Попутно я постараюсь опровергнуть их раз и навсегда. Мы перечислим их в обратном порядке распространенности, основываясь на моем личном опыте.</description>
    </item>
    
    <item>
      <title>Измерение производительности системы с помощью программного обеспечения</title>
      <link>https://ubiklab.net/posts/measuring-your-systems-performance-using-software/</link>
      <pubDate>Tue, 11 Jun 2024 10:09:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/measuring-your-systems-performance-using-software/</guid>
      <description>Разрабатывая программы, мы работаем над абстракцией системы. Оборудование может не знать о ваших функциях, переменных и данных. Оно может видеть только биты и инструкции. И все же, чтобы писать эффективные программы, программист должен знать характеристики базовой системы. К счастью, мы можем использовать и само программное обеспечение, чтобы наблюдать за поведением системы с помощью экспериментов.</description>
    </item>
    
    <item>
      <title>Возвращение Frame Pointers</title>
      <link>https://ubiklab.net/posts/the-return-of-the-frame-pointers/</link>
      <pubDate>Sat, 25 May 2024 15:32:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-return-of-the-frame-pointers/</guid>
      <description>В 2004 году отказ от frame pointers был связан с повышением производительности на i386 и конкуренцией с другими компиляторами. Спустя 10 лет frame pointers возвращаются в дистрибутивы Linux.</description>
    </item>
    
    <item>
      <title>Правила мозга. Джон Медина</title>
      <link>https://ubiklab.net/posts/pravila-mozga/</link>
      <pubDate>Fri, 05 Apr 2024 22:04:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/pravila-mozga/</guid>
      <description>В книге описаны 12 правил мозга. Автор приводит научные и исторические данные для подтверждения своих гипотез. А также предлагает идеи, как каждое правило можно применить в повседневной жизни. В простой и понятной форме описаны основы работы мозга.</description>
    </item>
    
    <item>
      <title>Надежные дженерик функции для слайсов</title>
      <link>https://ubiklab.net/posts/robust-generic-functions-on-slices/</link>
      <pubDate>Mon, 25 Mar 2024 09:33:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/robust-generic-functions-on-slices/</guid>
      <description>Пакет slices предоставляет функции, которые работают со слайсами любого типа. В этой статье мы обсудим, как можно использовать эти функции более эффективно, понимая, как слайсы представлены в памяти и как это влияет на сборщик мусора, а также расскажем, как мы недавно скорректировали эти функции, чтобы сделать их более предсказуемыми.</description>
    </item>
    
    <item>
      <title>Сахар в крови</title>
      <link>https://ubiklab.net/posts/glucose-revolution/</link>
      <pubDate>Thu, 14 Mar 2024 09:57:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/glucose-revolution/</guid>
      <description>Концентрация глюкозы может колебаться в течение дня, а резкое повышение концентрации влияет на все – настроение человека, его сон, вес, состояние кожи.</description>
    </item>
    
    <item>
      <title>Зона комфорта толпы — место, где рождается зло</title>
      <link>https://ubiklab.net/posts/crowd-and-heroism/</link>
      <pubDate>Sun, 10 Mar 2024 18:58:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/crowd-and-heroism/</guid>
      <description>Для многих людей быть вне толпы столь неприятно, что они последуют за ней куда угодно, даже если это дорога в ад. Люди, неспособные покинуть толпу, становятся соучастниками зла.</description>
    </item>
    
    <item>
      <title>Linux. Получение информации об оборудовании компьютера</title>
      <link>https://ubiklab.net/posts/hardware-information-tools/</link>
      <pubDate>Tue, 06 Feb 2024 11:50:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/hardware-information-tools/</guid>
      <description>В Linux есть несколько замечательных утилит для получения подробной информации об аппаратных компонентах компьютера. Вы получить список компонентов компьютера и сведения об их характеристиках.</description>
    </item>
    
    <item>
      <title>Message Authentication Code</title>
      <link>https://ubiklab.net/posts/message-authentication-code/</link>
      <pubDate>Thu, 25 Jan 2024 11:35:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/message-authentication-code/</guid>
      <description>MAC используются в популярных безопасных сетевых протоколах, например TLS, SSH и IPsec, для гарантирования целостности и подлинности передаваемых данных.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Слабые уровни изоляции</title>
      <link>https://ubiklab.net/posts/designing-applications-weak-isolation-levels/</link>
      <pubDate>Tue, 19 Dec 2023 18:12:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-weak-isolation-levels/</guid>
      <description>Транзакции, не затрагивающие одних и тех же данных, могут спокойно выполняться конкурентно, поскольку друг от друга не зависят. Проблемы конкурентного доступа (состояния гонки) возникают, только если одна транзакция читает данные, модифицируемые в этот момент другой, или две транзакции пытаются одновременно модифицировать одни и те же данные</description>
    </item>
    
    <item>
      <title>Самодисциплина</title>
      <link>https://ubiklab.net/posts/self-discipline/</link>
      <pubDate>Sun, 17 Dec 2023 15:20:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/self-discipline/</guid>
      <description>Самодисциплина — вторая наиважнейшая часть личностного роста после мотивации. Ее основа заключается в так называемой саморегуляции — способности преодолевать негативные эмоции, вызывающие отвращение к выполнению задания. Другая ее важная часть — умение управлять параличом решения. Последним пунктом самодисциплины является умение покинуть зону комфорта, и мы назвали его героизмом.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Транзакции</title>
      <link>https://ubiklab.net/posts/designing-applications-transactions/</link>
      <pubDate>Fri, 15 Dec 2023 11:58:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-transactions/</guid>
      <description>Транзакция — способ группировки приложением нескольких операций записи и чтения в одну логическую единицу.</description>
    </item>
    
    <item>
      <title>Три вида дружбы</title>
      <link>https://ubiklab.net/posts/three-kinds-of-friendship/</link>
      <pubDate>Fri, 24 Nov 2023 10:50:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/three-kinds-of-friendship/</guid>
      <description>Аристотель еще две тысячи лет назад подчеркивал значение дружбы и выделял три ее вида, отмечая, что без истинной дружбы счастливая жизнь невозможна.</description>
    </item>
    
    <item>
      <title>Парадокс шантажиста</title>
      <link>https://ubiklab.net/posts/paradox-of-blackmail/</link>
      <pubDate>Tue, 14 Nov 2023 11:11:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/paradox-of-blackmail/</guid>
      <description>Переговоры составляют неотъемлемую часть нашей жизни. Мы все время ведем их с супругами, с детьми, с партнерами, с начальниками, с подчиненными и даже с теми, кого совершенно не знаем. И конечно же, переговоры — это краеугольный камень в дипломатических отношениях государств или в поведении политических организаций.</description>
    </item>
    
    <item>
      <title>Криптографические хеш-функции</title>
      <link>https://ubiklab.net/posts/cryptographic-hash-functions/</link>
      <pubDate>Tue, 24 Oct 2023 12:36:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/cryptographic-hash-functions/</guid>
      <description>Криптографической функцией хеширования называется алгоритм, который отображает сообщение произвольного размера в относительно короткий массив битов фиксированного размера. Этот массив называется хеш-значением сообщения, или криптографическим хешем.</description>
    </item>
    
    <item>
      <title>Мотивация</title>
      <link>https://ubiklab.net/posts/motivation/</link>
      <pubDate>Sat, 21 Oct 2023 11:27:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/motivation/</guid>
      <description>Желание – это набор позитивных эмоциональных состояний, которые ассоциируются с действием и его результатом. Таким образом, вызывая у себя определенные эмоции, можно перевести себя в состояние, за которым последует действие. Осталось лишь выяснить, как вызвать у себя такие эмоции.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Секционирование</title>
      <link>https://ubiklab.net/posts/designing-applications-partitioning/</link>
      <pubDate>Thu, 19 Oct 2023 23:11:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-partitioning/</guid>
      <description>В случае очень больших наборов данных необходимо разбить данные на секции (partitions), иначе говоря, выполнить шардинг (sharding) данных.</description>
    </item>
    
    <item>
      <title>Принципы. Жизнь и работа. Рэй Далио. Как создать сильную бизнес-команду?</title>
      <link>https://ubiklab.net/posts/principy-zhizn-i-rabota-part3/</link>
      <pubDate>Sun, 08 Oct 2023 11:11:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/principy-zhizn-i-rabota-part3/</guid>
      <description>Наличие общих принципов критически важно для успеха группы людей (школы, фонда, компании и даже целого государства). Если все члены группы разделяют одни и те же ценности и руководствуются одними и теми же принципами, они смогут плодотворно трудиться ради достижения общей цели.</description>
    </item>
    
    <item>
      <title>Принципы. Жизнь и работа. Рэй Далио. Пять шагов на пути к жизни вашей мечты</title>
      <link>https://ubiklab.net/posts/principy-zhizn-i-rabota-part2/</link>
      <pubDate>Sun, 08 Oct 2023 11:11:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/principy-zhizn-i-rabota-part2/</guid>
      <description>Мы часто теряем из виду цели, сфокусировавшись на повседневных задачах и удовлетворении желаний. Важно не путать понятия «цель» и «желание». Сиюминутные желания, как правило, противоречат долгосрочным целям.</description>
    </item>
    
    <item>
      <title>Основы Распределенных Систем. Часть 1</title>
      <link>https://ubiklab.net/posts/fundamentals-of-distributed-systems-part1/</link>
      <pubDate>Sat, 07 Oct 2023 13:32:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/fundamentals-of-distributed-systems-part1/</guid>
      <description>Распределенная система состоит из множества компонентов, возможно, находящихся на разных географических границах, которые взаимодействуют и координируют свои действия посредством передачи сообщений.</description>
    </item>
    
    <item>
      <title>Принципы. Жизнь и работа. Рэй Далио.</title>
      <link>https://ubiklab.net/posts/principy-zhizn-i-rabota-part1/</link>
      <pubDate>Tue, 03 Oct 2023 21:11:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/principy-zhizn-i-rabota-part1/</guid>
      <description>Жизненные и управленческие принципы Рэя Далио, одного из самых влиятельных и богатых людей планеты, и история его детища — крупнейшего в мире хедж-фонда Bridgewater.</description>
    </item>
    
    <item>
      <title>Философия стоицизма для XXI века. Стоическая Медитация</title>
      <link>https://ubiklab.net/posts/stoicism-joy-of-life-part5/</link>
      <pubDate>Fri, 29 Sep 2023 11:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/stoicism-joy-of-life-part5/</guid>
      <description>Конспект одной из лучших современных книг о философии стоицизма от Уильяма Ирвина &amp;#34;Радость жизни&amp;#34;. В этой части о практике стоической медитации.</description>
    </item>
    
    <item>
      <title>Gossip Protocol. Часть 2</title>
      <link>https://ubiklab.net/posts/gossip-protocol-part2/</link>
      <pubDate>Thu, 28 Sep 2023 18:12:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/gossip-protocol-part2/</guid>
      <description>Gossip (сплетник) — это группа протоколов в одноранговой компьютерной коммуникации, в которых распространение информации идёт способом, схожим с образом распространения эпидемий, и сводящимся к тому, что каждый или некоторые из узлов могут передавать обновляемые данные известным этому узлу соседям.</description>
    </item>
    
    <item>
      <title>Поток. Психология оптимального переживания</title>
      <link>https://ubiklab.net/posts/flow/</link>
      <pubDate>Wed, 27 Sep 2023 13:21:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/flow/</guid>
      <description>В 1990 году Чиксентмихайи выпустил книгу «Поток: Психология оптимального переживания». В ней он изложил теорию о том, что люди чувствуют себя наиболее счастливыми в состоянии «потока» — когда они полностью сконцентрированы или поглощены тем, что делают.</description>
    </item>
    
    <item>
      <title>Gossip Protocol. Часть 1</title>
      <link>https://ubiklab.net/posts/gossip-protocol-part1/</link>
      <pubDate>Mon, 25 Sep 2023 13:22:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/gossip-protocol-part1/</guid>
      <description>Gossip (сплетник) — это группа протоколов в одноранговой компьютерной коммуникации, в которых распространение информации идёт способом, схожим с образом распространения эпидемий, и сводящимся к тому, что каждый или некоторые из узлов могут передавать обновляемые данные известным этому узлу соседям.</description>
    </item>
    
    <item>
      <title>Нагоми здоровья</title>
      <link>https://ubiklab.net/posts/the-way-of-nagomi-part3/</link>
      <pubDate>Sat, 23 Sep 2023 11:31:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-way-of-nagomi-part3/</guid>
      <description>Японская философия счастья, спокойствия и гармонии. Нагоми здоровья.</description>
    </item>
    
    <item>
      <title>Японский путь к счастью, здоровью и благополучию. Нагоми личности</title>
      <link>https://ubiklab.net/posts/the-way-of-nagomi-part2/</link>
      <pubDate>Fri, 22 Sep 2023 14:22:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-way-of-nagomi-part2/</guid>
      <description>Научиться принимать другого в его непохожести на тебя самого – это принцип нагоми в действии</description>
    </item>
    
    <item>
      <title>Нагоми. Японский путь к счастью, здоровью и благополучию</title>
      <link>https://ubiklab.net/posts/the-way-of-nagomi-part1/</link>
      <pubDate>Thu, 21 Sep 2023 17:38:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-way-of-nagomi-part1/</guid>
      <description>Японская философия счастья, спокойствия и гармонии. В этой части: Путь нагоми; Философия питания в Японии.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Конкурентные операции</title>
      <link>https://ubiklab.net/posts/designing-applications-replication-part3/</link>
      <pubDate>Tue, 19 Sep 2023 06:22:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-replication-part3/</guid>
      <description>Заметки из книги Клеппмана &amp;#34;Высоконагруженные приложения&amp;#34;. Конкурентный доступ, время и относительность. Почему хорошо когда B причинно-следственно зависит от A. Зачем нужны векторы версий.</description>
    </item>
    
    <item>
      <title>Философия стоицизма для XXI века. Самоотречение. Или Дофаминовый Детокс</title>
      <link>https://ubiklab.net/posts/stoicism-joy-of-life-part4/</link>
      <pubDate>Mon, 18 Sep 2023 15:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/stoicism-joy-of-life-part4/</guid>
      <description>Конспект одной из лучших современных книг о философии стоицизма от Уильяма Ирвина &amp;#34;Радость жизни&amp;#34;. В этой части о Самоотречении. Сейчас подобные практики иногда называют дофаминовый детокс.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Репликация с несколькими ведущими узлами</title>
      <link>https://ubiklab.net/posts/designing-applications-replication-part2/</link>
      <pubDate>Sat, 16 Sep 2023 11:01:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-replication-part2/</guid>
      <description>Заметки из книги Клеппмана &amp;#34;Высоконагруженные приложения&amp;#34;. Репликация с несколькими ведущими узлами и репликация без ведущих узлов. Зачем такой подход нужен и какие сложности несет;  Обнуружение и исправление конфликтов; Как собрать кворум и чем он поможет.</description>
    </item>
    
    <item>
      <title>Философия стоицизма для XXI века. Фатализм</title>
      <link>https://ubiklab.net/posts/stoicism-joy-of-life-part3/</link>
      <pubDate>Tue, 12 Sep 2023 10:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/stoicism-joy-of-life-part3/</guid>
      <description>Конспект одной из лучших современных книг о философии стоицизма от Уильяма Ирвина &amp;#34;Радость жизни&amp;#34;. В этой части о Фатализме.</description>
    </item>
    
    <item>
      <title>Симметричное Шифрование</title>
      <link>https://ubiklab.net/posts/symmetric-encryption/</link>
      <pubDate>Sun, 10 Sep 2023 05:33:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/symmetric-encryption/</guid>
      <description>Разберемся, что такое симметричное шифрование; чем отличаются блочные шифры от потоковых; зачем нужен вектор иницилизации(IV); какие бывают режимы работы шифра; что делать с последним блоком.</description>
    </item>
    
    <item>
      <title>Философия стоицизма для XXI века. Дихотомия контроля</title>
      <link>https://ubiklab.net/posts/stoicism-joy-of-life-part2/</link>
      <pubDate>Sat, 09 Sep 2023 06:44:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/stoicism-joy-of-life-part2/</guid>
      <description>Конспект одной из лучших современных книг о философии стоицизма от Уильяма Ирвина &amp;#34;Радость жизни&amp;#34;. В этой части о Дихотомии контроля.</description>
    </item>
    
    <item>
      <title>Распределенные данные. Репликация</title>
      <link>https://ubiklab.net/posts/designing-applications-replication-part1/</link>
      <pubDate>Thu, 07 Sep 2023 11:44:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-applications-replication-part1/</guid>
      <description>Заметки из книги Клеппмана &amp;#34;Высоконагруженные приложения&amp;#34;. Зачем нужно распределять данные по разным нодам или даже ЦОДам; Чем отличается синхронная и асинхронная репликация; Как можно организовать реплкацию ведущего и ведомаго узла; Какие анамалии возможны при асинхронной репликации и какие гарантии можно дать.</description>
    </item>
    
    <item>
      <title>Управление с помощью стимулов</title>
      <link>https://ubiklab.net/posts/dont-shoot-the-dog-part3/</link>
      <pubDate>Tue, 05 Sep 2023 09:01:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/dont-shoot-the-dog-part3/</guid>
      <description>Карен Прайор: Не рычите на собаку! Книга о дрессировке людей, животных и самого себя. Третья часть Управление с помощью стимулов.</description>
    </item>
    
    <item>
      <title>Выработка нужного поведения</title>
      <link>https://ubiklab.net/posts/dont-shoot-the-dog-part2/</link>
      <pubDate>Mon, 04 Sep 2023 08:43:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/dont-shoot-the-dog-part2/</guid>
      <description>Карен Прайор: Не рычите на собаку! Книга о дрессировке людей, животных и самого себя. Вторая часть Выработка нужного поведения.</description>
    </item>
    
    <item>
      <title>Что такое подкрепление</title>
      <link>https://ubiklab.net/posts/dont-shoot-the-dog-part1/</link>
      <pubDate>Sat, 02 Sep 2023 15:18:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/dont-shoot-the-dog-part1/</guid>
      <description>Карен Прайор: Не рычите на собаку! Книга о дрессировке людей, животных и самого себя. Первая часть о подкреплении.</description>
    </item>
    
    <item>
      <title>Философия стоицизма для XXI века. Негативная Визуализация</title>
      <link>https://ubiklab.net/posts/stoicism-joy-of-life-part1/</link>
      <pubDate>Thu, 31 Aug 2023 07:26:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/stoicism-joy-of-life-part1/</guid>
      <description>Конспект одной из лучших современных книг о философии стоицизма от Уильяма Ирвина &amp;#34;Радость жизни&amp;#34;. В этой части описан метод Негативной Визуализации.</description>
    </item>
    
    <item>
      <title>Сила Воли. Как развить и укрепить. Келли Макгонигал</title>
      <link>https://ubiklab.net/posts/willpower-instinct/</link>
      <pubDate>Mon, 28 Aug 2023 11:05:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/willpower-instinct/</guid>
      <description>Конспект книги Келли Макгонигал Сила Воли. Самоконтроль — это вопрос не только психологии, но и физиологии. Понятным языком описаны проблемы самообладания и причины снижения возможности силы воли. Даны практические шаги для развития способности отслеживать свои действия и развивать свою волю.</description>
    </item>
    
    <item>
      <title>Linux. Основные команды</title>
      <link>https://ubiklab.net/posts/linux-basic-commands-part1/</link>
      <pubDate>Sat, 26 Aug 2023 12:39:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/linux-basic-commands-part1/</guid>
      <description>Заметки о работе с основными командами в Linux. Все эти команды так или иначе работают с вводом/выводом и каналами. Поиск и манипуляция с текстом. grep, find, aws, sed, wc, ls, sort, head, tail, cut, past, uniq, date, seq, tac, diff, tr, rev</description>
    </item>
    
    <item>
      <title>Linux. Shell And Environment</title>
      <link>https://ubiklab.net/posts/linux-shell-and-environment/</link>
      <pubDate>Thu, 24 Aug 2023 11:01:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/linux-shell-and-environment/</guid>
      <description>Заметки про shell aka оболочка, environment aka окружение и его настройка, а также запуск дочерних процессов.</description>
    </item>
    
    <item>
      <title>Пять пороков команды. Патрик Ленсиони</title>
      <link>https://ubiklab.net/posts/pyat-porokov-komandy/</link>
      <pubDate>Mon, 22 Aug 2022 12:21:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/pyat-porokov-komandy/</guid>
      <description>Не финансы. Не стратегии. Не технологии. Командный дух остается главным конкурентным преимуществом, потому что это большая редкость.</description>
    </item>
    
    <item>
      <title>Алгебраические Типы Данных</title>
      <link>https://ubiklab.net/posts/algebraic-data-types/</link>
      <pubDate>Wed, 27 Jul 2022 22:22:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/algebraic-data-types/</guid>
      <description>Сделаем из простых типов другие, составные и более сложные. Это и будут алгебраические типы данных.</description>
    </item>
    
    <item>
      <title>Go Patterns. Circuit Breaker</title>
      <link>https://ubiklab.net/posts/go-patterns-circuit-breaker/</link>
      <pubDate>Tue, 14 Jul 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-patterns-circuit-breaker/</guid>
      <description>Circuit Breaker предотвращает попытки приложения выполнить операцию, которая скорее всего завершится неудачно, что позволяет продолжить работу дальше не тратя важные ресурсы, пока известно, что проблема не устранена.</description>
    </item>
    
    <item>
      <title>Go Patterns. Retry</title>
      <link>https://ubiklab.net/posts/go-patterns-retry/</link>
      <pubDate>Wed, 20 May 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-patterns-retry/</guid>
      <description>Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки.</description>
    </item>
    
    <item>
      <title>Fitness Functions</title>
      <link>https://ubiklab.net/posts/fitness-functions/</link>
      <pubDate>Thu, 14 May 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/fitness-functions/</guid>
      <description>Чем раньше будет обнаружена проблема, тем меньше усилий потребуется для ее разрешения</description>
    </item>
    
    <item>
      <title>Goroutine Leaks</title>
      <link>https://ubiklab.net/posts/goroutine-leaks/</link>
      <pubDate>Thu, 23 Apr 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/goroutine-leaks/</guid>
      <description>Рассмотрим несколько примером Goroutine Leaks</description>
    </item>
    
    <item>
      <title>Безопасная Работа с Каналами в Go</title>
      <link>https://ubiklab.net/posts/data-protected-by-confinement/</link>
      <pubDate>Thu, 02 Apr 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/data-protected-by-confinement/</guid>
      <description>При работе с параллельным кодом существует несколько различных вариантов безопасной работы</description>
    </item>
    
    <item>
      <title>Примитивы Синхронизации в Go</title>
      <link>https://ubiklab.net/posts/synchronization-primitives-go/</link>
      <pubDate>Sun, 09 Feb 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/synchronization-primitives-go/</guid>
      <description>Пакет sync содержит примитивы, которые наиболее полезны для низкоуровневой синхронизации доступа к памяти.</description>
    </item>
    
    <item>
      <title>Deadlocks, Livelocks и Starvation</title>
      <link>https://ubiklab.net/posts/deadlocks-livelocks-starvation/</link>
      <pubDate>Fri, 17 Jan 2020 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/deadlocks-livelocks-starvation/</guid>
      <description>В 1965 году Эдсгер Дейкстра сформулировал задачу об обедающих философах. Задача была иллюстрацией проблем синхронизации при разработке параллельных алгоритмов и техник решения этих проблем.</description>
    </item>
    
    <item>
      <title>Low Coupling и High Cohesion</title>
      <link>https://ubiklab.net/posts/low-coupling-high-cohesion/</link>
      <pubDate>Tue, 24 Sep 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/low-coupling-high-cohesion/</guid>
      <description>Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач.</description>
    </item>
    
    <item>
      <title>Распределенные Системы. Брендан Бёрнс. Паттерны проектирования обслуживающих систем</title>
      <link>https://ubiklab.net/posts/designing-distributed-systems-serving-patterns/</link>
      <pubDate>Sun, 22 Sep 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-distributed-systems-serving-patterns/</guid>
      <description>Шардинг и репликация</description>
    </item>
    
    <item>
      <title>Распределенные Системы. Брендан Бёрнс. Одноузловые паттерны проектирования</title>
      <link>https://ubiklab.net/posts/designing-distributed-systems-single-node-patterns/</link>
      <pubDate>Thu, 29 Aug 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-distributed-systems-single-node-patterns/</guid>
      <description>Контейнеры — основной строительный элемент паттернов, но в конечном итоге именно группа контейнеров, локализованная на одной машине, представляет собой базовый элемент паттернов проектирования распределенных систем.</description>
    </item>
    
    <item>
      <title>Распределенные Системы. Брендан Бёрнс. Введение</title>
      <link>https://ubiklab.net/posts/designing-distributed-systems-introduction/</link>
      <pubDate>Sun, 25 Aug 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/designing-distributed-systems-introduction/</guid>
      <description>Брендан Бёрнс излагает в своей книге абсолютный минимум, необходимый для правильного проектирования распределенных систем.</description>
    </item>
    
    <item>
      <title>Race Condition и Data Race</title>
      <link>https://ubiklab.net/posts/race-condition-and-data-race/</link>
      <pubDate>Wed, 10 Jul 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/race-condition-and-data-race/</guid>
      <description>Race condition и data race — две разные проблемы многопоточности, которые часто путают. Попробуем разобраться.</description>
    </item>
    
    <item>
      <title>Выравнивание И Заполнение Структур</title>
      <link>https://ubiklab.net/posts/go-alignment/</link>
      <pubDate>Mon, 13 May 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-alignment/</guid>
      <description>Разбираемся с такими понятиями, как: type alignment guarantees, type sizes и structure padding.</description>
    </item>
    
    <item>
      <title>Паттерны Проектирования На Go. Functional Options.</title>
      <link>https://ubiklab.net/posts/go-functional-options/</link>
      <pubDate>Mon, 22 Apr 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-functional-options/</guid>
      <description>Проектирование — это почти всегда не просто. Чаще всего это задача нахождения компромиссов.</description>
    </item>
    
    <item>
      <title>Паттерны Проектирования На Go. Observer.</title>
      <link>https://ubiklab.net/posts/go-observer/</link>
      <pubDate>Wed, 27 Mar 2019 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-observer/</guid>
      <description>Существует как минимум два способа общения между двумя программными компонентами.</description>
    </item>
    
    <item>
      <title>Закон Амдала</title>
      <link>https://ubiklab.net/posts/amdahls-law/</link>
      <pubDate>Mon, 12 Nov 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/amdahls-law/</guid>
      <description>С точки зрения параллелизма, как пути для повышения эффективности вычислений, существует две крайности.</description>
    </item>
    
    <item>
      <title>Method sets в Go</title>
      <link>https://ubiklab.net/posts/method-sets-in-go/</link>
      <pubDate>Tue, 16 Oct 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/method-sets-in-go/</guid>
      <description>Набор методов которые являются интерфейсом данного типа.</description>
    </item>
    
    <item>
      <title>Паттерны Проектирования На Go. Singleton</title>
      <link>https://ubiklab.net/posts/go-singleton/</link>
      <pubDate>Wed, 10 Oct 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/go-singleton/</guid>
      <description>Рассмотрим простой и вообщем-то спорный шаблон Singleton. Его “потокобезопасную” версию и общие подходы к решению таких задач.</description>
    </item>
    
    <item>
      <title>Embedding В Go</title>
      <link>https://ubiklab.net/posts/embedding-in-go/</link>
      <pubDate>Thu, 04 Oct 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/embedding-in-go/</guid>
      <description>Go предлагает механизм встраивания(embedding) в качестве альтернативы механизму наследования в традиционных объектно-ориентированных языках программирования.</description>
    </item>
    
    <item>
      <title>Записная книжка мистера Томпкинса</title>
      <link>https://ubiklab.net/posts/deadline-novel-about-project-management/</link>
      <pubDate>Fri, 28 Sep 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/deadline-novel-about-project-management/</guid>
      <description>Заметки о роман об управлении проектами Тома ДеМарко Deadline.</description>
    </item>
    
    <item>
      <title>Error Handling in Go</title>
      <link>https://ubiklab.net/posts/error-handling-in-go/</link>
      <pubDate>Tue, 18 Sep 2018 17:42:00 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/error-handling-in-go/</guid>
      <description>В то время, как обсуждается возможный новый дизайн обработки ошибок и ведутся споры о преимуществах явной обработки ошибок, предлагаю рассмотреть некоторые особенности ошибок, паник и их восстановления в Go, которые будут полезны на практике.</description>
    </item>
    
    <item>
      <title>The Twelve-Factor App</title>
      <link>https://ubiklab.net/posts/the-twelve-factor-app/</link>
      <pubDate>Tue, 17 Jul 2018 22:22:22 +0300</pubDate>
      
      <guid>https://ubiklab.net/posts/the-twelve-factor-app/</guid>
      <description>Парни из Heroku предложили набор общих концептуальных решений проблем, которые наиболее часто возникают при разработке и поддержки веб-приложений.</description>
    </item>
    
    
    <item>
      <title>Спасибо за вашу поддержку!</title>
      <link>https://ubiklab.net/donate/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ubiklab.net/donate/</guid>
      <description>https://boosty.to/german.gorelkin</description>
    </item>
    
  </channel>
</rss>
