๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“˜ DIARY/2022 ์ฃผ๊ฐ„ํšŒ๊ณ 

10์›” 2์ฃผ์ฐจ ์ฃผ๊ฐ„ํšŒ๊ณ  : CoStudo Project

22.10.03 ์›”์š”์ผ ๐ŸŒง ๐Ÿ˜Ž ๐Ÿ‘

โœ… TODAY I DONE

#1 CoStudo - RadioGroup Components ์ฐ ์ตœ์ข…

์ง€๋‚œ ์ผ์ฃผ์ผ ๋™์•ˆ Headless Component๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๋ฉฐ Style ๊ณผ ๊ด€๋ จ๋œ ๋ถ€๋ถ„๋ณด๋‹จ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•œ๋‹ค๊ณ  ์ œ๋Œ€๋กœ ๊นŠ๊ฒŒ ๊ณ ๋ฏผ์„ ํ•˜์ง€ ์•Š์•˜๋”๋‹ˆ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์ž์—๊ฒŒ input๊ณผ label์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Option ์ปดํฌ๋„ŒํŠธ์— ์–ด๋–ป๊ฒŒ Custom Styling์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ• ์ง€์— ๋Œ€ํ•ด ํ”ผ๋“œ๋ฐฑ์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค.

 

์ง€๋‚œ ์ฃผ ์ˆ˜, ๋ชฉ ๋™์•ˆ ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์ด๊ฒƒ ์ €๊ฒƒ props๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด๊ณ  ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•ด๋ณด๊ณ  ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—Ž์–ด๋ผ ๋’ค์งš์–ด๋ผ ํ•˜๋ฉฐ ๊ฐœ์„ ์„ ์‹œ๋„ํ•ด๋ดค์ง€๋งŒ ์ฉ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๊ณ  ์˜คํžˆ๋ ค ์ฝ”๋“œ๋งŒ ๋ณต์žกํ•ด์กŒ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฏธ ์ผ์ •์€ ๋”œ๋ ˆ์ด ๋˜์—ˆ๊ณ , ๊ธˆ์š”์ผ๊นŒ์ง€๋Š” ๋งˆ๋ฌด๋ฆฌ ํ•ด์•ผ๊ฒ ๋‹ค ์‹ถ์–ด์„œ ์–ผ์ถ” ์ตœ์ข…๋ณธ์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋˜ ๋‚ฉ๋“๊ฐ€๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค. ^ -ใ… )

 

์ง€๋‚œ ์ฃผ ๊ธˆ์š”์ผ(9/30), ํ”ผ์–ด์„ธ์…˜์—์„œ ๋„๋‹ˆ์™€ ์จˆ์—๊ฒŒ ๊ฐ๊ฐ "์Šคํƒ€์ผ ์ ์šฉ ๋ฐฉ๋ฒ•์ด ํ•˜๋‚˜๋กœ ํ†ต์ผ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค(ํ˜„ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” styled-components), ์–ด๋–ค ๋ฐฉ์‹์ด๋“  ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์ปดํฌ๋„ŒํŠธ์— ๋งž๊ฒŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์Šคํƒ€์ผ ์ปค์Šคํ…€ ๋ฐฉ์‹์„ ์ž˜ ์ •์˜ํ•˜์—ฌ ์ œ๊ณตํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค" ๋ผ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๊ณ  ๋‹ค์‹œ ์ดˆ์‹ฌ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ๋กœ ๋งˆ์Œ ๋จน๊ณ  ์ฃผ๋ง๋™์•ˆ ๊ทธ๋™์•ˆ์˜ ๊ฐœ์„  ์ž‘์—… ๋‚ด์—ญ์„ ์‹น ๋‚ ๋ฆฌ๊ณ  Radio Button์„ ์ปค์Šคํ…€ ํ•˜๋Š” ์˜ˆ์ œ๋“ค์„ ์ฐพ์•„๋ณด๋ฉฐ ์–ด๋–ค ์‹์œผ๋กœ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด์ค˜์•ผ ์‚ฌ์šฉ์ž๊ฐ€ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ• ์ง€๋ฅผ ๊ณ ๋ฏผํ•ด๋ณธ ๊ฒฐ๊ณผ!

 

 

๊ฑฐ์˜ ์ผ์ฃผ์ผ ๊ฐ„์˜ ์‚ฝ์งˆ์ด ๋ฌด์ƒ‰ํ•˜๊ฒŒ ์ฝ”๋“œ์— ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™” ์—†์ด ์ดˆ๊ธฐ์˜ ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ๊ฐ€๊ธฐ๋กœ ๊ฒฐ์ •์„ ๋‚ด๋ ธ๋‹ค.

์ดˆ๊ธฐ ์ฝ”๋“œ ์ƒํƒœ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์กฑ ํ•  ๋งŒํ•œ ์ปค์Šคํ…€ ์Šคํƒ€์ผ๋ง์„ ์ถฉ๋ถ„ํžˆ ๋‚ฉ๋“์ด ๊ฐ€๊ณ  ์ต์ˆ™ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ์ดํ›„์— ๋ฐœ์ƒํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ์ด์Šˆ๋Š” ๊ทธ๋ƒฅ ๊ทธ๋•Œ๊ฐ€์„œ ๋Œ€์‘ํ•ด๋„ ๊ดœ์ฐฎ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

๋„๋กœ..์•„๋ฏธ..ํƒ€๋ถˆ...์ด์ง€๋งŒ...๊ธ์ •์ ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋‹ค...์Šค์Šค๋กœ ๋‚ฉ๋“ํ•˜๊ณ  ์„ค๋ช… ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์œ„ํ•œ ํ•™์Šต ๋น„์šฉ์ด ์•„๋‹Œ๊ฐ€ ์‹ถ๋‹ค.

๊ทธ๋Ÿฌ๋Š” ํ•œํŽธ ์Šค์Šค๋กœ์˜ ์ฝ”๋“œ์— ์ž์‹ ์ด ์—†์–ด ์ž๊พธ๋งŒ ๋ถ€์กฑํ•œ ์ ์„ ์ฐพ๊ณ (ํŠนํžˆ๋‚˜ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ), ๋ถˆํ•„์š”ํ•œ ๊ฐœ์„ ์„ ํ•˜๋ ค๊ณ  ๊ณผํ•˜๊ฒŒ ์• ๋ฅผ ์ผ๋‹ค์‹ถ์–ด ๋ฐ˜์„ฑ๋„ ํ•˜๊ฒŒ ๋๋‹ค. ์ฒ˜์Œ ํ•ด๋ณธ๋‹ค๋Š” ๋ณ€๋ช…์œผ๋กœ ํŒ€ ํ”„๋กœ์ ํŠธ๋ผ๋Š”๊ฑธ ๋ง๊ฐํ•˜๊ณ  ํ•™์Šต์— ๋„ˆ๋ฌด ๊ณผํ•˜๊ฒŒ ์‹œ๊ฐ„์„ ๋“ค์ธ ์ ๋„ ์ถ”๊ฐ€๋กœ ๋ฐ˜์„ฑ...ใ… ใ… !

 

๊ฒฐ๊ณผ์ ์œผ๋กœ ์–ด์ฐŒ๋˜์—ˆ๋“  ์•“๋˜ ์ด๋Š” ๋น ์กŒ๊ณ , ๋‚ด ์‚ฝ์งˆ์ด ํ”„๋กœ์ ํŠธ ์ผ์ • ๋”œ๋ ˆ์ด์— ์˜ํ–ฅ์„ ๋ผ์น˜๊ธฐ๋„ ํ–ˆ์œผ๋‹ˆ ๋‹ค์Œ ์ž‘์—…์€ ๋ณด๋‹ค ์ฑ…์ž„๊ฐ์„ ๊ฐ€์ง€๊ณ  ๊ฐ€๋Šฅํ•œ ๋น ๋ฅด๊ฒŒ ๋ชฐ์ž…ํ•ด์„œ ๊ฐœ๋ฐœํ•ด๋ณด์ž! ^0^)9 ์•„์ž!!

#2 ์ฃผ๊ฐ„ํšŒ๊ณ  ์‹œ์ž‘

์›๋ž˜ ๋…ธ์…˜์— ์ž‘์„ฑํ•˜๋˜ TIL์„ ๋ธ”๋กœ๊ทธ์— ์ฃผ๊ฐ„ํšŒ๊ณ  ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ์˜ฌ๋ฆฌ๊ธฐ๋กœ ํ–ˆ๋‹ค!

๋…ธ์…˜์—๋‹ค ์ž‘์„ฑํ•˜๋‹ˆ ๋„ˆ๋ฌด ๋‚ ๋ฆ„์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™์•„ ์˜ˆ์—์—์—์ „์— ๋„๋‹ˆ๊ฐ€ ์ถ”์ฒœํ•ด์ค€ ๋ฐฉ์‹๋Œ€๋กœ ์ฃผ๊ฐ„ ํšŒ๊ณ  ๊ธ€์„ ํ•˜๋‚˜ ํŒŒ์„œ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ์‹์œผ๋กœ ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค!

์–‘์‹์€ ์˜ˆ์ „ Github ๋ธ”๋กœ๊ทธ์—์„œ ๋‚ด๊ฐ€ ์ •ํ•ด ์“ฐ๋˜ ์–‘์‹์„ ๋น„์Šทํ•˜๊ฒŒ ๊ฐ€์ ธ์™”๋‹คใ…Žใ…Ž.

๊ทธ๋Ÿฐ๋ฐ ์˜ค๋žœ๋งŒ์— ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์“ฐ๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ์ปค์Šคํ…€ ์Šคํ‚จ์ด...๋„ˆ๋ฌด ๋ˆˆ์ด ์•„ํŒŒ์„œ...@ใ…‚@)ใ…‹ใ…‹ใ…‹

์ž„์‹œ๋กœ ๊ธฐ๋ณธ ์Šคํ‚จ ์ค‘์— ์•„๋ฌด๊ฑฐ๋‚˜ ํ•˜๋‚˜ ๊ณจ๋ผ์„œ ๋ฐ”๊ฟจ๋‹ค.

์—ญ์‹œ ๊น”๋”ํ•œ๊ฒŒ ์ตœ๊ณ ...

 

โŒ BACK STEP

RadioGroup ์ปดํฌ๋„ŒํŠธ์˜ ์ฃผ์š” ๊ฐœ์„ ์ ์— ๋Œ€ํ•ด PR์— ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ค๋Š”๋ฐ ๋„ˆ๋ฌด ์˜ค๋žœ ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ด ๊ฒƒ ๊ฐ™๋‹ค.

PR ์ฝ”๋ฉ˜ํŠธ๋Š” ์ ๋‹นํžˆ, ๊ณผํ•˜์ง€ ์•Š๊ฒŒ ์š”์ ๋งŒ ๋”ฑ ํšจ์œจ์ ์œผ๋กœ ์ ๋„๋ก ๋…ธ๋ ฅํ•ด๋ณด์ž....

์•„๋‹ˆ๋ฉด ๊ฐœ๋ฐœํ• ๋•Œ ๊ทธ๋•Œ ๊ทธ๋•Œ ๊ณ ๋ฏผ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ž˜ ์ •๋ฆฌํ•ด์„œ PR ์“ธ๋•Œ ๋ณต๋ถ™ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ดœ์ฐฎ๊ฒ ๋‹ค...ใ… -ใ… )

 

๐Ÿ’ฏ ONE STEP

์œ ์˜๋ฏธํ•œ ์„ฑ๊ณผ ์—†์ด ์ง€์ง€๋ถ€์ง„ ๋Œ์–ด์˜ค๋˜ RadioGroup์„ ๋– ๋‚˜๋ณด๋ƒˆ๋‹ค!!!!

 


22.10.04 ํ™”์š”์ผ โ›…๏ธ ๐Ÿ˜‘ ๐Ÿคœ

โœ… TODAY I DONE

#1 React Study

์˜ค๋Š˜ ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” ์ฃผ์ œ๋Š” React.lazy, React.Suspense ์˜€๋‹ค.

์ฝ”์ฟผ๋ฅผ ํ•˜๋ฉด์„œ ์›…์„ฑ์›…์„ฑํ•˜๋ฉฐ ์š”์ฆ˜ ํ•ซํ•œ ํ‚ค์›Œ๋“œ๋ผ๋ฉฐ Suspense์— ๋Œ€ํ•ด ๋“ค์€๊ฒŒ ์žˆ์–ด์„œ ๋Š๋‚Œ์ ์ธ ๋Š๋‚Œ์œผ๋กœ ๋ญ”์ง€๋Š” ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ํ•œ๋ฒˆ๋„ ์•ˆ ์จ๋ด์„œ ์ž์„ธํžˆ๋Š” ์ž˜ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ƒฅ ๋กœ๋”ฉ ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์ •๋„? ๊ทธ๋Ÿฌ๋‹ค ์˜ค๋Š˜ ์Šคํ„ฐ๋””๋ฅผ ํ†ตํ•ด ๋ฆฌ์•กํŠธ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ์œผ๋ฉฐ ๋ช…ํ™•ํžˆ ์–ด๋–ค ์นœ๊ตฌ์ธ์ง€ ์•„๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋๋‹ค.

์˜ค๋Š˜ ์Šคํ„ฐ๋””๋Š” ๋ฐœํ‘œ ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋๋Š”๋ฐ ์ž์นญ Suspense ๋ฐ•์‚ฌ ํ•™์œ„๋ฅผ ์†Œ์ง€ํ•˜๊ณ  ๊ณ„์‹œ๋Š” ๋„ํŠธ ๋ฐ•์‚ฌ๋‹˜์˜ ๋ฐœํ‘œ๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋ฐœํ‘œ๋ฅผ ๋“ฃ๋Š”๋ฐ ์ค€๋น„๋ฅผ ์ •๋ง ์ž˜ํ•ด์˜ค์…จ๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. ๋ฌผ ํ๋ฅด๋“ฏ์ด ์ง„ํ–‰๋˜๋Š” ๋ฐœํ‘œ๋ผ ์–ด๋ ต๋‹ค ๋Š๋‚„ ๋‚ด์šฉ์ธ๋ฐ๋„ ์ง‘์ค‘์ด ์ž˜ ๋๋‹ค.

๋‹ค ๋“ฃ๊ณ  ๋„ํŠธ๊ป˜์„œ ๋‚ด๊ฐ€ ์ƒ๊ฐ ๋ชปํ•ด๋ณธ ์ˆ˜์ค€์œผ๋กœ ๊นŠ์ด ํŒŒ๊ณ  ๋“œ์‹œ๊ณ , ๊ทธ๊ฑธ ์ž˜ ๊ณต์œ ํ•ด์ฃผ์…”์„œ ๋„ํŠธ ๋ฐ•์‚ฌ๋‹˜์˜ ํ•™์œ„๋ฅผ ์ธ์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค!

๊ทธ๋ฆฌ๊ณ  ๋ฐœํ‘œ๋ฅผ ๋“ฃ๊ณ  ๋‚˜๋‹ˆ ์•„์ง ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ†ตํ•ด Suspense๋ฅผ ์ฐ๋จน๋งŒํ•œ ๋‚˜๋Š” ์•ž์œผ๋กœ ํ•™์Šตํ•ด์•ผ ํ• ๊ฒŒ ๋” ๋งŽ๊ตฌ๋‚˜ ๊นจ๋‹ฌ์•˜๋‹ค.

ํŠนํžˆ๋‚˜ ์˜ค๋Š˜ ์ž๋ฃŒ ์กฐ์‚ฌ๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ React 18 ๋ฒ„์ „์—์„œ์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ ์ค‘ ํ•˜๋‚˜๊ฐ€ Suspense๋ฅผ ์ด์šฉํ•œ SSR์ด๋ผ๋Š”๊ฑธ ๋ณด๊ฒŒ ๋๋‹ค.

React 18 ๋ฒ„์ „์— ์™€์„œ ๋‹จ์ˆœํžˆ ๋กœ๋”ฉ ์ฒ˜๋ฆฌ๋ฅผ ์„ ์–ธ์ ์ด๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•ด์ฃผ๋Š” ๊ฒƒ ์ด์ƒ์˜ ๊ธฐ๋Šฅ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ตฌ๋‚˜ ์‹ถ์—ˆ๋‹ค.

Suspense๋ฅผ ์ฐ๋จน ํ•™์Šตํ•ด๋ดค๋”๋‹ˆ ํ•œ๋ฒˆ ์ œ๋Œ€๋กœ ์จ๋ณด๊ณ  ์‹ถ์€๋ฐ ๋‚˜์ค‘์— CoStudo ํ”„๋กœ์ ํŠธ์—์„œ๋„ Suspense๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ์„์ง€ ๊ถ๊ธˆํ•˜๋‹ค. ๊ธฐํšŒ๊ฐ€ ๋˜๋ฉด ๋ฐ”๋กœ ์จ๋ด์•ผ์ง€!!!! :P

 

#2 ์ฝ”๋“œ๋ฆฌ๋ทฐ

ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ CoStudo ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ชจ๋“  ํŒ€์›์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ทœ์น™์œผ๋กœ ์˜๋ฌดํ™”ํ•˜๊ณ  ์žˆ๋‹ค.

ํ•˜๋‚˜์˜ ์ด์Šˆ๊ฐ€ ๋๋‚˜๋ฉด PR์„ ๋‚ ๋ฆฌ๊ณ  ๊ทธ PR์„ ๋ชจ๋“  ํŒ€์›์ด ํ™•์ธํ•˜๊ณ  ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ๊ณ  approve๋‚˜ change request๋ฅผ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ธ๋ฐ.

