์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ์ตœ์ ํ™” #2 : ๋ Œ๋”๋ง

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ์ตœ์ ํ™” #1 ํฌ์ŠคํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ NHN์€ ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ์ด์•ผ๊ธฐ์˜ ๋‚ด์šฉ๋“ค์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ • ๋ฐ ๊ธฐํƒ€์—์„œ๋„ ์†๋„๋ฅผ ํ–ฅ์ƒ ์‹œํ‚ฌ์ˆ˜ ์žˆ๋‹ค. ๋ Œ๋”๋ง ๋ฐ ๊ธฐํƒ€ ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ์•„๋ž˜ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. reflow, repaint ์ตœ์†Œํ™”๋…ธ์ถœ ์ œ์–ด๋ฅผ ํ†ตํ•œ reflow ์ตœ์†Œํ™” (display ์†์„ฑ ์ด์šฉ)DOM, ๊ฐ์ฒด ์บ์‹ฑ๊ธฐํƒ€ reflow, repaint ์ตœ์†Œํ™” ๊ฐ™๊ฑฐ๋‚˜ ๋™์ผํ•œ ์ž‘์—…์€ ๊ทธ๋ฃน์„ ๋ฌถ์–ด ์‹คํ–‰ํ•œ๋‹ค. (๊ตฌ๋ฒ„์ „ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ „์˜ ์ž‘์—…์˜ ๊ฒฝ์šฐ, ์—ฌ๋Ÿฌ๋ฒˆ์˜ reflow์™€ repaint๊ฐ€ ๋ฐœ์ƒํ•˜๋‚˜ ์ตœ์‹  ๋ฒ„์ „ ํฌ๋กฌ์˜ ๊ฒฝ์šฐ ํ•œ๋ฒˆ๋งŒ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•จ) reflow์™€ repaint์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ  ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง : reflow & repaint // ์ „ var width = do..

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ์ตœ์ ํ™” #1 : ์ฝ”๋“œ ์Šคํƒ€์ผ

nhn์€ ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ์ด์•ผ๊ธฐ์˜ ๋‚ด์šฉ๋“ค์„ ๋ฐœ์ทŒํ•˜์˜€์Œ ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„๋งŒ ์ถ”๋ ค์„œ ์š”์•ฝํ•œ๋‹ค. ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ถ€๋ถ„์—์„œ๋Š” ํฌ๊ฒŒ ์•„๋ž˜ 3๊ฐ€์ง€๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋ณ€์ˆ˜, ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์ ‘๊ทผ์ •๊ทœํ‘œํ˜„์‹๋ฐ˜๋ณต๋ฌธ ๋ณ€์ˆ˜, ๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ์ ‘๊ทผ 1) ๋ฐฐ์—ด ์ƒ์„ฑ : var arr = []; ์ด var arr = new Array() ๋ณด๋‹ค ๋น ๋ฆ„ 2) ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™” ๋ฐ ์ ‘๊ทผ : arr[i] = i;์ด vs arr.push(i); ๋ณด๋‹ค ๋น ๋ฆ„ 3) ๊ฐ์ฒด ์ƒ์„ฑ : var obj = {}; vs var obj = new Object(); ๋ณด๋‹ค ๋น ๋ฆ„ 4) ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™” ๋ฐ ์ ‘๊ทผ : obj.a = 1; vs obj["a"] = 1; ๋ณด๋‹ค ๋น ๋ฆ„ 5) ๋ฌธ์ž์—ด ์ƒ์„ฑ : var str = "test";..

๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง - ๋ฆฌํ”Œ๋กœ์šฐ(Reflow)์™€ ๋ฆฌํŽ˜์ธํŠธ(Repaint)

๋ Œ๋”๋ง ๊ณผ์ • 1) DOM ํŠธ๋ฆฌ ์ƒ์„ฑ 2) ์Šคํƒ€์ผ ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ 3) ๋ Œ๋” ํŠธ๋ฆฌ ์ƒ์„ฑ 4) ๋ ˆ์ด์•„์›ƒ ์ฒ˜๋ฆฌ 5) Paint 6) ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ Reflow, Repaint๊ฐ€ ์ถ”๊ฐ€๋กœ ๋ฐœ์ƒ reflow ์ƒ์„ฑ๋œ DOM ๋…ธ๋“œ์˜ ๋ ˆ์ด์•„์›ƒ(๋„ˆ๋น„, ๋†’์ด ๋“ฑ) ๋ณ€๊ฒฝ ์‹œ, ์˜ํ–ฅ๋ฐ›์€ ๋ชจ๋“  ๋…ธ๋“œ(์ž์‹, ๋ถ€๋ชจ ๋“ฑ)์˜ ์ˆ˜์น˜๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์—ฌ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ์žฌ์ƒ์„ฑํ•˜๋Š” ์ž‘์—… function reflow() { document.getElementById('test').style.width = '100px'; return false; } repaint Reflow ๊ณผ์ •์ด ๋๋‚œ ํ›„ ์žฌ์ƒ์„ฑ๋œ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋Š” ์ž‘์—…. ์ˆ˜์น˜์™€ ์ƒ๊ด€์—†๋Š” background-color, visibillty, outline ๋“ฑ์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ ์‹œ์—๋Š” Reflo..

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์ •๋ฆฌ

1. ๊ธฐ๋ณธ๋ฌธ๋ฒ•1.1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŠน์ง•1.1.1. ํ•จ์ˆ˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋Š” ์–ดํœ˜์  ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง„ ์ผ๊ธ‰ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜์— ๋Œ€์ž…๋˜๊ฑฐ๋‚˜ ์ธ์ˆ˜๋กœ ๋„˜๊ธธ ์ˆ˜๋„ ์žˆ๊ณ , ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์—ฐ์‚ฐ ๋“ฑ์— ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ „ํ˜€ ์ œ์•ฝ์ด ์—†๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.1.1.2. ๋Š์Šจํ•œ ํƒ€์ž… ์ฒดํฌ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํƒ€์ž… ์˜ค๋ฅ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ํด๋ž˜์Šค ๊ณ„์ธต์„ ๊ตฌ์„ฑํ•  ํ•„์š”๋„๊ฐ€ ์—†๊ณ , ํƒ€์ž… ์บ์ŠคํŒ…์„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.1.1.3. Object Literal์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ณ„๋˜๋Š” ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„/๊ฐ’ ์Œ๋“ค์ด ๋‹ค์‹œ ์‰ผํ‘œ๋กœ ๋ถ„๋ฆฌ๋œ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Json์— ๊ธฐ์ดˆ๊ฐ€ ๋˜๋ฉฐ, ํ•„์š”ํ•œ ์š”์†Œ๋“ค์„ ์—ด๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.1.1.4. prototype์— ์˜ํ•œ ์ƒ์†ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๊ฐ์ฒด์— ..

์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (๋ฐ์ด๋น„๋“œ ํ—ˆ๋จผ)

1์žฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ์ต์ˆ™ํ•ด์ง€๊ธฐ __์•„์ดํ…œ 1 ์–ด๋–ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹คโ€‹์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ง€์›ํ•  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฒ„์ „์„ ์ •ํ•˜๋ผํ•ญ์ƒ ์ŠคํŠธ๋ฆญํŠธ ๋ชจ๋“œ ํ™•์ธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ์ŠคํŠธ๋ฆญํŠธ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ผ __์•„์ดํ…œ 2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž ์ดํ•ดํ•˜๊ธฐโ€‹์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ˆซ์ž๋Š” double ์ •ํ™•๋„์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋‹ค์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ •์ˆ˜๋Š” ๋ณ„๊ฐœ์˜ ๋ฐ์ดํ„ฐํ˜•์ด ์•„๋‹ˆ๋ผ double์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ด๋‹ค๋น„ํŠธ๋‹จ์œ„ ์—ฐ์‚ฐ์ž๋Š” ์ˆซ์ž๋ฅผ 32๋น„ํŠธ์˜ ๋ถ€ํ˜ธ๊ฐ€ ์žˆ๋Š” integer์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ถ€๋™ ์—ฐ์ˆ˜์  ์‚ฐ์ˆ  ์—ฐ์‚ฐ์˜ ์ •ํ™•๋„์˜ ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ์„ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค __์•„์ดํ…œ 3 ์•”๋ฌต์ ์ธ ํ˜•๋ณ€ํ™˜์„ ์ฃผ์˜ํ•˜๋ผโ€‹๋ฐ์ดํ„ฐํ˜• ์—๋Ÿฌ๋Š” ์•”๋ฌต์ ์ธ ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜์— ์˜ํ•ด ์€๋ฐ€ํ•˜๊ฒŒ ๊ฐ์ถฐ์งˆ ์ˆ˜ ์žˆ๋‹ค+ ์—ฐ์‚ฐ์ž๋Š” ์ธ์ž์˜ ๋ฐ์ดํ„ฐํ˜•์— ๋”ฐ๋ผ ๋ง์…ˆ์ด๋‚˜ ๋ฌธ์žํ˜• ..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
ยซ   2024/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