๋ฐ˜์‘ํ˜•

JavaScript 36

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

13.1 ์Šค์ฝ”ํ”„๋ž€?๋ชจ๋“  ์‹๋ณ„์ž(๋ณ€์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜ ์ด๋ฆ„, ํด๋ž˜์Šค ์ด๋ฆ„ ๋“ฑ)๋Š” ์ž์‹ ์ด ์„ ์–ธ๋œ ์œ„์น˜์— ์˜ํ•ด ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ์‹๋ณ„์ž ์ž์‹ ์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ  ๋ฒ”์œ„๊ฐ€ ๊ฒฐ์ •๋˜๋น„๋‹ค. ์ด๋ฅผ ์Šค์ฝ”ํ”„๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์Šค์ฝ”ํ”„๋Š” ์‹๋ณ„์ž๊ฐ€ ์œ ํšจํ•œ ๋ฒ”์œ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. var x = 'global' function foo() { var x = 'local' console.log(x) //local } foo() console.log(x) //global 13.2 ์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜์ฝ”๋“œ๋Š” ์ „์—ญ๊ณผ ์ง€์—ญ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 13.2.1 ์ „์—ญ๊ณผ ์ง€์—ญ ์Šค์ฝ”ํ”„์ „์—ญ์ด๋ž€ ์ฝ”๋“œ์˜ ๊ฐ€์žฅ ๋ฐ”๊นฅ ์˜์—ญ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ „์—ญ์€ ์ „์—ญ ์Šค์ฝ”ํ”„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์–ด๋””์„œ๋“  ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 13.2.2 ์ง€์—ญ๊ณผ ์ง€์—ญ ์Šค์ฝ”ํ”„์ง€์—ญ์ด๋ž€ ํ•จ์ˆ˜ ๋ชธ์ฒด ๋‚ด๋ถ€๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ง€..

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

12.1 ํ•จ์ˆ˜๋ž€? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํ•จ์ˆ˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๋ฌธ(statement)์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ฝ”๋“œ ๋ธ”๋ก์œผ๋กœ ๊ฐ์‹ธ์„œ ํ•˜๋‚˜์˜ ์‹คํ–‰ ๋‹จ์œ„๋กœ ์ •์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ ์ž…๋ ฅ์„ ์ „๋‹ฌ๋ฐ›๋Š” ๋ณ€์ˆ˜๋ฅผ (parameter), ์ž…๋ ฅ์„ (argument), ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜๊ฐ’return value)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 12.2 ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ ์ธก๋ฉด, ์œ ์ง€๋ณด์ˆ˜์™€ ํŽธ์˜์„ฑ์„ ๋†’์ด๊ณ  ์ฝ”๋“œ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 12.3 ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด ๋ฆฌํ„ฐ๋Ÿด์€ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž ๋˜๋Š” ์•ฝ์†๋œ ๊ธฐํ˜ธ๋กœ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ํ‘œ๊ธฐ ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ๋ฆฌํ„ฐ๋Ÿด์€ ๊ฐ’์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด๋„ ํ‰๊ฐ€๋˜์–ด ๊ฐ’์„ ์ƒ์„ฑํ•˜๋ฉฐ, ์ด ๊ฐ’์€ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ฆ‰ ํ•จ์ˆ˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. 12.4 ํ•จ์ˆ˜ ์ •์˜ 1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ fu..

[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 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)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ์–ธ์–ด์˜ ์—ญํ• ์„ ์ถฉ์‹คํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[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 ํ˜•ํƒœ์˜€์Šต๋‹ˆ๋‹ค. ์ด..

[JavaScript] ๊ธด ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ, ํŠน์ • ๋ฌธ์ž์—ด ์ˆ˜๊นŒ์ง€ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํŠน์ • ๋ฌธ์ž์—ด ์ˆ˜๊นŒ์ง€ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to solve the problem ๊ธด ๋ฌธ์ž์—ด์„ ์ž๋ฅด๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•œ๋ฐ์š”, ๋ณดํ†ต ์ƒ๋žต (...)์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค„๋ฐ”๊ฟˆ์„ ๋ฐฉ์ง€ํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ €์˜ ์ผ€์ด์Šค์˜ ๊ฒฝ์šฐ ํŠน์ • ๋ฌธ์ž์—ด ์ˆ˜๊นŒ์ง€๋งŒ ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ธด ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. let str = 'Some very long string'; ํŠน์ • ๋ฌธ์ž์—ด ์ˆ˜๋ณด๋‹ค ํด ๊ฒฝ์šฐ substring์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฌธ์ž์—ด ์ˆ˜๊นŒ์ง€ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ์ค๋‹ˆ๋‹ค. if(str.length > 10) str = str.substring(0,10); https://stackoverflow.com/questions/3414..

๋ฐ˜์‘ํ˜•