์ฒ˜์Œ์—” ๋ชจ๋“  PR์— ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค๋Š”๊ฒŒ ์กฐ๊ธˆ ๋ถ€๋‹ด์ด ๋์—ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€๋Š” ์ฝ”๋“œ์Šค์ฟผ๋“œ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋Š” ์ž…์žฅ์ด์—ˆ๋Š”๋ฐ, ๋‚ด๊ฐ€ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ๋‹ค๊ณ !? (๊ฐํžˆ?!ใ…‹ใ…‹ใ…‹ใ…‹)

๊ณผ์—ฐ ํŒ€์›๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋ ๋งŒํ•œ ์ ์ ˆํ•œ ๋ฆฌ๋ทฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ถ€๋‹ด๋„ ๋๊ณ , ํŒ€์›์ด ๋‚˜ ํฌํ•จ FE ๊ฐœ๋ฐœ์ž 4๋ช…์ด๋ผ 3๋ช…์˜ ์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ๋ฆฌ๋ทฐํ•ด์•ผ ํ•œ๋‹ค๋Š”๊ฒŒ ์ข€ ๋ถ€๋‹ด์ด ๋๋Š”๋ฐ...(๋ฐ˜๋Œ€๋กœ 3๋ช…์—๊ฒŒ ๋ฆฌ๋ทฐ์™€ approve๋ฅผ ๋ฐ›์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ๋„...)

๋ง‰์ƒ ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ์•„๋ณด๋‹ˆ ์ซŒ ์žฌ๋ฐŒ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ์™„๋ฒฝํ•ด์„œ ํ• ๋ง์ด ์—†์œผ๋ฉด ์–ด์ฉŒ์ง€ ์‹ถ์—ˆ๋Š”๋ฐ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋Š” LGTM์ด๋ผ๊ณ  ๋‚จ๊ธฐ์ž๊ณ  ๋ฃฐ๋กœ ์ •ํ•ด์„œ ๋ถ€๋‹ด๋„ ์ ์–ด์กŒ๊ณ ใ…Žใ…Ž

๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด์„œ ์—ฌ๋Ÿฌ ์ฃผ์ œ์— ๋Œ€ํ•ด ์˜๋…ผ์„ ํ•˜๋Š”๊ฒŒ ๊ฝค ์žฌ๋ฏธ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

ํŒ€์›๋ถ„๋“ค์ด ๋‹ค๋“ค ์—ด์‹ฌํžˆ ์ฐธ์—ฌํ•ด์ฃผ์‹œ๋Š” ๋•๋ถ„์ธ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ !

ใ…Žใ…Ž์•Œ์ฐฌ PR ์ฝ”๋ฉ˜ํŠธ๋“ค ^_^)!!!

์ด๊ฒŒ ๋‹ค ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ์ž์‚ฐ์ด๋ผ ์ƒ๊ฐํ•˜๋‹ˆ ์ ˆ๋กœ ๋ฐฐ๊ฐ€ ๋ถ€๋ฅด๋Š” ๋Š๋‚Œใ…Žใ…Žใ…Ž

์•„๋ฌดํŠผ ๊ฒฐ๋ก ์€! ์˜ค๋Š˜ ์ œ์ด๋ฏธ์˜ PR์— ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ–ˆ๋‹ค!

์ด๋ฏธ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ๊น”๋”ํ•˜๊ฒŒ ๊ฐœ์„ ๋œ ์ฝ”๋“œ๋ฅผ ํ•œ๋ฐœ ๋Šฆ๊ฒŒ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์„œ LGTM์„ ๊ธธ๊ฒŒ ํ’€์–ด์“ด ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธด ์ˆ˜์ค€์ด์—ˆ์ง€๋งŒใ…Žใ…Ž

