37.1K subscribers
1.46K photos
34 videos
5 files
1.62K links
加入频道
🔥 Дайджест полезных материалов из мира Golang за неделю

Почитать:
Введение в приемочные испытания
Готовый набор golang линтеров (джунам и мидлам)
Golang. Паттерн Adapter
Golang: как найти мёртвый код в проекте, а заодно оценить покрытие тестами живого кода
Управление несколькими подключениями к базам данных в Golang
Повышение производительности JSON неструктурированных структур в Go
Пакет context в Go: взгляд профессионала
Создание простого HTTP-сервера для мониторинга контейнеров Docker на Golang
Salt Exporter: the story behind the tool
WebSocket APIgateway
What to choose Golang or Rust?
Running a scheduled task with Nitric in GO
Integration Test SQL Server Store (Go)
Building a Real-Time Messaging Service with Nitric SDK in Go
Building for Failure
12 Personal Go Tricks That Transformed My Productivity
Writing Kong plugins with Go
[Article as Code] Syncing Articles Between Dev.to and Multiple Blogging Platforms
Docker Basic

Посмотреть:
🌐 Разбор задачи с собеседования Data Science. Подготовка на практике ( 26:12)
🌐 Решаем задачу с leetcode на #Golang ( 00:37)
🌐 Разбора задачи с собеседования #Golang ( 00:22)
🌐 How I Structure New Projects In Golang ( 21:32)

Хорошего дня!

@Golang_google
👣 Go-advice

Список советов, примеров кода и рекомендаций по работе на Go.

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Goxgen

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
👣 goyave — удобный фреймворк для разработки веб-приложений, ориентированный на REST API, который позволяет упростить процесс разработки. Инструмент помогает сохранять единую архитектуру без лишнего кода.

GitHub
Документация

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 pipeline-go

Этот пакет позволяет использовать в процессах 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 HardWare discovery/inspection library

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
👣 Go 101 - это серия книг по программированию на языке Go. В настоящее время доступны следующие книги:

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 Programming – Golang Course with Bonus Projects

Курс по Go для начинающих. С помощью этих практических уроков и задач вы научитесь писать на языке Go эффективные и идиоматические программы.

Видео
Код

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 GLV

Это 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
👣 Go Easy i18n

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

go get github.com/eduardolat/goeasyi18n

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Related post gen

Бенчмарк для обработки данных с использованием Go, Rust, Swift, Zig, Julia и др.

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Kor - инструмент для обнаружения неиспользуемых ресурсов Kubernetes

go install github.com/yonahd/kor@latest

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций

Не многие команды разработчиков знают о существовании пакета 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

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
👣 tparse

Инструмент командной строки для анализа и вывода результатов тестирования для Go.

По умолчанию tparse всегда будет возвращать информацию о пройденных тестах и ошибках, если таковые имеются, после чего будет выдана сводная таблица на уровне пакета.

Для получения дополнительной информации о пройденных тестах запустите tparse с флагом -pass. Тесты сгруппированы по пакетам и отсортированы по времени выполнения в порядке убывания (от самого длинного к самому короткому).

go install github.com/mfridman/tparse@latest

Github

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM