๋ค์ด๊ฐ๋ฉฐ ์ํ ๊ด๋ฆฌ์ ๋ํด์ ์์๋ณด๊ธฐ๋ฅผ ๊ฒฐ์ฌ!.. ์ด๋์๋ถํฐ ์ด๋ฏธ ๋จผ์ ์์ฑ๋ ๋ง์ ๊ธ๋ค์ ๋๋ฌ๋ณด๋ค ๋ณด๋ ์.. ๐คจ ๋จผ์ ์๊ณ ์์ด์ผ ํ๋ ์ด๋ก ์ด..... ์ด ๋ถ๋ถ์ ๋ํ ์ง์์ด ์์ฃผ ์์ ์ํ์ธ ๊ฑธ ๊นจ๋ฌ์๋ค. ์ง๊ธ์ ๋.. ์ด๋ ดํ์ด ๋ค์ด๋ณธ CSR๊ณผ SSR์ ์ด๋ฆ๋ง ์๊ณ ์์ ๋ฟ.. ๐ ๋ชจ๋ฅด๋ฉด ์ฐพ์๋ณด๋ฉด ๋์ง!! ์ข์ ๊ทธ๋ผ ์ด๋๋ถํฐ ์์๋ณผ๊น~ ํ๊ณ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ค ๋ณด๋ ๋จผ์ ์ด์ฌํ ์ฐพ๊ณ ์ฝ๊ณ ๋ณด๊ฒ ๋ ์ง์ ์ด SPA๋ถํฐ CSR, SSR์ด๋ผ์ ์ ๋ฆฌํด ๋ณด์๋ค. SPA๋ MPA์ ๋น๊ต๋๋ ๋ฐฉ์์ด๋ผ ํจ๊ป ์์ฑ! ๐ฅ MPA vs SPA MPA (Multi Page Application) ์ฌ๋ฌ ํ์ด์ง๋ก ๊ตฌ์ฑ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ . ์ ํต์ ์ธ ์น ํ์ด์ง ๊ตฌ์ฑ ๋ฐฉ์์ด๋ค. MPA์ ๋ ๋๋ง ๋ฐฉ์ ์ธํฐ๋์ ์ด ๋ฐ์ํ๋ค. (ํด๋ฆญ ๊ฐ์)..
ํ๋ก์ ํธ๋ฅผ ์ผ์ถ ๋ง๋ฌด๋ฆฌํ๋ฉฐ ํ์์ ์ธ ๊ธฐ๋ฅ ๊ตฌํ๊ณผ ์์ ์ด ์ด๋์ ๋ ๋๋ ์ํ์์ ํ๋ก์ ํธ๋ฅผ ์ผ์ฐจ์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ๋ฉฐ ๋์๋ณด๋ ๊ธ์ ์จ๋ณผ๊น ํ๋ค. ๊ฐ๋จํ๊ฒ ํ๋ฑ ๋ง๋ค์ด๋ณด์! ํ๋ ์๊ฐ์์ ์์ํด์, 5์ผ ์ด๋ด๋ก ์ฌ๋งํ ์์ ์ ๋ค ๋ง๋ฌด๋ฆฌ ํ ๊ฒ ๊ฐ๋ค. ์ฒ์์๋ ๋ ๊ฐ๋ณ๊ฒ ๋ง๋ค์ด๋ณผ ์๊ฐ์ด์์ง๋ง ๊ธฐํ ๋จ๊ณ์์๋ ์ฝ๊ฐ์ ์์ฌ์ด ์๊ฒจ์ ์ง์ ๊ทธ๋ฆผ๋ ๊ทธ๋ ค๋ณด๊ณ , ์งํํ๋ฉด์ ์ฒ์ ๊ฐ๋จํ๊ฒ ๊ธฐํํ๋ ๊ฒ ๋ณด๋ค ์กฐ๊ธ์ฉ ๋ ์น์ด์ง ๋ถ๋ถ์ด ๋ง์๋ค. ๐ ๊ธฐํ ์ด๋ฏธ์ง ์ฐ์ ์ด๋ฏธ์ง๋ค์ ์ํ๋ ์ด๋ฏธ์ง ์ฐพ๊ธฐ ์ด๋ ค์ฐ๋ฉด ๋ด๊ฐ ๋ง๋ค์ง ๋ญ.. ์ถ์ด์ ํธ๋ ์ด์ฑํด์ ๊ทธ๋ฆฐ ๊ฐ์ ๋ฐ์ ๋ณด. ๊ฒ์์ด๋ค๋ณด๋ ์ข ํตํต ํ์์ผ๋ฉด ํด์ ๋ค์จ์ปฌ๋ฌ๋ฅผ ์ฌ์ฉํด๋ณด์๋ค. ๊ตฌ์ ์ฒ์ ๊ตฌ์ํ๋ ๊ฒ. ๊ฐ๋จ ๊ทธ ์์ฒด!.. ๋๋ค์ผ๋ก ๊ณ์ ๋์๊ฐ๋ ์ด๋ฏธ์ง์์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์นํจ๊ฐ ํ๊ฐ๋ฆ ..
๋ค์ด๊ฐ๋ฉฐ ์งํํ๋ ๋ฏธ๋ ํ๋ก์ ํธ์ธ ๊ฐ์๋ฐ์๋ณด ๊ฒ์์์ ๊ฒ์์์ ํ์ด์ง๋ก ๋์ด๊ฐ๋ฉด 3์ด ์นด์ดํธ๊ฐ ์์๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌํ๋ฆฌ ๋ธ๋ผ์ฐ์ ์ iOS ๋๋ฐ์ด์ค๋ค์์๋ Audio.play ํจ์๊ฐ ๋์ํ์ง ์๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๐ฑ ํฌ๋กฌ๊ณผ ๋น์ทํ๊ฒ ๋ธ๋ผ์ฐ์ ์ ์ฑ ์ ์ฌ์ด๋ ์๋์ฌ์์ด ๋ฐ๋ก ๋์ง ์๋๋ก ๋งํ์๋ ๊ฒ!... ๊ทธ๋ ๋ค๋ฉด ์ฒ์ ์ธํธ๋กํ์ด์ง์์ ๋ฒํผ์ ๋๋ ์ ๋ ๋ฐฐ๊ฒฝ์์ ์ด ๋์ค๋๋ก ํ๋ ๊ฒ์ฒ๋ผ, ์ฌ๊ธฐ์๋ ๋ฌด์ธ๊ฐ ๋๋ ์ ๋ ๊ฒ์์ด ์์๋ ์ ์๋๋ก ํด์ผํ๋๋ฐ... (setTimout ๋ฉ์๋๋ ์ ์์ ์ผ๋ก ๋์ํ์ง ์์๋ค.) ์ฌ์ฉ์ฑ ๋ถ๋ถ์์๋ ์กฐ๊ธ ๋จ์ด์ง ์ ์์ง๋ง, iOS์ ์ฌํ๋ฆฌ ์ ์ฉ์ผ๋ก ๊ฒ์ ์์์ ์๋ฆฌ๋ ๋ ์ด์ด๋ฅผ ๊น์์ฃผ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ผ ๋จผ์ ํ์ฌ ์ ์ํ๊ณ ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ณด๋ ๊ฒ์ด ์ฐ์ ! navig..
์ ํ ์์ ์ธ์ ํ์ ์์ ํด๋์ค ๋ชจ๋ ์ง์ฐ๊ธฐ ๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ํ๋ค๊ฐ ํ์ ์์๊ฐ ๋ง์ ์ํ์์ ํน์ ์์๋ฅผ ์ ํํ์ ๋๋ง is-active ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ , ๋๋จธ์ง ์์๋ค์ is-active ํด๋์ค๋ฅผ ์ด๋ป๊ฒ ์ง์ธ ๊ฒ์ธ๊ฐ...๋ฅผ ๊ณ ๋ฏผํ๋ค๊ฐ ์คํ ์ค๋ฒํ๋ก์ฐ์์ ๋ณด๊ณ ์ฐธ๊ณ ํ๊ฒ ๋์๋ค. ์์ ์ ์ ์ด์ฟผ๋ฆฌ๋ก๋ ํ์ค๋ก ์ฝ๊ฒ ํ๋ ๊ฒ ๊ฐ์๋ฐ ๋ฐ๋๋ผ JS๋ก๋ง ํ๋ ค๋๊น ์์ง ์ ์ฝ์ง ์์ ๊ฒ!!... ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ํ์ฌ play-button ์ด๋ผ๋ ๋์ผํ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ฒํผ์ด 3๊ฐ ์๊ณ , ํด๋ฆญํ ์์์๋ง is-active๋ฅผ ์ถ๊ฐ, ๋๋จธ์ง๋ ์์๋๋ผ๋ ์์ ์ฃผ๋ ๊ฒ์ ์ํ๋ค. ํด๊ฒฐ function handlePlayerImage(e) { e.preventDefault(); const buttonGroup = this.pa..
console. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ์ฝ๋๋ฅผ ์์ฑํ ๋, ์ฝ์์ ํตํด์ ๊ฐ์ ํ์ธํ๋ ์ผ์ด ๋ง๋ค. ์๋ง ์ฝ์์์ ์ ์ผ ๋ง์ด ์ฌ์ฉํ๋ ๋ฉ์๋๋ console.log ์ผ ๊ฒ์ด๋ค! ๊ทธ ์ธ ํ์ฌ ์์ฃผ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ ์๋ค๋ฉด ๊ฐ๋ ๊ฐ์ฒด ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ console.dir ์ ๋ก๊ทธ๋ฅผ ๋ค ์ง์๋ฒ๋ฆฌ๋ console.clear() ์ ๋?.. ๋ด๊ฐ ์๊ฒ ์๊ณ ์์๋ console ๊ฐ์ฒด์ ๋ช๋ช ๋ฉ์๋๋ค ์ด์ธ์๋ ๋ค์ํ ๋ฉ์๋๋ค์ด ์๋ค๋ ๊ฒ์ ์ด๋ฒ ์ฑ๋ฆฐ์ง๋ฅผ ํตํด ์๊ฒ๋์ด ํ๋ฒ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค. console.log ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋, ๋ก๊ทธ๋ฅผ ์ฐ๋ ๋ฉ์๋๋ค. ์ฌ๋ฌ ๊ฐ๋ฅผ ์ถ๋ ฅํ ์๋ ์๊ณ , C์ธ์ด์ printf์ฒ๋ผ ์ ๋ ฅํ ๋ฌธ์๋ฅผ ์นํํ์ฌ ์ฌ์ฉํ ์๋ ์๋ค! ํ์ง๋ง ์ฐ๋ฆฌ์๊ฒ ๋ ์ต์ํ ํ ํ๋ฆฟ ์คํธ๋ง ${..
classList DOM์ ์กฐ์ํ์ฌ ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋, class ๋ช ์ ๋ฐ๊ฟ ๋ ๋ฑ ๋ค์ํ ์ํฉ์ ์ฌ์ฉํ ์ ์๋ classList ํ๋กํผํฐ. ์ฑ๋ฆฐ์ง๋ฅผ ์งํํ๋ค classList ํ๋กํผํฐ ์ค ๊ทนํ ์ผ๋ถ์ ๋ฉ์๋๋ง ์ฌ์ฉํ๊ณ ์์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ์ํฉ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ ๊น๋ํ๊ฒ ์งค ์ ์๋ ๋ฉ์๋๋ ์๊ณ ํด์, ์ ์ฒด์ ์ผ๋ก ์ด๋ค ๋ฉ์๋๊ฐ ์๋์ง ํ๋ฒ ํ์ด๋ณด๋ ค ํ๋ค. add, remove ํ์ ์ฌ์ฉํ๋ ์ผ๋ถ์ ๋ฉ์๋.. ๊ฐ์ฅ ๊ฐํธํด์ ๊ทธ๋ฐ์ง ๊ธฐ์ต์ ์ค๋ ๋จ์์๋ ๊ฒ์ธ๊ฐ ์ถ๊ธฐ๋ ํ๋ค. ๐ค ์๋์ ๊ฐ์ด ๊ฐ๋จํ ์์๋ฅผ ๋ค ์ ์๋ค. ๋ฉ์๋ ์ด๋ฆ๋๋ก, ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ ์ ๊ฑฐํ๋ ๋ฉ์๋๋ค. ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์ดํ ์๋ ์๋ค. let li = document.createElement('li'); li.class..
5์ ํ๊ณ 5์์ ๋ง์ง๋ง ์ฃผ ํ๊ณ ๋ ์ด๊ฒ์ผ๋ก ๋์ ํ๋ฉฐ ์์ฑํด๋ณด๋ ํ๊ณ . ์๊ฐ๋ณด๋ค ๋นจ๋ฆฌ ์ง๋๊ฐ๊ณ , ํ์ฌ ์งํํ์ด์ง๋ง ๋ง์ ๊ณ ๋ฏผ์ ํ์ผ๋ฉฐ ์ฌ๋ฌ ์ผ๋ค์ด ์์๋ 5์. 5์ ํ ๋ฌ์ ๋๋์๋ณด๋ฉฐ ๋ฌด์์ ํ๋์ง ์ ๋ฆฌํด๋ณด๊ณ , ๋๋ฅผ ๊ฒฉ๋ คํด๋ณด๋ ์๊ฐ์ ๊ฐ์ง๋ ค ํ๋ค. ๐ 5์์ ๊ณต๋ถ leetCode ํ์ด๋ณด๊ธฐ ๋ธ๋ก๊ทธ์ ํฌ์คํ ํ๋ค๊ณ ํด๋๊ณ ์๊พธ ๋ฏธ๋ฃจ๊ณ ์๋ ~ ์์ง ๋ชปํธ๋ ๋ฌธ์ ๋ค๋ ๋ง์ง๋ง (์ฝํ ๋ฅผ ์ฒ์ ํ์ด๋ณด๋ ๊ฒ์ด๋ ๋น์ฐํ๋ค) ์ปดํจํ ์ ์ธ ์ฌ๊ณ ๋ฅ๋ ฅ์ ํค์ฐ๋ ๋ฐ๋ ์ข์ ๊ฒ ๊ฐ๋ค. ์ฌ๋ฌ ํ์ด ๋ฐฉ์์ ๋ณด๋ฉฐ ๋ค๋ฅธ ๋ฐฉ์์ ์ฝ๋๋ฅผ ํด์ํด๋ณด๋ ๊ฒ๋ ์๋ฏธ ์๋ ๊ฒ ๊ฐ๊ณ . ํ์ง๋ง ๋ฐฉํต๋์์ ์ต๋ํ ์๊ณ ๋ฆฌ์ฆ ์ด๋ก ์ง์์ด ์๊ฒ ์๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ์ ์ธ ๊ฐ์๊ฐ ํ์ํ๋ฏ ํ๋ค. ๋๋ฆผ์ฝ๋ฉ ์๋ฐ์คํฌ๋ฆฝํธ ๋ง์คํฐ๋ฆฌ ์๊ฐ ์๋ฆฌ์ค ๊ฐ์๋ ์ ํ๋ธ๋ก๋ ๋ง..
์๋ฐ์คํฌ๋ฆฝํธ ๋ง์ผ๋ก ์๋ ๋ก๊ทธ ์๊ณ ๋ง๋ค์ด๋ณด๊ธฐ๋ฅผ ์งํํ๋ค. ๋จผ์ ์๋ ๋ก๊ทธ ์๊ณ๋ฅผ ๋ง๋ ๋ค ๋ฐ๋ก ๋์งํธ ์๊ณ๋ ์ถ๊ฐํด์คฌ๋ค. ์๊ฒ ๋ ์ CSS์ ์์ฑ ์ค transform-origin ์ผ๋ก transform์ ๊ธฐ์ค์ ์ ์ก์ ์ ์๋ค. ์นจ์ ์กฐ์ ํ๋ ๊ฐ๋๋ฅผ ์ง์ ํ๋ ๋ฐฉ์์ ์ฌ๋ฌ๊ฐ์ง. ์ฒซ ๋ฒ์งธ ์ด์ ์ฒ์์ 12์ ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ ์นจ์ ๊ณ ์ ์ํค๊ธฐ ์ํด rotate๋ฅผ 90๋๋ก ์ค์ ํด์ฃผ์๋๋, 12์ ๋ฐฉํฅ์ ๋์ฐฉํ ๋ ๋ง๋ค transform์ด ์๋ํ๊ฒ ์์ง์๋ค๊ฐ ๋ค์ ๋์์ค๋ ๊ฒ์ ๋ณผ ์ ์์๋ค. (๋๋ฌด ๋นจ๋ผ์ ์บก์ณ ๋ถ๊ฐ๋ฅ..) ์ด๊ฑด ์๋ง 444๋ ๊น์ง ๋์ด๋ฌ๋ค๊ฐ ๊ธ๊ฒฉํ๊ฒ 90๋๋ก ๋ณ๊ฒฝ๋๋ฉฐ ์๊ธฐ๋ ๋ฌธ์ ๊ฐ์๋ค. ๊ทธ๋์ ์๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ์นจ์ด 12์ ๋ฐฉํฅ์ ๋๋ฌํ์ ๋ transition ์๋๋ฅผ ์ ์ ์กฐ์ ํด์ฃผ๋ ๊ฒ..
๋ฌธ์ Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. ์ ์์ ๋ฐฐ์ด์์ ๋์ผํ๊ฒ ์ง์ง์ด์ง์ง ์๋ ํ๋์ ์๋ฅผ ์ฐพ์ ๋ฐํํ๋ ๋ฌธ์ . ํ์ด let result = nums[0]; for (let i = 1; i < nums.length; i++) { result = result ^ nums[i]; } return result; ๊ฐ๋จํด๋ณด์ด๋ฉด์๋ ๋ฌํ๊ฒ ๊ฐ๋จํ์ง ์์์ ๊ฒฐ๊ตญ ๋ค๋ฅธ ์ฝ๋๋ฅผ ๋ณด๊ฒ ๋์๋ค..
์ด์ ์ปค๋ฐ์ ์์ ํ๋ ค๋ค๊ฐ ์ํฉ์ด ์ข ๊ผฌ์๋ค๊ฐ ์ด๋ป๊ฒ ๋ค์ ๋ณต๊ตฌ... (๋ฒ์จ ๋ ๋ฒ์งธ ๐) ํ์์ผ๋ ๊ฒฐ๋ก ์ ์ผ๋ก ์์ ์ ์คํจํด์ !.... git rebase๋ฅผ ์ด์ฉํด ํน์ ์์ ์ผ๋ก ๋์๊ฐ์ ์ปค๋ฐ์ ์์ ํด๋ณด๋ ค๊ณ ํ๋ค. ํ์ฌ์ ๊ฒฝ์ฐ๋ ์ด๋ฏธ ์คํ ์์ ์ปค๋ฐ....์ ํด๋ฒ๋ ธ๋๋ฐ ๋ ์คํ๊ฐ ์์์ ๋ฐ๊ฒฌํด๋ฒ๋ ธ๊ณ !... ๋ ์ด์์ ์คํ ์ปค๋ฐ์ ํ๊ณ ์ถ์ง ์์์ rebase๋ฅผ ์จ๋ณด๋ ค ํ๋ค. ์ด์ ์๋ rebase๋ฅผ ์ผ์ ์ข์์ ๊ฒ์.. git rebase ํด๋ณด๊ธฐ ํฐ๋ฏธ๋์ git log์์ ๋ฐ๊ฟ ์ปค๋ฐ์ ํด์๋ฅผ ๋ณต์ฌํ๋ค git rebase -i ํด์ ๋ฅผ ํตํด ๋ฆฌ๋ฒ ์ด์ค ํ๋ฌ ๋ค์ด๊ฐ๋ค. ๊ทธ๋ผ ํ์ฌ ์ปค๋ฐ๋ ํ์ด์ง์ ๋ํ ๋ถ๋ถ์ด ๋์ค๋๋ฐ, pick ์ปค๋ฐ๋ฒํธ ์ปค๋ฐ๋ฉ์ธ์ง ๋ถ๋ถ์ pick์ edit์ผ๋ก ์์ ํ ์ ์ฅํ๊ณ ๋์์ค๋ค. (์ฐธ๊ณ ๋ก..
Comment