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

Связь: @devmangx
Download Telegram
Ключевые Go-паттерны, справочник по стандартной библиотеке и интерактивные примеры

https://app.gointerview.dev/cheatsheet

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥105👎1
Многие статьи заставляют думать, что go func() {} всегда создаёт горутину с 2 KiB стека. Иногда так и есть, но далеко не всегда.

Go держит пул переиспользуемых горутин на каждый процессор и глобальный пул, причём у части горутин в этих пулах уже есть прикреплённые стеки, а у части нет (см. диаграмму ниже)

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

Когда вы вызываете go f(), рантайм может взять горутину и стек из пулов, поэтому многие горутины на самом деле стартуют с размером стека больше фиксированного минимума 2 KiB – например, 4 KiB, 8 KiB, 16 KiB и так далее.

Если размер стека повторно используемой горутины отличается от текущего “начального размера стека”, её старый стек освобождается, и ей выделяется новый стек ровно текущего начального размера.

Если подходящей повторно используемой горутины нет, рантайм выделяет новую с фиксированным начальным стеком 2 KiB ( на большинстве 64-битных Unix-подобных платформ)

👉 @GolangPortal #tip by Phuong Le
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍9👎1
Простой сервер для отправки и получения сообщений в режиме реального времени через WebSocket (Включает лаконичный веб-UI)

GitHub: server

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥32
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
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍8👎2
Функция для проверки утечки горутин

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5
Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком.

В статье кратко:

— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.

Читать статью
👍2
Безмолвная утечка: как одна строка на Go истощила память в тысячах горутин

Статья описывает, как одна неверно размещённая строка кода в Go привела к скрытой утечке памяти, которая накапливалась через тысячи горутин, и как инженеры нашли и устранили эту проблему.

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

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥2
Гибкая библиотека для перевода и гуманизации текста на Go, основанная на концепциях, лежащих в основе gettext

GitHub: spreak

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
Разработчиков на Go можно условно разделить на три группы

1. Тех, кто использует context для отмены.

2. Тех, кто использует context для прокидывания значений.

3. Тех, кто использует context и для отмены, и для передачи значений.

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

Чтобы поддержать этот чудесный сценарий, в Go 1.21 добавили функцию context.WithoutCancel. Она отвязывает дочерний контекст от родительского в части отмены, но сохраняет все значения.

Context в Go начинался как простая, уродливая концепция. Со временем он превратился в сложную, уродливую

👉 @GolangPortal #tip by Anton Zhiyanov
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍8😁8
Продвинутый автономный планировщик заданий для PostgreSQL, который предлагает множество преимуществ по сравнению с традиционными планировщиками вроде cron и других

GitHub: pg_timetable

👉 @GolangPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5
Поздравляем, вы на 1 шаг ближе к работе мечты 🥳

Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉

Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Go-разработчиков.

Подписывайтесь, чтобы найти ту самую работу
👎31
GoLand 2025.3 приносит расширенную поддержку Kubernetes: деплой, отладка и подключение не выходя из редактора

Управляйте кластерами через новый селектор неймспейсов, смотрите живые ресурсы, чините упавшие поды, работайте с секретами прямо в редакторе и настраивайте port forwarding в один клик

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