@gogolang

Страница 1460 из 1630
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

Aleksey
26.09.2018
11:46:32
bit.ly/2IhWMUi
А остальные? Не вижу плейлиста сходу

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

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
Окей, клиент

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

Aleksandr
26.09.2018
11:56:07
Вы сгенерили клиент, который выглядит как 2 структуры на каждый метод апи, и метод вызова?
например. это выдуманная ситуация если что) можете сами в процессе додумать ситуацию, которая позволит коду скомпилироваться

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
Его первым предлагают как замену в той самой дропнутой в 2012 репе, прям в ридми :)
обратная совместимось это хорошо нагуглил, что комманда монго делает новый драйвер с нуля, ждемс-ждемс https://engineering.mongodb.com/post/considering-the-community-effects-of-introducing-an-official-golang-mongodb-driver

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

Dmitri
26.09.2018
12:06:53
ну смысла тестировать все методы клиента нет, потому что например клиент генерится по схеме предоставленной стороной апи. а в процессе работы апи станет выдавать 400 ошибку, потому что реквест клиента не соответствует схеме
Я просто видел два подхода: 1. Генерится структура, которую вы заполняете и пинаете в реквест. 2. Генерится метод с набором параметров. В обоих случаях нужные вам методы в апи на предмет "работает ли оно вообще" при обращении к серверу, тестами обернуть стоит. И вот тут либо сервер пошлет нафиг, т.к. его не устроил payload запроса, либо payload устроит, и тогда у вас корректный клиент

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
Предположим, в этом жсоне добавилось поле

Если оно у вас в новой реализации клиента используется - все норм, не скомпилмруется

Так?

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
Ну вот мы сейчас рассматриваем вариант, что вы туда собираетесь писать. В этом случае не скомпилится же?

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
Видеть-то видел. Просто не в запущенном состоянии)

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