@proGO

Страница 437 из 1674
Denis
27.01.2017
19:11:02
Sqlx

mixa
27.01.2017
19:26:03
спасибо, это похоже то что надо: rows, err = db.NamedQuery(SELECT * FROM person WHERE first_name=:fn, map[string]interface{}{"fn": "Bin"})

Alexey
27.01.2017
21:08:29
Привет, А кто-нибудь умеет в go-micro? micro api умеет как-нибудь автоматически входящий json пересылать на сервисы? Или там надо обязательно отдельную обёртку для этого писать?

В доке сказано: RPC Handler: /[service]/[method] Я туда шлю json, а мне в ответ 500 :-/

Google
Alexey
27.01.2017
21:12:34
% curl "http://localhost:8080/greeter/hello" -XPOST -H "Content-Type: application/json" -d '{"name":"john"}' {"id":"go.micro.client","code":500,"detail":"none available","status":"Internal Server Error"}

Denis
27.01.2017
21:46:36
Он умеет и в пост и в json

Точнее не верно выразился

У него есть один эндпоинт на все запросы

А в какой сервис стучатся

Указывается в теле json

И метод там же

Roman
27.01.2017
23:07:37
Спеки есть и очень строгие
Ну и какие есть спеки на rest?

Daniel
27.01.2017
23:10:08
Roman
27.01.2017
23:10:57
И на сам рест

Вот есть json-rpc. На него есть спека.

Daniel
27.01.2017
23:13:25
и на json rpc 2.0 тоже есть, и он полущ

Google
Roman
27.01.2017
23:14:11
и на json rpc 2.0 тоже есть, и он полущ
Угу. А на мифический рест - нет. Это вообще концепция

http://www.jsonrpc.org/specification#batch

Alexey
28.01.2017
00:12:03
У него есть один эндпоинт на все запросы
Спасибо. То есть через /service/name никак? Только в один эндпойнт?

Oleh
28.01.2017
00:39:11
ахтунг я в бд mysql кидаю "Ĉina Radio Internacia" а получаю

тогда на sqlite тестил все было норм

юникод влючил

"?charset=utf8&parseTime=True&loc=Local" в конект стринге

Quet
28.01.2017
01:18:56
это канал про mysql? )

Oleh
28.01.2017
01:23:09
это канал про mysql? )
а ты знаешь об нем?)

наверника есть те кто пользовался ним)

это канал про mysql? )
это не канал:)

Alexey
28.01.2017
01:59:19
У него есть один эндпоинт на все запросы
А, всё, разобрался. API учитывает namespace. Надо имя сервису задавать, например, micro.Name("go.micro.api.greeter") По дефолту namespace такой: go.micro.api И тогда работает: curl "http://localhost:8080/greeter/hello" -XPOST -H "Content-Type: application/json" -d '{"name":"john"}'

Paul
28.01.2017
08:08:06
юникод влючил
А в MySQL? Collation, encoding, strict mode?

Denis
28.01.2017
08:51:55
Ну и какие есть спеки на rest?
Читайте полностью, я отвечал о oauth2, передача не тех параметров в запросе, либо нарушение их flow сулит секьюрностью

> составление url для oauth2

Вся спека об этом

Phil
28.01.2017
08:56:48
юникод влючил
А база как создана? А данные в ней? А читаем или пишем? А тестовый код что дает?

Читайте полностью, я отвечал о oauth2, передача не тех параметров в запросе, либо нарушение их flow сулит секьюрностью
Про oauth2 endpoints по тем ссылкам ничего нет кроме общих слов. Я спросил есть ли спека или соглашение хотябы об составлении endpoints. Судя по всему нет, но все используют /authorization и /token как-будто бы это прописано

Вся спека об этом
Нет. Там вообще про это нет

Denis
28.01.2017
09:29:27
Еще раз, про ендпоинтс это ваш следующий вопрос, я давал ответ на первый, параметры запроса вполне себе часть url, в случае oauth2 - большая По второму вопросу, Rfc не описывает как именно вы должны называть authorization endpoint, token endpoint, redirect endpoint, оно описывает как они должны себя вести и какие данные принимать, если сервер ваш, вы вольны называть их как угодно, есть соглашения, сейчас у разных провайдеров разнятся названия /auth и /authorization, /cb и /callback

Google
Denis
28.01.2017
09:36:43
:) приехали

Phil
28.01.2017
09:36:49
Так, а у OpenIDConnect там тоже нет соглашений? (спеку ещё не читал, не успел)

:) приехали
нет, не приехали. параметры в URL это даже не стандарт

:) приехали
Найдите мне кстати спеку по QUERY_STRING. Она есть, но я сходу даже не помню где.

Чуть ли не только на w3c, но не уверен

corpix
28.01.2017
09:41:03
Чуть ли не только на w3c, но не уверен
Эту спеку? https://tools.ietf.org/html/rfc3986#section-3.4

Sheridan
28.01.2017
09:42:56
И оба с урн

Denis
28.01.2017
09:47:13
))

Phil
28.01.2017
09:58:22
Так. Чего накопал про oauth2. Если либа go-oauth2. Но у нее странные стораджи и 0 документации. Основной сторадж вообще эмбедед. Есть osin, но он прямо токены хранит. Есть к hydra SDK, развесистый и.. опять 0 документации

Denis
28.01.2017
10:39:52
https://github.com/gopherjs/vecty Кто там фронтенд на гошке хотел писать?

Denis
28.01.2017
10:40:10
Vecty is a React-like library for GopherJS so that you can do frontend development in Go instead of writing JavaScript/HTML/CSS.

Там даже свой редакс есть

Нода вошла в бекенд, теперь го входит во фронтенд

Конечно компайлеры го в джс уже давно есть, но тут более законченное решение (по фичам)

Denis
28.01.2017
10:46:44
Что например ?

Maxim
28.01.2017
10:47:14
Что например ?
Какие фичи?

Denis
28.01.2017
10:49:11
гошный фреймворк для го для написания фронта со всеми вытекающими, для конкретных фич ссылка выше

Google
Admin
ERROR: S client not available

Denis
28.01.2017
10:50:52
Хотя по сорсам проекту год

Amir
28.01.2017
11:09:46
Maxim
28.01.2017
11:09:52
Кстати, уже не в первый раз вижу словосочетание idiomatic way. Что это?

Yura
28.01.2017
11:33:21
Это что-то вроде "так тут принято".

Т.е. если ты следуешь "idiomatic way", и все следуют "idiomatic way", то каждый читая код другого человека будет быстрее понимать, что код делает.

Denis
28.01.2017
11:45:22
Угу, ~ стандартный способ

Phil
28.01.2017
12:24:26
Чем-то мне fosite (oauth2 SDK) от hydra не нравится. Обосновать не могу

https://github.com/go-oauth2/oauth2 хранит впрямую токены. я нипонял

Berkus
28.01.2017
12:43:47
ахтунг я в бд mysql кидаю "Ĉina Radio Internacia" а получаю
client charset encoding = utf8 server charset encoding = ut8mb4 иначе пиздей твоему мускулю (уебаны писали если что)

Yura
28.01.2017
12:44:07
Ну, стандартный - это объявленный стандартом де юре, а idiomatic - это скорее стандарт де факто.

Phil
28.01.2017
13:05:53
Так. Верните меня на землю. Что за херотень - даже dex зачем-то хочет иметь доступ к нормальным токенам. Что им мешает тупо хэш писать/читать?

Denis
28.01.2017
18:33:38
https://github.com/aarzilli/gdlv

Кто-нибудь юзал ?

По видео выглядит очень круто

Slach
29.01.2017
08:44:32
всем привет, кто нибудь может меня платно проконсультировать и поревьювить мой код более дотошно? ну или просто объясните пожалуйста насколько плохо объявлять некий глобальный контекст при обработке http handlers на golang?? не middleware а именно контект в общем мне надо чтобы несколько горутин писали в один файл в append режиме и при достижении глобального (g.writed_rows % g.chunk_size) == 0 происходил flush файла и закрытие дескриптора и создание друого файла (открытие в append режиме) в качестве фреймворка использую https://github.com/gocraft/web (первое что попалось на глаза когда начал гуглить golang lightweight web framework) пытаюсь сделать как то так type MyStruct struct { sync.RWMutex // дальше много полей всякие file handlers и map tsv_writer *csv.Writer tsv_file *os.File tsv_file_name string writed_rows uint chunk_size uint } а в обработчике func (g *MyStruct) Collect(rw web.ResponseWriter, req *web.Request) { } делаю как то так https://play.golang.org/p/StfrROogbk пытаюсь юзать g.Lock и g.Unlock при записи в g и в тех местах где хочется тоьлко читать делаю g.RLock g.RUnlock а у меня пока получается что в бенчмарке func Benchmark_Collect(b *testing.B) { g := NewMyStruct() b.ResetTimer() b.RunParallel(func(pb *testing.PB) { req := NewTestRequest() rw := web.ResponseWriter(testResponseWriter{}) for pb.Next() { g.Collect(rw, &req) } }) } переименование файла и открытие закрытие пытается делаться паралелльно =(

Roman
29.01.2017
09:21:07


Phil
29.01.2017
09:36:35
АААААААААААААААА

Subbotin
29.01.2017
10:12:48
хей браза.

Daniel
29.01.2017
10:13:41
для них есть достаточно полезное применение

Google
Daniel
29.01.2017
10:13:49
но в книге об этом не пишут...

Subbotin
29.01.2017
10:14:23
скажите мне. вот надо мне заливать и сливать файлики с сервера (мелкие и мало). клиент и сервер оба мои. сервер у меня уже предоставляет рест апи через фреймворк echo. как лучше сделать?

заливать через форм дата или просто пут гет и бинарный блоб с содержимым файла?

мне кажется второй вариант симпатичнее

Daniel
29.01.2017
10:17:17
второй типа оптимальнее

первый типа более отлаживаемый и расширяемый

на самом деле - строго пох

Slach
29.01.2017
10:42:19
PUT и GET в самый раз

Quet
29.01.2017
10:51:07
всем привет, кто нибудь может меня платно проконсультировать и поревьювить мой код более дотошно? ну или просто объясните пожалуйста насколько плохо объявлять некий глобальный контекст при обработке http handlers на golang?? не middleware а именно контект в общем мне надо чтобы несколько горутин писали в один файл в append режиме и при достижении глобального (g.writed_rows % g.chunk_size) == 0 происходил flush файла и закрытие дескриптора и создание друого файла (открытие в append режиме) в качестве фреймворка использую https://github.com/gocraft/web (первое что попалось на глаза когда начал гуглить golang lightweight web framework) пытаюсь сделать как то так type MyStruct struct { sync.RWMutex // дальше много полей всякие file handlers и map tsv_writer *csv.Writer tsv_file *os.File tsv_file_name string writed_rows uint chunk_size uint } а в обработчике func (g *MyStruct) Collect(rw web.ResponseWriter, req *web.Request) { } делаю как то так https://play.golang.org/p/StfrROogbk пытаюсь юзать g.Lock и g.Unlock при записи в g и в тех местах где хочется тоьлко читать делаю g.RLock g.RUnlock а у меня пока получается что в бенчмарке func Benchmark_Collect(b *testing.B) { g := NewMyStruct() b.ResetTimer() b.RunParallel(func(pb *testing.PB) { req := NewTestRequest() rw := web.ResponseWriter(testResponseWriter{}) for pb.Next() { g.Collect(rw, &req) } }) } переименование файла и открытие закрытие пытается делаться паралелльно =(
пиши из одной горутины

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