@proGO

Страница 1593 из 1674
Александр
26.07.2018
12:07:27
я просто слышал что только вебсокеты не поддерживаются в fasthttp

Aleksey
26.07.2018
12:07:35
Пытался решить проблему сравнения двух мап для произвольного типа. В Scala или Rust или C++ я бы использовал параметрические типы, а вот в Go подобного нет. Есть интерфейсы. Можно использовать мапу map[interface{}]interface{} но это не то. В общем все что пришло в голову это сделать интерфейс с методом value() который вернет map[interface{}]interface{} и заколхозить обертки вокруг мап нужного типа (map[interface{}]string/int/float64). Как пример идеи выложил в плее, просьба кто в курсе указать, либо такие проблемы иначе архитектурно решаются, либо есть средства язы htка которые решают подобное красиво Можно reflect использовать, но хотелось бы в рантайме избежать проверок(кстати гляньте то что я сколхозил в рантайме не должно же проверки делать? Только вроде как при сборке и все?) https://play.golang.org/p/5k47VJHIbvD

Kirill
26.07.2018
12:09:00
я просто слышал что только вебсокеты не поддерживаются в fasthttp
из коробки не поддерживаются. Так-то прекрасно работают

yuriy
26.07.2018
12:24:45
из коробки не поддерживаются. Так-то прекрасно работают
прекрасно работают с valyala форком который 3 года не обновлялся?

Google
Alexander μήδομαι
26.07.2018
12:25:44
У кого-нибудь есть успешный опыт решения проблемы про неспособность json.Unmarshal переварить литералы NaN, Infinity, -Infinity? У меня есть сторонний сервис на питоне, который возвращает такие JSONы: '{"coordinates": [49.66111, NaN]}' Я предпринял неудачную попытку написать на Go кастомный тип с маршалерером для декодирования таких JSONов: https://play.golang.org/p/T9PSiKslYYC Пожалуйста, посоветуйте другой декодер или способ использования стандартного декодера, обеспечивающий совместимость с NaN.

Kirill
26.07.2018
12:46:27
прекрасно работают с valyala форком который 3 года не обновлялся?
ну — ws я последний раз в прошлом месяце пилил, всё работает

Roman
26.07.2018
12:58:44
Можно ли назвать интерфейс, позволяющий работать с клиентов подключённым к серверу - "агентом"? т.е. ClientAgent

Foxcool
26.07.2018
13:08:08
API что ли?

Roman
26.07.2018
13:14:02
API что ли?
всмсл?

Bohdan
26.07.2018
13:14:46
можно назвать как угодно до тех пор, пока это понятно тебе и людям, которые с тобой работают

Roman
26.07.2018
13:15:32
можно назвать как угодно до тех пор, пока это понятно тебе и людям, которые с тобой работают
тем не менее интересно ваше мнение, понятно ли это людям кроме меня и моим коллегам)

Bohdan
26.07.2018
13:15:58
мне не совсем понятна постановка задачи)

Roman
26.07.2018
13:17:20
мне не совсем понятна постановка задачи)
короче есть подключённый к серверу по сокетам клиент, сейчас он так и называется: "Client". этот объект представляет собой интерфейс работы с соединением этого клиента и я хочу его переименовать в "ClientAgent" т.е. агент клиента на сервере

однако я не уверен что терминология правильная

Foxcool
26.07.2018
13:19:03
звучит как терминал или API клиент

Bohdan
26.07.2018
13:19:23
ну для всяких бд это ведь обычно просто connection а агент/сервис, в принципе, может оперировать уже коннекшном

Google
Foxcool
26.07.2018
13:19:39
например такой примерно есть кейс. Биржи торговые предоставлят апи (в т.ч. по вебсокетам). Это апи. А клиент апи- торговый терминал

просто, понятно, без бессмысленного задротства

Александр
26.07.2018
13:20:04
не знаю что вам просто "клиент" не нравится

Foxcool
26.07.2018
13:20:11
таки да

Roman
26.07.2018
13:23:48
не знаю что вам просто "клиент" не нравится
дело в том, что библиотека состоит из реализации сервера и клиента, но на стороне серверной реализации тоже имеется понятие "клиент", но это не тот клиент, что подключается для работы с сервером, а тот что, который предсталяет одно из соединенией... и мне не нравится что часто в разговоре один клиент с другим путаем и подумал что стоит переименовать представителя соединения - клиентским агентом, нежели клиентом

Александр
26.07.2018
13:25:09
ну тут я не очень подскажу

хранитель стандартов у нас @onokonem

Aleksandr
26.07.2018
13:25:40
Господа, подскажите, пожалуйста? Я новичок именно в Go Вот обычно есть класс DbEntity, от нее наследуем User и Order; соотв., можно написать CRUD для любого унаследованного от DbEntity класса. Но у нас в Go нет такого понятия, как наследование структур от структур. Как же тогда быть? Можно ли каким-то образом объединить группу структур по чему-то общему?

Roman
26.07.2018
13:34:38
наследование можно конечно эмулировать композицией но придётся много ручками писать

Александр
26.07.2018
13:35:09
https://play.golang.org/p/gW8WjARZZDR

вот так

если бы мы получали *DbEntity то при первом же изменении - отгребли бы

вместо ожидаемого результата - 123 321 получили бы 321 321

Google
Александр
26.07.2018
13:37:53
хотеть я язык read only атрибутов без бубна ?

Roman
26.07.2018
13:45:40
https://play.golang.org/p/gW8WjARZZDR
u1.Id = ... это какая-то магия, в User же нет поля Id почему я это вижу впервые? ?

Александр
26.07.2018
13:46:28
если ты используешь встраивание

то есть такой сахарок

Aleksandr
26.07.2018
13:46:56
я тут попробоваль набросать чего хотелось https://play.golang.org/p/_uEIWneEemH

Roman
26.07.2018
13:47:24
то есть такой сахарок
god dammit! почему я это только сейчас узнал ?

seems to make life so much easier

Александр
26.07.2018
13:48:33
я тут попробоваль набросать чего хотелось https://play.golang.org/p/_uEIWneEemH
эй, принято выкладывать код который можно запустить ?

ну по крайне мере стараться

Aleksandr
26.07.2018
13:49:32
прошу прощения, в дальнейшем буду знать)

Александр
26.07.2018
13:54:08
ну несколько не гоувей подход

у нас принято не плодить "универсальных" сущностей

но если вам так надо

то можно сделать интерфейс для обоих (одинаковый)

и кормить его

просто ваш Get в примере

Aleksandr
26.07.2018
13:56:16
во-от, а как это правильно делать с точки зрения методологии гоу?

Александр
26.07.2018
13:56:22
будет все равно использоваться в ограниченном числе сценариев

вы дайте бизнес кейс

Google
Александр
26.07.2018
13:56:48
с этими двумя сущностями

что бы не описывать все варианты ?

Aleksandr
26.07.2018
13:57:10
логично. минутку)

Александр
26.07.2018
14:10:18
что-то там тз с "яндекс" размером судя по всему ?

Yuriy
26.07.2018
14:44:47
Всем привет! Подскажите ответ на такой вопрос: Изучаю CI/DI в составе gitlab. У меня небольшой петпроджект на микросервисах (5 штук), соответсвенно один репозиторий для всех сервисов, для всего кода (типа монорепозиторий). Если я размещаю gitlab-ci.yaml в master ветке, то любой commit запустить процесс CI. Но как мне быть если я хочу запустить например сборку и деплой в контейнер для одного конкретного сервиса? Для каждого сервиса делать отдельную ветку, а потом все мерджить? Или через теги как-то можно задачи определять?

Aleksandr
26.07.2018
14:44:55
да нет, кажется я понял. я сча реализацию накропаю и похвастаюсь)

Yuriy
26.07.2018
14:46:46
и да, не проще ли разные репы?
т.е. для каждого сервиса разный реп?

Alan
26.07.2018
14:47:09
ну если это настоящие "микросервисы", то да)

Yuriy
26.07.2018
14:51:11
ну если это настоящие "микросервисы", то да)
немного не пойму. Например у меня в gitlab создан проект. Проект должен быть на каждый сервис или несколько репов (под каждый сервис) в рамках одного проекта можно (нужно) сделать?

Maksim
26.07.2018
14:52:59
ну если это настоящие "микросервисы", то да)
чушь. Есть вполне понятная штука, которая называется mono repository. К настоящим, или к не настоящим сервисам кол-во репозиториев отношения не имеет никакого. Совсем

Maksim
26.07.2018
14:54:10
хотя с другой стороны почти все "микросервисы", которые пишут на го, к микросервисам тоже отношения не имеют... так что пофиг)

Yuriy
26.07.2018
14:55:37
чушь. Есть вполне понятная штука, которая называется mono repository. К настоящим, или к не настоящим сервисам кол-во репозиториев отношения не имеет никакого. Совсем
тогда получается, что если репозиторий моно, то разделение комманд сборки (для отдельных частей кода) осуществляется через параметры, тэги при коммите?

Yuriy
26.07.2018
14:56:08
а они рады этому?
да походу это уже философский вопрос, что лучше))

Alan
26.07.2018
15:02:08
чушь. Есть вполне понятная штука, которая называется mono repository. К настоящим, или к не настоящим сервисам кол-во репозиториев отношения не имеет никакого. Совсем
ну вот тогда занимайтесь сексом сами со правкой/сборкой/делигацией единичного сервиса) я не настаиваю на разделении

Google
Ilya
26.07.2018
15:50:05
Где лучше инитить viper конфиг в main или init ?

Serg
26.07.2018
18:35:24
Привет! Есть проблема, при go build игнорируются строки, которые используют пакеты например func init() { println("preved") CLI.Flags().StringVarP(&cfg, "config", "c", "./contrib/configs/config.yml", "/path/to/config.yml") println("precer") } выведет println, вторую строчку пропускает

Roman
26.07.2018
18:43:20
https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/

Lucky
27.07.2018
10:56:39
Вопрос по декораторам. Можно ли как-то вменяемое обернуть группу функций, которые получают на вход разные типы аргументов и возвращают тоже разные?

Olzhas
27.07.2018
11:21:47
Генерики

Pawel
27.07.2018
11:48:21
Lucky
27.07.2018
11:52:53
а собственно зачем? для какой задачи?
Для проверки подключения к бд и сбора метрик, например

Vladimir
27.07.2018
11:53:08
это деревня, например

Страница 1593 из 1674