🧮 Парсим `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 000+ упражнений на 76 языках программирования
Exercism — бесплатная платформа для прокачки навыков программирования с нуля. Каждый язык — отдельный путь, наполненный практическими задачами.
Главный плюс — обратная связь от опытных менторов. Ответы здесь не быстрые, зато по делу и без токсичности, как это бывает на Stack Overflow.
https://exercism.org/
Exercism — бесплатная платформа для прокачки навыков программирования с нуля. Каждый язык — отдельный путь, наполненный практическими задачами.
Главный плюс — обратная связь от опытных менторов. Ответы здесь не быстрые, зато по делу и без токсичности, как это бывает на Stack Overflow.
https://exercism.org/
📦 Nubo — репозиторий формальных доказательств для Dedukti
Если вы работаете с формальными доказательствами и Dedukti — Nubo упрощает жизнь.
🔹 Это централизованный репозиторий библиотек с метаданными: имя, версия, зависимости, синтаксис, флаги.
🔹 Поддерживает загрузку (make download), проверку (make check) и упаковку (make package).
🔹 Работает через Makefile-сборку, автоматически управляя зависимостями и структурами.
🔹 Стандартизирует хранение и верификацию библиотек, пригоден для масштабирования и CI.
👨🔬 Полезно для исследователей, разработчиков Dedukti и формальных систем.
🔗 GitHub: https://github.com/nubolang/nubo
Если вы работаете с формальными доказательствами и Dedukti — Nubo упрощает жизнь.
🔹 Это централизованный репозиторий библиотек с метаданными: имя, версия, зависимости, синтаксис, флаги.
🔹 Поддерживает загрузку (make download), проверку (make check) и упаковку (make package).
🔹 Работает через Makefile-сборку, автоматически управляя зависимостями и структурами.
🔹 Стандартизирует хранение и верификацию библиотек, пригоден для масштабирования и CI.
👨🔬 Полезно для исследователей, разработчиков Dedukti и формальных систем.
🔗 GitHub: https://github.com/nubolang/nubo
Вакансиb для Golang-разработчиков в Otello!
1️⃣ Разрабатываем сервис бронирования, где команда сама отвечает за архитектуру, консистентность данных и деплой.
2️⃣ Максимум ответственности и развитияТы сам проектируешь фичи, принимаешь решения и доводишь их до продакшена. У нас нет бюрократии и долгих согласований — есть автономные команды и возможность проявить лидерские качества.
3️⃣ Технологический стек, который радуетGo, PostgreSQL, Clickhouse, Kafka, Kubernetes, Prometheus, Grafana и многое другое. Пишем гексагональные REST-сервисы, разворачиваемся в четырех датацентрах. Любим архитектурные обсуждения, но технологии для нас — не самоцель, а инструмент.
4️⃣ Процесс, который не бесит. Работаем по Shape Up, поэтому без бесконечных таск-трекеров и бесцельных стендапов. Всегда задаем себе вопрос "Зачем?" и находим лучшие ответы на "Как?".
5️⃣ Классная команда и атмосфера. Мы ценим простые и эффективные решения, любим обсуждать архитектуру и масштабирование, а еще умеем работать динамично и с кайфом.
🔥 Если тебе близко —откликайся!
1️⃣ Разрабатываем сервис бронирования, где команда сама отвечает за архитектуру, консистентность данных и деплой.
2️⃣ Максимум ответственности и развитияТы сам проектируешь фичи, принимаешь решения и доводишь их до продакшена. У нас нет бюрократии и долгих согласований — есть автономные команды и возможность проявить лидерские качества.
3️⃣ Технологический стек, который радуетGo, PostgreSQL, Clickhouse, Kafka, Kubernetes, Prometheus, Grafana и многое другое. Пишем гексагональные REST-сервисы, разворачиваемся в четырех датацентрах. Любим архитектурные обсуждения, но технологии для нас — не самоцель, а инструмент.
4️⃣ Процесс, который не бесит. Работаем по Shape Up, поэтому без бесконечных таск-трекеров и бесцельных стендапов. Всегда задаем себе вопрос "Зачем?" и находим лучшие ответы на "Как?".
5️⃣ Классная команда и атмосфера. Мы ценим простые и эффективные решения, любим обсуждать архитектуру и масштабирование, а еще умеем работать динамично и с кайфом.
🔥 Если тебе близко —откликайся!
🚀 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 #архитектура
💡 В процессе анализа работы контейнеров, может быть полезно сравнение повышенной нагрузки с количеством логируемых сообщений, при этом, если приложение не является ресурсоемким, количество логов покажет возросшую нагрузку. Это также ускорьте анализ журнала, отображая, в какой момент времени было получено наибольшее количество сообщений из стандартного потока (stdout) и потока ошибок (stderr).
👉 Для проекта будет полезно получить обратную связь по актуальности и настройке текущего Dashboard для Grafana (изменения можно внести самостоятельно через Pull Request). Вы также можете предложить, какие еще кастомные метрики можно было бы реализовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Lifailon/logporter: Prometheus exporter for getting base metrics and number of logged messages in containers.
Prometheus exporter for getting base metrics and number of logged messages in containers. - Lifailon/logporter
🛡️ Инструмент для анализа Kerberos
KerbTool — это утилита для взаимодействия с Kerberos-протоколом, разработанная для тестирования безопасности и проведения атак на аутентификацию в Active Directory. Написана на Go.
🧰 Возможности:
• AS-REQ с любым именем пользователя (без предварительной аутентификации)
• Получение TGT и TGS
• Поддержка дешифровки и анализа билетов
• Brute-force и словарные атаки на учетные записи
• Поддержка режимов "kerberoasting" и "asreproasting"
• Работает в Linux, Windows и MacOS
🎯 Для чего используется:
• Red team-проверки
• Аудит конфигурации Kerberos
• Тестирование уязвимостей в аутентификации
• Извлечение хэшей из TGS/AS-REP без входа в систему
💡 Альтернатива таким инструментам как Impacket и Rubeus, но в удобной кроссплатформенной обёртке на Go.
https://github.com/jfjallid/kerbtool
KerbTool — это утилита для взаимодействия с Kerberos-протоколом, разработанная для тестирования безопасности и проведения атак на аутентификацию в Active Directory. Написана на Go.
🧰 Возможности:
• AS-REQ с любым именем пользователя (без предварительной аутентификации)
• Получение TGT и TGS
• Поддержка дешифровки и анализа билетов
• Brute-force и словарные атаки на учетные записи
• Поддержка режимов "kerberoasting" и "asreproasting"
• Работает в Linux, Windows и MacOS
🎯 Для чего используется:
• Red team-проверки
• Аудит конфигурации Kerberos
• Тестирование уязвимостей в аутентификации
• Извлечение хэшей из TGS/AS-REP без входа в систему
💡 Альтернатива таким инструментам как Impacket и Rubeus, но в удобной кроссплатформенной обёртке на Go.
https://github.com/jfjallid/kerbtool
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
Тимлид, вам слово📣 Приглашаем на митап по управлению командами
Воспользуйтесь летним затишьем, чтобы посмотреть на практику коллег, промониторить «погоду» в своей команде и, возможно, обновить стратегию работы. Обсудим дела тимлидские на офлайн-встрече TeamLead Talks в офисе Lamoda.
🤝 Обменяемся опытом, разберем кейсы командного управления и выберем лучшие решения.
🍕 Наладить непринужденное общение помогут нетворкинг-разогрев, игра «IT-бункер», закуски и напитки.
Присоединяйтесь к Team Lead Talks:
📅 2 июля в 19:00.
📍 Офлайн, Москва, офис Lamoda.
🔗Регистрируйтесь по ссылке, количество мест ограничено.
#реклама
О рекламодателе
Воспользуйтесь летним затишьем, чтобы посмотреть на практику коллег, промониторить «погоду» в своей команде и, возможно, обновить стратегию работы. Обсудим дела тимлидские на офлайн-встрече TeamLead Talks в офисе Lamoda.
🤝 Обменяемся опытом, разберем кейсы командного управления и выберем лучшие решения.
🍕 Наладить непринужденное общение помогут нетворкинг-разогрев, игра «IT-бункер», закуски и напитки.
Присоединяйтесь к Team Lead Talks:
📅 2 июля в 19:00.
📍 Офлайн, Москва, офис Lamoda.
🔗Регистрируйтесь по ссылке, количество мест ограничено.
#реклама
О рекламодателе
package main
func oneStep(yield func() bool) {
yield()
}
func f() {
for range oneStep {
print("f ")
recover()
}
}
func g() {
for range 1 {
print("g ")
recover()
}
}
func checkPanic(loop func(), c chan<- struct{}) {
defer func() {
println(recover() != nil)
c <- struct{}{}
}()
defer loop()
panic(123)
}
func main() {
c := make(chan struct{}, 1)
go checkPanic(f, c)
<-c
go checkPanic(g, c)
<-c
}
🔗 Ответ
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔌 go-redis/cache — эффективное кэширование для Golang. Библиотека от создателей go-redis предлагает удобный способ организации двухуровневого кэша с Redis в качестве основного хранилища и локальным кэшем на основе TinyLFU.
Библиотека использует автоматическую сериализацию структур через MessagePack и поддержка распределённых Redis-конфигураций. Также интересно реализован механизм однократного вычисления значения для параллельных запросов через метод Once. Это упрощает работу с горячими ключами, когда несколько goroutines одновременно запрашивают одни и те же данные.
🤖 GitHub
@golang_interview
Библиотека использует автоматическую сериализацию структур через MessagePack и поддержка распределённых Redis-конфигураций. Также интересно реализован механизм однократного вычисления значения для параллельных запросов через метод Once. Это упрощает работу с горячими ключами, когда несколько goroutines одновременно запрашивают одни и те же данные.
🤖 GitHub
@golang_interview