Size: a a a

2020 August 10

SP

Slava Pinchuk in Go-go!
Подскажите, пожалуйста, как пофиксить с помощью го
 command find requires authentication

простой метод Find() from mongodb
источник

SP

Slava Pinchuk in Go-go!
 h.mongo = '&{conn:0xc000116c40 logger:0xc000365320}'

Если бы я не коннектился к базе быд бы ноль

гугл говорит что надо ставить в сеттингсах authorization: enabled
 4.5 - enabling authentication
So to enable authentication I need to find the mongod.cfg file that the mongod service is using and just make sure the follwing is in there.

security:
 authorization: enabled

This will of course enable authentication when I restart the service. after restarting mongod, I will run into an authentication failure when trying to do something with the database when no credentials are given as expected.


ТОлько у меня тест на хендлер ... посему не понятно зачем лазить куда-то в сеттингсы монги... а в конфиге я такой параметр тоже не задаю
источник

AZ

Aleksandr Zelenin in Go-go!
источник

AZ

Aleksandr Zelenin in Go-go!
источник

Y

Yevhenii in Go-go!
Пишу репозиторий с row sql, вместо gorm, и вот такой вопрос: есть Message, у которого есть поле Sender типа User. Мне нужно получить у Message UserId и отдельным запросом запросить Sender? И нормально ли будет, если я добавлю bool needSender в параметры метода, или это плохая идея. Если плохая, то как давать методу понимать нужно ли получать Sender
источник

НМ

Никита Меркулов... in Go-go!
Yevhenii
Пишу репозиторий с row sql, вместо gorm, и вот такой вопрос: есть Message, у которого есть поле Sender типа User. Мне нужно получить у Message UserId и отдельным запросом запросить Sender? И нормально ли будет, если я добавлю bool needSender в параметры метода, или это плохая идея. Если плохая, то как давать методу понимать нужно ли получать Sender
Касательно флагов и прочих неоднозначностей в апи вызовах

https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis
источник

НМ

Никита Меркулов... in Go-go!
А отвечая на твой вопрос - это вечная проблема, да.  Придётся искать трейдоф)
источник

НМ

Никита Меркулов... in Go-go!
Не проблема, а головная боль скорее
источник

MG

Max Grigoriev in Go-go!
Никита Меркулов
Касательно флагов и прочих неоднозначностей в апи вызовах

https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis
А почему бы не сделать Билдер, зачем так сложно делать через функции.
источник

НМ

Никита Меркулов... in Go-go!
Можно и через билдер. Функции этому не особо мешают

Да и не сложные они
источник

Y

Yevhenii in Go-go!
Никита Меркулов
Касательно флагов и прочих неоднозначностей в апи вызовах

https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis
Интересно, наверное буду как-то так и делать, спасибо
источник

AS

Alexandr Sokolov in Go-go!
Max Grigoriev
А почему бы не сделать Билдер, зачем так сложно делать через функции.
Если этот флаг один и никогда не будут добавляться новые, то можно сделать и билдер, не такая уж это и проблема. Функциональные опции отлично показывают себя когда таких «опциональных» параметров много или они имеют тенденцию масштабироваться. В таком случае этот подход позволяет добавлять новые параметры, сохранив обратную совместимость API
источник

MG

Max Grigoriev in Go-go!
@sm4ll_3gg а Билдер как плохо масштабируется или рушит АПИ? Наоборот когда есть Билдер то ест одно место куда смотреть, а если миллион функций то задолбаешься по ним скакать.
источник

AS

Alexandr Sokolov in Go-go!
Max Grigoriev
@sm4ll_3gg а Билдер как плохо масштабируется или рушит АПИ? Наоборот когда есть Билдер то ест одно место куда смотреть, а если миллион функций то задолбаешься по ним скакать.
Да, я почему-то упоролся и сметчил не с билдером, а с конструктором…
Лично мне кажется, что задача должна быть слишком специфична для опрадавнного использования такого подхода. Лепить интерфейс, и делать реализации под опции это никак не Go стиль. На мой вкус использовать его стоит только когда нужно получить логически разные реализации, реализующие один интерфейс, но для опций это явно будет перегруженно

Хотя я могу быть и не прав 🙂
источник

MG

Max Grigoriev in Go-go!
у меня джавоское наследие говорит что лучше отдать наружу  Билдер и тем самым никто не соберет неверный обьект.  а когда через функцию да еще и ссылка на сервер прилетает то никто не мешает сделать свое левую функцию которая намешает в сервере фиг знает что.
источник

AS

Alexandr Sokolov in Go-go!
Max Grigoriev
у меня джавоское наследие говорит что лучше отдать наружу  Билдер и тем самым никто не соберет неверный обьект.  а когда через функцию да еще и ссылка на сервер прилетает то никто не мешает сделать свое левую функцию которая намешает в сервере фиг знает что.
У меня, к сожалению, не так много опыта работы в подобной среде, где паттерны правят, но весь мой опыт на Go и огромный полу-легаси проект под боком, построенный в таком стиле, орут, что лучше подумать об альтернативных подходах к проектированию, более подходящих для Go. Потому что тут такие решения очень быстро превращаются в кашу, в которой концов не найдешь, а если это все еще хорошо приправить асинхронщиной, то тогда вообще буда начинается
источник

MG

Max Grigoriev in Go-go!
ВОзможно, для меня го это что то небольшое для авс лямбда написать или какие нить консольные утилиты. Поэтому рассуждаю чисто теоретически исходя из своего опыта.
источник

AM

Alexander Morozov in Go-go!
ну там поля поди все приватные, не намешаешь особо
источник

AM

Alexander Morozov in Go-go!
но мне тоже не нравятся функции
источник

MG

Max Grigoriev in Go-go!
Alexander Morozov
ну там поля поди все приватные, не намешаешь особо
ну суда по примерам https://dave.cheney.net/wp-content/uploads/2014/10/Screenshot-from-2014-10-15-033713.png
то там ничем подобным и не пахнет
источник