Bogdan
в общем, белеберда получалась и я знаю почему так было
Emil
Подскажите, вот хочу я в реальном времени обновлять состояние брони на фронте,но не хочу фронт связывать напрямую с базой Это какой-то вебсокет делать? Pub/sub? Grpc в состоянии стрима?
Emil
Спасибо, посмотрю, что лучше
Emil
Понял принял)
👀
хм... а где здесь вообще пространство для interface? сервис же возвращает какую-то заполненную структуру, на транспортном уровне это какой-то protobuf, очевидно, или если делали тяп-ляп - json... вот его и взять просто... вроде все прямо линейно
🅞leksiy
+
👀
просто должна быть транспортная структура, судя по всему проблемы от того, что ее нет.
👀
если я верно понял вопрос, конечно.
👀
покрыть так, чтобы она по факту не обращалась к сервису, то есть, чтобы это остался unit test?
👀
нет, не знаю, даже не знаю, как это сделать с interface, чтобы это не было фейком - посмотрел бы, может смог бы по аналогии предложить более совершенное решение но так сходу, кажется, что это будет в лучшем случае - тупик
👀
ну и передавать в эту функцию другой клиент, который отвечает этому же интерфейсу, но отдает фейковые данные?
👀
для теста, hardcoded
👀
ну да, понятно... наверное это ок, если интеграционный тест написать нельзя по какой-то причине.
👀
вынужден согласиться.
|||
Здравствуйте. Можете посаветовать курсы по языку Go для начинающих.
TEH3OP
Здравствуйте. Можете посаветовать курсы по языку Go для начинающих.
https://www.youtube.com/playlist?list=PLP19RjSHH4aE9pB77yT1PbXzftGsXFiGl https://www.tutorialspoint.com/go/index.htm
@name_666
ВОт ещё нашёл. https://www.youtube.com/watch?v=a8xtDSKHhzQ
TEH3OP
спасибо большое
https://tour.golang.org/list Вот ещё только нашёл с примерами которые запускать можно.
Null
Переменные времени сборки в Go https://dev-gang.ru/article/peremennye-vremeni-sborki-v-go-mna0b41q8x/ @Golang_google
Bogdan
Здравствуйте, господа. Не могли бы вы подсказать, есть ли возможность в Golang достать значение переменной в одну ф-цию с другой?
Bogdan
Можно конеш в одну ф-цию вызвать другую и оттуда достать значения, но мне такой вариант не подходит
Bogdan
секунду, у меня тут проблема обновилась немного
Bogdan
У меня есть мейн, где я вызываю функцию для проверки на условные тревоги. Метод подразумевает в себе вызов conn *websocket.Conn для будущей отправки сообщения на клиент. Создав тот же конн в мейне, он будет нил
Bogdan
ну, условно говоря, мой метод в мейне должен вызываться так:
Bogdan
checkUpdateAlarms()
Bogdan
` func checkUpdateAlarms (incomingJSON []gbrNowActiveWorkers, havingJSON []gbrNowActiveWorkers, userid string, conn *websocket.Conn, waitgroup *sync.WaitGroup) { time.Sleep(3 * time.Second) fmt.Println("Snore....") for { JSONget("url", &incomingJSON) if reflect.DeepEqual(incomingJSON,havingJSON) == false { havingJSON = incomingJSON fmt.Println("in IF case B: ", havingJSON) runJSON(havingJSON, userid, conn) }else{ fmt.Println("There are not any new alerts....") fmt.Println("userid: " + userid) } time.Sleep(2 * time.Second) } waitgroup.Done() } `
Bogdan
а написана она у меня вот как
Bogdan
могу на плейграунд кинуть
Bogdan
думаю, так будет и удобнее, и чат не засорять
Bogdan
так в том то и проблема , что мне, как я понимаю, нужно обойти наличие вебсокета в качестве параметра
Bogdan
ибо в мейне у меня нету сокета, который лежит в классе с рутиной
Bogdan
потому при создании он равен 0
Bogdan
точнее, нил
mbb
Указатели
Bogdan
var ws *websocket.Conn
Bogdan
тут проблема в том, что значение крутится в другом классе
Bogdan
и везде значение конна передается в виде параметра
Bogdan
нету глобального значения
Bogdan
Указатели
func getData() { primaryData := Primary.PrimaryData{} getAirTemperatureData(&primaryData) // value will be available here } func getPrimaryData(primaryData *Primary.PrimaryData) { primaryData.DataOne = "Value" }
Bogdan
такого типа?
mbb
type global struct { ws *websocket.Conn someVar *Type }
Bogdan
да сам сокет у меня описан и работает, он заполняется при подключении устройств
Bogdan
это я привёл то, что я в виде параметра кидал. Понятное дело, что он нил
Bogdan
я могу вам дать репу на гитхабе
mbb
-
mbb
РЕШАЙ САМ )
mbb
ПРОСТО ИДЕЯ КИДАЕМ
Bogdan
РЕШАЙ САМ )
я и решаю
mbb
ДАЛЬШЕ ДУМАЙ САМ)
Bogdan
причем тут решение? Репа даст лучшее понятие структуры
Bogdan
я не прошу написать за меня код, лол
Bogdan
Суть задачи: Есть система безопасности. При подключении устройства моя ф-ция каждую секунду кидает запрос на апишку и, при наличии новой тревоги, которая = айди устройства кидает уведомление о событии
mbb
внешня апи?
Bogdan
да
mbb
или тоже своя?
Bogdan
нет, внешняя
Bogdan
я по юрле достаю всё
mbb
просто каждую секунду чекать накладно думаю
mbb
мб там вебхук есть какой нить
Bogdan
так я уже написал всю логику и рутину
Bogdan
есть класс у меня grreact, где лежит вся обработка
Bogdan
и туда кидал рутину
Bogdan
но в итоге класс перезапускался с мейна, клиент попадал в кейс коннект и рутина на рутину накладывалась
Bogdan
оно работало, всё выводило
Bogdan
но при перезапуске класса вместо 1 рутины появлялась вторая такая же, а потом ещё ещё и ещё
Bogdan
и на клиент вместо 1 сообщения летело 2, 3, 4 и так далее
Bogdan
потому я решил эту ф-цию перенести в мэйн и столкнулся с проблемой конн = нил
Bogdan
ок, сек
Bogdan
открою репу и кину в лс
Bogdan
вот да, я просто на го месяц работаю и все тонкости не познал. Сказали написать сервер - написал
Bogdan
и вот на последнем этапе у меня всё стоит(проблема с рутиной)
Shaplin
В чем разница github.com/golang/protobuf/proto vs google.golang.org/protobuf/proto?
Shaplin
Спасибо!
Zanoza
Здравствуйте, а можно как нибудь запустить батник из го без обработки ошибки? Консольное приложение сделано так, что у нее , все результаты в виде ошибок.(не дастаточен баланс,слишком много запросов и тд)
Zanoza
И любой запрос ...exit code 1
Zanoza
Батник запускает это консольное приложение
Maks
Нет