39.1K subscribers
1.66K photos
46 videos
5 files
1.79K links
Download Telegram
👣 PGMCP: AI-Driven PostgreSQL Queries

PGMCP позволяет взаимодействовать с любыми базами данных PostgreSQL через естественные языковые запросы. Пользователи могут задавать вопросы на английском и получать структурированные результаты SQL с автоматической обработкой ошибок и потоковой передачей данных.

🚀Основные моменты:
- Поддержка любого PostgreSQL без изменений схемы
- Безопасный доступ только для чтения
- Автоматическая потоковая передача больших наборов данных
- Интеллектуальное понимание запросов
- Множественные форматы вывода (таблица, JSON, CSV)

📌 GitHub: https://github.com/subnetmarco/pgmcp

@golang_google

#go #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥7😁65🤯1
👣 Devsyringe — это CLI-утилита (написана на Go), которая позволяет инжектить динамические значения в код или конфигурации, опираясь на декларативные правила описанные в YAML

🚀Главное:
- Инъекция в любые целевые файлы.
- Поддержка извлечения данных из командной строки.
- Конфигурация через YAML-файлы.
- Удобный интерфейс для управления процессами.

📌 GitHub: https://github.com/alchemmist/devsyringe

#go #golang

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔166👍3🔥1🤩1
👣 TableWriter for Go

Удобная Go-библиотека tablewriter для создания таблиц в разных форматах: ASCII, Unicode, Markdown, HTML и с цветами для терминала.

Подходит для:

- CLI-утилит
- логов
- веб-приложений

Простой инструмент, если нужно быстро и красиво вывести табличные данные.

go get github.com/olekukonko/tablewriter@v0.0.5

🟢 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥108🤬1
PostgreSQL 17: архитектура и тюнинг SQL-запросов

Погрузись в архитектуру и прокачай оптимизацию запросов одной из самых популярных open source СУБД – PostgreSQL.

🌐 В программе курса:

🤩 Разберем, как работают СУБД вообще и PostgreSQL в частности: что такое MVCC, ACID, WAL, LRU, PPC/TPC и другие фундаментальные понятия архитектуры баз данных
🤩 Получите свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – БЕСПЛАТНО на время обучения предоставляется
🤩 Получите теорию и практику EXPLAIN и EXPLAIN ANALYZE на разных типа запросов
🤩 Изучите архитектуру хранения данных в PostgreSQL, типы и особенности индексов, а также получите полезные советы и трюки оптимизации БД

