Да, я понял о чем Вы. Сделал по-другому просто для теста, через suspend Coroutine
val httpClient:HttpClient = HttpClient.newBuilder().build()
val result = measureTimeMillis {
runBlocking {
val res =(1..10).toList()
.map { async { getMyData(httpClient, "$URL/$it") } }
.awaitAll()
println(res)
}
}
println("Time for requests: $result")
suspend fun getMyData(httpClient: HttpClient, url: String): String? =
suspendCoroutine {
val httpRequest = HttpRequest.newBuilder().uri(URI.create(url)).build()
httpClient.sendAsync(httpRequest, HttpResponse.BodyHandlers.ofString())
.thenApply { obj -> it.resume(obj.body()) }
}
Так конечно чуть быстрее. Спасибо за наводку. Не знал что join блокирует. Я джаву почти не знаю, там как то получить можно string из CompletableFuture — сделал через thenApply -> body()
Взял Ваш код. .await().body() — нет await метода там. По крайней мере IDEA показывает ошибку — prnt.sc/z52n9b
Может я что-то не так делаю?
Насчет клиента — согласен. Спасибо за подсказку. Насчет глобального подхода — я решил свою задачу, потому как до этого не знал как одновременно получать пачку ответов.
Так я и не спорю — остановился на async await же. ParallelStream привел для сравнения и своего интереса ради. Кстати, иногда он был таким же по скорости, иногда больше на 30-70 мс. Это простите меня «фигня» по сравнению с удобством обработки ошибок корутин.
Я конечно могу поднять локальный сервер, например на ktor, но зачем? Мои проблемы код решил, и работает все относительно быстро в сравнении с первым решением или каким-нибудь HttpUrlConnection и без корутин. Да я не разработчик в принципе.
Но из-за спортивного интереса да, можно на локальном потестить. Думаю что как будет свободное время — поковыряюсь с этим.
Нервничаешь, пытаешься подобрать интересную тему и написать свою статью, чтобы пройти, ведь это же Хабр! И тут чувак с автопереводом через Google Translate показывает как надо решать «этот вопрос»…
Скажите, я верно понял, что если к примеру заказать телефон на АлиЭкспресс стоимостью выше 200 евро, то посылка все равно придет по месту отправления, но чтобы ее получить надо будет оплатить сбор?
Также, не ясен вопрос с таможней. Если например посылка застряла на московской таможне, а я живу в регионах, мне ехать оплачивать в ближайшую таможню или же придется как то связываться с тем отделением(в частности московское) и оплачивать по счету?
Так я же и не спорю с Вами. Наоборот-согласен. Сам пишу третий день на Котлине и книжка + документация+ SO помогают, а те видео уроки что есть в Сети -дно в плане объема знаний. Но, стоит сказать что и книжки бывают не лучше видео.
Комрад Fedorkov кстати правильную вещь сказал. Ютуб хорош лишь в том, что там инфа может быть актуальной. Ну и конечно, для многих(для меня в том числе) проще визуально усваивать информацию, а не читать сухой текст.
НО! Книга, тем более электронная — это как SQL база со связанными списками. Ты можешь быстро сделать выборку по названию в оглавлении, Перейти на связанную таблицу (тему) и т.д. А Ютуб как стэк — чтобы добраться до чего-то, придется разгребать то, что сверху.
Я немного не о том. Например у Сбера неоднократные утечки за пару лет, тогда как про Райфайзен например я ничего не слышал, хотя банк крупный и если бы что-то было, то в Сети новости были.
Кстати, не рекламы ради, а какой банк лучше в плане техническом, чем Сбер? Это ведь не первая история об утечке. Тинькофф? Райфайзен? Не хранить же ₽ в заначке?
Ширик — дно. Им видимо лучше не пользоваться для фото, в условиях с недостаточной освещенностью. Хотя, даже днем в комнате(#Geeklab на стене) он плох.
Цена — уж очень велика для России, да и в целом на фоне конкурентов не очень. Особенно удивило про iphone 8. Восьмерка за 35 штук? Ну это если очень нужен именно iphone, ведь за эту цену есть множество более свежих и технологичных девайсов (honor, one+, pixel)
Единственное что понравилось, и про это кстати ни слова у Вас — плавное переключение в видео между модулями камер (в видеоролике лишь мелком показали). Стабилизация тоже отменная, но про нее в статье есть.
Единственный плюс мне видится только в лучшей экологии, чем в городе. А так одни минусы:
Медицина хуже, чем в городе
Продукты питания, те что не выращиваешь сам — дорогие
Образование для детей — никакое
При аварии в электросети, деревенские-айтишники будут вместо кода, полоть картошку
Местный контингент редко бывает на одной волне, ведь им надо по дому работать, а не строить архитектуру приложений
Развлечений маловато — нет кино, театров, клубов, музеев и прочих развлекательных заведений и т.д. и т.п.
Автор, не сочтите за «наезд», но я не пойму, как айтишник может быть в далеке от развития технологий? Сельская жизнь, кмк, не даст нормально развиваться и прогрессировать, а в нашей сфере это критически важно. Может для вас программирование (как и IT) не главное, а всего лишь временная работа, до того момента, пока не найдете занятие по-душе?
Я также согласен с теми, кто говорит о вреде такой жизни для детей. Возможно, для взрослого это нормально, уехать в глушь, но вот подростку…
Так конечно чуть быстрее. Спасибо за наводку. Не знал что join блокирует. Я джаву почти не знаю, там как то получить можно string из CompletableFuture — сделал через thenApply -> body()
Может я что-то не так делаю?
Насчет клиента — согласен. Спасибо за подсказку. Насчет глобального подхода — я решил свою задачу, потому как до этого не знал как одновременно получать пачку ответов.
Но из-за спортивного интереса да, можно на локальном потестить. Думаю что как будет свободное время — поковыряюсь с этим.
Также, не ясен вопрос с таможней. Если например посылка застряла на московской таможне, а я живу в регионах, мне ехать оплачивать в ближайшую таможню или же придется как то связываться с тем отделением(в частности московское) и оплачивать по счету?
Так я же и не спорю с Вами. Наоборот-согласен. Сам пишу третий день на Котлине и книжка + документация+ SO помогают, а те видео уроки что есть в Сети -дно в плане объема знаний. Но, стоит сказать что и книжки бывают не лучше видео.
Мы же говорим о программировании вроде. Но насчёт узла вы правы.
НО! Книга, тем более электронная — это как SQL база со связанными списками. Ты можешь быстро сделать выборку по названию в оглавлении, Перейти на связанную таблицу (тему) и т.д. А Ютуб как стэк — чтобы добраться до чего-то, придется разгребать то, что сверху.
Цена — уж очень велика для России, да и в целом на фоне конкурентов не очень. Особенно удивило про iphone 8. Восьмерка за 35 штук? Ну это если очень нужен именно iphone, ведь за эту цену есть множество более свежих и технологичных девайсов (honor, one+, pixel)
Единственное что понравилось, и про это кстати ни слова у Вас — плавное переключение в видео между модулями камер (в видеоролике лишь мелком показали). Стабилизация тоже отменная, но про нее в статье есть.
Медицина хуже, чем в городе
Продукты питания, те что не выращиваешь сам — дорогие
Образование для детей — никакое
При аварии в электросети, деревенские-айтишники будут вместо кода, полоть картошку
Местный контингент редко бывает на одной волне, ведь им надо по дому работать, а не строить архитектуру приложений
Развлечений маловато — нет кино, театров, клубов, музеев и прочих развлекательных заведений и т.д. и т.п.
Автор, не сочтите за «наезд», но я не пойму, как айтишник может быть в далеке от развития технологий? Сельская жизнь, кмк, не даст нормально развиваться и прогрессировать, а в нашей сфере это критически важно. Может для вас программирование (как и IT) не главное, а всего лишь временная работа, до того момента, пока не найдете занятие по-душе?
Я также согласен с теми, кто говорит о вреде такой жизни для детей. Возможно, для взрослого это нормально, уехать в глушь, но вот подростку…