@proGO

Страница 1228 из 1674
DMITRY
15.02.2018
08:33:51
это получается не отрабатывает

Kirill
15.02.2018
08:34:48
Господа гоферы, странный вопрос. Что почитать чтобы легче понимать сорсы (а не просто использование) стандартной библиотеки го? Понимаю что вопрос жуть какой обширный, но все же... И да rus/eng - что угодно.

Vergil
15.02.2018
08:41:13
Kirill
15.02.2018
08:41:56
ну у меня только предложение читать оф. документацию если возникают вопросы по использованию чего-либо при чтении сорсов..
Не скорее проблема в том наткнувшись на поллинг, стикибиты или прочие низкоуровневые шняги приходится долго торчать в гугле

Google
Nil
15.02.2018
08:42:07
как в изучении любого языка - читать и переводить)

Yaroslav
15.02.2018
08:44:19
Привет. Какая либа сейчас актуальный аналог flags? ( чтобы c required флагами можно было работать)

Vergil
15.02.2018
08:45:11
Не скорее проблема в том наткнувшись на поллинг, стикибиты или прочие низкоуровневые шняги приходится долго торчать в гугле
это нормально при изучении) Особенно стандартных библиотек. я до сих пор, допустим, пугаюсь от вида исходников c++ stl от gcc...

Kirill
15.02.2018
08:45:44
Ясненько, спасибо

Roman
15.02.2018
08:54:40
https://mholt.github.io/curl-to-go/

DMITRY
15.02.2018
09:12:36
Вообщем после этого err := websocket.Message.Receive(ws, &message) все встает почему-то

грубо говоря: for { var message string if err := websocket.Message.Receive(ws, &message); err != nil { log.Fatal(err) } log.Printf("message: %s", message) } вообще не выполняеться

Daniel
15.02.2018
09:15:46
что значит - не выполняется

DMITRY
15.02.2018
09:16:48
for { var message string //err := websocket.JSON.Receive(ws, &message) err := websocket.Message.Receive(ws, &message) if err != nil { fmt.Printf("Error::: %s\n", err.Error()) ws = reconnect() } if len(message) > 0 { fmt.Println("message: %s", message) } fmt.Println("test") } test в консоли не бежит

$ go run ws3.go Starting Connect И все

xPushkin
15.02.2018
09:18:48
@captain_perreiro могу посоветовать использовать gorilla/websocket

DMITRY
15.02.2018
09:19:19
Посмотрел там примеры они какие-то странные

да вроде это все заработало,но не принимает

Google
DMITRY
15.02.2018
09:47:08
golang.org/x/net/websocket - походу прием сообщений там сломан

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

хмм...интересно натравил его на echo и работает

походу на node.js сервер куда подключаюсь специфичная реализация

Человек
15.02.2018
11:05:06
Помогите с добавлением значения в реестр пожалуйста. Создаю сообственный раздел, добавляю значение чтоб в будущем брать оттуда информацию. но как только доходит до функции добавлением в реетр Касперский и 360 Total Security начинаю жаловаться

Daniel
15.02.2018
11:05:48
конечно

это их дело за такими программами следить

грош бы была им цена, если бы это можно обойти было

так что - смиритесь

Человек
15.02.2018
11:08:27
Я антивирями не пользуюсь, я для теста их поставил.

John
15.02.2018
11:08:30
два антивиря на одном компе?
Вантусятники же ... %)

Michael
15.02.2018
11:08:58
Вантусятники же ... %)
ну я сижу и на окнах и на пингвине

и то и то, если настроить, то не нуждаются в касперских и иже с ними

Olzhas
15.02.2018
11:11:14
это как с венерологическими болезнями

Человек
15.02.2018
11:11:57
хм, можно попробовать через reg add добавлять

Или не прокатит...

Michael
15.02.2018
11:13:00
а должно?

Google
Michael
15.02.2018
11:13:39
вот поругается антвирус голосом страждущего поросёнка, скажешь ой молодец и заплатишь ещё за лицензию

есть вариант подписывать бинарь сертификатом, но паранойя антивируса может быть беспощадной

Человек
15.02.2018
11:15:43
Сейчас я все методы попробую которые у меня накопились в голове

Aleksandr
15.02.2018
11:20:48
пардон, перепутал с поисковой строкой )

Roman
15.02.2018
14:07:20
https://play.golang.org/p/TXRQnEkn6H7

чёт не могу понять, почему массив пуст после декодирования?

John
15.02.2018
14:08:56
а надо Records

(c большой буквы)

Oleh
15.02.2018
14:09:26
Всем привет. Вопрос по REST. Как вы валидируете входящие данные в го?

Александр
15.02.2018
14:09:48
gopkg.in/go-playground/validator.v9

я энтим ?

Roman
15.02.2018
14:09:55
type ChildStruct struct { records []Record json:"records" }
я так и знал что причина в невнимательности... спасибо)

Oleh
15.02.2018
14:10:42
gopkg.in/go-playground/validator.v9
спасибо за вариант, а есть еще другие примеры? Если я не ошибаюсь то я чуть не сдох но так и не понял как ему указать что не нужно валидировать вложенные структуры

или я пропустил?

Александр
15.02.2018
14:12:59
а вы у вложенных тоже описали валидацию?

Roman
15.02.2018
14:13:09
Всем привет. Вопрос по REST. Как вы валидируете входящие данные в го?
вот так и хочется опять про GraphQL зарядить когда слышу про валидацию в REST...

Oleh
15.02.2018
14:14:05
вот так и хочется опять про GraphQL зарядить когда слышу про валидацию в REST...
ой, мне это совсем не подходит, да и не нужно для текущего проэкта.

Admin
ERROR: S client not available

Roman
15.02.2018
14:21:18
Google
Oleh
15.02.2018
14:22:21
конечно. Моему клиенту не нужно запрашивать конкретные поля, API не большой. Не нужна такая гибкость как в graphql. Это будет дополнительный оверхед который никто не будет использовать

Roman
15.02.2018
14:25:50
конечно. Моему клиенту не нужно запрашивать конкретные поля, API не большой. Не нужна такая гибкость как в graphql. Это будет дополнительный оверхед который никто не будет использовать
хорошо, но если такие интересно моё личное мнение (надеюсь ?) я начал придерживаться правила что любой даже малый проект практически всегда и неизбежно растёт и потраченное на имплементацию GQL время улучшает нейросеть думать в GQL, что делает потом API любой сложности довольно простыми в реализации

Oleh
15.02.2018
14:26:35
у меня был опыт работы с GQL, это прикольная штука. Но сейчас не хочется с этим заморачиваться. А ты используешь какие-то го либы?

Roman
15.02.2018
14:27:10
и когда я слышу "валидация данных" уже могу предположить что тут нужен не REST, ибо REST не для этого

Oleh
15.02.2018
14:28:21
не, ну ты же должен проверить прилетело ли тебе поле

Oleh
15.02.2018
14:28:56
спасибо

Yaroslav
15.02.2018
14:29:19
вот так и хочется опять про GraphQL зарядить когда слышу про валидацию в REST...
Ага, а graphql может отдать злоумышленнику то, чего ты не хотел ему отдавать

Roman
15.02.2018
14:29:57
не, ну ты же должен проверить прилетело ли тебе поле
это уже как раз таки задача графа: 1. он скажет клиенту правильные ли данные тот послал 2. он скажет серверу правильные ли данные тот отправил

кастомные скалярные типы так вообще сказка, можно даже Email, ZipCode и подобное валидировать

