์ธ์ฉ: https://hackers.pub/@bgl/0195f0eb-88dd-77e3-a864-f0371e85b270
์คํํค์ง(Stackage)๋ ํ์ค์ผ์ด (์์ธ๋ก) ์ฑ๊ณตํ์ฌ ํดํค์ง(Hackage)๊ฐ ๊ฑฐ๋ํด์ง์, ๊ทธ ๊ฑฐ๋ํจ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ถํธ์ ํด์ํ๋ ํ ๋ฐฉ์ฑ
์ผ๋ก ๊ณ ์๋์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋น์์ ํดํค์ง๋งํผ ๊ฑฐ๋ํ ์ํ๊ณ๋ฅผ ๊ฐ์ถ๊ณ ์์ผ๋ฉด์ ๋์์ "์ปดํ์ผ์ด ์ฑ๊ณตํ๋ค๋ฉด ์คํ๋ ์๋ง ์ฑ๊ณตํ ๊ฒ"์ด๋ผ๋ ํ๋ฅญํ ์์ฑ์ ๊ฐ๋ ์ธ์ด๋ ๋ฌ๋ฆฌ ์์์ฃ . ๋ฌ์คํธ๊ฐ ์์ง ์์ผ๋? ์คํํค์ง๊ฐ ์ฒ์ ๋์จ ๊ฒ 2012๋
์
๋๋ค. ๋ฌ์คํธ๋ ์์ง crates.io ๋ ์๋ฆฌ์ก๊ธฐ ์ ์ด์์ฃ . (์ฌ์ค ์ด ์์ ์ ๋ฌ์คํธ๋ ์ง๊ธ๊ณผ๋ ์ธ์ด ์์ฒด๊ฐ ๋ง์ด ๋ค๋ฅธ ์ธ์ด์๊ณ ์.)
ํ์ค์ผ์ ํจํค์ง ๋ฒ์ ๋ ์ ์ฑ
์ ๋ฐ๋ฅด๋ฉด, ํ๋ฐฉํธํ์ฑ ๊นจ์ง๋ ๋ณ๊ฒฝ์ ๋ฐ๋์ ๋ฉ์ด์ ๋ฒ์ ์ ์ฌ๋ ค์ผ ํ๊ณ , ๋ง์ด๋ ๋ฒ์ ๋ง ์ฌ๋ฆฌ๋ ๋ณ๊ฒฝ์ ํ๋ฐฉํธํ์ฑ ์ ์ง๋ ๋์๋ง ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฐ ์ ์ฑ
๋น์ฐํ ์ข์ง๋ง, ์ฌ๋์ด ๋ด์ฉ์ ์ ์์งํ๊ณ ์ง์ผ์ผ ์๋ฏธ๊ฐ ์์ต๋๋ค. ํ๋ฐฉํธํ์ฑ์ ๊นจ๋ฉด์ ๋ง์ด๋ ๋ฒ์ ๋ง ์ฌ๋ฆฌ๋ ์ค์๋ ์ด๋ค ๊ฐ๋ฐ์๋ ํ ์ ์์ฃ .
๊ทธ๋ฐ๋ฐ ํ์ค์ผ์ ๊ฒฝ์ฐ, ์ธ๊ฐ์ด ์ค์ํด๋ ๊ธฐ๊ณ๊ฐ ์ก์ ์ค ์ฌ์ง๊ฐ ์ฒ์๋ถํฐ ๋งค์ฐ ํฐ ์ธ์ด์ด๊ณ , ์๋ฅผ ๋ค์ด ์ด๋ค ํจ์๊ฐ ํต๋ฏธ์ฌ์ผ์ ๋ฐ์ฌํ ์ ์๋์ง ์๋์ง๋ฅผ ํจ์ ์คํ ์์ด๋ ์๋ณํ ์ ์๋ ์ธ์ด๋ผ๊ณ ๋ค ํ์ฃ . ํ์ค์ผ์ ๋ง์ง๋ง ํ์ค์ด 2010๋
์ ๋์์ผ๋ 2010๋
์ ๊ธฐ์ค์ผ๋ก ํ๋ฉด, ๋น์ ํ์ค์ผ์ด ์ ๊ณตํ๋ "์ปดํ์ผ ์๊ฐ ๋ณด์ฅ"์ ๋ฒ์๋ ๊ทธ์ผ๋ง๋ก ๋
๋ณด์ ์ด์์ต๋๋ค. (ํ์ค์ผ๋ณด๋ค ๋ ๊ฐํ ๋ณด์ฅ์ ์ ๊ณตํ๋ ์ธ์ด๋ค์ ์์์ง๋ง, ๊ทธ๋งํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฝ์์คํ
์ด ์์๊ณ ์.)
๊ทธ๋์ ์คํํค์ง๋ผ๋ ๋ชจํ์ด ์๋ฏธ๊ฐ ์์์ต๋๋ค. A๋ผ๋ ํจํค์ง์ ์ ๋ง์ด๋ ๋ฒ์ ์ด ํดํค์ง์ ์ฌ๋ผ์ค๋ฉด, ์คํํค์ง์์ ์๋์ผ๋ก ๊ฐ์ ธ๊ฐ๋๋ค. ์คํํค์ง๋ ๊ฐ์ ํ๋ ์ด์
์ ํฌํจ๋ ๋ค๋ฅธ ํจํค์ง๋ค ์ค A์ ์์กดํ๋ ํจํค์ง๋ค์ ์ถ๋ฆฌ๊ณ , ์๋คํํ
A์ ์ ๋ฒ์ ์ ๋จน์ฌ๋ ๋น๋๊ฐ ์ ๋๋์ง ๊ฒ์ฌํฉ๋๋ค. ์ด๋ค ์ค ํ๋๋ผ๋ ๊นจ์ง๋ฉด? A ํจํค์ง๋ ํดํค์ง์์๋ ๋ฒ์ ์ด ์ฌ๋์ผ๋, ์คํํค์ง์์๋ ๋ฒ์ ์ด ์ค๋ฅด์ง ์๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ A ํจํค์ง์ ์ ๊ณต์์๊ฒ ์๋์ผ๋ก ๊นํ๋ธ ๋ฉ์
์๋ฆผ์ด ๊ฐ๋๋ค!
("ํจํค์ง ์ ์"์ "ํจํค์ง๋ฅผ ์คํํค์ง์ ์ ๊ณตํ๋ ์ ๊ณต์"๊ฐ ๊ฐ์ ์ฌ๋์ด ์๋์ด๋ ๋๋ค๋ ์ ๋, ๋
ธ๋๋ ฅ์ ํจ๊ณผ์ ๋ถ๋ด์ ํ๋ชซํ์ต๋๋ค.)
์ด ๋ชจ๋ ๊ณผ์ ์ด ์๋ํ๋์ด ์๋๋ฐ, ์ด๊ฒ๋ง์ผ๋ก๋ 99.99%์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์ฌ๋ผ์ง๊ณ , ๊ทธ๋ฌ๋ฉด์๋ ์ฌ๋งํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ถฉ๋ถํ ์ต์ ๋ฒ์ ์ผ๋ก ์ธ ์ ์์ต๋๋ค. LTS์ ๋์ดํ๋ฆฌ๊ฐ ๊ตฌ๋ถ๋์ด ์๋ ๊ฒ๋, LTS๊ฐ GHC ๋ฒ์ ์ ๋์ํ์ฌ ์ฌ๋ฌ ๋ฒ์ ์ด ์ ์ง๋๋ ๊ฒ๋, ์ค์ ๊ฐ๋ฐ์์ ์์ฃผ ํธ๋ฆฌํ๊ณ ์.
์คํํค์ง๊ฐ ๊ฐ์ฉ๋ ๋ถ๋ถ์ "๋ฒ์ ๋ ์ ์ฑ
์ ์๋ฒฝํ๊ฒ ๋ถํฉํ๋๋ฐ๋ ํ์ค์ ์ผ๋ก ํ๋ฐฉํธํ์ฑ ํ๊ดด๋ฅผ ์ผ์ผํค๋" ๋ณ๊ฒฝ์ ๋ค๋ ์ก์๋ธ๋ค๋ ๊ฒ์
๋๋ค. ์์ฃผ ๋จ์ํ ์์๋ก "๋ง์ด ์ฐ์ด๋ ์ด๋ฆ"์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ฃผ ๋๋ฆฌ ์ฐ์ด๋๋ฐ, ์ ๊ณตํ๋ ๋ค์ ๋ฐ์ธ๋ฉ์ ๋ช ๊ฐ ์ ๋๊ณ , ๊ทธ๋์ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ๊ทธ๊ฑธ ๊ทธ๋ฅ ์ ์ญ ๋ค์์คํ์ด์ค์ ๋ค ๋ฐ์
ํด์ ์ด๋ค๊ณ ์นฉ์๋ค. ์ด๋ ๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ process
๋ผ๋ ์ง f
๊ฐ์ ์ ๋ค์์ ์ถ๊ฐ ์ ๊ณตํ๊ธฐ ์์ํ๋ฉด? ์ ์ฑ
๊ท๋ฒ์ ๋ฐ๋ฅด๋ฉด, ์ด๊ฒ๋ ๋ง์ด๋ ๋ฒ์ ๋ง ์ฌ๋ ค๋ ๋๋ ๋ณ๊ฒฝ์ ์ด ๋ง์ต๋๋ค. ํ์ง๋ง ํ์ค์์๋ ๋ง์ ํจํค์ง๋ค์ ๋ฐ์ด๋ด๊ฒ ์ฃ . ์ธ์ด๋ฅผ ๋ง๋ก ํ๊ณ ์์ ์ ์๋ ์ผ์ธ๋ฐ, ์ด๋ฐ ๊ฒ๋ค๊น์ง ์คํํค์ง์์ ์์ฃผ ๋์ ํ๋ฅ ๋ก ๋ค ์กํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ... ์ด๋ฐ ๊ฒ ์ ๋๋ค๋ ๊ฒ์ ์ธ์ด ๊ทธ ์์ฒด์ ํน์ฑ๋ ์์ง๋ง, ์ํ๊ณ ์ ์ฒด์ ๋ฌธํ์ ์ธ ํน์ฑ๋ ์๋๋ฐ์. ํ์ค์ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์์๊ฐ ์ถฉ๋ถํ ์
๋
ํ๋ค๋ฉด, ์ปดํ์ผ๋ฌ์๊ฒ ์ ์กํ๋ฉด์ ์ธ๋ฅ๋ฌธ๋ช
๋ฉธ๋ง์ํค๋ ์ฝ๋ ๋ณ๊ฒฝ์ ์ผ๋ง๋ ์ง ์ฌ์ฉ ๋ผ์๋ฃ์ ์ ์์ต๋๋ค. ์
์๊ฐ ์๋๋๋ผ๋ ๋ถ์ฃผ์๋ก ํ๋ฐฉํธํ์ฑ์ ๊นฐ ์ ์๊ณ ์. ๊ทธ๋ฐ๋ฐ ํ์ค์ผ์ ๋๋ถ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๊ณ์๋ค์ด "๋๋๋ก ๋ง์ ๊ฒ์ ์ปดํ์ผ ์๊ฐ์ ์ก๊ณ ์ถ๋ค"๋ผ๋ ๋ช
ํํ ์๋ง์ผ๋ก ์ค๊ณ๋ฅผ ํ๋ ๊ฒฝํฅ์ด ๋๋ ทํฉ๋๋ค. ๊ทธ๋์ ํธํ์ฑ ๋ฌธ์ ๋ ์ฌ๋งํ๋ฉด ์คํํค์ง ์ ์์ ์กํ๊ณ , ์คํํค์ง ํ๋ ์ด์
์ ์ง๋ 10๋
๋์ ์ค๋ฌด์ ์์ฃผ ์ ์ฉํ ๋๊ตฌ๋ก ๊ธฐ๋ฅํด ์จ ๊ฒ์ด์ฃ .
์ด์ง๊ฐํ๋ฉด ํ๋ ์ด์
๋ง ์ ๊ณ ๋ฅด๊ณ ์ ๊ฐฑ์ ํ๋ฉด ๋๊ณ , ์ข
์์ฑ ๋ชฉ๋ก์๋ mypkg >= 2.1.1 && < 2.1.2
์ด๋ฐ ๊ฑฐ ํ๋๋ ๊ด๋ฆฌ ์ ํ๊ณ ๊ทธ๋ฅ mypkg
๋ผ๊ณ ๋ง ์จ๋ ๋๋ค๋ ๊ฒ์ด, ์์งํ ๊ฐ์งฑํธํฉ๋๋ค. ๋คํํ ์ง๋ 10๋
๋์ "๋ฌธ์ ์ ์์ง๋ ์ปดํ์ผ ์๊ฐ์ ๊ฒ์ถํ๋ ๊ฒ ์ข๋ค"๋ผ๋ ์๊ฐ์ด ๋ ๋๋ฆฌ ๋ฐ์๋ค์ฌ์ ธ์, ๋ค๋ฅธ ์ธ์ด๋ค๋ ์ด๋ฐ ์ ๊ทผ์ ๋ ์๋ํ ์ฌ์ง๊ฐ ์๊ธด ๊ฒ ๊ฐ๊ตฐ์.
Read more โ