37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
👣 Carbon - A Lightweight In-Memory Cache for High Throughput

Свежая легкая и высокопроизводительная библиотека кэширования в оперативной памяти для Go, разработанная с учетом требований API, требующих быстрого и эффективного кэширования данных.

#golang

go get github.com/scott-mescudi/carbon

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎊 Выпущен Go 1.24 Release Candidate 1!

🔈 Релиз: https://tip.golang.org/doc/go1.24

📦 Скачать: https://go.dev/dl/#go1.24rc1

#golang

@golang_google
👣 Golang 1.24 выглядит просто потрясающе

devcenter.upsun.com/posts/go-124/

#golang #программирование

@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 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
🖥 Nvidia Fan Control

Легкая утилита для Linux для мониторинга температуры графического процессора и динамического управления скоростью куллеров графического процессора NVIDIA с помощью NVML.

go build -o nvidia_fan_control


Github

@golang_google

#golang #nvidia #gpu
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 gin-auth-example

Простой пример того, как реализовать логику аутентификации на основе cookie с помощью Gin

🖥 Github

#golang #gin #junior #web

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Govalid

Протаяй валидатор для структур.

#golang

🔗Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🥳 Выпущены версии 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
👣 Golang Microservices Boilerplate - Clean Architecture

Пример реализации 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 1.24.0!

📝 Примечания к выпуску: go.dev/doc/go1.24

⬇️ Загрузить: go.dev/dl/#go1.24.0

#golang #release

@golang_google
Netnscli – это удобный инструмент командной строки, написанный на GO для управления Локальными теестовми стендами в виртуальной машине (network testbeds) в Linux, который помогает администраторам и разработчикам быстро создавать, переключаться, настраивать и удалять сетевые пространства, не прибегая к сложному синтаксису стандартных утилит вроде «ip netns».

Чем полезен инструмент
- Упрощение управления сетевыми пространствами:
Netnscli предоставляет лаконичный и интуитивно понятный интерфейс для выполнения стандартных задач, таких как создание нового пространства, запуск команд внутри него, просмотр списка существующих пространств и их удаление. Это особенно полезно при разработке сетевых приложений, тестировании изоляции или работе с контейнерами.

Автоматизация и интеграция:
- Благодаря простоте использования и скриптовому характеру, инструмент легко интегрируется в bash-скрипты и CI/CD пайплайны, что позволяет автоматизировать задачи, связанные с конфигурацией сетевого окружения.

Для пользователей, незнакомых с деталями работы «ip netns» из пакета iproute2, netnscli предлагает более понятный и удобный способ взаимодействия с сетевыми пространствами.

Чем он отличается от подобных инструментов
- Простой CLI-интерфейс:
В то время как стандартный инструмент «ip netns» обладает всеми необходимыми функциями, его синтаксис может показаться громоздким. Netnscli упрощает этот процесс, оборачивая сложные команды в более дружелюбные и легко запоминаемые команды.

- Фокус на конкретной задаче:
Вместо того чтобы быть частью крупного набора сетевых утилит, netnscli сконцентрирован исключительно на управлении сетевыми пространствами, что позволяет ему быть лёгким, быстрым и специализированным решением.

- Поддержка автоматизации:
Инструмент спроектирован с расчётом на интеграцию в скрипты и автоматизированные процессы, что делает его особенно ценным в сценариях разработки и тестирования.

Github

@golang_google

#linux #cli #local #network #namespace #golang
👣 Minecraft from scratch

Этот проект представляет собой клон 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
🎉 Выпущены версии Go 1.24.1 и 1.23.7!

🔐 Безопасность: Включает исправление безопасности для net/http (CVE-2025-22870)

🗣 Анонс: https://groups.google.com/g/golang-announce/c/4t3lzH3I0eI/m/b42ImqrBAQAJ

🗃 Скачать: go.dev/dl/#go1.24.1

#golang

@golang_google
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Microsoft анонсировала радикальное улучшение производительности TypeScript за счет новой нативной реализации компилятора, написанной на Go.

Самое главное:

В 10 раз (!) быстрее компиляция, в 2 раза меньше памяти просит;
На видео как раз тест нового компилятора: 0.63 секунды против 3.35 на старом;
Проект пилят с августа 2024, готово уже 80%;

Полный переход займёт годы 😢;
В версии на Go не работает «манкипатчинг», что сделает API TypeScript более безопасным;
Планируют интеграцию с LLM (надеюсь, локальными);
Полный переход на TypeScript-Go не отменяет поддержку старой версии;
Кодовая база TypeScript в Go расходится с оригиналом, так что некоторые фичи (вроде JSDoc и JSX) могут полететь.


Проект в разработке с августа 2024, готово уже 80%.


Полное интервью с апдейтами тут глянуть на YouTube

Github: https://github.com/microsoft/typescript-go
Microsoft blog: https://devblogs.microsoft.com/typescript/typescript-native-port/

#dotnet #golang #programming #typescript #webdev

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 memos — open-source сервис для ведения заметок, написан на React и Go

Memos — это легкий сервис для ведения заметок, ориентированный на конфиденциальность;
написан на React и Go.
Позволяет удобно записывать свои мысли

Быстрый старт с Docker:

docker run -d \
--init \
--name memos \
--publish 5230:5230 \
--volume ~/.memos/:/var/opt/memos \
neosmemo/memos:stable


📌 GitHub
📌 Доки

@Golang_google

#golang #programming #selfhosted
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 «DNS Explained: From Basics to Building My Own DNS Server» - подробное руководство по пониманию системы доменных имен (DNS) и созданию собственного DNS-сервера с использованием языка программирования Go.​

Основные темы, рассмотренные в статье:
Что такое 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
👣 Xilt — парсер CLF-логов с записью в SQLite
Нужен лёгкий и быстрый инструмент для анализа логов в формате 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