@proGO

Страница 1220 из 1674
Aleksey
12.02.2018
15:27:43
Мнение одной тысячной процента этого чата я услышал :)

Arch
12.02.2018
15:28:32
Alexander
12.02.2018
15:29:33
Мнение одной тысячной процента этого чата я услышал :)
Тайм зоны, все дела)) Подожди мб кто-то имеет логичное решение твоей проблеммы

Dzmitry
12.02.2018
15:29:54
контекст с таймаутом?

Google
Aleksey
12.02.2018
15:31:35
https://blog.golang.org/go-concurrency-patterns-timing-out-and
конечно я это успел прочитать. Но это вообще никак не отвечает на мой вопрос.

Андрей
12.02.2018
16:05:59
Добрый день. Может кто то уже сталкивался с подобным. Необходимо из программы на go обратиться к wcf сервису (транспорт tcp) на другом хосте и получить от него идентификатор (строку). Какие библиотеки можно использовать и вообще, возможно ли это реализовать? На крайний случай прослойку из .net можно написать, но будет тормозить...

Андрей
12.02.2018
16:23:29
https://golang.org/pkg/net/ ?
Это только реализация транспортного уровня. Над ней в .net wcf еще обширный логический. Чтобы подробнее понимать скажу, что wcf сервис умеет работать в нескольких режимах: http (самый простой и медленный), tcp, udp. Т.е. это все транспорты. И, если, http накладывает множество ограничений, что и делает его относительно простым для клиента wcf сервиса, то в tcp их нет. И для общения надо реализовывать достаточно большой стек что лежит над ним. Хотелось бы не изобретая велосипед взять готовую реализацию.

xPushkin
12.02.2018
18:13:49
@civiloid, вы были правы. Убрал надобность в wg и получилось гораздо лучше и надёжнее.

Добавил промису блокирующий метод Await() который ждёт пока все выполнится.

Человек
12.02.2018
18:35:02
Я ни как не могу восстановить свои пароли от Хрома, нашел решение - https://github.com/SaturnsVoid/Chrome-Password-Recovery/blob/master/Chrome%20Password%20Recovery.go но я хочу их записать в .txt файл, а записывает только последний высвеченый пароль, всего паролей около 100, записывает последний пароль в списке. Что делать?Код: https://pastebin.com/Dss3DPUj

Идет в цикле из-за этого и файл все время переписываеться, сначала один пароль записала, пересоздало, и другой пароль и т.д, как приостановить выполнения цикла и записать полностью все пароли я не знаю.

vktr
12.02.2018
18:55:44
Всем добрый вечер. Не оч релевантный вопрос, ибо на go обычно бэкенд пишут. Но бэкенд подогревает фронтенд. Так вот и вопрос: как бы сделать защиту от CSRF для single page application? Канонически, если не single page app, то csrf token встраивается во все формы. А для single page app (которое все по xhttp все зовет) на ум приходит отдать хэдер/боди с csrf token после логина и ожидать хэдера с этим токеном во всех реквестах, в то же время имея сессионную куку. У кого был опыт с этим, поделитесь

*незаметный отсыл к желанию попользовать, ибо там все хорошо https://github.com/gorilla/csrf

Google
Marlik
12.02.2018
19:51:14
Читаю из базы, работает. p, err := ReturnHash(db) if err != nil { if err == sql.ErrNoRows { fmt.Printf("Not value %v\n", p.YA) } else { log.Fatal(err) } } fmt.Printf("Value %s\n", p.YA) Пытаюсь на сервере, крашится func Ya62(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { p, err := ReturnHash(db) if err != nil { if err == sql.ErrNoRows { fmt.Fprintf(w, "Not value") } else { log.Fatal(err) } } fmt.Fprintf(w, p.YA) } Куда порыть?

Marlik
12.02.2018
20:05:38
Alexey
12.02.2018
20:05:52
func BepHyTbXeLI_I(db)

?
12.02.2018
20:05:55
за патриотизм надо бить по лицу ногами

Andrey
12.02.2018
20:06:09
Что за странный патриотизм в error messages на русском?
Это не патриотизм. Это наскорую руку. По нормальноуму прога должна быть с поддержкой многих языков. И обычно в мессаджи суются константы.

vktr
12.02.2018
20:07:35
Может за использование русского языка тоже?
Не ногами, но это явно - моветон: код читать сложно, контексты переключаются в мозгу

?
12.02.2018
20:07:43
Может за использование русского языка тоже?
за русский язык надо расстреливать как при сталине

Marlik
12.02.2018
20:08:24
за русский язык надо расстреливать как при сталине
Вы сейчас на каком языке то пишите? ))

Andrey
12.02.2018
20:08:42
Эстеты накинулись.

?
12.02.2018
20:08:43
а не в коде

выглядите как китайцы

не люблю таких

Marlik
12.02.2018
20:09:42
10 комментов, ни одного по существу...

?
12.02.2018
20:10:57
функ написатьВКонсоль(текст) { форматирование.написатьСтрочку(текст): } написатьВКонсоль("Навальный сасат");

vktr
12.02.2018
20:11:04
10 комментов, ни одного по существу...
Вот видишь, как твой код башку рвет просто от неиспользования констант или английского по дефолту

Marlik
12.02.2018
20:11:58
Спасибо что помогли. Лучше бы и не спрашивал)))))

Google
Andrey
12.02.2018
20:12:45
vktr
12.02.2018
20:17:43
https://play.golang.com/p/j0Gto53snsk
Ок, пока нет ни намёка на проблемы

Немного освятим что такое hash таблица?

Marlik
12.02.2018
20:19:50
Там проблема в том, что в базе нет ничего, она пустая. type Hash struct { RZN string `json:"rzn"` YA string `json:"ya"` PR string `json:"pr"` } Дамп CREATE TABLE hash ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, rzn TEXT NOT NULL, ya TEXT NOT NULL, pr TEXT NOT NULL, dtime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP );

vktr
12.02.2018
20:20:09
Ништяк

Ок, т.е. проблема в селекте на пустой таблице?

В твоём коде выше, этого не видно: не видно QueryRow. Где оно?

Marlik
12.02.2018
20:24:41
https://play.golang.com/p/j0Gto53snsk

Да, я получаю ошибку, обрабатываю её, но это не ошибка, это просто отсутствие строки в базе p, err := ReturnHash(db) if err != nil { if err == sql.ErrNoRows { fmt.Fprintf(w, "Not value") } else { log.Fatal(err) } } fmt.Fprintf(w, p.YA) Вот и проблема в том, что крашится на сервере, но через консольку отрабатывает нормально.

vktr
12.02.2018
20:25:52
Ну оно вернёт sql.NoRows

Marlik
12.02.2018
20:26:19
Да вот оно if err == sql.ErrNoRows {

vktr
12.02.2018
20:27:24
А ReturnHash - это именно то, что на плейграунд?

Marlik
12.02.2018
20:27:38
Да

Мне пока сложновато определится как возвращать nil из базы, у го с этим проблемы.

Ладно, щас, мыслишка появилась, где крашится.

vktr
12.02.2018
20:30:02
Может ретурна не хватает

Ибо fprintf зовётся полюбэ

Google
vktr
12.02.2018
20:31:44
Ретурна в блоке if err!=nil

Marlik
12.02.2018
20:31:51
Может ретурна не хватает
return в го должен быть описан заранее.... просто так его не заюзать.

То есть func blabla (s string, i int) (int, error) { /* Вот здесь я не могу заюзать return, даже для выхода из цикла или чего другого. */ return v, err }

vktr
12.02.2018
20:38:13
Marlik
12.02.2018
20:38:58
vktr
12.02.2018
20:39:24
100500 что ты сглатываешь ошибку и получаешь 100500 ерроров из-за этого

Admin
ERROR: S client not available

Marlik
12.02.2018
20:42:19
https://play.golang.com/p/hp_xhrbbzX0

Основная ошибка 2018/02/12 23:39:35 http: panic serving 127.0.0.1:40234: runtime error: invalid memory address or nil pointer dereference

Marlik
12.02.2018
20:45:00
вот это новость. Пойду запишусь на курсы javascript...
Будет что-то такое от редактора ./main.go:49:4: too many arguments to return have (number) want ()

vktr
12.02.2018
20:46:47
Я, не доконца проникся, конечно, но сам факт, что после ошибки мы делаем что-то кроме обработки ошибки говорит мне что код воняет. Итого: получил ошибку - делай нормальный error и возвращайся из функции. Ибо на урывках того что ты дал, мне сложно понять. Не я дебил - я тебе с радостью подебажу, но просто здравый смысл

vktr
12.02.2018
20:48:10
Хочешь дебажит и знаешь как делать tmux сессии, я - тебе прям ща отдебажу, дай куда конектится

Marlik
12.02.2018
20:49:43
Google
The
12.02.2018
20:50:16
А что бред-то.

vktr
12.02.2018
20:51:54
Marlik
12.02.2018
20:51:58
Хочешь дебажит и знаешь как делать tmux сессии, я - тебе прям ща отдебажу, дай куда конектится
Ладно, спасибо, не надо на меня время тратить. Проблема изначально в том что база пустая. Я уже перечитал и перепробовал кучу всего, начиная от sql.Nullstring, *string и т. д. Придётся костылить и выдумывать.

Marlik
12.02.2018
20:53:26
https://play.golang.org/p/nHfTsFiUxiY
Вот, потренируйтесь. func Ya62(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { p, err := ReturnHash(db) if err != nil { if err == sql.ErrNoRows { fmt.Fprintf(w, "Not value") } else { log.Fatal(err) } } fmt.Fprintf(w, p.YA) }

Айбелив
12.02.2018
20:53:59
функция ничего не возвращает

Marlik
12.02.2018
20:54:23
Проблема в том, что ты идёшь дальше, даже если ошибка
Ну, как-бы просто хочу вывести сообщение что нет ничего если в базе пусто.

Alexey
12.02.2018
20:54:50
Так нечестно править!

The
12.02.2018
20:54:51
else обоснованный.

Marlik
12.02.2018
20:54:54
)))

Alexey
12.02.2018
20:55:16
else обоснованный.
Коллега имел в виду, что надо после print no value сделать сразу return. И тогда else будет не нужен

The
12.02.2018
20:56:29
Коллега имел в виду, что надо после print no value сделать сразу return. И тогда else будет не нужен
да, либо ставим return, либо оставляем как есть. но сказать что необоснованный else неправильно. убрав else, код будет вести себя по другому. если бы там был return, тогда я бы понял.

Айбелив
12.02.2018
20:56:37
мой "бредовый" пример опровергал то, что нельзя несколько ретурнов использовать в скопе функции

Alexey
12.02.2018
20:58:03
func Ya62(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { p, err := ReturnHash(db) if err == sql.ErrNoRows { fmt.Fprintf(w, "Not value") return } else if err != nil { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("500 - Something bad happened!")) return } fmt.Fprintf(w, p.YA) }

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