Momentum์ด ๋ญ๋ฐ?
์๋ ์ฌ๋์ ์๋ ์์ฐ์ฑ ์ต์คํ ์ ์ด๋ค. ์ ๋ณด์ ํ์์ ์ง์น ์ฐ๋ฆฌ๋ค ์ฌ๋๋ค์ด ํ๋์๋ง ์ง์คํ ์ ์๋๋ก, ํฌ๋กฌ์ ์ผ๋ฉด ๋ค์ด๋ฒ๋ ๊ตฌ๊ธ์ด ์๋๋ผ ์๋ ํ์ด์ง๋ก ์์ํ๋ค.
๋ฌผ๋ก ์น์ ์ ์์ง๋ ๋ชปํ๋ ๋ด๊ฐ ๋ ์ฐฝ์ ์ผ๋ก ์ด๊ฑธ ํด๋ก ์ฝ๋ฉํด๋ณด์๋ ๊ธฐํนํ ์๊ฐ์ ํ์ง ์์๊ฒ ๊ณ , ๋ ธ๋ง๋ ์ฝ๋์ ๋ฐ๋๋ผ JS๋ก ํฌ๋กฌ ์ฑ ๋ง๋ค๊ธฐ ๊ฐ์์์ ํ๊ธธ๋ ํ๋ฒ ํด๋ดค๋ค. ํ์๋ ์ ๊ฐ์์ ๋ํ์ฌ ๊ตฌ๊ธ ๊ฒ์, ๋ฝ๋ชจ๋๋ก ํ์ด๋จธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค. ์ฌ๊ธฐ์ ๋ฐฐํฌํด๋์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋ค.
Features
- localStorage๋ฅผ ํ์ฉํ Todo CRUD
- 25๋ถ(1๋ฝ๋ชจ๋๋ก) ํ์ด๋จธ
- ํ์ฌ ์๊ฐ(Date), ํ์ฌ ๋ ์จ(OpenWeatherMap API) ํ์
- ๋๋ค ๋ฐฐ๊ฒฝ, ๋๋ค ๋ช ์ธ
- ๊ตฌ๊ธ์ ๊ฒ์ํ๋ Input
TIL
1. BEM ๋ค์ด๋ฐ ์ปจ๋ฒค์
Block-Element-Modifier์ ์ฝ์๋ก HTML ํด๋์ค๋ช ์ง์ ๋ ์ฃผ๋ก ์ด๋ค.
.block__element--modifier
ํ์์ผ๋ก ์์ฑํ๋ค.
์) contact-form__button-submit--03_disable
2. ์๋งจํฑ ํ๊ทธ
SEO ์ต์ ํ, ์น ์ ๊ทผ์ฑ ํฅ์, ์ฝ๋ ๊ฐ๋ ์ฑ์ ์ํด ๋ฐ๋์ ์จ์ผ ํ๋ค.
3. defer
- head์ ๊ทธ๋ฅ script ์ถ๊ฐ : HTML์ ํ์ฑ ์ค ๋ง์ฃผ์น๋ ์์๋๋ก blockํ ๋ค fetch & execute ํ๊ธฐ ๋๋ฌธ์ body ์์ ํ๋ ๊ฑด ์ข์ง ์๋ค.
- body ์ ๋ ๋ถ๋ถ์ script ์ถ๊ฐ : body๋ฅผ ๋นจ๋ฆฌ ๋ณผ ์๋ ์์ง๋ง JS ์์กด์ด ํฐ ํ์ด์ง๋ผ๋ฉด ๋น์ ์์ ์ผ๋ก ์๋ํ๋ค๊ณ ๋๋ ๊ฒ์ด๋ค.
- head์ async : HTML ํ์ฑ๊ณผ ๋ณ๋ ฌ๋ก fetchํ ๋ค executeํ ๋๋ง HTML ํ์ฑ์ blockํ๋ค. ํ์ง๋ง ํ์ฑ๋๊ธฐ๋ ์ ์ querySelector ๊ฐ์๊ฒ ์คํ๋ ์๋ ์๊ณ ๋จผ์ fetch ์๋ฃ๋ ๊ฒ๋ถํฐ ์คํ๋๊ธฐ ๋๋ฌธ์ JS ๊ฐ ์คํ ์์๋ ๋ณด์ฅํ ์ ์๋ค.
- head์ defer : fetch๊น์ง๋ async์ ๋๊ฐ์ง๋ง execute๋ฅผ ํ์ฑ ์๋ฃ ์์ ์ผ๋ก ์ง์ฐ์ํค๊ณ , JS๊ฐ ์์ฑ๋ ์์๋๋ก ์คํ์ํจ๋ค.
4. Flexbox
- flex-direction
- justify-contents & align-items
- flex-basis & flex-grow & flex-shrink
๊ธฐํ
- localStorage set & get
- setInterval & clearInterval
- fetch (Promise)
์๊ฐ
Momentum ์ต์คํ ์ ์ด๋ ๋๋ฌด ๋๊ฐ๊ฒ ๋ง๋๋๋ฐ ์ง์คํ๋๋ผ ์คํ๋ ค ์ฐฝ์์ฑ์ด ๋ถ์กฑํ๋ค. ์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋ณด๋ฉด, ๊ฐ์ ๊ธฐ๋ฅ์ด์ง๋ง ์ผ๋ง๋ ๋ค์ํ ๋์์ธ์ด ๋์ฌ ์ ์๋์ง ๊ฐํํ ์ ์๋ค.
ํ ๊ฐ๋ฐ์ ํ๊ณ ์ถ์ง๋ง, ๊ตฐ๋๋ผ ๊ทธ๋ด ์ ์์ด ๋๋ฌด ์์ฝ๋ค.