🅞leksiy
Alexander
я не копал и компетенции не хватит достоверно предположить варианты, но первый опыт - что-то не так пошло, просто висит вечность
Alexander
помойму достаточно на недостижимый хост стучаться
🅞leksiy
Клиент по умолчанию?
Alexander
ага
🅞leksiy
Таким пользоваться не стоит, создаешь новый и там таймаут прописывается
Alexander
это ясно. но все-таки для простых задач оно должно работать из коробки
Alexander
а так получается вообще ни для чего нельзя пользоваться
🅞leksiy
Ну типа, какой таймаут по умолчанию ты поставил бы?
Alexander
Alexander
начнем с того, что хотя бы какой-нибудь... 😁
🅞leksiy
Если клиент 10-гиговый файл качает, например
🅞leksiy
В том то и прикол, что хз какой таймаут по умолчанию ставить, вот и убрали. Если надо с таймаутом, создавай инстанс
Alexander
я все-таки думаю, что первое действие будет какой-нибудь сайт дернуть и оттуда вытащить курс валют, например
Alexander
и минуты было бы достаточно. для 90% целевой аудитории было бы покрытие
Andrey
у http запроса везде же таймаут 30 сек, или я не понимаю о чем ты)
🅞leksiy
Alexander
Alexander
Andrey
ну ты попробуй на любой рест без интернета сходить кодом, и через 30 секунд он прервется сам по таймауту
🅞leksiy
Alexander
Andrey
http.Client{} имеет внутри таймаут поле
Alexander
глянул специально - 1.18
Alexander
равное нулю
Alexander
A Timeout of zero means no timeout.
Alexander
var DefaultTransport RoundTripper = &Transport{
Proxy: ProxyFromEnvironment,
DialContext: defaultTransportDialContext(&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}),
ForceAttemptHTTP2: true,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
}
Alexander
ну тут как бы ок на дайал есть. но я начинал не с 1.18
🅞leksiy
c := &http.Client{
Timeout: 15 * time.Second,
}
resp, err := c.Get("https://api.com/")
🅞leksiy
Кароч
🅞leksiy
Не сложно же
Alexander
ладно, 1.11 - то же самое. не знаю, у меня висло короче. но опять же, если дайал прошел - дальше таймаута нет
Alexander
Alexander
да просто более старую версию посмотрел, может когда начинал не было дайал таймаута, а он появился потом
Florian Geyer von Giebelstadt
Привет.Кто использует ide от JetBrains подскажите как приблизить код.В пайчарме,например на ctrl + колёсиком мышки можно регулировать размер кода
Andrey
вот пример и результат
Andrey
🅞leksiy
Alexander
точно не установить. ведь это был не продакшон код
Alexander
нет, это потому что на Питоне проще разрабатывать, чем на Го. надо терпеть
Florian Geyer von Giebelstadt
Это понятно.Я в view->appearance на весь экран только нашёл как сделать,но чтобы автоматическое регулирование-такого не нашел
Florian Geyer von Giebelstadt
https://github.com/doki-theme/doki-theme-jetbrains#httpsdoki-themeunthrottledio это имеешь ввиду?Мне тема то не нужна,просто хочу регулировать размер кода
Grigorij
там просто шорткаты не присвоины, сделай свои
Anonymous
сидишь в офисе
Anonymous
открываешь иде и там ева голая
Anonymous
Anonymous
так я тоже его знаю.
Florian Geyer von Giebelstadt
Есть следующая задача.Последовательность состоит из натуральных чисел и завершается числом 0. Определите количество элементов этой последовательности, которые равны ее наибольшему элементу.
Формат входных данных
Вводится непустая последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Florian Geyer von Giebelstadt
package main
import "fmt"
func main() {
var item, max, list int
list = 1
max = 0
for fmt.Scan(&item); item != 0; fmt.Scan(&item) {
if item > max {
max = item
} else if item == max {
list += 1
}
}
fmt.Println(list)
}
Florian Geyer von Giebelstadt
В чём я не прав,подскажите пожалуйста
Alexander
мне не нравится, что ввод и процессинг не разделены
Florian Geyer von Giebelstadt
Как лучше сделать,и почему это тебе не нравится?
Alexander
и ошибка не проверяется
Evgeny
Florian Geyer von Giebelstadt
Alexander
нельзя покрыть тестами твою функцию
Alexander
и поддерживать тяжело
Alexander
нельзя подменить метод получения списка чисел
Alexander
ну либо, хотим экономить память, ок, делаем интерфейс:
interface MyIterator(){
func GetNextItem() (int, error)
}
И передаем его в функцию, которая процессит
Alexander
допустим надо гигабайт интов перемолоть
Florian Geyer von Giebelstadt
На декоратор из питона похоже
Alexander
fmt.Scan же вдобавок не буферизованное чтение? то есть если мы не сами пальчиками ввод делаем, то проигрываем немного
Null
📬 Golang-дайджест № 16 (1 – 30 апреля 2022)
Свежая подборка новостей и материалов
- Интересное в этом выпуске:
- Выпущены версии 1.18.1 и 1.17.9
- Результаты опроса разработчиков Go 2021
- Вопросы и ответы для собеседования Go-разработчика
- Сетевой сниффер на golang
Читать дальше
@Golang_google
Vozalel
Добрый день!
используя шаблон https://github.com/evrone/go-clean-template
и vsc
столкнулся со сложностью,
при дебаггинге необходимо указать переменные окружения
с postgres разобрался,
а вот для rabbit не могу понять что прописывать в переменные
RMQ_RPC_SERVER
RMQ_RPC_CLIENT
? может кто подсказать?
Иван
Иван
больше нигде вроде конфиг не используется
Vozalel
ок, спасибо, увидел функцию New в пакете rmq_rpc которая принимает эти параметры пошел копать дальше)
Денис
Всем привет, у кого-то есть чат с Java разработчиками? Если не сложно, скиньте в личные сообщения мне, пожалуйста
аnon
Rakhat
Абая 26а офис мой
Денис
Спасибо большое
Norx
Денис
Grigorij
че удалили
Александр
Anonymous
Maks