์ธํŒŒ

You Can Become A

Pr

๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•ด๋„ ๋ˆ„๊ตฌ๋“ ์ง€ ๋…ธ๋ ฅํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ ์ˆ˜ ์žˆ์–ด์š” !

Node

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค
Node

[NODE] ๐Ÿ“š ์ฟ ํ‚ค & ์„ธ์…˜ ๋‹ค๋ฃจ๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฟ ํ‚ค ๋‹ค๋ฃจ๊ธฐ ๋…ธ๋“œ ์ฟ ํ‚ค ๋‹ค๋ฃจ๊ธฐ์— ์•ž์„œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ฟ ํ‚ค ๋‹ค๋ฃจ๋Š” ๋ฒ•์„ ๋จผ์ € ๊ณต๋ถ€ํ•˜๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. [JS] ๐Ÿ“š ์ฟ ํ‚ค(Cookie) ๐Ÿช ๋‹ค๋ฃจ๊ธฐ ์„ ํ–‰ ํ•™์Šต [WEB] ๐ŸŒ ์ฟ ํ‚ค / ์„ธ์…˜ ์ •๋ฆฌ ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)๊ณผ ๋น„์ƒํƒœ์„ฑ(Stateless) HTTP ํ”„๋กœํ† ์ฝœ์—๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless)๊ณผ ๋น„์ƒํƒœ์„ฑ(Stateless)์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„์˜ ์ž์›์„ ์ ˆ์•ฝํ•˜.. inpa.tistory.com ์ฟ ํ‚ค ์ „์†ก ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ const http = require('http'); http .createServer((req, res) => { // ๋งŒ์ผ ์ฟ ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉด, ์ฝ๋Š”๋‹ค. console.log(req.url, req.headers.cookie); // Set-..

category_image
์ธํŒŒ_
2021.10.31
1
Node

[NODE] ๐Ÿ“š http ๋ชจ๋“ˆ (์„œ๋ฒ„ ์‹คํ–‰)

HTTP ๋ชจ๋“ˆ http ๋ชจ๋“ˆ์€ ๋…ธ๋“œ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋“ˆ์ด๋ฉฐ, http ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์›น ์„œ๋ฒ„์˜ ์ƒ์„ฑ๊ณผ ์‹คํ–‰ //์„œ๋ฒ„๋ฅผ ์ƒ์„ฑ var http = require('http'); var server = http.createServer(); //์„œ๋ฒ„๋ฅผ ์‹คํ–‰ server.listen(52273, function() { // ํฌํŠธ ์„ค์ • console.log('Server Running at http://127.0.0.1:52273'); // ์„œ๋ฒ„์‹คํ–‰ ํ•˜๋ฉด ์ฝ˜์†” ์ถœ๋ ฅ }); //10์ดˆ ํ›„ ์„œ๋ฒ„ ์ข…๋ฃŒ setTimeout(function() { console.log('์„œ๋ฒ„ ์ข…๋ฃŒ'); server.close(); },10000); http ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด requi..

category_image
์ธํŒŒ_
2021.10.29
2
Node

[NODE] ๐Ÿ“š url ๋ชจ๋“ˆ - ๋งํฌ ์ •๋ณด ์ œ์–ด (URL / WHATWG)

URL ๋ชจ๋“ˆ ๋…ธ๋“œ์—์„œ๋Š” url ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ดํŠธ ์ฃผ์†Œ ์ •๋ณด๋ฅผ url ๊ฐ์ฒด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. url ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด ์ฃผ์†Œ ๋ฌธ์ž์—ด์„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค๋ฉด ๋ฌธ์ž์—ด ์•ˆ์— ์žˆ๋˜ ๊ฐ๊ฐ์˜ ์ •๋ณด๋ฅผ ๋‚˜๋ˆ„์–ด ๊ทธ ๊ฐ์ฒด์˜ ์†์„ฑ์œผ๋กœ ๋ณด๊ด€ํ•œ๋‹ค. (ex. protocol / host / query) ๋”ฐ๋ผ์„œ ์š”์ฒญ ํ”„๋กœํ† ์ฝœ์ด http์ธ์ง€ https์ธ์ง€๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด url ๊ฐ์ฒด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์†์„ฑ ๊ฐ’์„ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. URL๋ฐฉ์‹ ๊ณผ WHATWG ๋ฐฉ์‹ URL โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ href โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€..

category_image
์ธํŒŒ_
2021.10.29
(0)
Node

[NODE] ๐Ÿ“š ๋ฒ„ํผ / ์ŠคํŠธ๋ฆผ / ํŒŒ์ดํ”„ ๋ฌธ๋ฒ• ๐Ÿ’ฏ ์ •๋ฆฌ

๋ฒ„ํผ (Buffer) ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ด์ง„ ๋ฐ์ดํ„ฐ(binary data)๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์„œ๋ฒ„๋กœ ํ™œ์šฉํ•˜๋Š” ๋…ธ๋“œ์—์„œ๋Š” TCP streams ์ด๋‚˜ ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด buffer์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋Š”๋ฐ ์ „์†ก๋˜๋Š” ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ buffer๋กœ ๋ณ€ํ™˜ํ•ด์„œ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” node ๋‚ด์žฅ ๋ชจ๋“ˆ์ธ fs์˜ readFile์„ ํ†ตํ•ด ํŒŒ์ผ์„ ์ฝ๊ณ , ์ฝœ๋ฐฑ์œผ๋กœ ๋ฐ˜ํ™˜๋œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด ๋ณด๋ฉด ํŒŒ์ผ ๋‚ด์šฉ์ด buffer๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒƒ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค. const fs = require("fs"); // ํŒŒ์ผ ์ฝ๊ธฐ fs.readFile("./memo.txt", (err, data) => { if (err) { console.warn(err); } con..

category_image
์ธํŒŒ_
2021.10.29
(0)
Node

[NODE] ๐Ÿ“š fs ๋ชจ๋“ˆ - ํŒŒ์ผ ์ œ์–ด ๋ช…๋ น์–ด ๐Ÿ’ฏ ์ •๋ฆฌ

Node File System ๋ชจ๋“ˆ ํŒŒ์ผ์‹œ์Šคํ…œ ๋ชจ๋“ˆ์ด๋ž€, ํŒŒ์ผ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ž‘์—…์„ ํ•˜๋Š” ๋ชจ๋“ˆ๋กœ ๋ณดํ†ต FileSystem์„ ์ค„์—ฌ์„œ fs ๋ชจ๋“ˆ์ด๋ผ๊ณ  ์ค„์—ฌ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๊ณ  ์ค‘์š”ํ•œ ๋ชจ๋“ˆ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. fs ๋ชจ๋“ˆ์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”์†Œ๋“œ๋“ค์ด ๋™๊ธฐ/๋น„๋™๊ธฐ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, Sync๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์–ด์žˆ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ๋™๊ธฐ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋™๊ธฐ์  ์ฝ๊ธฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ์ž‘์—…์„ ๋™์‹œ์— ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฝ์œผ๋ฉด ํŒŒ์ผ์„ ์ฝ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ์ž‘์—…๋„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ํŒŒ์ผ์„ ๋‹ค ์ฝ์œผ๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜ callback์œผ๋กœ ์ „๋‹ฌํ•œ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋น„๋™๊ธฐ์  ํ˜•์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์„œ๋ฒ„ ์‹œ์ž‘ ์‹œ ์„ธํŒ… ํŒŒ์ผ์„ ์ฝ๋Š” ์ž‘์—…๊ณผ ๊ฐ™์ด ๋™๊ธฐ์  ํ˜•์‹์ด ๋” ์ ์ ˆํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค...

category_image
์ธํŒŒ_
2021.10.29
(0)
Node

[NODE] ๐Ÿ“š Utility ๋ชจ๋“ˆ (๋ณด์กฐ ๊ธฐ๋Šฅ ๋ชจ์Œ)

Utility ๋ชจ๋“ˆ Utility ๋ชจ๋“ˆ์€ node.js์˜ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ ์ค‘ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋งŒ์„ ๋ชจ์•„๋†“์€ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๋Š” API ๋ฌธ์„œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. util.format(format, [...]) : console.log() ๋ฉ”์†Œ๋“œ์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์ด์ง€๋งŒ console.log()๋Š” ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  util.format์€ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. printf์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ฒซ ์•„๊ทœ๋จผํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํฌ๋งทํŒ…๋œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋ ˆ์ด์Šค ํ™€๋”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•„๊ทœ๋จผํŠธ์˜ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. util.debug(string) : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋ฉˆ์ถ”๊ณ  ์ฆ‰๊ฐ์ ์œผ๋กœ string์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. util.log(string) : ํƒ€์ž„์Šคํƒฌํ”„ ์‹œ๊ฐ„๊ณผ ํ•จ๊ป˜ string์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. util.isArray(object..

category_image
์ธํŒŒ_
2021.10.29
(0)
Node

[NODE] ๐Ÿ“š __dirname / __filename / process.cwd() ์ฐจ์ด ์ •๋ฆฌ

__dirname ์™€ __filename ๋…ธ๋“œ์—์„œ๋Š” ๋ชจ๋“ˆ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ํ˜„์žฌ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋‚˜ ํŒŒ์ผ๋ช…์„ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋…ธ๋“œ๋Š” __filename, __dirname ์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋กœ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ •๋ณด๋กค ์ œ๊ณตํ•œ๋‹ค. ํŒŒ์ผ์— __filename, __dirname ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด๋‘๋ฉด ์‹คํ–‰์‹œ ํ˜„์žฌ ํŒŒ์ผ๋ช…๊ณผ ํŒŒ์ผ ๊ฒฝ๋กœ๋กœ ๋ฐ”๋€๋‹ค. ์•„๋ž˜ ์—์ œ์˜ js ํŒŒ์ผ์˜ ์œ„์น˜๋Š” /Users/ano/temp/directory.js ์ด๋‹ค. // file ๋ช…์„ ํฌํ•จํ•œ ์ ˆ๋Œ€๊ฒฝ๋กœ console.log(__filename); // C:/Users/ano/temp/directory.js // file ๋ช…์„ ์ œ์™ธํ•œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ console.log(__dirname); // C:/Users/ano/temp __dirname ์™€ pr..

category_image
์ธํŒŒ_
2021.10.28
(0)
Node

[NODE] ๐Ÿ“š Path ๋ชจ๋“ˆ (๊ฒฝ๋กœ ์ œ์–ด)

Path ๋ชจ๋“ˆ path ๋ชจ๋“ˆ์€ ์šด์˜์ฒด์ œ๋ณ„๋กœ ๊ฒฝ๋กœ ๊ตฌ๋ถ„์ž๊ฐ€ ๋‹ฌ๋ผ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์šด์˜์ฒด์ œ ๋ณ„๋กœ ๋‹ฌ๋ผ์ง€๋Š” ๊ตฌ๋ถ„์ž์— ๋Œ€ํ•œ ์ด์Šˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํฌ๊ฒŒ Windows, POSIX ๋กœ ๊ฐˆ๋ฆฌ๋Š”๋ฐ, POSIX๋Š” ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์˜ ์šด์˜์ฒด์ œ๋ฅผ ๋งํ•˜๊ณ , macOS ์™€ Linux ๊ฐ€ ์ด์— ์†ํ•ด์žˆ๋‹ค. Windows: C:\Users\ano ์ฒ˜๋Ÿผ \ ๋ฅผ ์‚ฌ์šฉํ•ด ํด๋”๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. POSIX: /Users/ano ์ฒ˜๋Ÿผ / ๋ฅผ ์‚ฌ์šฉํ•ด ํด๋”๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. path ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋”์™€ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด ์œ„์™€ ๊ฐ™์€ ๊ฒฝ๋กœ ๊ตฌ๋ถ„์ž ์ด์Šˆ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•˜๊ณ , ์ด์™ธ์— ํŒŒ์ผ๋ช…์—์„œ ํŒŒ์ผ๋ช…, ํ™•์žฅ์ž๋ฅผ ๋ณ„๋„๋กœ ๋•Œ์–ด์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ ์ˆ˜ ์žˆ๋‹ค. path ๋ชจ๋“ˆ method path ๋ชจ๋“ˆ์€ ๋‚ด์žฅ ๋ชจ๋“ˆ์ด๋ฏ€๋กœ ๋ณ„๋„ ..

category_image
์ธํŒŒ_
2021.10.28
(0)
Node

[NODE] ๐Ÿ“š Event ๋ชจ๋“ˆ (์ด๋ฒคํŠธ ์ œ์–ด)

Event ๋ชจ๋“ˆ Node.js ์—์„  Event๋ฅผ ๋งค์šฐ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ , ์ด ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋น„์Šทํ•œ ๊ธฐ์ˆ ๋“ค๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ ์†๋„๋ฅผ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. Node.js ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์„œ๋ฒ„๊ฐ€ ๊ฐ€๋™๋˜๋ฉด, ๋ณ€์ˆ˜๋“ค์„ initialize ํ•˜๊ณ , ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ์œ„์ฃผ (Event-Driven) ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š”, ์ด๋ฒคํŠธ๋ฅผ ๋Œ€๊ธฐํ•˜๋Š” ๋ฉ”์ธ ๋ฃจํ”„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒคํŠธ๊ฐ€ ๊ฐ์ง€๋˜์—ˆ์„์‹œ Callbackํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ์ฝœ๋ฐฑ๊ณผ ๋น„์Šทํ•ด ๋ณด์ผ ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€, ์ฝœ๋ฐฑํ•จ์ˆ˜๋Š” ๋น„๋™๊ธฐ์‹ ํ•จ์ˆ˜์—์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ• ๋•Œ ํ˜ธ์ถœ๋˜์ง€๋งŒ, ์ด๋ฒคํŠธํ•ธ๋“ค๋ง์€ ์˜ต์ €๋ฒ„ ํŒจํ„ด์— ์˜ํ•ด ์ž‘๋™๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ๋ฅผ ๋Œ€๊ธฐํ•˜๋Š” (EventListeners) ํ•จ์ˆ˜๋“ค์ด ์˜ต์ €๋ฒ„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์ €๋ฒ„๋“ค์ด ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€, ์ด๋ฒคํŠธ..

category_image
์ธํŒŒ_
2021.10.25
(0)
Node

[NODE] ๐Ÿ“š OS / Process ๋ชจ๋“ˆ (์‹œ์Šคํ…œ ํ™•์ธ)

OS ๋ชจ๋“ˆ OS ๋ชจ๋“ˆ์€ ์‹ค์ œ ๊ฐœ๋ฐœ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ์€ ์•„๋‹ˆ์ง€๋งŒ ์šด์˜์ฒด์ œ์™€ ์‹œ์Šคํ…œ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ์šฉ๋Ÿ‰์ด ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ์„œ ๊ฐ’์ด ๋‹ค๋ฅด๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ „์ฒด ๋ฉ”์†Œ๋“œ๋Š” API ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐ๋ฐ”๋ž๋‹ˆ๋‹ค. os.tmpdir() : ์ž„์‹œ ์ €์žฅ ํด๋”์˜ ์œ„์น˜ os.endianness() : CPU์˜ endianness(BE ๋˜๋Š” LE) os.hostname() : ํ˜ธ์ŠคํŠธ(์ปดํ“จํ„ฐ) ์ด๋ฆ„ os.type() : ์šด์˜์ฒด์ œ ์ด๋ฆ„ os.platform() : ์šด์˜์ฒด์ œ ํ”Œ๋žซํผ os.arch() : ์šด์˜์ฒด์ œ ์•„ํ‚คํ…์ฒ˜ os.release() : ์šด์˜์ฒด์ œ ๋ฒ„์ „ os.uptime() : ์šด์˜์ฒด์ œ๊ฐ€ ์‹คํ–‰๋œ ์‹œ๊ฐ„ os.loadavg()..

category_image
์ธํŒŒ_
2021.10.25
(0)
Node

[NODE] ๐Ÿ“š require ๋ชจ๋“ˆ (๋ชจ๋“ˆ ๊ด€๋ฆฌํ•˜๊ธฐ) ์ •๋ฆฌ

require() CommonJS ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“ˆ์„ ๋‚ด๋ณด๋‚ผ ๋•Œ๋Š” ES6์ฒ˜๋Ÿผ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŠน์ • ๋ณ€์ˆ˜๋‚˜ ๊ทธ ๋ณ€์ˆ˜์˜ ์†์„ฑ์œผ๋กœ ๋‚ด๋ณด๋‚ผ ๊ฐ์ฒด๋ฅผ ์„ธํŒ…ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ์ œ์ผ ํ–‡๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด exports ๋ณ€์ˆ˜์™€ module.exports ๋ณ€์ˆ˜๋ฅผ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ž˜ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ 2๊ฐ€์ง€ ๊ทœ์น™๋งŒ ๊ธฐ์–ตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ, exports๋ณ€์ˆ˜์˜ ์†์„ฑ์œผ๋กœ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋”ฑ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ, module.exports ๋ณ€์ˆ˜ ์ž์ฒด์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ฐ์ฒด๋ฅผ ๋ฌถ์–ด์„œ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ’์„ exportํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ๋ณต์ˆ˜ ๊ฐ์ฒด ๋‚ด๋ณด๋‚ด๊ธฐ/๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋‚ด๋ณด๋‚ด๊ธฐ ์•„๋ž˜๋Š” ๋ฏธ๊ตญ๊ณผ ์บ๋‚˜๋‹ค ๋‹ฌ๋Ÿฌ๋ฅผ ์ƒํ˜ธ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์—๋Š” 3๊ฐœ์˜ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ..

category_image
์ธํŒŒ_
2021.10.25
1
Node

[NODE] ๐Ÿ“š ๋…ธ๋“œ ์ฝ˜์†”์ฐฝ์—์„œ ์ž…์ถœ๋ ฅ IO ํ•˜๋Š”๋ฒ•

๋…ธ๋“œ ์ฝ˜์†” ์ž…๋ ฅ ๋ฐ›๊ธฐ ๋ณดํ†ต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์“ฐ๋ฉด์„œ ์ž…์ถœ๋ ฅ์€ ์›น์—์„œ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. ์›นํŽ˜์ด์ง€์—์„œ form์œผ๋กœ ์ž…๋ ฅ ๋ฐ›๊ณ , console.log๋‚˜ document.write() ๋“ฑ ์„ ํ†ตํ•ด์„œ ์ถœ๋ ฅ์„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ์–ด๋””๊นŒ์ง€๋‚˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฌถ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ์„œ์˜ ๋™์ž‘์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ๋œ node.js์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค๋ฅธ C๋‚˜ JAVA๊ฐ™์ด ์ฝ˜์†”์ฐฝ์—์„œ ์ž…์ถœ๋ ฅ์„ ์ œ์–ดํ• ์ˆ˜ ์žˆ์„๊นŒ? ์ •๋‹ต์€ ํ• ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, C๊ฐ™์ด ๊ฒฐ์ฝ” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ ์ˆ˜๋Š” ์—†๋‹ค. ์ฐจ๊ทผ์ฐจ๊ทผ ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด์ž. ๋…ธ๋“œ ์ฝ˜์†” ์ž…๋ ฅ readline ๋ชจ๋“ˆ readline ๋ชจ๋“ˆ์€ JS ๋‚ด์žฅ ๋ชจ๋“ˆ๋กœ, ํ•œ ๋ฒˆ์— ํ•œ ์ค„์”ฉ Readable ์ŠคํŠธ๋ฆผ (์˜ˆ : process.stdin)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ฒ˜์Œ ์ƒ์„ฑ ์‹œ createInterface๋ฅผ..

category_image
์ธํŒŒ_
2021.10.24
1