๐ข BTP ํ๋ก์ ํธ
๐ ๋ชจ๋ ์ฌ์ง์ ๋์์ด๋๋์ ์์์ ์์๋ก ๊ฐ์ ธ์๋ค!
์์ง ๋ฏธ์์ฑ์ธ ๋ถ๋ถ๋ ์์ด ์ค๋ช
์ฉ์ผ๋ก๋ ์ ์ ํ์ง ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
๐ ๋ชจ๋ ์์์ ํ์ฌ ์์ฑ๋ ์ํ์ด๋ค!
(๊ฐ๋ฐ ์๋ฒ ๊ธฐ์ค) ์ค์ ๋ก ๋์๊ฐ ์ง์ ๋
นํํ๋ค!
๐ ๋ฐฑ์๋์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ถ์ด API๋ฅผ ๋ง๋ค์ด์ฃผ์
จ๋ค! ๋ฉ์์ด!
๐ +์ ๊ฒฝ์ฐ, ๊ฐ์ธ์ ์ธ ๋ชฉํ/์ถ๊ฐํ ์ ์ ๋ฉ๋ชจํ๋ค.
๐ ์คํธ๋ ์นญ ๊ฐ์ด๋
> ์คํธ๋ ์นญ ๊ฐ์ด๋ (์ ์ฒด)
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
flex๋ฅผ ์ด์ฉํด ์ ๋ ฌ์์ผฐ๊ณ , margin์์ ๋ฒ์ด๋ gap์ ํตํด ๋ ๊น๋ํ๊ฒ ๋ง๋ค ์ ์๊ฒ ๋์๋ค. ๋ฆฌ์คํธ ํ์์ด ๋ง๋ค๋ณด๋, flex์ ๋ํด ๋ง์ ๊ณต๋ถ๊ฐ ๋์๋ค.
2. ์นดํ ๊ณ ๋ฆฌ ๋ฉ๋ด. (+ ๋ถ๋งํฌ on/off)
- ๊ธฐ์กด์ ๋ง๋ค์๋ ์นดํ
๊ณ ๋ฆฌ๋ button ํ๊ทธ๋ก ๋ง๋ค์๋ค.
+ ๊ทธ๋ฌ๋ ์์ง ์นดํ ๊ณ ๋ฆฌ ํํฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ์ง ๋ชปํ๋ค. - ๋ถ๋งํฌ๋ง ๋ณด๊ธฐ ๋ฒํผ์ radio์ label, ::after์ ์ด์ฉํดOn/Off ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค. (codepen์ ๋ค์ ธ๋ณด๋ฉฐ ์ฐธ๊ณ ํ๋ค!)
+ ์๊ฐ ๋ณ ์คํธ๋ ์นญ์ ํด๋ฆญํ์ ์, ๋ถ๋งํฌ ๋ฒํผ์ ๋นํ์ฑํ ํ๋๋ก ์ถ๊ฐํด์ผํ๋ค.
3. ๊ฐ ๋ฆฌ์คํธ ์์ดํ
์ ์ปดํฌ๋ํธํ
๊ฐ ๋ฆฌ์คํธ ์์ดํ
์ ์ปดํฌ๋ํธํ ํ์ฌ ํต์ผ๋๊ฒ ๋ง๋ค์๋ค.
๋ถ๋งํฌ์ ๊ฒฝ์ฐ, ํด๋ฆญํ๋ฉด ๋
น์/ํ์์ผ๋ก on/off๊ฐ ๊ฐ๋ฅํ๋๋ก ์ ์ฉํ๋ค.
์ฌ์ฌ์ฉ๋๋ ๋น๋๊ฐ ์์ฒญ ๋์, ๋ค๋ฅธ ํ์ด์ง์์๋ ๋ค๋ฅธ ํ๋ก ํธ๊ฐ๋ฐ์๋์ด ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์๋ค!
+ ์์ง ๋ฏธ์์ฑ์ด์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ๋ฌํด์ผํ ์ง ๋ฐ์ดํฐ ๋ณด๊ณ ๊ณ ์น๊ธฐ!
> ์คํธ๋ ์นญ ๊ฐ์ด๋ (์๊ฐ๋ณ)
> ํ๋ก์ ํธ ์ฐธ์ฌํ
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
๊ฐ์ธ์ ๊ฑฐ๋ถ์ด level์ ๋ฐ๋ผ ์ฐ์ธก ๊ฑฐ๋ถ์ด ์ด๋ฏธ์ง๊ฐ ๋ฐ๋๋๋ก ํ๋ค.
๋ํ, checkbox ๋ฒํผ์ ์ด์ฉํ์ฌ ์ฒดํฌ๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฐธ์ฌํ๋ฅผ ๋ง๋ค์๋ค.
checked ์ฌ๋ถ๋ฅผ ๋ฐ์ ธ css๋ฅผ ๋ค๋ฅด๊ฒ ์ ์ฉํ๋ค.
์ฒดํฌ๊ฐ ๋์ง ์๋๋ก ๋ฐ๋ก css๋ฅผ ์ค์ ํด๋์๋ค.
2. ๋ชจ๋ฌ์ฐฝ ์ถ๊ฐ
์ด ๋ชจ๋ฌ์ฐฝ์ ๋ง์ดํ์ด์ง์์ ํ์ธํ ์ ์๋ค!
๋๋ฌธ์ ์ฌ์ฌ์ฉ์ ๋๋นํด ์ปดํฌ๋ํธ๋ก ๋ง๋ค์๊ณ ,
๋ค๋ฅธ ํ๋ก ํธ ๊ฐ๋ฐ์๋์ด ๋ชจ๋ฌ ์ปดํฌ๋ํธ๋ฅผ ๊ณ ์ณ ๋ณธ์ธ ์์
์๋ ์ฌ์ฌ์ฉํ์ ๋ค๊ณ ํ์
จ๋ค.
๐ ๋ง์ด๋ฃจํด
> ๋ง์ด๋ฃจํด ์์
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
2. ์บ๋ฌ์
์ ์ฉ ๋ฐ css ์์
vueSlick ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ์ปค์คํ
ํ๋ค. ๊ธฐ์กด css์ ๋นผ๊ณ , ๊ฐ์ธ์ ์ผ๋ก css๋ฅผ ๋ฐ๋ก ์ ์ฉํ๋ค.
> ๋ง์ด๋ฃจํด ํธ์ง
1. ๋ชจ๋ css ๋ถ๋ฆฌ ์์
html ํ๊ทธ์ style=""์ ๋ํ๋ ๋ฐฉ์์ผ๋ก ์์
์ ํด๋์
จ๊ธธ๋, ์ง์ ๋ถ๋ฆฌํ๋ ์์
์ ํ๋ค.
๋ง๋ง๋ก ๋
ธ๊ฐ๋ค์ง๋ง ๊ฒฐ๊ตญ ๋๊ตฐ๊ฐ๋ ํด์ผํ ์ผ์ด๋ผ์. ๋ด๊ฐ ๋ ์ด์ฌํ ํด์ผ์ง!
๋ฐฑ์๋ ๋ถ์ด ์์
์ ํด์ฃผ์
จ๋๋ฐ, ๋ชจ๋ ์์๋ฅผ ์ด๋ฏธ์ง๋ก ๋ํด๋์
์ css๋ก ์์ ํ๋ค.
์ด๋ฏธ์ง๋ก ๋ฃ์์์ ๋ฐ์ ์๊ฐ๋ ์ค๋๊ฑธ๋ฆฌ๊ณ , ๋์ค์ ๋ชจ๋ฐ์ผ ์ต์ ํ ์์ ์๋ ์ด๋ ค์์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๐ ๋ธ๋๋ ์๊ฐ
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
2. ์บ๋ฌ์
Vue๋ฅผ ํตํด ์บ๋ฌ์
์ ์ค์ค๋ก ๋ง๋ค์ด๋ณด๊ณ ์ถ์ด, ์ง์ ์์
์ ํ์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ image1, image2, image3, … ์์ผ๋ก ์ฌ๋ฌ๊ฐ ๋ฐฐ์ดํด๋๊ณ , ๋ณ์๋ฅผ ํตํด image${indexNum} ์ผ๋ก ๋๊ธฐ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ด์ , ์ดํ ๋ฒํผ์ ๋๋ฅด๋ฉด indexNum์ ๋ํ๊ณ ๋บ ์ ์๊ฒ ๋ฉ๋๋ค.
Slick ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ํ ์ฌ๋ผ์ด๋์ ํต์ผ์ฑ์ ์ฃผ์๋ค. ๋ง์ง๋ง ๋ฒํผ ๊น๋นก์ด๋ฅผ ์ถ๊ฐํ๋ค.
๐ ์๋ฆผ ์ค์
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
2. ์คํธ๋ ์นญ ์๋ฆผ
์คํธ๋ ์นญ radio box๋ฅผ ํตํด ์๋ on/off๋ฅผ ๊ตฌํํ๋ค.
3. ์์ผ ์ ํ
์์ผ์ ํ์ checkbox ๋ฅผ ํตํด true, false๋ฅผ ๋ฐ์๋ค.
[1,0,1,0,1,1,0] ์์ผ๋ก ๋ฐฐ์ด๋ก ๋ง๋ค์ด ์ ๋ฐ์ดํธํ์ต๋๋ค.
Axios๋ฅผ ํตํด ์ ๋ฐ์ดํธ๋ฅผ ํ๋๋ฐ, ๋ฐ๋ก ์ ์ฅ ๋ฒํผ์ด ์์ด ํด๋ฆญ๊ณผ ๋์์ ์ ๋ฐ์ดํธ ๋๋๋ก ํ๋ค!
๐ ๋ง์ดํ์ด์ง
> ๋ง์ดํ์ด์ง
1. ๋ฌ๋ ฅ ์ ์ธ, html ๋ ์ด์์ ๋ฐ css์์
2. ๋ชจ๋ฌ์ฐฝ ์ฝ์
3. API ์์
ํ๋กํ๋์ DB์ ์ ์ฅ๋์ด์๋ ํ๋กํ ์ฌ์ง, ๋๋ค์, ๋์ ๋ค์ง์ API์์ ๋ฐ์์ ์ ์ฉํ๋ค.
Vue๋ฅผ ์ฌ์ฉํ์์ผ๋ฏ๋ก Axios๋ฅผ ํตํด ์์ ํ๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ์๋์ด API์ ๋ก์ง ์ค๊ณ๋ฅผ ์์ ํ์๊ณ , ์ง์ ๊ฐ๋ฐํ์ จ๋ค.
๋๋ ์ฝ๋๋ฅผ ๋ฐ์์ ๊ฐ HTML, ํ๋ก ํธ ์์๋ค๊ณผ ์ฐ๊ฒฐํ๋ค.
๊ฒ๋ํ์ด์ ๋ชจ์ฌ ๊ฐ๋ ์ ๋๋ ๋ฒ๊ทธ๋ฅผ ๊ฐ์ด ํด๊ฒฐํ๋ฉฐ ๊ณต๋ถํ๋ค!
(์ด ํ์ด์ง๋ ๋ง์ดํ๋กํ๋ก ์ด๋ํฉ๋๋ค.)
> ๋ง์ดํ๋กํ ์ค์ (์ ๋ณด ์์ )
1. ๋ชจ๋ html ๋ ์ด์์ ๋ฐ css์์
2. API ์์
API๋ฅผ ํตํด ํ๋กํ ์ฌ์ง, ๋๋ค์, ๋ค์ง์ ์์ ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
Vue๋ฅผ ์ฌ์ฉํ์์ผ๋ฏ๋ก Axios๋ฅผ ํตํด ์์ ํ๋ค!
'ํ๋ก์ ํธ (Project) > BTP Project' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธํ (0) | 2022.10.13 |
---|---|
์์ผ๋ก ํ๊ณ ์ถ์ ๊ฒ (0) | 2022.06.25 |