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

๐Ÿ’๊ณต๋ถ€72

HTTP STATUS CODE ๋„ˆ๋„ ์•Œ๊ณ  ๋‚˜๋„ ์•„๋Š” 404...! ๊ทธ๋Ÿฐ ์• ๋“ค์„ Status code๋ผ๊ณ  ํ•˜๊ณ , ์นœ์ˆ™ํ•œ 200 400๋ฒˆ๋Œ€๋ง๊ณ  ์ซŒ ๋‚ฏ์„  ์• ๋“ค๋„ ์ •๋ฆฌํ•ด๋ณผ๊นŒ ํ•œ๋‹ค๐Ÿ˜Ž ๊ทผ๋ฐ ์ง„์งœ ๋งŽ๋‹ค.. โœ… 1xx (์ •๋ณด) ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ, ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค 100 Continue ์ง„ํ–‰ ์ค‘, ํ˜„์žฌ๊นŒ์ง€ ๋ฌธ์ œ ์—†์Œ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณ„์† ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์ด๋ฏธ ์š”์ฒญ์ด ๋๋‚œ ๊ฒฝ์šฐ์—๋Š” ๋ฌด์‹œํ•ด๋„ ๋จ 101 Switching Protocol ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ Upgrade ์š”์ฒญ ํ—ค๋”์— ๋Œ€ํ•œ ์‘๋‹ต, ์„œ๋ฒ„์—์„œ ํ”„๋กœํ† ์ฝœ์„ ๋ณ€๊ฒฝํ•  ๊ฑฐ๋ผ๋Š” ๋œป 102 Processing(WebDAV) ์š”์ฒญ์„ ์ˆ˜์‹  ํ–ˆ๊ณ  ์ฒ˜๋ฆฌ์ค‘์ธ๋ฐ, ์•„์ง ์ œ๋Œ€๋กœ ๋œ ์‘๋‹ต์€ ๋ชจ๋ฅด๊ฒ ์œผ๋‹ˆ ๊ธฐ๋‹ค๋ ค๋ณด๋ผ๋Š” ๋œป โœ… 2xx (์„ฑ๊ณต) ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค 200 OK ์š”์ฒญํ•œ ์ž‘์—…์ด ์„ฑ๊ณตํ•จ 201 Cr.. 2021. 10. 11.
[JavaScript] Callback vs Promise vs async-await promise๋Š” ์ด์ œ ์ง„์งœ ์•Œ ๋•Œ๋„ ๋˜์—ˆ๋‹ค. #๊ฐ€๋ณด์ž๊ณ ... โœ… Callback ์ฝœ๋ฐฑ ์ง€์˜ฅ = ์ฝœ๋ฐฑ์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ์ฝ๊ธฐ ํž˜๋“ค๊ณ , ์ดํ•ดํ•˜๊ธฐ๋„ ํž˜๋“ฌ ์—๋Ÿฌ์ฒ˜๋ฆฌํ•˜๊ธฐ๋„ ํž˜๋“ฌ ์œ ์ง€๋ณด์ˆ˜๋„ ํž˜๋“ฌ ๊ทธ๋ฆฌ๊ณ  ์‹คํŒจํ–ˆ๋Š”์ง€/์„ฑ๊ณตํ–ˆ๋Š”์ง€/๋Œ€๊ธฐ์ค‘์ธ์ง€ ์•Œ๋ ค์ฃผ์ง€ ์•Š์Œ (์—๋Ÿฌ๊ฐ€ ๋‚˜์•ผ๋งŒ ์•„ ๋ญ”๊ฐ€ ์ž˜๋ชป๋๊ตฌ๋‚˜ ๋ผ๊ณ  ์•Œ์ˆ˜์žˆ์Œ๐Ÿ˜ฐ) → ๊ทธ๋ž˜์„œ promise๊ฐ€ ๋“ฑ์žฅ โœ… Promise promise๋Š” ๊ฐ์ฒด์ž„ new Promise()๋กœ ํ”„๋กœ๋ฏธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ข…๋ฃŒํ•  ๋•Œ ๊นŒ์ง€ ํ”„๋กœ๋ฏธ์Šค๋Š” 3๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง pending(๋Œ€๊ธฐ) : ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ ๋ฏธ์™„๋ฃŒ (์ƒ์„ฑ ์งํ›„ === ๊ธฐ๋ณธ์ƒํƒœ) fulfilled(์ดํ–‰) : ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์„ฑ๊ณต → resolve ํ˜ธ์ถœ rejected(์‹คํŒจ) : ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์‹คํŒจ → reject ํ˜ธ์ถœ Promise ํ›„์† ์ฒ˜๋ฆฌ ๋ฉ”์„œ๋“œ then : ์ธ.. 2021. 10. 10.
[JavaScript] ํ™”์‚ดํ‘œํ•จ์ˆ˜ vs ์ผ๋ฐ˜ํ•จ์ˆ˜ โœ… ์ผ๋ฐ˜ ํ•จ์ˆ˜ this๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ์ž์‹ ์„ ํ’ˆ๊ณ ์žˆ๋Š” scope๋กœ ํ•ญ์ƒ ๋ณ€ํ•จ (โŒ์–ด๋””์„œ ์„ ์–ธํ–ˆ๋Š๋ƒโŒ โญ•์–ด๋””์„œ ํ˜ธ์ถœํ–ˆ๋Š๋ƒโญ•) const example = { name: "world", speak: function() { function getName() { return `${this.name}`; } return `Hello ${getName()}`; } }; example.speak(); // Hello //์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด.. const example = { name: "world", speak: function() { //์—ฌ๊ธฐ๊นŒ์ง€๋Š” this์— ๊ฐ์ฒด example์ด bind๋ผ์žˆ์Œ const self = this; // self๋ฅผ ์„ ์–ธํ•ด์„œ ๊ฒฐํ•ฉ์‹œํ‚ด function getName() { return `${se.. 2021. 10. 9.
์ฟ ํ‚ค vs ์„ธ์…˜์ €์žฅ์†Œ vs ๋กœ์ปฌ์ €์žฅ์†Œ ์‚ฌ๋žŒ์˜ ๋‡Œ๋Š” ๋žจ์ด๋‹ค ์™œ๋ƒ๋ฉด ํœ˜๋ฐœ์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค... #๊ทธ๋ž˜๋„ #๋‹ค์‹œ #๊ฐ€๋ณด์ž๊ณ  โœ… ์ฟ ํ‚ค๐Ÿช ์›น์‚ฌ์ดํŠธ์— ์˜ํ•ด ์œ ์ €์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋จ ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ ๊ธฐ๊ฐ„ ์ง€์ •์ด ๊ฐ€๋Šฅํ•จ(ex : 1์‹œ๊ฐ„ ๋’ค, ํ•˜๋ฃจ ๋’ค ๋“ฑ๋“ฑ) ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›์„ ํ•จ ์ €์žฅ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋งค์šฐ๋งค์šฐ ์ž‘์Œ(4kb) ์„œ๋ฒ„์— ๋งค๋ฒˆ HTTP์š”์ฒญ์„ ํ•ด์„œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒํ•จ ๊ทผ๋ฐ ์ฟ ํ‚ค๋Š” ์• ์ดˆ์— ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ์ง€์†์ ์ธ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„๊ฑฐ๋ผ.. ๋งค๋ฒˆ ์ „๋‹ฌ ํ•  ์ˆ˜ ๋ฐ–์—.. ์ฃผ๋กœ ํŒ์—…์ฐฝ ๋‹ค์‹œ ๋ณด์ง€ ์•Š์Œ ๊ธฐ๋Šฅ์— ๋งŽ์ด ์‚ฌ์šฉ๋จ โœ… ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€ (Session Storage, ์ž„์‹œ์ €์žฅ์†Œ) ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์ด ์žˆ์–ด์„œ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ ์ฐฝ์„ ์—ด๋ฉด ์ดˆ๊ธฐํ™” ๋จ ์ž๋™ ์ž„์‹œ ์ €์žฅ ์šฉ๋„๋กœ ์“ฐ์ž„ ์ฃผ๋กœ ์ž…๋ ฅํผ ์ •๋ณด ์ €์žฅ.. 2021. 10. 9.
REST API? ๊ทธ๋ž˜ ์ด ์ค‘์š”ํ•œ๊ฑธ ์ •๋ฆฌ๋ฅผ ์•ˆํ•ด๋†จ์„๋ฆฌ๊ฐ€ ์—†๋Š”๋ฐ.......!^^!!!! ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•œ ์Šค์Šค๋กœ๊ฐ€ ๋ฐ‰๋‹ค.. ํ—ท๊ฐˆ๋ฆฌ๋ฉด ๋ญ๋‹ค? #๋‹ค์‹œ #๊ฐ€๋ณด์ž๊ณ  #๋ ˆ๊ณ  ๐Ÿค” REST? โœ… REST(Representational State Transfer) โœ… REST์˜ ํŠน์ง• ๐Ÿค” REST API? โœ… REST API์˜ ๊ตฌ์„ฑ ์š”์†Œ ๐Ÿค” REST? โœ… REST(Representational State Transfer) ์ž์›(์ด๋ฏธ์ง€, ๋™์˜์ƒ, DB....)์„ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•ด๋‹น ์ž์›์˜ ์ƒํƒœ(์ •๋ณด)๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธ JSON์ด๋‚˜ XML์„ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์  URI๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ  HTTP method(GET, POST, PUT, PATCH, DELETE)๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ CRUD๋ฅผ ์ ์šฉ ์›น์˜ ์žฅ์ ์„ ์ตœ๋Œ€ํ•œ.. 2021. 10. 8.