Week 1. ์์ญ๋ฌ์ญํ JS ๊ธฐ์ด ๋ฌธ๋ฒ ํ์ต ๐ฅJS๋ ๋์ ํ์ดํ์ธ์ด์ด๋ค. ๋์ ํ์ดํ์ด๋, ๋ณ์์ ํ์ ์ ๋ฏธ๋ฆฌ ์ ์ธํ ํ์ ์์ด ๊ฐ์ ํ ๋นํ๋ฉด ๊ฐ์ ํ์ ์ ์ํด ์๋์ผ๋ก ๋ณ์์ ํ์ ์ด ์ ํด์ง๋ค๋ ๋ป์ด๋ค.ํ๋ณํ์ด๋, ๋ค๋ฅธ ํ์ ๋ผ๋ฆฌ์ ์ฐ์ฐ์ด ํ์ํ ๋ ์ ์ ํ ์๋ฃํ์ผ๋ก
์ถ์ํ | ๋ชจ๋ธ๋ง: ํ์ค์ ๊ฐ์ฒด๋ฅผ ํน์ฑ ๊ด์ ์ผ๋ก ๋ฐ๋ผ๋ณด์ ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ๐๐ป๋ชจ๋ธ: ์ถ์ํ | ๋ชจ๋ธ๋ง์ ํตํด ๋ง๋ค์ด์ง ๋์๐๐ปDOM: (๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ๊ธฐ ์ฝ๊ฒ) ์ถ์ํ๋ HTML ํ๊ทธ๋ค์ ๊ฐ์ฒด๋ก ๋ง๋ ๊ฒ๋ฌธ์๋ ธ๋: document. ๋ชจ๋ ๋ ธ๋์ ์ ๊ทผํ๊ธฐ ์ํด์
์ฝ๋๊ฐ ๊ณ์ฐ๋๋ ๊ฒ.๊ฐ์ผ๋ก ๋ค๋ฃฐ ์ ์์.๋ณ์์ ๋ด์ ์ ์์.ํจ์์ ์ธ์๋ก ์ฌ์ฉ๋ ์ ์์.ํจ์์ ๊ฒฐ๊ณผ(return ๊ฐ) ๋ก ์ฌ์ฉ๋ ์ ์์.JS์ ํจ์๋ ์ผ๊ธ ํจ์์ด๋ค. ์ผ๊ธ ํจ์๋ ์ผ๊ธ ์๋ฏผ์ ์กฐ๊ฑด๋ค์ ์ถฉ์กฑํ๊ณ ์๋ค๋ ๋ป์ด๋ค.์กฐํฉ์ฑ๊ณผ ์ถ์ํ์ ๋๊ตฌ์กฐํฉ์ฑ: ์ผ๊ธ ํจ
Week2. ํจ์ํ ์๋ฐ์คํฌ๋ฆฝํธํจ์ํ ํ๋ก๊ทธ๋๋ฐ์์ ์ธ์์, ๋ฆฌํด ๊ฐ์ผ๋ก ์ํตํ๋ค. ๋ด๋ถ์ ๋ณ์๋ฅผ console.log์ ๊ฐ์ด ๋ณํ๋ฅผ ์ผ์ผํค๋ ํจ์๋ ๋ฉ์๋์ ๋ณด๋ด์ง ์๊ณ , return์ ํตํด ๋ฆฌํด๋ ๊ฐ์ ๊ฐ๋ฐ์๊ฐ ์ดํ์ ํ์ฉํ๋๋ก ํ๋ค.์ธ์๋ฅผ iterator๋ผ ํ ์ด
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์์ map, filter, reduce๋ฅผ ํ์ฉํด ์ค์ฒฉ ํจ์๋ก ํํํ ์ ์์ง๋ง ์ด๋ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋จ์ดํธ๋ฆฐ๋ค. go, pipe ํจ์๋ฅผ ํตํด ํจ์๋ฅผ ๊ฐ์ผ๋ก ๋ค๋ค ์ฝ๋์ ํํ๋ ฅ์ ๋์ผ ์ ์๋ค.go ํจ์๋ ์ธ์๋ก ํจ์๋ฆฌ์คํธ๋ฅผ ๋ฐ์ ์ฒซ ๋ฒ์งธ ์ธ์๊ฐ์ ์ด๊ธฐ
Week2. range, ๋๊ธํ L.range, take, L.map ๋ฑ ์ ๋ฐ์ ์ธ ์ง์ฐ์ฑ ์ ๋ฆฌreduce ์์: arr๋ฅผ ๋ง๋ค๊ณ ๐๐ป iterator๋ฅผ ๋ง๋ค๊ณ ๐๐ป ๊ทธ ๋ค์ next()๋ก ์ํ.generator๋ก ๋ง๋ range.L.range: arr๋ฅผ ๋ง๋ค์ง
Week 3. ๋ฌธ์ ๋ฅผ ํ๊ณ ๋ถ์กฑํ ๋ถ๋ถ ํ์ธํ๊ธฐ.this์ค์ฝํ ๊ฐ๋ ์ ์ ์์์ผ this๋ฅผ ์ดํดํ ์ ์์. ๊ณต๋ถํ๊ธฐ!์ฆ์์คํํจ์์ฆ์์คํํจ์๋ window(์ ์ญ)๋ฅผ ์นจ๋ฒํ์ง ์์.์ฆ์์คํ ํจ์๋ฅผ ํตํด ์ธ๋ถ์์ ์ ๊ทผ์ ๋ชปํ๋ ๋ด๋ถ ํจ์๋ฅผ ๋ง๋ค์ด privateํ ํจ๊ณผ๋ฅผ ์ค
TIL | Vanila JS ๊ธฐ๋ณธ ์ญ๋ 2
Week 5. CSS ์ฌํfloat: ์์๋ฅผ ๋ณดํต์ ํ๋ฆ์์ ๋ฒ์ด๋๊ฒ ํจ. (์ด๋๊ฐ์ ๋ฅ๋ฅ ๋ ์๋ค!)๋ฅ๋ฅ ๋์ฐ๊ฑฐ๋, ๋ ์ด์์์ ์ข์ฐ๋ก ๋ถ๋ฆฌํ ๋ ์ฌ์ฉ.block ์์๋ฅผ ๊ฐ๋ก์ ๋ ฌ ์ํฌ ๋๋ ์ฌ์ฉfloat ํด์ ๋ฅผ ์ํค์ง ์์ผ๋ฉด ๋ถ๋ชจ๊ฐ ์์ ์ธ์ง๋ฅผ ๋ชปํจ.์ฃผ๋ณ text๋ ์ธ
Week 6. ์ฒซ ๋ฐฐํฌ ์ฐ์ต !! ์์์์ ๐History API ๊ธฐ๋ฐ์ SPA๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด์ 404 ์๋ฌ ์ฒ๋ฆฌ ์ต์ ์ด ํ์.์์ธ: 1๊ฐ์ inex.html ํ์ผ์ ์ฌ๋ฌ ๊ฒฝ๋ก๋ก ์ค๊ธฐ ๋๋ฌธ์ index.html์ ์ฐพ์ง ๋ชปํด 404 ์๋ฌ ๋ฐ์.๐๐ป npx serv
Week 6. ๋ฌดํ ์คํฌ๋กค ๊ตฌํ ๋ฐฉ์ ํ๋ฉด ์ ์ฒด height์ ์คํฌ๋กค ์์น๋ก ์คํฌ๋กค์ด ์ปจํ ์ธ ๋์ ๋ค๋ค๋๋์ง ์ฒดํฌํด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ intersection observer ๋ฐฉ์ ๋ด๊ฐ ์ง์ ํ DOM ๊ฐ์ฒด๊ฐ ๋ณด๊ณ ์๋ viewport? ์์ผ์ ๋ฟ์๋์ง ๊ฐ์งํ๋ ๋ฐฉ์
3D ํจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์ํด์ ์๊ทผ๊ฐ์ด ํ์ํจ.๋ถ๋ชจ ์์์๊ฒ ์์ฑ์ผ๋ก ์ฃผ๋ ๊ฒฝ์ฐperspective: ๊ฑฐ๋ฆฌ์์ฑ์ผ๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ถ๋ชจ์์์๊ฒ ๊ฑธ์ด์ฃผ๊ธฐex) perspective(300px) : 300px ๋งํผ ๋ฉ๋ฆฌ ๋ณด์ด๋๋กperspective-origin: x์ถ y์ถ์๊ทผ ๊ธฐ์ค
Week 7. SCSS๋ด๊ฐ ์ข์ํ๋ SCSS! ๊ธฐ์ด๋ฅผ ๋ค์ํ ๋ฒ ์ก๊ณ ๊ฐ์ฆ์~!~!CSS Preprocessor(์ ์ฒ๋ฆฌ ๋๊ตฌ): ์ ์ฒ๋ฆฌ ๋๊ตฌ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ์ง์ ๋์ํ์ง ์๊ธฐ ๋๋ฌธ์node.jsํ๊ฒฝ์ ํตํด CSS๋ก ๋ณํ์์ ์ ๊ฑฐ์ณ์ผ ํจ.Sass: ์ฝ๋ ๋ธ๋ก์ด ์์๋ธ
Vue3์ ๋น๊ต์ ์ต์ ๋ฒ์ ์ผ๋ก ํ์ฌ Vue2 > Vue3์ผ๋ก ๋์ด๊ฐ๋ ๊ณผ๋๊ธฐ์ด๋ค.Vue ๊ณต์๋ฌธ์{{ }}: ์ด์ค ์ค๊ดํธ ๊ตฌ๋ฌธ๋ฐ์ํ(๋ฐ์์ฑ) ๋ฐ์ดํฐ: ๋ฐ์ดํฐ๊ฐ ๋ฐ๋๋ฉด ํ๋ฉด๋ ๋ฐ๋๋ค.v-\_\_\_ : html์์ JS ์์๋ฅผ ์ฌ์ฉํ ๋Vue.createApp(App).
TIL | ์ ์ธ๊ณ Vue ํํ (2)v-bind์ ์ฌ๋ฌ๊ฐ์ ํด๋์ค๋ฅผ ๋ฌ๊ณ ์ถ์ ๊ฒฝ์ฐ,class ๊ฐ์ผ๋ก {ํค: ๊ฐ} ํํ๋ก ๋ฃ์ด์ฃผ๋ฉด ๋จ.
Week 7. Vue ์ ์ธ๊ณ ํํ(3)Vue ๊ณผ์ ์ ์ถ ๊ธฐํ์ ๋ง์ถ๊ธฐ ์ํด ๊ฐ์ ๋ด์ฉ์ ๊ฐ๋จํ ํค์๋๋ก ์ ๋ฆฌ
Week 8. ๋๋์ด babel ๐คฉES5 ์ด์์ ๋ฒ์ ์ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ ์ ์๋๋ก ๋ฎ์ถ๋๋ฐ ์ฌ์ฉ๋๋ transcompilerโ ๏ธ Babel์ด ์๋ ๊ธฐ๋ฅ์ ์๋ก ๋ง๋ค์ด์ฃผ์ง๋ ์์npm i -D @babel/core @babel/cli@babel/core: ๋ฐ๋ฒจ
Week 8. Vue Router ๊ธฐ์ดVue router๋ฅผ ์ด์ฉํ๋ฉด SPA๋ฅผ ์์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅํ๋ค.์ค์น: npm i vue-router@next Vue 3 ๋ฒ์ ์ ๋ง์ถฐ vue-router๋ next(4๋ฒ์ )๋ก ์ค์น.๋ฑ๋ก$route: router์ ๊ด๋ จ๋ ์ ๋ณด ์ ์ฅ$ro
๋ฆฌ์กํธ ์ฒซ ์์! ์๋๋ Vue ๋ฐ๋ง ๋ด๊ถ๋ค๊ฐ ๋นผ๊ธฐ ์ซ์ด์ ๊น๊ฒ ๊ณต๋ถํ๋ ค๊ณ ํ๋๋ฐ, ์ต์ข ํ๋ก์ ํธ์์ Vue๋ก ์งํํ ์ ์์ ๊ฒ๋ ๊ฐ์ React๋ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค! ์์์์์์์ ๐ ๋ค ๋ฟ์ ๋ฒ๋ฃ hooks useEffect 1. ๋ฌด์ธ๊ฐ ๋ณํ๊ฐ ์์ ๋ ๊ฐ์ง(
React Query๋ก ์๋ฒ ์ํ ๊ด๋ฆฌํ๊ธฐif ์นด์นด์คuseQuery, useMutation ํ ๋ค์ ์ฌ์ฉํด ์ปดํฌ๋ํธ ๋ด๋ถ์์ API ์์ฒญ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์์ํ๊ฒ ํจ.API ํธ์ถ ํ ๋ด๋ถ์ ์ผ๋ก ๊ด๋ฆฌํ๋ queryClient๋ฅผ ํตํด API ๋ฐ์ดํฐ ์บ์ฑ.๋๊ฐ์ API ์์ฒญ ์ Q
๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ, ํ๋ํ๋ ํ ์คํ ํ๊ณ ์์ ์๊ฐ์ด ์๋ค. ๋ฐ๋ผ์ ์๋ํ๋ ํ ์คํ ํด์ ์ฌ์ฉํด ํ ์คํ ์ ์งํํ๋ค.์ฝ๋ฉ์๋ง - Jest ๊ฐ์ข๊ฐ์ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ, ํ๋ํ๋ ํ ์คํ ํ๊ณ ์์ ์๊ฐ์ด ์๋ค. ๋ฐ๋ผ์ ์๋ํ๋ ํ ์คํ