๋ฐ˜์‘ํ˜•

Programming/JavaScript 36

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 11์žฅ ์›์‹œ ๊ฐ’๊ณผ ๊ฐ์ฒด์˜ ๋น„๊ต, ์–‡์€ ๋ณต์‚ฌ ๊นŠ์€ ๋ณต์‚ฌ

์ž๋น„์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” 7๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ํƒ€์ž… (์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ๋ฆฌ์–ธ, Null, undfined, ์‹ฌ๋ฒŒ, ๊ฐ์ฒด ํƒ€์ž…)์€ ํฌ๊ฒŒ ์›์‹œ ํƒ€์ž…๊ณผ ๊ฐ์ฒดํƒ€์ž…์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์›์‹œ ํƒ€์ž…์˜ ๊ฐ’์€ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด ํƒ€์ž…์˜ ๊ฐ’์€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค. - ์›์‹œ ๊ฐ’์„ ๋ณ€์ˆ˜ ํ• ๋‹น ์‹œ ๋ณ€์ˆ˜(ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„)์—๋Š” ์‹ค์ œ ๊ฐ’์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ๋ณ€์ˆ˜ ํ• ๋‹น ์‹œ ๋ณ€์ˆ˜(ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„)์—๋Š” ์ฐธ์กฐ ๊ฐ’์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. - ์›์‹œ ๊ฐ’ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹น ์‹œ ๊ฐ’์— ์˜ํ•œ ์ „๋‹ฌ (pass by value)๋ผ๊ณ  ํ•˜๊ณ , ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋ฉด ์ฐธ์กฐ์— ์˜ํ•œ ์ „๋‹ฌ (pass by reference)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 11.1 ์›์‹œ ๊ฐ’ 11.1.1 ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’ const o = {}; // const ..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 10์žฅ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

