Skip to content

Commit 1115df6

Browse files
authored
Fix exercise of Express (#646)
1 parent 9906e18 commit 1115df6

File tree

1 file changed

+45
-5
lines changed

1 file changed

+45
-5
lines changed

docs/3-web-servers/04-server/index.mdx

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,54 @@ app.listen(3000);
251251

252252
## 課題
253253

254-
- Express を用いて、`あなたは n 人目のお客様です。` とレスポンスする Web サーバーを作成してください。`n` はアクセスされるたびに 1 ずつ増えるようにしてください。
255-
- (重要) アクセスされた時刻をウェブサーバー側で求めて表示するウェブサーバーと、ブラウザに求めさせるウェブサーバーをそれぞれ作成してください。
256-
- この 2 つの違いは何でしょうか。どういった場合にどちらの手法を使うのが適切でしょうか。
254+
### 訪問者カウンター
257255

258-
解答例 1:
256+
Express を用いて、`あなたは n 人目のお客様です。` とレスポンスする Web サーバーを作成してください。`n` はアクセスされるたびに 1 ずつ増えるようにしてください。
257+
258+
<Answer title="訪問者カウンター">
259+
260+
```javascript
261+
let count = 0;
262+
app.get("/", (request, response) => {
263+
count += 1;
264+
response.send(`あなたは${count}人目のお客様です。`);
265+
});
266+
```
259267

260268
<ViewSource url={import.meta.url} path="_samples/nth" />
261269

262-
解答例 2:
270+
</Answer>
271+
272+
### サーバー側とクライアント側
273+
274+
(重要) アクセスされた時刻をウェブサーバー側で求めて表示するウェブサーバーと、ブラウザに求めさせるウェブサーバーをそれぞれ作成してください。また、この 2 つの違いは何でしょうか。どういった場合にどちらの手法を使うのが適切でしょうか。
275+
276+
<Answer title="サーバー側とクライアント側">
277+
278+
```javascript
279+
app.get("/", (request, response) => {
280+
response.send(`
281+
<!doctype html>
282+
<html lang="ja">
283+
<head>
284+
<meta charset="utf-8" />
285+
<title>Title</title>
286+
</head>
287+
<body>
288+
${
289+
// この部分はサーバーサイドで実行されます
290+
new Date().toString()
291+
}
292+
<script>
293+
// この部分はクライアントサイドで実行されます
294+
document.write(new Date().toString());
295+
</script>
296+
</body>
297+
</html>
298+
`);
299+
});
300+
```
263301

264302
<ViewSource url={import.meta.url} path="_samples/server-or-client" />
303+
304+
</Answer>

0 commit comments

Comments
 (0)