wiki:it:dream_of_enc:metaverse:express
์ฐจ์ด
๋ฌธ์์ ์ ํํ ๋ ํ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์์ชฝ ์ด์ ํ์ด์ ํ | |||
wiki:it:dream_of_enc:metaverse:express [2025/07/29 06:47] โ syjang0803 | wiki:it:dream_of_enc:metaverse:express [2025/07/30 06:43] (ํ์ฌ) โ ๋ฐ๊นฅ ํธ์ง 127.0.0.1 | ||
---|---|---|---|
์ค 4: | ์ค 4: | ||
---- | ---- | ||
- | ==== 1. Express.js๋ ๋ฌด์์ธ๊ฐ์? | + | ===== 1. Express.js๋ ๋ฌด์์ธ๊ฐ์? |
'' | '' | ||
**์ฃผ์ ํน์ง:** | **์ฃผ์ ํน์ง:** | ||
- | * ์น ์๋ฒ๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์์ต๋๋คย | + | * ์น ์๋ฒ๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.ย |
- | * '' | + | * '' |
- | * ์ ์ ํ์ผ('' | + | * ์ ์ ํ์ผ('' |
- | * ๋ฏธ๋ค์จ์ด๋ฅผ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ต๋๋ค | + | * ๋ฏธ๋ค์จ์ด๋ฅผ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ต๋๋ค. |
---- | ---- | ||
- | ==== 2. ํ๋ก์ ํธ ๊ตฌ์กฐ ์ดํดํ๊ธฐ ==== | + | ===== 2. ํ๋ก์ ํธ ๊ตฌ์กฐ ์ดํดํ๊ธฐ |
**Express.js ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ:** | **Express.js ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ:** | ||
์ค 25: | ์ค 25: | ||
---- | ---- | ||
- | ==== 3. ๊ธฐ๋ณธ ์๋ฒ ์ค์ ==== | + | ===== 3. ๊ธฐ๋ณธ ์๋ฒ ์ค์ |
- | === 1) ํ์ํ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ === | + | ==== 1) ํ์ํ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ |
๋จผ์ ํ์ํ ๋ชจ๋๋ค์ ๋ถ๋ฌ์ต๋๋ค: | ๋จผ์ ํ์ํ ๋ชจ๋๋ค์ ๋ถ๋ฌ์ต๋๋ค: | ||
- | <code javascript> | + | <file javascript> |
const express = require(' | const express = require(' | ||
const path = require(' | const path = require(' | ||
์ค 38: | ์ค 38: | ||
const compression = require(' | const compression = require(' | ||
const rateLimit = require(' | const rateLimit = require(' | ||
- | </code> | + | </file> |
**๊ฐ ๋ชจ๋์ ์ญํ :** | **๊ฐ ๋ชจ๋์ ์ญํ :** | ||
์ค 48: | ์ค 48: | ||
* '' | * '' | ||
- | === 2) Express ์ฑ ์์ฑ === | + | ==== 2) Express ์ฑ ์์ฑ |
- | <code javascript> | + | <file javascript> |
const app = express(); | const app = express(); | ||
const PORT = process.env.PORT || 3000; | const PORT = process.env.PORT || 3000; | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
์ค 59: | ์ค 59: | ||
* '' | * '' | ||
- | === 3) ๋ณด์ ๋ฏธ๋ค์จ์ด ์ค์ === | + | ==== 3) ๋ณด์ ๋ฏธ๋ค์จ์ด ์ค์ |
- | <code javascript> | + | <file javascript> |
app.use(helmet({ | app.use(helmet({ | ||
contentSecurityPolicy: | contentSecurityPolicy: | ||
์ค 73: | ์ค 73: | ||
} | } | ||
})); | })); | ||
- | </code> | + | </file> |
**์ด ์ค์ ์ ๋ชฉ์ :** | **์ด ์ค์ ์ ๋ชฉ์ :** | ||
- | * ์น์ฌ์ดํธ ๋ณด์์ ๊ฐํํฉ๋๋คย | + | * ์น์ฌ์ดํธ ๋ณด์์ ๊ฐํํฉ๋๋ค.ย |
- | * ์ ์ฑ ์คํฌ๋ฆฝํธ ์คํ์ ๋ฐฉ์งํฉ๋๋คย | + | * ์ ์ฑ ์คํฌ๋ฆฝํธ ์คํ์ ๋ฐฉ์งํฉ๋๋ค.ย |
- | * ํ์ฉ๋ ๋ฆฌ์์ค๋ง ๋ก๋ํ ์ ์๊ฒ ํฉ๋๋ค | + | * ํ์ฉ๋ ๋ฆฌ์์ค๋ง ๋ก๋ํ ์ ์๊ฒ ํฉ๋๋ค. |
- | === 4) CORS ์ค์ === | + | ==== 4) CORS ์ค์ |
- | <code javascript> | + | <file javascript> |
app.use(cors({ | app.use(cors({ | ||
origin: process.env.NODE_ENV === ' | origin: process.env.NODE_ENV === ' | ||
์ค 89: | ์ค 89: | ||
credentials: | credentials: | ||
})); | })); | ||
- | </code> | + | </file> |
**CORS๋? | **CORS๋? | ||
- | * ๋ค๋ฅธ ๋๋ฉ์ธ์์์ ์ ๊ทผ์ ์ ์ดํ๋ ๋ณด์ ์ ์ฑ ย | + | * ๋ค๋ฅธ ๋๋ฉ์ธ์์์ ์ ๊ทผ์ ์ ์ดํ๋ ๋ณด์ ์ ์ฑ ์ ๋๋ค.ย |
- | * ๊ฐ๋ฐ ํ๊ฒฝ์์๋ '' | + | * ๊ฐ๋ฐ ํ๊ฒฝ์์๋ '' |
- | * ์ด์ ํ๊ฒฝ์์๋ ํน์ ๋๋ฉ์ธ('' | + | * ์ด์ ํ๊ฒฝ์์๋ ํน์ ๋๋ฉ์ธ('' |
- | === 5) ์์ถ ๋ฐ ์์ฒญ ์ ํ ์ค์ === | + | ==== 5) ์์ถ ๋ฐ ์์ฒญ ์ ํ ์ค์ |
- | <code javascript> | + | <file javascript> |
// ์์ถ ๋ฏธ๋ค์จ์ด | // ์์ถ ๋ฏธ๋ค์จ์ด | ||
app.use(compression()); | app.use(compression()); | ||
์ค 109: | ์ค 109: | ||
}); | }); | ||
app.use('/ | app.use('/ | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | === 6) ๋ฐ์ดํฐ ํ์ฑ ์ค์ === | + | ==== 6) ๋ฐ์ดํฐ ํ์ฑ ์ค์ |
- | <code javascript> | + | <file javascript> |
// JSON ํ์ฑ ๋ฏธ๋ค์จ์ด | // JSON ํ์ฑ ๋ฏธ๋ค์จ์ด | ||
app.use(express.json({ limit: ' | app.use(express.json({ limit: ' | ||
app.use(express.urlencoded({ extended: true, limit: ' | app.use(express.urlencoded({ extended: true, limit: ' | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | === 7) ์ ์ ํ์ผ ์๋น ์ค์ === | + | ==== 7) ์ ์ ํ์ผ ์๋น ์ค์ |
- | <code javascript> | + | <file javascript> |
// ์ ์ ํ์ผ ์๋น | // ์ ์ ํ์ผ ์๋น | ||
app.use(express.static(path.join(__dirname, | app.use(express.static(path.join(__dirname, | ||
์ค 136: | ์ค 136: | ||
etag: true | etag: true | ||
})); | })); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | === 8) ๋ก๊น ๋ฏธ๋ค์จ์ด === | + | ==== 8) ๋ก๊น
๋ฏธ๋ค์จ์ด |
- | <code javascript> | + | <file javascript> |
// ๋ก๊น ๋ฏธ๋ค์จ์ด | // ๋ก๊น ๋ฏธ๋ค์จ์ด | ||
app.use((req, | app.use((req, | ||
์ค 151: | ์ค 151: | ||
next(); | next(); | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ๋ชจ๋ ์์ฒญ์ ๋ํด ๋ก๊ทธ๋ฅผ ๋จ๊นย | + | * ๋ชจ๋ ์์ฒญ์ ๋ํด ๋ก๊ทธ๋ฅผ ๋จ๊น๋๋ค.ย |
- | * ์์ฒญ ์๊ฐ, ๋ฐฉ๋ฒ('' | + | * ์์ฒญ ์๊ฐ, ๋ฐฉ๋ฒ('' |
- | * ๋๋ฒ๊น ์ ๋งค์ฐ ์ ์ฉ | + | * ๋๋ฒ๊น ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. |
---- | ---- | ||
- | ==== 4. ๋ผ์ฐํธ ์ค์ ==== | + | ===== 4. ๋ผ์ฐํธ ์ค์ |
- | === 1) ๋ผ์ฐํธ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ === | + | ==== 1) ๋ผ์ฐํธ ํ์ผ ๋ถ๋ฌ์ค๊ธฐ |
- | <code javascript> | + | <file javascript> |
// ๋ผ์ฐํธ ์ค์ | // ๋ผ์ฐํธ ์ค์ | ||
app.use('/ | app.use('/ | ||
app.use('/ | app.use('/ | ||
app.use('/ | app.use('/ | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
์ค 175: | ์ค 175: | ||
* ''/ | * ''/ | ||
- | === 2) ๋ฉ์ธ ํ์ด์ง ๋ผ์ฐํธ === | + | ==== 2) ๋ฉ์ธ ํ์ด์ง ๋ผ์ฐํธ |
- | <code javascript> | + | <file javascript> |
// ๋ฉ์ธ ํ์ด์ง | // ๋ฉ์ธ ํ์ด์ง | ||
app.get('/', | app.get('/', | ||
res.sendFile(path.join(__dirname, | res.sendFile(path.join(__dirname, | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ๋ฃจํธ ๊ฒฝ๋ก(''/ | + | * ๋ฃจํธ ๊ฒฝ๋ก(''/ |
- | * ์น์ฌ์ดํธ์ ์ฒซ ํ์ด์ง | + | * ์น์ฌ์ดํธ์ ์ฒซ ํ์ด์ง์ ๋๋ค. |
---- | ---- | ||
- | ==== 5. ์๋ฌ ์ฒ๋ฆฌ ==== | + | ===== 5. ์๋ฌ ์ฒ๋ฆฌ |
- | === 1) 404 ์๋ฌ ์ฒ๋ฆฌ === | + | ==== 1) 404 ์๋ฌ ์ฒ๋ฆฌ |
- | <code javascript> | + | <file javascript> |
// 404 ์๋ฌ ์ฒ๋ฆฌ | // 404 ์๋ฌ ์ฒ๋ฆฌ | ||
app.use((req, | app.use((req, | ||
res.status(404).json({ error: ' | res.status(404).json({ error: ' | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ์กด์ฌํ์ง ์๋ ํ์ด์ง์ ์ ๊ทผํ ๋ ์คํย | + | * ์กด์ฌํ์ง ์๋ ํ์ด์ง์ ์ ๊ทผํ ๋ ์คํ๋ฉ๋๋ค.ย |
- | * '' | + | * '' |
- | === 2) ์๋ฒ ์๋ฌ ์ฒ๋ฆฌ === | + | ==== 2) ์๋ฒ ์๋ฌ ์ฒ๋ฆฌ |
- | <code javascript> | + | <file javascript> |
// ์๋ฌ ํธ๋ค๋ง ๋ฏธ๋ค์จ์ด | // ์๋ฌ ํธ๋ค๋ง ๋ฏธ๋ค์จ์ด | ||
app.use((err, | app.use((err, | ||
์ค 212: | ์ค 212: | ||
res.status(500).json({ error: ' | res.status(500).json({ error: ' | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ์๋ฒ์์ ๋ฐ์ํ๋ ๋ชจ๋ ์๋ฌ๋ฅผ ์ฒ๋ฆฌย | + | * ์๋ฒ์์ ๋ฐ์ํ๋ ๋ชจ๋ ์๋ฌ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.ย |
- | * ์๋ฌ ๋ก๊ทธ๋ฅผ ์ฝ์์ ์ถ๋ ฅย | + | * ์๋ฌ ๋ก๊ทธ๋ฅผ ์ฝ์์ ์ถ๋ ฅํฉ๋๋ค.ย |
- | * ํด๋ผ์ด์ธํธ์๊ฒ๋ ์ผ๋ฐ์ ์ธ ์๋ฌ ๋ฉ์์ง ์ ์ก | + | * ํด๋ผ์ด์ธํธ์๊ฒ๋ ์ผ๋ฐ์ ์ธ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค. |
---- | ---- | ||
- | ==== 6. ๊ฒ์ ๋ผ์ฐํธ ์์ ==== | + | ===== 6. ๊ฒ์ ๋ผ์ฐํธ ์์ |
- | === 1) ๊ฒ์ ๋ผ์ฐํธ ๊ธฐ๋ณธ ๊ตฌ์กฐ === | + | ==== 1) ๊ฒ์ ๋ผ์ฐํธ ๊ธฐ๋ณธ ๊ตฌ์กฐ |
- | <code javascript> | + | <file javascript> |
const express = require(' | const express = require(' | ||
const router = express.Router(); | const router = express.Router(); | ||
const BadukGameController = require(' | const BadukGameController = require(' | ||
const auth = require(' | const auth = require(' | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
์ค 236: | ์ค 236: | ||
* '' | * '' | ||
- | === 2) ๊ฒ์ ๋ชฉ๋ก ์กฐํ === | + | ==== 2) ๊ฒ์ ๋ชฉ๋ก ์กฐํ |
- | <code javascript> | + | <file javascript> |
// ๊ฒ์ ๋ชฉ๋ก ์กฐํ | // ๊ฒ์ ๋ชฉ๋ก ์กฐํ | ||
router.get('/', | router.get('/', | ||
์ค 255: | ์ค 255: | ||
} | } | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * ์ฑ๊ณต ์ ๊ฒ์ ๋ชฉ๋ก๊ณผ ์ด ๊ฐ์ ๋ฐํย | + | * ์ฑ๊ณต ์ ๊ฒ์ ๋ชฉ๋ก๊ณผ ์ด ๊ฐ์๋ฅผ ๋ฐํํฉ๋๋ค.ย |
- | * ์คํจ ์ ์๋ฌ ๋ฉ์์ง ๋ฐํ | + | * ์คํจ ์ ์๋ฌ ๋ฉ์์ง๋ฅผ ๋ฐํํฉ๋๋ค. |
- | === 3) ์ ๊ฒ์ ์์ฑ === | + | ==== 3) ์ ๊ฒ์ ์์ฑ |
- | <code javascript> | + | <file javascript> |
// ์ ๊ฒ์ ์์ฑ | // ์ ๊ฒ์ ์์ฑ | ||
router.post('/', | router.post('/', | ||
์ค 283: | ์ค 283: | ||
} | } | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | === 4) ํน์ ๊ฒ์ ์กฐํ === | + | ==== 4) ํน์ ๊ฒ์ ์กฐํ |
- | <code javascript> | + | <file javascript> |
// ํน์ ๊ฒ์ ์กฐํ | // ํน์ ๊ฒ์ ์กฐํ | ||
router.get('/: | router.get('/: | ||
์ค 317: | ์ค 317: | ||
} | } | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * ๊ฒ์์ด ์์ผ๋ฉด '' | + | * ๊ฒ์์ด ์์ผ๋ฉด '' |
- | === 5) ๊ฒ์ ์ฐธ๊ฐ === | + | ==== 5) ๊ฒ์ ์ฐธ๊ฐ |
- | <code javascript> | + | <file javascript> |
// ๊ฒ์ ์ฐธ๊ฐ | // ๊ฒ์ ์ฐธ๊ฐ | ||
router.post('/: | router.post('/: | ||
์ค 346: | ์ค 346: | ||
} | } | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | === 6) ๊ฒ์ ์ด๋ ๊ธฐ๋ก === | + | ==== 6) ๊ฒ์ ์ด๋ ๊ธฐ๋ก |
- | <code javascript> | + | <file javascript> |
// ๊ฒ์ ์ด๋ ๊ธฐ๋ก | // ๊ฒ์ ์ด๋ ๊ธฐ๋ก | ||
router.post('/: | router.post('/: | ||
์ค 375: | ์ค 375: | ||
} | } | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
---- | ---- | ||
- | ==== 7. ์๋ฒ ์คํ ==== | + | ===== 7. ์๋ฒ ์คํ |
- | === 1) ์๋ฒ ์์ === | + | ==== 1) ์๋ฒ ์์ |
- | <code javascript> | + | <file javascript> |
// ์๋ฒ ์์ | // ์๋ฒ ์์ | ||
app.listen(PORT, | app.listen(PORT, | ||
์ค 393: | ์ค 393: | ||
console.log(`http:// | console.log(`http:// | ||
}); | }); | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ์ง์ ๋ ํฌํธ์์ ์๋ฒ๋ฅผ ์์ย | + | * ์ง์ ๋ ํฌํธ์์ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค.ย |
- | * ์๋ฒ ์์ ์ ์ฝ์์ ๋ฉ์์ง ์ถ๋ ฅ | + | * ์๋ฒ ์์ ์ ์ฝ์์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
- | === 2) ๋ชจ๋ ๋ด๋ณด๋ด๊ธฐ === | + | ==== 2) ๋ชจ๋ ๋ด๋ณด๋ด๊ธฐ |
- | <code javascript> | + | <file javascript> |
module.exports = app; | module.exports = app; | ||
- | </code> | + | </file> |
**์ค๋ช :** | **์ค๋ช :** | ||
- | * ๋ค๋ฅธ ํ์ผ์์ ์ด ์ฑ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ด๋ณด๋ด๊ธฐย | + | * ๋ค๋ฅธ ํ์ผ์์ ์ด ์ฑ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ด๋ณด๋ ๋๋ค.ย |
- | * ํ ์คํธ๋ ๋ค๋ฅธ ์๋ฒ์์ ์ฌ์ฉํ ๋ ํ์ | + | * ํ ์คํธ๋ ๋ค๋ฅธ ์๋ฒ์์ ์ฌ์ฉํ ๋ ํ์ํฉ๋๋ค. |
---- | ---- | ||
- | ==== 8. ์ค์ต ์์ ==== | + | ===== 8. ์ค์ต ์์ |
- | === 1) ๊ฐ๋จํ Express ์๋ฒ ๋ง๋ค๊ธฐ === | + | ==== 1) ๊ฐ๋จํ Express ์๋ฒ ๋ง๋ค๊ธฐ |
**1๋จ๊ณ: ํ๋ก์ ํธ ์ด๊ธฐํ** | **1๋จ๊ณ: ํ๋ก์ ํธ ์ด๊ธฐํ** | ||
- | <code bash> | + | <file bash> |
npm init -y | npm init -y | ||
npm install express | npm install express | ||
- | </code> | + | </file> |
**2๋จ๊ณ: ๊ธฐ๋ณธ ์๋ฒ ํ์ผ ์์ฑ ('' | **2๋จ๊ณ: ๊ธฐ๋ณธ ์๋ฒ ํ์ผ ์์ฑ ('' | ||
- | <code javascript> | + | <file javascript> |
const express = require(' | const express = require(' | ||
const app = express(); | const app = express(); | ||
์ค 445: | ์ค 445: | ||
console.log(`์๋ฒ๊ฐ ํฌํธ ${PORT}์์ ์คํ ์ค์
๋๋ค.`); | console.log(`์๋ฒ๊ฐ ํฌํธ ${PORT}์์ ์คํ ์ค์
๋๋ค.`); | ||
}); | }); | ||
- | </code> | + | </file> |
**3๋จ๊ณ: ์๋ฒ ์คํ** | **3๋จ๊ณ: ์๋ฒ ์คํ** | ||
- | <code bash> | + | <file bash> |
node app.js | node app.js | ||
- | </code> | + | </file> |
**4๋จ๊ณ: ํ ์คํธ** | **4๋จ๊ณ: ํ ์คํธ** | ||
์ค 457: | ์ค 457: | ||
---- | ---- | ||
- | ==== 9. ์ฃผ์์ฌํญ๊ณผ ํ ==== | + | ===== 9. ์ฃผ์์ฌํญ๊ณผ ํ ===== |
- | === 1) ๋ณด์ ์ฃผ์์ฌํญ ===ย | + | ==== 1) ๋ณด์ ์ฃผ์์ฌํญ |
- | * ํญ์ '' | + | * ํญ์ '' |
- | * ๋ฏผ๊ฐํ ์ ๋ณด๋ ํ๊ฒฝ ๋ณ์๋ก ๊ด๋ฆฌํ์ธ์ย | + | * ๋ฏผ๊ฐํ ์ ๋ณด๋ ํ๊ฒฝ ๋ณ์๋ก ๊ด๋ฆฌํ์ธ์.ย |
- | * ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ์ธ์ย | + | * ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ์ธ์.ย |
- | * '' | + | * '' |
- | === 2) ์ฑ๋ฅ ์ต์ ํ ===ย | + | ==== 2) ์ฑ๋ฅ ์ต์ ํ |
- | * '' | + | * '' |
- | * ์ ์ ํ์ผ ์บ์ฑ ์ค์ ย | + | * ์ ์ ํ์ผ ์บ์ฑ์ ์ค์ ํ์ธ์.ย |
- | * ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํ ์ฌ์ฉย | + | * ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํ์ ์ฌ์ฉํ์ธ์.ย |
- | * ๋ถํ์ํ ๋ฏธ๋ค์จ์ด ์ ๊ฑฐ | + | * ๋ถํ์ํ ๋ฏธ๋ค์จ์ด๋ฅผ ์ ๊ฑฐํ์ธ์. |
- | === 3) ๋๋ฒ๊น ํ ===ย | + | ==== 3) ๋๋ฒ๊น ํ ====ย |
- | * ๋ก๊น ๋ฏธ๋ค์จ์ด ์ฌ์ฉย | + | * ๋ก๊น ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ์ธ์.ย |
- | * ์๋ฌ ์ฒ๋ฆฌ ๋ฏธ๋ค์จ์ด ์ถ๊ฐย | + | * ์๋ฌ ์ฒ๋ฆฌ ๋ฏธ๋ค์จ์ด๋ฅผ ์ถ๊ฐํ์ธ์.ย |
- | * ๊ฐ๋ฐ ํ๊ฒฝ์์๋ ์์ธํ ์๋ฌ ๋ฉ์์ง ํ์ย | + | * ๊ฐ๋ฐ ํ๊ฒฝ์์๋ ์์ธํ ์๋ฌ ๋ฉ์์ง๋ฅผ ํ์ํ์ธ์.ย |
- | * ํ๋ก๋์ ์์๋ ์ผ๋ฐ์ ์ธ ์๋ฌ ๋ฉ์์ง ํ์ | + | * ํ๋ก๋์ ์์๋ ์ผ๋ฐ์ ์ธ ์๋ฌ ๋ฉ์์ง๋ฅผ ํ์ํ์ธ์. |
---- | ---- | ||
- | ==== 10. ๋ค์ ๋จ๊ณ ==== | + | ===== 10. ๋ค์ ๋จ๊ณ |
'' | '' | ||
์ค 494: | ์ค 494: | ||
--- | --- | ||
- | //์ด ํ์ด์ง๋ ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.// | + | //์ด ํ์ด์ง๋ ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.// |
--- | --- | ||
+ |
wiki/it/dream_of_enc/metaverse/express.1753771634.txt.gz ยท ๋ง์ง๋ง์ผ๋ก ์์ ๋จ: ์ ์ syjang0803