37.1K subscribers
1.46K photos
33 videos
5 files
1.62K links
加入频道
👣 Gody — это легковесная библиотека для языка Go, предназначенная для валидации структур данных!

🌟 Она позволяет разработчикам определять правила валидации с помощью тегов в структурах, что упрощает проверку входных данных в приложениях. Библиотека предоставляет встроенные правила, такие как проверка на непустое значение (not_empty) и минимальное значение (min), а также возможность добавления пользовательских правил.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
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
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 go-tmdb-cli — это приложение командной строки на Go, предназначенное для взаимодействия с The Movie Database (TMDb) API!

🌟 Оно позволяет пользователям выполнять поиск фильмов, получать подробную информацию о фильмах и актерах, а также управлять списками избранного.

🔐 Лицензия: Apache

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Misconfig Mapper — это проект на Go для выявления, обнаружения и устранения распространённых ошибок конфигурации безопасности в популярных сервисах, технологиях и SaaS-решениях, используемых вашей компанией или целями программы bug bounty!

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Fileserver — это легковесный сервер на Go, предназначенный для обслуживания статических файлов и одностраничных приложений (SPA) без зависимостей!

🌟 Он предоставляет такие функции, как генерация заголовков ETag для кэширования и сжатие контента с использованием gzip, что способствует эффективной доставке веб-контента.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 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
👣 Xun — это HTTP-веб-фреймворк на Go, использующий net/http.ServeMux из Go 1.22 и html/template для серверного рендеринга!

🌟 Он поддерживает сжатие ответов (gzip, deflate), автоматическое SSL (AutoTLS) через Let's Encrypt, встроенную валидацию форм с i18n и систему ViewEngine (Static, Json, Html).

🔐 Лицензия: Apache-2.0

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Go Repos: простое веб-приложение, которое выводит случайные репозитории GitHub, написанные на языке Go.

Репозиторий может быть полезен Go-разработчикам, особенно если вы хотите:

Изучить, как создать простое веб-приложение на Go с использованием стандартных пакетов (net/http, html/template).

Понять, как работать с GitHub API для получения данных о репозиториях.
Получить примеры реализации быстрого и легковесного UI для поиска и отображения Go-проектов.

Однако стоит учитывать, что проект находится в активной разработке и код ещё не оптимизирован. Это больше эксперимент или учебный проект, чем готовое решение для продакшна.

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 gignr — это CLI-инструмент для генерации и управления файлами .gitignore, интегрирующийся с GitHub, TopTal и пользовательскими репозиториями! Он позволяет легко находить, комбинировать и сохранять шаблоны .gitignore для разных технологий.

🌟 Инструмент поддерживает интерактивный интерфейс (TUI), объединение нескольких шаблонов, локальное хранение и гибкую настройку через config.yaml. Установить gignr можно через go install или Homebrew.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Kong – мощный и удобный command-line парсер для Go

Если вы разрабатываете CLI-приложения на Go, то наверняка сталкивались с необходимостью поддерживать сложные иерархии команд с минимальными усилиями. Именно для этого создан Kong.

Основные преимущества:
- Поддержка сложных структур команд: Kong позволяет легко реализовать вложенные команды, флаги и аргументы, обеспечивая гибкость даже для очень сложных CLI-интерфейсов.
- Минимальные усилия для разработчика: Благодаря декларативному синтаксису и использованию структур с тегами, настройка и расширение функционала осуществляется с минимальными затратами кода.
- Автоматическая генерация справки: Инструмент автоматически формирует подробные сообщения о использовании (help), что упрощает поддержку и документацию вашего приложения.
- Высокая производительность и надёжность: Kong спроектирован с учётом лучших практик Go-разработки, что делает его быстрым и стабильным решением для ваших проектов.

Разработка CLI-интерфейсов может быть утомительной, особенно когда требуется реализовать поддержку множества команд и опций.

Kong решает эту проблему, сводя настройку сложных структур к минимально необходимому коду, позволяя сконцентрироваться на бизнес-логике приложения.

Этот инструмент подойдёт как для небольших утилит, так и для крупных проектов, требующих продвинутого управления командами.

Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 go-msquic — это обертка на Go для библиотеки MsQuic, разработанной Microsoft, которая реализует протокол QUIC!

🌟 Она предоставляет Go-разработчикам интерфейс для работы с протоколами, основанными на QUIC, такими как HTTP/3. API go-msquic вдохновлено проектом quic-go и может использоваться в качестве его замены. Однако, учитывая необходимость работы с C-библиотеками, рекомендуется использовать quic-go, если вы не готовы к взаимодействию с C-кодом.

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Monarch — это фреймворк для работы с временными рядами и онлайн-машинным обучением, написанный на Go!

🌟 Он предназначен для обработки потоковых данных в реальном времени и может использоваться для задач прогнозирования, аномалий и других аналитических задач.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Machbase Neo — это высокопроизводительная база данных временных рядов, специально разработанная для приложений Интернета вещей (IoT)!

🌟 Она объединяет в себе функции хранения временных данных, поддержку протоколов MQTT и HTTP, а также инструменты для визуализации данных, что делает её универсальным решением для построения IoT-платформ.

🖥 Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 nginx-proxy — это инструмент с открытым исходным кодом, который автоматически настраивает обратный прокси-сервер Nginx для Docker-контейнеров!

🌟 Он использует docker-gen для динамического создания конфигураций Nginx на основе метаданных работающих контейнеров и перезагружает Nginx при изменениях, таких как запуск или остановка контейнеров.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Nightingale Monitor — это облачное решение для мониторинга и анализа с открытым исходным кодом, основанное на концепции «всё в одном».

Оно включает в себя сбор данных, визуализацию, мониторинг состояния системы, отправку уведомлений и аналитику.

Подобно подходу Grafana к интеграции источников данных, Nightingale также подключается к различным существующим источникам данных. Однако, в то время как Grafana фокусируется на визуализации, Nightingale фокусируется на механизмах оповещения.

Решение хорошо интегрируется с облачными платформами и предлагает компаниям комплексные возможности для мониторинга, анализа и оповещения.

GitHub: https://github.com/ccfos/nightingale.

#безопасность #мониторинг #Prometheus #Grafana #SRE

@golang_google
👣 NativeWebP — это библиотека на Go, предназначенная для кодирования изображений в формате WebP без зависимости от внешних библиотек, таких как libwebp!

🌟 Её основное преимущество — высокая производительность и эффективность, позволяющая создавать файлы меньшего размера по сравнению со стандартным Go-энкодером PNG, при этом обеспечивая примерно на 50% более быструю скорость работы.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 GoChromecast — это инструмент на Go для передачи видео на устройства Chromecast и Android TV! Он автоматически обнаруживает устройства в сети и позволяет отправлять на них медиаконтент.

🖥 Github

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