Backbone: SemVer ํŒ”๋กœ์šฐ

์— ๋งŒ๋“  2013๋…„ 11์›” 22์ผ  ยท  27์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: jashkenas/backbone

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")

change wontfix

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Backbone 43.0.0์— ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • Chrome 32.0.1700์—์„œ ์ „์†ก๋จ

๋ชจ๋“  27 ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ "์˜๋ฏธ๋ก ์ " ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์—„๊ฒฉํ•˜๊ฒŒ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์€ Backbone์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฑฐ์˜ ๋ชจ๋“  ํ‘œ๋ฉด์ ์ด๋ฉฐ ๋‚ด๋ถ€๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ Backbone์— ๋Œ€ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ(ํŒจ์น˜, ํ’€ ์š”์ฒญ)์€ ์ด์ „์— ์ •์˜๋˜์ง€ ์•Š์€ ๋™์ž‘์— ์˜์กดํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋งŒ ํ•ด๋‹นํ•˜๋”๋ผ๋„ ์•ฝ๊ฐ„์˜ ๋ฐฉ์‹์œผ๋กœ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฝ๋‹ˆ๋‹ค.

"์˜๋ฏธ๋ก ์ " ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์—„๊ฒฉํžˆ ๋”ฐ๋ž๋‹ค๋ฉด ์ง€๊ธˆ ์ฏค์ด๋ฉด Backbone.js 43.0.0 ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ˆ„๊ตฌ๋„ ํ”„๋กœ์ ํŠธ์˜ ์‹ค์ œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ €๋Š” ๋†๋‹ด์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. "์˜๋ฏธ์ ์ธ" ๋ฒ„์ „ ๊ด€๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ _๋‚ญ๋งŒ์ ์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ_์ž…๋‹ˆ๋‹ค.

๋ฒ„์ „ ๋ฒˆํ˜ธ MAJOR.MINOR.PATCH๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋‹ค์Œ์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.

์ฃผ์š” ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ API๋ฅผ ํฌ๊ฒŒ ์—…๋ฐ์ดํŠธ ๋ฐ/๋˜๋Š” ์•ˆ์ •ํ™”ํ•  ๋•Œ MAJOR ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
์‚ฌ์†Œํ•œ ์ƒˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ์˜ MINOR ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
PATCH ๋ฒ„์ „์€ ์ž‘์€ ๋ณ€๊ฒฝ์„ ํ•  ๋•Œ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์•Œ์•„์ฐจ๋ฆฌ์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์€ ์ƒˆ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ๋“ฃ์ž๋งˆ์ž ๊ทธ ๋ฒ”์œ„๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ - ์ด์ƒ์ ์œผ๋กœ๋Š” _๋ชจ๋“ _ ๋ฆด๋ฆฌ์Šค, ์‹ฌ์ง€์–ด ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋„ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  API๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์„ ๋•Œ๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต์ง€ ์•Š์€ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ API์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ์„ ํ”ผํ•˜๊ณ  "MAJOR" ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ค€๋น„๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ์ง„ํ–‰์— ํฐ ์žฅ์• ๋ฌผ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  MAJOR ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ž์ฃผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋Œ€์•ˆ์€ ์—„์ฒญ๋‚˜๊ฒŒ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ๋งํ•ด์„œ, ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์Šคํฌํ†ฑ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ BIG.SMALL ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑํ‘œ๋ฅผ ์„ ํ˜ธํ•˜์ง€๋งŒ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฐ ๊ธฐํƒ€ ๋„๊ตฌ๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Backbone 43.0.0์— ์žˆ๋Š” ๋ฌธ์ œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • Chrome 32.0.1700์—์„œ ์ „์†ก๋จ

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์„ ํ†ตํ•ด ๋ฐฑ๋ณธ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ~ ๋˜๋Š” ^๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค"๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ•œ ์„ค๋ช… ๋ณด๋‹ค ์ด ํ…Œ์ดํฌ ์•„์›ƒ ์ˆ˜์—… ์•ˆํ•˜๋Š” ์ด์œ .

์—ฌ๊ธฐ์—์„œ ๋ฐฐ์šด ๊ตํ›ˆ์€ "package.json์„ ํ†ตํ•ด ๋ฐฑ๋ณธ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ~ ๋˜๋Š” ^๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค"๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์†์ƒ๋˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ˆ˜์—…์€ "semver๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์€ ๋ชจ๋‘์—๊ฒŒ ์ข‹์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค."์™€ ๋น„์Šทํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” "๋‚ญ๋งŒ์ ์ธ" ๋ฒ„์ „ ๊ด€๋ฆฌ์˜ ๊ฐ€์น˜๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ๊ณต์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์•„์‰ฝ์Šต๋‹ˆ๋‹ค.

ํ•ญ์ƒ semver๋ฅผ ๋งค์šฐ ์—„๊ฒฉํ•˜๊ฒŒ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ํ”„๋กœ์ ํŠธ์™€ ์‹œ๋„ํ•˜์ง€๋งŒ ๋ฏธ๋‹ฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์‹œ์Šคํ…œ์ด ํ•ญ์ƒ ์•ฝ๊ฐ„ ๋ˆ„์ถœ๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ ์–ด๋„ Backbone์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌผ๊ฑด์„ ๋ถ€์ˆ˜์ง€ ์•Š๋Š” ๋ฐ ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค.

@dgbeck ์ƒํ™ฉ์€ ๋ฒ„์ „๋ณ„๋กœ ํ•ญ์ƒ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ์˜๊ฒฌ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.


๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ ์–ธ๊ธ‰๋˜์ง€ ์•Š์€ semver๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์˜ ๊ฐ€์น˜๋Š” ์‚ฌ์†Œํ•œ ๊ธฐ๋Šฅ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ •์„ ํ‘ธ์‹œํ•˜๊ณ  ์—…์ŠคํŠธ๋ฆผ์— ์˜์กดํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฌด๋ฃŒ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค.

๋‚˜์—๊ฒŒ ์ด๊ฒƒ์€ ํ›Œ๋ฅญํ•œ ๋ถ€๊ฐ€ ๊ฐ€์น˜์ด์ง€๋งŒ ๋ถ„๋ช…ํžˆ ์ด๊ฒƒ์€ ์œ ์ง€ ๋ณด์ˆ˜์˜ ๋ณต์žก์„ฑ์„ ๋Œ€๊ฐ€๋กœ ์น˜๋Ÿฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