Please open Telegram to view this post
VIEW IN TELEGRAM
😁182👍25🔥8❤6🤯6🤬3😢2
🔗 Alice — лаконичный инструмент для цепочки HTTP-middleware в Go. Вместо вложенных вызовов в духе
В отличие от альтернатив, здесь нет магии: под капотом обычный цикл, последовательно применяющий конструкторы. Инструмент имеет совместимость с любым middleware вида
🤖 GitHub
@golang_google
Middleware1(Middleware2(App))
он предлагает линейный синтаксис через alice.New(), сохраняя при этом полный контроль над порядком выполнения. Проект не пытается переизобретать middleware, а просто автоматизирует их обёртку. В отличие от альтернатив, здесь нет магии: под капотом обычный цикл, последовательно применяющий конструкторы. Инструмент имеет совместимость с любым middleware вида
func(http.Handler) http.Handler
и прозрачность поведения.🤖 GitHub
@golang_google
❤10👍7😁7🥰2🤔1
📝 Goldmark — быстрый и расширяемый парсер Markdown для Go, полностью соответствующий спецификации CommonMark 0.31.2. Он не только придерживается стандартов, но и предлагает гибкость для кастомизации: можно добавлять собственные правила разбора, трансформеры и рендереры.
Проект выделяется чистотой кода, отсутствием внешних зависимостей и поддержкой популярных расширений вроде GFM, таблиц, списков задач и сносок. При этом парсер работает даже через WASM — на сайте есть интерактивная песочница для тестирования.
🤖 GitHub
@golang_google
Проект выделяется чистотой кода, отсутствием внешних зависимостей и поддержкой популярных расширений вроде GFM, таблиц, списков задач и сносок. При этом парсер работает даже через WASM — на сайте есть интерактивная песочница для тестирования.
🤖 GitHub
@golang_google
🔥26👍6❤3
This media is not supported in your browser
VIEW IN TELEGRAM
—
brew install lazygit
lazygit — это простой интерфейс терминала для команд git.
GUI сделан на основе библиотеки
gocui
, с помощью которой можно реализовать полноценные окна и взаимодействие с ними в терминале.lazygit можно гибко настраивать под себя, начиная с цветовой гаммы и заканчивая добавлением новых команд или горячих клавиш. Все настройки лежат в файле
config.yml
: в Linux — ~/.config/lazygit/config.yml
, в MacOS — ~/Library/Application Support/lazygit/config.yml
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍8🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Для Серёжи рабочий день — не шум принтера и звук кофемашины. А друзья в команде, посиделки после работы и проекты по душе 🙂
Сейчас Серёжа делает бэкенд всей VK более отказоустойчивым, и в его команде не хватает Go-разработчика, чтобы затащить эту цель. Возможно, это именно вы: откликайтесь, если откликается!
Сейчас Серёжа делает бэкенд всей VK более отказоустойчивым, и в его команде не хватает Go-разработчика, чтобы затащить эту цель. Возможно, это именно вы: откликайтесь, если откликается!
😁26❤4🤬4🔥3👍2
Что внутри:
— Автоматически добавляет атрибуты (userID, traceID и др.) из контекста в логи
— Позволяет вытаскивать логгер из контекста и логировать где угодно
— Совместим с
slog
, logr
, OpenTelemetry, gRPC📦 GitHub:
https://github.com/veqryn/slog-context
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥3🤬1😢1
🛠️ Uncloud — лёгкий кластерный инструмент для управления контейнеризированными приложениями через сеть Docker-хостов.
Это мост между Docker и Kubernetes — без их сложности.
🚀 Ключевые возможности
- Децентрализованный кластер без единой точки управления — каждый узел хранит синхронное состояние
- WireGuard mesh — приватная сеть между хостами без лишней настройки
- Автоматическое обнаружение сервисов и балансировка с TLS через встроенный Caddy
- Знакомый Docker Compose — можно запускать привычные
- Zero-downtime deploy — rolling-обновления и автоматический откат (в разработке)
🌍 Где использовать
- Облачные VM, bare-metal, гибридные кластеры
- Для разработчиков и self-hosting — альтернатива Kubernetes
- Домашние лаборатории — развёртывание на spare-хостах без усилий
⚡ Почему Uncloud?
- Убирает большую часть боли Kubernetes и Docker Swarm
- Предоставляет понятную и лёгкую инфраструктуру
- Даёт мощь multi-host окружения без операционных сложностей
https://github.com/psviderski/uncloud
@golang_google
Это мост между Docker и Kubernetes — без их сложности.
🚀 Ключевые возможности
- Децентрализованный кластер без единой точки управления — каждый узел хранит синхронное состояние
- WireGuard mesh — приватная сеть между хостами без лишней настройки
- Автоматическое обнаружение сервисов и балансировка с TLS через встроенный Caddy
- Знакомый Docker Compose — можно запускать привычные
compose.yaml
, без новой DSL - Zero-downtime deploy — rolling-обновления и автоматический откат (в разработке)
🌍 Где использовать
- Облачные VM, bare-metal, гибридные кластеры
- Для разработчиков и self-hosting — альтернатива Kubernetes
- Домашние лаборатории — развёртывание на spare-хостах без усилий
⚡ Почему Uncloud?
- Убирает большую часть боли Kubernetes и Docker Swarm
- Предоставляет понятную и лёгкую инфраструктуру
- Даёт мощь multi-host окружения без операционных сложностей
https://github.com/psviderski/uncloud
@golang_google
👍9❤6🔥3
✨ powerline-go — минималистичная замена Powerline для Bash, Zsh и Fish, написанная на Go. Проект показывает статус Git/Mercurial, путь в сокращённом виде, виртуальные окружения Python/Ruby и даже время выполнения последней команды.
Инструмент имеет кастомизацию через флаги: можно менять тему, скрывать лишние сегменты или добавить правую часть промпта. Работает без зависимостей — достаточно скачать бинарник или собрать из исходников.
🤖 GitHub
@golang_google
Инструмент имеет кастомизацию через флаги: можно менять тему, скрывать лишние сегменты или добавить правую часть промпта. Работает без зависимостей — достаточно скачать бинарник или собрать из исходников.
🤖 GitHub
@golang_google
❤11👍6🥰3
Это прямая реклама онлайн курсов по программированию.
Погоди-погоди! Не скипай. Я очень быстро постараюсь объяснить тебе разницу между “нами” и “другими”.
Мы гарантируем не только трудоустройство после курса по Go-разработке, но и минимальную зарплату. То есть ты не просто “устроишься и ладно”. Нам важно, чтобы ты получал как можно больше - мы с этого зарабатываем. Поэтому мы гарантируем тебе 120.000 рублей с первого же месяца работы после курса.
Согласись, гарантия в 120.000 рублей, а не просто «трудоустройство», это совсем другой уровень ответственности. Ведь многие курсы считают свою задачу выполненной, даже если ты устроился за 40к - и как ты будешь возвращать вложения с такой зарплатой, их уже не волнует.
Это - основное отличие. Теперь коротко про курс: море практики, командные проекты, коллы с ментором - всё, как ты любишь.
Про язык: Go это относительно молодой, достаточно простой для изучения (всего 50 страниц документации), жутко востребованный в 2025 году (это только начало!) и эпически высокооплачиваемый. Так что 120к - это действительно минимальная зарплата при грамотном подходе.
Собственно, это всё. Будь зайкой, запишись на консультацию, расскажем всё подробнее. Это бесплатно: https://kata.pw/OMqjt8
#реклама
О рекламодателе
erid: 2W5zFHRDoYc
Погоди-погоди! Не скипай. Я очень быстро постараюсь объяснить тебе разницу между “нами” и “другими”.
Мы гарантируем не только трудоустройство после курса по Go-разработке, но и минимальную зарплату. То есть ты не просто “устроишься и ладно”. Нам важно, чтобы ты получал как можно больше - мы с этого зарабатываем. Поэтому мы гарантируем тебе 120.000 рублей с первого же месяца работы после курса.
Согласись, гарантия в 120.000 рублей, а не просто «трудоустройство», это совсем другой уровень ответственности. Ведь многие курсы считают свою задачу выполненной, даже если ты устроился за 40к - и как ты будешь возвращать вложения с такой зарплатой, их уже не волнует.
Это - основное отличие. Теперь коротко про курс: море практики, командные проекты, коллы с ментором - всё, как ты любишь.
Про язык: Go это относительно молодой, достаточно простой для изучения (всего 50 страниц документации), жутко востребованный в 2025 году (это только начало!) и эпически высокооплачиваемый. Так что 120к - это действительно минимальная зарплата при грамотном подходе.
Собственно, это всё. Будь зайкой, запишись на консультацию, расскажем всё подробнее. Это бесплатно: https://kata.pw/OMqjt8
#реклама
О рекламодателе
erid: 2W5zFHRDoYc
🤬17😱6🔥4❤3😁3👍1
🔐 Permitta — простая и понятная Go-библиотека для контроля доступа (permission management)
✅ Что умеет:
- Управление правами CRUD‑операций (Create, Read, Update, Delete, Execute)
- Тайминг доступа: можно задать, когда права действуют (час/день/неделя и др.)
- Ограничения по квоте и пакетной обработке
- Контроль на уровне сущности: пользователь, роль, группа, организация
- Упорядочение проверки прав — от общего к частному
⚙️ Почему удобно:
- Логика интуитивна, но справляется с комплексными сценариями
- Ясная структура — подойдёт и новичкам, и опытным разработчикам
- Open-source (MIT), легко добавить в проект:
📌 Github
@golang_google
✅ Что умеет:
- Управление правами CRUD‑операций (Create, Read, Update, Delete, Execute)
- Тайминг доступа: можно задать, когда права действуют (час/день/неделя и др.)
- Ограничения по квоте и пакетной обработке
- Контроль на уровне сущности: пользователь, роль, группа, организация
- Упорядочение проверки прав — от общего к частному
⚙️ Почему удобно:
- Логика интуитивна, но справляется с комплексными сценариями
- Ясная структура — подойдёт и новичкам, и опытным разработчикам
- Open-source (MIT), легко добавить в проект:
go get -u github.com/limitlessDonald/permitta
📌 Github
@golang_google
❤10👍5🥰3🤔2
В Datadog обновили Go до версии 1.24 и сразу заметили резкое падение использования памяти.
Почему?
В Go 1.24 появилась новая реализация хеш-таблиц — Swiss Tables, вдохновлённая подходом от Google.
📌 Что изменилось в Go:
— больше никаких overflow-бакетов
— увеличен load factor до 87.5%
— аллокация гибче: split вместо полного копирования
— меньше фрагментации и лучше кэш-локальность
📊 Пример:
map с 3.5 млн элементов:
• Go 1.23 — 726 MiB на бакеты
• Go 1.24 — 217 MiB
→ Экономия: ~500 MiB на одну карту
Но настоящая магия началась позже:
🛠️ Они нашли, что в структуре
Response
:• были неиспользуемые поля (`RoutingKey`, `LastModified`)
• поле
ShardType
было int
, хотя хватало uint8
После чистки размер структуры упал с 56 до 24 байт — и это дало ещё -250 MiB RSS с одного пода.
💡 Выводы:
1. Обновление Go = бесплатная оптимизация карт
2. Оптимизация структуры данных = ещё больше профита
3. Профилирование и метрики — must-have
📉 В итоге: сотни гигабайт экономии без изменения логики приложения.
🔗 Полный разбор:
https://www.datadoghq.com/blog/engineering/go-swiss-tables
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71👍19❤10👏1