heavycharged
/he
heavycharged
/me —help
Илья
это не учится, судя по тому, что даже обработка ошибок разная по телу функции, это набор копипаст из разных источников
Zver
/me
heavycharged
иногда люди учатся копипастой
Zver
$t3v3;0)
*trollface.jpg*
Цепь пошла 😂
Kirill
Aleksandr
copy/paste driven development
Stepan
код разрывной вообщем 🙂
Учитывая что язык go не знаю практически это не удивительно)
Stepan
copy/paste driven development
Ну я приходил на должность питон разраба)
Stepan
От куда знаете?
Прописал ошибку подключения
Stepan
Она кст была раньше
Stepan
Я стер случайно
Stepan
У меня выдает ошибку именно в строке запроса
Илья
asd := "error" qwe := make(map[string]string) qwe[asd] = err.Error()
Илья
это тоже прекрасно
Stepan
Даже не менял
Stepan
С этим кодом все равно никто капаться никогда не будет
Илья
вы же понимаете, что на каждое сообщение открываете новый коннект к базе и не закрываете его?
Stepan
Я его потом в нормальный вид приведу конечно, ну по-крайней мере постараюсь
Илья
fi, _ := os.Stat(path)
Илья
тут вы не проверяете ошибку
Stepan
тут вы не проверяете ошибку
Там не нужно, там она проверяется до этого
Илья
если будет любая ошибка, кроме os.NotExist - это будет паника
Stepan
Я понимаю
Stepan
Сейчас суть не в том что это говнокод
Stepan
А в том что запрос не отправляется и отправляется одним и тем же скриптом
Zver
Нужно сразу писать не говнокод. В Гоу приянято обрабатывать все ошибки.
Stepan
Прям сейчас
Илья
вы написали какой-то говнокод
Илья
он работает где-то
Илья
или не работает, непонятно, проблема -в контейнере одном у вас все норм, видимо, директория подмаунчена, доступ есть и тд
Stepan
Ну беда в том что время поджимает, нужен прототип, а язык я не знаю - поэтому так и выходит
Илья
чудес, как правило, не бывает
heavycharged
коллеги, а может кто подскажет, есть в JWT такая штука, как Claims. Я туда записываю инфу о юзере, ID uint. Когда читаю, то обратно оно не ассертится ни к uint, ни к строке. Может кто в курсе, какой тип оно туда пакует?
Илья
напишите нормальный код, обработайте ошибки, и будет работать
Stepan
напишите нормальный код, обработайте ошибки, и будет работать
Код то я конечно сейчас постараюсь переписать
Илья
значит проблема именно в b, err := sql.Open("mysql", database) и нет проверки err..
Илья
ну и в defer db.Close
Илья
ну и вообще в идее открывать коннект на каждое сообщение
Илья
то есть проблема в говнокоде, даже если бы он был написан на питоне
Stepan
Я думал конект открывается и закрывается
Stepan
https://gist.github.com/StefanSH/674628fc73eaff27361498f3ac557149
Stepan
Я поправил
Stepan
Так получше?
Stepan
Какие еще есть замечания?
heavycharged
да, я уже ответил
heavycharged
выше
Konstantin
Какие еще есть замечания?
msgs, err := ch.Consume( q.Name, // queue "", // consumer false, // auto-ack false, // exclusive false, // no-local false, // no-wait nil, // args ) db, err := sql.Open("mysql", database) defer db.Close() failOnError(err, "Failed to register a consumer") еще одну проверку забыл)
Stepan
Переместил а проверку не добавил
Zver
С проверками ошибок каша. Где-то по два раза проверяются, где-то не проверяются. db, err := sql.Open("mysql", database) defer db.Close() failOnError(err, "Failed to register a consumer") Здесь сначала должна проверятся ошибка, а оптом быть defer
Aleksandr
используйте пакет "github.com/jmoiron/sqlx" вместо "sql", это де факто дефолтный инструмент для коммуникаций с БД в Го
хорошая штука. прям вздохнул полной грудью. орм не хочу, а вот это вот от простыней избавляет
Alexander
defer db.Close() в цикле for
для надежности же
Alexander
говорят если команду несколько раз повторить, лучше доходит. с собаками точно срабатывает
Aleksandr
Это правда. Также помогает sleep перед выполнением команды. Снимает остаточное напряжение.
Имя
Люди, можно ли где то бесплатно разместить своё маленькое приложение? (хостинг)
Stepan
Всем большое спасибо!
Je
хорошая штука. прям вздохнул полной грудью. орм не хочу, а вот это вот от простыней избавляет
Работает он только в самых простых случаях, когда тебе хочется все поля. Если у тебя три джойна и с каждой таблицы нужно по колонке - он складывает лапки и снова прстыня.
Nazar
Хероку мб?
Nazar
Давно юзал
Nazar
Не уверен на сколько там всё круто с го
Nazar
Но думаю достаточно
Je
Ну, во-первых тебе придется объявить колонки, какие тебе нужны, потом скан в мапу не годится, я же в структуру хочу, с вложенностью и всем тем, что обычно.
Aleksandr
Ну, во-первых тебе придется объявить колонки, какие тебе нужны, потом скан в мапу не годится, я же в структуру хочу, с вложенностью и всем тем, что обычно.
1. Ну да. А как иначе? 2. Ну вот видишь, хочешь в структуру, а выбираешь колонки. Нарушаешь семантику своего домена