express(3) - ๋™์  ํŒŒ์ผ์„œ๋น„์Šค

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ •์  ํŒŒ์ผ์„œ๋น„์Šค๋ฅผ ๋ฐฐ์›Œ๋ณด์•˜๋Š”๋ฐ ์ •์ ์ด ์žˆ์œผ๋ฉด ๋น„๊ต๋Œ€์ƒ์ธ ๋™์ ์ด๋ผ๋Š” ๊ฐœ๋…๋„ ๋Š˜ ์กด์žฌํ•˜๊ธฐ ๋งˆ๋ จ์ด๋‹ค. ์ •์  ํŒŒ์ผ์„œ๋น„์Šค๋Š” public์ด๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์ด๋ฏธ์ง€ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ html์†Œ์Šค๋ฅผ ์ž‘์„ฑํ•˜์—ฌ 123456var express = require('express');var app = express();app.use(express.static('public'));app.get('/',function(req,res) { res.send('Hello World');});Colored by Color Scriptercs์ด์™€ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ˜•์‹์„ ๋ˆ๋‹ค. localhost:ํฌํŠธ๋ฒˆํ˜ธ ๋’ค์— public ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ์„ ์›น์—์„œ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๋™..

express(2) - ์ •์  ํŒŒ์ผ์„œ๋น„์Šค

Express์—์„œ ์ •์  ํŒŒ์ผ ์ œ๊ณต์ด๋ฏธ์ง€, CSS ํŒŒ์ผ ๋ฐ JavaScript ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ •์  ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋ ค๋ฉด Express์˜ ๊ธฐ๋ณธ ์ œ๊ณต ๋ฏธ๋“ค์›จ์–ด ํ•จ์ˆ˜์ธ express.static์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.์ •์  ์ž์‚ฐ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ express.static ๋ฏธ๋“ค์›จ์–ด ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋ฉด ํŒŒ์ผ์˜ ์ง์ ‘์ ์ธ ์ œ๊ณต์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ public์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋””๋ ‰ํ† ๋ฆฌ์— ํฌํ•จ๋œ ์ด๋ฏธ์ง€, CSS ํŒŒ์ผ ๋ฐ JavaScript ํŒŒ์ผ์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. Express์—์„œ ์ •์  ํŒŒ์ผ ์„œ๋น„์Šค์— ๊ด€ํ•œ ์ •์˜๋ฅผ ํ•ด๋†“์€ ๊ฒƒ์ด๋‹ค.์ •์  ํŒŒ์ผ์„ ์„œ๋น„์Šคํ•œ๋‹ค๋Š” ๋ง์€ ์‚ฌ๋žŒ์ด ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ์ด ์–ธ์ œ๋‚˜ ๋˜‘๊ฐ™์ด ๋ณด์ด๋Š” ๊ฒƒ์„ ์ •์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉํ–ˆ๋˜ ์ฝ”๋“œ์—์„œ ํ•œ ์ค„๋งŒ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๋ฏ€๋กœ ๊ธฐ์กด..