* 07์žฅ ์—ฐ์‚ฐ์ž, 08์žฅ ์กฐ๊ฑด๋ฌธ, 09์žฅ ์ผ๋ถ€ ๋ถ€๋ถ„์€ ํŒจ์Šคํ•ฉ๋‹ˆ๋‹ค. * 9.1 ํƒ€์ž… ๋ณ€ํ™˜์ด๋ž€? ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ ์œผ๋กœ ๊ฐ’์˜ ํƒ€์ž…์„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ช…์‹œ์  ํƒ€์ž… ๋ณ€ํ™˜ ๋˜๋Š” ํƒ€์ž… ์บ์ŠคํŒ…์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์™€ ์˜๋„์™€ ์ƒ๊ด€์—†์ด JS์—”์ง„์— ์˜ํ•ด ์•”๋ฌต์ ์œผ๋กœ ํƒ€์ž…์ด ๋ณ€ํ™˜๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™” ๋˜๋Š” ํƒ€์ž… ๊ฐ•์ œ ๋ณ€ํ™˜์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. 9.2 ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ JS์—”์ง„์€ ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•  ๋•Œ ์ฝ”๋“œ์˜ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•ด ์•”๋ฌต์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ•์ œ ๋ณ€ํ™˜ ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. '10' + 2 // '102' 7 * '10' // 70 9.4 ๋‹จ์ถ• ํ‰๊ฐ€ 9.4.4 ์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž ES11์— ๋„์ž…๋œ ์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž ?. ๋Š” ์ขŒํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ null ๋˜๋Š” undefined์ธ ๊ฒฝ์šฐ undefined๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 06์žฅ ๋ฐ์ดํ„ฐ ํƒ€์ž…

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 6.1 ์ˆซ์ž ํƒ€์ž… ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” C/Java์™€ ๋‹ฌ๋ฆฌ ํ•˜๋‚˜์˜ ์ˆซ์ž ํƒ€์ž…๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 6.2 ๋ฌธ์ž์—ด ํƒ€์ž… ๋ฌธ์ž์—ด ํƒ€์ž…์€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 6.3 ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด ES6๋ถ€ํ„ฐ ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์ด๋ผ๊ณ  ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ํ‘œ๊ธฐ๋ฒ•์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑํ‹ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 6.4 ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž… ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž…์˜ ๊ฐ’์€ ๋…ผ๋ฆฌ์  ์ฐธ, ๊ฑฐ์ง“์„ ๋‚˜ํƒ€๋‚ด๋Š” true์™€ false ๋ฟ์ž…๋‹ˆ๋‹ค. 6.5 undefined ํƒ€์ž… undefined ํƒ€์ž…์˜ ๊ฐ’์€ undefined๊ฐ€ ์œ ์ผํ•ฉ๋‹ˆ๋‹ค. undefined๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์— ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹œํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 05์žฅ ํ‘œํ˜„์‹๊ณผ ๋ฌธ

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 5.1 ๊ฐ’ ๊ฐ’(value)๋Š” ์‹์ด ํ‰๊ฐ€๋˜์–ด ์ƒ์„ฑ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. 5.2 ๋ฆฌํ„ฐ๋Ÿด ๋ฆฌํ„ฐ๋Ÿด(literal)์€ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž ๋˜๋Š” ์•ฝ์†๋œ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค. 3 3์€ ์•„๋ผ๋น„์•„ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ์ˆซ์ž ๋ฆฌํ„ฐ๋Ÿด์ด๋‹ค. js์—”์ง„์€ ์ด๋ฅผ ํ‰๊ฐ€ํ•ด ์ˆซ์ž ๊ฐ’ 3์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ! ์ˆซ์ž ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๊ฐ’์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. (์ •์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด, ๋ถ€๋™์†Œ์ˆ˜์  ๋ฆฌํ„ฐ๋Ÿด, 2์ง„์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด ... ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด, ๋ถˆ๋ฆฌ์–ธ ๋ฆฌํ„ฐ๋Ÿด, null ๋ฆฌํ„ฐ๋Ÿด, undefined๋ฆฌํ„ฐ๋Ÿด, ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด, ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด, ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด, ์ •๊ทœ ํ‘œํ˜„์‹ ๋ฆฌํ„ฐ๋Ÿด ๋“ฑ) 5.3 ํ‘œํ˜„์‹ ํ‘œํ˜„์‹์€ ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ด๋‹ค. ํ‘œํ˜„์‹์ด ํ‰๊ฐ€๋˜๋ฉด ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ƒ์„ฑํ•˜..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 04์žฅ ๋ณ€์ˆ˜

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 4.1 ๋ณ€์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์™œ ํ•„์š”ํ•œ๊ฐ€? ์ปดํ“จํ„ฐ๋Š” CPU๋ฅผ ์‚ฌ์šฉํ•ด ์—ฐ์‚ฐํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์–ตํ•œ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. 4.2 ์‹๋ณ„์ž ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‹๋ณ„์ž๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์ž๋Š” ์–ด๋–ค ๊ฐ’์„ ๊ตฌ๋ณ„ํ•ด์„œ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์‹๋ณ„์ž๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๋ฉ”๋กœ์ด ์ฃผ์†Œ์— ๋ถ™์ธ ์ด๋ฆ„์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํ‹€๋ž˜์Šค ๋“ฑ์˜ ์ด๋ฆ„์€ ๋ชจ๋‘ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. 4.3 ๋ณ€์ˆ˜ ์„ ์–ธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ์„ ์–ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์„ ์–ธ ์‹œ์—๋Š” var, let, c..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 03์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์‹คํ–‰ ๋ฐฉ๋ฒ•

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 3.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Node.js ํ™˜๊ฒฝ, ๊ทธ๋ฆฌ๊ณ  VSCode๋ฅผ ํ™œ์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €๋‚˜ Node.js ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ด…์‹œ๋‹ค. 3.2 ์›น ๋ธŒ๋ผ์šฐ์ € ์—ฌ๊ธฐ์„œ๋Š” ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. 3.2.1. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋Š” ์›น ๊ฐœ๋ฐœ์— ์œ ์šฉํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. - Elements : ๋กœ๋”ฉ๋œ ์›นํŽ˜์ด์ง€์˜ DOM๊ณผ CSS๋ฅผ ํŽธ์ง‘ํ•ด์„œ ๋ Œ๋”๋ง๋œ ๋ทฐ๋ฅผ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Œ - Console : ๋กœ๋”ฉ๋œ ์›น ํŽ˜์ด์ง€์˜ ์—๋Ÿฌ๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ console.log ๋ฉ”์„œ๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ - Sources : ๋กœ๋”ฉ๋œ ์›น ํŽ˜์ด์ง€์˜ js ์ฝ”๋“œ๋ฅผ ๋””๋ฒ„๊น… ํ•  ์ˆ˜ ์žˆ์Œ - Ne..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 02์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€?

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 2.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 1996๋…„ 3์›” ๋„ท์Šค์ผ€์ดํ”„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ํƒ‘์žฌ๋˜์—ˆ๊ณ , ์ด๋ฆ„์ด ๋ฐ”๋€Œ์–ด ์ตœ์ข…์ ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2.2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ‘œ์ค€ํ™” ๊ฒฝ์Ÿ์œผ๋กœ ์ธํ•ด ๋ธŒ๋ผ์šฐ์ €์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ, ์›นํŒจ์ด์ง€๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ‘œ์ค€ํ™”๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•„์š”์„ฑ์ด ๋Œ€๋‘๋˜๊ณ  ํ‘œ์ค€ํ™”๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2.3 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒ์ง•์˜ ์—ญ์‚ฌ ๋ Œ๋”๋ง์ด๋ž€? HTML, CSS, JS๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ ํ•ด์„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์— ์‹œ๊ฐ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ HTML๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ • (SSR: Ser..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] 01์žฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ด ๊ธ€์€ ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1.1 ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? - ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ์ปดํ“จํ„ฐ์—๊ฒŒ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. - ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์šฐ์„ ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ณต์žกํ•จ์„ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ถ„ํ•ดํ•˜๊ณ  ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - ์ปดํ“จํŒ… ์‚ฌ๊ณ ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. - ์ˆ˜์น˜ํ™” ํ•ด์„œ ์ •์˜ํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 1.2 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ปดํ“จํ„ฐ์—๊ฒŒ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๊ตฌ๋ฌธ๊ณผ ์˜๋ฏธ์˜ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. 1.3 ๊ตฌ๋ฌธ๊ณผ ์˜๋ฏธ ๋ฌธ๋ฒ•(Syntax)์— ๋งž๋Š” ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ก  ์˜๋ฏธ(semantics)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ์–ธ์–ด์˜ ์—ญํ• ์„ ์ถฉ์‹คํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[Node.js] npm ๊ณผ npx ์˜ ์ฐจ์ด์ 

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” npm๊ณผ npx์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. next.js ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ด๊ฒƒ์ €๊ฒƒ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋ฉด์„œ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ์š”, npm๊ณผ npx์˜ ์ฐจ์ด์ ์ด ๊ถ๊ธˆํ•ด์ง€๋”๋ผ๊ณ ์š”. npx create-next-app@latest --typescript NPM, NPX npm๊ณผ npx๋Š” ๋ชจ๋‘ Node.js ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € (NPM)์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. NPM npm์€ Node.js ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜, ๊ด€๋ฆฌ ๋ฐ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. npm์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ๋“ค์ž…๋‹ˆ๋‹ค. NPX(execute npm package binaries) npm ํŒจํ‚ค์ง€๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ..

[JavaScript] Moment.js ์˜ค์ „/์˜คํ›„ ํ‘œ๊ธฐ ์œ„์น˜ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Moment.js ์—์„œ ์˜ค์ „/์˜คํ›„ ํ‘œ๊ธฐ์˜ ์œ„์น˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ DB์—์„œ ๋ฐ›์•„์˜จ datetime ์‹œ๊ฐ„์„ 23.03.15 ์˜คํ›„ 10:30 ์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ momentjs ์—๋Š” ๋‹ค์Œ์˜ ์˜ˆ์‹œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ format์„ ์ปค์Šคํ…€ํ•˜์—ฌ ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. How to solve the problem ์ €๋Š” ํ•ด๋‹น ํ‘œ๊ธฐ๋ฒ•์„ ์ „์—ญ์œผ๋กœ ์ ์šฉํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณตํ†ต ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์คฌ์Šต๋‹ˆ๋‹ค. datetime ์‹œ๊ฐ„๊ณผ, format ์˜ 2๊ฐ€์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ , moment๋ฅผ ํ™œ์šฉํ•˜์—ฌ format์„ ์ ์šฉ์‹œ์ผœ์คฌ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ DB์˜ datetime ํƒ€์ž…์ด string์ด๊ณ , YY.MM.DD hh:mm ํ˜•ํƒœ์˜€์Šต๋‹ˆ๋‹ค. ์ด..

๋ฐ˜์‘ํ˜•