Skip to content

Commit b8f1b68

Browse files
authored
データベースの節を読みやすく改善 (#657)
* データベースの節を読みやすく改善 * 各手順の詳細な説明を追加
1 parent 8e81e00 commit b8f1b68

File tree

11 files changed

+476
-83
lines changed

11 files changed

+476
-83
lines changed

docs/3-web-servers/07-database/_samples/forum/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<html lang="ja">
33
<head>
44
<meta charset="utf-8" />
5-
<title>Title</title>
5+
<title>掲示板</title>
66
</head>
77
<body>
88
<ul>
99
<!-- messages -->
1010
</ul>
1111
<form method="post" action="/send">
12-
<input placeholder="ここに入力してください。" name="message" />
13-
<button>送信</button>
12+
<input placeholder="メッセージ" name="message" />
13+
<button type="submit">送信</button>
1414
</form>
1515
</body>
1616
</html>
Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
1+
import { readFileSync } from "node:fs";
12
import express from "express";
23
import { PrismaClient } from "@prisma/client";
3-
import { readFileSync } from "node:fs";
44

55
const app = express();
6-
76
app.use(express.urlencoded({ extended: true }));
8-
97
const client = new PrismaClient();
108

9+
const template = readFileSync("./index.html", "utf-8");
1110
app.get("/", async (request, response) => {
12-
const messages = await (
13-
await client.forum.findMany()
14-
).map((data) => data.message);
15-
const template = readFileSync("./index.html", "utf-8");
11+
const posts = await client.post.findMany();
1612
const html = template.replace(
1713
"<!-- messages -->",
18-
messages.map((message) => `<li>${message}</li>`).join(""),
14+
posts.map((post) => `<li>${post.message}</li>`).join(""),
1915
);
2016
response.send(html);
2117
});
2218

2319
app.post("/send", async (request, response) => {
24-
await client.forum.create({ data: { message: request.body.message } });
25-
response.send("投稿しました。");
20+
await client.post.create({ data: { message: request.body.message } });
21+
response.redirect("/");
2622
});
2723

2824
app.listen(3000);

docs/3-web-servers/07-database/_samples/forum/prisma/schema.prisma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ datasource db {
1010
url = env("DATABASE_URL")
1111
}
1212

13-
model Forum {
13+
model Post {
1414
id Int @id @default(autoincrement())
1515
message String
1616
}
73 KB
Loading

docs/3-web-servers/07-database/database-application-server.drawio.svg

Lines changed: 93 additions & 29 deletions
Loading
44.3 KB
Loading
225 KB
Binary file not shown.

docs/3-web-servers/07-database/index.mdx

Lines changed: 178 additions & 34 deletions
Large diffs are not rendered by default.

docs/3-web-servers/07-database/load-balancing.drawio.svg

Lines changed: 189 additions & 0 deletions
Loading

src/components/Term/definitions.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ export default {
382382
serverClient: {
383383
name: "サーバーとクライアント",
384384
definition:
385-
"サービスを提供する側のコンピューターやソフトウェアをサーバー、提供される側のコンピューターやソフトウェアをクライアントと呼ぶ。例えば Google Chrome などの Web ブラウザは代表的なクライアントソフトウェアである。",
385+
"サービスを提供する側のコンピューターやソフトウェアをサーバー、提供される側のコンピューターやソフトウェアをクライアントと呼ぶ。例えば Google Chrome などの Web ブラウザは、Web における代表的なクライアントソフトウェアである。",
386386
referencePage: "/docs/web-servers/server/",
387387
},
388388
json: {
@@ -391,8 +391,8 @@ export default {
391391
"複雑なデータ構造を JavaScript オブジェクトに似た形式で文字列として表現するための記法。",
392392
referencePage: "/docs/web-servers/module/",
393393
},
394-
httpRequestResponse: {
395-
name: "リクエストとレスポンス (HTTP)",
394+
requestResponse: {
395+
name: "リクエストとレスポンス",
396396
definition:
397397
"クライアントからサーバーに対しサービスを要求する通信をリクエスト、リクエストに対してサーバーからクライアントに応答として返される通信をレスポンスと呼ぶ。",
398398
referencePage: "/docs/web-servers/server/",

0 commit comments

Comments
 (0)