Mohan-Snow / event-notification-bot

4 stars 0 forks source link

Выбрать основные библиотеки для разработки #2

Closed sd01dev closed 2 months ago

sd01dev commented 2 months ago

Нужно определиться с библиотеками для:

  1. Конфигурирования
  2. Логгирования
  3. Работы с telegram API
  4. Работы с БД (билдер, миграции)
randomowo commented 2 months ago

Предлагаю для бд и миграций воспользоваться довольно удобной либой bun (orm), а веб сервера (хуки ловить) fiber.

randomowo commented 2 months ago

как мне кажется удобнее всего легировать будет удобнее в json формате, так как проще будет анализировать с помощью тулзов типа jq

sd01dev commented 2 months ago

В свою очередь предлагаю использовать стандартные решения:

  1. Slog/zap для логгирования
  2. squirrel/goose для запросов и миграции

Потребуется ли отдельная либа хуки ловить пока не понятно, предложил бы начать со стандартной либы и если будет что-то не устраивать уже перекатываться на кастомные

randomowo commented 2 months ago

если логировать в json, то zerolog может быть получше (самый быстрый по сути), хотя по интерфейсу такой де как zap с первого взгялда.

bun умеет в миграции, так что можно только его использовать

dapmoed commented 2 months ago

В свою очередь предлагаю использовать стандартные решения:

  1. Slog/zap для логгирования
  2. squirrel/goose для запросов и миграции

Потребуется ли отдельная либа хуки ловить пока не понятно, предложил бы начать со стандартной либы и если будет что-то не устраивать уже перекатываться на кастомные

  1. На мой взгляд Zap сильно удобнее всего что есть.
  2. Fiber было бы интересно
  3. По миграциям не силен
Mohan-Snow commented 2 months ago
  1. Я тоже за то, чтобы для логгирования использовать Zap.
  2. Для взаимодействия с бд я все таки склоняюсь к squirrel и goose так как они более распространенные
Mohan-Snow commented 2 months ago

Конфигурирование:

  1. Viper
  2. kelseyhightower/envconfig
  3. urfave/cli
  4. caarlos0/env
Mohan-Snow commented 2 months ago

Конфигурирования -> https://github.com/kelseyhightower/envconfig Логгирования -> ZAP Работы с telegram API -> https://github.com/go-telegram-bot-api/telegram-bot-api Работы с БД (билдер, миграции) -> squirrel и goose Router -> Fiber