Рубрика «Go» - 12

Всем привет! Меня зовут Владимир Пустовалов, я C++ разработчик в команде Deckhouse компании «Флант». Мои коллеги — DevOps-инженеры — на данный момент обслуживают более 600 кластеров, и, естественно, в каждом из них развёрнута система мониторинга.

Изначально мы использовали Prometheus — опенсорсную систему мониторинга, написанную на Go. По нашей статистике, она занимала около 20 % ресурсов каждого кластера. Мы не могли с этим мириться и поэтому разработали проект под названием Prom++, в котором многократно сократили потребление оперативной памяти и снизили нагрузку на центральный процессор.

Читать полностью »

Я решил написать эту статью в первую очередь для себя, потому что перечитал кучу материалов про сборщик мусора (GC) в Go, и почти все они были слишком сложными. Моя цель — объяснить, как работает GC, что такое инкрементальность и барьер записи, так, чтобы я сам понял и запомнил и, возможно, стал полезным для других. А чтобы было веселее, я добавил гофера — маскота Go — в забавных иллюстрациях, которые помогут визуализировать идеи. Если вы, как и я, хотите разобраться в GC без лишней головной боли, эта статья для вас!

Читать полностью »

Привет, меня зовут Рома! Какое-то время назад я захотел изучить всю внутрянку Go, заглянуть в исходники языка и понять, почему все устроено так, как устроено. В этот самый момент я обнаружил, что на просторах интернета практически отсутствуют материалы, которые подробно разбирают типы данных, их вспомогательные функции, детали реализации runtime и так далее. Мной было принято решение сделать это самостоятельно. Изначально я занимался этим для себя, но позже решил, что стоит поделиться моими наблюдениями и выводами с миром.

Читать полностью »

Rattle — лёгкий инструмент для мониторинга логов Docker, который помогает оперативно
получать важный ошибки в Telegram до того, как о них напомнит клиент. Всё запускается через Docker Compose — без дополнительной инфраструктуры и сложной интеграции.

Rattle — Telegram уведомления из Docker

Rattle — Telegram уведомления из Docker

Читать полностью »

Конкурентность — одна из самых мощных возможностей Go, и её освоение критически важно для создания масштабируемых и эффективных приложений. В этой статье мы рассмотрим 7 шаблонов конкурентности в Go, которые помогут вам писать надёжный код.

1. Пул воркеров

Описание: Пул воркеров создаёт фиксированное количество горутин, которые обрабатывают задачи из общей очереди. Этот шаблон полезен для управления количеством одновременно выполняемых задач и оптимизации использования ресурсов.

Читать полностью »

В мире разработки веб‑приложений (да, да, это тот самый хайп про «хайлоад», «легковесные потоки», «io‑bound нагрузки» и другое) Go завоевал популярность благодаря своей производительности, легкости и надежности. Одним из ключевых компонентов экосистемы Go является стандартный пакет net/http, который предоставляет инструменты для создания HTTP‑серверов и клиентов. Однако, несмотря на кажущуюся простоту использования этого пакета, понимание внутренних механизмов работы сервера может значительно повысить эффективность вашего кода и помочь избежать распространенных ошибок.

Читать полностью »

О себе

Привет! Я Артур Давыдов, бэкенд разработчик на Go. В этой статье хочу рассмотреть поведение defer более детально. Надеюсь, что статья будет полезна.

Смотрит на defer

Смотрит на defer

Введение

Читать полностью »

в 11:30, , рубрики: Go, golang, grpc, opensourse, protobuf

Данная статья является продолжением статьи, в которой @ZergsLaw уже подробно описал, зачем мы начали делать EasyP и почему мы старались по возможности сохранять общие форматы с Buf. Поэтому повторяться не будем и сразу перейдем к тому, как использовать EasyP в своих проектах.

Установка

Начнем, конечно же, с установки EasyP:

  • Установка последней версии с GitHub:

    go install github.com/easyp-tech/easyp/cmd/easyp@latest
  • Недавно добавили возможность установки через brew:

    brew install easyp-tech/tap/easyp

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js