Skip to Content
Nodeクックブック
book

Nodeクックブック

by David Mark Clements, 和田 祐一郎
February 2013
Intermediate to advanced
380 pages
7h 45m
Japanese
O'Reilly Japan, Inc.
Content preview from Nodeクックブック
20
1 章 Web サーバを立てる
  
readStream
2 つ目のパラメータに
bufferSize
プロパティを持ったオブジェクトを渡して宣言す
ることで、バッファサイズを変更することができます。例えば、バッファサイズを 128KB にした
い場合は、
fs.createReadStream(f, {bufferSize: 128*1024});
と記述します。
data
イベントで渡される
chunk
は、
cache[f].content
に格納されるときにただ文字列のように
連結すればよいわけではありません。
chunk
はバイナリデータですが、
+
演算子を使って連結して
しまうとデータが文字列に変換されてしまうため、後でバイナリデータとして取り扱うことができ
なくなります。代わりに、
chunk
で渡されるバイナリデータを
cache[f].buffer
Buffer
インス
タンスに
copy
でコピーする必要があります。
ここでは、バイナリデータのコピーを補助するために
bufferOffset
変数を宣言しています。
chunk
cache[f].content
に足すたびに、
bufferOffset
chunk
の長さを足していきます。
chunk
から
Buffer.copy
メソッドを呼ぶ際に、コピー領域の先頭を表す
bufferOffset
2
番目の
パラメータに渡します。
Buffer
クラスは、大きなファイルを扱う際にパフォーマンスを向上させる効果を持っています。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

Mat Ryer, 鵜飼 文敏, 牧野 聡
ユーザーストーリーマッピング

ユーザーストーリーマッピング

Jeff Patton, 川口 恭伸, 長尾 高弘

Publisher Resources

ISBN: 9784873116068Other