Size: a a a

2020 May 22

C

Calculon in Go-go!
🌚
источник

RS

Roman Sharkov in Go-go!
Calculon
я всегда избегаю таких проблем просто назвав переменные по другому
иногда можно, иногда нет. Особенно когда речь о названиях параметров то тут я зачастую предпочитаю выписывать слова, ибо параметры часть документации
источник

AK

Anton Kucherov in Go-go!
Calculon
просто не ставь пробелы
Ага, имеет смысл. Так и делаю, но у некоторых людей от этого горит. Ну и не всегда сходу удобно читать.
источник

C

Calculon in Go-go!
Roman Sharkov
иногда можно, иногда нет. Особенно когда речь о названиях параметров то тут я зачастую предпочитаю выписывать слова, ибо параметры часть документации
справедливо
источник

RS

Roman Sharkov in Go-go!
Anton Kucherov
Ага, имеет смысл. Так и делаю, но у некоторых людей от этого горит. Ну и не всегда сходу удобно читать.
ну вот пакет “Email Address” у меня emailaddr
источник

ВС

Владимир Столяров... in Go-go!
Anton Kucherov
А почему нельзя было разрешить давать пакетам имя больше чем из одного слова?? Практически везде можно, но в Go не идеоматично религия не позволяет.
можно называть так helloWorld
источник

AK

Anton Kucherov in Go-go!
Владимир Столяров
можно называть так helloWorld
Неидеоматично. И так можно алиас назвать, а вот по поводу имени пакетя я даже хз. Т.к. есть ФС которые различают  прописные и строчные буквы, а есть ФС которые не различают.
источник

ВС

Владимир Столяров... in Go-go!
вообще пофиг) если в одно слово не назвать, так и живем
источник

KO

Konstantin Osipov in Go-go!
Народ, а не посоветуете библиотеку на golang, уже готовую, в которую ябы из кучи горутин кидал события из серии RequestStart() , RequestEnd(), а она бы мне считала min/max/median/99%/99.9% latency, min/max rps?
источник

KO

Konstantin Osipov in Go-go!
я тут один бенчмарк на го пишу, не хочется всё это с нуля городить.
источник

RS

Roman Sharkov in Go-go!
Konstantin Osipov
Народ, а не посоветуете библиотеку на golang, уже готовую, в которую ябы из кучи горутин кидал события из серии RequestStart() , RequestEnd(), а она бы мне считала min/max/median/99%/99.9% latency, min/max rps?
prometheus?
источник

KO

Konstantin Osipov in Go-go!
мне embedded.
источник

KO

Konstantin Osipov in Go-go!
база данных не нужна
источник

KO

Konstantin Osipov in Go-go!
у меня бенчмарк 30 минут бежит
источник

KO

Konstantin Osipov in Go-go!
вот например для скользящего среднего https://github.com/mxmCherry/movavg нагуглился
источник

IK

Innokentii Konstanti... in Go-go!
Добрый вечер, пишу апи клиент на го, вдохновняюсь гитлабовским клиентом и столкнулся с проблемой разбора ответов.  В нем есть функция Do, которая записывает ответ в структуру переданную в аргументе v. Как это происходит? Структура должна релизовывать какой-то интерфейс? Спасибо
// Do sends an API request and returns the API response. The API response is
// JSON decoded and stored in the value pointed to by v, or returned as an
// error if an API error has occurred. If v implements the io.Writer
// interface, the raw response body will be written to v, without attempting to
// first decode it.
func (c *Client) Do(req *retryablehttp.Request, v interface{}) (*Response, error) {
resp, err := c.client.Do(req)
if err != nil {
 return nil, err
}
defer resp.Body.Close()

response := newResponse(resp)

if v != nil {
 if w, ok := v.(io.Writer); ok {
  _, err = io.Copy(w, resp.Body)
 } else {
  err = json.NewDecoder(resp.Body).Decode(v)
 }
}

return response, err
}
источник

DP

Daniel Podolsky in Go-go!
Konstantin Osipov
мне embedded.
прометеевский клиент делает гистограмму, или саммари прям у себя же

конечно, перцентиль надо пересчитывать из бакетов самому, но это же тривиально
источник

p

pragus in Go-go!
Innokentii Konstantinov
Добрый вечер, пишу апи клиент на го, вдохновняюсь гитлабовским клиентом и столкнулся с проблемой разбора ответов.  В нем есть функция Do, которая записывает ответ в структуру переданную в аргументе v. Как это происходит? Структура должна релизовывать какой-то интерфейс? Спасибо
// Do sends an API request and returns the API response. The API response is
// JSON decoded and stored in the value pointed to by v, or returned as an
// error if an API error has occurred. If v implements the io.Writer
// interface, the raw response body will be written to v, without attempting to
// first decode it.
func (c *Client) Do(req *retryablehttp.Request, v interface{}) (*Response, error) {
resp, err := c.client.Do(req)
if err != nil {
 return nil, err
}
defer resp.Body.Close()

response := newResponse(resp)

if v != nil {
 if w, ok := v.(io.Writer); ok {
  _, err = io.Copy(w, resp.Body)
 } else {
  err = json.NewDecoder(resp.Body).Decode(v)
 }
}

return response, err
}
клиента к чему?
источник

KO

Konstantin Osipov in Go-go!
источник

IK

Innokentii Konstanti... in Go-go!
pragus
клиента к чему?
клиента к публичному апи http://api-docs.amixr.io/
источник