@gogolang

Страница 1561 из 1630
Александр
15.10.2018
08:18:11
на больших проектах будут проблемы

ибо голова дело темное

Foxcool
15.10.2018
08:18:56
Надеюсь понятно сказал. Тестить функции надо в либах переиспользуемых. А не дрочить функции конечного бизнес сервиса

Большие проекты - много сервисов

Google
Foxcool
15.10.2018
08:19:44
Ну или монолит с идеально разделенными пакетами

Но там надо бить по рукам за связи порочные

А я не люблю насилие

Subbotin
15.10.2018
08:20:14
Надеюсь понятно сказал. Тестить функции надо в либах переиспользуемых. А не дрочить функции конечного бизнес сервиса
дрочить функции конечного бизнес сервиса тоже надо. особенно если сервис критичный

а то из идеальных шурупов и гаечек можно собрать неработающую поделку всегда

Foxcool
15.10.2018
08:21:05
дрочить функции конечного бизнес сервиса тоже надо. особенно если сервис критичный
Ну если критичную логику в либу выделить, то можно покрыть. Но не тестить моки бд

Но первичны тесты снаружи

Постман прекрасен

Ilya
15.10.2018
08:29:23
нет стыка слоев
Не понял вопроса

Александр
15.10.2018
08:29:37
это не вопрос

Ilya
15.10.2018
08:29:46
Тогда утверждения

Александр
15.10.2018
08:30:00
я к тому что у тебя нет прокси между тому что отдаешь пользователю и слоем бд

Ilya
15.10.2018
08:30:25
Есть уровень можелей

Google
Ilya
15.10.2018
08:31:03
Это внутреннее представление

Он ровно между хттп и дб

Maksim
15.10.2018
08:44:08
Я пример почти вычленил, интернет накрылся скинуть нормально не могу, но скоро будет)

Elenhil
15.10.2018
08:47:13
Привет вссем! Есть в го бестпрактисы по логированию потоков? Например веб-сервер, хочется понимать какая ошибка к какому реквесту относится. Gouroutine id я так понимаю без грязных хаков не достать, остается только контекст таскать везде с собой?

Илья
15.10.2018
08:52:14
Ага, и в контексте request id

Даниил
15.10.2018
08:54:57
Если например logrus используешь, то удобно в миделваре создавать логер с WithFields request-Id и дальше по контексту передавать этот логгер.

David
15.10.2018
09:29:48
Доброго всем дня. Кто-то пробовал gRPC поверх QUIC?

Foxcool
15.10.2018
09:30:07
Звучит интересно

David
15.10.2018
09:31:30
Хотелось бы попробовать сделать имплементацию. Допустим если клиент не поддерживает QUIC откатиться к http2 на tcp

Я загуглил, но не нашел реализации

Daniel
15.10.2018
09:33:38
а зачем?

Евгений
15.10.2018
09:36:53
а через http2 гоняли? С какими проблемами столкнулись и что хотите решить переходом на UDP?

Daniel
15.10.2018
09:37:19
он же тольео поверх http/2 и существует, насколько я понимаю

Евгений
15.10.2018
09:42:26
мне тоже так кажется

или имеется ввиду самостоятельный обмен protobuf-кодированными сообщениями через QUIC?

Daniel
15.10.2018
09:44:25
grpc - это не только протобуф

Mike
15.10.2018
10:07:16
grpc - это не только протобуф
но и 4-5 киллограммов питательного мяса?

Евгений
15.10.2018
10:08:39
тогда не очень понятно, что от него остается http2? схемы сообщений?

Subbotin
15.10.2018
10:09:52
а в чем модно хранить дату рождения человека?

в плане типа данных

Google
Евгений
15.10.2018
10:10:13
в ЗАГСе :)

timestamp

сын подруги
15.10.2018
10:10:36
Привет всем

Мне вот интересно, можно ли писать веб-сайт на Go, и если да, сколько будет стоит он?

Daniel
15.10.2018
10:11:25
можно, но не нужно

Евгений
15.10.2018
10:11:34
Сколько стоит автомобиль?

Denys
15.10.2018
10:12:18
если в аргумент нужно передать bool flag, то лучше предварительно флаг в переменную кинуть чтобы понятно было или нет?

Foxcool
15.10.2018
10:12:18
можно, но не нужно
ну почему. Сочетание какого-то реакт сервиса или аналога + гошный с бизнес-логикой вполне ок

если там логики нет, а только веб, тот конечно не стоит

Daniel
15.10.2018
10:12:41
это не вебсайт же будет

Foxcool
15.10.2018
10:12:41
тем более пихать в го шаблонизаторы и вот это все

Denys
15.10.2018
10:12:52
some(true) или isSomeshit := true some(isSomeshit)

Foxcool
15.10.2018
10:13:44
голэнд показывает имя переменной, куда упадет аргумент

Denys
15.10.2018
10:14:29
?

для удобночитаемости, лучше для одного аргумента присваивать значение переменной или нет

Tweek
15.10.2018
10:15:21
Лучше не использовать флаги вообще

Илья
15.10.2018
10:15:35
some(true) или isSomeshit := true some(isSomeshit)
для удобочитаемости можно константы именованные в пакет положить

Admin
ERROR: S client not available

Илья
15.10.2018
10:15:39
и передавать их

Google
Denys
15.10.2018
10:15:47
у меня 2 хендлера и обработка данных отличается только в 1 строке

я не могу пробросить обработку реквеста выше, потому что там у меня одна сущность

Daniel
15.10.2018
10:16:16
ага const MyTrue bool = true я вот не понимаю - откуда это безумие?..

Foxcool
15.10.2018
10:16:58
в смысле ты осуждаешь константы вот такие?

Илья
15.10.2018
10:17:11
ну, когда возникает такой кейс, const WithValidation bool = true const WithouValidation bool = false

хотя можно просто делать 2 функции враппера, а внутри уже иметь эти флаги

Foxcool
15.10.2018
10:17:41
константы или переменные важны для строк. Ибо в строках можно накосячить и опечататься, а валидатор не спалит

а вот опечатку в true спалит

потому наверное нах надо

Илья
15.10.2018
10:18:29
тоже правда, но с именоваными флагами может быть понятнее, что происходит

Foxcool
15.10.2018
10:18:29
ну и не только строк. Мэджик числа тоже не очень хорошо. ИЛи очень нехорошо даже

Denys
15.10.2018
10:25:21
ой все

Nikolay
15.10.2018
10:41:39
Можно как альтернативу viper использовать

Но он маленько слишком глобальный

Darwin
15.10.2018
10:43:32
ребятки, а если у меня есть ченнел с типом слайс (прим. chan []string) можно как-то одним for range и слушать этот чан и тут же его разбирать на элементы из слайса?

или все таки придется вложенные for лупы делать?

Denys
15.10.2018
10:51:37
мне кажется тебе нужен chan string

*если нет то ты сам ответил на свой вопрос

Darwin
15.10.2018
10:53:16
:)

Zarif
15.10.2018
11:01:19
ребята, поделитесь опытом: как лучше всего размещать файлы go в проекте? читал несколько статей, пробовал как делать монолитную структуру - когда все файлы go в одной директории, так и выводить по функционалу в отдельные папки-пакеты, но так и не пришло понимание, как лучше. в монолите - не упрешься в ошибку зациклинности импорта, но иметь 20-30 файлов несколько запутанно дробить на пакеты - местами удобно, но бывают сложности с тем, чтобы опредилить стоит ли делать новый пакет или пихать в существующий, следить за приватностью и прочие. кто как делает?

Google
SkyCoffee
15.10.2018
11:06:29
в go ведь папки являются и пакетами. Лучше всего код размещать соответственно придуманной математической модели решения задачи, то есть без контекста задачи не получится найти алгоритм разбиения программы на части, не бывает универсальной модели

Artem
15.10.2018
11:06:54
~/go/src/myapplication/ и там уже подпапка libs и отдельно одна папка для каждого сервиса. Хз насколько это правильно, но все работает

Pawel
15.10.2018
11:19:01
единственный нюанс - всё размещать в папке internal, чтобы не засерать GOPATH и не нагружать goland лишней работай по анализу пакетов, которые ни где не будут использованы

Foxcool
15.10.2018
11:24:52
internal по соглашению не индексируется никем?

Pawel
15.10.2018
11:24:53
математическая модель круд сервиса - ХА ХА ХА

Foxcool
15.10.2018
11:26:03
гусары

Страница 1561 из 1630