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クックブック
14
1 章 Web サーバを立てる
上記の修正を施したら
server.js
を実行し、
localhost:8080
2
回アクセスします。
1
回目で
コンテンツがキャッシュされ、
2
回目のアクセスでコンソールに以下が出力されます。
content/index.html
をキャッシュから読み込みます。
content/styles.css
をキャッシュから読み込みます。
content/script.js
をキャッシュから読み込みます。
解説
ファイル名とコールバック関数をパラメータに持つ
cacheAndDeliver
関数を定義しました。この
関数に
fs.readFile
と同じパラメータを設定することにより、
fs.readFile
のコールバック関数が
cacheAndDeliver
でもそのまま利用できます。したがって、コードの体裁を大きく変えずにキャッ
シュのロジックを
http.createServer
のコールバック関数の中に追加することができます。
このように、まだ機能自体がシンプルな時点でキャッシングのロジックを外部関数化することの
意義については議論の余地がありますが、今後キャッシュロジックがより複雑になる場合、複雑に
なればなるほどより外部関数化による恩恵を受けることになります。
cacheAndDeliver
関数は、まずリクエストされたコンテンツがすでにキャッシュに存在するかど
うかを確認します。最初のリクエストではそのコンテンツはまだキャッシュに存在しないため、
fs.readFile
でファイルに直接アクセスしデータを取得します。このデータはレスポンスとしてク ...
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