๐Ÿ“’ Jero's Review/๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive

๐Ÿ”ถ ๋ณ€์ˆ˜์ปดํ“จํ„ฐ์—์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ชจ๋“  ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10 + 20 = 30์ด๋ผ๋Š” ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด CPU๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๊ฐ’์„ ๊ฐ€์ ธ์™€ ์—ฐ์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.๋ณ€์ˆ˜๋Š” ๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ž์ฒด๋ฅผ ์ง€์นญํ•˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ฆ„์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์— ๋ถ™์—ฌ์ง„ ์ด๋ฆ„์„ ๋ณ€์ˆ˜๋ช…, ์ €์žฅ๋œ ๊ฐ’์„ ๋ณ€์ˆ˜๊ฐ’์ด๋ผ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณผ์ •์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.ํ• ๋‹น : ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ฐธ์กฐ : ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ณผ์ • ๐Ÿ”ถ ์‹๋ณ„์ž์‹๋ณ„์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๊ฐ’์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ..
๐Ÿ”ถ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ์›นํŽ˜์ด์ง€์˜ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๐Ÿ”ถ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ์žฅ๊ณผ ์—ญ์‚ฌ์ดˆ์ฐฝ๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›นํŽ˜์ด์ง€์˜ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ•œ์ •์  ์šฉ๋„๋กœ๋งŒ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.1999๋…„, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋น„๋™๊ธฐ(Asynchronous) ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” Ajax๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค.2006๋…„, jQuery์˜ ๋“ฑ์žฅ์œผ๋กœ ๋‹ค์†Œ ๋ฒˆ๊ฑฐ๋กœ์› ๋˜ DOM์„ ๋”์šฑ ์‰ฝ๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.2008๋…„, ๊ตฌ๊ธ€์˜ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์„ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ •์ฐฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.2009๋…„, ๊ตฌ๊ธ€ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ..
๐Ÿ”ถ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?์ปดํ“จํ„ฐ์—๊ฒŒ ์‹คํ–‰์„ ์š”๊ตฌํ•˜๋Š” ์ผ์ข…์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์œผ๋กœ, 0๊ณผ 1๋ฐ–์— ์•Œ์ง€ ๋ชปํ•˜๋Š” ๊ธฐ๊ณ„๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •ํ™•ํ•˜๊ณ  ์ƒ์„ธํ•˜๊ฒŒ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•˜๋Š” ์ž‘์—…์ด๋‹ค.์ปดํ“จํ„ฐ์˜ ๊ด€์ ์—์„œ ๋ฌธ์ œ๋ฅผ ์‚ฌ๊ณ ํ•˜๋Š” Computational Thinking์„ ํ†ตํ•ด ํ•ด๊ฒฐ ๊ณผ์ œ๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ๋ถ„ํ•ดํ•˜๊ณ  ํŒจํ„ดํ™”ํ•ด์„œ ์ถ”์ถœํ•˜๋ฉฐ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‚ด์—์„œ ์‚ฌ์šฉ๋  ๋ชจ๋“  ๊ฐœ๋…์€ ํ‰๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ”ถ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ปดํ“จํ„ฐ์™€์˜ ๋Œ€ํ™”(๋ช…๋ น)์— ์‚ฌ์šฉ๋˜๋Š” ์ผ์ข…์˜ ํ‘œํ˜„ ์ˆ˜๋‹จ์œผ๋กœ, ์‚ฌ๋žŒ๊ณผ ์ปดํ“จํ„ฐ(์ปดํŒŒ์ผ๋Ÿฌ ๋˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ) ๋ชจ๋‘๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์•ฝ์†๋œ ํ˜•ํƒœ์˜ ์ธ๊ณต์–ด๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๊ตฌ๋ฌธ(Syntax)๊ณผ ์˜๋ฏธ(Semantics)์˜ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. ๐Ÿ”ถ ๊ตฌ๋ฌธ๊ณผ ์˜๋ฏธํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ก ์ด๊ณ  ์ˆ˜ํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ”๋ฅผ..