ants
— это высокопроизводительный пул горутин, который реализует планирование управления множеством горутин, повторное использование горутин, и позволяет пользователям ограничивать количество горутин при разработке параллельных программ, что помогает достичь более эффективного выполнения задач.ants
:— Автоматическое планирование большого количества горутин и их повторное использование.
— Регулярная очистка устаревших горутин для дальнейшей экономии ресурсов.
— Предоставляет большое количество полезных интерфейсов: представление задачи, получение количества выполняющихся горутин, динамическое изменение размера пула, освобождение пула и перезапуск пула.
— Элегантно обрабатывает паники, чтобы предотвратить сбои программы.
— Повторное использование ресурсов значительно экономит использование памяти. В случае массовых параллельных задач он имеет более высокую производительность, чем нативная параллельность горутин.
— Неблокирующий механизм
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥6❤4
Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки. Особенно если взаимодействие происходит по сети.
При этом некоторые типы компонентов обязаны быть устойчивы к временным сбоем, которые могут случаться в их среде. Они должны иметь возможность повторять запросы или восстанавливать соединения. Собственно, для этого и существует паттерн программирования 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