Post #172
77
В общем, я так и не понял, почему так, но штуку с горем пополам пофиксил. Главное - не забыл оставить гневное послание core-мейнтейнерам в комментарии
ЧА Showing posts older than #173 · Back to latest
Чайник из Юты Загадка от Жака Фреско: угадайте, где здесь происходит аллокация на 24 байта. На ответ даётся 30 секунд
client.Write


runtime.KeepAlive()
go tool cover. Он в том числе может открывать страничку, где подсвечен код, который покрыт тестами, а который - не покрытgo test -coverprofile=c.out ./... && go tool cover -html=c.out
Чайник из Юты Больше, чем отсутствие актуальных версий в репозиториях, я ненавижу версионирование и работу с ним тулчейна го.
v2.3.1-alpha оно ну никак, а с v 2.3.1-beta зафурыкало. Надеюсь, больше никогда не придется работать с этой фигнёйgo test кэширует результатыЧайник из Юты Вот блин
net/http.Request вместо нужного. Чйорт

struct { Seen bool, Value string }. Когда мы проходились по заголовкам ответа, мы проверяли на вхождение в эту мапу, и если есть совпадение, ставили флаг Seen в true. Дальше проходились по всем значениям мапы с Seen = false и рендерили.""). Это решение показало себя очень хорошо - дало очень неплохой буст в производительности. Да, теперь и проверка на вхождение линейная, однако обычно этот слайс настолько маленький, что найти значение в нём быстрее, чем с хэшмапой.[Key value Key value]. Соответственно, итерирование по заголовкам должно быть представлено в виде:for i := 0; i < len(headers); i += 2 {
...
}
у меня же, в свою очередь, условие было записано, как len(headers)/2. Этот баг затрагивал также обычные заголовки (вторая половина не рендерилась). Однако не рендерилась константно - тут же результаты нестабильные, хотя хэшмап никаких не использую, рандомизации поведения никакого быть не должно. len(headers)/2. Занавес.