Параллельные тесты
Параллельные тесты в #golang позволяют выполнять несколько тестов одновременно. Это особенно полезно для тестов, связанных с IO поскольку другие тесты могут выполняться во время периодов ожидания, а значит, вы будете меньше времени ждать выполнения вашего набора тестов.
Это также поможет вам убедиться в том, что тесты не используют глобальное состояние, иначе они станут нестабильными.
Для этого достаточно пометить тест как параллельный следующим образом: изображение 1.
Бенчмарк-тесты
Бенчмарк-тесты - это отличный способ измерить и оптимизировать эффективность определенных частей кода.
Например, вот два способа конкатенации строки.
С помощью +: изображение 2.
Использование strings.Builder: изображение 3.
Если мы их запустим код, то получим следующий результат:
BenchmarkStringConcat-12 1000000 1200 ns/op BenchmarkStringBuilder-12 5000000 250 ns/op
Это означает, что тест выполнялся за
1000000
и 5000000
итераций, при этом stringConcat затрачивалось 1200 наносекунд на операцию, а strings.Builder - 250. Таким образом, strings.Builder гораздо эффективнее.@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Немного расширенный функционал Mutex в грядущем пакете "go101․org/nstd".
vs
#Golang
@golang_interview
m.Lock()
defer m.Unlock()
vs
defer m.Lock().Unlock()
https://github.com/golang/go/issues/63941
#Golang
@golang_interview
Будет ли в 2023 году больше или меньше звезд, чем в предыдущем? (на данный момент 2 610 110).
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье проиллюстрирована попытка определить схему подключения программ на языке Go.
Описаны довольно интересные внутренние особенности языка, реализация хука с помощью Си и ассемблера. Однако все управление осуществялется с помощью Go. Решение довольно универсальное его можно адаптировать к различным платформам и архитектурам процессоров.
https://blog.quarkslab.com/lets-go-into-the-rabbit-hole-part-1-the-challenges-of-dynamically-hooking-golang-program.html
#golang #infosec
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
#golang
https://golang.withcodeexample.com/blog/memory-management-golang-safeguarding-efficiency-stability/
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
🗣 Анонс: https://groups.google.com/g/golang-announce/c/3DyiMkYx4Fo
⬇️ Скачать: https://go.dev/dl/#go1.23.4
#golang
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Вышли версии Go 1.23.5 и 1.22.11!
🔒 Безопасность: включены исправления безопасности для CVE-2024-45336 и CVE-2024-45341 в файлах crypto/x509 и net/http.
📡 Анонс: https://groups.google.com/g/golang-announce/c/sSaUhLA-2SI.
📦 Скачать: https://go.dev/dl/#go1.23.5
@golang_interview
#golang #release #Go
🔒 Безопасность: включены исправления безопасности для CVE-2024-45336 и CVE-2024-45341 в файлах crypto/x509 и net/http.
📡 Анонс: https://groups.google.com/g/golang-announce/c/sSaUhLA-2SI.
📦 Скачать: https://go.dev/dl/#go1.23.5
@golang_interview
#golang #release #Go
Онлайн песочница с открытым исходным кодом для запуска кода.
Создана на основе образов Docker с надежной изоляцией, предоставляемой Google gVisor
#golang
▪Github
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🧮 Парсим `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
🚀 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 #архитектура