Aleksandr
вместе с ошибкой выводи приходящий json
Ivan
убрал парсинг - 2018/02/07 13:37:08 [ERROR] ReadMessage: websocket: close 1006 (abnormal closure): unexpected EOF
Ivan
for { // msg := DefOrderbook{} _, message, err := wsConn.ReadMessage() if err != nil { log.Println("[ERROR] ReadMessage:", err) } log.Println(len(message)) }
Aleksandr
а, ну то есть ты получаешь от вебсокета ошибку, но считаешь что с ошибкой можно продолжать дальше)
Alexander
да. Добавь continue после log.Println(...
Alexander
или break
Anonymous
да. Добавь continue после log.Println(...
Если соединение упало, уже нужен return
🏁Александр
fatal/panic!
🏁Александр
Anonymous
fatal/panic!
SendEmailToAdmin("Error! Call programmer!")
Daniel
в смысле - "дерьмовый программист"?
🏁Александр
LockScreen("Отправьте СМС на номер 900") 🙂
Anonymous
в смысле - "дерьмовый программист"?
Тогда сразу программисту отправлять эту картинку с соответствующей подписью 😃
Sergius Ofitserov
"Твой софт дерьмо" ?😂👍
🏁Александр
идеальный софт тоже плохо 🙂
🏁Александр
у меня знакомый пишет, а потом говорит годам нет обращений ибо ничего не падает
Sergius Ofitserov
Нет идеального софта 😒
🏁Александр
даже поддержку по подписке не впарить
🏁Александр
на чистом С
Andrey
Тоже неплохо
🏁Александр
98/99 стандарт 🙂
Andrey
Для устройств, скорее всего
🏁Александр
нет, это связано с IPTV, перекодирование потоков
Anonymous
> чистый C > идеальный софт Твой друг знает, что использовать магию вне Хогвартса запрещено?
🏁Александр
у вас просто не достаточно опыта, надо лет 15-20 🙂
🏁Александр
и вы не говорите на эльфийском
Slach
нет, это связано с IPTV, перекодирование потоков
stateless вещь такая, отладить можно =) тестами покрыть можно опять же поскольку всякие там матричные преобразования и вейвлеты во все щели, то в этом никто толком не разбирается поэтому можно долго курить мануалы и стандарты находя в них баги
Andrey
у вас просто не достаточно опыта, надо лет 15-20 🙂
Т.е. чтобы стать нормальным сишником надо быть минимум 40 лет от роду?
🏁Александр
да
🏁Александр
когда первая седая борода проклюнется, ты познал С 🙂
🏁Александр
если с универа конечно сидел с ним
🏁Александр
а до этого все джун поделки
Andrey
Я уже седой в свои 27, но это совсем другая история
Andrey
И знаю очень мало людей, которые в 40 лет соображают также хорошо как в 30
🏁Александр
щаз вот кстати сишники восстанут из могил 🙂
🏁Александр
они тут есть, я нюхом чую
🏳️ Phil
[кашлянул]
Anonymous
[кашлянул]
[отворачиваясь] похоже, что нет тут таких
Andrey
[кашлянул]
Не болейте! Вас и так мало!
🏳️ Phil
один из авторов Go сейчас от таких разговоров в гробу вертится
🏳️ Phil
причем по экспоненте. потому что он и автор Си
Andrey
докашлялся
🏁Александр
Alexey
Написали вторую часть поста на Хабр о спикерах и темах: https://habrahabr.ru/company/gopherconru/blog/348466/ Билеты сейчас продаются по 7000₽, но с 1 марта цена снова поднимется, не откладывайте покупку!
Zver
И знаю очень мало людей, которые в 40 лет соображают также хорошо как в 30
Совершенно верно. В 40 уже сложно соображать. Новое с трудом осваивается.
Andrey
Но очень завидую тем, кто в 40 может лучше чем я
Andrey
Опыт решает
Dmitrii
Есть АПИ, куда тыкаюсь за списком групп и пользователей есть 2 функции которые их забирают func getUsers(url, username, password string) Users { client := &http.Client{} url = url + "/app/rest/users" searcherReq, err := http.NewRequest("GET", url, nil) searcherReq.Header.Add("Content-type", "application/json") searcherReq.Header.Add("Accept", "application/json") searcherReq.SetBasicAuth(username, password) resp, err := client.Do(searcherReq) if err != nil { panic(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) var users Users json.Unmarshal(body, &users) return users } и такая же для групп, это ок что каждй раз новый клиент и реквест ? Или лучше передавать в функцию клиента и реквест ?
Aleksandr
> лучше передавать в функцию клиента и реквест
Aleksandr
если они не меняются, то лучше один инстанс передавать
Dmitrii
> лучше передавать в функцию клиента и реквест
есть ссылка на каноничный пример ? :)
Aleksandr
меняется только урл
тогда request разный. я не помню, можно ли там урл в рантайме менять. но клиент-то точно один
Aleksandr
есть ссылка на каноничный пример ? :)
просто вынеси создание в init() пакета
Dmitrii
почему не main()?
Dmitrii
для феншуя?
Aleksandr
а я что-то не помню. main разве есть для не main пакета?
Aleksandr
init выполняется при импорте пакета
Dmitrii
ну у меня 400 строк, все в main :D
Aleksandr
ну у меня 400 строк, все в main :D
ну можешь там тогда. я в общем случае дал рекомендацию - когда по пакетам бьют
Evgeniy
привет, есть у кого что-то покурить на тему вебсокетов в го и как правильно их организовать?
Anonymous
Привет
Anonymous
Это какой груп
Anonymous
???
Evgeniy
спасибо это уже смотрел, выбрал gorilla/websocket
Vasily
привет, есть у кого что-то покурить на тему вебсокетов в го и как правильно их организовать?
https://habrahabr.ru/company/mailru/blog/331784/ как оно организовано в почте мейл.ру там ниже ссылка на либу и видео в комментах
Vasily
это если большая нагрузка планируется
Daniel
это если большая нагрузка планируется
большая и довольно специфическая.
Daniel
не надо...
Roman
@onokonem а куда смотреть, если штатные мапы не устраивают?
Anonymous
открыл хексом бинарник го и там дофига всякой инфы видно Какие библиотеки стоят, родной путь где был скомпилен и т.д. Это при условии того что я компилил с параметрами -s -w
Anonymous
Можно все это вырезать оттуда?
Anonymous
Можно все это вырезать оттуда?
можешь еще стрипнуть, man strip