Underscore๊ฐ Semantic Versioning ์ ๋ฐ๋๋ค๋ฉด ๋งค์ฐ ์ ์ฉํ ๊ฒ์
๋๋ค. ์ฃผ์ ๋ฒ์ ์ถฉ๋ ์์ด _break_ bindAll
๋ฐ _removing_ unzip
์ ๊ฐ์ ์ผ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ์ฌ๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ด๋ฅผ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋น์๋ ๋ฒ๊ทธ ์์ ๋ฐ ์ฑ๋ฅ ๊ฐ์ ์ ์ ๊ทธ๋ ์ด๋ํ๊ณ ์ฝ๋ ์์์ ๋ํ ๋๋ ค์ ์์ด ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ป์ ์ ์์ต๋๋ค.
์ธ์ฉ https://github.com/jashkenas/backbone/issues/2888#issuecomment -29076249:
๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง "์๋ฏธ๋ก ์ " ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๊ฒฉํ๊ฒ ๋ฐ๋ฅด๋ ๊ฒ์ Backbone์์ ์ ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค. ํ๋ก์ ํธ๊ฐ ๊ฑฐ์ ๋ชจ๋ ํ๋ฉด์ ์ด๋ฉฐ ๋ด๋ถ๊ฐ ๊ฑฐ์ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ Backbone์ ๋ํ ๊ฑฐ์ ๋ชจ๋ ๋ณ๊ฒฝ(ํจ์น, ํ ์์ฒญ)์ ์ด์ ์ ์ ์๋์ง ์์ ๋์์ ์์กดํ๋ ์ฌ๋๋ค์๊ฒ๋ง ํด๋นํ๋๋ผ๋ ์ฝ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฝ๋๋ค.
๋์ํ์ง ์๋๋ผ๋ ๋๋จธ์ง ์๊ฒฌ๋ ์ฝ์ ๊ฐ์น๊ฐ ์์ต๋๋ค.
https://github.com/jashkenas/coffeescript/issues/3352#issuecomment -34217211 ๋๋ฌด
@akre54 Lo-Dash(Underscore ๋์) ๋ฐ ExosJS(Backbone ๋์)์ ๊ฐ์ ๋ค๋ฅธ ํ๋ก์ ํธ๊ฐ semver๋ฅผ ๋ฐ๋ฅผ ์ ์๋ค๋ ์ฌ์ค์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ๋์ง ๊ถ๊ธํฉ๋๋ค.
๊ทธ ๋๋กญ์ธ ๊ต์ฒด๊ฐ _semver๋ฅผ ๋ฐ๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์_ Underscore/Backbone ์ฝ์ด๊ฐ ๋ฐ์ด๋ถ์ด๋ ๋ณ๋ช ์ ๊ทธ๋ฐ ์ข ๋ฅ์ ๋ ์น๋ฅผ ๋์ง์ง ์์ต๋๊น?
๋ช ๊ฐ์ง.
Lo-Dash๋ ๋๋ถ๋ถ Underscore๊ฐ ํฌ์ฅํ ์ข์ ๊ธธ์ ๊ณ ์ํ๋ฏ๋ก Underscore ๋ฆด๋ฆฌ์ค๊น์ง ๋ณด๋ฅํ์ฌ ๊ธฐ๋ฅ ํจ๋ฆฌํฐ๋ฅผ ์ํ ๋ฒ์ ๋ฒํ๋ฅผ ํธ์ํ๋ ์ด์ ์ด ์์ต๋๋ค. ๋ฐ์ค๊ณผ์ ์ฐจ์ด์ ์ ํฅ์ ๋ฒ์ฃผ์์ ๋ ๋ง๊ณ ์ค์ํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ ๊ฒฝํฅ์ด ์์ต๋๋ค.
Lo-Dash๋ ์ฝ๋ ํผ๋์ ํฌ์์ํค๋ฉด์ bc์ ๋ํด ํจ์ฌ ๋ ๋ง์ ๋ณดํธ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐ๋ฉด Underscore๋ ๊ฐ๊ฒฐํจ์ ์ํด ๋ ธ๋ ฅํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ ํด ๋ ๋ช ์ค์ ์ถ๊ฐ ์ฝ๋๋ก ์์ํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ๋ ผ๋ฆฌ์ ๋ง์ ๋ถ๋ถ์ด ๋ด๋ถ์ ์์ผ๋ฏ๋ก ๋์ํ์ธ์.
๋ํ ํ ๊ธฐ์ฌ์ (๊ทํ)๊ฐ ๋ถ๊ท ํ์ ์ผ๋ก ์์ฑํ๋ ๋ฐ๋ฉด Underscore์ ๋ณ๊ฒฝ ์ฌํญ์ ํจ์ฌ ๋ ๋ค์ํ ๊ธฐ์ฌ์ ์งํฉ์์ ์ค๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ถ์ ์ผ์ .
์ผํ์ ์ผ๋ก, ์ ๋ Underscore๊ฐ Lo-Dash๋ณด๋ค ๋ ๋ง์ ์ด๋ณด์ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ค๋ ๋ฆด๋ฆฌ์ค ์ผ์ ์ ๋จ์ ์ด ์๋ค๋ ๋๋์ ๋ฐ์์ต๋๋ค. ๊ณ ๊ธ ๊ฐ๋ฐ์๋ ๋ธ๋ ์ดํน ์ฒด์ธ์ง์์ ์ค๋ ์ฌํ์ ๋ ํธ์ํ๊ฒ ๋์ฒํ ์ ์์ผ๋ฉฐ ๊ทธ๋ค์ ์ถ๋ก ์ ์กฐ๊ธ ๋ ์ดํดํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, Exoskeleton์ ๊ณต๋ ์ ์์ด์ ์์ ๊ธฐ๊ณ ์๋ก์ ์ ๋ ์ฐ๋ฆฌ๋ semver๋ฅผ ํ๋ก์ฐํ์ง ์์๋ค๋ ์ฌ์ค์ ๊ฐ์ฅ ๋จผ์ ์๋ ค๋๋ฆฝ๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ ์์์ ์ค๋ช ํ Lo-Dash์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
Lo-Dash๋ ๋๋ถ๋ถ Underscore๊ฐ ํฌ์ฅํ ์ข์ ๊ธธ์ ๊ณ ์ํ๋ฏ๋ก Underscore ๋ฆด๋ฆฌ์ค๊น์ง ๋ณด๋ฅํ์ฌ ๊ธฐ๋ฅ ํจ๋ฆฌํฐ๋ฅผ ์ํ ๋ฒ์ ๋ฒํ๋ฅผ ํธ์ํ๋ ์ด์ ์ด ์์ต๋๋ค. ๋ฐ์ค๊ณผ์ ์ฐจ์ด์ ์ ํฅ์ ๋ฒ์ฃผ์์ ๋ ๋ง๊ณ ์ค์ํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ ๊ฒฝํฅ์ด ์์ต๋๋ค.
Underscore์ ๋ฒ์ ์ ๋ต๊ณผ ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น? Lo-Dash๋ semver ์ดํ ๋ฒ์ ์ ์ถฉ๋์ํค๋ฏ๋ก v2.x์์ v3.x๋ก ์งํ๋ฉ๋๋ค.
Lo-Dash๋ ์ฝ๋ ํผ๋์ ํฌ์์ํค๋ฉด์ bc์ ๋ํด ํจ์ฌ ๋ ๋ง์ ๋ณดํธ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐ๋ฉด Underscore๋ ๊ฐ๊ฒฐํจ์ ์ํด ๋ ธ๋ ฅํฉ๋๋ค.
๊ฐ๋ ์ฝ๋๋ ๊ฐ๊ฒฐํจ์ด ๋ฒ์ ์ ๋ต๊ณผ ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น?
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ ํด ๋ ๋ช ์ค์ ์ถ๊ฐ ์ฝ๋๋ก ์์ํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค(Lo-Dash๋ 8.7k ๋ผ์ธ์์ ์์ํ๊ณ Underscore์์๋ 1.4k ๋ผ์ธ์์ ํด๋ญ).
Lo-Dash์๋ ์ธ๋ผ์ธ ๋ฌธ์๊ฐ ์์ผ๋ฉฐ LOC๋ ๋ฒ์ ๊ด๋ฆฌ์ ๊ด๋ จ์ด ์์ต๋๋ค.
๋ก์ง์ ๋ง์ ๋ถ๋ถ์ด ๋ด๋ถ์ ์ด๊ธฐ ๋๋ฌธ์ Lo-Dash์์ ์ํํ ์ ์๋ ๋ด๋ถ mucking์ด ํจ์ฌ ๋ ๋ง์ต๋๋ค.
Underscore๋ ๋ง์ฐฌ๊ฐ์ง ์๋๊น์?
๋ํ ํ ๊ธฐ์ฌ์(๊ทํ)๊ฐ ๋ถ๊ท ํ์ ์ผ๋ก ์์ฑํ๋ ๋ฐ๋ฉด Underscore์ ๋ณ๊ฒฝ ์ฌํญ์ ํจ์ฌ ๋ ๋ค์ํ ๊ธฐ์ฌ์ ์งํฉ์์ ์ค๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ถ์ ์ผ์ .
์ด๊ฒ์ด Underscore์ ์ ์ง ๊ด๋ฆฌ์๊ฐ ์๋ฝ/๊ฑฐ๋ถ ๋๋ ํฅํ ๋ฆด๋ฆฌ์ค๊น์ง ๋ฏธ๋ฃจ๋ ์ด์ ์
๋๋ค.
๋ค์ ๋งํ์ง๋ง ๋ฒ์ ๊ด๋ฆฌ์ ๊ด๋ จ์ด ์์ต๋๋ค.
์ผํ์ ์ผ๋ก ์ ๋ Underscore๊ฐ Lo-Dash๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ์ด๋ณด์ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ค๋ ๋จ์ ์ด ์๋ค๋ ๋๋์ ๋ฐ์์ต๋๋ค.
๋๋ ๋์ํ์ง ์์ต๋๋ค. Lo-Dash์๋ ์์ฒ ๋ช ์ ๋ถ์ ๊ฐ์กฑ์ด ์์ผ๋ฉฐ ๋ชจ๋ ์ ๋ฌธ๊ฐ๊ฐ ๋ ์๋ ์์ต๋๋ค.
๊ณ ๊ธ ๊ฐ๋ฐ์๋ ๋ธ๋ ์ดํน ์ฒด์ธ์ง์์ ์ค๋ ์ฌํ์ ๋ ํธ์ํ๊ฒ ๋์ฒํ ์ ์์ผ๋ฉฐ ๊ทธ๋ค์ ์ถ๋ก ์ ์กฐ๊ธ ๋ ์ดํดํ ์ ์์ต๋๋ค.
Lo-Dash๋ semver๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์ฃผ์ ๋ฒ์ ์
๋ฐ์ดํธ๋ก ์ด๋ํ ๋๊น์ง ๋์ง์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค. Underscore์ ๋ฌ๋ฆฌ Lo-Dash๋ ํจํค์ง ๋ฒ์ ๋ฒ์์ ~
๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ ์๋์์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, Exoskeleton์ ๊ณต๋ ์ ์์ด์ ์์ ๊ธฐ๊ณ ์๋ก์ ์ ๋ ์ฐ๋ฆฌ๋ semver๋ฅผ ํ๋ก์ฐํ์ง ์์๋ค๋ ์ฌ์ค์ ๊ฐ์ฅ ๋จผ์ ์๋ ค๋๋ฆฝ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ง์ผํ ์์ ์ด๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
Underscore๊ฐ semver๋ฅผ ๋ชป ๋ฐ๋ผ๊ฐ ์ด์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ฅผ ๋ฐ๋ฅด์ง ์๋ ๊ฒ์ ์ฌ์ฉ์์๊ฒ ์ค๋ก์
๋๋ค.
npm์ด๋ bower์ ํฌํจ๋๊ธฐ๋ฅผ ์ํ๋ค๋ฉด ํ ๋ก ์ ๋์์ด ์๋๋๋ค. semver๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋น์ ์ semver๋ฅผ ๋ฐ๋ฅด๊ฒ ๋ค๋ ์๋ฌต์ ์ธ ์ฝ์์ ํ๊ณ ์๊ณ , ๊ทธ๋ ๊ฒ ํ์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ์์ด ์ฌ๋๋ค์ ์ฝ๋๋ฅผ ๊นจ๋จ๋ฆฌ๊ณ ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์ด ๋์ด์ ์ฐํธ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์์ฐ ์ฝ๋๋ฅผ ๊นจ๋ ์ ํ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ๋จ์ ์๊ฐ๊ณผ ๋์ ๊ฐ์ง๊ณ ์กฐ์กํ ๊ฒ์์ ํ๋ ๊ฒ์ ์ฟจํ์ง ๋ชปํ๋ค.
์ฆ, ๋ฒ์ ๋ฒํธ๊ฐ ๋ ๋นจ๋ฆฌ ์ปค์ง๋๋ค. ๊ทธ๋์ ๋ฌด์? ๊ทธ๊ฒ์ ์ซ์์ ๋๋ค. ๊ทธ๊ฒ์ ๋๊ตฐ๊ฐ์ ์์ฐ ์ฅ๋ฐ๊ตฌ๋๋ฅผ ๊นจ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ซ์ต๋๋ค.
์ ๋ฒ์ ๊ฒฝ์ฐ +1
๊ฐ์ธ์ ์ผ๋ก, ๋๋ ๋ฒ๊ทธ ๋ฆฌํฌํธ์์ _personal_์ ์ป๋ ๊ฒ์ด "๋ฉ์ง๋ค"๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์๋ฏธ๋ก ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ฐ๋ฅด๊ฑฐ๋ ๋ฐ๋ฅด์ง ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ด์ ๊ฐ ์์ต๋๋ค. ์พ , ์พ , ์พ -- ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ๋ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋๋ ์ด์ ์ ๋๋ค. ์ฌ๊ธฐ์ ์ด์ ๊ฐ ์์ต๋๋ค. ์พ , ์พ --์ ์ง ๊ด๋ฆฌ์๊ฐ semver์ ์ผ์นํ๋ ๋ฐฉ์์ผ๋ก ๋ฒ์ ๋ฒํธ๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ์ ๋๋ค.
๊ทธ ํ๋ ์ ์ง ๋ณด์์ ๋ชซ์ ๋๋ค. ๊ทธ๋ค์ ์ ์ฅ์ ๋์ํ์ง ์๋๋ค๋ฉด ์ฌ์ฉํ ๋์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ํฌํฌํ ์ ์์ต๋๋ค(๋ค๋ฅธ ์ฌ๋๋ค์ด ํ ๊ฒ์ฒ๋ผ). ์ํ๋ ๋๋ก ๊ฐ์ธ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์์ฑํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์๋ฏผ์ ์๊ฒฌ ๋ถ์ผ์น๋ฅผ ์๋ํฉ์๋ค.
@raganwald๋ฅผ ์ดํดํ์ง ๋ชปํฉ๋๋ค. ๋๊ฐ ์ฌ์ ์ธ๊ฐ?
๋๋ ๋๊ตฌ๋ฅผ ๊ณต๊ฒฉํ์ง ์์ต๋๋ค. semver๋ npm์ด๋ bower์ ํจํค์ง๋ฅผ ๊ฒ์ํ ๋ ์ฒด๊ฒฐํ๋ API ๊ณ์ฝ์ ์ผ๋ถ๋ผ๋ ์ ์ ์ง์ ํ๊ณ ์์ต๋๋ค.
๊ทธ ๊ณ์ฝ์ ์ด๊ธฐ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ ๊นจ์ง๋๋ค. ๋ฉ์ง์ง ์์.
npm์ ์ฐ๋ฆฌ ๋ชจ๋์ด ์๋ก ์ ์๋ํ๋๋ก ์ ์งํ๋ ๋ช ๊ฐ์ง ๊ท์น์ ๋ชจ๋ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ ๋ง ์ ์๋ํฉ๋๋ค. ์ด๋ฌํ ๊ท์น์ ์ด๊ธฐ๋ฉด ๋น์ ๊ณผ ํจ๊ป ์๋ํ๋ ๋ค๋ฅธ ๋ชจ๋๋ ๊นจ์ง๋๋ค. ์ฝ๋์ ์์กดํ๋ ํ๋ก๋์ ์ฑ์ ์ค๋จํฉ๋๋ค.
์ง๋ฌธ์ "semver๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๊น?"๊ฐ ์๋๋๋ค. ๋ฌธ์ ๋ "์ฐ๋ฆฌ๊ฐ ์ด ์ํ๊ณ์์ ์ข์ ์๋ฏผ์ด ๋๊ธฐ๋ฅผ ์ํ๋๊ฐ?"์ ๋๋ค.
์์ ์ Underscore์ ๊ฐ์ ํ๋ก์ ํธ์์ _๋ชจ๋ _ ๋ณ๊ฒฝ ์ฌํญ์ด ๋๊ตฐ๊ฐ์๊ฒ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์
๋๋ค. _.extend
์์ null ๊ฐ๋๋ฅผ ์ ๊ฑฐํ๋ฉด(์์์ ์๋ฅผ ์ฌ์ฉํ์ฌ) ๋๊ตฐ๊ฐ์๊ฒ ๋ฒ๊ทธ๋ฅผ ์ผ์ผํค๊ณ ๋ค๋ฅธ ๋๊ตฐ๊ฐ์๊ฒ๋ ๋ฒ๊ทธ๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ํจ์น์ธ๊ฐ์? ๋ง์ด๋ ๋ฒ์ ์ธ๊ฐ์? ์ฃผ์ํ?
Underscore ๋ฐ Backbone์ ๊ฒฝ์ฐ ์ข ์์ฑ์ ๊ณ ์ ํ๋ ๊ฒ์ด ๋ถ๋นํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋ค์ semver๋ ํจํค์ง ํ๋ก๊ทธ๋จ์ ๊ฒ์ํ๊ธฐ ์ํ ์๊ตฌ ์ฌํญ์ด ์๋๋๋ค.
์์ ์ Underscore์ ๊ฐ์ ํ๋ก์ ํธ์์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋๊ตฐ๊ฐ์๊ฒ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์ ๋๋ค.
๋น์ ์ ๋น์ ์ ์ ์ฅ์ ์ ๋นํํ๊ธฐ ์ํด ๊ทน๋จ์ผ๋ก ๋ฐ์ด์ค๋ฅด๊ณ ์์ต๋๋ค. ํ์ค์ ๊ท ํ์ ๋๋ค. ์ธ๊ธฐ ์๋ API, ์ฃ์ง ์ผ์ด์ค ๋ฐ ๋ฌธ์ํ๋ ๋์์ด ์์ต๋๋ค. ๋จ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ณ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ๋ฉ์ด์ ๋ฒ์ ๊ณผ ์ถฉ๋ํ์ง ์๊ณ ์๊ฐ์ ์ฐ์ฅํ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ ์ ์ง ๋ณด์๊ฐ ์๊ฐํ๊ณ ๊ณํํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฌ์ง ์๊ณ ๋ ํด๊ฒฐํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๋ก๋๋งต์ ๋ง๋ค์ด์ผ ํ ์๋ ์์ต๋๋ค.
Underscore๋ ํจ์น ๋ฆด๋ฆฌ์ค๋ฅผ ํ์ฅํ๊ณ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ ํ์ต๋๋ค. ์ด๊ฒ์ ๊ด๋ฆฌ์๊ฐ ์์ ํ ์ ์ดํ ์ ์๋ ๊ฒ์ ๋๋ค.
Underscore ๋ฐ Backbone์ ๊ฒฝ์ฐ ์ข ์์ฑ์ ๊ณ ์ ํ๋ ๊ฒ์ด ๋ถ๋นํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
๋ฌธ์์ ํ์คํ ๋ฉ์์ง/๊ฒฝ๊ณ ๊ฐ ์์ด์ผ ํฉ๋๋ค.
@akre54 _ ๋ฌธ์ํ๋์ง ์์_ ๊ธฐ๋ฅ ๋๋ _๋ฌธ์ํ๋์ง ์์ ๋ฒ๊ทธ_๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ด์ ์์กดํ๋ ์ฝ๋๊ฐ ์ค๋จ๋ ์ ์์ง๋ง ์ฌ์ฉ์๋ ๋ฌธ์ํ๋์ง ์์ ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ์ ์์กดํ์ฌ ์ํ์ ๊ฐ์ํด์ผ ํฉ๋๋ค.
semver๋ฅผ ๋ฌด์ํ๋ฉด API์ _๋ชจ๋ ์ฌ์ฉ์_๊ฐ ์ํ์ ์ฒํ๊ฒ ๋ฉ๋๋ค. ์ฌ๋๋ค์ ํญ์ semver๋ฅผ ๋ฐ๋ฅด๋ ๋๊ท๋ชจ ์คํ ์์ค ํ๋ก์ ํธ์์ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ง๋ง _npm ์ํ๊ณ์์ ํฐ ๋ฒ์ ๋ฒํธ๋ฅผ ๋ณด๋ ๊ฒ์ ์ ๋ง ๋๋ญ ๋๋ค_.
์ ๊ทธ๋ฐ ๊ฒ๋๊น?
_๋ชจ๋ ์ข์ API๋ ๊ฐ๋ฐฉ/ํ์ ์์น_(ํ์ฅ์ ๊ฐ๋ฐฉ, ๋ณ๊ฒฝ์ ํ์)์ ์ต๋ํ ๊ฐ๊น๊ฒ ๋ฐ๋ฅด๋ฏ๋ก ์ฌ์ฉ์๊ฐ API๋ฅผ ๋ฐ๋ผ๊ฐ ์ ์๊ณ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๊ธฐ์กด ์ฝ๋๊ฐ ์์๋์ง ์์ต๋๋ค.
์ผํ์ ์ถ๊ฐํ์๋ฉด, ๋ด ์ฝ๋๋ ๊ณผ๊ฑฐ์ Underscore ๋ฒํ๋ก ์ธํด ์์๋์์ต๋๋ค. --save --save-exact
๊ฐ ์๋ฆฌ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด node_modules
์ปค๋ฐ์ ์์กดํ์ต๋๋ค. ๋ ๋ฒ์งธ ์์ค ์ข
์์ฑ์ด Underscore์ ์์กดํ๊ณ ^x.y.z
๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฑ์ ์ฌ์ ํ โโ์์๋ฉ๋๋ค.
์งํ ์ํฉ์ ๋ํ๋ด๋ ๋ฒ์ ๋ฒํธ๋ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ๋ฒ์ 2.1.3 ๋๋ 143.3.2๋ฅผ ์ฌ์ฉํด๋ ๋ณ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์งํ ์ํฉ๊ณผ ์์ฑ๋๋ ๋ฒ์ ๋ฒํธ๋ก ์ธก์ ๋์ง ์์ต๋๋ค. ๋๊ตฐ๊ฐ underscore@^x.y.z
์ ์์กดํ๋ ์ข
์์ฑ์ ์
๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์ ์ผ์์ผ ์คํ์ ์ ํ๋ฅผ ๊ฑธ๊ณ ์ถ์ง ์์ต๋๋ค.
:์์ง์๊ฐ๋ฝ: ๋ค. @braddunbar ๋ ๋ด๊ฐ ์์ง ์ดํดํ์ง ๋ชปํ ์ ์ ์ง์ ํฉ๋๋ค. semver๋ฅผ ๋ฌด์ํ๋ฉด ํจํค์ง๊ฐ ์ํํ๊ณ ์น๋ช ์ ์ธ ํจํค์ง๊ฐ ๋ฉ๋๋ค. ๊ทธ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด _์ด๋์๋ _ ๋จ์ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฌ์ฉ์๊ฐ ๊นจ์ง ํจํค์ง์ ์์กดํ๋ ํ์ฌ ์ฝ๋์ ์ค๋จ์ ์ถ์ ํ๋๋ก ๊ฐ์ ํ๋ ๊ฒ์ _ํ์คํ ํ๋ ์๊ตฌ ์ฌํญ์ ๋๋ค.
IMO, ์ค์ ๋์๊ด ์งํ ์ํฉ ๋ฐ ์ฑ์๋๋ ์ ๋ขฐ์ฑ์ผ๋ก ์ธก์ ๋๋ฉฐ semver๋ ๊ทธ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋จผ ๊ธธ์ ๊ฐ๊ณ ์์ต๋๋ค.
๋ฌธ์์ ํ์คํ ๋ฉ์์ง๊ฐ ์์ด์ผ ํฉ๋๋ค.
๋ถ๋ช ํ. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฒฐ์ ํ๋ค๋ฉด ํ๋๋ฅผ ์ถ๊ฐํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
์ ๋ ๋ ๋์ ๋ฆด๋ฆฌ์ค ์์คํ ์ ๋ฐ๋ํ์ง ์์ต๋๋ค(์ฃผ๋์ ์์ ๋ฒ๊ทธ ์์ ์ด ๋ฐฐํฌ๋๊ธฐ๊น์ง ๋ช ๋ฌ์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ๊ณ ํต์ค๋ฝ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค). ๊ทธ๋ฌ๋ "semver๋ฅผ ๋ฐ๋ฅด์ญ์์ค"๊ฐ ํ๋์ ์ ๋ต์ธ์ง ํ์ ํ ์ ์์ต๋๋ค.
์ง๊ธ์ ํ๋์ ์ ๋ต์ด์ด๋ ์๊ด์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ปค๋ฎค๋ํฐ์์ ์๋ฝํ ๋ต๋ณ์ ๋๋ค.
"semver๋ฅผ ๋ฐ๋ฅด์ญ์์ค"๊ฐ ๋ ๋์ ๋ฆด๋ฆฌ์ค ์์คํ ์ ๋ํ ์ ๋ต์ด๋ผ๊ณ ์๋ฌด๋ ๋งํ์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋งํ ๊ฒ์ npm API ๊ณ์ฝ์ด๋ฉฐ ํด๋น ๊ณ์ฝ์ ์๋ฐํ๋ฉด ์์์ ์ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
@jdalton ๋ฐ @dilvie ๋ฆด๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ์๊ฒ ์ต๋๊น? ๊ธฐ๋ฅ์ ์๋ฝํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? "Use semver"๋ ์ค์ ๋ก ์ฐ๋ฆฌ์๊ฒ ์๋ฌด ๊ฒ๋ ์๋ ค์ฃผ์ง ์์ต๋๋ค.
ํ์ฌ ์ฝ๋์ ๋ํ ๋ฒ๊ทธ ์์ ์ ๊ธฐ๋ค๋ฆด ์ ์๋๋ก _.matches
์ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ช ๊ฐ์ ๋ค๋ก ๋ฏธ๋ฃจ์ด์ผ ํฉ๋๊น, ์๋๋ฉด ์ง๊ธ ์ถ์ํ์ฌ ์ฌ๋๋ค์ด ๊ตฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ํด์ผ ํฉ๋๊น?
๋๋ semver๊ฐ ์ฌ๊ธฐ์ ์์ ํ ์ ์ฉ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ป๋ปํ ์๊ธฐ ํ๋ณด: next-update https://github.com/bahmutov/next-update ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ์ค๋จ ์์ด ์ข
์์ฑ์ ์
๋ฐ์ดํธํ ์ ์๋์ง ๋จผ์ ํ
์คํธํ์ญ์์ค. *.*.x
๊ฐ ๋ณ๊ฒฝ๋์์์๋ ๋ถ๊ตฌํ๊ณ ๋ค๋ฅธ ๋ชจ๋์์ ๊ณ์ํด์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ๊ฒฌ๋์์ผ๋ฏ๋ก ์ด์ ์์ฒด ์ ์ธ๋ ๋ฒ์ ์ ์ ๋ขฐํ์ง ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๊ฐ ๋์ก์ด๋ผ๊ณ ์๊ฐํ์ญ๋๊น? Lo-Dash๋ ๊ธฐ๋ณธ์ ์ผ๋ก Underscore++์ด๋ฉฐ, @jdalton์ semver๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๋ฌธ์ ์์ต๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ ์๋ฝ:
๊ธฐ์กด API ๊ณ์ฝ์ ์๋ฐํฉ๋๊น?
๋ค? - ๋ฒํ ๋ฉ์ด์ ๋ฒ์ ๋ฒํธ.
์๋์? - ๋ฒํ ๋ง์ด๋ ๋ฒ์ ๋ฒํธ.
๋ฒ๊ทธ ์์ /๋ง์ด๋ ํจ์น ์๋ฝ:
๊ธฐ์กด API ๊ณ์ฝ์ ์๋ฐํฉ๋๊น?
๋ค? - ๋ฒํ ๋ฉ์ด์ ๋ฒ์ ๋ฒํธ.
์๋์? - ๋ฒํ ํจ์น ๋ฒ์ ๋ฒํธ.
๊ณต์ ๋ฆด๋ฆฌ์ค ์ผ์ ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์ผ๋ก ๊ทํ์๊ฒ ๋ฌ๋ ค ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ์์์ํค์ง ์๋๋ก ๋ฒ์ ๊ด๋ฆฌ๊ฐ semver์ ํธํ๋๋์ง ํ์ธํ์ญ์์ค.
https://github.com/jashkenas/underscore/compare/1.3.3...1.4.0 ๊ณผ ๊ฐ์ด @dilvie ์ ๋์ํ์ต๋๋ค. ํฌ์ ๋ฐฐ์ด์ ๋ํ ์ง์์ ์ค๋จํ๊ธฐ ๋๋ฌธ์ ์๋ง๋ ํฐ ๋ฌธ์ ๊ฐ ๋์์ ๊ฒ์
๋๋ค. ๋ค์ ๋ฒ์ ์ lookupIterator
๋ฅผ ํตํด ๋ง์ ์์ ์๋ก์ด ์คํ์ ์ถ๊ฐํ๊ณ ๊ธฐ๋ณธ ๋ฐ๋ณต์๋ฅผ ์ญ์ ํ๋ฏ๋ก ํฐ ๋ณํ๊ฐ ์์ ๊ฒ์
๋๋ค.
๊ธฐ๋ฅ์ ๋ฌธ์๊ฐ ๋ช ๋ฐฑํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ
์ฌํด JSconf์์ ์ด์ ๋ํ ๊ฐ๋จํ ํ ๋ก ์ ํ์ต๋๋ค. ์ฌ๊ธฐ์์ ์์ธํ ์ค๋ช ํ ์๊ฐ์ด ์์ง๋ง ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธ๊ฐ์ด ๋๋ฉดํ๋ "๋ฒ์ ๊ด๋ฆฌ"์ ์ปดํจํฐ ๋๋ฉด(๋๋ ์ค์ ๋ก๋ ๋น๋ ์์คํ ๋๋ฉด) "API ํธํ์ฑ"์ ํผ๋ํ์ง ๋ง์ญ์์ค. ๊ทธ๋ฅ ๋ฉ์ถฐ.
๋ฒ์ : "๋ด๊ฐ ์ข์ํ๋ ์ด ๊ธฐ๋ฅ์ ์๋ก์ด ๊ธฐ๋ฅ์ด ์๊ฑฐ๋ ์๊ฐ์ด ์์ ๋ ๊ด์ฌ์ ๊ฐ์ ธ์ผ ํ ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์์ต๋๋ค." ์๋ก์ด ์์ดํฐ์ด ์์ต๋๋ค. ์๋ก์ด OS X๊ฐ ์์ต๋๋ค. ์๋ก์ด Ember๊ฐ ์์ต๋๋ค. ์๊ณ ๋ฆฌ์ฆ ์ธ์ด ์ฒด๊ณ์ ๋ํ ์๋ก์ด ์์ ๋ณด๊ณ ์๊ฐ ์์ต๋๋ค.
API ํธํ์ฑ: โ์ด๊ฒ์ ์์ ํ๋๋ก ์
๋ฐ์ดํธ๋์์ต๋๋ค.
ํ์๋ ์ ์๋ฅผ _์ค์_ ๋๋ _์์์_ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ์๊ฐ ๋ฐ๋์ ํ์์ ์์กดํ๊ฑฐ๋ ๊ด๋ จ์ด ์๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๊ฒ๋ค์ ์ถ์ ๋์ด์ผ ํ๊ณ (์ ๋ง๋ก ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ _์ง์ _ํ๋ ค๋ ๊ฒฝ์ฐ) ๋ณ๋๋ก ์ง์ ํด์ผ ํฉ๋๋ค. (JS ์ปค๋ฎค๋ํฐ์์ ์ธ๊ธฐ ์๋ '์๋งจํฑ ๋ฒ์ ๊ด๋ฆฌ'์ ๊ฐ๋ ์ _ํนํ_ ๋ํ๊ณ ๋์ฐํ์ง๋ง, ๋ค์ ๋งํ์ง๋ง, ๋ค๋ฅธ ์ฌ๋์ Issue comment-thread์ ๋ํด ์์ธํ ์ค๋ช ํ๊ณ ์ถ์ง๋ ์์ต๋๋ค.)
tl;dr: ๊ทธ๋ค์ ์์ ์ ๊ธธ์ ์ ํํ์ฌ ์ํ๊ณ๋ฅผ ๋ง์น๊ณ ์์ง ์์ต๋๋ค. (_ํนํ_ ๊ทธ ๊ฒฝ๋ก์ ์ฌ๊ฐํ ๊ฒฐํจ์ด ์๋ ๊ฒฝ์ฐ.) ๋ ๋ง์ ํ๋ก์ ํธ๊ฐ ์์์ผ๋ฉด ํฉ๋๋ค. ๋ชจ์์ด ๋๋ฌด ๊ตฌ๋ถ๋ ค์ง๋ฉด ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ์ญ์์ค.
@elliottcable - ์ฌ๋ ๋๋ฉด ๋ ์ปดํจํฐ ๋๋ฉด์ ๋ํด ๋์ํ์ต๋๋ค ... ์ฌ๋ ๋๋ฉด์ด ์ปดํจํฐ ๋๋ฉด์ฒ๋ผ ๋ณด์ด์ง ์๋ ํ ์ตํฉ์ด ๋ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค.
๋ค์ ์ฌ๋์ ํฅํ ๋ฆด๋ฆฌ์ค๋ฅผ nnn ๋์ "๋์ก์ด"๋ผ๊ณ ๋ถ๋ฅผ ์๋ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ง์ง๋ง ๋ถ๋ถ์ ์์ ํ ๋์ํ์ง ์์ต๋๋ค. API ๊ณ์ฝ์ ๋ฐ๋ฅด๋ ์ฒํ๋ค๊ฐ ์ด๋ฅผ ์ด๊ธฐ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ์ค์ ์๊ฐ๊ณผ ์ค์ ๋์ ์ํฉ๋๋ค. ๋ฐ์ค๋งํผ ์ธ๊ธฐ ์๋ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ฌ์ ์ผ๋ก ๋ง์ ์ค์ ํผํด๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ธฐ์กด API ๊ณ์ฝ์ ์๋ฐํฉ๋๊น?
์ด ์ค๋ ๋์ ๋งจ ์ฒ์ ์ธ์๋ฅผ ๋ค์ ์ดํด๋ณด์ธ์. "Underscore์ ๋ชจ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ฉด์ ์ ๋๋ค." ์ฆ, ๋ฌธ์ํ๋๊ณ ๋ฌธ์ํ๋์ง ์์ ๋ชจ๋ ๊ฒ์ด API ๊ณ์ฝ์ ์ผ๋ถ์ ๋๋ค. ํ๋์ ๋ณํ๋ ๋ชจ๋๋ฅผ ์ํ ๋ณํ์ ๋๋ค.
"Underscore++"์ธ Lo-Dash๋ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ ํ ๋ Underscore ๋ค์ ์์ ํ๊ฒ ๋ฐ๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๊ฑฐ์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค. Lo-Dash์ ๊ฐ์ ์ฌํญ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ฅ์ ์ฌ๊ณ ํ์ง ์๊ณ ์ฃผ๋ก ๋ด๋ถ์ ์๊ฑฐ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
@akre54
๋ฆด๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ์๊ฒ ์ต๋๊น? ๊ธฐ๋ฅ์ ์๋ฝํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? "Use semver"๋ ์ค์ ๋ก ์ฐ๋ฆฌ์๊ฒ ์๋ฌด ๊ฒ๋ ์๋ ค์ฃผ์ง ์์ต๋๋ค.
์ API ๋๋ ๊ธฐ์กด API์ ๋ํ ์ผ๋ถ ๊ฐ์ ์ฌํญ์ ์๋ฝํ ์ ์์ต๋๋ค. ์๋ก์ด API ๋๋ ๊ฐ์ ์ฌํญ(ํธํ์ฑ์ ์์์ํค์ง ์๋)์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ ๋ง์ด๋ ๋ฒ์ ์ ๋ฐ์ดํธ์ ๋๋ค.
ํ์ฌ ์ฝ๋์ ๋ํ ๋ฒ๊ทธ ์์ ์ ๊ธฐ๋ค๋ฆด ์ ์๋๋ก
_.matches
์ ๊ฐ์ ๊ธฐ๋ฅ์ ๋ช ๊ฐ์ ๋ค๋ก ๋ฏธ๋ฃจ์ด์ผ ํฉ๋๊น, ์๋๋ฉด ์ง๊ธ ์ถ์ํ์ฌ ์ฌ๋๋ค์ด ๊ตฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ํด์ผ ํฉ๋๊น?
_.matches
๋ ๊ฝค ์ง๊ด์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํญ์ ๋ฒ๊ทธ ์์ ์ด ์์ ๊ฒ์
๋๋ค.
๋๋ semver๊ฐ ์ฌ๊ธฐ์ ์์ ํ ์ ์ฉ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฌผ๋ก ๊ทธ๋ ์ต๋๋ค. ๋น์ ์ semver์ ๋ณ๊ฐ์ธ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ ๋ฌธ์ ๋ก ๊ธฐ์ด๊ฐ๊ธฐ ์์ํ์ง๋ง, ์ ๋ ๋น์ ์ ๋ฐ๋ผ๊ฐ ๊ฒ์ ๋๋ค.
@dilvie : ๋๋จธ์ง ์ธ์์์ ๋ฒ์ด๋์ง๋ง ์ด๊ฒ์ ๋์ง๋ฉด '๋ฒ์ ์ด๋ฆ' ๊ท์น์ ๋ฐ๋ฅด๋ผ๋ ์ ์์ด ์ ๋ง ์ ๋ง ์ข์ต๋๋ค. (=
์ฌ๋์ ๋๋ฉดํ๋ ๋ถ๋ถ์ ๊ฒฝ์ฐ ์ ๋ less
์คํ์ผ ๋ฒ์ ๊ด๋ฆฌ์ ์ด๋ ฌํ ํฌ์
๋๋ค.
> less --version
less 418
Copyright (C) 1984-2007 Mark Nudelman
less comes with NO WARRANTY, to the extent permitted by law.
For information about the terms of redistribution,
see the file named README in the less distribution.
Homepage: http://www.greenwoodsoftware.com/less
... ์ฐ๋ฆฌ๊ฐ API ํธํ์ฑ์ด ์๋๋ผ "ํฅ๋ฏธ๋ก์" ๋ฒ์ ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ค๋ ๊ฒ์ ๋ ๋ช ํํ๊ฒ ํ๊ธฐ ์ํด ์์ ์ด๋ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ฑ๊ณต์ ์ธ ์ฝค๋ณด๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค.
๋ฐ์ค 42์ ๊ฒฝ์ฐ +1: "๋ฐ๋ณด ๊ฐ์ ์ ธํฐ"
(๋น๋ ์์คํ ์ด ์ง๋ฉดํ๋ ๋ถ๋ถ์ ๊ดํด์๋ ์๋ํ๋ ์์ฑ API ํธํ์ฑ์ ๋ํด ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ ๊ฒฌํด๊ฐ ์์ต๋๋ค. ์ค๋ฅ๊ฐ ์๋ ์ ์ง ๊ด๋ฆฌ์์ ์์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ์ ๋ถ์ ๋๋ ๋์ ํฌ๋กค๋ง์ผ๋ก ๊ณต๊ฒฉํฉ์๋ค.)
@akre54
"Underscore++"์ธ Lo-Dash๋ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ ํ ๋ Underscore ๋ค์ ์์ ํ๊ฒ ๋ฐ๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๊ฑฐ์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค.
๊ทธ๊ฒ ๋ฌด์จ ๋ป์ด์ผ? Lo-Dash๋ _์ถ๊ฐ ๋ณ๊ฒฝ ์ฌํญ_์ ์ฒ๋ฆฌํ๊ณ Underscore์ ๋ณ๋๋ก ์์ฒด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ฐ๋ฆ ๋๋ค. Lo-Dash๋ ๋๋ฌด ๋ง์ด ๋ณ๊ฒฝ๋์ด ๋๋กญ์ธ ๊ต์ฒด ์ง์์ ๊ณ์ํ๊ธฐ ์ํด Underscore ํธํ ๋น๋๋ฅผ ์ ๊ณตํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ , ๋ฐฉ๋ฒ ๋ฐ ๋ค๋ฅธ API ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
Lo-Dash์ ๊ฐ์ ์ฌํญ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ฅ์ ์ฌ๊ณ ํ์ง ์๊ณ ์ฃผ๋ก ๋ด๋ถ์ ์๊ฑฐ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๊ฒ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. Lo-Dash๋ ๋ ๋น ๋ฅธ ์๋๋ก ์์ง์ด๋ฉฐ ๋ ์์ฃผ ๋ฐฑ ์ปดํผํธ์ ๋ง์๊ฒ ๋ฉ๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ~v3.x์์ ~v2.x๋ฅผ ์งํํ๋ ์ด์ ์ ๋๋ค. Lo-Dash๋ ๋ฐ์ค๊ณผ ๊ฐ์ต๋๋ค. Lo-Dash๊ฐ semver๋ฅผ ๋ฐ๋ฅผ ์ ์๋ค๋ฉด Underscore๋ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. ๋๋ ์ง๊ธ ~ 2 ๋ ๋์ ๊ทธ๊ฒ์ํ์ต๋๋ค. ๋น์ ์ ์ฃผ์ฅ์ ํ์ค ์์์ ๊ทธ๋ฅ ๋ฌด๋์ง๋๋ค.
์ ์๋ ์ด ๊ธธ์ ๊ฑธ์ด๋ณธ ์ ์ด ์์ผ๋ฏ๋ก ์ฌ๋ฌ๋ถ๋ ๊ฑฐ๊ธฐ์ ๊ฐ๋ ๊ฒ์ ๋์ธ ์ ์์ต๋๋ค.
์ฐ์ , ๋ค์ Underscore ๋ฆด๋ฆฌ์ค๋ ํ๋ฅญํ 2.0์ด ๋ ๊ฒ์
๋๋ค.
๋ชจ๋๊ฐ "๋ธ๋ ์ดํน ์ฒด์ธ์ง"๋ฅผ ์ด๋ป๊ฒ ์ ์ํด์ผ ํ๋ค๊ณ ์๊ฐํ๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ฐ์ค์ ๋ํ _๋ชจ๋ _ ์๋ก์ด ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์์ด ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ ๋๋ค.
_.each
์ ๋ํ ๋ชจ๋ ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ก ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ์๋ ๋ชฉ๋ก์ ๋ฐํํ๊ธฐ ์ํด _.each
์ ๋ฐํ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ถฉ๋ํด์ผ ํฉ๋๊น? ๋ฒ๊ทธํฝ์ค์ธ๊ฐ์? ์๋ก์ด ๊ธฐ๋ฅ? ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ๋ณ๊ฒฝ ์ฌํญ? ์ด์ ์ undefined
๋ฅผ ๋ฐํํ์ผ๋ฏ๋ก ๋๊ตฐ๊ฐ์ ์ฝ๋๋ฅผ ๊นจ๋จ๋ ธ์ ๊ฐ๋ฅ์ฑ์ ์์ต๋๋ค.
๋ด๋ถ each
๋์ฐ๋ฏธ๊ฐ ์ธ๋ถ์ ์ผ๋ก ์ฌํ ๋น ๋๋๋ก ํ์ฉํ ๋ ์ถฉ๋ํด์ผ ํฉ๋๊น? ๋๊ตฐ๊ฐ์ ์ฝ๋๊ฐ ์์๋์์ ์ ์์ต๋๊น? ๊ณต๊ฐ API๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค.
ํฌ์ ๋ฐฐ์ด์ ํผํ๊ธฐ ์ํด _.each
๋ฅผ ๋ณ๊ฒฝํ๊ณ ๊ธฐ๋ณธ forEach
๋์ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ๋ช
ํ ๋ฌธ์ ๊ฐ ๋์ง๋ง ํฌ์ ๋ฐฐ์ด์ด ์ฃฝ์๊ธฐ ๋๋ฌธ์ ๋๊ฐ ์ ๊ฒฝ์ ์ฐ๊ฒ ์ต๋๊น? ๋ฉ์ด์ ๋ฒ์ ์ ๋ฐ์ด์ผ ํ๋ ๊ฒ์
๋๊น? ๋ฒ๊ทธํฝ์ค์ธ๊ฐ์?
๋๋ ์ฐ๋ฆฌ๊ฐ ๋ฉ์ด์ ๋ฒ์ ์ ๊ธฐํ์ด ๋์๋ค๊ณ ์๊ฐํ๋ค( 219๊ฐ์ ์ปค๋ฐ ์์ ๋ง์ ์ผ์ด ์ผ์ด๋ฌ๋ค). 2.0 ๋ฆด๋ฆฌ์ค์ ๋ฒ์ ์ ์ฑ ์ ๊ฐํ๋ ์ฌ๊ธฐ์์ ๋จผ ๊ธธ์ ๊ฐ ๊ฒ์ ๋๋ค.
@akre54
Underscore์ ๋ํ ๋ชจ๋ ์๋ก์ด ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ๋ ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ ๋๋ค.
๋ฐ๋์๋ ์๋๋๋ค.
์๋ฅผ ๋ค์ด _.each์ ๋ํ ๋ชจ๋ ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๋ ๋ชฉ๋ก์ ๋ฐํํ๊ธฐ ์ํด _.each์ ๋ฐํ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ถฉ๋ํด์ผ ํฉ๋๊น? ๋ฒ๊ทธํฝ์ค์ธ๊ฐ์?
๋ฒ๊ทธ ์์ ์ด ์๋๋ผ ๊ฐ์ ์ฌํญ์
๋๋ค. ๋นํตํ์
๋๊น?-- _.each
์ ๋ฐํ ๊ฐ์ด ์์กดํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ๊ณ ๊ฐ๋ฐ์๊ฐ Lo-Dash๋ก ์ ํํ ๋ ์ฅ์ ๋ฌผ๋ก ๋ณด๊ณ ํ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์์ ํ ๋ณ๊ฒฝ์ผ ๊ฒ์
๋๋ค. ํ์์ด ์์ฌ๋๋ ๊ฒฝ์ฐ RC ๋ฆด๋ฆฌ์ค๋ก ๋ฌผ์ ํ
์คํธํ์ญ์์ค. ๋ณ๊ฒฝ ์ฌํญ์ด _.each
์์ ์ผ์ฐ ์ข
๋ฃํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ผ๋ฉด ๊ฐ๋ฐ์๊ฐ CoffeeScript๋ฅผ ์ฌ์ฉํ ๋ ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ์ง๋ฉดํ๊ฒ ๋๋ฏ๋ก ํ์คํ ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ด๋ผ๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
๋ด๋ถ์ ๊ฐ ๋์ฐ๋ฏธ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ฌํ ๋นํ ๋ ์ถฉ๋ํด์ผ ํฉ๋๊น? ๋๊ตฐ๊ฐ์ ์ฝ๋๊ฐ ์์๋์์ ์ ์์ต๋๊น? ๊ณต๊ฐ API๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ๋ฌธ์ํ๋์ง ์์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ํด๋นํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. Underscore๋ ์ฌ์ ํ ๊ธฐ๋ณธ ๋ฉ์๋์ ๋ํด ๋ถ๊ธฐ๋์๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ก์ด ๊ฒ์ ํ์ฉํ์ง ์์์ต๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ 1.6.0 ์ดํ์ ๋ ํฐ ๋ณ๊ฒฝ ์ฌํญ ๊ทธ๋ฃน์ ์ํ๋ฏ๋ก 2.0์ ํฌํจ๋ ์ ์์ต๋๋ค.
ํฌ์ ๋ฐฐ์ด์ ํผํ๊ธฐ ์ํด
_.each
๋ฅผ ๋ณ๊ฒฝํ๊ณ ๋ค์ดํฐ๋ธforEach
๋์ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ๋ช ํ ์ผ๋ถ์๊ฒ๋ ๋ฌธ์ ๊ฐ ๋์ง๋ง ํฌ์ ๋ฐฐ์ด์ด ์ฃฝ์๊ธฐ ๋๋ฌธ์ ๋๊ฐ ์ ๊ฒฝ์ ์ฐ๊ฒ ์ต๋๊น? ๋ฉ์ด์ ๋ฒ์ ์ ๋ฐ์ด์ผ ํ๋ ๊ฒ์ ๋๊น? ๋ฒ๊ทธํฝ์ค์ธ๊ฐ์?
๋ฒ๊ทธ ์์ ์ผ๋ก ๋ณผ ์ ์์ง๋ง ํ์คํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค. ์ด๊ฒ์ ๊ฐ๋ฐ์ ๊ฐ Lo-Dash๋ก ์ ํํ ๋ ๊ฒช๋ ์ผ ์ค ํ๋์ ๋๋ค. Underscore๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ฌ์ฉํ๋ ๋ฐฉ์ ๋๋ฌธ์ ํฌ์ ๋ฐฐ์ด ์ฌ์ฉ์ ๋ง์คํฌํ๊ณ ๊ฐ๋ฐ์๋ ์ด์ ๋ธ๋ผ์ฐ์ ์์ ํ ์คํธํ ๊ฒฝ์ฐ์๋ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ณ๊ฒฝ์ผ๋ก ๊ฐ๋ฐ์๋ ์ต์ ๋ธ๋ผ์ฐ์ ์์ ํฌ์ ๋ฐฐ์ด ์ฌ์ฉ์ ๋ํด ๋ ๋นจ๋ฆฌ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ฒ ๋๋ฏ๋ก ์ด์ ์ ์์ ํ ์ฝ๋๊ฐ ๊ฑธ๋ฆผ๋์ ๋ถ๋ชํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ๋ฉ์ด์ ๋ฒ์ ์ ๊ธฐํ์ด ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค(219๊ฐ์ ์ปค๋ฐ์์ ๋ง์ ์ผ์ด ์ผ์ด๋ฌ์ต๋๋ค). 2.0 ๋ฆด๋ฆฌ์ค์ ๋ฒ์ ์ ์ฑ ์ ๊ฐํ๋ ์ฌ๊ธฐ์์ ๋จผ ๊ธธ์ ๊ฐ ๊ฒ์ ๋๋ค.
:+1:
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ(๋ณต์ํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ)
(์ปดํจํ ) ์ ์ฌ์ ์ผ๋ก ๋ค๋ฅธ ๊ตฌ์ฑ ์์๊ฐ ์คํจํ๊ฒ ๋ง๋๋ ์ํํธ์จ์ด ์์คํ ์ ํ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ฌ๋ฌ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ์ฝ๋์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ฐ์ฅ ์์ฃผ ๋ฐ์ํฉ๋๋ค.
"์ค๋จ ๋ณ๊ฒฝ ์์ด๋ ์ด์ ํญ๋ชฉ์ ์์ ํ ์ ์์ผ๋ฏ๋ก ๊ฐ์ ธ์ค๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ด์ ํญ๋ชฉ์ ์ ํญ๋ชฉ์ผ๋ก ๋ค์ ๋งคํํ์ญ์์ค."
์ด๊ฒ ์ค ์ผ๋ถ๋ ์ฝ๊ฐ์ ์๊ฐ๊ณผ ํ๋จ์ด ํ์ํฉ๋๋ค. ๋ชจ๋ ๋ณ๊ฒฝ์ด ๋๊ตฐ๊ฐ์ ์ฝ๋๋ฅผ ๊นจ๋จ๋ฆฌ๋ ๊ฒ์ ์ฌ์ค์ผ ์ ์์ง๋ง, ๋ชจ๋ ์ฐธ๊ฐ์๊ฐ ๊ฐ๋ฐฉ/ํ์ ์์น์ ์๋ฐ์ ๊ตฌ์ฑํ๋ ์ง์นจ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ ๋์ํ๋ฉด ๋ชจ๋ ์ฌ๋์ ์ถ์ด ๋ ์ฌ์์ง๋๋ค.
๋ฐ๋ผ์ API์ ์์ฑ์ด๋ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋๋๋ค(API๋ ํ์ฅ์ ์ํด ์ด๋ ค ์์ง๋ง ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด์๋ ๋ซํ ์์).
ํจ์ ์๋ช ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ ๋ง์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
์๋ ๋ชฉ๋ก์ ๋ฐํํ๊ธฐ ์ํด _.each์ ๋ฐํ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ถฉ๋ํด์ผ ํฉ๋๊น?
์ด๋ค ์ฉ๋๋ก ์ฌ์ฉ๋๋ ๋ฌธ์ํ๋ API ๊ธฐ๋ฅ์ด์์ต๋๊น? ์๋ฅผ ๋ค์ด, ์ผ๋ถ ํจ์๋ ์ ๋ฌ๋ ์
๋ ฅ์ด ์ ์ ํ ์ถ๋ ฅ์ ๋ณ์ง ์์ ๋ undefined๋ฅผ ๋ฐํํฉ๋๋ค. each
์ ๊ฒฝ์ฐ๋ ๊ทธ๋ ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค ... ๋ฐ๋ผ์ ์๋ง๋ ๊นจ์ง์ง ์์ ๊ฒ์
๋๋ค.
๋ฐ๋ฉด์ ํฌ์ ๋ฐฐ์ด์ ํผํ๋ ๊ฒ์ ๊ฐ๋ฐ์๊ฐ ์์กดํ๋ ๋ฐํ ๊ฐ์ ๋ณ๊ฒฝํ ๊ฐ๋ฅ์ฑ์ด ๋ ํฌ๋ฏ๋ก ๋ถ๋ช ํ ์ด๋ ํ๊ธฐ์ ์ธ ๋ณ๊ฒฝ์ด๋ฉฐ ํฌ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ๋์ ๊ด์ฌ์ ๊ฐ์ต๋๋ค.
ํฌ์ ๋ฐฐ์ด์ ES6์์ ์ด์๋จ์ง ๋ชปํ ์๋ ์์ง๋ง ์์ง ์ฃฝ์ง๋ ์์์ต๋๋ค.
@akre54
๋๋๋ก ๋ณ๊ฒฝ ์ฌํญ์ด ์ค๋จ๋๋์ง ์ฌ๋ถ์ ๋ํ ๋๋ต์ ๊ฐ๋จํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ปจํ
์คํธ, ๊ธฐ๋ก ๋ฐ ๋ฐ์ดํฐ๊ฐ ๋์์ด ๋ฉ๋๋ค. ์ด์ด ์ข๊ฒ๋ Lo-Dash๋ฅผ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํ ํ
์คํธ ์ฅ์๋ก ์ฌ์ฉํ ์ ์๊ณ Underscore์์ ์ค๋ ๊ฐ๋ฐ์์๊ฒ ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. Underscore๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ์ ์ํฅ์ ๋ํด ์ ๋ณด์ ์
๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
์ต์ํ ๋ค์ semver๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํจ์น ๋ฆด๋ฆฌ์ค์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ํฅ์ ๋ํด ์๊ฐํ๋๋ก ๊ถ์ฅํฉ๋๋ค. ๋ชจ๋์๊ฒ ์น๋ฆฌ์ ๋๋ค.
@jdalton , ์ง๋จ ํ์. :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Underscore์ ๋ฒ์ ์ ๋ต๊ณผ ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น? Lo-Dash๋ semver ์ดํ ๋ฒ์ ์ ์ถฉ๋์ํค๋ฏ๋ก v2.x์์ v3.x๋ก ์งํ๋ฉ๋๋ค.
๊ฐ๋ ์ฝ๋๋ ๊ฐ๊ฒฐํจ์ด ๋ฒ์ ์ ๋ต๊ณผ ์ด๋ค ๊ด๋ จ์ด ์์ต๋๊น?
Lo-Dash์๋ ์ธ๋ผ์ธ ๋ฌธ์๊ฐ ์์ผ๋ฉฐ LOC๋ ๋ฒ์ ๊ด๋ฆฌ์ ๊ด๋ จ์ด ์์ต๋๋ค.
Underscore๋ ๋ง์ฐฌ๊ฐ์ง ์๋๊น์?
์ด๊ฒ์ด Underscore์ ์ ์ง ๊ด๋ฆฌ์๊ฐ ์๋ฝ/๊ฑฐ๋ถ ๋๋ ํฅํ ๋ฆด๋ฆฌ์ค๊น์ง ๋ฏธ๋ฃจ๋ ์ด์ ์ ๋๋ค.
๋ค์ ๋งํ์ง๋ง ๋ฒ์ ๊ด๋ฆฌ์ ๊ด๋ จ์ด ์์ต๋๋ค.
๋๋ ๋์ํ์ง ์์ต๋๋ค. Lo-Dash์๋ ์์ฒ ๋ช ์ ๋ถ์ ๊ฐ์กฑ์ด ์์ผ๋ฉฐ ๋ชจ๋ ์ ๋ฌธ๊ฐ๊ฐ ๋ ์๋ ์์ต๋๋ค.
Lo-Dash๋ semver๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์ฃผ์ ๋ฒ์ ์ ๋ฐ์ดํธ๋ก ์ด๋ํ ๋๊น์ง ๋์ง์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค. Underscore์ ๋ฌ๋ฆฌ Lo-Dash๋ ํจํค์ง ๋ฒ์ ๋ฒ์์
~
๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ ์๋์์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.๊ทธ๋ฐ ๋ค์ ๋ง์ผํ ์์ ์ด๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
Underscore๊ฐ semver๋ฅผ ๋ชป ๋ฐ๋ผ๊ฐ ์ด์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ฅผ ๋ฐ๋ฅด์ง ์๋ ๊ฒ์ ์ฌ์ฉ์์๊ฒ ์ค๋ก์ ๋๋ค.