Красивый оконный менеджер для X11 полностью написанный на Go.
🔗 Репозиторий:
https://github.com/BobdaProgrammer/doWM
#golang #go
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37🔥15😱11❤5🤬4😁2
🌟 Релиз Go 1.24.5 и 1.23.11!
🔐 Безопасность: включено исправление уязвимости в цепочке инструментов Go (CVE-2025-4674)
📡 Анонс: https://groups.google.com/g/golang-announce/c/gTNJnDXmn34/m/rdlFOriABQAJ
📦 Скачать: https://go.dev/dl/#go1.24.5
#golang #go #release
@golang_google
🔐 Безопасность: включено исправление уязвимости в цепочке инструментов Go (CVE-2025-4674)
📡 Анонс: https://groups.google.com/g/golang-announce/c/gTNJnDXmn34/m/rdlFOriABQAJ
📦 Скачать: https://go.dev/dl/#go1.24.5
#golang #go #release
@golang_google
👍23❤8🔥4
📘 "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
💥 Необычное поведение структур
В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.
Автор показывает, что при встраивании (`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
👍37❤8🔥8🤯4
Что это:
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
👍35❤10🔥9
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
🌦️ Минималистичный CLI для прогноза погоды на GO
Stormy — это настраиваемый инструмент командной строки для получения прогноза погоды, вдохновленный Neofetch. Написан на Go, он поддерживает несколько провайдеров данных и предлагает визуально привлекательное представление текущих погодных условий.
🚀Основные моменты:
- Поддержка OpenMeteo и OpenWeatherMap
- ASCII-арт для отображения погоды
- Настраиваемые единицы измерения
- Локальный конфигурационный файл
- Цветная поддержка для терминалов
📌 GitHub: https://github.com/ashish0kumar/stormy
@golang_google
#go #golang
Stormy — это настраиваемый инструмент командной строки для получения прогноза погоды, вдохновленный Neofetch. Написан на Go, он поддерживает несколько провайдеров данных и предлагает визуально привлекательное представление текущих погодных условий.
🚀Основные моменты:
- Поддержка OpenMeteo и OpenWeatherMap
- ASCII-арт для отображения погоды
- Настраиваемые единицы измерения
- Локальный конфигурационный файл
- Цветная поддержка для терминалов
📌 GitHub: https://github.com/ashish0kumar/stormy
@golang_google
#go #golang
❤32👍18🔥7😁3
🔥 Упрощение DLL-хайкинга с DllShimmer
DllShimmer позволяет легко добавлять код в экспортируемые функции DLL без нарушения работы программы. Он генерирует C++ и DEF файлы, которые обеспечивают корректное взаимодействие с оригинальной DLL, сохраняя ее структуру.
Экспортируемые функции DLL — это функции, которые библиотека DLL (Dynamic Link Library) делает доступными для использования другими программами.
Когда вы пишете код вы можете собрать его не только в обычный исполняемый .exe, но и в динамическую библиотеку .dll. Такая библиотека хранит набор функций и данных, которые могут вызываться другими приложениями во время выполнения.
🚀Основные моменты:
- Простое создание прокси DLL для внедрения кода.
- Поддержка динамической и статической компоновки.
- Не требует реверс-инжиниринга.
- Сохраняет оригинальные имена и порядковые номера функций.
- Поддержка только x86-64 архитектуры.
📌 GitHub
@golang_google
#go
DllShimmer позволяет легко добавлять код в экспортируемые функции DLL без нарушения работы программы. Он генерирует C++ и DEF файлы, которые обеспечивают корректное взаимодействие с оригинальной DLL, сохраняя ее структуру.
Экспортируемые функции DLL — это функции, которые библиотека DLL (Dynamic Link Library) делает доступными для использования другими программами.
Когда вы пишете код вы можете собрать его не только в обычный исполняемый .exe, но и в динамическую библиотеку .dll. Такая библиотека хранит набор функций и данных, которые могут вызываться другими приложениями во время выполнения.
🚀Основные моменты:
- Простое создание прокси DLL для внедрения кода.
- Поддержка динамической и статической компоновки.
- Не требует реверс-инжиниринга.
- Сохраняет оригинальные имена и порядковые номера функций.
- Поддержка только x86-64 архитектуры.
📌 GitHub
@golang_google
#go
👍11❤7🔥3
Workshop по Go для тех, кто хочет собрать своего собственного кодинг-агента.
Это практический гайд — шаг за шагом показывают, как из Go сделать среду для генерации кода.
По сути похоже на Roo Code, Cline, Amp, Cursor, Windsurf или OpenCode, но в этом гайде упор идет на то, чтобы понять механику изнутри.
@golang_google
#go #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥6
@golang_google
#go #golang #Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥3
🛠️ Удобный инструмент для управления кластерами Postgres
Ivory — это инструмент с открытым исходным кодом, который упрощает работу с кластерами Postgres, предоставляя удобный интерфейс для разработчиков и администраторов баз данных. Он позволяет управлять конфигурацией кластера, выполнять запросы и контролировать состояние в одном месте.
🚀 Основные моменты:
- Упрощает управление Postgres кластерами
- Интуитивно понятный интерфейс для основных функций Patroni
- Возможность работы локально или в виртуальной машине
- Поддержка редактирования конфигурации кластера
- Инструменты для диагностики и устранения проблем
📌 GitHub: https://github.com/veegres/ivory
#go
Ivory — это инструмент с открытым исходным кодом, который упрощает работу с кластерами Postgres, предоставляя удобный интерфейс для разработчиков и администраторов баз данных. Он позволяет управлять конфигурацией кластера, выполнять запросы и контролировать состояние в одном месте.
🚀 Основные моменты:
- Упрощает управление Postgres кластерами
- Интуитивно понятный интерфейс для основных функций Patroni
- Возможность работы локально или в виртуальной машине
- Поддержка редактирования конфигурации кластера
- Инструменты для диагностики и устранения проблем
📌 GitHub: https://github.com/veegres/ivory
#go
👍10❤4🔥4
Surf предлагает интуитивно понятный и функциональный подход к работе с HTTP-запросами. С поддержкой браузерной имитации, продвинутой безопасности и гибкой системой промежуточного ПО, этот клиент идеально подходит для современных веб-взаимодействий.
- Поддержка имитации браузеров Chrome и Firefox
- Расширенные функции безопасности и TLS
- Полная поддержка HTTP/2 и HTTP/3
- Эффективное управление соединениями и кэширование ответов
- Совместимость со стандартной библиотекой Go
#go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤11🔥4😁1🤬1
Новый экспериментальный JSON API в Go
В версии Go 1.25 появился новый способ работы с JSON — пакеты
Пока они работают только в экспериментальном режиме: чтобы включить, нужно указать
Зачем это нужно?
Старая библиотека
- Принимает некорректный UTF-8 и дубли ключей в объектах — это нарушает стандарт и может вести к багам.
-
- Сопоставление полей Go-структур нечувствительно к регистру — медленно и запутанно.
- Нет нормального стриминга JSON.
- Есть лишние аллокации и даже квадратичные замедления при рекурсии.
Что изменилось в
- Код разделён на два уровня: синтаксис (`jsontext`) и работа со значениями (`json/v2`). Это упростило и ускорило библиотеку.
- Marshal работает так же быстро, как в старой версии, а Unmarshal стал значительно быстрее.
- Поведение можно тонко настраивать через новые опции.
- Ошибки прошлого (дубли ключей, странное поведение с
📌 Как запустить?
или
Новый API делает работу с JSON быстрее, чище и предсказуемее. Пока он экспериментальный, но, если сообщество даст положительный отклик, то в Go 1.26 или следующей версии json/v2 станет стандартом.
Почитай официальный блог: https://go.dev/blog/jsonv2-exp
@Golang_google
#Go #Golang #JSON #Go125 #encodingjson #jsonv2
В версии Go 1.25 появился новый способ работы с JSON — пакеты
encoding/json/v2
и encoding/json/jsontext
. Пока они работают только в экспериментальном режиме: чтобы включить, нужно указать
GOEXPERIMENT=jsonv2
или собрать проект с тегом goexperiment.jsonv2
.Зачем это нужно?
Старая библиотека
encoding/json
существует с первых версий Go и за годы накопила массу проблем:- Принимает некорректный UTF-8 и дубли ключей в объектах — это нарушает стандарт и может вести к багам.
-
nil`-срезы и карты сериализуются как `null
, хотя логичнее было бы []
или {}
. - Сопоставление полей Go-структур нечувствительно к регистру — медленно и запутанно.
- Нет нормального стриминга JSON.
- Есть лишние аллокации и даже квадратичные замедления при рекурсии.
Что изменилось в
v2
?- Код разделён на два уровня: синтаксис (`jsontext`) и работа со значениями (`json/v2`). Это упростило и ускорило библиотеку.
- Marshal работает так же быстро, как в старой версии, а Unmarshal стал значительно быстрее.
- Поведение можно тонко настраивать через новые опции.
- Ошибки прошлого (дубли ключей, странное поведение с
nil
, нечувствительность к регистру) исправлены.📌 Как запустить?
go run -tags goexperiment.jsonv2 .
или
GOEXPERIMENT=jsonv2 go run .
Новый API делает работу с JSON быстрее, чище и предсказуемее. Пока он экспериментальный, но, если сообщество даст положительный отклик, то в Go 1.26 или следующей версии json/v2 станет стандартом.
Почитай официальный блог: https://go.dev/blog/jsonv2-exp
@Golang_google
#Go #Golang #JSON #Go125 #encodingjson #jsonv2
❤6👍5🔥3