подскажите, пожалуйста, по обработке ошибок. Как отличить ошибку при закрытии вебсокета, которую не нужно обрабатывать, от какой-то внештатной ошибки? Библиотека gorilla/webs...
подскажите, пожалуйста, по container/ist. Я хочу отфильтровать элементы и оставить в листе только те, которые удовлетворяют определенному условию. Но как только я удаляю какой...
есть наивный вопрос. как я понимаю, var s []int и var m map[int]int похожи как с точки зрения абстрактных типов данных (как массив и ассоциативный массив соответственно), так ...
подскажите, еще, пожалуйста, по этому коду func Query(conns []Conn, query string) Result { ch := make(chan Result) for _, conn := range conns { go func(c Conn)...
В спецификации указано the channel operands of receive operations and the channel and right-hand-side expressions of send statements are evaluated exactly once, in source orde...
Подскажите, пожалуйста, по проектированию REST API. Есть тип Group{ Manger string Name string ... } Нужно ли добавить ID в поле группы? Допустим, пользователь использует...
подскажите, пожалуйста по проектированию. я пишу реверс-прокси который аггрегирует информацию от сторонних сервисов (json), и затем ее отдает ее клиенту без какой-либо модифик...
func Func(ctx context.Context) { go func() { for { <-ctx.Done() return } }() computations() } если сделать так, то это не сработает. т.е. проверять н...
func computations(ctx context.Context) { deadline, _ := ctx.Deadline() if time.Now().After(deadline) { return } operation1() if time.Now().After(deadline) { ...
допустим replicas[i](query) это какая-то тяжелая функция. тогда в первой горутине, должен быть выбран default, потому что case c <- replicas[i](query) еще не готов. соответств...
тогда, тот пример, который мы обсуждали будет выглядить как: searchReplica := func(i int) { select { case c <- replicas[i](query): case <- ctx.Done(...
Подскажите, пожалуйста, по проектированию. Я пишу rest API для бэкенда веб-сервиса. Как правильно работать с аутентификацией? 1. Фронт передает мне логин и пасс, я возвращаю к...
а можете пример привести? я сколько не пробывал, у меня все равно получается, что можно досрочно выйти из горутины по таймауту. Но сами вычисления продолжают вычисляться, про...
я понимаю, что для синхронизации использовать глобальные переменные неправильно. Но почему цикл будет бесконечным?
а можете пример привести? везде где я смотрел, было select { case <- ctx.Done: } т.е тоже чтение из канала.
я правильно, понимаю, что если какая-то горутина заблокировала тред, то планировщик не будет прерывать ее исполнение по таймауту? все, что он может сделать, это перенести оста...
Подскажите, пожалуйста, по этому примеру из 50 Shades of Go: https://play.golang.org/p/L4VaztXWMCP Почему не может быть такого, что во всех функциях searchReplica сработает de...
Если я правильно понимаю sse это часть стандарта html. Т.е его тоже можно на http2 реализовать? Long pull это http2. Вебсокет, как я понимаю, идёт сверху http, т.е его тоже мо...
Как я понимаю, и веб сокет и sse и Лонг пулл это все потоки. Какой лучше использовать?
Спасибо, я увидел это в официальном факе var _ I = (*T)(nil). используется для проверки того, что *T удовлетворяет интерфейсу. не понимаю зачем так сложно, можно же просто var...