HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Шаблоны проектирования для баз данных</a></li>
1 <ul><li><a>Шаблоны проектирования для баз данных</a></li>
2 <li><a>Что такое теория ограничений и как она помогает улучшать процессы разработки продуктов?</a></li>
2 <li><a>Что такое теория ограничений и как она помогает улучшать процессы разработки продуктов?</a></li>
3 <li><a>ЦОД: топологии и архитектуры</a></li>
3 <li><a>ЦОД: топологии и архитектуры</a></li>
4 <li><a>Архитектура и реализация виртуальной машины CPython</a></li>
4 <li><a>Архитектура и реализация виртуальной машины CPython</a></li>
5 <li><a>Узнаем, что делал пользователь через дамп реестра</a></li>
5 <li><a>Узнаем, что делал пользователь через дамп реестра</a></li>
6 <li><a>Регулярные выражения в SQL</a></li>
6 <li><a>Регулярные выражения в SQL</a></li>
7 <li><a>База, которую нужно знать про JSON Schema</a></li>
7 <li><a>База, которую нужно знать про JSON Schema</a></li>
8 <li><a>Как поднять свой WebSocket сервер на Node.js: основы</a></li>
8 <li><a>Как поднять свой WebSocket сервер на Node.js: основы</a></li>
9 <li><a>Автономный картографический сервер с питанием от USB</a></li>
9 <li><a>Автономный картографический сервер с питанием от USB</a></li>
10 <li><a>Всё, что вы хотели знать о Django Channels</a></li>
10 <li><a>Всё, что вы хотели знать о Django Channels</a></li>
11 <li><a>Как и зачем использовать Template Method в C#</a></li>
11 <li><a>Как и зачем использовать Template Method в C#</a></li>
12 <li><a>Sidecar на Go: позволь другому заниматься твоими проблемами</a></li>
12 <li><a>Sidecar на Go: позволь другому заниматься твоими проблемами</a></li>
13 <li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
13 <li><a>Расширенная шпаргалка по корутинам Kotlin</a></li>
14 <li><a>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</a></li>
14 <li><a>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</a></li>
15 <li><a>Коротко о SLAB, SLOB и SLYB в Linux</a></li>
15 <li><a>Коротко о SLAB, SLOB и SLYB в Linux</a></li>
16 <li><a>Разбираемся с мандатным управлением доступом в Астра Линукс</a></li>
16 <li><a>Разбираемся с мандатным управлением доступом в Астра Линукс</a></li>
17 <li><a>Grafana Stack: закрываем все современные потребности Observability</a></li>
17 <li><a>Grafana Stack: закрываем все современные потребности Observability</a></li>
18 </ul><h2>Шаблоны проектирования для баз данных</h2>
18 </ul><h2>Шаблоны проектирования для баз данных</h2>
19 <p>Существуют различные шаблоны проектирования облачных сервисов. Про тот же Sidecar или Ambassador, я думаю, слышали многие. Шаблоны предназначены для решения определенных задач и те два шаблона, о которых речь пойдет в сегодняшней статье, тоже нужны для конкретной задачи - работы с базами данных.</p>
19 <p>Существуют различные шаблоны проектирования облачных сервисов. Про тот же Sidecar или Ambassador, я думаю, слышали многие. Шаблоны предназначены для решения определенных задач и те два шаблона, о которых речь пойдет в сегодняшней статье, тоже нужны для конкретной задачи - работы с базами данных.</p>
20 <p>СУБД является неотъемлемой частью хоть сколько‑нибудь серьезного современного приложения. Соответственно, при проектировании приложения может возникнуть вопрос, как лучше сервисам взаимодействовать с базой данных: предоставляя общий доступ к одной базе или же у каждого микросервиса должна быть своя база данных. Мы рассмотрим два шаблона, предназначенных для решения данной задачи - это Shared database и Database per Microservice. Начнем с Shared database.</p>
20 <p>СУБД является неотъемлемой частью хоть сколько‑нибудь серьезного современного приложения. Соответственно, при проектировании приложения может возникнуть вопрос, как лучше сервисам взаимодействовать с базой данных: предоставляя общий доступ к одной базе или же у каждого микросервиса должна быть своя база данных. Мы рассмотрим два шаблона, предназначенных для решения данной задачи - это Shared database и Database per Microservice. Начнем с Shared database.</p>
21 <p><a>Читать далее</a></p>
21 <p><a>Читать далее</a></p>
22 <h2>Что такое теория ограничений и как она помогает улучшать процессы разработки продуктов?</h2>
22 <h2>Что такое теория ограничений и как она помогает улучшать процессы разработки продуктов?</h2>
23 <p><strong>Теория ограничений (ТОС)</strong> - это управленческая методология, предложенная Элияху Голдраттом в 1984 году в его книге <em>"Цель</em>". Она базируется на простом, но мощном принципе: любая система, будь то производство, бизнес-процесс или команда разработки, всегда ограничена одним или несколькими узкими местами. Эти ограничения или "бутылочные горлышки" сдерживают общую эффективность системы и являются теми ключевыми элементами, которые необходимо обнаружить и устранить для значительных улучшений.</p>
23 <p><strong>Теория ограничений (ТОС)</strong> - это управленческая методология, предложенная Элияху Голдраттом в 1984 году в его книге <em>"Цель</em>". Она базируется на простом, но мощном принципе: любая система, будь то производство, бизнес-процесс или команда разработки, всегда ограничена одним или несколькими узкими местами. Эти ограничения или "бутылочные горлышки" сдерживают общую эффективность системы и являются теми ключевыми элементами, которые необходимо обнаружить и устранить для значительных улучшений.</p>
24 <p>В условиях разработки продуктов, где скорость поставки, качество и удовлетворение клиентов критически важны, применение теории ограничений может привести к существенным улучшениям процессов и результатов. Давайте рассмотрим, как ТОС работает на практике и каким образом она может помочь командам разработки.</p>
24 <p>В условиях разработки продуктов, где скорость поставки, качество и удовлетворение клиентов критически важны, применение теории ограничений может привести к существенным улучшениям процессов и результатов. Давайте рассмотрим, как ТОС работает на практике и каким образом она может помочь командам разработки.</p>
25 <p><a>Читать далее</a></p>
25 <p><a>Читать далее</a></p>
26 <h2>ЦОД: топологии и архитектуры</h2>
26 <h2>ЦОД: топологии и архитектуры</h2>
27 <p>Центры Обработки Данных, как правило, представляют собой здания с помещениями достаточно большого размера, в которых размещаются бесконечные шкафы с серверами, коммуникационным оборудованием, системами хранения и прочими инфраструктурными элементами. И порой крайне сложно разобраться, как взаимодействует между собой все это техническое многообразие. В этой статье мы поговорим о топологии и архитектуре сетей ЦОД.</p>
27 <p>Центры Обработки Данных, как правило, представляют собой здания с помещениями достаточно большого размера, в которых размещаются бесконечные шкафы с серверами, коммуникационным оборудованием, системами хранения и прочими инфраструктурными элементами. И порой крайне сложно разобраться, как взаимодействует между собой все это техническое многообразие. В этой статье мы поговорим о топологии и архитектуре сетей ЦОД.</p>
28 <p>Сетевая архитектура центра обработки данных должна обеспечивать баланс между надежностью, производительностью, гибкостью, масштабируемостью и стоимостью. При этом, она также должна поддерживать как текущие, так и будущие приложения и иметь запас мощности, который может потребоваться для развертывания новых приложений.</p>
28 <p>Сетевая архитектура центра обработки данных должна обеспечивать баланс между надежностью, производительностью, гибкостью, масштабируемостью и стоимостью. При этом, она также должна поддерживать как текущие, так и будущие приложения и иметь запас мощности, который может потребоваться для развертывания новых приложений.</p>
29 <p>Для начала поговорим о том, какие топологии могут использоваться в сетях ЦОД.</p>
29 <p>Для начала поговорим о том, какие топологии могут использоваться в сетях ЦОД.</p>
30 <p><a>Читать далее</a></p>
30 <p><a>Читать далее</a></p>
31 <h2>Архитектура и реализация виртуальной машины CPython</h2>
31 <h2>Архитектура и реализация виртуальной машины CPython</h2>
32 <p>Для любого языка программирования, компилируемого в байт-код, самой интересной частью его реализации является виртуальная машина (также называемая интерпретатором байт-кода), где и происходит выполнение этого байт-кода. Поскольку это ключевой элемент работы языка, его реализация должна быть высокопроизводительной. Даже если вы не являетесь разработчиком компиляторов, изучение этих механизмов может дать новые идеи для оптимизации производительности. А если вы работаете с компиляторами, то вам всегда полезно изучать, как реализованы другие языки - чтобы почерпнуть детали, которые ранее могли быть вам неизвестны.</p>
32 <p>Для любого языка программирования, компилируемого в байт-код, самой интересной частью его реализации является виртуальная машина (также называемая интерпретатором байт-кода), где и происходит выполнение этого байт-кода. Поскольку это ключевой элемент работы языка, его реализация должна быть высокопроизводительной. Даже если вы не являетесь разработчиком компиляторов, изучение этих механизмов может дать новые идеи для оптимизации производительности. А если вы работаете с компиляторами, то вам всегда полезно изучать, как реализованы другие языки - чтобы почерпнуть детали, которые ранее могли быть вам неизвестны.</p>
33 <p>В этой статье мы рассмотрим формат инструкций байт-кода в CPython, а также реализацию цикла его интерпретации, в котором происходит выполнение байт-кода.</p>
33 <p>В этой статье мы рассмотрим формат инструкций байт-кода в CPython, а также реализацию цикла его интерпретации, в котором происходит выполнение байт-кода.</p>
34 <p><a>Читать далее</a></p>
34 <p><a>Читать далее</a></p>
35 <h2>Узнаем, что делал пользователь через дамп реестра</h2>
35 <h2>Узнаем, что делал пользователь через дамп реестра</h2>
36 <p>При расследовании компьютерных инцидентов одним из важнейших действий является сбор улик. Так, нам очень важно иметь дамп оперативной памяти, потому что из него можно получить информацию о том, какие процессы были запущены в системе, и, например, можно выделить и сделать дамп процессов, созданных вредоносом для последующего анализа данного дампа.</p>
36 <p>При расследовании компьютерных инцидентов одним из важнейших действий является сбор улик. Так, нам очень важно иметь дамп оперативной памяти, потому что из него можно получить информацию о том, какие процессы были запущены в системе, и, например, можно выделить и сделать дамп процессов, созданных вредоносом для последующего анализа данного дампа.</p>
37 <p>Также большое значение имеет информация о том, какие приложения запускал пользователь, какие документы открывал в офисных программах, какие сетевые соединения он устанавливал со сторонним ресурсами по таким протоколам, как RDP и SSH. И помочь в решении этих и аналогичных задач нам может реестр Windows.</p>
37 <p>Также большое значение имеет информация о том, какие приложения запускал пользователь, какие документы открывал в офисных программах, какие сетевые соединения он устанавливал со сторонним ресурсами по таким протоколам, как RDP и SSH. И помочь в решении этих и аналогичных задач нам может реестр Windows.</p>
38 <p><a>Читать далее</a></p>
38 <p><a>Читать далее</a></p>
39 <h2>Регулярные выражения в SQL</h2>
39 <h2>Регулярные выражения в SQL</h2>
40 <p>Представьте, что вам нужно найти иголку в стоге сена, но стог - это ваша БД, а иголка - данные со сложным шаблоном. Дефолтные операторы LIKE и IN тут не помогут - слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.</p>
40 <p>Представьте, что вам нужно найти иголку в стоге сена, но стог - это ваша БД, а иголка - данные со сложным шаблоном. Дефолтные операторы LIKE и IN тут не помогут - слишком уж они прямолинейны. Но зато здесь отлично зайдут регулярные выражения, которые позволяют выполнять сложные поиски и преобразования строк.</p>
41 <p><a>Читать далее</a></p>
41 <p><a>Читать далее</a></p>
42 <h2>База, которую нужно знать про JSON Schema</h2>
42 <h2>База, которую нужно знать про JSON Schema</h2>
43 <p>Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой - JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.</p>
43 <p>Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой - JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.</p>
44 <p><a>Читать далее</a></p>
44 <p><a>Читать далее</a></p>
45 <h2>Как поднять свой WebSocket сервер на Node.js: основы</h2>
45 <h2>Как поднять свой WebSocket сервер на Node.js: основы</h2>
46 <p>Сегодня создадим свой WebSocket сервер на Node.js. Это тот самый протокол, который позволяет отправлять и принимать данные в реальном времени без перекладывания на HTTP. Для этого мы будем использовать библиотеку ws.</p>
46 <p>Сегодня создадим свой WebSocket сервер на Node.js. Это тот самый протокол, который позволяет отправлять и принимать данные в реальном времени без перекладывания на HTTP. Для этого мы будем использовать библиотеку ws.</p>
47 <p><a>Читать далее</a></p>
47 <p><a>Читать далее</a></p>
48 <h2>Автономный картографический сервер с питанием от USB</h2>
48 <h2>Автономный картографический сервер с питанием от USB</h2>
49 <p>Представьте себе: вы только что добрались до начала тропы, за многие километры от цивилизации, а приложение с картами на вашем смартфоне решило, что самое время уйти в оффлайн-режим. Статус приложения? Отключено. Обновления? Забудьте об этом. Память? Заполнена. Добро пожаловать на дикую природу, где ваш телефон потерян больше, чем вы сами.</p>
49 <p>Представьте себе: вы только что добрались до начала тропы, за многие километры от цивилизации, а приложение с картами на вашем смартфоне решило, что самое время уйти в оффлайн-режим. Статус приложения? Отключено. Обновления? Забудьте об этом. Память? Заполнена. Добро пожаловать на дикую природу, где ваш телефон потерян больше, чем вы сами.</p>
50 <p>Здесь на помощь приходит Backcountry Beacon - устройство с открытым исходным кодом, которое не зависит от Wi-Fi. В него предустановлены детализированные топографические карты USGS, которые не требуют обновлений; он оснащён надёжным GPS, точно определяющим ваше местоположение; а ещё он работает как простой файловый сервер, где можно хранить всё, что может понадобиться в походе, - будь то руководства по узлам, справочники растений или даже аудиокниги классиков-натуралистов, которые действительно знали своё дело.</p>
50 <p>Здесь на помощь приходит Backcountry Beacon - устройство с открытым исходным кодом, которое не зависит от Wi-Fi. В него предустановлены детализированные топографические карты USGS, которые не требуют обновлений; он оснащён надёжным GPS, точно определяющим ваше местоположение; а ещё он работает как простой файловый сервер, где можно хранить всё, что может понадобиться в походе, - будь то руководства по узлам, справочники растений или даже аудиокниги классиков-натуралистов, которые действительно знали своё дело.</p>
51 <p><a>Читать далее</a></p>
51 <p><a>Читать далее</a></p>
52 <h2>Всё, что вы хотели знать о Django Channels</h2>
52 <h2>Всё, что вы хотели знать о Django Channels</h2>
53 <p>Когда я впервые начал работать с Django, меня всё устраивало, за исключением одного момента: как сделать так, чтобы приложение могло общаться с пользователем в реальном времени? Веб-сокеты, уведомления, асинхронные запросы - казалось, это точно не про чистый Django. Но затем я наткнулся на Django Channels, и многое изменилось. Channels позволили мне сделать приложение асинхронным, добавить поддержку веб-сокетов и превратить его во что-то гораздо более крутое.</p>
53 <p>Когда я впервые начал работать с Django, меня всё устраивало, за исключением одного момента: как сделать так, чтобы приложение могло общаться с пользователем в реальном времени? Веб-сокеты, уведомления, асинхронные запросы - казалось, это точно не про чистый Django. Но затем я наткнулся на Django Channels, и многое изменилось. Channels позволили мне сделать приложение асинхронным, добавить поддержку веб-сокетов и превратить его во что-то гораздо более крутое.</p>
54 <p>В этой статье я расскажу, как работать с Django Channels.</p>
54 <p>В этой статье я расскажу, как работать с Django Channels.</p>
55 <p><a>Читать далее</a></p>
55 <p><a>Читать далее</a></p>
56 <h2>Как и зачем использовать Template Method в C#</h2>
56 <h2>Как и зачем использовать Template Method в C#</h2>
57 <p>Template Method (он же "Шаблонный метод") - это паттерн проектирования, который определяет скелет алгоритма в методе, оставляя определенные шаги подклассам. Проще говоря, есть базовый алгоритм, но мы можно менять детали, переопределяя части этого алгоритма в наследниках.</p>
57 <p>Template Method (он же "Шаблонный метод") - это паттерн проектирования, который определяет скелет алгоритма в методе, оставляя определенные шаги подклассам. Проще говоря, есть базовый алгоритм, но мы можно менять детали, переопределяя части этого алгоритма в наследниках.</p>
58 <p>Классический пример - процесс заказа товара в интернет-магазине. Независимо от того, какой у вас магазин, шаги примерно одинаковые: проверка наличия товара, оплата, упаковка и доставка. Но в зависимости от специфики магазина, эти шаги могут отличаться в деталях.</p>
58 <p>Классический пример - процесс заказа товара в интернет-магазине. Независимо от того, какой у вас магазин, шаги примерно одинаковые: проверка наличия товара, оплата, упаковка и доставка. Но в зависимости от специфики магазина, эти шаги могут отличаться в деталях.</p>
59 <p>Template Method позволяет создать базовую структуру этих шагов и менять конкретные реализации без изменения самой структуры. В этой статье мы рассмотрим как реализовать этот паттерн на C#.</p>
59 <p>Template Method позволяет создать базовую структуру этих шагов и менять конкретные реализации без изменения самой структуры. В этой статье мы рассмотрим как реализовать этот паттерн на C#.</p>
60 <p><a>Читать далее</a></p>
60 <p><a>Читать далее</a></p>
61 <h2>Sidecar на Go: позволь другому заниматься твоими проблемами</h2>
61 <h2>Sidecar на Go: позволь другому заниматься твоими проблемами</h2>
62 <p>В распределённых системах каждая служба выполняет свою задачу: одна отвечает за логи, другая за обработку запросов, третья за безопасность. Но не всегда удобно нагружать основной сервис дополнительной логикой. Именно здесь хорошо вписывается <em>Sidecar</em> - отдельный контейнер или процесс, который берёт на себя часть инфраструктурных задач, разгружая основное приложение и позволяя сосредоточиться на главной бизнес-логике.</p>
62 <p>В распределённых системах каждая служба выполняет свою задачу: одна отвечает за логи, другая за обработку запросов, третья за безопасность. Но не всегда удобно нагружать основной сервис дополнительной логикой. Именно здесь хорошо вписывается <em>Sidecar</em> - отдельный контейнер или процесс, который берёт на себя часть инфраструктурных задач, разгружая основное приложение и позволяя сосредоточиться на главной бизнес-логике.</p>
63 <p>Сегодня мы рассмотрим реализацию <em>Sidecar</em> на Golang.</p>
63 <p>Сегодня мы рассмотрим реализацию <em>Sidecar</em> на Golang.</p>
64 <p><a>Читать далее</a></p>
64 <p><a>Читать далее</a></p>
65 <h2>Расширенная шпаргалка по корутинам Kotlin</h2>
65 <h2>Расширенная шпаргалка по корутинам Kotlin</h2>
66 <p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
66 <p>Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.</p>
67 <p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные мной за всё время работы.</p>
67 <p>Эта шпаргалка создана как удобный справочник для сложных сценариев работы с корутинами и содержит ключевые идеи, накопленные мной за всё время работы.</p>
68 <p><a>Читать далее</a></p>
68 <p><a>Читать далее</a></p>
69 <h2>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</h2>
69 <h2>Операции машинного обучения (MLOps) для начинающих: полное внедрение проекта</h2>
70 <p>Разработка, развёртывание и поддержка моделей машинного обучения в продакшене может быть сложной и трудоёмкой задачей. Именно здесь на помощь приходит Machine Learning Operations (MLOps). MLOps - это набор практик, который автоматизирует управление ML-процессами и упрощает развёртывание моделей.</p>
70 <p>Разработка, развёртывание и поддержка моделей машинного обучения в продакшене может быть сложной и трудоёмкой задачей. Именно здесь на помощь приходит Machine Learning Operations (MLOps). MLOps - это набор практик, который автоматизирует управление ML-процессами и упрощает развёртывание моделей.</p>
71 <p>В этой статье я расскажу о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.</p>
71 <p>В этой статье я расскажу о некоторых основных практиках и инструментах MLOps на примере реализации проекта от начала до конца. Это поможет вам эффективнее управлять ML-проектами, начиная с разработки и заканчивая мониторингом в продакшене.</p>
72 <p><a>Читать далее</a></p>
72 <p><a>Читать далее</a></p>
73 <h2>Коротко о SLAB, SLOB и SLYB в Linux</h2>
73 <h2>Коротко о SLAB, SLOB и SLYB в Linux</h2>
74 <p>Когда речь заходит о динамическом управлении памятью в Linux, мы имеем дело с несколькими разными подходами, каждый из которых имеет свои плюсы и минусы.</p>
74 <p>Когда речь заходит о динамическом управлении памятью в Linux, мы имеем дело с несколькими разными подходами, каждый из которых имеет свои плюсы и минусы.</p>
75 <p>В этой статье разберем три аллокатора памяти ядра: SLAB, SLOB, а также SLUB.</p>
75 <p>В этой статье разберем три аллокатора памяти ядра: SLAB, SLOB, а также SLUB.</p>
76 <p><a>Читать далее</a></p>
76 <p><a>Читать далее</a></p>
77 <h2>Разбираемся с мандатным управлением доступом в Астра Линукс</h2>
77 <h2>Разбираемся с мандатным управлением доступом в Астра Линукс</h2>
78 <p>Мандатная модель управления доступом не получила столь широкого распространения в пользовательских операционных системах из-за своей сложности, а также из-за того, что в ней нет большой необходимости при решении задач, не связанных с высоким уровнем конфиденциальности. В этой статье мы попробуем разобраться с тем, что из себя представляет эта модель и как ей пользоваться.</p>
78 <p>Мандатная модель управления доступом не получила столь широкого распространения в пользовательских операционных системах из-за своей сложности, а также из-за того, что в ней нет большой необходимости при решении задач, не связанных с высоким уровнем конфиденциальности. В этой статье мы попробуем разобраться с тем, что из себя представляет эта модель и как ей пользоваться.</p>
79 <p><a>Читать далее</a></p>
79 <p><a>Читать далее</a></p>
80 <h2>Grafana Stack: закрываем все современные потребности Observability</h2>
80 <h2>Grafana Stack: закрываем все современные потребности Observability</h2>
81 <p>Ни одна система не может функционировать без сбоев, всегда могут возникнуть ситуации, когда в работе софта возникают проблемы. И здесь важное значение имеет observability - понятие, включающее в себя мониторинг и наблюдаемость. С помощью мониторинга мы можем определить, когда возникла проблема, а наблюдаемость позволяет нам понять, почему она возникла.</p>
81 <p>Ни одна система не может функционировать без сбоев, всегда могут возникнуть ситуации, когда в работе софта возникают проблемы. И здесь важное значение имеет observability - понятие, включающее в себя мониторинг и наблюдаемость. С помощью мониторинга мы можем определить, когда возникла проблема, а наблюдаемость позволяет нам понять, почему она возникла.</p>
82 <p>В этой статье мы поговорим о том, как можно реализовать observability с помощью сервисов стека Grafana.</p>
82 <p>В этой статье мы поговорим о том, как можно реализовать observability с помощью сервисов стека Grafana.</p>
83 <p><a>Читать далее</a></p>
83 <p><a>Читать далее</a></p>
84 <a></a>
84 <a></a>