Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки. Особенно если взаимодействие происходит по сети.
При этом некоторые типы компонентов обязаны быть устойчивы к временным сбоем, которые могут случаться в их среде. Они должны иметь возможность повторять запросы или восстанавливать соединения. Собственно, для этого и существует паттерн программирования Retry.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍9❤1🥰1
—
go install github.com/traefik/yaegi/cmd/yaegi@latest
Фичи Yaegi:
• полная поддержка спецификации Go
• написан на чистом Go, без зависимостей
• простой API:
New()
, Eval()
, Use()
• работает везде, где работает Go (в т.ч. поддерживает Go 1.21 и Go 1.22)
• безопасность: пакеты
unsafe
и syscall
не используются и не экспортируются по умолчанию@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7🤔4🥰1
Библиотека, позволяющая создавать миграции на Go с сохранением типов, и мощнным набором полезных инструментов.
#golang
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤬7🔥2❤1🤯1
—
winget install Miller.Miller
С помощью Miller можно использовать именованные поля без необходимости подсчета позиционных индексов, используя привычные форматы, такие как CSV, TSV, JSON, JSON Lines и позиционно индексированные.
Также, на лету, при помощи Miller, можно добавлять новые поля, которые являются функциями существующих полей, удалять поля, сортировать, агрегировать статистические данные, отображать и многое другое.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
Фичи WS:
— Отсутствие промежуточных аллокаций при вводе/выводе
— Низкоуровневый API, позволяющий построить собственную логику обработки пакетов и повторного использования буферов
— Высокоуровневые обертки и помощники вокруг API в пакете
wsutil
, которые позволяют быстро начать работу, не копаясь во внутренностях протокола@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥5❤2🤬1
—
go get github.com/anacrolix/torrent
anacrolix/torrent используется 24/7 во многих реальных проектах;
этот пакет был специально спроектирован для использования возможностей Go в области параллелизма, а также для включения возможности потоковой передачи данных непосредственно из сети BitTorrent.
anacrolix/torrent поддерживает поиск, readaheads и другие функции, раскрывающие торренты и их файлы с помощью различных идиоматических интерфейсов пакета io в Go.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4🔥4
Цель данного цикла статей — быстрый обзор и прохождение основных понятий DevOps.
Вот некоторые из покрываемых тем:
— Использование Terraform
— Сетевое взаимодействие Docker и безопасность
— Установка minikube
— Автоматизация сети с помощью Python
— Работа с Jenkins
— Визуализация данных в Grafana
— Обзор ArgoCD
— State и Ingress в Kubernetes
— Ansible - контроллер автоматизации (Tower), AWX, Vault
— Docker Compose
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9❤3
Sarama — это клиентская библиотека на чистом Go для работы с Apache Kafka (версии 0.8 и выше). Она включает в себя высокоуровневый API для удобного создания и потребления сообщений, а также низкоуровневый API для управления байтами на проводе, когда высокоуровневого API недостаточно. Примеры использования высокоуровневых API приведены в полной документации к ним.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1
—
brew install trufflehog
В TruffleHog встроено 700+ детекторов учетных данных, которые поддерживают активную проверку по соответствующим API
Имеет встроенную поддержку сканирования GitHub, GitLab, Docker, файловых систем, S3, GCS, Circle CI и Travis CI.
Позволяет осуществлять проверку закрытых ключей по миллионам пользователей GitHub и миллиардам сертификатов TLS с помощью технологии Driftwood, сканировать двоичные файлы, документы и файлы других форматов.
TruffleHog доступен как GitHub Action и pre-commit хук.
Быстрый старт с помощью Docker:
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥2🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
—
go get github.com/thomaspoignant/go-feature-flag
Особенности Feature Flag:
— позволяет хранить файлы флагов конфигурации в различных местах (S3, Kubernetes, ...)
— поддерживает описание флагов в различных форматах (JSON, TOML и YAML)
— можно добавлять сложные правила
— позволяет экспортировать данные об использовании флагов в S3, в облачное хранилище Google и т.д.
— поддерживает получение уведомлений об изменении флага (webhook и Slack)
Изначально Feature Flag был разработан как решение исключительно для Gо. Теперь, с новой стандартизацией флагов решение теперь доступно для нескольких ЯП через простой API-сервер.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍9❤5😁1
—
go get github.com/fatih/color
Позволяет использовать простые функции с набором уже предопределенных цветов.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤2🥰1🤩1
—
go get -u github.com/doug-martin/goqu/v9
Без проблем поддерживает Postgres, MySQL, SQLite3, SQLServer и кастомные диалекты
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤4😁4🔥3
Telegraf – это не только MQTT клиент. Telegraf – это серверный агент для сбора, обработки, агрегирования и записи метрик из различных стеков, датчиков и систем в InfluxDB.
Полезный инструмент для работы с IoT и не только
Быстрый старт с помощью Docker:
docker run --rm --volume $PWD/config.toml:/etc/telegraf/telegraf.conf telegraf
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🔥2
—
brew install tfsec
tfsec опирается на статический анализ кода terraform для выявления потенциальных ошибок в конфигурации.
Особенности tfsec:
— Проверяет неправильные конфигурации у всех крупных (и некоторых мелких) облачных провайдеров.
— Сотни встроенных правил
— Сканирование модулей (локальных и удаленных)
— Оценивает HCL-выражения, а также буквенные значения
— Оценивает функции Terraform, например,
concat()
— Поддерживает несколько форматов вывода: lovely (по умолчанию), JSON, SARIF, CSV, CheckStyle, JUnit, text, Gif.
— Легко настраивается (с помощью флагов CLI и/или файла конфигурации).
— Очень быстрый, способен быстро сканировать огромные репозитории
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2👍2
—
go get github.com/cilium/ebpf
ebpf-go - это библиотека на чистом Go, которая предоставляет утилиты для загрузки, компиляции и отладки программ eBPF
ebpf-go имеет минимум внешних зависимостей и предназначена для использования в длительно работающих процессах
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3❤2