Найти в Дзене
Поддержите автораПеревод на любую сумму
Как правильно использовать context в Go: от основ до продвинутых практик
Пакет context — один из самых важных инструментов в Go для управления отменой операций, таймаутами и передачей данных между горутинами. Однако многие разработчики используют его неправильно, что приводит к утечкам памяти или неочевидным багам. В этой статье разберём: context решает три ключевые задачи: func handler(w http.ResponseWriter, r *http.Request) { ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second) defer cancel() // Освобождаем ресурсы result, err := someLongOperation(ctx) if err != nil { http.Error(w, "Operation timed out", http.StatusGatewayTimeout) return } fmt...
5 месяцев назад
CKAD 2025: Свежий гайд по сдаче сертификации Certified Kubernetes Application Developer
CKAD (Certified Kubernetes Application Developer) — это практический экзамен, который подтверждает навыки разработчика в создании и управлении приложениями в Kubernetes. В 2025 году экзамен претерпел некоторые изменения, и мы подготовили для вас актуальный гайд по подготовке. Для разработчиков на Go этот сертификат особенно ценен по нескольким причинам: Экзамен длится 2 часа и состоит полностью из практических заданий...
5 месяцев назад
Гайды о том как правильно писать на го, если сервис будет переживать высокую нагрузку и высокую конкурентность за ресурсы
Гайды о том как правильно писать на го, если сервис будет переживать высокую нагрузку и высокую конкурентность за ресурсы https://goperf.dev/ Местами очевидные вещи, например про sync.pool, мне понравилось как раскрыта тема про флаги сборки
5 месяцев назад
https://habr.com/ru/articles/646025/
5 месяцев назад
https://habr.com/ru/articles/891426/
6 месяцев назад
https://habr.com/ru/articles/852556/
10 месяцев назад
Наткнулся на крутой доклад про ускорение го-проектов с использованием PGO
1 год назад
Опубликовано фото
1 год назад
Думаю, сегодняшнний инцедент с облаком Майкрософт войдет в иторию и добавит "голоса" в лагерь тех, кто считает, что свое железо лучше облачных ресурсов. Чтобы минимизировать подобные инцеденты на ваш прод, советую прочитать небольшую статью про RTO & RPO планирование – тут + что такое cloud native
1 год назад
Новый стандарт UUID (RFC9562)
Ссылка на стандарт – https://datatracker.ietf.org/doc/html/rfc9562 Тут кратко об изменениях: https://habr.com/ru/articles/795909/ Еще статья о стандарте (объемнее): https://habr.com/ru/articles/813229/
1 год назад
Использование iota в Go
iota — это предопределенное значение, которое можно использовать в объявлении const для создания последовательности связанных значений. Использование приема с iota избавляет от необходимости вручную присваивать значения константам. Вместо этого можно записать такое определение: В объявлении константы iota представляет последовательно увеличивающиеся нетипизированные целочисленные значения, которые можно использовать для создания набора связанных констант. В начале каждого объявления const идентификатор iota получает нулевое значение и затем увеличивается с каждой операцией присваивания значения новой константе (независимо от использования ссылки на идентификатор iota)...
1 год назад
CPU-bound и IO-bound в Go?
Существует два типа workloads, которые важно понимать при рассмотрении конкурентности в Go: 🔸 CPU-bound описывает задачи или программы, скорость выполнения которых ограничена скоростью процессора. То есть улучшение производительности достигается увеличением мощности или эффективности ЦПУ. Примерами CPU-bound задач являются сложные вычисления и обработка данных. 🔸 IO-bound относится к задачам...
1 год назад