@proGO

Страница 1039 из 1674
Kirill
07.12.2017
10:11:58
Убейте флудеров
Да вроде уже давно перманент бан напрашивается, не пойму почему они еще тут

Daniel
07.12.2017
10:13:35
nezorflame
07.12.2017
10:21:31
Да так, чат совсем во флудилку превратился усилиями некоторых

anton
07.12.2017
10:23:17
меня здесь давно не было, но кажется чат как чат. как было раньше, так и сейчас осталось. разве что стало меньше вопросов типа "какой фреймворк взять?"

Google
Aleksey
07.12.2017
11:07:13
Можете подсказать, я получаю на вход json с необязательным полем email { “email”: “test@gmail.com” } (потенциально может быть больше полей, но все останутся необязательными) В го я маплю json на структуру type UpdateUserBody struct { Email string } … userDraft := UpdateUserBody{} json.NewDecoder(r.Body).Decode(&userDraft) … И обнавляю запись в базе … user := User{} query := ` UPDATE users SET email=$1 WHERE id=$2 RETURNING id, email, created, updated` err := um.DB.QueryRow(query, userDraft.Email, userDraft.Id).Scan(&user.Id, &user.Email, &user.Created, &user.Updated) … Как мне построить процесс так, чтобы обновлялись только указанные в json-е поля?

anton
07.12.2017
11:17:22
постгря? coalesce не подойдет?

Aleksey
07.12.2017
11:21:11
постгря? coalesce не подойдет?
Проблема в том, что когда я маплю json на эту структуру, если в json нету параметра email, то email становится равным пустой строке “” и тогда coalesce никак не реагирует и просто переписывает значение в базе на пустую строку. Сейчас пробую переписать получение данных в мапу, но у меня на структуре навешена валидация: type UpdateUserBody struct { Email string valid:"email~Isn't a valid email" }

anton
07.12.2017
11:22:47
type UpdateUserBody struct { Email *string } Pointer values encode as the value pointed to. A nil pointer encodes as the null JSON object.

попробуй *string вместо string

