Пет-проекты — это именно то, что помогает глубоко разобраться в Go
Так что держите подборку туториалов по реализации разных интересных проектов на Go, вот некоторые из них:
— построение блокчейна на Go
— создание приложения с чатом, используя ReactJS
— сокращатель ссылок
— создание BitTorrent-клиента
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥9❤🔥2❤2
🎉 Вышли версии 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
🔥6👍4❤3
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
🛡️ JWT для Go: безопасная работа с JSON Web Tokens
Библиотека для работы с JSON Web Tokens (JWT) на Go, поддерживающая создание, верификацию и парсинг токенов. Обеспечивает безопасность и совместимость с предыдущими версиями, включая поддержку различных алгоритмов подписи.
🚀 Основные моменты:
- Поддержка HMAC, RSA, RSA-PSS и ECDSA.
- Совместимость с RFC 7519.
- Легкость в добавлении собственных методов подписи.
- Активная поддержка и обновления.
📌 GitHub
#go
Библиотека для работы с JSON Web Tokens (JWT) на Go, поддерживающая создание, верификацию и парсинг токенов. Обеспечивает безопасность и совместимость с предыдущими версиями, включая поддержку различных алгоритмов подписи.
🚀 Основные моменты:
- Поддержка HMAC, RSA, RSA-PSS и ECDSA.
- Совместимость с RFC 7519.
- Легкость в добавлении собственных методов подписи.
- Активная поддержка и обновления.
📌 GitHub
#go
👍6🔥2❤1
🛠️ Управление оповещениями с Keep
Keep — это платформа для управления оповещениями и AIOps, предлагающая единый интерфейс для обработки инцидентов. Она включает функции дедупликации, фильтрации и интеграции с различными инструментами мониторинга.
🚀 Основные моменты:
- 🔍 Удобный интерфейс для управления инцидентами
- 🛠️ Многофункциональные инструменты для обработки оповещений
- 🔄 Глубокая интеграция с инструментами мониторинга
- ⚡ Автоматизация процессов с помощью GitHub Actions
- 🤖 AI-поддержка для корреляции и обобщения данных
📌 GitHub: https://github.com/keephq/keep
#go
Keep — это платформа для управления оповещениями и AIOps, предлагающая единый интерфейс для обработки инцидентов. Она включает функции дедупликации, фильтрации и интеграции с различными инструментами мониторинга.
🚀 Основные моменты:
- 🔍 Удобный интерфейс для управления инцидентами
- 🛠️ Многофункциональные инструменты для обработки оповещений
- 🔄 Глубокая интеграция с инструментами мониторинга
- ⚡ Автоматизация процессов с помощью GitHub Actions
- 🤖 AI-поддержка для корреляции и обобщения данных
📌 GitHub: https://github.com/keephq/keep
#go
❤3🔥2👍1
🚀 Удобный интерфейс для работы с Kubernetes-кластерами
Aptakube — это мощный инструмент для управления Kubernetes-кластерами с интуитивно понятным интерфейсом. Он поддерживает одновременное подключение к нескольким кластерам и предлагает функции, такие как агрегированный просмотр логов и возможность изменения объектов.
🚀Основные моменты:
- 💯 Подключение к нескольким кластерам одновременно
- ⚡️ Агрегированный просмотр логов
- ⚖️ Сравнение ресурсов
- 🎉 Никакой конфигурации не требуется
- ✅ Совместимость с любым Kubernetes-кластером
📌 GitHub: https://github.com/aptakube/aptakube
#go
Aptakube — это мощный инструмент для управления Kubernetes-кластерами с интуитивно понятным интерфейсом. Он поддерживает одновременное подключение к нескольким кластерам и предлагает функции, такие как агрегированный просмотр логов и возможность изменения объектов.
🚀Основные моменты:
- 💯 Подключение к нескольким кластерам одновременно
- ⚡️ Агрегированный просмотр логов
- ⚖️ Сравнение ресурсов
- 🎉 Никакой конфигурации не требуется
- ✅ Совместимость с любым Kubernetes-кластером
📌 GitHub: https://github.com/aptakube/aptakube
#go
🔥5❤1👍1🥰1
📌 В Go есть два разных способа собирать пути, и это важно понимать:
👉 Нужно указать путь к файлу на диске?
Используй
Он сам подставит правильные разделители:
-
-
👉 Нужно собрать путь со слешами, например для URL?
Используй
Он всегда будет использовать
⚠️ На Linux оба варианта могут выглядеть одинаково, но на Windows результат будет другим.
#golang #go #programming #backend
👉 Нужно указать путь к файлу на диске?
Используй
filepath.Join из пакета path/filepath. Он сам подставит правильные разделители:
-
/ на Linux и macOS -
\ на Windows 👉 Нужно собрать путь со слешами, например для URL?
Используй
path.Join из пакета path. Он всегда будет использовать
/ и работать одинаково на всех ОС. ⚠️ На Linux оба варианта могут выглядеть одинаково, но на Windows результат будет другим.
#golang #go #programming #backend
👍21❤2
🌥️ CasaOS - Ваш персональный облачный сервис
CasaOS предлагает решение для создания личного облака, позволяя пользователям управлять данными и устройствами в одном месте. Это идеальный инструмент для малых организаций и создателей контента, стремящихся к автономии и снижению затрат на SaaS.
🚀 Основные моменты:
- Легкий в использовании интерфейс для домашнего использования
- Поддержка управления умными устройствами
- Возможность создания персонализированных AI-ассистентов
- Открытый код и активное сообщество
📌 GitHub: https://github.com/IceWhaleTech/CasaOS
#go
CasaOS предлагает решение для создания личного облака, позволяя пользователям управлять данными и устройствами в одном месте. Это идеальный инструмент для малых организаций и создателей контента, стремящихся к автономии и снижению затрат на SaaS.
🚀 Основные моменты:
- Легкий в использовании интерфейс для домашнего использования
- Поддержка управления умными устройствами
- Возможность создания персонализированных AI-ассистентов
- Открытый код и активное сообщество
📌 GitHub: https://github.com/IceWhaleTech/CasaOS
#go
🔥5❤1👍1
🚀 Быстрая синхронизация для S3
S3Sync — это мощный инструмент для быстрой синхронизации файлов между S3 и локальной файловой системой. Поддерживает многопоточную загрузку и выгрузку, а также позволяет синхронизировать данные между несколькими источниками. Имеет гибкие фильтры и возможность ограничения по скорости.
🚀 Основные моменты:
- Многопоточная загрузка и выгрузка файлов
- Высокая скорость синхронизации (до 2000 объектов/сек)
- Гибкие фильтры по расширениям и метаданным
- Поддержка синхронизации между S3 и локальной файловой системой
- Статистика в реальном времени
📌 GitHub: https://github.com/larrabee/s3sync
#go
S3Sync — это мощный инструмент для быстрой синхронизации файлов между S3 и локальной файловой системой. Поддерживает многопоточную загрузку и выгрузку, а также позволяет синхронизировать данные между несколькими источниками. Имеет гибкие фильтры и возможность ограничения по скорости.
🚀 Основные моменты:
- Многопоточная загрузка и выгрузка файлов
- Высокая скорость синхронизации (до 2000 объектов/сек)
- Гибкие фильтры по расширениям и метаданным
- Поддержка синхронизации между S3 и локальной файловой системой
- Статистика в реальном времени
📌 GitHub: https://github.com/larrabee/s3sync
#go
GitHub
GitHub - larrabee/s3sync: Really fast sync tool for S3
Really fast sync tool for S3. Contribute to larrabee/s3sync development by creating an account on GitHub.
👍7❤4
🚀 Инференс языковых моделей на Go с yzma
🚀Основные моменты:
- Поддержка VLM, LLM, SLM и TLM.
- Полная аппаратная активация для оптимальной производительности.
- Простота использования без C компилятора.
- Совместимость с последними версиями
- Примеры использования для различных моделей.
📌 GitHub: https://github.com/hybridgroup/yzma
#go
yzma позволяет использовать языковые модели, включая VLM и LLM, на вашем оборудовании с полной аппаратной поддержкой. Работает на Linux, macOS и Windows без необходимости в CGo, что упрощает интеграцию.🚀Основные моменты:
- Поддержка VLM, LLM, SLM и TLM.
- Полная аппаратная активация для оптимальной производительности.
- Простота использования без C компилятора.
- Совместимость с последними версиями
llama.cpp.- Примеры использования для различных моделей.
📌 GitHub: https://github.com/hybridgroup/yzma
#go
🔥3❤1🤔1