Open source ๊ธฐ์ฌ, ์๊ฒ ์์ํ๊ธฐ
Published at 2024. 8. 11.
3 min read
Table of Contents
์ด์ฉ๋ค ์คํ ์์ค์ ๊ธฐ์ฌํ๊ฒ ๋์๋?
์ด๋ฒ์ ์๋ก ํฉ๋ฅํ ํ์ ๊ธฐ์ ์คํ์ ์ ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์์ง๋ง, ์์ง ๋์์ธ ์์คํ
์ด ๊ตฌ์ถ ๋๊ธฐ ์ ์ด๋ผ shadcn/ui
์ ์ํ ์ปดํฌ๋ํธ๋ค์ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๊ณ ์์๋ค.
์
์ฌ ์ฒซ ์ฃผ์ ๋งก๊ฒ๋ task์์ multi-selecting์ด ๊ฐ๋ฅํ combobox UX๋ฅผ ๊ตฌํํด์ผ ํ๋๋ฐ, ์์ฝ๊ฒ๋ shadcn/ui
์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ปดํฌ๋ํธ๋ก๋ ํด๋น UX ์๊ตฌ์ฌํญ์ ๋ง์กฑ์ํฌ ์ ์์๋ค. ๊ทธ๋์ shadcn/ui
๋ฅผ ํ์ฅํ ์ปดํฌ๋ํธ๋ค์ ๊ตฌ๊ธ๋งํ์ฌ ์ ๋นํ ๋
์์ ์ฐพ์๋ด์ด ์ ์ฉํ๊ฒ ๋์๋ค. ํ์ง๋ง ๊ธฐ์จ๋ ์ ์, ์ด ํ์ฅ ์ปดํฌ๋ํธ ๋ํ ๊ธฐ๋ฅ ์ธก๋ฉด์์ ์์ฌ์ด ๋ถ๋ถ์ด ์กด์ฌํ๋ค.
๊ฒฐ๊ตญ, shadcn/ui
์ํ๊ณ๋ฅผ ๋ ์ด์ ํ์ํ์ง ์๊ณ ์ง์ ํ์ฅ ์ปดํฌ๋ํธ ์ฝ๋์ ๊ธฐ์ฌํด๋ณด์๋ ๊ฒฐ์ฌ์ ํ๊ฒ ๋๋ค.
Shadcn-multi-select
์ปดํฌ๋ํธ์ ์ถ๊ฐํ๊ณ ์ถ์๋ ๊ธฐ๋ฅ์ ๊ฐ๋จํ๋ค. Multi select list์ option๋ค ์ค์์ ๋ด๊ฐ ์ํ๋ option๋ค๋ง disable ์ฒ๋ฆฌํ ์ ์๋ ๊ธฐ๋ฅ์ด์๋ค.
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด์ ํด๋น ์ปดํฌ๋ํธ์ GitHub repository์ ๋ฐฉ๋ฌธํ์ฌ issue๋ฅผ ํ๋ ๋จ๊ฒผ๋๋ฐ, code์ contributeํด๋ ๋๋์ง์ ๊ดํ ๋ด์ฉ์ด์๋ค.
๋คํํ PR์ ์ฌ๋ ค๋ฌ๋ผ๋ ๋ต๋ณ์ด ๋ฌ๋ ธ๊ณ , ์ดํ์ ํด๋น repo๋ฅผ forkํ์ฌ ์์ ์ ์งํํ ๋ค์ remote PR์ ๋ณด๋ด์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ฒ ๋์๋ค.
ํด๋น repository์ maintainer๊ฐ ์ผ์ด ๋ฐ์์ง ์์ง PR์ด ๊ณ๋ฅ ์ค์ด์ง๋ง merge๊ฐ ๋๋ close๊ฐ ๋๋ ์กฐ๋ง๊ฐ ๋ง๋ฌด๋ฆฌ๊ฐ ๋์ง ์์๊น ์๊ฐํ๋ค.
๋ฐฐ์ด ์
์คํ์์ค repository์ maintainer๋ค์ ํด๋น PR์ ํฌํจ๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ผญ ํ์ํ ๊ฒ์ธ์ง, ์ฝ๋์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์์์น ๋ชปํ ๋ค๋ฅธ side-effect๊ฐ ๋ฐ์ํ ์ง ๋ฑ์ ๊ด์ฌ์ด ๋ง๋ค๋ ๊ฒ์ ์ ์ ์์๋ค.
์ด๋ฌํ ์ ์ ๊ณ ๋ คํ์ฌ contributor๋ PR์ ์ฌ๋ฆด ๋, maintainer๋ค์ด ํด๋น PR์ ๋ชฉ์ ์ ์ ํํ๊ณ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์๋๋ก ์ต๋ํ ์์ธํ ๋งฅ๋ฝ์ ๊ณต์ ํด์ฃผ๋ ๊ฒ์ด ๊ผญ ํ์ํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค.