HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Безопасное проектирование программного обеспечения: Хеширование и salting</a></li>
1 <ul><li><a>Безопасное проектирование программного обеспечения: Хеширование и salting</a></li>
2 <li><a>Кратко про основные техники кеширования в браузере</a></li>
2 <li><a>Кратко про основные техники кеширования в браузере</a></li>
3 <li><a>Микросервисы с Go-Micro на примере</a></li>
3 <li><a>Микросервисы с Go-Micro на примере</a></li>
4 <li><a>Шаблоны проектирования облачных сервисов</a></li>
4 <li><a>Шаблоны проектирования облачных сервисов</a></li>
5 <li><a>Проектирование безопасного программного обеспечения с учетом целостности</a></li>
5 <li><a>Проектирование безопасного программного обеспечения с учетом целостности</a></li>
6 <li><a>Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование</a></li>
6 <li><a>Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование</a></li>
7 <li><a>Проектирование DWH с помощью Data Vault</a></li>
7 <li><a>Проектирование DWH с помощью Data Vault</a></li>
8 <li><a>Реализация принципа единственной ответственности на Python</a></li>
8 <li><a>Реализация принципа единственной ответственности на Python</a></li>
9 <li><a>Может ли искусственный интеллект работать архитектором 1С</a></li>
9 <li><a>Может ли искусственный интеллект работать архитектором 1С</a></li>
10 <li><a>Кратко про микросервисы на Scala и Erlang</a></li>
10 <li><a>Кратко про микросервисы на Scala и Erlang</a></li>
11 <li><a>Пример дивергентного мышления ИИ при использовании 1С запрос copilot</a></li>
11 <li><a>Пример дивергентного мышления ИИ при использовании 1С запрос copilot</a></li>
12 <li><a>Клеточная архитектура</a></li>
12 <li><a>Клеточная архитектура</a></li>
13 <li><a>Кратко про библиотеку Axum в Rust</a></li>
13 <li><a>Кратко про библиотеку Axum в Rust</a></li>
14 <li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
14 <li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
15 <li><a>Proof of Work и Proof of Stake для чайников</a></li>
15 <li><a>Proof of Work и Proof of Stake для чайников</a></li>
16 <li><a>Обзор библиотеки Go Kit</a></li>
16 <li><a>Обзор библиотеки Go Kit</a></li>
17 </ul><p><em>Статья дополнена и обновлена 25.07.2024</em></p>
17 </ul><p><em>Статья дополнена и обновлена 25.07.2024</em></p>
18 <h2>Безопасное проектирование программного обеспечения: Хеширование и salting</h2>
18 <h2>Безопасное проектирование программного обеспечения: Хеширование и salting</h2>
19 <p>В современном цифровом мире безопасность данных становится все более актуальной задачей. С ростом числа кибератак и утечек информации, защита конфиденциальных данных пользователей является приоритетом для разработчиков программного обеспечения. Одним из ключевых методов обеспечения безопасности является хеширование и добавление соли (salting) к паролям и другим критически важным данным.</p>
19 <p>В современном цифровом мире безопасность данных становится все более актуальной задачей. С ростом числа кибератак и утечек информации, защита конфиденциальных данных пользователей является приоритетом для разработчиков программного обеспечения. Одним из ключевых методов обеспечения безопасности является хеширование и добавление соли (salting) к паролям и другим критически важным данным.</p>
20 <p>В данной статье мы подробно рассмотрим концепции хеширования и salting, их роль в безопасном проектировании программного обеспечения.</p>
20 <p>В данной статье мы подробно рассмотрим концепции хеширования и salting, их роль в безопасном проектировании программного обеспечения.</p>
21 <p><a>Читать далее</a></p>
21 <p><a>Читать далее</a></p>
22 <h2>Кратко про основные техники кеширования в браузере</h2>
22 <h2>Кратко про основные техники кеширования в браузере</h2>
23 <p>Поговорим о крайне важной, но порой недооцененной теме - кешировании в браузере.</p>
23 <p>Поговорим о крайне важной, но порой недооцененной теме - кешировании в браузере.</p>
24 <p>Кеширование - это процесс сохранения копий файлов в локальном хранилище браузера, чтобы в последующем загружать их оттуда, а не с сервера. Так можно избежать лишних задержек и снизить нагрузку на сервер, т.к большинство ресурсов, таких как CSS-файлы,<a>скрипты</a>и медиаконтент, не нуждаются в повторной загрузке при каждом новом посещении страницы.</p>
24 <p>Кеширование - это процесс сохранения копий файлов в локальном хранилище браузера, чтобы в последующем загружать их оттуда, а не с сервера. Так можно избежать лишних задержек и снизить нагрузку на сервер, т.к большинство ресурсов, таких как CSS-файлы,<a>скрипты</a>и медиаконтент, не нуждаются в повторной загрузке при каждом новом посещении страницы.</p>
25 <p>В статье рассмотрим несколько основных методов кеширования, таких как использование HTTP заголовков Cache-Control, ETag, и If-Modified-Since, а такжеLocalStorage.</p>
25 <p>В статье рассмотрим несколько основных методов кеширования, таких как использование HTTP заголовков Cache-Control, ETag, и If-Modified-Since, а такжеLocalStorage.</p>
26 <p><a>Читать далее</a></p>
26 <p><a>Читать далее</a></p>
27 <h2>Микросервисы с Go-Micro на примере</h2>
27 <h2>Микросервисы с Go-Micro на примере</h2>
28 <p>Микросервисная архитектура представляет из себя подход, в котором каждый сервис отвечает за конкретную функциональность и может быть развернут, обновлен и масштабирован независимо от других. Go-Micro - это фреймворк, который упрощает создание таких микросервисов на Golang.</p>
28 <p>Микросервисная архитектура представляет из себя подход, в котором каждый сервис отвечает за конкретную функциональность и может быть развернут, обновлен и масштабирован независимо от других. Go-Micro - это фреймворк, который упрощает создание таких микросервисов на Golang.</p>
29 <p>Основные фичи Go-Micro:</p>
29 <p>Основные фичи Go-Micro:</p>
30 <ul><li><strong>Автоматическое обнаружение сервисов:</strong> сервисы автоматом регистрируются и обнаруживаются.</li>
30 <ul><li><strong>Автоматическое обнаружение сервисов:</strong> сервисы автоматом регистрируются и обнаруживаются.</li>
31 <li><strong>Встроенная балансировка нагрузки:</strong> запросы равномерно распределяются между экземплярами сервисов.</li>
31 <li><strong>Встроенная балансировка нагрузки:</strong> запросы равномерно распределяются между экземплярами сервисов.</li>
32 <li><strong>Поддержка как синхронной, так и асинхронной коммуникации:</strong> возможность использования RPC и PubSub для обмена сообщениями между сервисами.</li>
32 <li><strong>Поддержка как синхронной, так и асинхронной коммуникации:</strong> возможность использования RPC и PubSub для обмена сообщениями между сервисами.</li>
33 <li><strong>Гибкая конфигурация:</strong> динамическая загрузка и обновление конфигураций из различных источников.</li>
33 <li><strong>Гибкая конфигурация:</strong> динамическая загрузка и обновление конфигураций из различных источников.</li>
34 </ul><p><a>Читать далее</a></p>
34 </ul><p><a>Читать далее</a></p>
35 <h2>Шаблоны проектирования облачных сервисов</h2>
35 <h2>Шаблоны проектирования облачных сервисов</h2>
36 <p>При проектировании различных приложений, основанных на облачных сервисах, нам важно правильно выбрать архитектуру нашего решения. Можно конечно самостоятельно что называется, изобретать велосипед, придумывая собственную архитектуру. Но вряд ли вам удастся изобрести что-то новое, а вот времени и ресурсов вы рискуете потратить немало. Скорее всего, то, что вам нужно уже кто-то придумал и вы можете это смело использовать.</p>
36 <p>При проектировании различных приложений, основанных на облачных сервисах, нам важно правильно выбрать архитектуру нашего решения. Можно конечно самостоятельно что называется, изобретать велосипед, придумывая собственную архитектуру. Но вряд ли вам удастся изобрести что-то новое, а вот времени и ресурсов вы рискуете потратить немало. Скорее всего, то, что вам нужно уже кто-то придумал и вы можете это смело использовать.</p>
37 <p>Всего существует несколько десятков шаблонов проектирования, и в рамках этой статьи мы конечно не будем рассматривать их все. Мы рассмотрим три наиболее распространенных шаблона, которые могут вам потребоваться при работе с облачными средами и микросервисами. Поговорим о том, что они из себя представляют, какие у них есть достоинства и недостатки.</p>
37 <p>Всего существует несколько десятков шаблонов проектирования, и в рамках этой статьи мы конечно не будем рассматривать их все. Мы рассмотрим три наиболее распространенных шаблона, которые могут вам потребоваться при работе с облачными средами и микросервисами. Поговорим о том, что они из себя представляют, какие у них есть достоинства и недостатки.</p>
38 <p><a>Читать далее</a></p>
38 <p><a>Читать далее</a></p>
39 <h2>Проектирование безопасного программного обеспечения с учетом целостности</h2>
39 <h2>Проектирование безопасного программного обеспечения с учетом целостности</h2>
40 <p>Сегодня мы рассмотрим проектирование безопасного программного обеспечения для обеспечения целостности данных. Как мы можем гарантировать, что наше программное обеспечение спроектировано таким образом, чтобы данные были устойчивы к атакам и не подвергались изменениям?</p>
40 <p>Сегодня мы рассмотрим проектирование безопасного программного обеспечения для обеспечения целостности данных. Как мы можем гарантировать, что наше программное обеспечение спроектировано таким образом, чтобы данные были устойчивы к атакам и не подвергались изменениям?</p>
41 <p>Мы уже рассмотрели, как хеширование может использоваться для обеспечения конфиденциальности, но оно также часто применяется для проверки целостности. Хеширование генерирует уникальное значение для любых входных данных и делает это очень быстро.</p>
41 <p>Мы уже рассмотрели, как хеширование может использоваться для обеспечения конфиденциальности, но оно также часто применяется для проверки целостности. Хеширование генерирует уникальное значение для любых входных данных и делает это очень быстро.</p>
42 <p>Это делает его сильной формой проверки, что отправленное сообщение не было подвержено изменениям.</p>
42 <p>Это делает его сильной формой проверки, что отправленное сообщение не было подвержено изменениям.</p>
43 <p><a>Читать далее</a></p>
43 <p><a>Читать далее</a></p>
44 <h2>Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование</h2>
44 <h2>Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование</h2>
45 <p>В современном мире, где информационные технологии играют ключевую роль во всех аспектах жизни, безопасность программного обеспечения стала одной из самых важных задач для разработчиков. С каждым годом количество кибератак увеличивается, а их методы становятся всё более изощренными. В таких условиях обеспечение безопасности приложений и систем на этапе их проектирования становится не просто желательной практикой, а необходимостью.</p>
45 <p>В современном мире, где информационные технологии играют ключевую роль во всех аспектах жизни, безопасность программного обеспечения стала одной из самых важных задач для разработчиков. С каждым годом количество кибератак увеличивается, а их методы становятся всё более изощренными. В таких условиях обеспечение безопасности приложений и систем на этапе их проектирования становится не просто желательной практикой, а необходимостью.</p>
46 <p>Безопасное проектирование программного обеспечения включает в себя целый комплекс мер и методологий, направленных на минимизацию рисков уязвимостей и защиты данных от несанкционированного доступа. Этот процесс начинается задолго до написания первого кода и включает в себя выбор архитектурных решений, определение политик безопасности, а также использование проверенных инструментов и техник.</p>
46 <p>Безопасное проектирование программного обеспечения включает в себя целый комплекс мер и методологий, направленных на минимизацию рисков уязвимостей и защиты данных от несанкционированного доступа. Этот процесс начинается задолго до написания первого кода и включает в себя выбор архитектурных решений, определение политик безопасности, а также использование проверенных инструментов и техник.</p>
47 <p><a>Читать далее</a></p>
47 <p><a>Читать далее</a></p>
48 <h2>Проектирование DWH с помощью Data Vault</h2>
48 <h2>Проектирование DWH с помощью Data Vault</h2>
49 <p>Методология Data Vault была разработана Дэном Линстедом в конце 1990-х годов и предлагает гибкий, масштабируемый и проверяемый способ управления данными. Data Vault сочетает в себе самые лучшие черты нормализованных моделей данных и звездных схем.</p>
49 <p>Методология Data Vault была разработана Дэном Линстедом в конце 1990-х годов и предлагает гибкий, масштабируемый и проверяемый способ управления данными. Data Vault сочетает в себе самые лучшие черты нормализованных моделей данных и звездных схем.</p>
50 <p>В этой статье мы рассмотрим эту методологию и как с помощью нее проектировать DWH на примере.</p>
50 <p>В этой статье мы рассмотрим эту методологию и как с помощью нее проектировать DWH на примере.</p>
51 <p><a>Читать далее</a></p>
51 <p><a>Читать далее</a></p>
52 <h2>Реализация принципа единственной ответственности на Python</h2>
52 <h2>Реализация принципа единственной ответственности на Python</h2>
53 <p>Сегодня мы рассмотрим одну из основополагающих концепций SOLID-принципов - принцип единственной ответственности или сокращенно - SRP. Разберем, что такое SRP и как правильно его применять в Python.</p>
53 <p>Сегодня мы рассмотрим одну из основополагающих концепций SOLID-принципов - принцип единственной ответственности или сокращенно - SRP. Разберем, что такое SRP и как правильно его применять в Python.</p>
54 <p>Принцип единственной ответственности гласит, что каждый класс, метод или модуль должен иметь только одну причину для изменения. Проще говоря, каждый компонент вашей системы должен отвечать только за одну функциональность. Т.е если вам нужно внести изменение, связанное с этой функциональностью, вам придется изменить только один компонент.</p>
54 <p>Принцип единственной ответственности гласит, что каждый класс, метод или модуль должен иметь только одну причину для изменения. Проще говоря, каждый компонент вашей системы должен отвечать только за одну функциональность. Т.е если вам нужно внести изменение, связанное с этой функциональностью, вам придется изменить только один компонент.</p>
55 <p>Когда каждый класс или модуль выполняет одну четко определенную задачу, становится гораздо проще понять его назначение и взаимодействие с другими частями системы.</p>
55 <p>Когда каждый класс или модуль выполняет одну четко определенную задачу, становится гораздо проще понять его назначение и взаимодействие с другими частями системы.</p>
56 <p><a>Читать далее</a></p>
56 <p><a>Читать далее</a></p>
57 <h2>Может ли искусственный интеллект работать архитектором 1С</h2>
57 <h2>Может ли искусственный интеллект работать архитектором 1С</h2>
58 <p>Давайте посмотрим, на что сейчас способны лучшие языковые модели в плане выполнения работы архитектора 1С. В этом обзоре присутствуют все основные игроки (OpenAI, Anthropic, Google). Также я добавил к ним двух отечественных провайдеров (Yandex и Сбер).</p>
58 <p>Давайте посмотрим, на что сейчас способны лучшие языковые модели в плане выполнения работы архитектора 1С. В этом обзоре присутствуют все основные игроки (OpenAI, Anthropic, Google). Также я добавил к ним двух отечественных провайдеров (Yandex и Сбер).</p>
59 <p><a>Читать далее</a></p>
59 <p><a>Читать далее</a></p>
60 <p>Способы обхода GIL для повышения производительности</p>
60 <p>Способы обхода GIL для повышения производительности</p>
61 <p>Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.</p>
61 <p>Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.</p>
62 <p>На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.</p>
62 <p>На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.</p>
63 <p>В этой статье рассмотрим способы обхода GIL и первый способ - использование многопроцессности вместо многопоточности.</p>
63 <p>В этой статье рассмотрим способы обхода GIL и первый способ - использование многопроцессности вместо многопоточности.</p>
64 <p><a>Читать далее</a></p>
64 <p><a>Читать далее</a></p>
65 <h2>Кратко про микросервисы на Scala и Erlang</h2>
65 <h2>Кратко про микросервисы на Scala и Erlang</h2>
66 <p>Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.</p>
66 <p>Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.</p>
67 <p>В статье рассмотрим два<a>языка программирования</a>, которые выделяются своим функциональным подходом и широким применением в микросервисной архитектуре: <strong>Scala</strong> и <strong>Erlang</strong>.</p>
67 <p>В статье рассмотрим два<a>языка программирования</a>, которые выделяются своим функциональным подходом и широким применением в микросервисной архитектуре: <strong>Scala</strong> и <strong>Erlang</strong>.</p>
68 <p><a>Читать далее</a></p>
68 <p><a>Читать далее</a></p>
69 <h2>Пример дивергентного мышления ИИ при использовании 1С запрос copilot</h2>
69 <h2>Пример дивергентного мышления ИИ при использовании 1С запрос copilot</h2>
70 <p>Американский психолог Джой Пол Гилфорд, известный исследователь проблем интеллекта, в свое время предложил понятие дивергентного мышления. Сам Гилфорд определял его, как тип мышления идущий в различных направлениях. Ищем все возможные способы решения одной проблемы. Выходим за рамки стереотипов и, как результат, находим неожиданные и суперэффективные методы. Дивергентное мышление ассоциируется с креативностью. Яркий пример такого мышления можно увидеть в хорошо известной истории про Нильса Бора и барометр.</p>
70 <p>Американский психолог Джой Пол Гилфорд, известный исследователь проблем интеллекта, в свое время предложил понятие дивергентного мышления. Сам Гилфорд определял его, как тип мышления идущий в различных направлениях. Ищем все возможные способы решения одной проблемы. Выходим за рамки стереотипов и, как результат, находим неожиданные и суперэффективные методы. Дивергентное мышление ассоциируется с креативностью. Яркий пример такого мышления можно увидеть в хорошо известной истории про Нильса Бора и барометр.</p>
71 <p>До появления генеративных языковых моделей было распространено мнение, что искусственный интеллект, когда и если будет создан, будет уступать человеку в креативности. Будет действовать скрупулезно, последовательно, без ошибок, но шаблонно. Оказалось - наоборот. Как это выглядит в реальности, при решении "скучных" учетных задач в 1С, смотрите ниже.</p>
71 <p>До появления генеративных языковых моделей было распространено мнение, что искусственный интеллект, когда и если будет создан, будет уступать человеку в креативности. Будет действовать скрупулезно, последовательно, без ошибок, но шаблонно. Оказалось - наоборот. Как это выглядит в реальности, при решении "скучных" учетных задач в 1С, смотрите ниже.</p>
72 <p><a>Читать далее</a></p>
72 <p><a>Читать далее</a></p>
73 <h2>Клеточная архитектура</h2>
73 <h2>Клеточная архитектура</h2>
74 <p>Клеточная архитектура - это подход к проектированию систем, основанный на принципе <em>изоляции</em> и <em>независимости</em> компонентов. Такая модель позволяет разделить большие и сложные системы на меньшие, самостоятельно функционирующие модули или <em>клетки</em>. Каждая клетка представляет собой законченный функциональный блок с собственным набором ресурсов и зависимостей.</p>
74 <p>Клеточная архитектура - это подход к проектированию систем, основанный на принципе <em>изоляции</em> и <em>независимости</em> компонентов. Такая модель позволяет разделить большие и сложные системы на меньшие, самостоятельно функционирующие модули или <em>клетки</em>. Каждая клетка представляет собой законченный функциональный блок с собственным набором ресурсов и зависимостей.</p>
75 <p>Основная цель такого разделения - минимизация <em>радиуса поражения</em> при возникновении сбоев и упрощение масштабирования системы.</p>
75 <p>Основная цель такого разделения - минимизация <em>радиуса поражения</em> при возникновении сбоев и упрощение масштабирования системы.</p>
76 <p><a>Читать далее</a></p>
76 <p><a>Читать далее</a></p>
77 <h2>Кратко про библиотеку Axum в Rust</h2>
77 <h2>Кратко про библиотеку Axum в Rust</h2>
78 <p>Axum была создана командой Tokio, которая уже получила свой <em>+rep</em> за создание асинхронной платформы Tokio для Rust.</p>
78 <p>Axum была создана командой Tokio, которая уже получила свой <em>+rep</em> за создание асинхронной платформы Tokio для Rust.</p>
79 <p>Axum является микрофреймворком, ориентированным на упрощение задач, связанных с маршрутизацией и обработкой запросов в веб-приложениях.</p>
79 <p>Axum является микрофреймворком, ориентированным на упрощение задач, связанных с маршрутизацией и обработкой запросов в веб-приложениях.</p>
80 <p>Основная фича Axum заключается в его возможности обрабатывать тысячи запросов без значительных затрат на ресурсы.</p>
80 <p>Основная фича Axum заключается в его возможности обрабатывать тысячи запросов без значительных затрат на ресурсы.</p>
81 <p><a>Читать далее</a></p>
81 <p><a>Читать далее</a></p>
82 <h2>4 вида распространённых ошибок в Event-Driven системах</h2>
82 <h2>4 вида распространённых ошибок в Event-Driven системах</h2>
83 <p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:</p>
83 <p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:</p>
84 <ul><li>Слабая связанность между компонентами</li>
84 <ul><li>Слабая связанность между компонентами</li>
85 <li>Концепция “Fire and Forget”</li>
85 <li>Концепция “Fire and Forget”</li>
86 <li>Отсутствие зависимости во времени</li>
86 <li>Отсутствие зависимости во времени</li>
87 </ul><p><a>Читать далее</a></p>
87 </ul><p><a>Читать далее</a></p>
88 <h2>Proof of Work и Proof of Stake для чайников</h2>
88 <h2>Proof of Work и Proof of Stake для чайников</h2>
89 <p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - <em>это согласие всех участников сети относительно ее текущего состояния</em>, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
89 <p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - <em>это согласие всех участников сети относительно ее текущего состояния</em>, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
90 <p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
90 <p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
91 <p><a>Читать далее</a></p>
91 <p><a>Читать далее</a></p>
92 <h2>Обзор библиотеки Go Kit</h2>
92 <h2>Обзор библиотеки Go Kit</h2>
93 <p>Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные<a>протоколы</a>, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.</p>
93 <p>Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные<a>протоколы</a>, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.</p>
94 <p><a>Читать далее</a></p>
94 <p><a>Читать далее</a></p>
95 <a></a>
95 <a></a>