👊🏻👋🏻 Generic Web Handlers
В блоге Pragmatic Paths вышла статья о Generic Web Handlers (GWU) в Go. В ней рассказывается о создании универсальных обработчиков веб-запросов, которые абстрагируют повторяющийся код для обработки HTTP-запросов и ответов.
Примеры включают создание и обработку JSON данных, использование функций для выполнения бизнес-логики и логирования.
Автор делится собственными идеями и примерами кода, которые делают разработку более эффективной и структурированной.
📌Прочитать полный док
#golang #json #go
@Golang_google
В блоге Pragmatic Paths вышла статья о Generic Web Handlers (GWU) в Go. В ней рассказывается о создании универсальных обработчиков веб-запросов, которые абстрагируют повторяющийся код для обработки HTTP-запросов и ответов.
Примеры включают создание и обработку JSON данных, использование функций для выполнения бизнес-логики и логирования.
Автор делится собственными идеями и примерами кода, которые делают разработку более эффективной и структурированной.
📌Прочитать полный док
#golang #json #go
@Golang_google
#golang #junior #go
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструмент резервного копирования на Go с открытым исходным кодом, который поддерживает шифрование E2E (сквозное тестирование) и дедупликацию.
В отличие от традиционных средств, он может делать резервные копии отдельных файлов и каталогов вместо создания полных образов системы.
Доступны версии с графическим интерфейсом и CLI версия.
#go #opensource #e2e
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Выпущен релиз Go 1.24 Candidate 2!
🔐 Безопасность: Включает исправления безопасности для инструмента go и пакетов crypto/x509 и net/http.
🏃♀️ Run it in dev! Запустите в prod: https://go.dev/issue/new 📣
Анонс: https://groups.google.com/g/golang-announce/c/L8jWYHEfOlQ
⬇️ Скачать: https://go.dev/dl/#go1.24rc2
@golang_google
#golang #release #Go
🔐 Безопасность: Включает исправления безопасности для инструмента go и пакетов crypto/x509 и net/http.
🏃♀️ Run it in dev! Запустите в prod: https://go.dev/issue/new 📣
Анонс: https://groups.google.com/g/golang-announce/c/L8jWYHEfOlQ
⬇️ Скачать: https://go.dev/dl/#go1.24rc2
@golang_google
#golang #release #Go
🎉 Вышли версии 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_google
#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_google
#golang #release #Go
🥳 Выпущены версии Go 1.23.6 и 1.22.12!
🔐 Безопасность: Включает исправление безопасности для crypto/elliptic (CVE-2025-22866).
🔈 Анонс: https://groups.google.com/g/golang-announce/c/xU1ZCHUZw3k
🗃 Скачать: https://go.dev/dl/#go1.23.6
@golang_google
#golang #go #release
🔐 Безопасность: Включает исправление безопасности для crypto/elliptic (CVE-2025-22866).
🔈 Анонс: https://groups.google.com/g/golang-announce/c/xU1ZCHUZw3k
🗃 Скачать: https://go.dev/dl/#go1.23.6
@golang_google
#golang #go #release
Пример реализации Golang Microservice Boilerplate с использованием MySQL, Docker и Swagger, API REST.
git clone https://github.com/gbrayhan/microservices-go
▪ Github
#golang #go #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Выпущен релиз Go 1.24 Release Candidate 3!
🔐 Безопасность: Включает исправления безопасности для инструмента go и пакета crypto/elliptic.
🗣 Объявление: https://groups.google.com/g/golang-announce/c/w2gBC3sJibs/m/bUz6JjCCAAAJ
🚚 Скачать: https://go.dev/dl/#go1.24rc3
@golang_google
#golang #go #release
🔐 Безопасность: Включает исправления безопасности для инструмента go и пакета crypto/elliptic.
🗣 Объявление: https://groups.google.com/g/golang-announce/c/w2gBC3sJibs/m/bUz6JjCCAAAJ
🚚 Скачать: https://go.dev/dl/#go1.24rc3
@golang_google
#golang #go #release
Этот проект представляет собой клон Minecraft, разработанный «с нуля» на Go с использованием только современного OpenGL.
Он не опирается на готовые игровые движки или фреймворки, что делает его особенно интересным для разработчиков, желающих глубже изучить 3D-графику и принципы создания игр на низком уровне.
Основные возможности проекта
- Процедурная генерация мира:
Используется многократно применяемый Perlin noise для создания бесконечного, процедурно генерируемого ландшафта. Присутствует система биомов, генерация пещер, деревьев и даже простейших систем формирования рельефа.
- Физический движок:
Реализована своя физика с обнаружением столкновений, обработкой столкновений и динамикой твердых тел. Это позволяет корректно обрабатывать прыжки, столкновения игрока с окружающими объектами и другие физические взаимодействия.
- Графика и рендеринг:
Приложение написано с использованием OpenGL 4.1. Реализованы собственные шейдерные программы для отрисовки блоков, UI-элементов и эффектов, а также применяются методы отсечения (view frustum culling) для оптимизации рендеринга.
- Игровой цикл и механика:
В проекте присутствует смена дня и ночи, динамическое освещение, а также возможность размещения и удаления блоков, что имитирует базовую механику игры Minecraft. Также предусмотрены такие элементы, как инвентарь игрока и режим полёта.
- Динамическая загрузка чанков:
Мир разбит на чанки, которые подгружаются и выгружаются динамически в зависимости от положения игрока, что помогает снизить нагрузку на систему и обеспечить плавную работу даже в больших мирах.
Как реализован проект
Язык и библиотеки:
Проект написан на Go. Для работы с графикой используются библиотеки github.com/go-gl/gl/v4.1-core/gl и github.com/go-gl/glfw/v3.3/glfw, а для математических вычислений применяется github.com/go-gl/mathgl/mgl32.
Архитектура:
Код организован по принципу компонентного подхода:
- World и World Generator: отвечают за генерацию чанков, ландшафта и размещение объектов (деревьев, пещер и т.д.).
- Physics Engine: содержит реализацию динамики, обработки столкновений и расчётов движения.
Рендеринг: система отрисовки, которая включает шейдеры, оптимизацию через отсечение невидимых объектов и поддержку динамического освещения.
- Система управления: включает обработку ввода с клавиатуры и мыши, что позволяет управлять персонажем, переключать режимы (например, полёта) и взаимодействовать с миром.
Проект интересен нескольким категориям разработчиков:
- Любители OpenGL и низкоуровневой графики:
Он демонстрирует, как можно создать полноценное 3D-приложение с использованием только OpenGL без сторонних движков.
- Разработчики на Go:
Go не часто ассоциируется с разработкой игр, поэтому данный проект может служить хорошим примером того, как использовать возможности языка для создания графически насыщенных приложений.
- Инженеры, интересующиеся процедурной генерацией и физическими движками:
Реализация процедурного мира, генерация ландшафта с помощью Perlin noise и собственный физический движок представляют собой интересный материал для изучения и экспериментов.
▪ Github
@golang_google
#gamedev #Minecraft #golang #go
Please open Telegram to view this post
VIEW IN TELEGRAM
Основные темы, рассмотренные в статье:
Что такое 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
Полнофункциональное веб-приложение для создания резюме.
🛠️ Стек технологий:
- Backend: Go (REST API)
- Frontend: React
- База данных: PostgreSQL
- Кэш: Redis
- Контейнеризация: Docker + Docker Compose
💡 Подходит для pet-проектов или для своего генератора PDF/резюме.
🔗 GitHub
#Resume #Go #React #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM