Golang Portal
8.06K subscribers
417 photos
26 videos
7 files
448 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Golang-разработчика

Связь: @devmangx
Download Telegram
Go вчера исполнилось 16 лет 🥳🥳

Анализ последнего Developer Ecosystem Survey показывает, как за это время эволюционировали фреймворки, инструменты и практики разработки в экосистеме golang, и в каком направлении язык развивается в 2025 году

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
19🎉11👍4🔥3🏆1
Образы контейнеров FROM scratch стоит ли так делать? 🤔

Довольно часто можно встретить практику, когда статически слинкованный бинарник на Go просто кладут в образ, собранный FROM scratch. Но у такого подхода есть ряд подводных камней:

- нет rootfs-лейаута

- отсутствуют CA-сертификаты

- нет базы данных часовых поясов

Решение? Использовать distroless-базу вместо этого

Подробнее о проблеме и одном из возможных решений:
🔹Building Container Images FROM Scratch: 6 Pitfalls That Are Often Overlooked
🔹What's Inside Distroless Container Images: Taking a Closer Look

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7🔥4👎2
Лог-ориентированная база данных реального времени на Go, реплицирующаяся как шина сообщений для ИИ и периферийных вычислений

GitHub: unisondb

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
Построение конвейера «производитель–потребитель» в Go с использованием горутин и каналов

Статья рассказывает, как с помощью языковых механизмов Go (горутин и каналов) построить конвейер «производитель–потребитель», чтобы параллельно обрабатывать тяжёлые CPU-задачи и при этом безопасно записывать результаты в базу данных без конкуренции за запись

Читайте здесь

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118🔥2
Веб-инструмент на Go для удобного и уверенного управления конфигурациями Traefik

GitHub: traefikr

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3
Терминальный клиент для HTTP/GraphQL/gRPC с поддержкой SSH-туннелей, WebSocket, SSE, workflows, профилирования, OpenAPI и сравнения ответов

GitHub: resterm

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🤔1
Интересная статья: «миллионе способов словить data race в Go»

Автор разбирает разные паттерны, на которых легко поймать data race в Go, и даёт практичные советы, как избежать этих проблем в реальном коде

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
Самостоятельно развёртываемая файловая менеджмент-система на Go с поддержкой нескольких облачных хранилищ

GitHub: cloudreve

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62😁2
Каналы в Go легко использовать неправильно, если не знать правил:

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

- Чтение из закрытого канала никогда не приводит к панике.

- Закрытие nil-канала или уже закрытого канала вызывает панику.

Эти правила подсказывают простую модель владения:

Сторона, которая “владеет” жизненным циклом канала (обычно отправитель), должна быть единственной, кто имеет право закрывать канал, и должна сделать это ровно один раз, после того как все отправки завершены.

Потребители обычно не должны вызывать close.

Если у вас несколько отправителей, им нужно координироваться так, чтобы только один из них фактически выполнял закрытие. Обычный паттерн - обернуть close(ch) в sync.Once или направить все отправки через одну горутину, которая и становится единственным закрывающим, когда знает, что больше значений не будет.

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍118🔥3
Принято! Go 1.26 введёт метрики по состояниям горутин: выполняются, ожидают, в системных вызовах и т.д.

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

Подробнее тут

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍376🔥3
Если вы серьёзно занимаетесь Go, вам нужно подтянуть свой скилл в тестировании.

Эти слайды от со-основателя HashiCorp — одно из лучших материалов для изучения:

https://speakerdeck.com/mitchellh/advanced-testing-with-go

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3👎2
Лёгкое, self-hosted приложение для личных финансов с удобным интерфейсом и мощным функционалом для бухгалтерского учёта.

Бэкенд на Go

GitHub: ezbookkeeping

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍74👀1
Изучите эволюцию стратегий кеширования в разработке ПО, чтобы понять, как разные подходы помогают повысить производительность и снизить задержки в ваших приложениях.

В этой статье – детальное погружение в мир кеширования:
https://maypok86.github.io/otter/blog/cache-evolution/

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥3
При выполнении запросов к базе данных в Go используйте & в rows.Scan(), чтобы передавать адреса, а не значения.
Scan() нужно иметь возможность записывать данные напрямую в поля вашей структуры

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3😁2👎1
Современный, готовый к продакшену Go REST API для аутентификации и авторизации, включающий социальный логин, верификацию email, работу с JWT и интеграцию с Redis

https://github.com/gjovanovicst/golang-auth-api

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142🔥2
Принято! В Go 1.26 появится errors.AsType – современная, типобезопасная альтернатива громоздкому errors.As.

Никакого reflection. Никаких рантайм-паник. Лаконичный код. Это мощно✌️

https://antonz.org/accepted/errors-astype/

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍8
7 дней → первый сайт → первые 7–10 тыс. ₽.

Заработок на сборке сайтов начинается быстрее, чем ты думаешь.

Люди обычно думают: «Я не программист. У меня не получится.»
Но реальный заказ ценой до 10 000₽ — это чаще всего простая страница из повторяющихся блоков.

И именно такую страницу ты научишься собирать на бесплатном 7-дневном курсе по frontend-разработке от Романа Чернова — разработчика сайтов и приложений с 12-летним опытом.

За 7 коротких шагов ты:

1. Соберёшь настоящий заказ для портфолио;
2. Прокачаешь базовые навыки в разработке сайтов;
3. Построишь понятный маршрут, как расти от нуля до стабильного дохода на разработке сайтов и приложений.

И главное — ты почувствуешь уверенность.
Ведь ты увидишь, что престижная IT-профессия тебе по силам.

Вход бесплатный до 11 декабря.
😁6👎3🔥1
Упрощает конфигурацию Go-приложений через переменные окружения. В локальной разработке можно использовать файл .env с парами ключ/значение. В продакшене значения подтягиваются из secret manager.

GitHub: dotconfig

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔1
Вышли Go 1.25.5 и 1.24.11!

- Безопасность: Включают патчи для уязвимостей в crypto/x509 (CVE-2025-61729, CVE-2025-61727).

- Анонс: https://groups.google.com/g/golang-announce/c/8FJoBkPddm4/m/kYpVlPw1CQAJ

- Скачать: https://go.dev/dl/#go1.25.5

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6🔥2