์ œ์ด๋ฏธ์˜ ์ฝ”๋“œ์—์„œ ์ธ์ƒ๊นŠ์—ˆ๋˜ ์ ์€ ํŠน์ • ์ปดํฌ๋„ŒํŠธ์˜ ์Šคํƒ€์ผ๋ง์„ data-selected ๋ผ๋Š” ์†์„ฑ์„ ํ†ตํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜์‹  ๋ถ€๋ถ„์ด์—ˆ๋‹ค. ๋”ฑ ์ง€๋‚œ ์ฃผ ๊ธˆ์š”์ผ ์ œ์ด๋ฏธ๊ฐ€ ์ฃผ์…จ๋˜ ์Šคํƒ€์ผ๋ง๊ณผ ๊ด€๋ จ๋œ ํ”ผ๋“œ๋ฐฑ์ด ์ด๋Ÿฐ ๋Š๋‚Œ์˜ ๋ง์”€์ด์—ˆ๊ตฌ๋‚˜ ํ•˜๊ณ  ์ œ์ด๋ฏธ์˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์˜จ์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค!

 

#3 Headless Input ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„

๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋””๋ฅผ ์ค€๋น„ํ•˜๊ณ  ๋ณต์Šตํ•˜๋Š๋ผ ์ƒ๊ฐ๋ณด๋‹ค ๋Šฆ์€ ์‹œ๊ฐ„์— ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ๋‹ค.(AM 1์‹œ..)

์ง€๋‚œ ์ฃผ์— ์–ผ์ถ” ์„ค๊ณ„๋ฅผ ํ–ˆ๋‹ค ์‹ถ์—ˆ๋Š”๋ฐ ์Šคํฌ๋Ÿผ ๋•Œ validation ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋ ค๋ฉด form ์š”์†Œ๊นŒ์ง€ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋‹ˆ ์ž˜ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ํŒŒํฌ์˜ ์ถฉ๊ณ ๋ฅผ ๋ฐ›๊ณ  ์˜ค๋Š˜ ์ด๋ฏธ ๋„ˆ๋ฌด ๋Šฆ์€ ๊ฒธ ๊ฐœ๋ฐœ์€ ๋‚ด์ผํ•˜๊ณ  ํ•ด๋‹น ๋ถ€๋ถ„์˜ ์„ค๊ณ„๋ฅผ ๋‹ค๋“ฌ๊ธฐ๋กœ ํ–ˆ๋‹คใ…Žใ…Ž....

 

โŒ BACK STEP

์–ด์ œ ์ผ์ฐ ์ž๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด๊ฑฐ์ €๊ฑฐ ํ•˜๋‹ค๋ณด๋‹ˆ ์ƒˆ๋ฒฝ 5~6์‹œ์— ์ž ๋“ค์–ด์„œ...์˜ค๋Š˜ ํ•˜๋ฃจ์˜ ์ ˆ๋ฐ˜์„ ์ž ์„ ์ž๋ฉด์„œ ๋‚ ๋ ธ๋‹ค.

๋ณธ๊ฒฉ์ ์ธ ํ•˜๋ฃจ์˜ ์‹œ์ž‘์„ ์˜คํ›„ 3์‹œ์— ํ–ˆ๋‹ค...ใ… .

๊ทธ ํƒ“์— Input ์ปดํฌ๋„ŒํŠธ์˜ ๊ฐœ๋ฐœ ์ง„๋„๋„ ์ฃผ์ถค....

 

๐Ÿ’ฏ ONE STEP

์šด๋™์„ ์‹œ์ž‘ํ–ˆ๋‹ค! ^0^)9

์ง€๋‚œ ์ฃผ ์ฃผ๋ง์— ์ฐฌ ๋ฐ”๋žŒ ์ข€ ์์—ˆ๋‹ค๊ณ  ๋ฐ”์•„๋กœ ๊ฐ๊ธฐ์— ๊ฑธ๋ ค ์ฝ”๋งน๋งน์ด๊ฐ€ ๋๋˜ ์ถฉ๊ฒฉ์„ ๋ฐ›์•„์„œ ์ด์   ์ง„์งœ ์•ˆ๋˜๊ฒ ๋‹ค ์‹ถ์–ด์„œ ๋งค์ผ ๋ชปํ•ด๋„ 30๋ถ„์”ฉ์€ ์šด๋™์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค.

์˜ค๋Š˜์€ ๊ฐ€๋ณ๊ฒŒ ์›Œํ‚น๋จธ์‹ ์„ ์ด์šฉํ•ด์„œ ๋น ๋ฅด๊ฒŒ ๊ฑท๊ธฐ 30๋ถ„์„ ํ–ˆ๋‹ค!

์ผ๋‹จ ์ผ์ฃผ์ผ์€ ์ด๋ ‡๊ฒŒ ์œ ์ง€ํ•ด๋ณด์ž!

 


22.10.05 ์ˆ˜์š”์ผ โ˜๏ธ ๐Ÿ˜ ๐Ÿคœ

โœ… TODAY I DONE

#1 Mob-Programming

์˜ค๋Š˜ CoStudo ํ”„๋กœ์ ํŠธ์—์„œ 2๊ฑด์˜ ๋ชน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

๋ชน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ํ•œ ๋ช…์˜ ๋“œ๋ผ์ด๋ฒ„์™€ ์—ฌ๋Ÿฌ ๋ช…์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•˜๋‚˜์˜ PC๋กœ ์ฝ”๋”ฉ ๋˜๋Š” ๋ฌธ์„œํ™” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฐœ๋ฐœ ๋ฐฉ์‹์œผ๋กœ 1 : 1 ๋ฐฉ์‹์ธ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ 1 : n ์œผ๋กœ ํ™•์žฅ์‹œํ‚จ ํ˜•ํƒœ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค.(์ถœ์ฒ˜)

์ฝ”๋“œ์Šค์ฟผ๋“œ๋ฅผ ํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ์—์„œ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฒฝํ—˜ํ•ด๋ดค๋Š”๋ฐ ๋ชจ๋“  ์ž‘์—…์„ ํŽ˜์–ด๋กœ ํ•˜๋ฉด ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๊ฐ์ž์˜ ์Šค์ผ€์ฅด๋„ ๋งž์ถ”๊ธฐ ํž˜๋“œ๋‹ˆ ์ด๋ฒˆ CoStudo ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ์ž๊ฐ€ ์ด์Šˆ๋ฅผ ๋งก์•„ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋„์›€์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ํ•จ๊ป˜ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉด ๋ชน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ๋„ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์–ธ์ œ์ฏค ์ฒ˜์Œ ํ•˜๊ฒŒ๋ ๊นŒ ์‹ถ์—ˆ๋Š”๋ฐ ์˜ค๋Š˜ ์จˆ๊ณผ ๋„๋‹ˆ๊ฐ€ ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ์‹ถ๋‹ค ํ•˜์…”์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘๋˜๊ณ  3์ฃผ๋งŒ์— ์ฒ˜์Œ์œผ๋กœ ์ง„ํ–‰์„ ํ•˜๊ฒŒ ๋๋‹ค.

 

์˜ค๋Š˜ ์ฃผ๋กœ ๋…ผ์˜ํ•œ ๋‚ด์šฉ์€ ๋„ค์ด๋ฐ, type, ์ค‘๋ณต ๋กœ์ง์˜ ๋ฆฌํŒฉํ† ๋ง ๋ฐฉํ–ฅ์ด์—ˆ๋‹ค.

์ธ์ƒ๊นŠ์—ˆ๋˜ ๋ถ€๋ถ„์€ ์ œ์ด๋ฏธ์˜ Row ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด๋ฉด์„œ children์˜ ํƒ€์ž…์— ์ œํ•œ์„ ๋‘๊ธฐ ์œ„ํ•ด ReactElement๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์ด์—ˆ๋Š”๋ฐ ๋‚˜๋Š” Radio Group์„ ๊ตฌํ˜„ ํ•  ๋•Œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์–ด๋–ค ํƒ€์ž…์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด์˜ฌ์ง€ ๋ชจ๋ฅด๊ณ  ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜๋ฉด ReactNode๋กœ ํ•ด๋‘๋Š”๊ฒŒ ์ข‹๊ฒ ๋‹ค ์ƒ๊ฐํ•ด์„œ children์˜ type์„ ReactNode๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ง€๊ธˆ ๊ฐœ๋ฐœ์ค‘์ธ Headless ์ปดํฌ๋„ŒํŠธ๋Š” ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋“ค์–ด์˜ฌ์ง€ ์šฐ๋ฆฌ๊ฐ€ ์ •ํ•ด๋†“์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋„ˆ๋ฌด ์ž์œ ๋กญ๊ฒŒ ํƒ€์ž…์„ ์ •ํ•ด๋‘๋Š” ๊ฒƒ๋ณด๋‹ค ๋”ฑ ์–ด๋–ค ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋งŒ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ์„์ง€ ์ œํ•œ์„ ๊ฑธ์–ด๋‘๋Š”๊ฒŒ ์ข€ ๋” ์•ˆ์ „ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ๋ž€ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. (๊ทผ๋ฐ ๊ทธ ์ด์ „์— ReactNode์™€ ReactElement์˜ ๋ช…ํ™•ํ•œ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ๋„ ์ข€ ๋” ํ•™์Šตํ•ด์•ผ๊ฒ ๋‹ค ์‹ถ์—ˆ๊ณ ...)

 

