37.3K subscribers
1.48K photos
35 videos
5 files
1.63K links
加入频道
👣 "Go Docs Syntax Highlighter" - это полезное для Гоферов Chrome расширение, которое
добавляет синтаксическую подсветку (раскрашивает ключевые слова, типы данных, строки, комментарии и т.д.) к блокам кода Go на различных сайтах и документах.

Расширение делает примеры кода значительно более наглядными и легкими для восприятия.

🔗 Скачать

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 browserhttp

Go-пакет, который полностью совместим с интерфейсом http.Client.

Однако, в отличие от стандартного клиента, он использует настоящий безголовый браузер (Chrome через библиотеку chromedp) для отправки запросов и взаимодействия с веб-страницами.

Данный подход позволяет:

- Выполнять рендеринг JavaScript и обрабатывать динамические страницы «как настоящий браузер» (включая работу с куками, DOM, скриптами).

- Обходить системы защиты (например, WAF или анти-бот средства), которые могут блокировать стандартные HTTP-запросы.

Автоматизировать действия в браузере (заполнение форм, клики, переходы по ссылкам) для тестирования, сканирования и скрапинга.

Основные возможности
- Полная совместимость с http.Client
Можно использовать browserhttp в существующем коде как замену стандартному клиенту (метод Do(*http.Request)).

- Реальные сессии с помощью Chrome
Запросы обрабатываются внутри настоящего браузера, обеспечивая поведение, максимально близкое к «живому» пользователю.

- Поддержка GET и POST
Базовые HTTP-запросы отправляются так же, как в стандартном клиенте.

- Симуляция отправки форм
Можно взаимодействовать с динамическими формами, которые зависят от JavaScript.

- Подробный лог запросов
При включённом режиме EnableVerbose() можно отлаживать и отслеживать все действия клиента.

- Сохранение сессии
Поддерживаются многоэтапные сценарии с сохранением вкладок и сессий между запросами (например, логин → переход к другой странице).

✔️ Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 Vince — локальная альтернатива Google Analytics на Go

Vince — self-hosted система веб-аналитики с упором на конфиденциальность и простоту развертывания.

