38.2K subscribers
1.54K photos
40 videos
5 files
1.7K links
加入频道
👣 Паттерн Retry в Go

Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки. Особенно если взаимодействие происходит по сети.

При этом некоторые типы компонентов обязаны быть устойчивы к временным сбоем, которые могут случаться в их среде. Они должны иметь возможность повторять запросы или восстанавливать соединения. Собственно, для этого и существует паттерн программирования Retry.

📎 О Retry в Go

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍91🥰1
👣 Yaegi — альтернативный лёгкий интерпретатор Go

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 не используются и не экспортируются по умолчанию

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🤔4🥰1
👣 AMIGO - Migrate SQL with Go language.

Библиотека, позволяющая создавать миграции на Go с сохранением типов, и мощнным набором полезных инструментов.
#golang

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤬7🔥21🤯1
👣 Miller — это инструмент командной строки для запроса, формирования и переформатирования файлов данных в различных форматах, включая CSV, TSV, JSON и JSON Lines

winget install Miller.Miller

С помощью Miller можно использовать именованные поля без необходимости подсчета позиционных индексов, используя привычные форматы, такие как CSV, TSV, JSON, JSON Lines и позиционно индексированные.
Также, на лету, при помощи Miller, можно добавлять новые поля, которые являются функциями существующих полей, удалять поля, сортировать, агрегировать статистические данные, отображать и многое другое.

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
👣 WS — легковесная библиотека для работы с вебсокетами

Фичи WS:
— Отсутствие промежуточных аллокаций при вводе/выводе
— Низкоуровневый API, позволяющий построить собственную логику обработки пакетов и повторного использования буферов
— Высокоуровневые обертки и помощники вокруг API в пакете wsutil, которые позволяют быстро начать работу, не копаясь во внутренностях протокола

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥52🤬1
👣 anacrolix/torrent — пакет Go BitTorrent-клиентов и разных утилит

go get github.com/anacrolix/torrent

anacrolix/torrent используется 24/7 во многих реальных проектах;
этот пакет был специально спроектирован для использования возможностей Go в области параллелизма, а также для включения возможности потоковой передачи данных непосредственно из сети BitTorrent.

anacrolix/torrent поддерживает поиск, readaheads и другие функции, раскрывающие торренты и их файлы с помощью различных идиоматических интерфейсов пакета io в Go.

🖥 GitHub
🟡 Доки

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍174🔥4
💻 90 дней DevOps — обновлённый сборник

Цель данного цикла статей — быстрый обзор и прохождение основных понятий 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👍93
👣 Sarama для Apache Kafka

Sarama — это клиентская библиотека на чистом Go для работы с Apache Kafka (версии 0.8 и выше). Она включает в себя высокоуровневый API для удобного создания и потребления сообщений, а также низкоуровневый API для управления байтами на проводе, когда высокоуровневого API недостаточно. Примеры использования высокоуровневых API приведены в полной документации к ним.

🖥 GitHub
🟡 Wiki
🟡 Вот здесь разные метрики Sarama

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥1
👣 TruffleHog — инструмент на Go для сканирования секретов, который глубоко копается в хранилищах кода для поиска паролей, секретных токенов и т.д.

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

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥2🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Feature Flag — простое и лёгкое open-source решение для включения/отключения каких-то возможностей в коде

go get github.com/thomaspoignant/go-feature-flag

Особенности Feature Flag:
— позволяет хранить файлы флагов конфигурации в различных местах (S3, Kubernetes, ...)
— поддерживает описание флагов в различных форматах (JSON, TOML и YAML)
— можно добавлять сложные правила
— позволяет экспортировать данные об использовании флагов в S3, в облачное хранилище Google и т.д.
— поддерживает получение уведомлений об изменении флага (webhook и Slack)

Изначально Feature Flag был разработан как решение исключительно для Gо. Теперь, с новой стандартизацией флагов решение теперь доступно для нескольких ЯП через простой API-сервер.

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍95😁1
👣 Пакет color — это цветовой пакет ANSI для отображения цветного SGR вывода

go get github.com/fatih/color

Позволяет использовать простые функции с набором уже предопределенных цветов.

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍192🥰1🤩1
👣 goqu — go-библиотека для построения и выполнения SQL-запросов

go get -u github.com/doug-martin/goqu/v9

Без проблем поддерживает Postgres, MySQL, SQLite3, SQLServer и кастомные диалекты

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍174😁4🔥3
👣 Telegraf — open-source серверный агент на Go

Telegraf – это не только MQTT клиент. Telegraf – это серверный агент для сбора, обработки, агрегирования и записи метрик из различных стеков, датчиков и систем в InfluxDB.
Полезный инструмент для работы с IoT и не только

Быстрый старт с помощью Docker:
docker run --rm --volume $PWD/config.toml:/etc/telegraf/telegraf.conf telegraf

🖥 GitHub
🟡 Доки

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2
👣 tfsec — написанный на Go сканер безопасности для кода Terraform

brew install tfsec

tfsec опирается на статический анализ кода terraform для выявления потенциальных ошибок в конфигурации.

Особенности tfsec:
— Проверяет неправильные конфигурации у всех крупных (и некоторых мелких) облачных провайдеров.
— Сотни встроенных правил
— Сканирование модулей (локальных и удаленных)
— Оценивает HCL-выражения, а также буквенные значения
— Оценивает функции Terraform, например, concat()
— Поддерживает несколько форматов вывода: lovely (по умолчанию), JSON, SARIF, CSV, CheckStyle, JUnit, text, Gif.
— Легко настраивается (с помощью флагов CLI и/или файла конфигурации).
— Очень быстрый, способен быстро сканировать огромные репозитории

🖥 GitHub

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102👍2
👣 ebpf-go — отладка, компилляция программ eBPF

go get github.com/cilium/ebpf

ebpf-go - это библиотека на чистом Go, которая предоставляет утилиты для загрузки, компиляции и отладки программ eBPF
ebpf-go имеет минимум внешних зависимостей и предназначена для использования в длительно работающих процессах

🖥 GitHub
🟡 Доки

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥32