๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ213

[NodeJS+Express] 2.์ƒˆ๋กœ์šด ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ //server.js const express = require('express') const app = express() //PORT ์—ด๊ธฐ app.listen(8080, ()=>{ console.log('http://localhost:8080 ์—์„œ ์„œ๋ฒ„ ์‹คํ–‰์ค‘!'); }) //root์—์„œ GET์š”์ฒญ(์ ‘์†)์‹œ ๋ Œ๋”๋งํ•  ๋‚ด์šฉ app.get('/', (req, res)=>{ res.send("HELLO!!"); }) ์ €๋ฒˆ ํฌ์ŠคํŠธ์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ๋‹จ ํ•œ๊ฐœ์˜ ํŽ˜์ด์ง€๋งŒ ์ œ์ž‘ํ•˜์˜€๋Š”๋ฐ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? 1. ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€ ๋งŒ๋“œ๋ ค๋ฉด? ํŽ˜์ด์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ? ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ• ๋•Œ URL์„ ์ด์šฉํ•œ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณด์ž. 1) URL URL์˜ .. 2023. 9. 23.
[NodeJS+Express] 1. NodeJS, Express ์„ธํŒ… ์‚ฌ์ „์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค - node LTS ๋ฒ„์ „, ์ฝ”๋“œ์—๋””ํ„ฐ ๋“ฑ - ๊ฐ„๋‹จํ•œ Express๋ฅผ ์ด์šฉํ•˜๋Š” NodeJS ์„œ๋ฒ„ ์„ธํŒ… ์ˆœ์„œ 1. ์ž‘์—…ํ•  ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ๊ฒฝ๋กœ ์ ‘์† 2. js ํŒŒ์ผ ์ƒ์„ฑ ex) server.js 3. ํ•ด๋‹น ๊ฒฝ๋กœ์—์„œ ํ„ฐ๋ฏธ๋„ ์˜คํ”ˆ ํ›„ package.json ํŒŒ์ผ ์ƒ์„ฑ npm init -y package.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์ด๋•Œ -y ์˜ต์…˜์€ default๊ฐ’์œผ๋กœ ์„ค์ •๋œ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. 4. express ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ npm install express express๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž! 5. ์„œ๋ฒ„ ์ฝ”๋“œ ์ž‘์„ฑ const express = require('express') const app = express() //PORT ์—ด๊ธฐ app.listen(.. 2023. 9. 22.
[NodeJS] 2. ๋…ธ๋“œ์˜ ํŠน์„ฑ ๋…ธ๋“œ์˜ 4๊ฐ€์ง€ ํŠน์„ฑ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ Node.JS๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์ด๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์‚ฌ์ „์— ์ง€์ •ํ•ด๋†“์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. - ์ด๋ฒคํŠธ ์˜ˆ์‹œ : ํด๋ฆญ, ๋งˆ์šฐ์Šค์˜ค๋ฒ„, ์Šคํฌ๋กค, get, post ๋“ฑ ์ด๋•Œ ์ด ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์ด๋‹ค. ๋˜ํ•œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•œ ๊ฒฝ์šฐ ์‹คํ–‰๋  ํ•จ์ˆ˜๊ฐ€ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์ด๋‹ค. [์ด๋ฒคํŠธ] 1) ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋“ฑ๋ก 2) ์‹œ์Šคํ…œ์—์„œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ -> ๋ฆฌ์Šค๋„ˆ์—์„œ ๊ฐ์ง€ 3) ๋“ฑ๋ก๋œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‚ฌ์‹ค ์ด ๊ฐœ๋…์€ ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์›๋ฆฌ์— ์ ์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. 2. ๋…ผ๋ธ”๋กœํ‚น I/O NodeJS๋Š” ๋ธ”๋กœํ‚น์ด๋ฉด์„œ ๋™๊ธฐ / ๋…ผ๋ธ”๋กœํ‚น์ด๋ฉด์„œ ๋น„๋™๊ธฐ ์ด๋‹ค. (์šฐ์„ , ์ด๋ ‡๊ฒŒ ๋‘˜์”ฉ ์ง์ง€์–ด์„œ ์•Œ๊ณ ์žˆ์ž.) - ๋™๊ธฐ : ์ฝ”๋“œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋™์ž‘ - ๋น„๋™.. 2023. 9. 17.
[NodeJS] 1. ๋…ธ๋“œ์˜ ์ •์˜ NodeJS์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ์ •์˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ํฌ๋กฌV8 JS์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JS ๋Ÿฐํƒ€์ž„ ์ด๋‹ค. (๋Ÿฐํƒ€์ž„ = ์‹คํ–‰๊ธฐ / ์ฆ‰, nodeJS๋Š” JS ์‹คํ–‰๊ธฐ) - NodeJS๊ฐ€ ์—†์—ˆ์„ ๋•Œ JS๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰์ด ๋˜์—ˆ์„๊นŒ? ์˜ ํ˜•์‹์œผ๋กœ html ์•ˆ์— ๋„ฃ์–ด์•ผํ–ˆ๋‹ค. (์Šคํฌ๋ฆฝํŠธ์— ์ข…์†๋จ!) ๋”ฐ๋ผ์„œ ๊ทธ ์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ํฌ๋กฌ ๊ธฐ๋ฐ˜์˜ NodeJs๊ฐ€ ๋“ฑ์žฅํ•œ ์ดํ›„ ๋‹น์‹œ ๊ธฐ์ค€ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. - ๋…ธ๋“œ๋Š” ์„œ๋ฒ„์ธ๊ฐ€? ์—„๋ฐ€ํžˆ๋Š” ํ‹€๋ฆฐ ๋ง์ด์ง€๋งŒ NodeJS๋กœ ์„œ๋ฒ„์—ญํ• ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. JS (์–ธ์–ด) / NodeJS (๋Ÿฐํƒ€์ž„) 2. ๋Ÿฐํƒ€์ž„ ๋Ÿฐํƒ€์ž„์ด๋ž€ ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋งํ•œ๋‹ค. JS์˜ NodeJS์™ธ ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„ ์˜ˆ.. 2023. 9. 15.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (34)_ prototype (ํŠน์ง• ๋ฐ constructor์™€์˜ ์ฐจ์ด) JS์˜ prototype์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 0. ์ƒ์†(inheritance) ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ์ƒ์†์€ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•˜๋ฉด ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ž์‹ ๊ฐ์ฒด๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. JS์—์„œ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋ช‡๊ฐ€์ง€ ์žˆ๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ๋Š” ์ €๋ฒˆ์‹œ๊ฐ„์— ๋‹ค๋ฃจ์—ˆ๋˜ constructor ๋ฌธ๋ฒ•์ด๋‹ค. 2023.08.08 - [๐ŸŒŒ | WEB DEV/Vanilla JS] - JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (33)_ constructor ๋ฌธ๋ฒ• ๊ทธ๋ฆฌ๊ณ  ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด prototype์ด๋‹ค. 1. prototype ๋ชจ๋“  ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋“ค์€ prototype์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค. function Student(name, code){ this.name = name; this.code = code; } console.log(Student.prot.. 2023. 8. 11.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (33)_ constructor ๋ฌธ๋ฒ• JS์˜ Object๋ฅผ ์ƒ์„ฑํ•˜๋Š” constructor ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 0. Object์˜ ๋ณต์‚ฌ ๋ฌธ์ œ Object๋Š” Reference ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต์‚ฌ๋ฅผ ํ• ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹จ์ˆœํ•˜๊ฒŒ ์ง„ํ–‰ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์ž˜๋ชป๋œ ๊ฐ์ฒด ๋ณต์‚ฌ ์˜ˆ์‹œ let obj1 = {name: "Kassid"}; let obj2 = obj1; ์ด๋ ‡๊ฒŒ ๋ณต์‚ฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฐ’ ์ž์ฒด์˜ ๋ณต์‚ฌ๊ฐ€ ์•„๋‹Œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•œ ๋ณต์‚ฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค. 1. constructor ๋ฌธ๋ฒ• constructor๋Š” ์œ„์˜ object๋ฅผ ์ƒ์„ฑ๊ธฐ๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ์œ„์˜ ๋ณต์‚ฌ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋น„์Šทํ•œ ๊ฐ์ฒด๋ฅผ ์†์‰ฝ๊ฒŒ ์–‘์‚ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ๋ฒ• function ์ƒ์‚ฐ๊ธฐ๊ณ„๋ช…(){ this.์†์„ฑ = ...; .... 2023. 8. 8.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (31)_ ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ (default, arguments) JS ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ค‘ default์™€ argument์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 1. default ํŒŒ๋ผ๋ฏธํ„ฐ default ํŒŒ๋ผ๋ฏธํ„ฐ ์ฆ‰, ๊ธฐ๋ณธ๊ฐ’์€ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๊ฐ’์ด ์ „๋‹ฌ๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋‹จ์ˆœ ๊ฐ’ ๋ฟ๋งŒ ์•„๋‹Œ ๋‹ค์–‘ํ•œ ๊ฒƒ๋“ค์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ 1. ๋‹จ์ˆœ๊ฐ’ function print(a = 1){ console.log(a); } print(); -------- 1 ์˜ˆ์‹œ 2. ์—ฐ์‚ฐ function print(a, b = a*2){ console.log(a + b); } print(1); print(1, 1); -------- 3 2 ์˜ˆ์‹œ 3. ํ•จ์ˆ˜ let square = (i)=>{return i**2}; function print(a, b = square(a)){ console.l.. 2023. 8. 7.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (30)_ Spread Operator JS์˜ Sperad Operator์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 0. Spread Operator Spread Operator๋Š” ์ ์ด 3๊ฐœ(...)์ธ ์—ฐ์‚ฐ์ž์ด๋‹ค. ์ด ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ณณ์— ํ™œ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋จผ์ € ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด์„œ ์—ฐ์‚ฐ์ž์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ฉด ์˜ˆ์‹œ let a = [1, 2, 3]; let b = "Hello"; console.log(...a); console.log(...b); ์ด์ฒ˜๋Ÿผ array ํ˜น์€ ๋ฌธ์ž์—ด ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋ถ„ํ•ดํ•ด์ค€๋‹ค. ํ™œ์šฉ 1. Array ๋ณ‘ํ•ฉ & ๋ณต์‚ฌ ์ฒซ๋ฒˆ์งธ ํ™œ์šฉ์€ array๋ฅผ ํ•ฉ์น˜๊ฑฐ๋‚˜ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 1) ๋ณ‘ํ•ฉ let a = [1, 2]; let b = [3, 4]; let c = [...a, ...b]; console.log(c); c = [...b, ...a.. 2023. 8. 6.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (29)_ Tagged Literals ES6๋ถ€ํ„ฐ๋Š” Tagged Literals ๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 1. Tagged Literals Tagged Literals๋Š” ๋ฌธ์ž ํ•ด์ฒด๋ถ„์„ ๊ธฐ๋Šฅ์„ ํ•จ์ˆ˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ด๋Š” template literals๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ let val = "Korea"; function func(strings, values){ console.log(strings); console.log(values); } func`Welcome to ${val}!` ์œ„์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด func๋ผ๋Š” ํ•จ์ˆ˜์— ๋ฐฑํ‹ฑ( ` )์œผ๋กœ ๊ฐ์‹ธ์ง„ ๋ฌธ์ž์—ด์„ ๋ถ™์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ tagged literals ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. tagged literals ํ•จ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด๋ฉด 2๊ฐœ์˜ ํŒŒ.. 2023. 8. 5.
๋ฐ˜์‘ํ˜•