๐ฉ [์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ธ ๊ณผ์ ]
Javascript๊ณผ์ ์ ๋ง๋ฌด๋ฆฌํ๋ฉฐ, JS ๋ฌธ๋ฒ์ ํต์ฌ์ ์ ์ฉํด ๋ณผ ์ ์๋ ์ํ ๊ฒ์ ์ฌ์ดํธ๋ฅผ ์ ์ํฉ๋๋ค.
์ํ์ ๋ณด ์คํAPI์ธ TMDB(The Movie DB)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ณผ์ ๊ฐ์
- ์์ ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ผ๋ก ์ํ ๋ฆฌ์คํธ ์กฐํ ๋ฐ ๊ฒ์ UI ๊ตฌํ
- ํ์ตํด์จ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ต๋ํ ํ์ฉ
- ์คํ์ผ๋ง ์์
ํ๋ฉฐ css ์ ์นํด์ง๊ธฐ
ํ์์๊ตฌ์ฌํญ
jQuery ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์์ด ์์ ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ์ฌ์ฉํ๊ธฐ
- JavaScript ๋ฌธ๋ฒ ์ข
ํฉ๋ฐ์์ ํ์ตํ ๋ด์ฉ๊ณผ ์ง๋ ์์ ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํด ๋ณด์ธ์
TMDB ์คํ API๋ฅผ ์ด์ฉํ์ฌ ์ธ๊ธฐ์ํ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
์ํ์ ๋ณด ์นด๋ ๋ฆฌ์คํธ UI ๊ตฌํ
- TMDB์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์นด๋ ํํ์ ๋ฐ์ดํฐ๋ก ๋ณด์ฌ์ค๋๋ค.
- ์นด๋์๋ title(์ ๋ชฉ), overview(๋ด์ฉ ์์ฝ), poster_path(ํฌ์คํฐ ์ด๋ฏธ์ง ๊ฒฝ๋ก), vote_average(ํ์ ) ์ด๋ ๊ฒ 4๊ฐ์ง ์ ๋ณด๊ฐ ํ์๋ก ๋ค์ด๊ฐ๋๋ค.
- ์นด๋ ํด๋ฆญ ์์๋ ํด๋ฆญํ ์ํ id ๋ฅผ ๋ํ๋ด๋ alert ์ฐฝ์ ๋์๋๋ค.
์ํ ๊ฒ์ UI ๊ตฌํ
- API๋ก ๋ฐ์์จ ์ ์ฒด ์ํ๋ค ์ค ์ํ ์ ๋ชฉ์ input ์ฐฝ์ ์
๋ ฅํ ๋ฌธ์๊ฐ์ด ํฌํจ๋๋ ์ํ๋ค๋ง ํ๋ฉด์ ๋ณด์ด๋๋ก ํฉ๋๋ค.
- ์
๋ ฅ ํ ๊ฒ์๋ฒํผ ํด๋ฆญ ์ ์คํ๋๋๋ก ํฉ๋๋ค.
ํ๊ธฐ ๊ธฐ์ฌ๋ Javascript ๋ฌธ๋ฒ ์์๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ
๋ฌธ๋ฒ ๋ฆฌ์คํธ
const์ let๋ง์ ์ด์ฉํ ๋ณ์ ์ ์ธ ํ์
ํ์ดํ ํจ์ : ํ๊ธฐ ์์ ์ค 1๊ฐ ์ด์ ์ฌ์ฉ
๋ฐฐ์ด ๋ฉ์๋ : ํ๊ธฐ ์์ ์ค 2๊ฐ ์ด์ ์ฌ์ฉ
DOM ์ ์ดํ๊ธฐ : ํ๊ธฐ api ๋ชฉ๋ก ์ค 2๊ฐ ์ด์ ์ฌ์ฉํ๊ธฐ
์ ํ์๊ตฌ์ฌํญ
CSS
- flex ์ฌ์ฉํ๊ธฐ
- grid ์ฌ์ฉํ๊ธฐ
์น์ฌ์ดํธ ๋๋ฉ ๋๋ ์๋ก๊ณ ์นจ ํ ๊ฒ์ ์
๋ ฅ๋์ ์ปค์ ์๋ ์์น์ํค๊ธฐ
๋์๋ฌธ์ ๊ด๊ณ์์ด ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ
ํค๋ณด๋ enterํค๋ฅผ ์
๋ ฅํด๋ ๊ฒ์๋ฒํผ ํด๋ฆญํ ๊ฒ๊ณผ ๋์ผํ๊ฒ ๊ฒ์ ์คํ์ํค๊ธฐ
์ํ๋ ์ถ๊ฐ๊ธฐ๋ฅ ๋ฌด์์ด๋ผ๋ okay!
- ์ฌ๋ฌ๋ถ์ ์ฑ๋ฆฐ์ง๋ ์ธ์ ๋ ํ์ํฉ๋๋ค. ํ์ ์๊ตฌ์ฌํญ์ด ์๋ฃ๋์๋ค๋ฉด, ์์ ๋กญ๊ฒ ์ถ๊ฐ๊ธฐ๋ฅ์ ๋ฃ์ด์ฃผ์ธ์.
- ๋จ, ์ฐ์ ์์๋ ํ์์๊ตฌ์ฌํญ์์ ๋ช
์ฌํด์ฃผ์ธ์!