Backbone.JS๋ ๋ง์ ํ๋ก์๋ฅผ ๊ฐ์ง ํ๋ก์ ํธ์ด์ง๋ง ์ผ๋ฐ "๋ถ ๋ฒ์ "(์: 1.1.0)์ ๊ธฐ์กด Backbone ์ฝ๋๋ฒ ์ด์ค์์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฝ๋๋ค.
๊ฐ๋ฐ์๊ฐ Backbone์ ์ ๋ฒ์ ์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๊ธฐ๋ฅ๊ณผ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ API ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์๋์ง ์ฝ๊ฒ ๊ฒฐ์ ํ ์ ์๋๋ก Backbone์ ๋ฒ์ ๊ด๋ฆฌ ์ฒด๊ณ๋ ์๋ฏธ ์ฒด๊ณ ๋ฒ์ ๊ด๋ฆฌ(SemVer)๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
semver์ ์์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฒ์ ๋ฒํธ MAJOR.MINOR.PATCH๊ฐ ์ฃผ์ด์ง๋ฉด ๋ค์์ ์ฆ๊ฐ์ํต๋๋ค.
ํธํ๋์ง ์๋ API ๋ณ๊ฒฝ ์ MAJOR ๋ฒ์ ,
์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฐฉ์์ผ๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ MINOR ๋ฒ์ ๋ฐ
์ด์ ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฒ๊ทธ ์์ ์ PATCH ๋ฒ์ ์ ๋๋ค.
์ํํ ๋ฐ ๋น๋ ๋ฉํ๋ฐ์ดํฐ์ ๋ํ ์ถ๊ฐ ๋ ์ด๋ธ์ MAJOR.MINOR.PATCH ํ์์ ํ์ฅ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ์กด ๋ฒ์ (1.1.0)์ด 2.0.0 ๋ฒ์ (๋๋ถ๋ถ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๊ธฐ์กด API๊ฐ ์์๋จ)์ด ๋์ด ๊ฐ๋ฐ์์๊ฒ API๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ์ ๋ถ๋ช ํ ์๋ฆฌ๊ณ ๊ฐ๋ฐ์๊ฐ npm์ ์์ผ๋์นด๋ ๋ฒ์ (์: "1 .x", "~1")
๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ "์๋ฏธ๋ก ์ " ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๊ฒฉํ๊ฒ ๋ฐ๋ฅด๋ ๊ฒ์ Backbone์์ ์ ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค. ํ๋ก์ ํธ๊ฐ ๊ฑฐ์ ๋ชจ๋ ํ๋ฉด์ ์ด๋ฉฐ ๋ด๋ถ๊ฐ ๊ฑฐ์ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ Backbone์ ๋ํ ๊ฑฐ์ ๋ชจ๋ ๋ณ๊ฒฝ(ํจ์น, ํ ์์ฒญ)์ ์ด์ ์ ์ ์๋์ง ์์ ๋์์ ์์กดํ๋ ์ฌ๋๋ค์๊ฒ๋ง ํด๋นํ๋๋ผ๋ ์ฝ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ์ ํธํ์ฑ์ ๊นจ๋จ๋ฆฝ๋๋ค.
"์๋ฏธ๋ก ์ " ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๊ฒฉํ ๋ฐ๋๋ค๋ฉด ์ง๊ธ ์ฏค์ด๋ฉด Backbone.js 43.0.0 ์ด ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๋๊ตฌ๋ ํ๋ก์ ํธ์ ์ค์ ์งํ ์ํฉ์ ํ๊ฐํ๋ ๋ฐ ๋์์ด ๋์ง ์์ต๋๋ค.
๊ทธ๋์ ์ ๋ ๋๋ด์ ์ข์ํฉ๋๋ค. "์๋ฏธ์ ์ธ" ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์๋๋ผ _๋ญ๋ง์ ์ธ ๋ฒ์ ๊ด๋ฆฌ_์ ๋๋ค.
๋ฒ์ ๋ฒํธ MAJOR.MINOR.PATCH๊ฐ ์ฃผ์ด์ง๋ฉด ๋ค์์ ์ฆ๊ฐ์ํต๋๋ค.
์ฃผ์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ API๋ฅผ ํฌ๊ฒ ์ ๋ฐ์ดํธ ๋ฐ/๋๋ ์์ ํํ ๋ MAJOR ๋ฒ์ ์ ๋๋ค.
์ฌ์ํ ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋์ MINOR ๋ฒ์ ์ ๋๋ค.
PATCH ๋ฒ์ ์ ์์ ๋ณ๊ฒฝ์ ํ ๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์์์ฐจ๋ฆฌ์ง ๋ชปํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
์ด๋ฅผ ํตํด ์ฌ๋๋ค์ ์ ๋ฆด๋ฆฌ์ค์ ๋ํด ๋ฃ์๋ง์ ๊ทธ ๋ฒ์๋ฅผ ๋๋ต์ ์ผ๋ก ์ ์ ์์ต๋๋ค. ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ - ์ด์์ ์ผ๋ก๋ _๋ชจ๋ _ ๋ฆด๋ฆฌ์ค, ์ฌ์ง์ด ์ฃผ์ ๋ฆด๋ฆฌ์ค๋ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ API๊ฐ ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ํ ์ ์์ ๋๋ ์ ๊ทธ๋ ์ด๋๊ฐ ๋๋ฌด ์ด๋ ต์ง ์์ ๋ฐฉ์์ผ๋ก ์ํ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ API์ ๋ํ ๋ณ๊ฒฝ์ ํผํ๊ณ "MAJOR" ๋ฆด๋ฆฌ์ค๊ฐ ์ค๋น๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ์งํ์ ํฐ ์ฅ์ ๋ฌผ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ MAJOR ๋ฒ์ ๋ฒํธ๋ฅผ ์์ฃผ ์ฆ๊ฐ์ํค๋ ๋์์ ์์ฒญ๋๊ฒ ๋์์ด ๋์ง ์์ต๋๋ค.
์์งํ ๋งํด์, ๋๋ถ๋ถ์ ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก BIG.SMALL
๋ฒ์ ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ๋ ๊ฐ๋จํ ๊ตฌ์ฑํ๋ฅผ ์ ํธํ์ง๋ง ํจํค์ง ๊ด๋ฆฌ์ ๋ฐ ๊ธฐํ ๋๊ตฌ๋ฅผ ์์์ํค๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ ๊ฒ์
๋๋ค.
Backbone 43.0.0์ ์๋ ๋ฌธ์ ๋ ๋ฌด์์ ๋๊น?
spadgos@ ์ง๋ฌธ์ +1. ๋ฒ์ ๋ฒํธ๋ ์์์ ์ ๋๋ค. ์ด๋ค ์ด์ ๋ก OS์ ๋์ผํ ๋ฒ์ ๋ด์์ ์ ์งํ๋ ค๋ ์ ์์ผ ์น ์ฑ์ด ์์ต๋๋ค. ๋ง์ ์ฑ์ด 10์ ๋๊ธฐ๋ ๊ฒ์ ๋๋ ค์ํ์ง๋ง... ๋ชจ๋ธ๋งํ๋ ๋๋ถ๋ถ์ ํ๋ก์ ํธ(Windows, Linux ๋ฑ)๋ ๋ฆด๋ฆฌ์ค ์ ์ 1๋ /๋ค๋ ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ์์ผ๋ฏ๋ก 1.x -> 2.x ํฐ์ผ์ด๋ค. ์ ์์ผ ํ๋ก์ ํธ๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์์ง์ด๋ฉฐ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ๊ฒ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ ๋ ๊ทธ ๊ทผ๊ฑฐ์ ๋์ํ์ง ์์ต๋๋ค.
Marionette๋ ํ์ฌ v1.2.3์ ์์ผ๋ฉฐ ์๊ฒฉํ ์๋ฏธ๋ก ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ต์ ์ ๋๋ค. ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ "๋ชจ๋ ํ๋ฉด์ "์ธ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ v1.0์ ์ฌ์ ํ โโv1.2.3๊ณผ ํธํ๋ฉ๋๋ค. API ๋๋ ์์๋๋ ๋์ ์ค๋จ ๋ณ๊ฒฝ ์ฌํญ์ธ ๊ฒฝ์ฐ v2 ๋ฆด๋ฆฌ์ค์ ๋ํ ํฐ์ผ์ ์ฐ๊ธฐํ์ต๋๋ค.
ํ ๋ฆฌํ์คํธ๊ฐ ์๋ฝ๋ ๋๋ง๋ค ๋ธ๋ ์ดํน ์ฒด์ธ์ง๊ฐ ํฌํจ๋ ์ฃผ์ ๋ฆด๋ฆฌ์ค๊ฐ ๋งค์ฃผ ๋ฐ์ํ ํ์๋ ์์ต๋๋ค. ์ด๋ ์ฃผ์ ๋ฒ์ ๋ฒํ๊ฐ ์๋ ๋๊ท๋ชจ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ถฉ๋ถํ ๊ฐ์น๋ฅผ ํฌํจํ๋ ์ฃผ์ ๋ฆด๋ฆฌ์ค์ ํ๋ง๋ ์ ์๊ณ ๊ทธ๋์ผ ํฉ๋๋ค.
๊ทธ๋๋ก, v1.1 ๋ฆด๋ฆฌ์ค์์ ํธํ์ฑ์ ๊นจ๋ ๊ฒ์ MarionetteJS ํ๊ณผ ๊ฐ์ ํ๋ฌ๊ทธ์ธ ๋ฐ ์ ๋์จ ๊ฐ๋ฐ์์๊ฒ ๋ง์ ๊ณ ํต์ ์๊ฒจ์ค๋๋ค. v1.0๊ณผ v1.1 ๋ชจ๋์์ ์คํ ๊ฐ๋ฅํ๋๋ก ์ฝ๋์ ํจ์น๋ก ๋์์ ๋ค์ ์ฑ์์ผ ํ์ต๋๋ค. ์ฌ๋ฏธ์๋ ์ํฉ์ด ์๋๋๋ค. ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ Backbone๊ณผ ๊ฐ์ ํต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๊ธ ํจ๊ณผ๋ ์์ฒญ๋ฉ๋๋ค... ์ํฅ์ ๋ฐ๋ ๊ฒ์ Backbone๋ง์ด ์๋๋๋ค.
๋๋ ์ด๊ฒ์ด "ํ ์ ์๋ค"๋ผ๊ธฐ๋ณด๋ค "ํ๊ณ ์ถ์ง ์๋ค"์ ๊ฒฝ์ฐ์ฒ๋ผ ๋ณด์ธ๋ค๋ ๋ฐ ๋์ํ๋ค. https://github.com/jashkenas/backbone/pull/2461 ๊ณผ ๊ฐ์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธด๊ธํ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ 43.0.1 ๋ฌธ์ ๋ฅผ ์ํ์ง ์๋ ๊ฒฝ์ฐ ์ฃผ์ ๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค.
์ ์๊ฒ ๋ฐฑ๋ณธ์ด semver๋ฅผ ์กด์คํ์ง ์๋ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ (๋ฌด์๋ณด๋ค๋) ๋ฐฑ๋ณธ์ ๊ฐ๋ฅด์น๊ณ ๋ณต์ํํ๋ ๋ฐ ์์ต๋๋ค. ๋ฐฑ๋ณธ์ ์ ์ธํ๊ณ ์คํ์ ์๋ ๋ชจ๋ ๊ฒ์ด ํน์ ๋ฐฉ์์ผ๋ก ์๋ํ ๊ฒ์ด๋ผ๊ณ ํ์ ๊ทธ๋ฃน์ด๋ ์ ์ฌ ๊ณ ๊ฐ์๊ฒ ๋งํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค.
Backbone์ "๋ณต์ํ"ํ ๋ ํญ์ ๋ ๊ฐ์ง ํฐ ๊ฒฝ๊ณ ๊ฐ ์์์ต๋๋ค. ๋ฐ๋ก AMD๊ฐ ์๋๋ฉฐ SemVer๋ฅผ ์กด์คํ์ง ์์ผ๋ฏ๋ก ๋ฒ์ ๋ฒํธ๋ฅผ ์ฌ๊ฐํ๊ฒ ๋ฐ์๋ค์ด์ง ๋ง์ญ์์ค. ๊ทธ ์ค ํ๋๋ ๊ณ ์ ๋์ด ์์ต๋๋ค. ๋ค๋ฅธ ํ๋๋ฅผ ์์ ํฉ์๋ค.
์์งํ ๋งํด์, ๋๋ ๋๋ถ๋ถ์ ๋ฐ์คํฌํ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก BIG.SMALL ๋ฒ์ ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ๋ ๊ฐ๋จํ ์ฒด๊ณ๋ฅผ ์ ํธํ์ง๋ง ํจํค์ง ๊ด๋ฆฌ์ ๋ฐ ๊ธฐํ ๋๊ตฌ๋ฅผ ์์์ํค๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ ๊ฒ์ ๋๋ค.
@jashkenas ์ฐ๋ฆฌ๋ ํญ์ ์ธ ๋ฒ์งธ ์ซ์๋ฅผ .0์ผ๋ก ๋จ๊ฒจ๋ ์ ์์ต๋๋ค. :)
๊ทธ๊ฒ์ ์๋ง๋ ์ฐ๋ฆฌ๊ฐ ์ง๊ธ ํ๊ณ ์๋ ๊ฒ๋ณด๋ค ์กฐ๊ธ ๋ ๊ฐ๊น์ด SemVer์ ์๋ฏธ์ ์ผ๋ก ๋งคํ๋ ๊ฒ์ ๋๋ค. SemVer๋ฅผ ๋ฐ๋ฅด์ง ์๋ ๊ฒ์ด ๊ธฐ์ ์ ์ผ๋ก ์ด๋ป๊ฒ ์๋ชป๋ ๊ฒ์ธ์ง์ ๋ํ ์๋์ -๊ณต๊ฒฉ์ ์ํธ-์ ์น์ ์ ๊ฒฉ์ ์ต์ ํ ์๋ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๋ค ์์คํ ์ ๋ฐ๋ฅด๋ , ์ฐ๋ฆฌ๊ฐ ์ด๋ค ์์คํ ์ ๋ฐ๋ฅด๊ณ ์๋์ง ๋ช ํํ๊ฒ ํํํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ค๋ ์ ์์ Bob์ ์์ง๊ฐ ์ณ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ps @keithamus ์ ๋ฌธ์ ๊ฐ ์๋์ ์ด๋ฉฐ ๊ณต๊ฒฉ์ ์ด๋ผ๋ ์๋ฏธ๋
:+1: semver์ฉ. ๋๋ ์ฃผ๋ก ์งํ ์ํฉ์ ์งํ๊ฐ ์๋๋ผ ํธํ์ฑ์ ์งํ๋ก์ ์ฃผ์ด์ง ์ํํธ์จ์ด ๋ฒ์ ์ ๊ด์ฌ์ด ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก 1.0 ์ดํ(๋๋ถ๋ถ ์์ ์ ์ด๊ณ ์๋ํ ๊ฒ์ผ๋ก ์์๋๋ ๊ฒฝ์ฐ) ๋ฒ์ ๋ฒํธ๋ ์งํ๋ฅ ์ ๋ํ๋ด๋ ์งํ๋ก ๊ฑฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ฒ์ 10์ ์ํํธ์จ์ด X๋ ๋ฒ์ 2์ ์ํํธ์จ์ด Y๋ณด๋ค ํจ์ฌ ๋ ์ฑ์ํ๊ณ ๊ธฐ๋ฅ์ด ์ ์ ์ ์์ต๋๋ค. ์ํํธ์จ์ด์ ์งํ ์ํฉ์ ์๊ณ ์ถ๋ค๋ฉด ๋ณ๊ฒฝ ๋ก๊ทธ๋ ๋ก๋๋งต์ ์ดํด๋ด์ผ ํฉ๋๋ค.
๋ฐฑ๋ณธ(๋๋ ๋ฌด์์ด๋ )์ด 2.4.3์ ์๋ค๋ ์ฌ์ค์ ์๋ ๊ฒ์ ๊ธฐ๋ฅ ์ธก๋ฉด์์ ์๋ฌด ์๋ฏธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ _๋ฐ๋์_ ๋ด๊ฐ 2.0.4์์ ์๋ฌด๋ฐ ๋ฌธ์ ์์ด ์ ๊ทธ๋ ์ด๋ํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
"์๋ฏธ๋ก ์ " ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๊ฒฉํ ๋ฐ๋๋ค๋ฉด ์ง๊ธ์ฏค์ด๋ฉด Backbone.js 43.0.0์ด ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๋๊ตฌ๋ ํ๋ก์ ํธ์ ์ค์ ์งํ ์ํฉ์ ํ๊ฐํ๋ ๋ฐ ๋์์ด ๋์ง ์์ต๋๋ค.
์์ฃผ ์ฌ์ํ/์๋ง๋ ์กด์ฌํ์ง ์๋ ๋ฌธ์ . semver๋ฅผ ํ๋ก์ฐํ์ง ์์ต๋๊น? ํฐ ๋ฌธ์ .
:+1:, semver๋ ๊ทธ๋ฐ ํฐ ํ๋ก์ ํธ์ ๊ผญ ํ์ํ ๋๊ตฌ์ ๋๋ค.
@knowtheory์ ํจ๊ปํฉ๋๋ค. 43.0.0
์ข ์ด์ํด ๋ณด์ด์ง๋ง 1.43.0
๊ด์ฐฎ๊ณ npm install
์ดํ์ ์๋ฌด๋ ๋๋ผ์ง ์์ ๊ฒ์
๋๋ค.
๋๊ฐ ๋์ ๋ฒ์ ๋ฒํธ์ ์ ๊ฒฝ์ ์ฐ๋์?
ํ์ค์ด๋ ์ฌ์ฉํ ์ ์์ผ๋ฉด ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ด ํ ๋ก ์ด ์ ๊ทธ๋ ๊ฒ ์ค๋ ๊ฐ๋์ง ๋๋ฌด์ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค.
:+1: #2996 ๋ฐ #2997์ ์ผ๋ถ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์๊ณ ๋ค๋ฅธ ๋ช ๊ฐ์ง ๋ค๋ฅธ Backbone ๋ฆด๋ฆฌ์ค์ ํจ๊ป ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์์ต๋๋ค.
@braddunbar (๊ทธ๋ฆฌ๊ณ "๋ฐ๋"์ ๋๋จธ์ง ์ด์ )๋ ์ค์ ์๋ฏธ๋ณด๋ค ๋ฒ์ ๋ฒํธ์ ๋ฏธํ์ ๋ ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ "์๋ฏธ๋ก ์ " ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๊ฒฉํ๊ฒ ๋ฐ๋ฅด๋ ๊ฒ์ Backbone์์ ์ ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์ฌ์ฉ์๋ฅผ ์ํด ์ ์๋ํ๋ Backbone์ ๊ดํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค(์ข ์์ฑ ๊ด๋ฆฌ ํฌํจ). ๋ค์ semver๊ฐ ๋ณด์ฅํ๋ ๊ฒ์โฆ
๋ ์์ฃผ ๋ฆด๋ฆฌ์คํ๋ฉด ์ผ์คํ ํผ ๋ฒ๊ทธ๋ฅผ ๋ ๋นจ๋ฆฌ ์ก๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฌ๋๋ค์๊ฒ ํ์ํ ๋ฒ๊ทธ ์์ ์ ์ป๊ธฐ ์ํด Backbone์ ์์ง ๋ฒ์ ์ ์ง์์ ์ผ๋ก ์คํํ๋๋ก ์๊ตฌํ๋ ๊ฒ์ ๋๋ฌด ๊ณผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
+1 @derickbailey
์๋ฅผ ๋ค์ด 1.1.0 ์ดํ ํจ์น ๋ฆด๋ฆฌ์ค์ ์์ด๋์ด๋ ์ด๋ฌํ ์์ ์ด ์ ํ ํ์ํ์ง ์์์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
https://github.com/marionettejs/backbone.marionette/commit/5a498d250d23a68c9c84a1362782edcf8774a1c8
https://github.com/marionettejs/backbone.marionette/commit/baed36bad8357e4379d4d2bc0460fd1375d2c85b
https://github.com/marionettejs/backbone.marionette/commit/e13e912bdda8e056c0e7b5e15d127eff158a48cb#diff -3c2771f47bdfe073ea95bfa54a37a972R167
npm ๋๋ bower ํจํค์ง์ ๊ฒฝ์ฐ ์ด๊ฒ์ ๋ ผ์์ ๋์์ด ์๋๋๋ค.
npm ๋๋ bower๋ฅผ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ๊ฒ์ํ ๋ semver๋ ๊ทํ๊ฐ ์ฒด๊ฒฐํ๋ API ๊ณ์ฝ์ ์ผ๋ถ์ ๋๋ค. ๊ทธ ๊ณ์ฝ์ ๊นจ๋ฉด ๋น์ ์๊ฒ ์์กดํ๋ ๋ค๋ฅธ ๋ชจ๋์ด ๊นจ์ง๋๋ค. ๋น์ ์ ๋น์ ์ ๋ชจ๋์ ์์กดํ๋ ์์ฐ ์ฝ๋๋ฅผ ๊นจ๋จ๋ฆฝ๋๋ค.
๋ฌธ์ ๋ "semver๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๊น?"๊ฐ ์๋๋๋ค. ๋ฌธ์ ๋ "์ฐ๋ฆฌ๊ฐ ์ํ๊ณ์์ ์ข์ ์๋ฏผ์ด ๋๊ธฐ๋ฅผ ์ํ๋๊ฐ?"์ ๋๋ค.
๋๋ต์ด ์๋์ค์ธ ๊ฒฝ์ฐ API ๊ณ์ฝ์ ๋ฐ๋ฅด๋ ๋ค๋ฅธ ํจํค์ง์ฒ๋ผ ํจํค์ง๋ฅผ ์ค์นํ๋ ๊ฒ์ด ์์ ํ์ง ์๊ธฐ ๋๋ฌธ์ ํฌ๊ณ ๋ช ํํ๊ฒ ์๋ ค์ผ ํฉ๋๋ค.
npm ๋๋ bower๋ฅผ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ๊ฒ์ํ ๋ semver๋ ๊ทํ๊ฐ ์ฒด๊ฒฐํ๋ API ๊ณ์ฝ์ ์ผ๋ถ์ ๋๋ค.
์๋, ๊ทธ๋ ์ง ์๋ค. npm install --save [email protected]
๋ ๋ฒ๊ฑฐ๋ก์ด ์๊ตฌ ์ฌํญ์ด ์๋๋๋ค.
@akre54 semver์ ๋ํ ๋น์ ์ ๊ด์ ์ ๊ด์ฌ์ด ์์ต๋๋ค. @jashkenas๊ฐ ๊ทธ๊ฒ์ ๋ํ ์๊ฐ์ ์๊ณ ์์ง๋ง ๋น์ ์ ์๊ฐ์ ๋ฌด์์ ๋๊น?
@akre54 ๋ค ๊ทธ๋ ์ต๋๋ค. npm์ ์ ์ฅ์์ ๋ชจ๋ ํจํค์ง๊ฐ semver ๋ฅผ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด๊ฒ์ด ์ด๋ค ํจํค์ง๊ฐ ์ด๋ค ํจํค์ง์ ํธํ๋๋์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
package.json
๋ฌธ์์์:
"๋ฒ์ ์ ์ข ์์ฑ์ผ๋ก npm๊ณผ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ node-semver์์ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์์ด์ผ ํฉ๋๋ค. (npm install semver๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ์ฌ์ฉํ์ญ์์ค.)"
๋ฒ์ ๋ฒํธ๊ฐ semver๋ก ํด์๋ ๋ _lie_์ด๋ฉด ์ฌ๋ฐ๋ฅธ ๊ตฌ๋ฌธ ๋ถ์์ด ์๋๋๋ค. ๋ฐ๋ผ์ package.json
๊ณ์ฝ์ ์๋ฐํ๊ณ ์ฌ๋๋ค์ด npm ์ํ๊ณ์์ ํจํค์ง ๋ฒ์ ์ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ์ ํธํ์ฑ์ ์๋ฐํ๊ณ ์์ต๋๋ค.
๊ฐ์ธ ์ทจํฅ์ ๋ฌธ์ ๋ง์ ์๋๋๋ค. ํจํค์ง ์ํธ ์ด์ฉ์ฑ์ ๋ฌธ์ ์ ๋๋ค.
semver๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ํจํค์ง๊ฐ ๋ฉ์ง๊ฒ ์ฌ์๋๋๋ก ๊ฐ์ ํ ์ ์์ต๋๊น? _๋ฌผ๋ก ์ ๋๋ค_, ํ์ง๋ง readme์ ๋งจ ์์ ํฐ ์๋ฆฌ๋ก ๋๋ดํ๊ฒ ๋งํ์ง ์์ผ๋ฉด -- ์ด๊ฒ์ด ํ์ํ๋ค๋ ๊ฒ์ ์๋ ์ฌ์ฉ์๋ ๊ฑฐ์ ์์ ๊ฒ์ด๋ฉฐ, ๋ธ๋ ์ดํน ์ฒด์ธ์ง๋ฅผ ๋์ ํ ๋ ์ฝ๋๊ฐ ๋งค์ฐ ์ฝ๊ฒ ์์๋ ์ ์์ต๋๋ค.
ํจํค์ง ๋ฆฌํฌ์งํ ๋ฆฌ์ ํจํค์ง๋ฅผ ๊ฒ์ํ๋ฉด ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ํธ ์ด์ฉ์ฑ ๊ณ์ฝ์ ์ผ๋ถ๊ฐ ๋ฉ๋๋ค. ์ฌ์ฉ์์ ์ํ์ ๋ฌด๋ฆ ์ฐ๊ณ ํด๋น ๊ณ์ฝ์ ๋ฌด์ํฉ๋๋ค.
npm install --save [email protected]
๋ ๋ฒ๊ฑฐ๋ก์ด ์๊ตฌ ์ฌํญ์ด ์๋๋๋ค.
์์ ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ค์ด๊ฐ๋ ์์ฒ ๊ฐ์ ํจํค์ง ์ค ์ด๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋ก์ด ์๊ตฌ ์ฌํญ์ธ์ง _is_ ์๊ณ ์์ต๋๋ค. ์์์ ๋ชจ๋์ด ๊ท์น์ ๋ฐ๋ฅด์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ํจํค์ง์ ๋ฒ์ ์ ๋จ๋จํ ์ ๊ทธ๋๋ก ๊ฐ์ํฉ๋๋ค. ๋ฒ๊ทธ ์์ , ๋ณด์ ํจ์น ๋ฑ์ ๋ฐ๋ผ๊ฐ๋ ๋ฌธ์ ๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค๊ธฐ _is_ ๋ฒ๊ฑฐ๋ก์ด ์๊ตฌ ์ฌํญ์ ๋๋ค.
semver๋ฅผ ํ๋ก์ฐํด์ผ ํ๋ ์์ฃผ ์ข์ ์ด์ ๊ฐ ์์ต๋๋ค. "๋ด ํจํค์ง ๋ฒํธ๊ฐ ์ ๋ง ์ปค์ง ์ ์์ต๋๋ค"๋ semver๋ฅผ ์ฌ์ฉํ์ง _์๋_ ๋์ฐํ ์ด์ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์งํ ์ํฉ์ ์ถ์ ํ๋ ๊ฒ์ ํจํค์ง ๋ฒ์ ์ ๋ํ ๋ ๋ฒ์งธ ์ด์ ์ ๋๋ค. ๋ฒ์ ์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ฅ์ "์ด ๋ฒ์ ์ด ๋ด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๋ํฉ๋๊น?"๋ฅผ ์๋ ๊ฒ์ ๋๋ค.
BTW, ํจํค์ง ๋ฒํธ๊ฐ ์ ๋ง ์ปค์ง๋ฉด ์ฝ๋ ๋์ ์ผ ์ ์์ต๋๋ค. _๋ธ๋ ์ดํน ์ฒด์ธ์ง_๋ฅผ ํ ๋๋ง ๋ฉ์ด์ ๋ฒ์ ์ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค. ์ ์์ ๋ฐ๋ฅธ ์ฃผ์ ๋ณ๊ฒฝ์ _๊ฐ๋ฐฉ/ํ์ ์์น์ ์๋ฐํ๋ ๊ฒ์ ๋๋ค. ํ์ฅ์ ์ํด ์ด๋ฆฌ๊ณ ์ฃผ์ ๋ณ๊ฒฝ์ ์ํด ๋ซํ๋๋ค. ๋ชจ๋ ์ข์ API๋ ํฉ๋ฆฌ์ ์ผ๋ก ๊ฐ๋ฅํ ํ ๊ฐ๊น๊ฒ ๊ฐ๋ฐฉ/ํ์ ์์น์ ๋ฐ๋ฅด๋ฏ๋ก ์ฌ์ฉ์๊ฐ API๋ฅผ ๋ฐ๋ผ๊ฐ ์ ์๊ณ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ๊ธฐ์กด ์ฝ๋๊ฐ ์์๋์ง ์์ต๋๋ค.
์ฌ๊ธฐ์ ๋ฐฐ์ด ๊ตํ์ "package.json์ ํตํด ๋ฐฑ๋ณธ์ ๊ฐ์ ธ์ฌ ๋ ~
๋๋ ^
์ฌ์ฉํ์ง ๋ง์ญ์์ค"๋ผ๋ ๊ฒ์
๋๋ค.
@akre54 semver ์ ๋ํ ๋น์ ์ ๊ด์ ์ด ๊ถ๊ธํฉ๋๋ค
์ผ๋ฐ์ ์ผ๋ก ๋๋ ์ฌ๊ธฐ์ ์ฃผ์ฅ์ ๋์ํ์ง๋ง ์ฃผ ๋ฒ์ ์ ๋ฒํ๋ ๊ฒ์ด _๋ชจ๋ _ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ต์ ์ ์กฐ์น์ธ์ง ๊ถ๊ธํฉ๋๋ค. Underscore๋ ๋ง์ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฌ์ฉ๋๋ฉฐ ๊ฑฐ๋ํ ๋ฒ์ ์ ๋ฐ๋ผ์ก๊ธฐ ์ํด ๋ชจ๋๋ฅผ ์๊ตฌํ๋ ๊ฒ์ ํ๋ค๊ณ ์ํํฉ๋๋ค. (์ค๋ ์ถ์๋ ํจํค์ง๋ ๋ฒ์ 2๊น์ง Underscore์ ์์กดํด์ผ ํฉ๋๊น? 1.7? 1.6.x? ๋ฉ์ธ ํ๋ก์ ํธ์์ ๋ณ๋์ Underscore๋ฅผ ์๊ตฌํ๋ ๋์ ์ข ์์ฑ์ ๊ณ ์ ํด์ผ ํฉ๋๊น?)
์ฌ๊ธฐ์์ ๋ฐฐ์ด ๊ตํ์ "package.json์ ํตํด ๋ฐฑ๋ณธ์ ๊ฐ์ ธ์ฌ ๋ ~ ๋๋ ^๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค"๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค.
์ฌ๊ธฐ์์ ๋ฐฐ์ด ๊ตํ์ "package.json์ ํตํด ๋ฐฑ๋ณธ์ ๊ฐ์ ธ์ฌ ๋ ~ ๋๋ ^๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค"๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฝ๋๊ฐ ์์๋์ง ์๋๋ก ๋ณดํธํ๋ ๊ฒ์ ๋๋ค.
์์ ์ "semver๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ ๋ชจ๋์๊ฒ ์ข์ง๋ง ๊ทธ๋ ๊ฒ ํ์ง ์๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค."์ ๋น์ทํ ๊ฒ์ ๋๋ค.
๋๋ "๋ญ๋ง์ ์ธ" ๋ฒ์ ๊ด๋ฆฌ์ ๊ฐ์น๋ฅผ ์ดํดํ ์ ์์ต๋๋ค. ์ ๊ณต์กดํ์ง ์๋ ๊ฒ์ด ์์ฝ์ต๋๋ค.
ํญ์ semver๋ฅผ ๋งค์ฐ ์๊ฒฉํ๊ฒ ๋ฐ๋ฅด์ง ์๋ ํ๋ก์ ํธ์ ์๋ํ์ง๋ง ๋ฏธ๋ฌํ๋ ํ๋ก์ ํธ๊ฐ ์์ผ๋ฏ๋ก ์์คํ ์ด ํญ์ ์ฝ๊ฐ ๋์ถ๋๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
์ ์ด๋ Backbone์ ์ผ๋ฐ์ ์ผ๋ก ๋ฌผ๊ฑด์ ๋ถ์์ง ์๋ ๋ฐ ๋งค์ฐ ์ข์ต๋๋ค.
@dgbeck ์ํฉ์ ๋ฒ์ ๋ณ๋ก ํญ์ ์ค๋จ๋ฉ๋๋ค. ์ด์ ์๊ฒฌ์ ์ฐธ์กฐํ์ญ์์ค.
๋ฐ๋ผ์ ์ค์ ๋ก ์ธ๊ธ๋์ง ์์ semver๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ ๊ฐ์น๋ ์ฌ์ํ ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ ์์ ์ ํธ์ํ๊ณ ์ ์คํธ๋ฆผ์ ์์กดํ๋ ์ฌ๋๋ค์ด ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด๋ฃ๋ก ์ป์ ์ ์๋๋ก ํ์ฉํ๋ค๋ ์ฌ์ค์ ๋๋ค.
๋์๊ฒ ์ด๊ฒ์ ํ๋ฅญํ ๋ถ๊ฐ ๊ฐ์น์ด์ง๋ง ๋ถ๋ช ํ ์ด๊ฒ์ ์ ์ง ๋ณด์์ ๋ณต์ก์ฑ์ ๋๊ฐ๋ก ์น๋ฌ์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Backbone 43.0.0์ ์๋ ๋ฌธ์ ๋ ๋ฌด์์ ๋๊น?