Как стать автором
Обновить

Go + Minio: как написать простой сервер для взаимодействия с файлами

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5.5K
Всего голосов 11: ↑1 и ↓10-9
Комментарии10

Комментарии 10

а зачем мы файлы вычитываем из ридера в память? у нас же все работает с эффективными io.Reader - их и надо использовать.

Ну хватит людей плохому учить, пожалуйста! У вас одна реализация интерфейса, второй не будет примерно никогда, зачем он здесь?

не совсем понял что вы имели ввиду - почему плохого и что вам не нравится тоже неясно

Имеют ввиду что в вашем примере нет смысла создавать интерфейс т.к он ничего вам не даёт.

Для тестов? Их нет

Для избавления от зависимости? Вы интерфейс создали рядом с типом который его реализует, а не использует.

По сути интерфейс ради интерфейса

Про чтения файла в память вам уже написали. Что будет если у вас 2гб ОЗУ а вам пришлют файл на 4гб?

Не очень понял зачем в проект затащили Gin...если не используется ничего кроме роутера и хелпера для отправки json, откройте go.mod файл и подумайте, сколько реально вы по факту используете того, что импортнули

Имхо, всего 3 месяца на Go (судя по гитхабу), а уже статьи на всех ресурсах (полагаю одни и те же), телеграм с абсолютно разнородной инормацией.. если вы подписчиков хотите, вам бы не программирование, а что-нибудь другое выбрать)

всего 3 месяца на Go

что-нибудь другое выбрать

Понятно, что тут только в коучи по Go :)) Я 20+ лет в C#, штук восемь, наверное, сертификатов MS по .NET и у меня до сих пор нигде ни одной статьи, и даже блога своего нет, не говоря уже о Телеграманале - не считаю себя достойным высокого звания Автора.

Поверьте, вам не нужно ни одного MS сертификата по .NET, чтобы написать статью или взять на себя ответственность, чтобы научить кого-то чему-то :))

Получать сертификаты, чтобы считать себя "достойным высокого знания Автора" - это либо перфекционизм, либо синдром самозванца

Про чтения файла в память вам уже написали. Что будет если у вас 2гб ОЗУ а вам пришлют файл на 4гб?

У gin дефолтный лимит на файлы 32mb - очевидно, что если в планах принимать файлы >32mb, то нужно и оптимизировать и, может, инструменты другие использовать

По интерфейсу - спасибо за объяснение, подумаю

Да, вы правы - в Go не так много времени - до этого 3 года писал на NodeJS, но это не мешает показывать другим людям как сделать что-то
Тут, например, кроме интерфейса, *неясной зависимости в виде Gin и reader'a более опытные люди не нашли ошибок, поэтому я считаю проект вполне удачным

S3 обеспечивает ограничение доступа только на уровне bucket, что без отсутствия какой-то прослойки между ним и сетью делает его ограничения доступа чуть-чуть более чем бесполезными.

а как правильно выдавать "изображения товаров" с s3 в мир? подписывать токен и проксипасс?

Простой сервер примерно похож на кашу из топора, судя по объёму кода.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории