๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ๏ธ 21-2 IPP/Node.js study

Node.js - 2 ์„ค์ •, ๊ฐ„๋‹จํ•œ ์‹ค์Šต

by hanwitjus 2021. 10. 12.

1. ์„ค์น˜ํ•˜๊ธฐ

๋จผ์ € https://nodejs.org/en/

 

Node.js

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

nodejs.org

์—ฌ๊ธฐ์„œ Node.js๋ฅผ ์„ค์น˜ํ–ˆ๊ณ ,

 

https://atom.io/

 

A hackable text editor for the 21st Century

At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it.

atom.io

์—ฌ๊ธฐ์„œ Atom์ด๋ผ๋Š” ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋ฅผ ๋‹ค์šด๋ฐ›์•˜๋‹ค.

 

๋˜ https://devcenter.heroku.com/articles/heroku-cli#download-and-install

 

The Heroku CLI | Heroku Dev Center

Last updated April 27, 2021 The Heroku Command Line Interface (CLI) makes it easy to create and manage your Heroku apps directly from the terminal. It’s an essential part of using Heroku. Download and install The Heroku CLI requires Git, the popular vers

devcenter.heroku.com

 

์—ฌ๊ธฐ์„œ heroKu์— ๊ฐ€์ž…ํ•œ ๋’ค, ๋ฐฐํฌ ๋„๊ตฌ์ธ CLI๋ฅผ ๋‹ค์šด๋ฐ›์•˜๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด ์ค€๋น„๋ฌผ์€ ๋์ด๋‹ค.

 

 

2. ํ„ฐ๋ฏธ๋„์—์„œ Node.js REPL๋กœ ์ž‘์—…ํ•˜๊ธฐ

 

๋Œ€ํ™”์‹ Node.js ์…ธ์€ Node.js์˜ Read-Evaluate-Print-Loop(REPL)๋ฒ„์ „์ด๋‹ค. 

์ˆœ์ˆ˜ JavaScript๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ๋Œ๋ ค๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค.

ํ„ฐ๋ฏธ๋„ ์ฐฝ์— node๋ฅผ ์ž…๋ ฅํ•ด์„œ REPL ํ™˜๊ฒฝ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

* ์ฃผ์š” REPL ๋ช…๋ น์–ด

REPL ๋ช…๋ น์–ด ์„ค๋ช…
.break REPL ์„ธ์…˜ ๋‚ด ๋ธ”๋ก์—์„œ ๋น ์ ธ๋‚˜์˜จ๋‹ค. ์ฝ”๋“œ ๋ธ”๋ก์—์„œ ๋น ์ ธ๋‚˜์˜ฌ ๋•Œ ์œ ์šฉํ•˜๋‹ค.
.editor ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ€ํ‹ฐ๋ผ์ธ์˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด๋ถ€ ์—๋””ํ„ฐ๋ฅผ ์—ฐ๋‹ค. ctrl+d๋กœ ์ €์žฅํ•˜๊ณ  ๋น ์ ธ๋‚˜์˜จ๋‹ค.
.exit REPL ์„ธ์…˜์„ ์ข…๋ฃŒํ•œ๋‹ค.
.help ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ€ํ™”ํ˜• ์…ธ ํ™˜๊ฒฝ์„ ์ž˜ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ช…๋ น์–ด๋“ค์˜ ๋ฆฌ์ŠคํŠธ ๋ฐ ์œ ์šฉํ•œ ํŒ์„ ๋ณด์—ฌ์ค€๋‹ค.
.load ๋กœ์ปฌ ํŒŒ์ผ๋ช…๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉฐ, REPL์ด ์ฝ”๋“œ ํŒŒ์ผ๋กœ ์•ก์„ธ์Šค ํ•˜๋„๋ก ํ•œ๋‹ค.
.save ์ƒˆ๋กœ ์ €์žฅ๋  ํŒŒ์ผ๋ช…๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ, REPL ์„ธ์…˜์˜ ์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ์šด ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.

 

 

 

 

์ด๋ ‡๊ฒŒ REPL ์…ธ ํ™˜๊ฒฝ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. REPL ํ™˜๊ฒฝ์—์„œ๋Š” Node.js์˜ ๋ชจ๋“  ์ฝ”์–ด ๋ชจ๋“ˆ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ฐ˜ ์‚ฐ์ˆ ์—ฐ์‚ฐ ๋ถ€ํ„ฐ, ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ, ํด๋ž˜์Šค ์ƒ์„ฑ๊ณผ ์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™”๊นŒ์ง€ ํ•ด๋ณด์•˜๋‹ค.

(๋งˆ์ง€๋ง‰ ์ค„์— foodType ์ธ์ž๊ฐ€ ์ œ๋Œ€๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š”์ง€ ์•„๋ฌด๋ฆฌํ•ด๋„ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค...)

 

 

 

๋‹ค์Œ์œผ๋กœ ํ•ด๋ณธ ๊ฒƒ์€ Atom ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ hello.js ๋ผ๋Š” javascript ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ํŒŒ์ผ์— ์ ‘๊ทผํ•ด์„œ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰์‹œ์ผœ๋ดค๋‹ค.

 

 

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜์Œ์—๋Š” ์ฝ˜์†”์— hello universe๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก jsํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ๊ณ ,

 

 

 

๊ทธ๋‹ค์Œ์—๋Š” messages๋ผ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ ๊ทธ๊ฑธ forEach๋กœ ์ถœ๋ ฅํ•ด ๋ณด์•˜๋‹ค.

 

 

>>๊ฒฐ๊ณผ

 

 

์ด๋ ‡๊ฒŒ Node.js๋กœ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ์ˆœ์„œ๋Š”

 

1. ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์—ด๊ณ 

2. ํ„ฐ๋ฏธ๋„์˜ ์œ„์น˜๋ฅผ cd.. ๋ช…๋ น์–ด๋กœ .js ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.

3. node ํ‚ค์›Œ๋“œ๋ฅผ ์จ์„œ JavaScript ํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚จ๋‹ค.

 

 

 

 

 

LIST

๋Œ“๊ธ€