4. express (1)

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜Express๋Š” ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ผ๋ จ์˜ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ„๊ฒฐํ•˜๊ณ  ์œ ์—ฐํ•œ Node.js ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. express ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋ ค๋Š” ๋ชฉ์ ์€ ์•„๋‹ˆ๊ณ  ์ด๋Ÿฐ ๊ฒƒ๋„ ์‚ฌ์šฉํ•œ๋‹ค. ๋ผ๋Š” ๊ฐ€๋ณ๊ฒŒ ์•Œ์•„๊ฐ€๋Š” ์˜๋ฏธ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์ผ๋‹จ ์„ค์น˜ ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์•Œ์•„๋ณด์ž. $ npm install express --save ๋ผ๊ณ  ์ปค๋งจ๋“œ์— ์น˜๊ฒŒ๋˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์น˜๋Š” ์™„๋ฃŒ๋‹ค. (์ด๋Ÿฌํ•œ ์ปค๋งจ๋“œ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฑฐ์— ๋Œ€ํ•œ ์ „์ œ์กฐ๊ฑด์€ npm init๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค. ) express์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋ฉ”์ธ ํŒŒ์ผ๋ช…์€ app.js ์ด๋ฉฐ ๋ณธ์ธ์˜ ํ”„๋กœ์ ํŠธ๋ช…์„ ํ•ด๋„ ์ƒ๊ด€์€์—†์ง€๋งŒ ๊ด€ํ–‰์ ์œผ๋กœ ๊ทธ๋ ‡๊ฒŒ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. helloworld ์˜ˆ์ œvar express = require('express'..

[๋ณด์ถฉ] Node.js ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(aka. callback function)

์•ž์„œ ์ž‘์„ฑํ–ˆ๋˜ ๋‚ด์šฉ์ค‘์— ๋น„๋™๊ธฐ ๊ด€๋ จ ์–˜๊ธฐ๋ฅผ ์ž ๊น ํ•œ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ(์•„๋งˆ ๋…ผ ๋ธ”๋กœํ‚น ์–˜๊ธฐํ•˜๋ฉด์„œ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค) Node.js ์ปจ์…‰ ์ค‘์— ์ด ์ ์ด ์ƒ๋‹นํžˆ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•˜๊ธฐ์— ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, Callbackํ•จ์ˆ˜์— ๊ด€ํ•œ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํ•„์š”์„ฑ์„ ๋Š๊ผˆ๋‹ค. ๋น„๋™๊ธฐ๋ฅผ ๋ง๋กœ ํ’€์–ด์“ด๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ์žˆ์–ด์„œ ์–ด๋–ค ๋ฉ”์†Œ๋“œ์˜ ๋™์ž‘์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค์Œ ์ž‘์—…์„ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ  ๋‚˜์„œ ๊ณง๋ฐ”๋กœ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•œ ๊ฐ€์ง€ ํ—ท๊ฐˆ๋ฆฐ ๊ฒƒ์ด ์žˆ๋Š”๋ฐ ์‹คํ–‰๋ฐฉ์‹์ด ๋งˆ์น˜ Java์˜ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋”ฉ ๋ฐฉ์‹๊ฐ™์•˜๋Š”๋ฐ Javascript๋Š” ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋”ฉ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋‹ค.(Node.js ๋„ ๋‹น์—ฐํžˆ ๋งˆ์ฐฌ๊ฐ€์ง€)๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์™€ ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ ๋ฐฉ์‹์— ๊ด€ํ•œ ์–˜๊ธฐ๋Š” ๋‚ด ์ทจ์ง€์™€๋Š” ์•ฝ๊ฐ„ ๋ฒ—์–ด๋‚˜๋Š” ์–˜๊ธฐ ๊ฐ™์œผ๋‹ˆ ์ผ๋‹จ ์ƒ๋žต..

2. Node.js ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ค์ • (Mac OSX)

์ œ PC ํ™˜๊ฒฝ์€ ๋งฅ OS์ž…๋‹ˆ๋‹ค. ๊ณต๋ถ€ํ•˜๊ธฐ๋„ ๋ฒ…์ฐจ๋‹ค๋ณด๋‹ˆ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ๊นŒ์ง€ ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ๊ฒŒ์‹œํ•  ์ˆœ ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ๊ณ .. ์ผ๋‹จ ์ œ ํ™˜๊ฒฝ์—์„œ ์ ์šฉํ•˜๋Š” ๊ฑธ๋กœ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋งฅ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•  ๋•Œ ์ตœ๋Œ€ํ•œ ์„ค์น˜ํŒŒ์ผ (pkg ํŒŒ์ผํ˜•ํƒœ์ธ๊ฐ€์š” ์•„๋งˆ๋„ ?) ์„ ํ”ผํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ด€๋ จํ•ด์„œ ๋ง์ด์ฃ  ํ„ฐ๋ฏธ๋„์—์„œ homebrew๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ํ•ญ์ƒ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ œ์ผ ๊น”๋”ํ•˜๋”๊ตฐ์š”~ node js๊ฐ™์€ ๊ฒฝ์šฐ๋„ ํ–ฅํ›„ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ ์‹œ ๊ถŒํ•œ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์—ฌ brew๋ฅผ ํ†ตํ•œ ์„ค์น˜๋ฅผ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋Š” ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. (์ €๋„ ๊ทธ ๋ฌธ์ œ๊ฐ€ ๋ญ”์ง„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”..) ๊ทธ๋Ÿผ homebrew๊ฐ€ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์—ฌ ๊ทธ๋ถ€๋ถ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ------------------------ Homebrew ์„ค์น˜..

1. Node Js ๋ž€? [ํ”„๋กค๋กœ๊ทธ]

์„œ๋ฒ„์ชฝ์„ ๊ด€์‹ฌ์žˆ์–ด ํ•˜๋˜ ๋„์ค‘์— ํ˜„์ง ๊ฐœ๋ฐœ์ž ๋ถ„์˜ ์กฐ์–ธ์œผ๋กœ ์š”์ฆ˜ ์ถ”์„ธ(?) ์„œ๋ฒ„์‚ฌ์ด๋“œ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ธ Node JS ์— ๊ด€์‹ฌ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ๋‹ค. ์กฐ์–ธ์„ ํ•ด์ฃผ์‹  ๋ถ„๊ณผ ์•ˆ๋“œ๋กœ์ด๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์— ์žˆ๋Š”๋ฐ ํ•ด๋‹น ์–ดํ”Œ์€ spring boot๋กœ ์„œ๋ฒ„์ž‘์—…์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.(๋ฌผ๋ก  ์ œ๊ฐ€ ๊ฑฐ์˜ ๋ฐ”๋‹ฅ์ˆ˜์ค€์ด๋ผ์„œ ๋ง์ด ํŒ€์ด์ง€ ๊ฑฐ์˜ ํ˜ผ์ž ํ•˜์…จ๋‹ค๊ณ  ๋ด๋„ ๋ฌด๋ฐฉ..) ๋ฌดํŠผ ์„œ๋ฒ„๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•˜๊ธฐ์— ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•œ๋‹ค! (์ƒํ™œ์ฝ”๋”ฉ์˜ ๋™์˜์ƒ๊ฐ•์˜ ํ™œ์šฉ) ....? ์ผ๋‹จ ๋‚˜๋Š” JavaScript๋ฅด ๊ณต๋ถ€ํ•ด๋ณธ ์ ๋„ ์—†๊ณ  ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜, ๋…ผ ๋ธ”๋กœํ‚นI/O๋ชจ๋ธ? ์ž˜ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ.. ์ธํ„ฐ๋„ท์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๋ธ”๋กœํ‚น ๋ฐฉ์‹๊ณผ ๋…ผ ๋ธ”๋กœํ‚น ๋ฐฉ์‹์ด ์กด์žฌํ•˜๋Š”๋ฐ UNIX์— ์žˆ๋Š” 5๊ฐ€์ง€ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ•œ๋‹ค.(๊ตณ์ด ๋‹ค๋ฅธ ๋ชจ..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