169 похожих чатов

Интересно кстати про ленивое ИО, do bs <- LBS.readFile

f
print (length bs)
send bs
будет держать всю bs в памяти когда отправляет? То есть было бы тут правильнее два раза файл считывать

14 ответов

12 просмотров

"правильно" - понятие относительное. Во-первых, можно и считывать, напишите, чтобы считывало - будет считывать. Во вторых, "два раза считывать" может и не получиться. Что если файл физически можно только единожды прочесть, например? Операции length и send не могут знать что там "правильно" и откуда bs вообще берётся.

сначала length всё загрузит в память, а потом по мере отправки будет по кусочкам из памяти выгружаться. или не будет.

можно взять https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-Files.html#v:fileSize

кана
можно взять https://hackage.haskell.org/package/un...

с потоком не будет работать

Cheese Syrowiecki
сначала length всё загрузит в память, а потом по м...

можно явно указать два места назначения через ZipSink https://hackage.haskell.org/package/conduit-1.3.4.2/docs/Data-Conduit.html#g:18 и сделать подсчет длины инкрементальным. Это если по логике программы длину не нужно знать до отправки данных

Max Avanov
можно явно указать два места назначения через ZipS...

речь шла об HTTP. Content-length надо отправить до того, как начёшь отправлять тело

Max Avanov
https://t.me/haskellru/378765

я на это возразил

Cheese Syrowiecki
я на это возразил

возможно я не понял тред, но octet-stream сам по себе не принуждает отправлять content-length если указан Transfer-Encoding: chunked

Max Avanov
возможно я не понял тред, но octet-stream сам по с...

@SorokinAnton хочет в браузере прогресс скачивания видеть

Max Avanov
с потоком не будет работать

каким потоком, у него файл же

Max Avanov
Выше ответил про chunked

ну я понял, это ответ на совсем другой вопрос

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта