🧮 Парсим `lsblk` и анализируем диски на Go — без зависимостей
Вместо тяжёлых утилит можно легко написать парсер для анализа дисков прямо на Go.
В блоге Rezmoss показано, как создать свой анализатор дисков и разделов, используя
🔍 Что делает утилита:
• Запускает
• Парсит структуру блок-устройств и их монтирования
• Выводит дерево разделов, меток и точек монтирования
• Работает без сторонних зависимостей
📦 Используются только:
•
•
• Стандартные структуры Go для представления дисков
🧠 Полезно для:
• CLI-утилит по управлению хранилищем
• системных тулов в Linux
• кастомных мониторингов и автоконфигурации
🔗 Читай подробнее: rezmoss.com/blog/disk-partition-analyzer-in-go/
#golang #linux #sysadmin #devtools #cli
Вместо тяжёлых утилит можно легко написать парсер для анализа дисков прямо на Go.
В блоге Rezmoss показано, как создать свой анализатор дисков и разделов, используя
lsblk
и стандартную библиотеку Go.🔍 Что делает утилита:
• Запускает
lsblk -J
и получает JSON • Парсит структуру блок-устройств и их монтирования
• Выводит дерево разделов, меток и точек монтирования
• Работает без сторонних зависимостей
📦 Используются только:
•
os/exec
для запуска lsblk
•
encoding/json
для разбора вывода • Стандартные структуры Go для представления дисков
🧠 Полезно для:
• CLI-утилит по управлению хранилищем
• системных тулов в Linux
• кастомных мониторингов и автоконфигурации
🔗 Читай подробнее: rezmoss.com/blog/disk-partition-analyzer-in-go/
#golang #linux #sysadmin #devtools #cli
❤7👍5🥰1
🚀 Production Go API Template — готовый шаблон для продакшн-бэкенда на Go
Репозиторий trakora/production-go-api-template — это минималистичный и структурированный старт для разработки API‑сервисов на Go, с учётом лучших практик.
📦 Что внутри:
• Чистая архитектура и модульная структура
• Поддержка PostgreSQL, Redis, миграций и хранилищ
• Встроенная обработка ошибок, логгирование, тесты
• JWT-аутентификация, конфигурация через .env
• Готовность к деплою в Docker и CI/CD
💡 Подходит для:
• Быстрого запуска продакшн‑сервисов
• MVP, стартапов, микросервисов
• Разработчиков, которые хотят "не изобретать велосипед"
🔗 GitHub: https://github.com/trakora/production-go-api-template
#golang #backend #api #webdev #goproject #архитектура
Репозиторий trakora/production-go-api-template — это минималистичный и структурированный старт для разработки API‑сервисов на Go, с учётом лучших практик.
📦 Что внутри:
• Чистая архитектура и модульная структура
• Поддержка PostgreSQL, Redis, миграций и хранилищ
• Встроенная обработка ошибок, логгирование, тесты
• JWT-аутентификация, конфигурация через .env
• Готовность к деплою в Docker и CI/CD
💡 Подходит для:
• Быстрого запуска продакшн‑сервисов
• MVP, стартапов, микросервисов
• Разработчиков, которые хотят "не изобретать велосипед"
🔗 GitHub: https://github.com/trakora/production-go-api-template
#golang #backend #api #webdev #goproject #архитектура
🤔5🤣3😢2❤1😁1
Forwarded from Golang
🌀 Go 1.25 приносит мощный апгрейд JSON-библиотеки:
Что изменилось:
● Прямая работа с
Новые функции
● Потоковая обработка JSON
Появился модуль
● Гибкая настройка
Теперь функции
-
-
-
-
-
Пример:
● Новое поведение по умолчанию
Теперь:
JSON-парсинг чувствителен к регистру
Дублирующиеся ключи запрещены
Неизвестные поля игнорируются, если не указано иное
Можно включить прежнее поведение опциями (например, MatchCaseInsensitiveNames)
● Ускорение десериализации
Внутренний движок полностью переписан — ускорение десериализации в 2.7–10.2 раз. При использовании потоковых API (UnmarshalJSONFrom) — прирост до 40×.
● Экспериментальный статус
API ещё может меняться. По умолчанию encoding/json использует новый движок, но json/v2 доступен отдельно и требует флага:
Это — один из самых масштабных апдейтов стандартной библиотеки Go за последние годы. Подходит для тех, кто работает с тяжёлыми JSON-структурами, большими потоками или требует строгого контроля сериализации.
📌 Полный разбор и примеры
@golang_google
#golang #go #JSON
encoding/json/v2
— переработанная с нуля система сериализации с гибкой настройкой, высокой скоростью и новым APIЧто изменилось:
● Прямая работа с
io.Writer
и io.Reader
Новые функции
MarshalWrite
и UnmarshalRead
позволяют писать и читать JSON напрямую, без создания Encoder/Decoder. Это упрощает потоковую работу и уменьшает аллокации.● Потоковая обработка JSON
Появился модуль
jsontext
с функциями MarshalEncode
и UnmarshalDecode
, которые читают и пишут JSON по одному объекту за раз. Это критично для систем, обрабатывающих большие JSON-потоки, например, в Kubernetes.● Гибкая настройка
Теперь функции
Marshal
и Unmarshal
принимают опции, напрямую влияющие на формат вывода и поведение парсера:-
OmitZeroStructFields(true)
— пропускать нулевые поля -
StringifyNumbers(true)
— числа как строки -
MatchCaseInsensitiveNames(true)
— имена полей без учёта регистра -
FormatNilMapAsNull(true)
— nil`-карты как `null
-
WithIndent(" ")
— отступы в JSONПример:
json.Marshal(
user,
json.OmitZeroStructFields(true),
json.StringifyNumbers(true),
jsontext.WithIndent(" "),
)
● Новое поведение по умолчанию
Теперь:
JSON-парсинг чувствителен к регистру
Дублирующиеся ключи запрещены
Неизвестные поля игнорируются, если не указано иное
Можно включить прежнее поведение опциями (например, MatchCaseInsensitiveNames)
● Ускорение десериализации
Внутренний движок полностью переписан — ускорение десериализации в 2.7–10.2 раз. При использовании потоковых API (UnmarshalJSONFrom) — прирост до 40×.
● Экспериментальный статус
API ещё может меняться. По умолчанию encoding/json использует новый движок, но json/v2 доступен отдельно и требует флага:
GOEXPERIMENT=jsonv2
Это — один из самых масштабных апдейтов стандартной библиотеки Go за последние годы. Подходит для тех, кто работает с тяжёлыми JSON-структурами, большими потоками или требует строгого контроля сериализации.
📌 Полный разбор и примеры
@golang_google
#golang #go #JSON
🔥26👍7❤6
🔬 Go-HEP — библиотеки и инструменты для анализа данных в физике высоких энергий
go-hep — это набор библиотек на языке Go, созданных для упрощения и ускорения HEP-анализа (High Energy Physics). Проект предоставляет всё необходимое, чтобы читать, обрабатывать и визуализировать физические данные — и всё это с помощью удобного, параллельного и надёжного кода на Go.
🧩 Что входит:
• Чтение/запись ROOT-файлов
• Построение гистограмм
• Event loop системы
• Матричные и векторные вычисления
• Нативная реализация на Go без C/C++-биндингов
📚 Документация: доступна через GoDoc
📬 Форум: ~sbinet/[email protected]
💡 Подробнее: [go-hep.org](https://go-hep.org)
🎯 Зачем это нужно:
Анализ данных в HEP требует мощных инструментов. Одно из ключевых условий — это работа с форматом ROOT. Go-HEP предоставляет этот уровень совместимости, позволяя встраивать свои анализы в существующие пайплайны HEP-сообщества.
⚡ Почему Go:
Go даёт:
• высокую скорость
• удобный параллелизм через goroutines
• развитую экосистему и простую поддержку CI/CD
• чистую архитектуру и масштабируемый код
🧠 Go-HEP позволяет физикам сосредоточиться на анализе, а не на инфраструктуре.
🔗 GitHub: github.com/go-hep/hep
📜 Лицензия: BSD-3
🤝 Как помочь: go-hep.org/contributing
#golang #HEP #science #physics #opensource
go-hep — это набор библиотек на языке Go, созданных для упрощения и ускорения HEP-анализа (High Energy Physics). Проект предоставляет всё необходимое, чтобы читать, обрабатывать и визуализировать физические данные — и всё это с помощью удобного, параллельного и надёжного кода на Go.
🧩 Что входит:
• Чтение/запись ROOT-файлов
• Построение гистограмм
• Event loop системы
• Матричные и векторные вычисления
• Нативная реализация на Go без C/C++-биндингов
📚 Документация: доступна через GoDoc
📬 Форум: ~sbinet/[email protected]
💡 Подробнее: [go-hep.org](https://go-hep.org)
🎯 Зачем это нужно:
Анализ данных в HEP требует мощных инструментов. Одно из ключевых условий — это работа с форматом ROOT. Go-HEP предоставляет этот уровень совместимости, позволяя встраивать свои анализы в существующие пайплайны HEP-сообщества.
⚡ Почему Go:
Go даёт:
• высокую скорость
• удобный параллелизм через goroutines
• развитую экосистему и простую поддержку CI/CD
• чистую архитектуру и масштабируемый код
🧠 Go-HEP позволяет физикам сосредоточиться на анализе, а не на инфраструктуре.
🔗 GitHub: github.com/go-hep/hep
📜 Лицензия: BSD-3
🤝 Как помочь: go-hep.org/contributing
#golang #HEP #science #physics #opensource
go-hep.org
Writing HEP software with ease and Go
❤9👍2🌚1