goxgen - это мощная библиотека, предназначенная для упрощения создания GraphQL-приложений. Определив домен и интерфейс API с помощью единого синтаксиса, можно быстро сгенерировать полнофункциональный GraphQL-сервер. Кроме того, goxgen обеспечивает поддержку ORM (GORM) и интерфейс командной строки для работы с сервером.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
✔GitHub
✔Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот пакет позволяет использовать в процессах Pipeline, построенный на основе паттерна Chain of Responsibility.
Chain of Responsibility (цепочка обязанностей) — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке обработчиков. Каждый последующий обработчик решает, может ли он обработать запрос сам и стоит ли передавать запрос дальше по цепи.
go get github.com/izniburak/pipeline-go
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
ghw - это библиотека на языке Go, для сбора информации и анализа вашего железа для Linux и Windows. Частично поддерживает MacOSX.
Инструмент содержит функции, которые возвращающие объект Info о конкретном аппаратном домене (например, CPU, Memory, Block storage и т.д.).
Для получения информации желез используются следующие функции ghw:
ghw.CPU()
ghw.Memory()
ghw.Block() (блочное хранилище)
ghw.Topology() (архитектура процессора, топология NUMA и иерархия кэш-памяти)
ghw.Network()
ghw.PCI()
ghw.GPU() (графический процессор)
ghw.Chassis()
ghw.BIOS()
ghw.Baseboard()
ghw.Product()
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎆 Выпущены версии Go 1.21.3 и 1.20.10!
🔐 Безопасность: Включено исправление безопасности для net/http (CVE-2023-39325).
📡 Анонс: https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo
📦 Скачать: https://go.dev/dl/#go1.21.3
#golang
@Golang_google
🔐 Безопасность: Включено исправление безопасности для net/http (CVE-2023-39325).
📡 Анонс: https://groups.google.com/g/golang-announce/c/iNNxDTCjZvo
📦 Скачать: https://go.dev/dl/#go1.21.3
#golang
@Golang_google
• Go (Fundamentals) 101, посвященная синтаксису/семантике языка Go.
• Go Generics 101, в которой подробно описывается работа с дженериками в Go.
• Go Optimizations 101, в книге приводятся приемы, советы и рекомендации по улучшению производительности кода.
• Go Details & Tips 101 - здесь собрано множество деталей по устройству языка и даны советы по программированию на языке Go.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Курс по Go для начинающих. С помощью этих практических уроков и задач вы научитесь писать на языке Go эффективные и идиоматические программы.
• Видео
• Код
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Это bash-скрипт для управления версиями Go и настройками
GOPATH
.Скрипт полезен для разработчиков, которые программируют на разных версиях Go, которым нужно быстро переключаться между ними или настраивать GOPATH для различных проектов.
curl https://raw.githubusercontent.com/glv-go/glv/master/glv | bash
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
— Writing tests for a Kubernetes Operator
— Книга «100 ошибок Go и как их избежать»
— Everything You Always Wanted to Know About Type Inference - And a Little Bit More
— Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта
— Операторы в Kubernetes
— Алгебраические Типы Данных
— Самый быстрый поиск пути на Go без аллокаций и СМС
— Ускоряем разработку новых фич: как я написал плагин кодогенерации для Protobuf
— Profile-guided optimization в Go 1.21
— Масштабирование приёмочных тестов
— Работа без имитаторов
— Build a Type-Safe Web App with Encore + Next.js
— Entendendo as métricas do K6 - Parte 1
— Dockerizing Golang CLI Tool - A Step-by-Step Guide
— Golang 1.21 is here (Part 3)
— Achieving High-Level Atomic Operations in Go
— Building a Golang Project from Scratch — Zero to Hero — Part 2
— Grogue: A Roguelike Tutorial in Go (Part 1)
— Quando menos é mais - Escalando uma API em Golang
— Integration Test SQL Server Store with testcontainers-go
— Secure Upload URLs Buckets with Nitric in Go
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 Golang And Svelte - Table Filters - Levenue 2.0 Marketplace (⏱ 02:00:16)
🌐 Решаем задачу с leetcode на #Golang
🌐 Что должен знать Junior Go разработчик
🌐 Todo App using: Go Postgres HTMx TailwindCSS | This is the way
🌐 Handling errors LIKE a 10x ENGINEER in Golang - Golang Service Pattern
Хорошего дня!
@Golang_google
Почитать:
— Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
— Writing tests for a Kubernetes Operator
— Книга «100 ошибок Go и как их избежать»
— Everything You Always Wanted to Know About Type Inference - And a Little Bit More
— Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта
— Операторы в Kubernetes
— Алгебраические Типы Данных
— Самый быстрый поиск пути на Go без аллокаций и СМС
— Ускоряем разработку новых фич: как я написал плагин кодогенерации для Protobuf
— Profile-guided optimization в Go 1.21
— Масштабирование приёмочных тестов
— Работа без имитаторов
— Build a Type-Safe Web App with Encore + Next.js
— Entendendo as métricas do K6 - Parte 1
— Dockerizing Golang CLI Tool - A Step-by-Step Guide
— Golang 1.21 is here (Part 3)
— Achieving High-Level Atomic Operations in Go
— Building a Golang Project from Scratch — Zero to Hero — Part 2
— Grogue: A Roguelike Tutorial in Go (Part 1)
— Quando menos é mais - Escalando uma API em Golang
— Integration Test SQL Server Store with testcontainers-go
— Secure Upload URLs Buckets with Nitric in Go
Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. (⏱ 05:23)
🌐 Golang And Svelte - Table Filters - Levenue 2.0 Marketplace (⏱ 02:00:16)
🌐 Решаем задачу с leetcode на #Golang
🌐 Что должен знать Junior Go разработчик
🌐 Todo App using: Go Postgres HTMx TailwindCSS | This is the way
🌐 Handling errors LIKE a 10x ENGINEER in Golang - Golang Service Pattern
Хорошего дня!
@Golang_google
Простая и гибкая библиотека, которая идеально подходит для проектов, в которых требуется быстрая локализация.
go get github.com/eduardolat/goeasyi18n
▪ Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Бенчмарк для обработки данных с использованием
Go,
Rust, Swift, Zig, Julia и др.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
go install github.com/yonahd/kor@latest
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Не многие команды разработчиков знают о существовании пакета Go, который можно использовать для выполнения SQL-миграций.
В файле migration.go имеется следующий код: рис 1.
Пакет, о котором идет речь, называется embed (более подробная информация в документации).
Пакет embed появился в Go 1.16. Он предоставляет возможность встраивать файлы и каталоги в бинарные файлы Go. В данном случае пакет embed используется для встраивания файлов миграции SQL в бинарный файл.
Директива //go:embed *.sql — это специальный комментарий, который указывает компилятору Go включить все файлы с расширением .sql во встроенную файловую систему. Доступ к встроенным файлам можно получить с помощью типа embed.FS.
Переменная FS — это глобальная переменная типа embed.FS, в которой хранится встроенная файловая система. Переменная FS может использоваться для доступа к встроенным файлам во время выполнения программы.
Обычно sql-файл создается вместе с пакетом миграций (migrations) в той же папке.
Использование пакета embed может упростить дистрибуцию и развертывание программы на языке Go, поскольку избавляет от необходимости распространять отдельные файлы вместе с бинарным файлом. Вместо этого все необходимые файлы могут быть включены в сам бинарный файл.
📌 Читать дальше
📌 Embed
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
g-systemctl - это графический пользовательский интерфейс для ваших сервисов в
*nix-системах
. Вы можете видеть все свои сервисные демоны, искать и фильтровать их, а также управлять ими.go build src/server.go
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Инструмент командной строки для анализа и вывода результатов тестирования для Go.
По умолчанию
tparse
всегда будет возвращать информацию о пройденных тестах и ошибках, если таковые имеются, после чего будет выдана сводная таблица на уровне пакета.Для получения дополнительной информации о пройденных тестах запустите tparse с флагом -pass. Тесты сгруппированы по пакетам и отсортированы по времени выполнения в порядке убывания (от самого длинного к самому короткому).
go install github.com/mfridman/tparse@latest
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье описано создание простого движка регулярных выражений, который сможет использовать шаблон
[a-zA-Z][a-zA-Z0-9_.]+@[a-zA-Z0-9]+.[a-zA-Z]
{2,} (.
, в качестве литерала вместо любого символа )
для проверки валидности адресов электронной почты. Статья состоит из трех разделов:
• Parsing
• Использование конечных автоматов
• Matching
📌 Читать
📌 Код
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Afero - это фреймворк, предоставляющий простой и универсальный API, взаимодействующий с любой файловой системой, работающий, как слой абстракции. Afero обладает функциональным интерфейсом без ненужных конструкторов и методов инициализации.
• Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Сетевые компоненты составляют основу облачной инфраструктуры, обеспечивая связь, масштабируемость и функциональность облачных сервисов.
К ним относятся маршрутизаторы, балансировщики нагрузки, обеспечивающие эффективную и безопасную передачу данных между серверами и клиентами.
Кроме того, сети доставки контента (
CDN
) оптимизируют доставку контента за счет кэширования данных на периферии, снижая задержки и улучшая качество работы пользователей.По сути, все эти сетевые элементы вместе создают надежную и быстродействующую облачную экосистему, которая лежит в основе современных цифровых сервисов и приложений.
В данной шпаргалке приводится краткое, но исчерпывающее сравнение ключевых сетевых элементов четырех основных облачных провайдеров.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM