
Maruf
26.09.2018
10:21:47
Всем салют! Вопрос по фронту, кто может помочь?
как checkbox присвоить значение checked, если bool значение приходит по структуре
<tbody>
{{ range . }}
<tr>
<td>
<div class="material-switch pull-right">
<input id="someSwitchOptionPrimary" name="my_field" type="checkbox" disabled/>
</div>
</td>
</tr>
{{ end }}
</tbody>
{{ .Checked}} <-приходит bool

Denys
26.09.2018
10:25:58
checked="checked" ?

Google

Denys
26.09.2018
10:26:05
или просто пустой аттребут checked
{{if .Checked}}checked{{end}}

Amir
26.09.2018
10:29:20
А как там дела у драйвера под монгу, может знает кто?

Nibbler
26.09.2018
10:29:37
вроде норм, но вроде ее бросили поддерживать

Amir
26.09.2018
10:31:07
UNMAINTAINED

Алексей
26.09.2018
10:34:07
https://github.com/globalsign/mgo
Есть ещё официальный. Но он в альфе пока.

Maruf
26.09.2018
10:35:48
работает, спасибо!

Maxim
26.09.2018
11:02:46
и этого еще туда же надо @Alex_kostel

Olga
26.09.2018
11:44:56

Aleksey
26.09.2018
11:46:32

Olga
26.09.2018
11:47:47

Google

Dmitri
26.09.2018
11:48:07
сигнатура в json-схеме, не интерфейс.
давайте разберемся. В json-схеме лежит описание некоторых структур данных + некоторые "заголовки" с сигнатурами требуемых для генерации методов? Т.е. вы в json-схеме в структуру данных добавили пару полей, одно отпилили... При этом, вероятно, это делалось с какой-то вполне определенной целью, т.е. в коде эти поля как-то используются...
После этого вы не запустили генерацию, у вас есть несколько старых type SomeShit1 struct { ... } без новых полей, в коде вы в эти поля что-то пытаетесь писать/читать, и... и все собирается? И компилятор не в печали?

Aleksandr
26.09.2018
11:49:44

Dmitri
26.09.2018
11:52:13
И вы из нее генерите сервер?

Baldr
26.09.2018
11:52:20
Гоферы, какой драйвер для монги сейчас лучший?
Дали поддержку проекта, а там неподдерживаемый с 2012 mgo

Dmitri
26.09.2018
11:52:46
Интерфейс сервера, в смысле

Aleksey
26.09.2018
11:53:32

Aleksandr
26.09.2018
11:53:33

Dmitri
26.09.2018
11:53:59
Окей, клиент

Aleksey
26.09.2018
11:54:39

Dmitri
26.09.2018
11:55:04
Вы сгенерили клиент, который выглядит как 2 структуры на каждый метод апи, и метод вызова?

Aleksandr
26.09.2018
11:56:07

Dmitri
26.09.2018
11:57:40
Ну да, уговорили, есть ситуации, когда это скомпилится
Например, если добавилось поле в json, а вы его не используете

Baldr
26.09.2018
11:58:16

Aleksey
26.09.2018
11:58:46
спасибо, посмотрю
Его первым предлагают как замену в той самой дропнутой в 2012 репе, прям в ридми :)

Dmitri
26.09.2018
11:59:16
При этом сложнее придумать ситуацию, когда это поломает работу клиента
При условии, что вы это у себя запускали локально
А сервер оно не сбилдит
Потому что, если поле появилось, значит, это кому-нибудь нужно

Aleksandr
26.09.2018
12:01:00
ну смысла тестировать все методы клиента нет, потому что например клиент генерится по схеме предоставленной стороной апи. а в процессе работы апи станет выдавать 400 ошибку, потому что реквест клиента не соответствует схеме

Google

Baldr
26.09.2018
12:01:08

Vadim
26.09.2018
12:01:57
mgo - Rich MongoDB driver for Go
https://labix.org/mgo

Dmitri
26.09.2018
12:06:53

Aleksandr
26.09.2018
12:09:24
(я не в курсе)

Dmitri
26.09.2018
12:10:22
Собственно, от апи зависит)
Если оно не пишет данные, а только отдает - тупо запрос с дефолтным пейлоадом

Aleksandr
26.09.2018
12:11:40
ну вот доработали задачу - надо писать) нетестируемо?

Dmitri
26.09.2018
12:11:54
По крайней мере вы будете уверены, что оно ваш реквест схавает

Aleksandr
26.09.2018
12:12:15
опять же все 1000 тестов не руками будем писать, а опять же генерировать тесты, верно?
я имею в виду 1000 методов апи

Dmitri
26.09.2018
12:13:04

Aleksandr
26.09.2018
12:13:47

Dmitri
26.09.2018
12:14:20
Давайте ещё поанализируем
У вас в сторону сервера уходит json, ещё один возвращается - так?

Aleksandr
26.09.2018
12:15:18
да, наверное

Dmitri
26.09.2018
12:15:53
Предположим, в этом жсоне добавилось поле
Если оно у вас в новой реализации клиента используется - все норм, не скомпилмруется
Так?

Aleksandr
26.09.2018
12:17:13

Google

Dmitri
26.09.2018
12:17:34
У вас структура, которую надо заполнить же
И в коде вы ей в поле что-то пишете
А поля нет, т.к. не генерили

Admin
ERROR: S client not available

Dmitri
26.09.2018
12:18:19
Т.е. не скомпилируется
Так?

Aleksandr
26.09.2018
12:20:01
нет, пока не пишу. только должен был сгенерить клиента, методы которого принимают структуру

Dmitri
26.09.2018
12:20:51
Или если сгенерили метод, вы пихаете туда параметры в соответствии с новой сигнатурой. А вы не генерили, т.е. опять не скомпилится, т.к. сигнатура левая

Aleksandr
26.09.2018
12:21:05
сгенерил клиента с тысячью методами. логично что в коде я пока не использую всю тысячу методов, а если и использую то могу не писать в новое поле

Dmitri
26.09.2018
12:21:34

Aleksandr
26.09.2018
12:21:41
client.SomeMethod(someMethodReqStruct)
скомпилится

Dmitri
26.09.2018
12:22:34
Ну вот мы сейчас рассматриваем вариант, что вы туда собираетесь писать. В этом случае не скомпилится же?

Aleksandr
26.09.2018
12:23:05

Dmitri
26.09.2018
12:23:12
Если же вы туда не пишете, то у нас 2 варианта
1. Серверу ок

Aleksandr
26.09.2018
12:23:24
на этапе напсания кода мне иде подскажет что поля то нет

Dmitri
26.09.2018
12:23:30
2. Серверу не ок.
Если уж она умеет файлы сохранять при изменении, то, видимо, и автоматический запуск кодогенерации при изменении схемы прикрутить тоже можно

Google

Aleksandr
26.09.2018
12:25:41
можно

Dmitri
26.09.2018
12:25:58
Если иде нет, то несколько сложнее
Оно либо скомпилилось, либо нет
И вот тут вам либо гитхуками обвешиваться
К слову, почему бы и нет
Либо думать на тему "что будет, если на сервер неполный жсон уйдет"
И тут либо все норм, либо сервер просто нафиг пошлет

Aleksandr
26.09.2018
12:28:56
да. я все же считаю что код сгенерить должен разработчик, а не ci или что-то там на стороне, поэтому бы написал гитхук, который перед пушем генерит код из схемы, проверяет получившиеся файлы на идентичность с файлами из последнего коммита, и в случае не соответствия реджектил бы с сообщением

Dmitri
26.09.2018
12:30:57
Ну вот да, проблема несгенеренных апишек где-то на этом уровне должна решаться
А автозапуск генерации сильно много поломать может
Так что я против такого "умного" компилятора

Aleksandr
26.09.2018
12:32:51
да и вообще это странно, что у тебя в репо и релиз уйдет код, который разработчик даже не видел

Dmitri
26.09.2018
12:33:48
Видеть-то видел. Просто не в запущенном состоянии)