Aleksey
07.12.2017
11:24:04
type UpdateUserBody struct { Email *string } Pointer values encode as the value pointed to. A nil pointer encodes as the null JSON object.
Спасибо, сейчас попробую. Можешь подсказать как вставлять код нормально, пробовал “```”, но не работает?

anton
07.12.2017
11:24:56
хм, а какой клиент? вообще, обрамляешь его одинарным или тройным бэктиком и все работает тыц

Aleksey
07.12.2017
11:25:28
Code sample

Mac десктоп - одинарный отправляет, а когда отправляю с тройным, то на мнгновение появляется серая рамка и сразу пропадает. Сообщение выше написал с тройным, кстати.

Vladimir
07.12.2017
11:28:24
Telegram Desktop - Qt5 и кроссплатформенный

тот что слева - он какой-то типа нативный (хотя больше смахивает на webapp) и странненький

Google
Vladimir
07.12.2017
11:29:29
да, на telegram desktop все отправляется корректно. Никаких серых рамок не появляется впрочем

Aleksey
07.12.2017
11:31:21
Да, в том, что справа, все корректно работает, хотя интерфейс левого мне кажется более приятным

Aleksey
07.12.2017
11:42:56
Можете, пожалуйста, оценить подход. Первый проект на go. В общем попробовал перенести подход к разработке на node.js на то, как принято в го. Реализовал CRUD к одной коллекции данных, создание новых коллекций потенциально расширяется в папке src/modules аналогично с users. https://github.com/AM-NiceDay/my-costs-api

Александр
07.12.2017
12:21:09
народ а если я создаю кастомный тип на основе например string

я же не смогу туда скормить строку?

type MyType string myTypeVar := MyType("ВВася")

Aleksandr
07.12.2017
12:25:06
подскажите как можно прогонять юниттесты go test если используется dep либа для вендоринга? запускаю go test и не ищет зависимости в vendor папке. могу конечно в gopath добавить, но это как-то извращение как по мне

Aleksandr
07.12.2017
12:26:26
Использование dep — уже извращение
тогда уже использование go извращение)

plq
07.12.2017
12:26:39
Vladimir
07.12.2017
12:26:53
И тут ты прав
но что тогда забыл на этом канале?

plq
07.12.2017
12:27:11
но что тогда забыл на этом канале?
Я латентный извращенец

Aleksandr
07.12.2017
12:27:13
а совпадают пути в коде и структура в вендор?
да, абсолютно, с такими же путями приложения запускаются

Александр
07.12.2017
12:27:33
Я латентный извращенец
да вам лечиться надо (с)

Aleksandr
07.12.2017
12:27:35
а совпадают пути в коде и структура в вендор?
тут собственно вопрос работает ли оно так впринципе

или надо костылять все-таки

Kirill
07.12.2017
12:28:24
go test с vendor нормально работает

Aleksandr
07.12.2017
12:28:42
go test с vendor нормально работает
хм, буду смотреть тогда

Google
Kirill
07.12.2017
12:29:44
Go у вас какой версии ? Просто есть люди которые Go из репозиториев убунты ставят и там не совсем понятно что

nezorflame
07.12.2017
12:36:50
Kirill
07.12.2017
12:37:00
Олександр
07.12.2017
12:37:39
Хело братья и сестры. Кто нибудь ставил GO в докере ?

nezorflame
07.12.2017
12:37:48
я обычно гоняю вот так: go test -v -cover $(go list ./... | grep -v /vendor/)

some_random_anonymous
07.12.2017
12:38:08
Работает и кушать не просит

nezorflame
07.12.2017
12:38:33
таки ничего плохого

some_random_anonymous
07.12.2017
12:38:47
Ну вот у комрада почему-то припекает от dep

plq
07.12.2017
12:38:53
Что не так с dep?
как по мне — слишком громоздкий и не очень хорошо работает с разными ветками (насколько я помню)

nezorflame
07.12.2017
12:39:27
громоздкость - следствие универсализации, а вот второе не могу подтвердить

nezorflame
07.12.2017
12:39:40
совершенно спокойно пашет и с бранчами, и с тэгами, и даже с коммитами

в общем-то я успешно на него пересел с glide и не сожалею

Aleksandr
07.12.2017
12:40:31
как по мне — слишком громоздкий и не очень хорошо работает с разными ветками (насколько я помню)
единственная проблема в том я прочувствовал уже что комьюнити которое пишет го либы очень любит лепить все в мастер и не выставлять никаких тегов, причем делать критические апдейты

nezorflame
07.12.2017
12:40:32
хотя glide меня более, чем устраивал :)

Vladimir
07.12.2017
12:40:56
не очевидно управление тем какая ветка нужна

но это к UX

nezorflame
07.12.2017
12:41:42
э, а где это очевидно?

Google
Vladimir
07.12.2017
12:41:47
главный плюс депа в том что он вероятно станет официальным )

some_random_anonymous
07.12.2017
12:42:00
И всем так рекомендую делать

Admin
ERROR: S client not available

Vladimir
07.12.2017
12:42:26
э, а где это очевидно?
не знаю, но в dep'е мне не понравилось что либо тебе надо руками файл редактировать либо при добавлении указывать ветку/коммит/версию, а поменять потом нельзя будет (только редактированием файла)

nezorflame
07.12.2017
12:43:38
а, править ручками томл неочевидно? ну тогда наверное да :)

plq
07.12.2017
12:44:22
а, править ручками томл неочевидно? ну тогда наверное да :)
немношк неудобно и неочевидно, если делаешь это первый раз. Но возможно это уже мой аутизм

Vladimir
07.12.2017
12:44:42
ну так весь в смысл, чтобы тюнить Gopkg.toml как нужно
ну я просто ожидал наличие командочки переключающей

nezorflame
07.12.2017
12:44:47
если честно, не видел ни одного dep manager'а гошного, который бы это командой делал

везде путем редактирования конфига

Vladimir
07.12.2017
12:45:03
просто сделать это командой - легко )

nezorflame
07.12.2017
12:45:15
glide. govendor - то же самое

Lee
07.12.2017
12:45:30
У кого go + sublime ? Кто какими плагинами пользуется для упрощения жизни?

nezorflame
07.12.2017
12:45:58
просто сделать это командой - легко )
форкните dep, запилите команду и пул реквест)

Vladimir
07.12.2017
12:46:02
@nezorflame мне нравится у dep'а комьюнити. Нашел баг, описал, через 40 минут ответили с момента репорта)

nezorflame
07.12.2017
12:46:08
это да

Google
Vladimir
07.12.2017
12:46:13
форкните dep, запилите команду и пул реквест)
надо с чуваками обсудить сначала, но можно)

nezorflame
07.12.2017
12:46:22
они весьма хорошо к реквестам относятся

Vladimir
07.12.2017
12:46:42
ни и к issues и к PR хорошо относятся

nezorflame
07.12.2017
12:46:43
но да, сперва можно issue на обсуждение

Aleksandr
07.12.2017
12:46:54
просто сделать это командой - легко )
я вам скажу мне в pip питоновский со всеми его автоматизациями freeze и прочим было увереннее записать ручками в requirements.txt зависимость чем делать фриз

Александр
07.12.2017
12:53:37
func fill(modelField *string) { value := db.GetAttributeValue("blabla") if value != "" { modelField = &value } }

это же работать не будет?

поскольку value почиститься после выхода из функции

не знаю как сборщик мусора, но по логике должен убить

John
07.12.2017
13:36:08
это же работать не будет?
Чей-та ? это ж не С

Александр
07.12.2017
13:43:21
работать будет так - https://play.golang.org/p/Lekvya0NRs

с двойным сука указателем

при попытке сделать так - https://play.golang.org/p/yNTzGQ-jCZ

"invalid memory address or nil pointer dereference"

Alexey
07.12.2017
13:44:57
господи помилуй

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