Golang Дайджест
7.72K subscribers
36 photos
1 file
163 links
Самое интересное из мира Go: новости, статьи, проекты, сервисы, изменения в языке и др.

Посты публикуются не часто - только самое важное, с чем я лично ознакомился.

Поэтому можно не мьютить канал =)

Обратная связь: @justskiv
Download Telegram
Как добавить цикл while в Go

https://habr.com/ru/articles/888992/

Неплохая статья для погружения в основы компиляции Go. Автор показывает, как добавить в язык новую конструкцию, а именно - цикл while. Разумеется, добавляется он не потому что он там нужен, а лишь как простой и наглядный пример.

Кстати, после прочтения статьи неплохим упражнением будет добавление ещё какой-нибудь своей конструкции, пусть даже самой абсурдной, лишь бы вам было весело

————
UPD: канал автора стать: @siliconchannel
Кстати, можете задать ему вопросы лично в комментариях к этому посту

#go_internal #go_compiler
Please open Telegram to view this post
VIEW IN TELEGRAM
March 17
🤓 Гайд по планировщику — теперь и в текстовом формате

https://habr.com/ru/articles/891426/

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

Хотелось, чтобы всё получилось идеально — каждая формулировка, каждая картинка 😩

А теперь ваша очередь — я очень надеюсь, что эта статья побьёт мой предыдущий рекорд по лайкам и просмотрам. У Хабра нет механизмов продвижения, кроме как рейтинг статьи, поэтому вы знаете как меня отблагодарить ❤️

Основная мотивация для написания такой статьи и публикация её в открытом доступе — она должна хорошо зайти на Хабре. Иначе усилия не будут оправданными.

————
Ну и да, можете считать эту статью пробой пера и демо-версией моей будущей книги. Можно сказать, это могла бы быть полноценная глава оттуда. Правда, в книге иллюстрации будут лучше прорабатываться иллюстратором.
Please open Telegram to view this post
VIEW IN TELEGRAM
March 17
Swiss Tables новая реализация map — Go 1.24

https://go.dev/blog/swisstable

Перевод

Как вы наверняка уже знаете, в Go 1.24 встроенная реализация map была полностью переработана и теперь основана на Swiss Table. В этой статье Michael Pratt (один из авторов языка) разобрал какие преимущества даёт новая реализация по сравнению с традиционными хеш‑таблицами.

#go_official
March 23
March 26
This media is not supported in your browser
VIEW IN TELEGRAM
March 26
This media is not supported in your browser
VIEW IN TELEGRAM
March 26
Golang Дайджест
💦 Sticker
Простите, не смог удержаться чтобы не поделиться 🧙
Please open Telegram to view this post
VIEW IN TELEGRAM
March 26
April 1
April 1
Гайд по написанию бота, который будет вас мотивировать каждые 30 минут 💪

https://habr.com/ru/articles/897802/

Неплохой гайд — простой и понятный. Довольно короткий, можно осилить за пол часика или меньше, но при этом описано всё необходимое.

#guide #telegram_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
April 9
Forwarded from Cross Join - канал о разработке (Anton Okolelov)
Go планирует улучшить производительность в контейнерах (proposal)

GOMAXPROCS - это настройка в Go, которая определяет максимальное количество CPU-ядер, используемых для выполнения горутин параллельно.

В Go 1.25 разработчики предлагают встроить умный GOMAXPROCS, который будет учитывать ограничения контейнера (cgroup).

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

Проблема актуальна для всех, кто запускает Go-приложения в контейнерах (Docker, Kubernetes), и остро стоит в окружениях, где на одной машине запускается много контейнеров с ограниченными ресурсами.

Сейчас разработчики решают эту проблему ручной настройкой через переменные окружения или используя библиотеку от убера. Новое предложение добавляет в сам Go автоматическое определение ограничений CPU из cgroups и динамическое обновление GOMAXPROCS при изменении этих ограничений.

🫥 Cross Join

#golang #performance #kubernetes #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
April 10
Please open Telegram to view this post
VIEW IN TELEGRAM
April 22
Retry в Go: От граблей к дзену отказоустойчивости

https://habr.com/ru/articles/903576/

Автор затронул хорошую тему — ретраи крайне важная штука, но многие недооценивают их сложность.

Скажем, если вы не знакомы с понятиями Exponential Backoff и Jitter, то точно стоит прочитать. Также разобраны и более глубокие моменты.

#article
April 23
Please open Telegram to view this post
VIEW IN TELEGRAM
April 27
Писать или не писать простой код?

Предлагаю вашему вниманию две три статьи:

1. Пиши простой код
2. Не пиши простой код
3. Просто пиши код

Интересная и горячая дискуссия, которая нас с вами тоже касается, не пропустите.

От комментариев я пока воздержусь, но, возможно, чуть позже поделюсь и своим мнением по итогам 🌚

#article #discussion
Please open Telegram to view this post
VIEW IN TELEGRAM
April 29
🦄 Как на самом деле хранятся изображения?

- Перевод
- Оригинал

Фундаментальная статья, которая погружает в самые недра форматов изображений. Автор не просто описывает JPEG, PNG и GIF, а детально разбирает их внутреннее устройство, принципы сжатия. В общем, всё как мы любим.

Что именно разбирается:

- Основы: Краткий ликбез по пикселям, цветовым моделям RGB и RGBA.

- GIF: Подробно о палитре, анимации и о том, как стандартная библиотека Go (image/gif) кодирует эти изображения. Есть даже пример создания простого анимированного GIF на Go.

- PNG: Разбор структуры чанков (IHDR, IDAT, IEND), использование DEFLATE для сжатия, и очень интересный раздел о техниках фильтрации (Sub, Up, Average, Paeth), которые помогают улучшить степень сжатия. Автор также ссылается на реализацию этих фильтров в Go.

- JPEG: Глубокое погружение в механизмы этого формата

Статья довольно объемная, но читается интересно и неплохо расширяет кругозор.

Бонусом идут примеры кода на Go
❤️

#article #deep_dive
Please open Telegram to view this post
VIEW IN TELEGRAM
May 9
Forwarded from myStack
May 14