๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

์ตœ๊ทผ์— ์„œ๋ฒ„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ช‡ ๊ฐœ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์„œ๋ฒ„ ๊ตฌ์ถ•์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค๋ค„๋ณด๊ณ ์ž ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ๊ฐ„๋‹จํ•œ express ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์„ ๋‹ค๋ฃจ๊ณ , ๋‹ค์Œ ๊ธ€์—์„œ๋Š” Express ๊ตฌ์กฐ ๋œฏ์–ด๋ณด๊ธฐ,

๊ทธ ์ดํ›„์—๋Š” firebase functions๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ํ”„๋กœ์ ํŠธ ๋ฐ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋˜ ํด๋”๋ง ๊ตฌ์กฐ๋ฅผ ๊ณต์œ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ƒ

 

 ๐Ÿ“Œ ์‚ฌ์ „ ์ค€๋น„

1. Nodejs ์„ค์น˜

 

์ž ์‹œ, Nodejs๋ž€?

Node.js๋Š” Chrome V8 Javascript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ Javascript ๋Ÿฐํƒ€์ž„ ์ž…๋‹ˆ๋‹ค

 

์‰ฝ๊ฒŒ ๋งํ•ด์„œ, javascript๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋‹ค~ ๋ผ๊ณ  ์•Œ๊ณ  ๊ณ„์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

https://nodejs.org/en/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

ํ•ด๋‹น ๋งํฌ๋กœ ๋“ค์–ด๊ฐ€์„œ LTS ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค.

 

์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„์—์„œ

$ node -v
$ npm -v

๋‘ ๊ฐ€์ง€์˜ ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋œ๋‹ค๋ฉด, ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜ ๋œ ๊ฒƒ!

 

2. VS Code ์„ค์น˜

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

ํ•ด๋‹น ํ™ˆํŽ˜์ด์ง€์—์„œ ๋ณธ์ธ์˜ OS์— ๋งž๊ฒŒ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค.

 

 

3. Express ์„ค์น˜

 

Express๋ž€...?

Node๋ฅผ ์œ„ํ•œ ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•œ ์„œ๋ฒ„ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ
HTTP ์š”์ฒญ์— ๋Œ€ํ•ด ๋ผ์šฐํŒ… ๋ฐ ๋ฏธ๋“ค์›จ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

$ sudo npm install express-g

* sudo ๋ช…๋ น์–ด๋Š” max, linux ํ™˜๊ฒฝ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค !!

 

-g ์˜ต์…˜์„ ์ฃผ์–ด ์ „์—ญ ์„ค์น˜๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ๊ฒฝ๋กœ์—์„œ ์„ค์น˜๋ฅผ ํ•˜๋“  ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.

 

 

 ๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

1. VSCode ์‹คํ–‰

2. Terminal์„ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ์œ„์น˜๋กœ ์ด๋™

VSCode๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค๋ฉด mac ๊ธฐ์ค€ ^(control) + ` ๋กœ ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค.

๋งŒ์•ฝ, ์—ด๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ˜น์‹œ ํ˜„์žฌ ์–ธ์–ด๊ฐ€ ์˜์–ด๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

(์˜์–ด `๊ฐ€ ํ•œ๊ธ€๋กœ ํ•˜๋ฉด โ‚ฉ๋กœ ํ‘œ์‹œ๋  ๊ฒ๋‹ˆ๋‹ค!)

 

ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

$ npm install -g express-generator

-g๋Š” --global ์˜ต์…˜์˜ ์ค„์ž„๋ง๋กœ ์ „์—ญ ์„ค์น˜ ์˜ต์…˜์ด๋ฉฐ express-generator๋Š” express ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค.

 

์„ค์น˜๊ฐ€ ๋œ ๊ฒƒ์„ ํด๋”์—์„œ ๋ณด๊ณ ์‹ถ๋‹ค! ํ•˜์‹œ๋Š” ๋ถ„์€

/usr/local/lib/node_modules

ํด๋”๋กœ ์ด๋™ํ•˜๋ฉด ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•œ ๋ชจ๋“ˆ๋“ค์ด ๋ณด์ผ ๊ฒ๋‹ˆ๋‹ค.

 

์ด์ œ ํ„ฐ๋ฏธ๋„์— ํ•˜๋‹จ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

$ express practice

 

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์™„๋ฃŒ!

 

 ๐Ÿ“Œ Express ํ”„๋กœ์ ํŠธ ์‹คํ–‰

ํ”„๋กœ์ ํŠธ ์ตœ์ƒ์œ„ ํด๋” ์œ„์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ, ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ ์ ์—ˆ๋˜ express <ํ”„๋กœ์ ํŠธ๋ช…> ์—์„œ ํ”„๋กœ์ ํŠธ๋ช…์œผ๋กœ ์ด๋™ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ์œ„์น˜์—์„œ dependency ์„ค์น˜๋ฅผ ์œ„ํ•ด ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$ npm install

์„ค์น˜๋ฅผ ํ–ˆ๋‹ค๋ฉด node_modules๋ผ๋Š” ํด๋”๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒ๋‹ˆ๋‹ค.

ํ•ด๋‹น ํด๋”๋Š” dependency๋ฅผ ๋ชจ๋‘ ๋‹ด๊ณ  ์žˆ๋Š” ํด๋”์ž…๋‹ˆ๋‹ค.

 

npm install ๋ช…๋ น์–ด๋Š” package.json์— ์žˆ๋Š” ๋ชจ๋“ˆ๋“ค์„ ์ธ์Šคํ†จ ํ•ด์ค๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์žˆ๋Š” dependencies๋ฅผ ์ธ์Šคํ†จํ•ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค!

 

์ด์ œ express ์‹œ์ž‘์„ ์œ„ํ•ด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

$ npm start

์ด ์ƒํƒœ์—์„œ ๋ธŒ๋ผ์šฐ์ €์— ์ ‘์†ํ•ด์ค๋‹ˆ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ์™„๋ฃŒ!

 

๋‹ค์‹œ VSCode๋กœ ๋Œ์•„์™€์„œ ํ„ฐ๋ฏธ๋„์„ ๋ณด๋ฉด

GET ์š”์ฒญ์ด ์‹คํ–‰๋˜์—ˆ๋˜ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„ค์š”!

 

 ๐Ÿ“Œ ๋งˆ์น˜๋ฉฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ฐ„๋‹จํžˆ Express ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ & ์‹คํ–‰์„ ๋‹ค๋ค„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Express ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ ๋‚˜์˜ค๋Š” ํด๋” & ํŒŒ์ผ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

์ฐธ๊ณ : SOPT 29th ์„œ๋ฒ„ 2์ฐจ ์„ธ๋ฏธ๋‚˜ ์ž๋ฃŒ

+ Recent posts