В этой статье разберём архитектуру и детали реализации пакетного менеджера на Go. Рассмотрим универсальные вещи, которые вы сможете применить к любому менеджеру пакетов, если решите его написать.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Подробнее о тестировании модулей — в статье. Если конкретнее, то речь пойдёт о:
— Проведение базовых тестов с использованием
testing
— Написание testcase
— Подготовительные работы до и после тестирования
— Повышение эффективности тестирования
— Техники расширенного тестирования
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Поддерживает такие виджеты:
— Контент из RSS-каналов
— Посты из субреддитов
— Погода
— Закладки
— Последние видеоролики на YouTube с определенных каналов
— Календарь
— Акции
— iframe
— Релизы GitHub
— Мониторинг сайта
Запустить, используя Docker:
docker run -d -p 8080:8080 \
-v ./glance.yml:/app/glance.yml \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
glanceapp/glance
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
go install github.com/anqiansong/github-compare@latest
Написан с использованием
termui
, termui-dpc
, spinner
, go-github
, githubv4
, mapreduce
, cobra
и lipgloss
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Простой инструмент для реализации
i18n
golang.i18n - это сокращение от английского Internationalization — интернационализация, или поддержка программным продуктом различных языков.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Ent — это фреймворк сущностей, он упрощает процесс создания и поддержки приложений для модели данных большого масштаба.
Фреймворк ent в основном следует следующим принципам:
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Syncthing — это open-source программа для непрерывной синхронизации файлов между 2+ компьютерами.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересная идея для пет-проекта; к тому же есть большой простор для улучшений — вот что можно доработать:
— выбор количества символов в итоговой ASCII-графике
— отображение нескольких вариантов полученной графики с использованием разных наборов символов
— выбор уровня детализации изображения
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
—
go mod init github.com/your/repo
—
go get -u github.com/gofiber/fiber/v3
Fiber построен на основе Fasthttp, самом быстром HTTP-движке для Go. Создан для облегчения быстрой разработки с нулевой аллокацией памяти и с высокой производительностью.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
—
go install github.com/cosmtrek/air@latest
Air — это CLI-утилита для разработки приложений на Go с живой загрузкой.
Достаточно просто запустить air в корневом каталоге проекта и дальше можно сосредоточиться на коде.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM