
Aleksandr
11.01.2018
13:57:35
что в хэндлере?

Александр
11.01.2018
13:57:44
это все в хендлере
код то уникальный, если бы он дублировался тогда да, выносить

Aleksandr
11.01.2018
13:58:12
нет

Google

Александр
11.01.2018
13:58:49
плодить 9999 абстракций под это?
спасибо я бд уже обернул
мне хватило

Alexey
11.01.2018
13:59:02

Aleksandr
11.01.2018
13:59:37

Александр
11.01.2018
13:59:58
ну если не в хедлере, значит еще один "класс"
варианта то всего два

Aleksandr
11.01.2018
14:00:11

Александр
11.01.2018
14:00:19
либо мы инкапсулируем логику, либо нет
вы мне прегдалаете наплодить абстракций, что бы хендлер похудел
до "5 строк" ?

Aleksandr
11.01.2018
14:02:07
опять же сути это не меняет. ты не хочешь весь код в одном файле держать - не держи. go позволяет в рамках пакета иметь методы в разных файлах

Александр
11.01.2018
14:02:34
я понимаю, но он не очень структуированный получается

Google

Александр
11.01.2018
14:02:41
я люблю подпапочки, а тут облом ?

Aleksandr
11.01.2018
14:02:51
тогда все. сожги проект

Александр
11.01.2018
14:03:17
на самом деле я опять ночь не поспал, а на работу к 10-00
сижу O_O, туго идет

Alexey
11.01.2018
14:03:55

Александр
11.01.2018
14:04:08
ну я вообще адская сова
мне бы ночью сидеть работать ?
я просто не совсем понял есть ли смысл следовать интерфейсу
из за этого мне уже пришлось через контекст параметры из URL прокидывать
ибо в стандартном оно не поддерживается

Aleksandr
11.01.2018
14:06:26

Александр
11.01.2018
14:06:52
я не вижу смысла, и пытась отсечь лишнее ?
плюс он явно нам говорит - 1 структура - 1 хендлер
что явно не удобно
приходится 100500 штук инициализировать, вместо 1

Aleksandr
11.01.2018
14:08:23
еще раз: ты можешь реализовать структуру вида
type Resource struct {
Get(r,w)
Post(r,w)
}
это реализует интерфейс HandlerFunc
кивни, если понял

Александр
11.01.2018
14:08:55
это понятно

Aleksandr
11.01.2018
14:09:21
если понятно, перечитай последние свои 3 фразы - это неправда

Google

Александр
11.01.2018
14:12:16
щаз попробую вообщем
спасибо
я сегодня реально туплю

Oleg
11.01.2018
14:38:11
кто работает с grpc, подскажите, что делаете если клиент должен иметь дело с множеством сервисов.

Vasily Romanov
11.01.2018
14:40:21

Oleg
11.01.2018
14:41:44
с множеством разных сервисов. Или лучше все методы объединять в одном сервисе и не придумывать ничего?
чтобы был только один пул одинаковых клиентов grpc

Marlik
11.01.2018
16:03:33

Alexander
11.01.2018
16:48:08

Aleksandr
11.01.2018
16:57:20

Nikolay
11.01.2018
18:31:04
господа, а попинайте ногами подход, пожалуйста https://pastebin.com/dcHGd3U1

Nikolay
11.01.2018
18:31:41
можно ли так делать? имеет ли смысл? не сломает ли все маленькая внутренняя горутина с ожиданием, а если сломает -как без нее обойтись с закрытием канала?
хм, у меня практически идентичный код вызывает дедлок
и я не могу понять, почему
а все, понял, почему - незакрытый входной канал

Mykyta
11.01.2018
19:20:08

Nikolay
11.01.2018
19:20:43
вот вейтгруппу возвращать не надо, да

Mykyta
11.01.2018
19:21:42
Я про ненужный error, которого нигде нет, вообще молчу

Google

Nikolay
11.01.2018
19:22:30
разумеется, в боевом коде там может быть масса мест, где он будет возвращаться
вот почти такой же пример, только гарантированно рабочий, проверил - https://pastebin.com/iAejuT9t

Mykyta
11.01.2018
19:24:30
У тебя и так буферезированный канал, его не надо закрываь

Nikolay
11.01.2018
19:25:23
в каком смысле не надо? а как из for range выходить тогда?

Mykyta
11.01.2018
19:25:32
Потом у тебя собственный костыль для прерывания работы рутины. Используй context

Nikolay
11.01.2018
19:25:38
какая разница, буферизованный или нет?

Admin
ERROR: S client not available

Nikolay
11.01.2018
19:26:06
можно так, можно так, эквипенисуально

Mykyta
11.01.2018
19:31:13
Та все равно лапша какая-то

nezorflame
11.01.2018
19:32:23
если остальные фичи контекста не нужны, нет смысла усложнять, стоп канала хватит

Nikolay
11.01.2018
19:33:08
Та все равно лапша какая-то
Ты давай по делу. Это вообще модифицированный пример из Concurrency in Go, я его попытался обобщить на несколько воркеров

Mykyta
11.01.2018
19:34:00

Nikolay
11.01.2018
19:38:33
Мне не очень нравится маленькая горутина на закрытие, с другой стороны, так офигенно удобно строить пайплайны

Mykyta
11.01.2018
19:43:44

Nikolay
11.01.2018
19:45:11

Mykyta
11.01.2018
19:45:25

Nikolay
11.01.2018
19:47:26
Ну пасяба

Google

Aleksey
11.01.2018
20:05:33
Всем привет! Можете подсказать хорошую библиотеку для валидации API инпута?

Ivan
11.01.2018
20:26:18
добрый вечер) у группы есть правила? как здесь относятся к предложениям о работе?

nezorflame
11.01.2018
20:27:20
Есть, лучше постить в канал вакансий
https://t.me/golangjob

Ivan
11.01.2018
20:27:56
благодарю

g
11.01.2018
21:49:11
Привет! А кто нибудь интеграционные тесты на go пишет?

Никита
11.01.2018
22:11:55
Я как то писал. Было больно, хотя по бОльшей части из-за хреновой архитектуры.

Александр
12.01.2018
04:44:19
это все что я могу сказать по поводу написания тестов ?

Svyatoslav
12.01.2018
04:49:38
best practice. ты сколько программируешь на go? не видел как пакеты выглядят?
Извините, а раз уж речь зашла о best practice, подскажите, пожалуйста, книги, статьи или библиотеки, где можно эти самые best practice по организации кода web серверов найти.
Я за пару месяцев смог навернуть и некое подобие mvc, и распихать весь код по мидлварам, после того, как пакет context нашёл. И есть ощущение, что где-то я не туда свернул.

Arch
12.01.2018
05:06:41

Александр
12.01.2018
05:33:06

Alexander
12.01.2018
06:48:43
Я обычным пакетом для тестов пользуюсь, но только там где нужно проверить как будет работать код (сортировка к примеру, поиск по массивам и тд...) а тестирование запросов - мне rest клиентов хватает
Извините, а раз уж речь зашла о best practice, подскажите, пожалуйста, книги, статьи или библиотеки, где можно эти самые best practice по организации кода web серверов найти.
Я за пару месяцев смог навернуть и некое подобие mvc, и распихать весь код по мидлварам, после того, как пакет context нашёл. И есть ощущение, что где-то я не туда свернул.
смотри в сурсы пакетов go

Михаил
12.01.2018
07:17:24
Добрый день, возможно глупый вопрос, но как организовать вывод в консоль(windows cmd) в одну строку, допустим процент загрузки/подготовки?

Michael
12.01.2018
07:18:27

Svyatoslav
12.01.2018
07:22:41
смотри в сурсы пакетов go
Это хороший вариант, спасибо. Туда я в первую очередь пошёл, конечно.
Там здорово видно, как организовать библиотеку.
Может, конечно, я ещё недостаточно прозрел, чтобы увидеть там, как конечное приложение организовывать, ибо там довольно много кода.

Michael
12.01.2018
07:23:54
организовывать надо, чтобы было хорошоу

Alexander
12.01.2018
07:24:06