—
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
Библиотека, позволяющая создавать миграции на Go с сохранением типов, и мощнным набором полезных инструментов.
#golang
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
—
winget install Miller.Miller
С помощью Miller можно использовать именованные поля без необходимости подсчета позиционных индексов, используя привычные форматы, такие как CSV, TSV, JSON, JSON Lines и позиционно индексированные.
Также, на лету, при помощи Miller, можно добавлять новые поля, которые являются функциями существующих полей, удалять поля, сортировать, агрегировать статистические данные, отображать и многое другое.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Фичи WS:
— Отсутствие промежуточных аллокаций при вводе/выводе
— Низкоуровневый API, позволяющий построить собственную логику обработки пакетов и повторного использования буферов
— Высокоуровневые обертки и помощники вокруг API в пакете
wsutil
, которые позволяют быстро начать работу, не копаясь во внутренностях протокола@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
—
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
Цель данного цикла статей — быстрый обзор и прохождение основных понятий 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
Sarama — это клиентская библиотека на чистом Go для работы с Apache Kafka (версии 0.8 и выше). Она включает в себя высокоуровневый API для удобного создания и потребления сообщений, а также низкоуровневый API для управления байтами на проводе, когда высокоуровневого API недостаточно. Примеры использования высокоуровневых API приведены в полной документации к ним.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
—
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
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
—
go get github.com/fatih/color
Позволяет использовать простые функции с набором уже предопределенных цветов.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
—
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
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
—
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
—
go get github.com/cilium/ebpf
ebpf-go - это библиотека на чистом Go, которая предоставляет утилиты для загрузки, компиляции и отладки программ eBPF
ebpf-go имеет минимум внешних зависимостей и предназначена для использования в длительно работающих процессах
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье научимся генерировать Protobuf файлы через плагин Buf. Настроим зависимости сторонних proto нотаций, такие как googleapis, grpc-gateway и protovalidate.
├╼
Подготовительные работы├╼
Установка зависимостей├╼
Структура api├╼
Генерируем код╰╼
Запускаем gRPC и REST сервер@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM