@gogolang

Страница 1467 из 1630
Foxcool
27.09.2018
12:59:51
Noooooooooooooooooooo!!!!

Александр
27.09.2018
13:00:02
О да!

David
27.09.2018
13:08:46
Подскажите пожалуйста, при помощи чего можно написать отличный api gateway? Чтобы поддержка http2 была и удобно было писать эндпоинты

Daniel
27.09.2018
13:09:20
grpc

Google
Daniel
27.09.2018
13:09:31
вроде бы - именно он с http/2

David
27.09.2018
13:10:23
Да, но я о коммуникации клиентской части с Api Gateway

Заинтересовался в https://github.com/hellofresh/janus, но вот вопрос: может есть еще что получше?

Mykyta
27.09.2018
13:13:27
David
27.09.2018
13:15:13
я свой писал, эндпоинты описывал в виде yaml файликов
Очень интересно. В открытом доступе?

Mykyta
27.09.2018
13:15:43
Очень интересно. В открытом доступе?
нет, конечно) Но написал я его за один день

Foxcool
27.09.2018
13:18:21
КракенД?

Или он не годится?

David
27.09.2018
13:20:50
Или он не годится?
Вроде janus выглядит получше. Или нет?

Boris
27.09.2018
14:09:05
Всем привет. Подскажите, а swagger нормально на API пользовать?

Нужно доку писать для апишки, советуют CRUD в swaggere описывать.

Не пойму правда зачем он нужен и не будет ли это переусложнением.

Artem
27.09.2018
14:11:37
мб оффтоп, но тут исходники аэрофлота выложили на гитхаб

Google
Artem
27.09.2018
14:11:58
с позволения админов ток

Andrew
27.09.2018
14:12:04
https://github.com/aeroflotsrc/webapp

Boris
27.09.2018
14:12:05
Artem
27.09.2018
14:12:14
ну вот ^

Andrew
27.09.2018
14:13:12
это ж не исходники в чистом виде а слепки AuFS (или что там щас в докере юзается)?

Artem
27.09.2018
14:14:35
там питон внутри, а значит и все исходники

Andrew
27.09.2018
14:16:34
там питон внутри, а значит и все исходники
сори, не понял логическую цепочку, можешь развернуть?

я не говорю что там исходников нет, просто не понял как наличие питона говорит о наличии исходников, если что

Artem
27.09.2018
14:18:23
сори, не понял логическую цепочку, можешь развернуть?
там выгрузка из всех контейнеров, в контейнерах сервисы на питоне, питон не компилируется и поэтому для работы сервисов всю кодовую базу кладут в контейнер

Roman
27.09.2018
14:20:23
Не пинайте сильно - в тупике.

quote := fmt.Sprintf(` SELECT (SELECT COUNT(moexQuotes.stock_id) as moex FROM moexQuotes where moexQuotes.period_date LIKE('%s')) - (SELECT COUNT(stocks.id) as stocks FROM stocks WHERE stocks.name NOT LIKE('RUR%')) AS DIFF; `, date)

как заэкранировать %

Daniel
27.09.2018
14:21:08
Не пойму правда зачем он нужен и не будет ли это переусложнением.
1. описываете свой протокол на swagger-языке 2. генерите из него серверный код, клиентский код и документацию 3. на сервере и на клиенте добавляете хендлеры соответствующие 4. profit любое другое использование сваггера будет переусложнением

Roman
27.09.2018
14:21:13
ругается SELECT (SELECT COUNT(moexQuotes.stock_id) as moex FROM moexQuotes where moexQuotes.period_date LIKE('2018-09-21')) - (SELECT COUNT(stocks.id) as stocks FROM stocks WHERE stocks.name NOT LIKE('RUR\\%!'(MISSING))) AS DIFF;

Daniel
27.09.2018
14:21:55
это на go?

Roman
27.09.2018
14:21:55
видимо Sprintf ожидает что это не просто % а подстановка

да на го

Daniel
27.09.2018
14:22:06
а по-моему - нет

Google
Daniel
27.09.2018
14:22:31
но можно сделать на go

возьмите squirrel

делать динамические запросы sprintf-ом - плохая идея in general

Roman
27.09.2018
14:26:23
зачем мне еще одна абстракция? безопасность от SQL-иньекций? не тот проект - там SQlite домашнего проекта

Daniel
27.09.2018
14:26:48
другого совета у меня для вас нет

Roman
27.09.2018
14:27:00
Ок. За совет все-равно спасибо.

Daniel
27.09.2018
14:27:29
ну и это

% можно из строки формата изъять, поставив на его место %s, и соответствующий параметр добавить

а можно использовать %% - он в % превратится

Andrei
27.09.2018
14:28:28
зачем мне еще одна абстракция? безопасность от SQL-иньекций? не тот проект - там SQlite домашнего проекта
ну просто это разработка уровня «делаем запросы в базу из html темплейтов» на пыхе

Roman
27.09.2018
14:30:25
Действиетльно %%. Спасибо.

Daniel
27.09.2018
14:31:36
но, как мы понимаем, это стало еще дальше от читабельного

Илья
27.09.2018
14:34:14
hft на sqlite :) бессмысленный и беспощадный

Roman
27.09.2018
14:35:59
hft на sqlite :) бессмысленный и беспощадный
Хорошая шутка, но нет...это ИИС там данные раз в сутки

Илья
27.09.2018
14:36:26
Хорошая шутка, но нет...это ИИС там данные раз в сутки
тогда можно сделать 2 запроса count и увеличить читаемость кода на порядок :)

anatolii
27.09.2018
15:43:11
Подскажите одну штуку, заметил что если на структуру не указать жсон биндинг, то он автоматически биндит поля поднимая регистр первого символа (error = Error) это докуметированная фича или лучше на это не полагаться?

Aleksandr
27.09.2018
15:45:21
если у вас Error в json, то и в структуре Error

Google
Aleksandr
27.09.2018
15:46:48
а, имеется в виду декодирование

anatolii
27.09.2018
15:48:21
да

Aleksandr
27.09.2018
16:02:05
интересный кейс

https://play.golang.org/p/mmKgGj1DclI

Илья
27.09.2018
16:04:33
// To unmarshal JSON into a struct, Unmarshal matches incoming object // keys to the keys used by Marshal (either the struct field name or its tag), // preferring an exact match but also accepting a case-insensitive match. By // default, object keys which don't have a corresponding struct field are // ignored (see Decoder.DisallowUnknownFields for an alternative).

в доке про это есть, так что known behaviour, но не самое очевидное

Admin
ERROR: S client not available

Алексей
27.09.2018
17:02:26
Настало время, господа

настало время набросить на вентилятор

https://habr.com/post/424649/

Roman
27.09.2018
17:07:15
https://habr.com/post/424649/
ещё один недобенчмарк)))

Алексей
27.09.2018
17:07:52
ещё один недобенчмарк)))
и чтоже там "недо"?

Roman
27.09.2018
17:07:58
и чтоже там "недо"?
читай комментарии

Алексей
27.09.2018
17:08:40
ну там написали фактически, что стандартные http и json либы так себе

Илья
27.09.2018
17:10:01
там написали ` db.SetMaxOpenConns(20) // Sane default db.SetMaxIdleConns(0) db.SetConnMaxLifetime(time.Nanosecond) `

что человек бенчмаркает что-то

но пока не ясно что

Алексей
27.09.2018
17:10:38
исходники там есть, если что

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

Илья
27.09.2018
17:13:10
можно не писать статей и бенмарков, если руки кривые

Google
Roman
27.09.2018
17:13:52
можно не писать статей и бенмарков, если руки кривые
Нужно просто просить людей которые шарят за'review'ить сперва чем публиковать

Илья
27.09.2018
17:13:56
зачем вы ее сюда принесли?

Алексей
27.09.2018
17:14:34
прост

Никита
27.09.2018
17:14:55
и чтоже там "недо"?
Создавать пулл корректов при каждом Запросе к БД

в общем код на Го ужасно написан

Человек как будто никогда на Го и не писал

Иначе такого бы не было

Илья
27.09.2018
17:15:57
да и ошибки там (автор ничего не поясняет), с отлупами постгри, тк на каждый чих новый коннект

Алексей
27.09.2018
17:16:25
Ну тогда го молодец, раз даже с такими ошибками не особо сильно проиграл джаве

Harry
27.09.2018
18:15:24
пасаны, подскажите че за прикол. почему ответ минусовой? https://play.golang.org/p/aS1fyikIJrz

Roman
27.09.2018
18:16:45
в стиле "мир такой, каким я его вижу"))

Aleksandr
27.09.2018
18:19:23
пасаны, подскажите че за прикол. почему ответ минусовой? https://play.golang.org/p/aS1fyikIJrz
// int32 is the set of all signed 32-bit integers. // Range: -2147483648 through 2147483647. type int32 int32

Harry
27.09.2018
18:21:16
// int32 is the set of all signed 32-bit integers. // Range: -2147483648 through 2147483647. type int32 int32
а, у меня в сумме выход за ренж получится. а я по отдельности ток посмотрел. спс

Max
27.09.2018
19:16:07
кто работал с https://github.com/google/jsonapi есть проблема что type MyObj { my_struct []*MyStruct `jsonapi:"attr,my_struct"` } не работает UnmarshalPayload. Как решить?

Александр
27.09.2018
19:21:35
а ты вызываешь его?

там в примере обычный вызов надо

if err := jsonapi.MarshalPayload(w, blog); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) }

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