Упрощает конфигурацию 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
👍11🔥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
❤7👍5🔥2
Гибкая библиотека для перевода и гуманизации текста на Go, основанная на концепциях, лежащих в основе gettext
GitHub: spreak
👉 @GolangPortal
GitHub: spreak
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
Разработчиков на Go можно условно разделить на три группы
1. Тех, кто использует
2. Тех, кто использует
3. Тех, кто использует
Оказалось, что последняя группа была недовольна, потому что иногда нужно отменить родительский контекст, не затрагивая дочерний, но при этом сохранить в дочернем все значения из родительского контекста.
Чтобы поддержать этот чудесный сценарий, в Go 1.21 добавили функцию
Context в Go начинался как простая, уродливая концепция. Со временем он превратился в сложную, уродливую
👉 @GolangPortal #tip by Anton Zhiyanov
1. Тех, кто использует
context для отмены.2. Тех, кто использует
context для прокидывания значений.3. Тех, кто использует
context и для отмены, и для передачи значений.Оказалось, что последняя группа была недовольна, потому что иногда нужно отменить родительский контекст, не затрагивая дочерний, но при этом сохранить в дочернем все значения из родительского контекста.
Чтобы поддержать этот чудесный сценарий, в Go 1.21 добавили функцию
context.WithoutCancel. Она отвязывает дочерний контекст от родительского в части отмены, но сохраняет все значения.Context в Go начинался как простая, уродливая концепция. Со временем он превратился в сложную, уродливую
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8😁8
Продвинутый автономный планировщик заданий для PostgreSQL, который предлагает множество преимуществ по сравнению с традиционными планировщиками вроде cron и других
GitHub: pg_timetable
👉 @GolangPortal
GitHub: pg_timetable
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5
Поздравляем, вы на 1 шаг ближе к работе мечты 🥳
Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉
Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Go-разработчиков.
Подписывайтесь, чтобы найти ту самую работу ✨
Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉
Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Go-разработчиков.
Подписывайтесь, чтобы найти ту самую работу ✨
👎3❤1
GoLand 2025.3 приносит расширенную поддержку Kubernetes: деплой, отладка и подключение не выходя из редактора
Управляйте кластерами через новый селектор неймспейсов, смотрите живые ресурсы, чините упавшие поды, работайте с секретами прямо в редакторе и настраивайте port forwarding в один клик
👉 @GolangPortal
Управляйте кластерами через новый селектор неймспейсов, смотрите живые ресурсы, чините упавшие поды, работайте с секретами прямо в редакторе и настраивайте port forwarding в один клик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2