Проекты на Go
Проекты на Go
Самые новые проекты сверху
Logman
Golang, DI, TDD, golangci-lint, Github Actions
Библиотека для логирования, предоставляющая возможность как использование без дополнительной настройки так и глубокую кастомизацию с помощью DI. Написана по методологии TDD, высокий процент покрытия тестами
Simple System Monitor
Golang, Docker, Github Actions, SvelteKit, WebSocket
Веб-приложение для мониторинга ресурсов Linux сервера. Приложение написано в гексагональной архитектуре. Для репозиториев написаны тесты. Конфигурация через переменные окружения
Web-tail
Golang, Docker, Github Actions, Svelte, WebSocket
Веб-приложение для просмотра логов. Получение логов из локального файла, локального Docker контейнера, удалённого файла и удалённого Docker контейнера по SSH. Отправка на фронтенд по вебсокету. Фронтенд реализован на Svelte. Изначально бэкенд был написан на Node.JS. При переписывании на Golang использовались библиотеки:
chi- роутингgorilla/websocket- вебсокеты для отправки логов на фронтенд
С помощью multistage build собирается легковесный Docker образ
Пайплайн на GitHub Action:
- Собирает бинарники для Linux, macOS и Windows
- Собирает Docker образ и выгружает его в GitHub Packages
Advent of Code 2024
Golang, Github Actions
Решения первых 11 дней Advent of Code 2024 года. Корректность алгоритмов относительно тестового инпута проверяется с помощью стандартных инструментов тестирования Golang
5 letters helper
Golang, Docker
В оригинале написанная на Python CLI тулза, которая подсказывает следующие возможные шаги в игре “5 букв” (аналог Wordle). В процессе переписывания выделил логику игры в отдельные модули и использовал их для написания Telegram бота с такой же функциональностью. Роутинг на стандартном net/http. Для хранения данных используется SQLite. Приложение пакуется в Docker контейнер для разворачивания на сервере с помощью Docker compose
jira_label_manager
Golang
Небольшая CLI тулза, которая позволяет навешивать и снимать лейблы с тасок в Jira. Переписал проект с языка Nim. Задачей было использовать горутины для распараллеливания HTTP вызовов. Для синхронизации используется sync.WaitGroup
regexp
Golang
Первый мини проект, написанный по заданиям с CodeCrafters