Основные темы, рассмотренные в статье:
Что такое DNS и его значение:
DNS (Domain Name System) действует как телефонная книга интернета, преобразуя удобочитаемые доменные имена (например, google.com) в машинно-читаемые IP-адреса (например, 142.250.182.206), облегчая навигацию в сети.
Пошаговый процесс разрешения DNS:
1️⃣ Инициирование запроса: Локальный резолвер в операционной системе проверяет кэш на наличие IP-адреса запрашиваемого домена. Если адрес отсутствует, запрос направляется к рекурсивному DNS-резолверу.
2️⃣ Обращение к рекурсивному резолверу: Рекурсивный резолвер, такой как Google Public DNS (8.8.8.8) или Cloudflare DNS (1.1.1.1), принимает запрос и начинает процесс поиска.
3️⃣ Запрос к корневому DNS-серверу: Рекурсивный резолвер обращается к корневому серверу, который направляет его к соответствующему серверу верхнего уровня (TLD) для запрашиваемого домена.
4️⃣ Запрос к TLD-серверу: Сервер верхнего уровня (например, для доменов .com или .tech) указывает на авторитетный сервер конкретного домена.
5️⃣ Запрос к авторитетному серверу: Авторитетный сервер предоставляет окончательный IP-адрес запрашиваемого домена.
Создание собственного DNS-сервера на Go:
В статье вы найдите гайд по разработке простого DNS-сервера на Go, и предоставляет исходный код проекта для самостоятельного изучения.
Годное чтиво на выходные )
📌Читать
#junior #golang #go #dns
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎊 Выпущены версии Go 1.24.2 и 1.23.8!
Эти релизы являются минорными и в основном направлены на исправление проблем безопасности.
🔐 Безопасность: Содержит исправление безопасности для net/http (CVE-2025-22871).
📣 Анонс: https://groups.google.com/g/golang-announce/c/Y2uBTVKjBQk/m/cs_6qIK5BAAJ
📦 Скачать https://go.dev/dl/#go1.24.2
#golang #go #release
@golang_google
Эти релизы являются минорными и в основном направлены на исправление проблем безопасности.
🔐 Безопасность: Содержит исправление безопасности для net/http (CVE-2025-22871).
📣 Анонс: https://groups.google.com/g/golang-announce/c/Y2uBTVKjBQk/m/cs_6qIK5BAAJ
📦 Скачать https://go.dev/dl/#go1.24.2
#golang #go #release
@golang_google
Нужен лёгкий и быстрый инструмент для анализа логов в формате Common/Combined Log Format? Попробуй Xilt — CLI-утилиту на Go с поддержкой многопоточности.
Что умеет:
• 📥 Парсит .log-файлы и сохраняет в SQLite
• ⚙️ Управление потоками - avgLogSize, batchSize, maxMemUsage
• 🧠 Автоиндексы по IP, методу, пути, времени, referer
• 💻 Verbose-режим для дебага
• 🟨 Go-install без проблем
📦 Установка:
go install go.vxn.dev/xilt/cmd/xilt@latest
▶️ Запуск:
xilt access.log logs.db
🔗 GitHub — thevxn/xilt
#Golang #Logs #SQLite #CLItools #DevOps
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Безопасность: Включает исправление безопасности для os (CVE-2025-22873).
📢 Анонс: https://groups.google.com/g/golang-announce/c/UZoIkUT367A/m/5WDxKizJAQAJ
📦 Скачать: https://go.dev/dl/#go1.24.3
#golang #release
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Это современный, сверхпроизводительный, специально разработанный API-шлюз с открытым исходным кодом.
Tyk Operator предоставляет возможности полного жизненного цикла управления API в Kubernetes. Вы можете настраивать Ingress, API, политики безопасности, аутентификацию, авторизацию, посредничество, используя лучшие практики GitOps с помощью пользовательских ресурсов и примитивов, присущих Kubernetes.
📌 Github
#golang #devops #девопс
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Доступен первый альфа-выпуск языка программирования Gauntlet, надстройки над языком Go, решающей некоторые архитектурные проблемы и добавляющей дополнительную функциональность.
Программы на языке Gauntlet поддерживают все возможности языка Go, транслируются в представление на языке Go и интегрируются с существующей экосистемой Go без необходимости задействования обвязок (binding).
Развиваемый проектом инструментарий написан на языке F# и распространяется пол лицензией GPLv3. Для работы с кодом предоставляется дополнение к редактору VSCode.
Решаемые в Gauntlet проблемы:
• Назойливый вывод ошибок, связанных с неиспользуемыми переменными (Gauntlet добавляет для всех неиспользуемых переменных заглушки вида "_ = a").
• Раздутый код для обработки ошибок. В Gauntlet вместо условных блоков вида "if err != nil" используются однострочные выражения "try-with".
• Назойливый способ импорта и экспорта (например, в Go необходимо, чтобы экспортируемые имена начинались на заглавную букву).
• Отсутствие тенарного оператора. В Gauntlet можно использовать выражения вида 'let properWord = @String len(lines) > 1 ? "lines" : "line"'.
•Отсутствие синтаксиса switch-case.
• Усложнённые циклы "for". В Gauntlet можно писать "for let _, c in "Hello" {" вместо "for _, c := range "Hello" {".
• Необычный оператор присваивания (":=" для одновременного объявления и инициализации переменных; "=" для изменения значения уже объявленных переменных).
• Невозможность вызова функций по цепочке (в Gauntlet поддерживается вызов вида 'let trimmedLines = fileContentStrVersion => strings.trimSpace(_) => strings.split(_, "\n")'.
Расширенные возможности Gauntlet:
• Синтаксис "when-is" похожий на switch.case, но манипулирующий выражениями.
• Поддержка pipe-каналов, позволяющих по цепочке пропускать значение через несколько выражений или функций. например "10 => add(_, 10) => add(_, 30) => divide(_, 2)".
• Выражения "try .. with" и "force .. with".
• Выражение "wrapper" для создания псевдонимов типов (например. "wrapper Int Dollars").
#Gauntlet #golang
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Monstera — фреймворк для Go, который избавит тебя от забот о масштабировании
Пишешь приложение на Go, где нужно хранить состояние (state)?
Обычно это боль: базы, кеши, отказоустойчивость, репликация...
Monstera всё упрощает:
✅ Пиши обычный Go-код со всеми данными в памяти или на диске
✅ Не думай про кластеры, скейлинг, доступность — всё уже встроено
✅ Подходит для real-time приложений, распределённых систем и сервисов с постоянным состоянием
💡 Просто подключаешь Monstera — и сразу получаешь стабильную, масштабируемую систему.
🔗 Попробовать
#golang
Пишешь приложение на Go, где нужно хранить состояние (state)?
Обычно это боль: базы, кеши, отказоустойчивость, репликация...
Monstera всё упрощает:
✅ Пиши обычный Go-код со всеми данными в памяти или на диске
✅ Не думай про кластеры, скейлинг, доступность — всё уже встроено
✅ Подходит для real-time приложений, распределённых систем и сервисов с постоянным состоянием
💡 Просто подключаешь Monstera — и сразу получаешь стабильную, масштабируемую систему.
go get -u github.com/evrblk/monstera@latest
🔗 Попробовать
#golang
🎆 Релиз Go 1.24.4 и 1.23.10!
🔐 Безопасность:
Обновления включают исправления для критических уязвимостей:
• CVE-2025-4673 (в `net/http`)
• CVE-2025-0913 (в `os`)
• CVE-2025-22874 (в `crypto/x509`)
📢 Анонс: https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A/m/XDxq7uidAgAJ
📦 Скачать: https://go.dev/dl/#go1.24.4
#golang #security #update
@Golang_google
🔐 Безопасность:
Обновления включают исправления для критических уязвимостей:
• CVE-2025-4673 (в `net/http`)
• CVE-2025-0913 (в `os`)
• CVE-2025-22874 (в `crypto/x509`)
📢 Анонс: https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A/m/XDxq7uidAgAJ
📦 Скачать: https://go.dev/dl/#go1.24.4
#golang #security #update
@Golang_google