37.1K subscribers
1.46K photos
34 videos
5 files
1.62K links
加入频道
👣 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
👣 Гайд по cозданию regex-движока с нуля на Golang


В этой статье описано создание простого движка регулярных выражений, который сможет использовать шаблон [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

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
🔥 Дайджест полезных материалов из мира Golang за неделю

Почитать:
Улучшенная маршрутизация HTTP-серверов в Go 1.22
Антипаттерны в TDD
Зачем нужны модульные тесты и как заставить их работать на вас
Малоизвестный пакет Go, который пригодится при выполнении SQL-миграций
7 концепций SQL, которые необходимо знать для работы с данными
Build and test a Golang app with Gitness
REST Servers in Go: Part 1 - standard library
REST Servers in Go: Part 2 - using a router
Browser Performance Testing using k6
What to expect from a Backend Development Platform
Build an Event-Driven Uptime Monitor in Go 🚀
Locating failing test cases in table-driven tests in Go
Golang Web API Course: Project configuration management using Viper
Solve code complexity (in Go)
Diving into CORS with Nitric in GO
I'm going back to school, Live
Resilient Systems using Go: Semaphores

Посмотреть:

🌐 NATS.io: Beyond hello world / David Gee
🌐 An Intro to Pocketbase / Haseeb Majid
🌐 How to Rewrite a Service / Michal Bock
🌐 OpenTelemetry with AWS / Luke Stoward
🌐 A Purist's Guide to Type-Driven Design in Go / Angus Morrison
🌐 Go and Rust: Together at Last / Barnaby Keene
🌐 Go + CUE - A Match Made In Heaven! / Paul Jolly
🌐 Bundling Tasks with Taskfile / Talha Altinel
🌐 Featherweight Go / Raymond Hu, Julien Lange, Bernardo Toninho
🌐 Пишем телеграм бота для скачивания #yotube видео ( 20:41)
🌐 Golang And Svelte LIVE Development ( 01:21:37)
🌐 Golang And Svelte - Swapping To Server Side Rendering ( 01:27:49)
🌐 Не делай этого, когда изучаешь программирование ( 03:43)
🌐 Совет начинающим программистам #айти #программирование #программист ( 00:39)
🌐 Linked Lists in Go | Data Structures and Algorithms ( 20:31)
🌐 Backgrounds Jobs with Go Routines! - Golang Concurrency Example ( 05:58)

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

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🦅 FalconHound - это новый многофункциональный инструмент информационной безопасности.

FalconHound - проект с открытым исходным кодом, написанный на Go для Blue Team. Blue team — это команда защиты информационной безопасности. Чаще всего это аналитики и инженеры внутреннего SOC компании или сторонней организации, которая предоставляет свои услуги на аутсорсе.

Одними из самых сложных данных для безопасников являются данные о членстве в локальных группах и информация о сессиях. FalconHound может использоваться для сбора этой информации и добавления ее в графы. Это лишь пример использования FalconHound. С его помощью можно собирать любую информацию, содержащуюся в логах.

Если пользователь добавлен в определенную группу, FalconHound может быть использован для запроса базы данных на предмет кратчайшего пути к чувствительной или высокопривилегированной группе.

FalconHound обеспечивает:

Создание, добавление, удаление и сеансов на графе на основе событий входа и выхода из системы.
Пометка пользователей и компьютеров как скомпрометированных
Добавление в граф информации о CVE и наличии общедоступного эксплойта.
Сбор активности с Azure.
Перерасчет кратчайшего пути к чувствительным группам при добавлении пользователя в группу или получении новой роли.
Добавление в граф новых пользователей, групп и компьютеров.
Формирование отчетов для Sentinel и Splunk, например отчетов, пользователей, имеющих доступ к Kerberoast, или пользователей, владеющих определенными сущностями.

📌 Github

@Golang_google