Maxim
15.02.2018
14:30:32
Привет всем! Наступил на интересную проблему. Берем простейший сервер на го: https://github.com/xCASx/mutual_tls/blob/master/server.go В примере http2 выключен, но нам надо его включить. Поднимаем сервер. Берм curl с поддержкой http2. Зовем сервер: curl -kv https://localhost:8443 --key keys/client.key --cert keys/client.pem --cacert keys/rootCA.pem --pass password --http2 Все работает. Добавляем кастомный cipher suite (поддерживается с обеих сторон): curl -kv https://localhost:8443 --key keys/client.key --cert keys/client.pem --cacert keys/rootCA.pem --pass password --http2 --ciphers ECDHE-RSA-AES128-SHA Клиент падает (при чем несколько последовательных вызовов дают разные ошибки: либо в SSL_write, либо error in HTTP2 framing layer), и падает уже после того, как договорился с сервером о протоколе и cipher suite, непосредственно при передаче данных. Форсим протокол http1.1, все снова рабоатет: curl -kv https://localhost:8443 --key keys/client.key --cert keys/client.pem --cacert keys/rootCA.pem --pass password --http1.1 --ciphers ECDHE-RSA-AES128-SHA Т.е. проблема возникает только при использовании http2, tls1.2 и некоторых cipher suites. Гугление дает черный список cipher suites, которые МОГУТ приводить к ошибке соединения для http2 и tls1.2: https://http2.github.io/http2-spec/#BadCipherSuites Вот только согласно этому документу ошибка должна быть INADEQUATE_SECURITY, а не просто падение при попытке обмена данными. curl, согласно документации, должен был бы делать fall back до http1.1, но negotiation состоялся, поэтому никакого fall back нет. В https://http2.github.io/http2-spec/#TLSUsage написано довольно расплывчато: Due to deployment limitations, it might not be possible to fail TLS negotiation when these restrictions are not met. An endpoint MAY immediately terminate an HTTP/2 connection that does not meet these TLS requirements with a connection error of type INADEQUATE_SECURITY. Непонятно почему "it might not be possible to fail TLS negotiation", наблюдаю ли я с курлом этот самый кейс и как дальше жить?..

Oleh
15.02.2018
14:31:36
а как в https://godoc.org/gopkg.in/go-playground/validator.v9 получить user friendly ошибку?

Key: 'DemandPartnerPostRequestBody.Name' Error:Field validation for 'Name' failed on the 'required' tag это же какой-то пиздец

Yaroslav
15.02.2018
14:34:44
поясни пож.
https://nordicapis.com/security-points-to-consider-before-implementing-graphql/

Очень просто оставить видимыми наружу данные, которые должны быть приватными

Roman
15.02.2018
14:36:04
Очень просто оставить видимыми наружу данные, которые должны быть приватными
в резолвере проверяешь роль запрашивающего клиента, если тот не имеет права получить этот узел - возвращаешь ошибку, в чём проблема?

Oleh
15.02.2018
14:37:32
а вы у вложенных тоже описали валидацию?
да, но я не хочу вообще никак валидировать вложенный тип. Потому-что я хочу валидировать только текущую стуктуру без подструктур. Еще вопрос, как вы выводите ошибки, просто то что отдает валидатор?

Человек
15.02.2018
16:42:10
Что делать когда ответ возвращает nil, Golang завершает работу паникой и программа завершает свою работу. Как можно продолжить работу, попытаться восстановить соединение с сервером или просто продолжить работу не обращая внимания на панику?

Aleksandr
15.02.2018
16:47:58
ответ чего?

Google
Человек
15.02.2018
16:48:42
Ответ от http запроса

Aleksandr
15.02.2018
16:49:12
Ответ от http запроса
res, err := .... обработать ошибку, и тогда паники не будет

Человек
15.02.2018
16:50:34
если мне нужно получить значение res.Body, а res.Body будет ровняться nil то будет опять паника. Вообще я сейас использую Recover, но он как-то непонятно действует

Aleksandr
15.02.2018
16:51:09

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