๐๊ณต๋ถ72 [JavaScript] window.requestAnimationFrame() ์ธ์์ ๋๊ณ ์์ง ๊ฐ๊ธธ์ด ๋ฉ~~~~~~๋ค๋ ๊ฒ์^^,, #ํ์ง๋ง #๊ฐ๋ณด์๊ณ ๐ค requestAnimationFrame? ์๋ฐ์คํฌ๋ฆฝํธ์ webAPI์ ์๋ ๋น๋๊ธฐ ํจ์ ๋ธ๋ผ์ฐ์ ์๊ฒ ์ํํ๊ธฐ๋ฅผ ์ํ๋ ์ ๋๋ฉ์ด์ ์ ์๋ฆฌ๊ณ , ๋ค์ ๋ฆฌํ์ธํธ๊ฐ ์งํ๋๊ธฐ ์ ํด๋น ์ ๋๋ฉ์ด์ ์ ์ ๋ฐ์ดํธํ๋ ํจ์๋ฅผ ํธ์ถํ๊ฒ ํจ. ๋ฆฌํ์ธํธ ์ด์ ์ ์คํํ ์ฝ๋ฐฑ์ ์ธ์๋ก ๋ฐ์. ๋ฆฌํด๊ฐ์ ์ฝ๋ฐฑ ๋ฆฌ์คํธ์ ํญ๋ชฉ์ ์ ์ํ๋ ๊ณ ์ ํ ์์ฒญ id์ธ long ์ ์ ๊ฐ. (MDN ์ฐธ๊ณ ) ์ด๊ฑธ ์ ์ฐ๋๊ฑฐ์ง? ์ ๋๋ฉ์ด์ ์ ์ํด ๋ง๋ค์ด์ง ""๋น๋๊ธฐ""ํจ์ ์ฑ๋ฅ ์ต์ ํ (๋ฐฑ๊ทธ๋ผ์ด๋ ๋์ ๋ฐ ๋นํ์ฑํ ์ ์ค์ง) ์ต๋ 1ms๋ก ์ ํ๋๋ฉฐ, 1์ด์ 60๋ฒ ๋์ ๋ค์์ ์ ๋๋ฉ์ด์ ๋ ๊ฐ๊ฐ ํ์ด๋จธ๊ฐ์ ์์ฑ ๋ฐ ์ฐธ์กฐํ์ง ์๊ณ , ๋ด๋ถ์ ๋์ผํ ํ์ด๋จธ๋ฅผ ์ฐธ์กฐํจ requesetAni.. 2021. 10. 7. ๋ถํ ํ ์คํธ, ์คํธ๋ ์ค ํ ์คํธ ๋ชฝ๊ธ ๋ผ์ดํธ ํ๋ก์ ํธ์ ๋ํ ํผ๋๋ฐฑ์ ๋ฐ์๋ค! ๋ถํํ ์คํธ๋ฅผ ํ์ ๋, ์ผ์ ๊ธ์? ์ผ์ ๊ฐฏ์? ์ด์ ์ ๋ ฅํ๋ฉด ํฐ์ง๋ค๊ณ ๋ง์ํด์ฃผ์ ์ ๊น์ง๋๋๋ค. (์ด๋ฐ๊ฒ ๋ฐ๋ก ํ ์คํธ์ ํ์์ฑ์ธ๊ฐ!) ์๊ฐํด๋ณด๋ฉด ์ ํด์ง ๋งต์ ๋ฌ๋ฆฌ๋ผ๊ณ ๋ง๋ค์ด๋ ์นดํธ๋ผ์ด๋์์๋ ์ญ์ฃผํ ํ๋ ์ฌ๋๋ ์๊ณ ๋งต์ ๋ฐ์ด๋๋ ์ฌ๋๋ ์๊ณ ์ฌ๊ฐ์ง๋๋ฅผ ์ฐพ์์ ์จ๋ฐ๊ผญ์ง์ ํ๋ ์ฌ๋๋ ์๊ณ ... ์ฐฝ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ๋ ์ฌ๋๋ค์ด ๋ง์๋ฐ, ์ด๋ ์น ๋ํ ๋ง์ฐฌ๊ฐ์ง๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๋์ ์งง์ ๊ฒฌ์์ผ๋ก๋ ์์ง ์ปค๋ฒํ์ง ๋ชปํ ์ผ์ด์ค๊ฐ ๋ง๋ค๋ ๊ฒ์ ๋ค์ ๋๊ผ๋ค......... ๊ทธ๋์ ๋ถํํ ์คํธ, ์คํธ๋ ์คํ ์คํธ๊ฐ ๋ญ์ง ์์๋ณด๋ ์๊ฐ! ๐ค ๋ถํํ ์คํธ?? ์ด๋์ ๋ ์ฑ๋ฅ์ด ์์ฑ์ด ๋๋ฉด, ํด๋น ์๋น์ค๊ฐ ์ผ๋ง๋ ๋ง์ ๋์ ์ฌ์ฉ์๋ฅผ ๊ฒฌ๋๋์ง ํ ์คํธ ํ๋ ๊ฒ. ์ด ์๋น์ค.. 2021. 10. 5. [๋ฐฑ์ค] 1647๋ฒ : ๋์ ๋ถํ ๊ณํ https://www.acmicpc.net/problem/1647 1647๋ฒ: ๋์ ๋ถํ ๊ณํ ์ฒซ์งธ ์ค์ ์ง์ ๊ฐ์ N, ๊ธธ์ ๊ฐ์ M์ด ์ฃผ์ด์ง๋ค. N์ 2์ด์ 100,000์ดํ์ธ ์ ์์ด๊ณ , M์ 1์ด์ 1,000,000์ดํ์ธ ์ ์์ด๋ค. ๊ทธ ๋ค์ ์ค๋ถํฐ M์ค์ ๊ฑธ์ณ ๊ธธ์ ์ ๋ณด๊ฐ A B C ์ธ ๊ฐ์ ์ ์๋ก ์ฃผ์ด์ง๋๋ฐ A๋ฒ www.acmicpc.net ์ ์ฒด ๊ทธ๋ํ๋ฅผ 2๊ฐ๋ก ๋๋๋๋ฐ ๊ทธ ๋๋ ์ง ๊ทธ๋ํ ์์์๋ ์๋ก ๋ค ์ฐ๊ฒฐ์ด ๋ผ ์์ด์ผ ํ๋ค๋ ์๊ธฐ..... (๊ทผ๋ฐ ๋์ฒด ์์ญ์ด๐ ์๊ธฐ๋ ์ ๋์จ๊ฑฐ์ง???) ๐์ ๊ทผ ๋ฐฉ๋ฒ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ์ต์์ ์ฅ ํธ๋ฆฌ๋ฅผ ํ๋ ๋ง๋ฌ ๊ทธ ์ค์์ ๊ฐ์ฅ ๋น์ผ ๊ฐ์ ์ ํ๋ ์์ค๋ค (๊ทธ๋์ผ ์ต์ ๋น์ฉ์ด ๋๋๊น!) ๊ทธ๋ฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๊ทธ๋ํ๊ฐ 2๊ฐ๋ก ๋ถ๋ฆฌ๋๋ค! ๊ทธ๋ฆฌ๊ณ ! import .. 2021. 9. 25. [JavaScript] Babel ๐ค Babel?? ๋ฐ๋ฒจ = ์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ (๋ฐ๋ฒจ ๊ณตํ์ ๊ทธ๋ ๊ฒ ์จ์๋ค!) ES6+ ์ด์์ ์ต์ ECMAScript๋ฌธ๋ฒ์ ์ด์ ๋ฌธ๋ฒ(~ES5)์ผ๋ก ๋ณํ ๐ค ๊ทธ๋์ ๊ทธ๊ฑธ ์ ์ฐ๋๋ฐ? ์ฐ๋ฆฌ์ ์์ํ ์น๊ตฌ(^^) IE์... IE ๋ง๊ณ ๋ ์ต์ ๋ฌธ๋ฒ์ ์ง์ํ์ง์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์์ ์ ์๊ธฐ ๋๋ฌธ์! ๋ชจ๋ ์คํํ๊ฒฝ์์ js๊ฐ ๋์๊ฐ๋๋ก ํ๋ ๋๋์ด๋ค. // Babel Input: ES2015 arrow function [1, 2, 3].map(n => n + 1); // Babel Output: ES5 equivalent [1, 2, 3].map(function(n) { return n + 1; }); ๐ ๋ฐ๋ฒจ์ ์จ๋ณด์ yarn add -D @babel/core @babel/cli \ @babel/regist.. 2021. 9. 25. [JavaScript] ์ด๋ฒคํธ ์์(Event delegation) ๐ ์ด์ด์ง๋ ๊ธ ์ด๋ฒคํธ ํ๋ก์ฐ(Event Flow) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง(Event Bubbling) + e.stopPropagation() ์ด๋ฒคํธ ์บก์ณ๋ง(Event Capturing) ์ด๋ฒคํธ ์์(Event delegation )← Now ! ๐ค ์ด๋ฒคํธ ์์์ด๋? ํ์ ์์์ ๊ฐ๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ถ์ด์ง ์๊ณ , ์์์์์์ ํ์ ์์์ ์ด๋ฒคํธ๋ฅผ ์ปจํธ๋กค ํ๋ ๋ฐฉ์ ์ปจํ ์ด๋์ (์๋ ์์์์๋ ul) ํ๋์ ํธ๋ค๋ฌ๋ฅผ ํ ๋นํจ ํธ๋ค๋ฌ์ e.target ์ ์ฌ์ฉํด์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์๊ฐ ์ด๋์ธ์ง ์์๋ ์ํ๋ ์์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๊ฒ์ด ํ์ธ๋๋ฉด ์ด๋ฒคํธ๋ฅผ ํธ๋ค๋งํจ (์๋ ์์์์๋ tagName์ผ๋ก ํ์ธํจ) li 1 li 2 li 3 const ul = document.querySelector("ul"); ul.addEv.. 2021. 9. 23. ์ด์ 1 2 3 4 5 6 ยทยทยท 15 ๋ค์