Кто мы: R&D-центр Devhands, основатель школы Алексей Рыбак. Автор курса — Николай Ихалайнен, эксперт по СУБД (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.

🗓 Старт курса: 16 октября, 5 недель обучения.

Изучить программу и записаться можно здесь.

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzquiQ76e
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥3🤬1
📦 Для Go появился лёгкий и удобный инструмент для событийной архитектуры

signals — это минималистичная библиотека без зависимостей, которая реализует простой pub-sub механизм для ваших Go-приложений.

Особенности:
- никаких внешних зависимостей
- тонкий и понятный API
- удобный in-process event system

Репозиторий: https://github.com/maniartech/signals

#golang
13👍7🔥7
🆕 На Stepik вышел курс — «Golang + SQLx: построение высоконагруженных сервисов с нуля до продакшена» 

Уже пишете на Go и хотите разобраться, как строить быстрые и отказоустойчивые сервисы? Этот курс — именно то, что нужно, чтобы прокачать навыки работы с SQLx и backend-архитектурой.

• Полный путь от CRUD-операций до масштабируемых систем: транзакции, уровни изоляции, конкурентное программирование, балансировка нагрузки
• Оптимизация SQL: индексы, кэширование, профилирование запросов
• Масштабирование и администрирование сервисов: кластеры, отказоустойчивость, мониторинг и логирование
• Практика на реальных кейсах: проектируем API, отрабатываем ошибки, настраиваем CI/CD
• 150+ интерактивных заданий с автопроверкой — пишите код прямо в браузере, когда удобно
• Итоговый pet-project: к концу курса у вас будет готовый сервис уровня продакшн

🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn

🚀 Прокачайте Golang и SQLx с пользой и практикой. Начните уже сегодня и получите скидку 30%, которая действует в течение 48 часов.

👉 Пройти курс на Stepik
🤬14🤔82😁1😱1
👣 Scrutiny: Умный мониторинг состояния жестких дисков

Scrutiny — это веб-интерфейс для мониторинга S.M.A.R.T. состояния жестких дисков, интегрированный с smartd. Он помогает отслеживать критические метрики и предсказывать сбои, предоставляя удобный интерфейс для анализа данных.

🚀Основные моменты:
- Веб-интерфейс с акцентом на критические метрики
- Интеграция с smartd для автоматического обнаружения дисков
- Историческое отслеживание S.M.A.R.T. атрибутов
- Настраиваемые пороги на основе реальных данных о сбоях
- Поддержка уведомлений через вебхуки

📌 GitHub: https://github.com/AnalogJ/scrutiny

#go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥52🥰2🤬1
В хабе на Хабр «Разработка публичных облаков» — свежие статьи
от инженеров MWS Cloud Platform ⬜️.

Ценности решают. Как пять принципов помогли вырасти с 150 до 520 человек и запустить IaaS за год.

Binapi и VPP. Программируем SR Policy на Go, разбираем грабли и показываем рабочий прототип для traffic engineering.

Control plane под замком. Зачем прятать мастера Kubernetes и какие решения мы протестировали в Managed Kubernetes.

SPDK для VM. Почему стандартного QEMU мало и как мы ускоряли диски в публичном облаке.

eBPF & Security. Новые возможности для Cilium и Falco и новые риски: атаки на maps, io_uring и rootkits.

🔗 Подпишись на облачный хаб MWS — там регулярно рассказываем, как строим новое облако с нуля.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
👣 Kriti Images: высокопроизводительный сервис трансформации изображений на Go

Это open-source альтернатива Cloudflare Images и ImageKit:
- ⚡️ Реальное время — обработка картинок через URL-API
- 🛠 Построено на Go для максимальной производительности
- 🌐 Удобно интегрировать в любые веб-сервисы

🔗 Репозиторий: https://github.com/kritihq/kriti-images

@Golang_google

#golang #go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1210🔥6🤔1
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀

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

📦 Научитесь строить архитектуру, устойчивую к изменениям.

Что будет на обучении?

Создадим полноценный микросервис
Разберем все тактические паттерны DDD
Реализуем Use Case и Domain Service
Напишем много тестов
Реализуем HTTP, gRPC и Kafka адаптеры


📢 Повышайте свою ценность, как специалиста, прямо сейчас👉 https://microarch.ru/courses/ddd/languages/go?utm_source=posev&utm_medium=erid:2Vtzqvvi8v1&utm_campaign=4

Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqvvi8v1
🤬32
Ophis - golang утилита, которая автоматически превращает ваши Cobra-команды в MCP-инструменты.

🔥 Плюсы:
- Мгновенная конверсия Cobra → MCP
- CLI-команды для интеграции с Claude и VSCode
- Упрощает подключение к MCP без лишних движений

🔗 Репозиторий: https://github.com/njayp/ophis

#golang #cli #MCP
👍124🔥3
Graceful Shutdowns в Go HTTP-серверах: как обеспечить 0 простоев при живом трафике

Graceful shutdown - это “прощание с клиентами”, когда сервер:
- перестаёт принимать новые запросы
- даёт завершиться текущим запросам
- чистит ресурсы (базы, файлы и т.д.)
- и только потом закрывается

Зачем это нужно:
Если просто “убить” сервер:
- запросы могут оборваться на полпути (например, оплата)
- пользователи получат ошибки или потеряют данные
- могут остаться “висячие” соединения и утечки ресурсов

Graceful shutdown решает это, особенно важно при деплое, перезагрузках, работе в Kubernetes/Docker.

# Как это сделать в Go
1. Использовать http.Server.Shutdown(ctx) - сервер перестаёт принимать новые запросы, но завершает текущие в рамках таймаута.
2. Перехватывать сигналы ОС (`SIGINT`, SIGTERM`) через `os/signal, чтобы начать shutdown.
3. Использовать context.WithTimeout, чтобы ограничить время завершения.
4. Корректно закрывать ресурсы: БД, логи, файлы и т.д.

# Пример кода

package main

import (
"context"
"log"
"net/http"
"os"
"os/signal"
"time"
)

func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
time.Sleep(3 * time.Second)
w.Write([]byte("Request done"))
})

server := &http.Server{
Addr: ":8080",
Handler: mux,
}

go func() {
log.Println("Server starting on :8080")
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatalf("ListenAndServe error: %v", err)
}
}()

stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt, os.Kill)

<-stop
log.Println("Shutting down server...")

ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

if err := server.Shutdown(ctx); err != nil {
log.Fatalf("Forced shutdown: %v", err)
}

log.Println("Server exited gracefully")
}


Вывод

- Graceful shutdown — не просто “красивость”, а необходимая практика для надёжных Go-сервисов:
- минимизирует потери данных и ошибок для пользователей
- обеспечивает корректное завершение внутренних операций
- делает деплой и перезапуск безопасными и незаметными

https://blog.stackademic.com/graceful-shutdowns-in-go-http-servers-ensuring-zero-downtime-for-live-traffic-b8224b28ab4a
112🔥8👍2