Golang вопросы собеседований
14.6K subscribers
731 photos
12 videos
1 file
522 links
@notxxx1 - админ

@Golang_google - Golang для разработчиков

@itchannels_telegram - 🔥лучшие из ит

@golangl - chat

@golangtests - golang tests

@golang_jobsgo - go chat jobs

@ai_machinelearning_big_data - AI

@data_analysis_ml

РКН: clck.ru/3FmtKd
Download Telegram
Forwarded from Golang
👣 Go теперь по-умолчанию "знает", сколько CPU ему действительно доступно внутри контейнера

В релизе Go 1.25 представлена важная улучшенная логика работы GOMAXPROCS в контейнеризованных средах — например, в Kubernetes.

Как это работает:
- Раньше по умолчанию GOMAXPROCS устанавливался равным числу логических CPU на хосте.
- Теперь на Linux runtime автоматически учитывает CPU limits, заданные для контейнера. Если лимит меньше числа логических ядер — GOMAXPROCS устаналивается на уровне лимита.
- Более того, runtime периодически обновляет GOMAXPROCS, если меняются доступные CPU или ограничения, без необходимости внешнего вмешательства.

Почему это важно:
Ранее разработчикам приходилось использовать внешние решения вроде uber-go/automaxprocs, чтобы вручную синхронизировать GOMAXPROCS с лимитами контейнера. Теперь runtime делает это автоматически и точнее:
- Внутри контейнера Go не будет пытаться использовать все ядра хоста
- Уменьшаются лишние горутины, контекстные переключения и нагрузка на GC

Кратко: начиная с Go 1.25, GOMAXPROCS адаптируется под реальные CPU-ресурсы контейнера — без дополнительных усилий.

📌 Подробности

@golang_google

#golang #Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥137
Or-channel паттерн в Go — мощный приём для работы с конкурентностью.

Он позволяет объединять несколько done-каналов в один общий.
Как только закрывается любой из входных каналов — автоматически закрывается и новый канал.

Такой подход даёт единый сигнал для завершения или отмены операции.

#golang
🔥21🥴14👍75
📌 В Go есть два разных способа собирать пути, и это важно понимать:

👉 Нужно указать путь к файлу на диске?
Используй filepath.Join из пакета path/filepath.
Он сам подставит правильные разделители:
- / на Linux и macOS
- \ на Windows

👉 Нужно собрать путь со слешами, например для URL?
Используй path.Join из пакета path.
Он всегда будет использовать / и работать одинаково на всех ОС.

⚠️ На Linux оба варианта могут выглядеть одинаково, но на Windows результат будет другим.

#golang #go #programming #backend
👍212
🔧 go-update-lens — библиотека на Go для обновления «линз» (lens) и реактивного патчинга данных в структурах

📌 Что умеет:
- Позволяет динамически изменять вложенные структуры без полной перезаписи
- Поддерживает создание “линз” - функциональный подход к фокусировке на части данных
- Работает “in-place”, минимизируя копирование и сохраняя производительность

🌟 Почему это полезно:
- Упрощает работу с вложенными структурами, когда нужно изменить лишь часть
- Особенно удобно в приложениях с состоянием и реактивными моделями
- Помогает избежать boilerplate-кода для обновления вложенных полей

🔗 Репозиторий: https://github.com/PatchLens/go-update-lens

#golang #architecture #library #data #update_ops
1