Основные характеристики:
— Установка одной командой (bash, Docker, Helm)
— Без использования cookie
— Соответствие GDPR, CCPA, PECR
— Поддержка событий: клики, загрузки, ошибки 404, пользовательские действия
— Интеграция с Plausible-совместимыми скриптами
— Автоматический TLS (Let's Encrypt)
— Возможность публичных дашбордов
— Неограниченное число сайтов и событий

Система не поддерживает воронки, но охватывает базовую аналитику: уникальные посетители, просмотры, длительность сессий, разбивку по источникам и устройствам.

Плюсы: полный контроль над данными, отсутствие внешних трекеров, минималистичный скрипт.

🔗 Репозиторий

@golang_google
👣 Wax

Это попытка принести JSX / TSX синтаксис в мир Go-шаблонов.

Не SSR, не React, а альтернатива html/template и Templ с более выразительным и современным синтаксисом.

📌 В чём суть?
Wax позволяет писать Go-шаблоны, используя знакомую по фронтенду структуру JSX-компонентов — но всё это компилируется и работает на Go-бэкенде.

🧩 Что под капотом?

- JSX/TSX обрабатывается через esbuild
- Код транслируется в Go-шаблоны с типами

🧪 Это похоже на рендеринг компонентов, но на Go — без React, VDOM Чистый вывод HTML, но с привычным JSX-стилем.

📜 Wax компилирует JSX в Go-код, минуя всю экосистему React.

Подойдет тем, кто хочет писать компоненты в духе React, но оставаться в Go-экосистеме и тем, кто делает JAMStack / MPA / гибридные сайты без тяжёлого фронта

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 depgraph

Инструмент для анализа зависимостей Go-модулей (на GitHub).

🔍 Что делает:
- Сканирует указанные GitHub-аккаунты или организации
- Ищет публичные репозитории с Go-кодом
- Читает их go.mod файлы (в них указаны зависимости)
- Строит граф зависимостей между модулями

📦 Выводит:
Граф зависимостей в формате DOT (можно визуализировать через Graphviz)

Или топологическую сортировку — порядок, в котором модули зависят друг от друга (например, для правильной сборки)

Пример применения:
- У тебя есть несколько Go-проектов в организации, и ты хочешь:- Понять, какие модули используют какие зависимости
- Найти циклы, повторяющиеся зависимости
- Визуализировать это как граф

go install github.com/ldemailly/depgraph@latest

🔗Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣  Возможность стать частью команды ВКонтакте для Go-разработчиков

💡 ВКонтакте запускает технологический проект по переходу на сервисную архитектуру и построению единой платформы разработки. Для развития современного технологического стека и написания архитектуры планируется привлечь больше 100 Go-разработчиков.

🗓  24 апреля в офисе компании в Питере пройдет митап. На нем можно будет узнать о том, как попасть в команду и что надо будет делать.

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go-audit — альтернатива auditd от Slack на Go 🐹

go-audit — лёгкое и эффективное решением для аудита безопасности в Linux, созданным инженерами из Slack.

🔧 Что это такое?
go-audit — это демон, который напрямую подключается к ядру Linux через audit netlink socket (/dev/audit) и перехватывает системные события в реальном времени — без использования ausearch или разбора логов вручную.

🧠 Что он умеет?
Подключается напрямую к audit subsystem через netlink
Слушает события ядра: запуск процессов, доступ к файлам, ошибки и т.п.
Преобразует их в структурированный JSON
Отправляет данные в:
stdout / файл
syslog
HTTP / Kafka
Поддерживает фильтрацию событий по типу
Подходит для real-time мониторинга и интеграции с SIEM-системами

⚙️ Почему это важно?
Это быстрая, расширяемая и удобная альтернатива auditd, особенно если вы работаете с современными инструментами логирования и хотите больше контроля над потоками событий.

📁 Репозиторий

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос:

Что будет выведено на экран?


Напишите полный вывод программы и объясни, почему именно так.


package main

import (
"fmt"
"time"
)

type Speaker interface {
Speak() string
}

type Person struct {
name string
}

func (p Person) Speak() string {
return "Hi, I'm " + p.name
}

func main() {
var s Speaker
p := Person{name: "Alice"}
s = p

p.name = "Bob"

fmt.Println(s.Speak()) // (1)

func() {
s := p // shadowing: s — это теперь Person, а не Speaker
fmt.Println(s.Speak()) // (2)
}()
go func(p Person) {
time.Sleep(10 * time.Millisecond)
fmt.Println(p.Speak()) // (3)
}(p)

p.name = "Charlie"

time.Sleep(20 * time.Millisecond)
}


💡Подсказки:
Что происходит с интерфейсами в Go при присвоении структур?

Что такое shadowing и как это влияет на s внутри анонимной функции?

Как работает передача аргументов в goroutine?

Как изменения структуры после передачи влияют на уже переданные значения?



Ответ:

Hi, I'm Alice
Hi, I'm Bob
Hi, I'm Bob


@golangtests
👣 Ninjabot — фреймворк для алгоритмического трейдинга на крипторынке, написанный на Go.

Он позволяет тестировать стратегии на исторических данных и запускать их в реальной торговле на Binance (спот и фьючерсы).

Проект позиционируется как образовательный, но выглядит более чем серьезно — здесь есть backtesting, симулятор бумажного кошелька и даже CLI для загрузки рыночных данных. В примерах можно найти готовые стратегии с визуализацией сделок через веб-интерфейс.

🖥 GitHub

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 «Streaming Large Files Between Microservices: A Go Implementation» - практическое руководство по эффективной передаче больших файлов между микросервисами на Go.​

🔍 Основная идея
Автор предлагает решение для передачи больших данных между микросервисами, используя стандартные возможности HTTP/1.1, такие как Range-запросы и заголовки Content-Encoding. Цель — избежать загрузки всего файла в память и обеспечить возможность возобновления передачи при прерывании соединения.​


🛠️ Ключевые особенности
Потоковая передача данных: Использование io.Reader, io.Writer и bufio для чтения и записи данных по частям, что снижает нагрузку на память.​

Поддержка Range-запросов: Позволяет клиенту запрашивать конкретные части файла, что особенно полезно при возобновлении прерванных загрузок.​

Селективное сжатие
: Сервер сжимает данные с помощью gzip только при определенных условиях, учитывая тип содержимого и размер чанка, а также поддержку со стороны клиента.​

Обработка прерываний: Реализация корректного завершения работы при получении сигналов SIGINT, SIGTERM и SIGHUP.​

Определение типа содержимого: Сервер определяет MIME-тип файла с помощью расширения и функции http.DetectContentType, что помогает в принятии решений о сжатии.​
DEV Community

📌 Почему это важно
Предложенный подход позволяет эффективно передавать большие файлы между микросервисами без необходимости использования сторонних сервисов хранения, таких как S3. Это особенно полезно в системах, где требуется высокая производительность и надежность передачи данных.​

📌 Подробности

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🌐 Weather MCP Server — лёгкий Go-сервер для ИИ-доступа к погоде

Этот проект реализует лёгкий сервер на Go по протоколу MCP (Model Context Protocol). Он позволяет ИИ-ассистентам, таким как Claude, подключаться к погодным API и интерпретировать данные в реальном времени.

🧩 Что делает:
Предоставляет интерфейс MCP для интеграции с LLM
Получает и обрабатывает прогноз с OpenWeather API
Позволяет ИИ «понимать» текущую погоду и тренды
Подходит для систем, где ИИ должен принимать решения на основе реальных данных

🚀 Используется как context tool — внешняя служба, к которой ИИ обращается за фактами.

🔗 Репозиторий
👣 Fibratus — инструмент для мониторинга и трассировки ядра Windows.

Он позволяет отслеживать системные события, включая:
- запуск и завершение процессов
- операции с файловой системой
- изменения в реестре
- сетевую активность
- и другие сигналы наблюдаемости

📌 Fibratus работает без драйверов и стороннего ПО, делая его удобным и эффективным для анализа системы.

$ msiexec /i fibratus-2.3.0-amd64.msi /qn

🔗 GitHub

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Go2o — фреймворк для O2O-коммерции на Golang.

Это реализация Domain-Driven Design на Go, предлагающая готовые модули для мультиканальных продаж, управления заказами, платежами и логистикой.

Проект разбит на четыре компонента: панель управления, интернет-магазины, центр лояльности и API для интеграции. Особенность фреймворка — глубокая бизнес-логика и поддержка сценариев вроде snapshots товаров.

🤖 GitHub

@golang_google
👣 Dish — минималистичный инструмент для мониторинга сокетов (Go)

Лёгкий и автономный агент, проверяющий доступность TCP/HTTP-соединений. Не требует серверов или сложной установки.

🛠 Возможности:
🔄 Параллельные проверки сокетов (из JSON-файла или API)

Уведомления: Telegram, Webhook, Prometheus Pushgateway, REST API

🧩 Можно запускать по cron без постоянного демона

💾 Кэширование API-ответов при недоступности сервера

🌍 Распределённый мониторинг: агенты на разных хостах, централизованная конфигурация

📦 Установка:

go install go.vxn.dev/dish/cmd/dish@latest
# или
brew install dish


🔗 Подробнее

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Яндекс Вертикали в поисках старшего разработчика, который поможет развивать IDP

Вертикали — это сервисы Авто.ру, Яндекс Недвижимость, Аренда и Путешествия. Все они помогают людям найти что-то действительно важное: дом или машину, а также организовать отпуск или командировку.

Сейчас бизнес-юнит развивает платформенное решение для комфортной, быстрой и качественной разработки. Пользователи платформы — разработчики, тестировщики и аналитики из команд Вертикалей. 

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

Можно работать на гибриде или в офисе — в Питере и Москве.

В условия входят все плюшки Яндекса: расширенная программа ДМС, гибкий график, спорт и многое другое.

Откликайтесь здесь.
👣 lordaris/resume_generator

Полнофункциональное веб-приложение для создания резюме.

🛠️ Стек технологий:
- Backend: Go (REST API)
- Frontend: React
- База данных: PostgreSQL
- Кэш: Redis
- Контейнеризация: Docker + Docker Compose

💡 Подходит для pet-проектов или для своего генератора PDF/резюме.

🔗 GitHub

#Resume #Go #React #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 env — библиотека, предлагающая минималистичный способ загружать конфигурацию из env-переменных в структуры.

В отличие от аналогов вроде viper, проект имеет zero-dependencies подход и понятную обработку ошибок. Теги вроде required илиenv — биделают валидацию конфига прозрачной без лишнего кода.

🤖 GitHub

@golang_google
👣 Xilt — парсер CLF-логов с записью в SQLite
Нужен лёгкий и быстрый инструмент для анализа логов в формате Common/Combined Log Format? Попробуй Xilt — CLI-утилиту на Go с поддержкой многопоточности.

Что умеет:
📥 Парсит .log-файлы и сохраняет в SQLite
⚙️ Управление потоками - avgLogSize, batchSize, maxMemUsage
🧠 Автоиндексы по IP, методу, пути, времени, referer
💻 Verbose-режим для дебага
🟨 Go-install без проблем

📦 Установка:

go install go.vxn.dev/xilt/cmd/xilt@latest


▶️ Запуск:

xilt access.log logs.db


🔗 GitHub — thevxn/xilt

#Golang #Logs #SQLite #CLItools #DevOps

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣Higress — это современный облачно-нативный API-шлюз с открытым исходным кодом, разработанный Alibaba.

Он построен на базе Istio и Envoy и предназначен для интеграции в инфраструктуру микросервисов, обеспечивая управление трафиком, безопасность и поддержку AI-сервисов.​

🔧 Основные возможности Higress
Интеграция с AI-сервисами: Higress поддерживает AI-ориентированные функции, включая интеллектуальное управление трафиком и безопасность контента.​

- Поддержка WebAssembly (Wasm): Позволяет расширять функциональность шлюза с помощью плагинов, написанных на различных языках программирования.​

- Соответствие стандартам: Поддерживает стандарты Ingress, Gateway API и Istio API, обеспечивая совместимость с другими решениями.​

- Управление API: Предоставляет функции для управления API, включая аутентификацию, авторизацию и мониторинг.​

🌐GitHub: github.com/alibaba/higress
🔗 Официальный сайт: higress.cn

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