Golang вопросы собеседований
14.6K subscribers
747 photos
12 videos
1 file
540 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
🔥157
Or-channel паттерн в Go — мощный приём для работы с конкурентностью.

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

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

#golang
🔥21🥴14👍76
📌 В 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
👣 Kriti Images — открытый сервис обработки изображений на Go

Что такое Kriti Images

- Высокопроизводительный сервис для трансформации изображений в реальном времени, написанный на языке Go
- Использует URL-базированный API: параметры трансформации передаются через URL
- Открытая альтернатива коммерческим решениям вроде Cloudflare Images и ImageKit

Возможности

- Манипуляции над изображением через URL: изменение размера, обрезка (crop), поворот, размытие и др.
- Поддержка популярных форматов: JPEG, PNG, WebP
- Режимы масштабирования: contain, cover, crop, pad, squeeze, scaledown
- Корректировки цвета: яркость, контраст, насыщенность, гамма
- Настройка фона: цвета в HEX, RGB или именованные цвета
- Оптимизация под производительность и кеширование (правильные HTTP-заголовки)

🟠GitHub: https://github.com/kritihq/kriti-images

#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥3🔥3🥴1
🔥 Tiny-RDM — современный кроссплатформенный менеджер для Redis!

Доступен на Mac, Windows и Linux, создан на Go и предлагает лёгкий, интуитивный интерфейс для работы с Redis-базами.

Поддержка множества подключений
Просмотр, редактирование и удаление ключей
CLI-консоль прямо в приложении
Быстрая навигация и фильтрация

🔗 Репозиторий: https://github.com/tiny-craft/tiny-rdm

#Redis #golang #opensource #devtools
5🔥1
🎮 Простой шаблон для изометрической игры на Go с использованием SDL3

Разработчик unklnik выложил минималистичный пример изометрической игры на Go, основанный на биндингах SDL3.
Этот шаблон отлично подходит, чтобы быстро разобраться с основами 2.5D-графики, камерой, тайлами и отрисовкой объектов в изометрии.

Проект демонстрирует, как работать с:
- управлением камерой и перспективой,
- изометрической сеткой и рендерингом,
- обновлением и обработкой событий в реальном времени.

Простой старт для тех, кто хочет написать свою игру или движок на Go.

📦 Репозиторий: https://github.com/unklnik/go-sdl3_isometric
#golang
🔥131👍1
Goncurrently - удобный CLI-инструмент на Go для одновременного запуска нескольких команд.

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

Инструмент гибкий: поддерживает группы команд, разные режимы запуска, единый вывод и удобный контроль состояний. Для многосервисных проектов — прямо must-have.

https://github.com/sandrolain/goncurrently

#golang
🤔2👍1
🔥 Type-safe GORM с SQL-шаблонами и генерацией кода

GORM получил мощный апгрейд: CLI-инструмент, который генерирует type-safe модели, ассоциации и SQL-шаблоны. Теперь можно писать запросы к базе в Go без страха поймать ошибку в рантайме.

Что в комплекте
SQL templates — декларативные запросы прямо в .sql-файлах
Генерация типов и хелперов по схемам
First-class ассоциации (has-one, has-many, belongs-to)
Меньше boilerplate, больше гарантии на этапе компиляции

Почему это круто
- SQL остаётся «чистым» и понятным
- Go-код генерируется поверх реальной схемы
- Ошибка в запросе = ошибка компиляции, а не прод-падение
- Удобно для больших проектов и команд

Это тот случай, когда ORM перестаёт быть «магией», а становится прозрачным, предсказуемым и безопасным по типам.

Репозиторий:
https://github.com/go-gorm/cli

#golang #gorm #database #sql #backend #typedapi
🔥62🥰1