Если вы серьёзно занимаетесь Go, вам нужно подтянуть свой скилл в тестировании.
Эти слайды от со-основателя HashiCorp — одно из лучших материалов для изучения:
https://speakerdeck.com/mitchellh/advanced-testing-with-go
👉 @GolangPortal
Эти слайды от со-основателя HashiCorp — одно из лучших материалов для изучения:
https://speakerdeck.com/mitchellh/advanced-testing-with-go
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3👎2
Лёгкое, self-hosted приложение для личных финансов с удобным интерфейсом и мощным функционалом для бухгалтерского учёта.
Бэкенд на Go
GitHub: ezbookkeeping
👉 @GolangPortal
Бэкенд на Go
GitHub: ezbookkeeping
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍7❤4👀1
Изучите эволюцию стратегий кеширования в разработке ПО, чтобы понять, как разные подходы помогают повысить производительность и снизить задержки в ваших приложениях.
В этой статье – детальное погружение в мир кеширования:
https://maypok86.github.io/otter/blog/cache-evolution/
👉 @GolangPortal
В этой статье – детальное погружение в мир кеширования:
https://maypok86.github.io/otter/blog/cache-evolution/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
При выполнении запросов к базе данных в Go используйте
👉 @GolangPortal
& в rows.Scan(), чтобы передавать адреса, а не значения.Scan() нужно иметь возможность записывать данные напрямую в поля вашей структурыPlease open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3😁2👎1
Современный, готовый к продакшену Go REST API для аутентификации и авторизации, включающий социальный логин, верификацию email, работу с JWT и интеграцию с Redis
https://github.com/gjovanovicst/golang-auth-api
👉 @GolangPortal
https://github.com/gjovanovicst/golang-auth-api
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2🔥2
Принято! В Go 1.26 появится
Никакого reflection. Никаких рантайм-паник. Лаконичный код. Это мощно✌️
https://antonz.org/accepted/errors-astype/
👉 @GolangPortal
errors.AsType – современная, типобезопасная альтернатива громоздкому errors.As.Никакого reflection. Никаких рантайм-паник. Лаконичный код. Это мощно
https://antonz.org/accepted/errors-astype/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍8
Упрощает конфигурацию Go-приложений через переменные окружения. В локальной разработке можно использовать файл .env с парами ключ/значение. В продакшене значения подтягиваются из secret manager.
GitHub: dotconfig
👉 @GolangPortal
GitHub: dotconfig
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
- Безопасность: Включают патчи для уязвимостей в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍7🔥4
Ключевые Go-паттерны, справочник по стандартной библиотеке и интерактивные примеры
https://app.gointerview.dev/cheatsheet
👉 @GolangPortal
https://app.gointerview.dev/cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥10❤5👎1
Многие статьи заставляют думать, что
Go держит пул переиспользуемых горутин на каждый процессор и глобальный пул, причём у части горутин в этих пулах уже есть прикреплённые стеки, а у части нет (см. диаграмму ниже)
Рантайм поддерживает динамический “начальный размер стека”, который пересчитывается в каждом цикле сборки мусора исходя из среднего использования стека всеми просканированными горутинами
Когда вы вызываете
Если размер стека повторно используемой горутины отличается от текущего “начального размера стека”, её старый стек освобождается, и ей выделяется новый стек ровно текущего начального размера.
Если подходящей повторно используемой горутины нет, рантайм выделяет новую с фиксированным начальным стеком 2 KiB ( на большинстве 64-битных Unix-подобных платформ)
👉 @GolangPortal #tip by Phuong Le
go func() {} всегда создаёт горутину с 2 KiB стека. Иногда так и есть, но далеко не всегда.Go держит пул переиспользуемых горутин на каждый процессор и глобальный пул, причём у части горутин в этих пулах уже есть прикреплённые стеки, а у части нет (см. диаграмму ниже)
Рантайм поддерживает динамический “начальный размер стека”, который пересчитывается в каждом цикле сборки мусора исходя из среднего использования стека всеми просканированными горутинами
Когда вы вызываете
go f(), рантайм может взять горутину и стек из пулов, поэтому многие горутины на самом деле стартуют с размером стека больше фиксированного минимума 2 KiB – например, 4 KiB, 8 KiB, 16 KiB и так далее.Если размер стека повторно используемой горутины отличается от текущего “начального размера стека”, её старый стек освобождается, и ей выделяется новый стек ровно текущего начального размера.
Если подходящей повторно используемой горутины нет, рантайм выделяет новую с фиксированным начальным стеком 2 KiB ( на большинстве 64-битных Unix-подобных платформ)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍9👎1
Простой сервер для отправки и получения сообщений в режиме реального времени через WebSocket (Включает лаконичный веб-UI)
GitHub: server
👉 @GolangPortal
GitHub: server
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел GoLand 2025.3!
Основные обновления:
- Онлайн-анализ утечек ресурсов прямо в редакторе
- Мультиагентный опыт с Junie и Claude Agent
- Встроенная поддержка Terraform
- Улучшенные Kubernetes-воркфлоу
- Редактирование одиночных файлов без создания проекта
Подробнее: https://jetbrains.com/go/whatsnew/
👉 @GolangPortal
Основные обновления:
- Онлайн-анализ утечек ресурсов прямо в редакторе
- Мультиагентный опыт с Junie и Claude Agent
- Встроенная поддержка Terraform
- Улучшенные Kubernetes-воркфлоу
- Редактирование одиночных файлов без создания проекта
Подробнее: https://jetbrains.com/go/whatsnew/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍8👎2
Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком.
В статье кратко:
— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.
Читать статью
В статье кратко:
— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.
Читать статью
👍2
Безмолвная утечка: как одна строка на Go истощила память в тысячах горутин
Статья описывает, как одна неверно размещённая строка кода в Go привела к скрытой утечке памяти, которая накапливалась через тысячи горутин, и как инженеры нашли и устранили эту проблему.
Читайте здесь
👉 @GolangPortal
Статья описывает, как одна неверно размещённая строка кода в Go привела к скрытой утечке памяти, которая накапливалась через тысячи горутин, и как инженеры нашли и устранили эту проблему.
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5🔥2
Гибкая библиотека для перевода и гуманизации текста на Go, основанная на концепциях, лежащих в основе gettext
GitHub: spreak
👉 @GolangPortal
GitHub: spreak
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
Осознанный выбор команды: опыт Яндекс Еды
Устройство на работу — часто лотерея. На собеседовании всё красиво, а через месяц понимаешь: задачи скучные, а с тимлидом не по пути. В Яндекс Еде такой баг пофиксили на уровне процессов. Чтобы новичок мог попробовать разные команды и проекты и сам решить, где остаться.
Олег Табота, руководитель команды общих компонентов в Яндекс Еде, написал классный лонгрид про путь разработчика, внутреннюю кухню, стек и налаженные процессы.
Внутри текста:
🔸 Как выглядит онбординг: от первых коммитов до выбора своей команды.
🔸 Микросервисная архитектура: как эффективно управлять 400+ сервисами и не утонуть в рутине.
🔸 Разбор инцидента: как новичок уронил заказы на проде, и что из этого вышло.
Советуем прочитать всем, кому интересна внутрянка разработки в бигтехе.
🔗 Читать статью
Устройство на работу — часто лотерея. На собеседовании всё красиво, а через месяц понимаешь: задачи скучные, а с тимлидом не по пути. В Яндекс Еде такой баг пофиксили на уровне процессов. Чтобы новичок мог попробовать разные команды и проекты и сам решить, где остаться.
Олег Табота, руководитель команды общих компонентов в Яндекс Еде, написал классный лонгрид про путь разработчика, внутреннюю кухню, стек и налаженные процессы.
Внутри текста:
🔸 Как выглядит онбординг: от первых коммитов до выбора своей команды.
🔸 Микросервисная архитектура: как эффективно управлять 400+ сервисами и не утонуть в рутине.
🔸 Разбор инцидента: как новичок уронил заказы на проде, и что из этого вышло.
Советуем прочитать всем, кому интересна внутрянка разработки в бигтехе.
🔗 Читать статью