Valentin
Я считаю тестировать логгирование это уже перебор
Valentin
100% это уже близко к TDD-фашизму))
Pawel
Ilya
Kirill
Michael
Anonymous
Pawel
Ivahaev
@ruzzke_mir я так понимаю, что это у тебя сервис, который предоставляет услуги СУБД. В таком случае, зачем ему логировать ошибки? Что-то пошло не так — описал что именно и вернул наверх.
Ivahaev
И уж, тем более, паниковать не стоит.
Pawel
@ivahaev может ты и прав, я хз. Но только в этом случае нужно проверять ошибки от всех CRUD операций в вызывающем коде, что муторно. И я пока не вижу разумного сценария реакции на ошибку БД кроме паники.
Nikita
Подскажите плз.
Решил притормозить обучение и сделать на готовых сдк простейший скрипт который заходит по апи твича и чекает есть ли такой стрим или нет.
Так как я пока не понимаю как работать с json, http и все такое в go, я решил юзать сдк. Нашел готовый сдк, без доки, но вроде все понятно.
Nikita
Nikita
cannot use stream (type twitch.GetStreamByChannelInputType) as type *twitch.GetStreamByChannelInputType in argument to twitchSession.GetStreamByChannel
Nikita
редактор подсказывает, что я в функцию должен передать структуру GetStreamByChannelInputType
Nikita
но когда передаю, выпадает такая ошибка.
Nikita
https://github.com/knspriggs/go-twitch/blob/master/streams.go#L76-L83 в сорцах тоже написано, что функция ждет такую структуру
Nikita
так че он жалуется, то?
Sergey
может указатель надо передать на структуру?
Sergey
*stream
Nikita
а разве метод автоматом не должен это делать?
Sergey
я спросил, попробуй просто
hamper 𓅝
Как сложно в телеге не промахиваться чатами...
Oleg
Sergey
Мерль
Context isn't for cancellation. https://dave.cheney.net/2017/08/20/context-isnt-for-cancellation #golang
Nikita
Как лучше обработать такую строчку?
Nikita
https://static-cdn.jtvnw.net/previews-ttv/live_user_igromania-{width}x{height}.jpg
Nikita
хочу вместо width и height подставить значения
Oleksii
Oleksii
как подставлять значения?
Nikita
апишка твича присылает такую строчку, я хочу написать функцию, которая принимает 2 инта и вставляет их вместо {width} и {height}
Nikita
и возвращает строчку уже с значениями
Constantine️
strreplace не гуглится?))
Constantine️
или что?
Oleksii
strings.Replace(string, old, new, num_of_replacements)
Nikita
я знаю, что есть пакет strings в котором есть replace, но тот replace простой. А мне нужно за раз изменить 2 строчки и подставить нужное
Oleksii
два раза вызвать можно :)
Nikita
че серьезно? И это норм?
Vladimir
Vladimir
вопрос же в ожидаемой нагрузке
Vladimir
пока это не тысячи раз в секунду - ок
Nikita
кстать, я не заметил, в go есть regexp?
Vasily
да
Vladimir
когда это место вылезет в профайлере, сделаешь свою функцию
Vladimir
которая будет уметь как надо
Vasily
но он не такой быстрый как PCRE
Vasily
а я что сказал ?
Vladimir
но все это можно почитать в сравнениях RE2 vs PCRE
Vasily
он асимптотически стабильнее чем PCRE
Vasily
его специально туда вкрутили потому что он более предсказуем по слодности
Vasily
сложности
Vladimir
ну да
Nikita
NewReplacer заюзал
Nikita
хм, описал такую структуру. А язык не видит метода, что я сделал не так? https://play.golang.org/p/kH9IY9dqjt
Oleksii
Nikita
не, это есть, кусок вставил
Oleksii
если описал в другом пакете
Nikita
вот полный файл
https://play.golang.org/p/OPUkqCwmD-
Oleksii
то надо экспортировать метод
Nikita
аа
Nikita
блин...
Oleksii
с большой буквы пиши
Nikita
неявный экспорт такой
Nikita
спс
Nikita
вообще это удивительно, впервые в жизни я захожу в чужой код и понимаю, что править и что добавлять
Oleksii
Nikita
ну я какую-ту левую библиотеку нашел для работы с твич апи, потому, что пока не знаю как работает json, http и вообще такие вещи в go
Nikita
нашел багу, что старый хедер для апи юзается и нашел, что можно улучшить структуру.
Nikita
Все эти баги нашел за пару минут и за минут 10-20 добавил фичу и исправил баг
Oleksii
Nikita
уже сделал. Автор принял.