- Release notes: https://go.dev/doc/go1.25
- Скачать: https://go.dev/dl/#go1.25.0
Здесь можно посмотреть интерактивную версию релиза с множеством примеров, показывающих, новые фичи и посмотоеть как они работают
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46❤17👍15
Media is too big
VIEW IN TELEGRAM
Что это такое
gore
— это минимальный, платформонезависимый порт легендарного движка DOOM, написанный полностью на Go. Код портирован через ccgo, , реализован без использования CGo и внешних зависимостей — только чистый Go, кросс-компиляция и демонская ярость.
Что важно знать
- Нет платформозависимых библиотек — всё на Go и стандартной библиотеке.
- На GitHub обсуждаются текущие задачи: рефакторинг публичных функций, включение генераиков, улучшение воспроизведения демо и аудио, поддержка sanitiser.
- Никаких официальных релизов пока нет — код доступен только в виде репозитория.
Почему это интересно
- Интересный эксперимент: реализация старого движка в чистом Go, демонстрация возможностей языка.
- Подходит для обучения: архитектоника движка, рендеринг с нуля, работа с WAD-файлами.
📌 Github
@golang_google
#golang #doom
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32❤9👍6😁3🎉1
📘 "Go 101" популярная серия бесплатных книг обновлена под новую версию Golang 1.25 — сразу в четырёх разделах:
• 🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
• 💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
• 🔧 Go Generics 101: https://go101.org/generics/101.html
• 📖 Go 101: https://go101.org/article/101.html
@golang_google
#golang #freebook #education #book #go
• 🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
• 💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
• 🔧 Go Generics 101: https://go101.org/generics/101.html
• 📖 Go 101: https://go101.org/article/101.html
@golang_google
#golang #freebook #education #book #go
❤31👍16🔥9🥰1
⚠️ Вредоносные пакеты в GitHub: как поддельные библиотеки на Go и Node.js стирают данные
Эксперты по безопасности обнаружили 11 подозрительных Go-пакетов и 2 NPM-модуля, маскирующихся под легитимные библиотеки. После установки они загружают деструктивные скрипты, способные:
— Собирать данные браузеров
— Стирать все файлы через
— Передавать информацию на внешние серверы
Для атаки пакеты используют обфусцированный код, подменяют популярные названия, например, имитируют библиотеки WhatsApp, и эксплуатируют особенности экосистемы Go, где модули можно импортировать прямо из GitHub.
🔗 Ссылка - *клик*
@golang_google
Эксперты по безопасности обнаружили 11 подозрительных Go-пакетов и 2 NPM-модуля, маскирующихся под легитимные библиотеки. После установки они загружают деструктивные скрипты, способные:
— Собирать данные браузеров
— Стирать все файлы через
rm -rf *
— Передавать информацию на внешние серверы
Для атаки пакеты используют обфусцированный код, подменяют популярные названия, например, имитируют библиотеки WhatsApp, и эксплуатируют особенности экосистемы Go, где модули можно импортировать прямо из GitHub.
🔗 Ссылка - *клик*
@golang_google
❤10👍6🔥4😁4🤬4
💥 Необычное поведение структур
В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.
Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.
Пример:
Вы думаете, тут компиляция не пройдёт из-за неоднозначности?
Но, она завершится успешна — и начпечатает abc.com.
Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.
⚠ Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.
📌 Пост
@golang_google
#golang #go
В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.
Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.
Пример:
type FooService struct { URL string }
type BarConnectionOptions struct { URL string }
type BarService struct { BarConnectionOptions }
type Options struct {
FooService
BarService
}
opts := Options{
FooService: FooService{URL: "abc.com"},
BarService: BarService{
BarConnectionOptions: BarConnectionOptions{URL: "xyz.com"},
},
}
fmt.Println(opts.URL)
Вы думаете, тут компиляция не пройдёт из-за неоднозначности?
Но, она завершится успешна — и начпечатает abc.com.
Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.
⚠ Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.
📌 Пост
@golang_google
#golang #go
👍35❤8🔥8🤯3
GoSharp Weekend от Ozon Tech — вечер для middle+ backend-разработчиков на Go и C#.
В программе:
— технические доклады от ведущих инженеров;
— историческая локация у воды в центре Москвы;
— летние активности и возможность познакомиться с командой крупнейшего e-com в стране.
В Go-треке вы узнаете, как в Ozon ускоряют ключевые системы, управляют изменениями конфигураций в сотнях микросервисов и обеспечивают стабильную работу приложений под highload-нагрузкой.
Участие бесплатное. Просто оставь заявку по ссылке и жди приглашения.
В программе:
— технические доклады от ведущих инженеров;
— историческая локация у воды в центре Москвы;
— летние активности и возможность познакомиться с командой крупнейшего e-com в стране.
В Go-треке вы узнаете, как в Ozon ускоряют ключевые системы, управляют изменениями конфигураций в сотнях микросервисов и обеспечивают стабильную работу приложений под highload-нагрузкой.
Участие бесплатное. Просто оставь заявку по ссылке и жди приглашения.
❤6😱3👍2🔥1
Что это:
Screego — сервер для шаринга экрана с низкой задержкой и высоким качеством, написанный на Go. Работает через WebRTC и включает встроенный TURN-сервер, чтобы пробиваться даже через сложные сети и NAT.
✨ Возможности:
- Совместный доступ к экрану для нескольких пользователей
- Высокое разрешение + минимальная задержка
- Простая установка: Docker или единый бинарник
- Защищённая передача данных через WebRTC
- Поддержка IP-фильтров и настроек безопасности
🚀 Актуально:
Последний релиз — v1.12.0 (май 2025). Добавлены новые настройки безопасности для TURN-сервера.
🔗 Репозиторий: github.com/screego/server
@golang_google
#golang #go
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤10🔥9
Как упорядочить код на Go и сделать его масштабируемым?
➡️ На открытом уроке 20 августа в 20:00 МСК мы разберём, что такое пакеты в Go, как правильно организовывать структуру папок и работать с модулями.
❗️Вы получите знания о том, как избежать частых ошибок и эффективно использовать Go в реальных проектах.
🔴 Присоединяйтесь к открытому вебинару «Golang Developer. Basic»: https://tglink.io/e5664ba3b938?erid=2W5zFHvnXVS
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
➡️ На открытом уроке 20 августа в 20:00 МСК мы разберём, что такое пакеты в Go, как правильно организовывать структуру папок и работать с модулями.
❗️Вы получите знания о том, как избежать частых ошибок и эффективно использовать Go в реальных проектах.
🔴 Присоединяйтесь к открытому вебинару «Golang Developer. Basic»: https://tglink.io/e5664ba3b938?erid=2W5zFHvnXVS
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
📡 marchat — лёгкий терминальный чат на Go
marchat — это самохостящийся чат прямо в терминале.
Он прост, кроссплатформенный и поддерживает всё, что нужно команде для быстрой и безопасной переписки.
🔑 Фишки:
- Устанавливается за пару минут (бинарь или Docker)
- E2E-шифрование (X25519 + ChaCha20-Poly1305)
- Передача файлов до 1 МБ
- Темы оформления и TUI-интерфейс (Bubble Tea)
- Плагины:
- Поддерживает админ-команды:
📌 Github
@golang_google
#golang #go #opensource
marchat — это самохостящийся чат прямо в терминале.
Он прост, кроссплатформенный и поддерживает всё, что нужно команде для быстрой и безопасной переписки.
🔑 Фишки:
- Устанавливается за пару минут (бинарь или Docker)
- E2E-шифрование (X25519 + ChaCha20-Poly1305)
- Передача файлов до 1 МБ
- Темы оформления и TUI-интерфейс (Bubble Tea)
- Плагины:
:store
, :plugin install
и т.д. - Поддерживает админ-команды:
:ban
, :kick
, :cleardb
📌 Github
@golang_google
#golang #go #opensource
👍12❤7🔥2
🚀 ВКонтакте усиляет Go-экспертизу команды
ВКонтакте переходит на сервисную архитектуру и переобучает часть команд на Go — уже 140 разработчиков прошли внутреннюю программу обучения:
Программа адаптирована под реальные процессы ВКонтакте: архитектура сервисов, работа с высоконагруженной инфраструктурой, асинхронность, интеграции
Фокус не на обучении с нуля, а быстром входе в сложные и практические задачи: например, в финальном проекте участники разрабатывали каркас микросервиса в условиях, максимально близких к реальным.
💡 Почему это интересно
Переход на Go — часть технологической стратегии ВКонтакте: микросервисы дают командам автономность и ускоряют внедрение фич.
Разработчики не теряют накопленные знания о продукте, но получают новую экспертизу и майндсет.
Пример, как крупная компания может инвестировать в апгрейд команды, а не только в найм.
#golang #vk #microservices @golang_google
ВКонтакте переходит на сервисную архитектуру и переобучает часть команд на Go — уже 140 разработчиков прошли внутреннюю программу обучения:
Программа адаптирована под реальные процессы ВКонтакте: архитектура сервисов, работа с высоконагруженной инфраструктурой, асинхронность, интеграции
Фокус не на обучении с нуля, а быстром входе в сложные и практические задачи: например, в финальном проекте участники разрабатывали каркас микросервиса в условиях, максимально близких к реальным.
💡 Почему это интересно
Переход на Go — часть технологической стратегии ВКонтакте: микросервисы дают командам автономность и ускоряют внедрение фич.
Разработчики не теряют накопленные знания о продукте, но получают новую экспертизу и майндсет.
Пример, как крупная компания может инвестировать в апгрейд команды, а не только в найм.
#golang #vk #microservices @golang_google
🤬31😁11👍9🔥6❤4
🧰 Новый инструмент для DevOps и тех, кто работает с Docker-реестрами
Это лёгкий, автономный скрипт на Go, который позволяет удалять образы из Docker Registry, даже если он не поддерживает API удаления.
Зачем это нужно?
— Некоторые приватные реестры быстро захламляются образами
— По умолчанию Docker Registry хранит всё, и старые образы не удаляются автоматически
— А стандартный API удаления (delete by digest) работает не везде или требует включения GC вручную
Что делает
- безопасно удаляет теги и образы по маске
- поддерживает dry-run режим
- не требует сложной настройки
- работает без установки — один бинарник
📦 Подходит для cleanup-скриптов, CI/CD пайплайнов и просто админки старых реестров.
👉 Репозиторий: https://github.com/psviderski/unregistry
Это лёгкий, автономный скрипт на Go, который позволяет удалять образы из Docker Registry, даже если он не поддерживает API удаления.
Зачем это нужно?
— Некоторые приватные реестры быстро захламляются образами
— По умолчанию Docker Registry хранит всё, и старые образы не удаляются автоматически
— А стандартный API удаления (delete by digest) работает не везде или требует включения GC вручную
Что делает
unregistry
:- безопасно удаляет теги и образы по маске
- поддерживает dry-run режим
- не требует сложной настройки
- работает без установки — один бинарник
📦 Подходит для cleanup-скриптов, CI/CD пайплайнов и просто админки старых реестров.
👉 Репозиторий: https://github.com/psviderski/unregistry
❤11👍5🔥3
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2025 ГОДУ? 🚀
Если:
— код разваливается от правок,
— бизнес-логика размазана,
— Entity — просто структуры,
— а тесты живут своей жизнью —
вам точно сюда.
📦 Научитесь строить архитектуру, устойчивую к изменениям.
Что будет на обучении?
✅ Создадим полноценный микросервис
✅ Разберем все тактические паттерны DDD
✅ Реализуем Use Case и Domain Service
✅ Напишем много тестов
✅ Реализуем HTTP, gRPC и Kafka адаптеры
📢 Повышайте свою ценность, как специалиста, прямо сейчас👉 https://microarch.ru/courses/ddd/languages/go?utm_source=posev&utm_medium=erid:2VtzqvXrjht&utm_campaign=1
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqvXrjht
Если:
— код разваливается от правок,
— бизнес-логика размазана,
— Entity — просто структуры,
— а тесты живут своей жизнью —
вам точно сюда.
📦 Научитесь строить архитектуру, устойчивую к изменениям.
Что будет на обучении?
✅ Создадим полноценный микросервис
✅ Разберем все тактические паттерны DDD
✅ Реализуем Use Case и Domain Service
✅ Напишем много тестов
✅ Реализуем HTTP, gRPC и Kafka адаптеры
📢 Повышайте свою ценность, как специалиста, прямо сейчас👉 https://microarch.ru/courses/ddd/languages/go?utm_source=posev&utm_medium=erid:2VtzqvXrjht&utm_campaign=1
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqvXrjht
❤6🔥4👍3
🚀 kro (Kube Resource Orchestrator) — новый открытый проект для Kubernetes!
kro позволяет объединять несколько ресурсов в один логический объект и управлять их жизненным циклом автоматически. При применении конфигурации kro создаёт необходимые CRD и сам следит за порядком развёртывания.
✨ Ключевые возможности:
- 🛠 Kubernetes-native – использует CRD, контроллеры и CEL (Common Expression Language).
- 🔗 ResourceGraphDefinition (RGD) – позволяет объявлять группы ресурсов с зависимостями в едином объекте.
- ⚡ Упрощение платформенной инженерии – скрывает сложность, создавая стандартизированные шаблоны деплоя для команд.
📌 Статус проекта:
- Всё ещё в активной разработке, не рекомендуется для production.
- GitHub: более 2.3k звёзд, десятки открытых задач и PR, активное развитие.
💬 От сообщества:
> kro упрощает управление сложными Kubernetes-ресурсами, превращая их в переиспользуемые блоки и автоматически определяя порядок развёртывания.
👉 Репозиторий: https://github.com/kro-run/kro
@golang_google
#golang #Kubernetes
kro позволяет объединять несколько ресурсов в один логический объект и управлять их жизненным циклом автоматически. При применении конфигурации kro создаёт необходимые CRD и сам следит за порядком развёртывания.
✨ Ключевые возможности:
- 🛠 Kubernetes-native – использует CRD, контроллеры и CEL (Common Expression Language).
- 🔗 ResourceGraphDefinition (RGD) – позволяет объявлять группы ресурсов с зависимостями в едином объекте.
- ⚡ Упрощение платформенной инженерии – скрывает сложность, создавая стандартизированные шаблоны деплоя для команд.
📌 Статус проекта:
- Всё ещё в активной разработке, не рекомендуется для production.
- GitHub: более 2.3k звёзд, десятки открытых задач и PR, активное развитие.
💬 От сообщества:
> kro упрощает управление сложными Kubernetes-ресурсами, превращая их в переиспользуемые блоки и автоматически определяя порядок развёртывания.
👉 Репозиторий: https://github.com/kro-run/kro
@golang_google
#golang #Kubernetes
❤4👍4🔥3
Media is too big
VIEW IN TELEGRAM
Есть вариант на 27 августа — DrinkUp от Авито для backend-разработчиков в Нижнем Новгороде ☄️
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
➡️ как правильно структурировать проекты;
➡️ кому и как проще вкатиться в Go и почему он такой странный;
➡️ как LLM помогает разработчикам.
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Встречаемся в 19:00 в DKRT space, чтобы в формате дискуссий обсудить:
Остальные темы раскрывать не будем — можете посмотреть их по ссылке! Там же, кстати, и регистрация на ивент.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🤬1
В релизе 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
👍56🔥17❤15👏2