์ฉ์ด์ง
์ ํ๋ฆฌ์ผ์ด์ (application)
์ผ๋ฐ์ ์ผ๋ก, ํน์ ํ ๋ชฉ์ ์ ์ฐ์ฐ์ ์ํํ๋๋ก ์ค๊ณ๋ ํ๋ ์ด์์ ํ๋ก๊ทธ๋จ์ ๋๋ค. Express์ ์ปจํ ์คํธ์์๋, Node.js ํ๋ซํผ์์ ์คํ๋๋ฉฐ Express API๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ๋งํฉ๋๋ค. ๋ํ ์ฑ ์ค๋ธ์ ํธ๋ฅผ ์ง์นญํ ์๋ ์์ต๋๋ค.
API
์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค(Application Programming Interface)์ ๋๋ค. ์ด ์ฉ์ด๋ฅผ ์ต์ด๋ก ์ฌ์ฉํ ๋๋ ์ฝ์ด๋ฅผ ํ์ด์ ๊ธฐ์ฌํ์ญ์์ค.
Express
Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๋ฐฉ์ ์ธ ๊ฐ๊ฒฐํ ์น ํ๋ ์์ํฌ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก โExpress.jsโ๋ณด๋ค โExpressโ๊ฐ ์ ํธ๋์ง๋ง, โExpress.jsโ๋ ํ์ฉ๋ฉ๋๋ค.
libuv
๋น๋๊ธฐ์ I/O์ ์ด์ ์ ๋ ๋ฉํฐํ๋ซํผ ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ, ์ฃผ๋ก Node.js์ ์ํด ์ฌ์ฉ๋๋๋ก ๊ฐ๋ฐ๋ฉ๋๋ค.
middleware
์ต์ข ์์ฒญ ํธ๋ค๋ฌ ์ด์ ์ Express ๋ผ์ฐํ ๊ณ์ธต์ ์ํด ํธ์ถ๋๋ ํจ์์ด๋ฉฐ, ๋ฐ๋ผ์ ์์ ์์ฒญ๊ณผ ์๋๋ ์ต์ข ๋ผ์ฐํธ ์ฌ์ด์ ๋ฏธ๋ค์จ์ด์ ์์นํฉ๋๋ค. ๋ฏธ๋ค์จ์ด์ ๊ด๋ จ๋ ์ฉ์ด์ ๋ช ๊ฐ์ง ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var foo = require('middleware')
๋ Node.js ๋ชจ๋์ ์๊ตฌ ๋๋ _์ฌ์ฉ_ํ๋ ๊ฒ์ผ๋ก ์ผ์ปฌ์ด์ง๋๋ค. ์ดํvar mw = foo()
๋ช ๋ น๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋ค์จ์ด๋ฅผ ๋ฆฌํดํฉ๋๋ค.app.use(mw)
๋ _๋ฏธ๋ค์จ์ด๋ฅผ ์ ์ญ ์ฒ๋ฆฌ ์คํ์ ์ถ๊ฐ_ํ๋ ๊ฒ์ผ๋ก ์ผ์ปฌ์ด์ง๋๋ค.app.get('/foo', mw, function (req, res) { ... })
๋ _๋ฏธ๋ค์จ์ด๋ฅผ โGET /fooโ ์ฒ๋ฆฌ ์คํ์ ์ถ๊ฐ_ํ๋ ๊ฒ์ผ๋ก ์ผ์ปฌ์ด์ง๋๋ค.
Node.js
ํ์ฅ ๊ฐ๋ฅํ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ํ๋ซํผ์ ๋๋ค. Node.js๋ JavaScript๋ฅผ ์คํฌ๋ฆฝํ ์ธ์ด๋ก ์ฌ์ฉํ๋ฉฐ, ๋ฐฉํดํ์ง ์๋ I/O ๋ฐ ๋จ์ผ ์ค๋ ๋ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ํตํด ๋์ ์ฒ๋ฆฌ๋์ ๋ฌ์ฑํฉ๋๋ค. nodejs.org๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ํ์ฉ ์ฐธ๊ณ : ์ต์ด์๋ โNode.jsโ์์ผ๋ฉฐ ์ดํ โNodeโ๊ฐ ๋์์ต๋๋ค.
์คํ ์์ค(open-source, open source)
When used as an adjective, hyphenate; for example: โThis is open-source software.โ (์: โ์ด ์ํํธ์จ์ด๋ ์คํ ์์ค ์ํํธ์จ์ด์ ๋๋คโ Wikipedia์ Open-source software๋ฅผ ์ฐธ์กฐํ์ญ์์ค.)
์ฐธ๊ณ
Although it is common not to hyphenate this term, we are using the standard English rules for hyphenating a compound adjective.
์์ฒญ(request)
HTTP ์์ฒญ์ ๋๋ค. ํด๋ผ์ด์ธํธ๋ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ์๋ฒ์ ์ ์ถํ๋ฉฐ, ์๋ฒ๋ ์๋ต์ ๋ฆฌํดํฉ๋๋ค. ์์ฒญ์ ์ฌ๋ฌ ์์ฒญ ๋ฉ์๋ ์ค ํ๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค(์: GET, POST ๋ฑ).
์๋ต(response)
HTTP ์๋ต์ ๋๋ค. ์๋ฒ๋ HTTP ์๋ต ๋ฉ์์ง๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ฆฌํดํฉ๋๋ค. ์๋ต์๋ ์์ฒญ์ ๋ํ ์๋ฃ ์ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์๋ต ๋ฉ์์ง ๋ณธ๋ฌธ์๋ ์์ฒญ๋ ์ปจํ ์ธ ๊ฐ ํฌํจ๋์ด ์์ ์๋ ์์ต๋๋ค.
๋ผ์ฐํธ(route)
์์์ ์๋ณํ๋ URL์ ์ผ๋ถ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด, http://foo.com/products/id
์์ โ/products/idโ๊ฐ ๋ผ์ฐํธ์
๋๋ค.
๋ผ์ฐํฐ(router)
API ์ฐธ์กฐ์ ๋ผ์ฐํฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Edit this page