๊ทธ ๋‹ค์Œ์€ ๋„๋‹ˆ์˜ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ์˜ ๋ฆฌํŒฉํ† ๋ง ๋ฐฉํ–ฅ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด์—ˆ๋Š”๋ฐ ๋„๋‹ˆ๊ฐ€ ์Šฌ๋ผ์ด๋”๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์ขŒ์šฐ ์ด๋™ ๋ฒ„ํŠผ์„ ๋น„์Šทํ•œ ๋กœ์ง์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฐ๊ณผ๋Š” ๋‹ฌ๋ผ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์—ญํ• ๋งŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ„๋„์˜ ์ปดํฌ๋„ŒํŠธ(PrevButton, NextButton) ์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ๊ฐ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ์ค‘๋ณต ๋กœ์ง์œผ๋กœ ์ธํ•ด ๋‘ ๋ฒ„ํŠผ์ด ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜์ด ์ˆ˜์ •๋  ๊ฒฝ์šฐ ๋‘ ์ปดํฌ๋„ŒํŠธ ๋ชจ๋‘ ์ˆ˜์ •ํ•ด์•ผ ํ•ด์„œ ์œ ์ง€๋ณด์ˆ˜์— ์–ด๋ ค์›€์ด ์˜ˆ์ƒ์ด ๋๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๋‚ด๋ถ€์˜ ์ค‘๋ณต ๋กœ์ง์„ ํ•จ์ˆ˜๋กœ ๋นผ๊ฑฐ๋‚˜ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ํ•ฉ์น˜๋ ค ํ–ˆ๋”๋‹ˆ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ์ธ์ž๋„ ๋งŽ๊ณ , ๋‘ ๋ฐฉ์‹ ๋ชจ๋‘ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๋„ ํ•ด์ค˜์•ผ ํ•˜๊ณ  ๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ์„œ ๋ฌธ์ œ์˜€๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์ด๋“  ๋‚˜๋ฆ„๋Œ€๋กœ์˜ ์žฅ๋‹จ์ ์ด ์žˆ์–ด์„œ ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ๋„๋‹ˆ๊ฐ€ ์ฒ˜์Œ ์ƒ๊ฐํ•˜์…จ๋˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ–ˆ๋‹ค. ^_^)b

 

์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋ชน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค๊ฐ™์ด ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹จ ์†Œ์†Œํ•œ ๋ฆฌํŒฉํ† ๋ง์˜ ๋ฐฉํ–ฅ์„ ํ•จ๊ป˜ ์ •ํ•˜๋Š” ๋Š๋‚Œ์ด์—ˆ์ง€๋งŒ ์žฌ๋ฏธ์žˆ์—ˆ๋‹คใ…Žใ…Ž!

 

#2 Headless Input ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ์ค‘

์˜ค๋Š˜ Input ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ...์ œ์–ด ์ปดํฌ๋„ŒํŠธ ๋น„์ œ์–ด ์ปดํฌ๋„ŒํŠธ๋ผ๋Š” ๋”ด๊ธธ๋กœ ์ƒˆ๋ฒ„๋ ธ๋‹ค.

์ ๋‹นํžˆ ๊ตฌํ˜„ํ•˜๋ฉด ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž˜ ๊ตฌํ˜„ํ•˜๋ ค ํ•˜๋‹ค ๋ณด๋‹ˆ ์ž๊พธ๋งŒ ๊นŠ์€ ํ•™์Šต์œผ๋กœ ๋น ์ง€๋ ค๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ž˜๋„ ์ผ๋‹จ ์˜ค๋Š˜ ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„๊นŒ์ง€๋Š” ์ง„ํ–‰์„ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

๊ผญ...๊ผญ ๋‚ด์ผ PR ๋ณด๋‚ธ๋‹ค...ใ… -ใ… )9

 

โŒ BACK STEP

ใ…Žใ…Ž์šด๋™...๊ฐ€๋ฒผ์šด ์‚ฐ์ฑ…์œผ๋กœ ๋–ผ์› ๋‹ค.

์•„์นจ ์Šคํฌ๋Ÿผ์„ ๋๋‚ด๊ณ  ๋‚ฎ์ž ์„ ์ž๋ฒ„๋ ธ๋‹ค.

 

๐Ÿ’ฏ ONE STEP

๋ฌด๋‚œํžˆ ๊ฐœ๋ฐœํ–ˆ๋‹ค.