@gogolang

Страница 380 из 1630
Slava
12.07.2017
04:16:24
я щас хочу внутреннюю тулзу перевести на это, а то у меня и инклуды полей были и нормализации в react/redux данных, вообщем всё что в graphql из коробки

но пока не могу найти нормального фреймворка для го =( хоть свой пиши

Google
Slava
12.07.2017
04:17:16
ну тут сильно проще soap всё

типа rest на стероидах

круто что можно прям с сервера через подписки клиент обновлять

Mars
12.07.2017
04:18:00
типа rest на стероидах
Идеи почти всегда хорошие, в начале ?

Slava
12.07.2017
04:18:20
ну я потыкал плейграунд гитхаба - мне понравилось

Mars
12.07.2017
04:19:37
Slava
12.07.2017
04:19:57
да, это конечно, парсеры я сам писать не хочу, да и некогда =)

вот самое близкое мне https://github.com/neelance/graphql-go/blob/new-resolvers/example/starwars/starwars.go#L291, но я хочу чтобы по схеме вообще всё генерировалось, как в grpc и нужно было только интерфейсы реализовать

мне кажется генерация graphql из кода го - это вообще неверно

но наверное удобно для простых случаев

Google
Mars
12.07.2017
07:06:36
На этом можно сделать простой генератор. Еще, было бы здорово мочь использовать существующие модели.

Valentin
12.07.2017
07:23:36
Я правильно понимаю, что GraphQL это альтернатива REST?

И это просто описание протокола?

Michael
12.07.2017
07:24:42
ты говоришь серверу что и в каком виде тебе надо

типа киллерфича

Valentin
12.07.2017
07:25:30
Гошный код выглядит громоздко -)

Michael
12.07.2017
07:25:34
судя по описанию)

для graphql?

Valentin
12.07.2017
07:28:06
да, из примеров репо выше

Надо будет поковырять эту штуку на досуге, на сайте graphhq хорошо описано

читай разрекламировано)

Dmitry
12.07.2017
07:29:10
да, из примеров репо выше
Оно было изначально про js продумано, чисто фронтовая штука

Мерлин
12.07.2017
07:40:47
Nikita
12.07.2017
07:58:40
Господа, есть желание хранить запросы к базе и прочие ресурсы во внешнем файле. Есть ли какие-то встроенные решения аля джававского Resource Bundle?

Michael
12.07.2017
08:08:30
хм

Michael
12.07.2017
08:08:52
при сборке компилятор Го может задать значение нужной переменной

Nikita
12.07.2017
08:09:09
ну и вообще тогда интересуют go-way best practices по хранению ресурсов

идея в том, чтобы хранить sql запросы в файле на диске, удобно править их оттуда при необходимости, а не искать места в коде, где они захардкожены

Google
N
12.07.2017
08:10:39
можно подробнее?
один из вариантов, который я использовал: https://github.com/jteeuwen/go-bindata и таких решений не одно, под свою задачу уже можно что-то подыскать

идея в том, чтобы хранить sql запросы в файле на диске, удобно править их оттуда при необходимости, а не искать места в коде, где они захардкожены
а, тогда не подойдет то, что я прислал. тебе подойдет что угодно JSON/XML/TOML и обычный набор текстовиков. что угодно на вкус и цвет

Michael
12.07.2017
08:11:50
go build -ldflags "-X main.sqlspgetti=$(supersql)"

?

N
12.07.2017
08:12:36
Zhenja
12.07.2017
08:16:40
в json/xml не удобно хранить sql. Ну когда он по 1к символов на запрос

Nikita
12.07.2017
08:25:29
спасибо за ответы)

Максим
12.07.2017
08:54:17
подскажите, плз, как правильно называются функции, которые создаются внутри другой функции и не имеют имени или как правильно написать defer func(){ //То что должно выполнится перед завершением }

Nikita
12.07.2017
08:55:07
анонимные?

Максим
12.07.2017
09:02:16
да

Zhenja
12.07.2017
09:04:04
кроссворд отгадываете?

Michael
12.07.2017
09:04:26
job interview

Максим
12.07.2017
09:14:09
кроссворд отгадываете?
не знаю как загуглить

Aleksandr
12.07.2017
09:14:35
да
так и называются - анонимные

Максим
12.07.2017
09:15:08
нашел, но непонятно к чему такой синтаксис - func(){}(), зачем там две пары дужек?

Zhenja
12.07.2017
09:15:26
создать и сразу вызвать её

f=func(){} f()

Максим
12.07.2017
09:16:20
f=func(){} f()
Спасибо

corpix
12.07.2017
09:22:10
Почему питон, а не Go?
Потому что есть в любом линуксе, ничего собирать не нужно. Ну и когда я все это начинал инструмент был написан на скорую руку, взял питон практически не думая, о чем все еще не жалею

Google
Axm
12.07.2017
09:22:51
Можно как-то в Go выделить строку и параметры в функцию или переменную, чтобы не повторять постоянно по два раза все? err := r.ParseForm() if err != nil { logger.Errorf("Cannot parse request data: %v", err) http.Error(w, fmt.Sprintf("Cannot parse request data: %v", err), http.StatusBadRequest) }

Aleksey
12.07.2017
09:23:37
Сделай через Sprintf переменную и пихай куда хочешь

Axm
12.07.2017
09:24:04
и правда, че-то туплю. спасибо!

Мерлин
12.07.2017
09:34:33
Нормальные вебсокеты завезли https://github.com/gobwas/ws

Vlad
12.07.2017
09:36:35
Есть два пакета: main, в котором лежит var shared string = «» Так же есть второй пакет (middleware), из которого я хочу в эту переменную записать. Подскажите, как это сделать, а то я совсем не знаю, как это в Гошке работает

Admin
ERROR: S client not available

Aleksey
12.07.2017
09:37:40
Можешь напрямую из пакета попробовать <пакет>.<переменная>=

Vlad
12.07.2017
09:37:47
Все, решил. В Гошке это нужно писать с большой буквы

Верно?

Aleksey
12.07.2017
09:37:56
А если middleware то лечше через контекст

Мерлин
12.07.2017
09:38:19
Да, использовать глобальные переменные лучше не надо, зло какое-то

Aleksey
12.07.2017
09:38:22
Переменные не сбольшой буквы в других пакетах не видно

Vlad
12.07.2017
09:38:32
я об этом забыл.

да друг делает тестовое на Го

я помогаю

А на Го давно не смотрел, вот и забыл.

Евгений
12.07.2017
10:14:11
Нормальные вебсокеты завезли https://github.com/gobwas/ws
чем лучше стандартных? Смотрю пример, главное преимущество - возможность меньше копировать, но тогда ты сам должен обрабатавать все не на http, а на tcp уровне. То есть сделать одновременный доступ и по http и по ws будет неудобно - либо отдельные сервисы, отдельные порты и прочее надо делать. Если хочешь все вместе - см вариант 1. Там будет тоже самое. Или я что-то упустил?

corpix
12.07.2017
10:15:31
Why?
http://wiki.c2.com/?GlobalVariablesAreBad

Andrew
12.07.2017
10:18:09
http://wiki.c2.com/?GlobalVariablesAreBad
Что-то мне подсказывает, что это не для Go.

Google
corpix
12.07.2017
10:18:51
Что-то мне подсказывает, что это не для Go.
Концепции написания хорошего кода в большинстве языков программирования одинаковы

Евгений
12.07.2017
10:20:28
мне наоборот кажется, что в Go это еще более актуально - когда глобальная переменная будет еще неожиданнее перезатироваться другой горутиной.

corpix
12.07.2017
10:23:18
Константы не изменяемы. Речь о переменных, которые могут быть изменены

Евгений
12.07.2017
10:24:15
название статьи - GlobalVariablesAreBad

Мерлин
12.07.2017
10:25:04
Что-то мне подсказывает, что это не для Go.
Это для любого языка. Это вообще не относится к языку

Andrew
12.07.2017
10:26:12
Типа вы хотите сказать, что http.DefaultClient - это неправильно?

Это ж, как я понимаю, глобальная переменная

corpix
12.07.2017
10:29:26
Если её не мутируют то не могу сказать что наличие такой переменной это не правильно. Но в этом случае это уже не совсем переменная... я бы сказал что это идентификатор

corpix
12.07.2017
10:30:59
Вобщем, коротко говоря - наличие глобальных переменных, которые могут меняться из разных частей программы - зло. Я полагаю что это и было изначальным поинтом этого разговора

Michael
12.07.2017
10:35:28
readonly спасёт мир

corpix
12.07.2017
10:35:50
ФП спасёт мир)))

Анатолий
12.07.2017
10:36:32
fix: (ФП (спасет (мир)))

Zhenja
12.07.2017
10:37:11
а подключение к базе, логгеры, конфиг? Передавать в функции параметром? Или в каждой функции поднимать свое?

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