๐Ÿข BTP ํ”„๋กœ์ ํŠธ) ๋ฌด์—‡์„ ํ–ˆ๋‚˜? ์ค‘๊ฐ„ ์ •๋ฆฌ

RNRยท2022๋…„ 5์›” 3์ผ
0

stretching project log

๋ชฉ๋ก ๋ณด๊ธฐ
5/5
post-thumbnail

2022๋…„ 5์›”!
์—ฌํƒœ ํ–ˆ๋˜ ์ž‘์—…์„ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ธฐ๋กœ ํ–ˆ๋‹ค.
์ •๋ฆฌํ•˜๋ฉด์„œ ๋น ์ง„ ๊ฒƒ์€ ์—†๋Š”์ง€, ๋” ํ•ด์•ผํ•  ๊ฒƒ์€ ์—†๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
๋˜ํ•œ ์•ž์œผ๋กœ ๋ฌด์—‡์„ ํ•˜๋ฉด ์ข‹์„์ง€, ๊ณ ์น  ์ ๊ณผ ๋ฐ˜์„ฑ๋„ ํ•จ๊ป˜.


๐Ÿข 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์ž‘์—…
2. ์บ๋Ÿฌ์…€ ์ ์šฉ ๋ฐ css ์ž‘์—…
vueSlick ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปค์Šคํ…€ํ–ˆ๋‹ค. ๊ธฐ์กด css์„ ๋นผ๊ณ , ๊ฐœ์ธ์ ์œผ๋กœ css๋ฅผ ๋”ฐ๋กœ ์ ์šฉํ–ˆ๋‹ค.

> ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌํ‘œ


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์„ ๋”ํ•˜๊ณ  ๋บ„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’š ์•Œ๋ฆผ ์„ค์ •

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๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
(์ด ํŽ˜์ด์ง€๋Š” ๋งˆ์ดํ”„๋กœํ•„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.)

> ๋งˆ์ดํ”„๋กœํ•„ ์„ค์ • (์ •๋ณด ์ˆ˜์ •)


1. ๋ชจ๋“  html ๋ ˆ์ด์•„์›ƒ ๋ฐ css์ž‘์—…
2. API ์ž‘์—…
API๋ฅผ ํ†ตํ•ด ํ”„๋กœํ•„ ์‚ฌ์ง„, ๋‹‰๋„ค์ž„, ๋‹ค์ง์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
Vue๋ฅผ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฏ€๋กœ Axios๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

profile
๊ฐœ์ธ์  ๊ณต๋ถ€ ๊ธฐ๋ก. ๊ทธ๋•Œ๊ทธ๋•Œ ๋ฉ”๋ชจํ•ฉ๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด