Semantic versioning 2.0.0

์œ ์˜์  ๋ฒ„์ „ 2.0.0-ko2

Ref: https://semver.org

์š”์•ฝ

๋ฒ„์ „์„ ์ฃผ.๋ถ€.์ˆ˜ ์ˆซ์ž๋กœ ํ•˜๊ณ :

  1. ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ฒŒ API๊ฐ€ ๋ฐ”๋€Œ๋ฉด "์ฃผ(ไธป) ๋ฒ„์ „"์„ ์˜ฌ๋ฆฌ๊ณ ,
  2. ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” "๋ถ€(้ƒจ) ๋ฒ„์ „"์„ ์˜ฌ๋ฆฌ๊ณ ,
  3. ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋ฉด์„œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒƒ์ด๋ผ๋ฉด "์ˆ˜(ไฟฎ) ๋ฒ„์ „"์„ ์˜ฌ๋ฆฐ๋‹ค.

์ฃผ.๋ถ€.์ˆ˜ ํ˜•์‹์— ์ •์‹๋ฐฐํฌ ์ „ ๋ฒ„์ „์ด๋‚˜ ๋นŒ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ๋ผ๋ฒจ์„ ๋ง๋ถ™์ด๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

๋จธ๋ฆฌ๋ง

์†Œํ”„ํŠธ์›จ์–ด ๊ด€๋ฆฌ์˜ ์„ธ๊ณ„์—๋Š” "์˜์กด์„ฑ ์ง€์˜ฅ"์ด๋ผ ๋ถˆ๋ฆฌ๋Š” ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์‹œ์Šคํ…œ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก, ๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ธ์ˆ˜๋ก, ์–ธ์  ๊ฐ€, ์ด ์ ˆ๋ง์˜ ๋Šช์— ๋น ์ง„ ์ž์‹ ์„ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์‰ฝ๋‹ค.

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

์ด ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ, ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ •ํ•˜๊ณ  ์˜ฌ๋ ค์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ๊ทœ์น™๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ œ์•ˆํ•œ๋‹ค. ์ด ๊ทœ์น™๋“ค์€ ๊ธฐ์กด ์˜คํ”ˆ ์†Œ์Šค/๋น„๊ณต๊ฐœ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์— ๋„๋ฆฌ ํ™œ์šฉ๋˜๋Š” ๊ทœ์น™์„ ๋ฐ”ํƒ•์œผ๋กœ ํ–ˆ์œผ๋‚˜, ๋ฐ˜๋“œ์‹œ ๋”ฐ๋ฅด๊ณ ์ž ์ œ์•ฝ์„ ๋ฐ›์ง€๋Š” ์•Š์•˜๋‹ค. ์ด ์‹œ์Šคํ…œ์ด ๋™์ž‘ํ•˜๋ ค๋ฉด, ๋จผ์ € ๊ณต๊ฐœ(public) API๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค. ๋ฌธ์„œ์™€ ์†Œ์Šค ์ฝ”๋“œ ์ž์ฒด๋กœ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์ด๋“  API๊ฐ€ ๋ช…ํ™•ํ•ด์•ผ ํ•œ๋‹ค. ํ•œ๋ฒˆ ๊ณต๊ฐœ API๋ฅผ ์ •์˜ํ•˜๊ณ  ๋‚˜๋ฉด, ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด API๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€ ํ‘œํ˜„ํ•œ๋‹ค. ๋ฒ„์ „์„ X.Y.Z (์ฃผ.๋ถ€.์ˆ˜) ํ˜•์‹์œผ๋กœ ์ •ํ•œ๋‹ค. API์— ์˜ํ–ฅ์ด ์—†๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •์€ ์ˆ˜(ไฟฎ)๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๊ณ , API๊ฐ€ ํ˜ธํ™˜๋˜๋ฉด์„œ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ถ€(้ƒจ)๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๊ณ , API๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด๋ผ๋ฉด ์ฃผ(ไธป)๋ฒ„์ „์„ ์˜ฌ๋ฆฐ๋‹ค.

์ด ์ฒด๊ณ„๋ฅผ "์œ ์˜์  ๋ฒ„์ „"์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ ์ž ํ•œ๋‹ค. ์ด ์ฒด๊ณ„๋ฅผ ๋”ฐ๋ฅด๋ฉด, ๋ฒ„์ „ ๋ฒˆํ˜ธ์™€ ๊ทธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ํŠน์ • ๋ฒ„์ „์—์„œ ๋‹ค์Œ ๋ฒ„์ „์œผ๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€๋ฅผ ๋“œ๋Ÿฌ๋‚ธ๋‹ค.

์œ ์˜์  ๋ฒ„์ „ ๋ช…์„ธ (SemVer)

์ดํ•˜ "๋ฐ˜๋“œ์‹œ(MUST, REQUIRED, SHALL) ~ํ•œ๋‹ค", "์ ˆ๋Œ€ ~ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค(MUST NOT, SHALL NOT)", "๋  ์ˆ˜ ์žˆ์œผ๋ฉด(SHOULD, RECOMMENDED) ~ํ•œ๋‹ค", "~ํ•˜์ง€ ์•Š๋Š” ๊ฒŒ ์ข‹๋‹ค(SHOULD NOT)", "ํ•  ์ˆ˜ ์žˆ๋‹ค(MAY, OPTIONAL)"์˜ ํ‘œํ˜„์€ RFC 2119์— ๊ธฐ์ˆ ํ•œ ๋Œ€๋กœ ํ•ด์„ํ•œ๋‹ค.

  1. ์œ ์˜์  ๋ฒ„์ „์„ ์“ฐ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ฐ˜๋“œ์‹œ ๊ณต๊ฐœ API๋ฅผ ์„ ์–ธํ•œ๋‹ค. ์ด API๋Š” ์ฝ”๋“œ ์ž์ฒด๋กœ ์„ ์–ธํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œ๋กœ ์—„๊ฒฉํžˆ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“ , ์ •ํ™•ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค.

  2. ๋ณดํ†ต ๋ฒ„์ „ ๋ฒˆํ˜ธ๋Š” ๋ฐ˜๋“œ์‹œ X.Y.Z์˜ ํ˜•ํƒœ๋กœ ํ•˜๊ณ , X, Y, Z๋Š” ๊ฐ๊ฐ ์ž์—ฐ์ˆ˜(์Œ์ด ์•„๋‹Œ ์ •์ˆ˜)์ด๊ณ , ์ ˆ๋Œ€๋กœ 0์ด ์•ž์— ๋ถ™์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. X๋Š” ์ฃผ(ไธป)๋ฒ„์ „ ๋ฒˆํ˜ธ์ด๊ณ , Y๋Š” ๋ถ€(้ƒจ)๋ฒ„์ „ ๋ฒˆํ˜ธ์ด๋ฉฐ, Z๋Š” ์ˆ˜(ไฟฎ)๋ฒ„์ „ ๋ฒˆํ˜ธ์ด๋‹ค. ๊ฐ๊ฐ์€ ๋ฐ˜๋“œ์‹œ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ฌ์•ผ ํ•œ๋‹ค. ์˜ˆ: 1.9.0 -> 1.10.0 -> 1.11.0.

  3. ํŠน์ • ๋ฒ„์ „์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ๋‚˜๋ฉด, ๊ทธ ๋ฒ„์ „์˜ ๋‚ด์šฉ์€ ์ ˆ๋Œ€ ๋ณ€๊ฒฝํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค. ๋ณ€๊ฒฝ๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ๋ฐฐํฌํ•˜๋„๋ก ํ•œ๋‹ค.

  4. ์ฃผ๋ฒ„์ „ 0(0.y.z)์€ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ ์“ด๋‹ค. ์•„๋ฌด ๋•Œ๋‚˜ ๋งˆ์Œ๋Œ€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ณต๊ฐœ API๋Š” ์•ˆ์ •ํŒ์œผ๋กœ ๋ณด์ง€ ์•Š๋Š” ๊ฒŒ ์ข‹๋‹ค.

  5. 1.0.0 ๋ฒ„์ „์€ ๊ณต๊ฐœ API๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ดํ›„์˜ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋Š” ์ด๋•Œ ๋ฐฐํฌํ•œ ๊ณต๊ฐœ API์—์„œ ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€์— ๋”ฐ๋ผ ์˜ฌ๋ฆฐ๋‹ค.

  6. ์ˆ˜๋ฒ„์ „ Z (x.y.Z | x > 0)๋Š” ๋ฐ˜๋“œ์‹œ ๊ทธ์ „ ๋ฒ„์ „ API์™€ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •์˜ ๊ฒฝ์šฐ์—๋งŒ ์˜ฌ๋ฆฐ๋‹ค. ๋ฒ„๊ทธ ์ˆ˜์ •์€ ์ž˜๋ชป๋œ ๋‚ด๋ถ€ ๊ธฐ๋Šฅ์„ ๊ณ ์น˜๋Š” ๊ฒƒ์ด๋ผ ์ •์˜ํ•œ๋‹ค.

  7. ๊ณต๊ฐœ API์— ๊ธฐ์กด๊ณผ ํ˜ธํ™˜๋˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ถ€๋ฒ„์ „ Y(x.Y.z | x > 0)๋ฅผ ์˜ฌ๋ฆฐ๋‹ค. ๊ณต๊ฐœ API์˜ ์ผ๋ถ€๋ฅผ ์•ž์œผ๋กœ ์ œ๊ฑฐํ•  ๊ฒƒ(deprecate)์œผ๋กœ ํ‘œ์‹œํ•œ ๊ฒฝ์šฐ์—๋„ ๋ฐ˜๋“œ์‹œ ์˜ฌ๋ฆฌ๋„๋ก ํ•œ๋‹ค. ๋‚ด๋ถ€ ๋น„๊ณต๊ฐœ ์ฝ”๋“œ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ๋Œ€ํญ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๊ฐœ์„ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ๋„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋ถ€๋ฒ„์ „์„ ์˜ฌ๋ฆด ๋•Œ ์ˆ˜๋ฒ„์ „์„ ์˜ฌ๋ฆด ๋•Œ๋งŒํผ์˜ ๋ณ€ํ™”๋ฅผ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋ถ€๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๋ฉด ์ˆ˜๋ฒ„์ „์€ ๋ฐ˜๋“œ์‹œ 0์—์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ๋‹ค.

  8. ๊ณต๊ฐœ API์— ๊ธฐ์กด๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฃผ๋ฒ„์ „ X(X.y.z | X > 0)๋ฅผ ์˜ฌ๋ฆฐ๋‹ค. ๋ถ€๋ฒ„์ „์ด๋‚˜ ์ˆ˜๋ฒ„์ „๊ธ‰ ๋ณ€ํ™”๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์˜ฌ๋ฆด ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ถ€๋ฒ„์ „๊ณผ ์ˆ˜๋ฒ„์ „์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค.

  9. ์ˆ˜๋ฒ„์ „ ๋ฐ”๋กœ ๋’ค์— ๋ถ™์ž„ํ‘œ(-)๋ฅผ ๋ถ™์ด๊ณ  ๋งˆ์นจํ‘œ(.)๋กœ ๊ตฌ๋ถ„๋œ ์‹๋ณ„์ž๋ฅผ ๋”ํ•ด์„œ ์ •์‹ ๋ฐฐํฌ๋ฅผ ์•ž๋‘” (pre-release) ๋ฒ„์ „์„ ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹๋ณ„์ž๋Š” ๋ฐ˜๋“œ์‹œ ์•„์Šคํ‚ค(ASCII) ๋ฌธ์ž, ์ˆซ์ž, ๋ถ™์ž„ํ‘œ๋กœ๋งŒ ๊ตฌ์„ฑํ•œ๋‹ค[0-9A-Za-z-]. ์‹๋ณ„์ž๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ ๊ธ€์ž ์ด์ƒ์œผ๋กœ ํ•œ๋‹ค. ์ˆซ์ž ์‹๋ณ„์ž์˜ ๊ฒฝ์šฐ ์ ˆ๋Œ€ ์•ž์— 0์„ ๋ถ™์ธ ์ˆซ์ž๋กœ ํ‘œ๊ธฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ •์‹๋ฐฐํฌ ์ „ ๋ฒ„์ „์€ ๊ด€๋ จํ•œ ๋ณดํ†ต ๋ฒ„์ „๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค. ์ •์‹๋ฐฐํฌ ์ „ ๋ฒ„์ „์€ ์•„์ง ๋ถˆ์•ˆ์ •ํ•˜๋ฉฐ ์—ฐ๊ด€๋œ ์ผ๋ฐ˜ ๋ฒ„์ „์— ๋Œ€ํ•ด ํ˜ธํ™˜์„ฑ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.

  10. ๋นŒ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ˆ˜๋ฒ„์ „์ด๋‚˜ ์ •์‹๋ฐฐํฌ ์ „ ์‹๋ณ„์ž ๋’ค์— ๋”ํ•˜๊ธฐ(+) ๊ธฐํ˜ธ๋ฅผ ๋ถ™์ธ ๋’ค์— ๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์‹๋ณ„์ž๋ฅผ ๋ง๋ถ™์—ฌ์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹๋ณ„์ž๋Š” ๋ฐ˜๋“œ์‹œ ์•„์Šคํ‚ค ๋ฌธ์ž์™€ ์ˆซ์ž์™€ ๋ถ™์ž„ํ‘œ๋กœ๋งŒ ๊ตฌ์„ฑํ•œ๋‹ค [0-9A-Za-z-]. ์‹๋ณ„์ž๋Š” ๋ฐ˜๋“œ์‹œ ํ•œ ๊ธ€์ž ์ด์ƒ์œผ๋กœ ํ•œ๋‹ค. ๋นŒ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ฒ„์ „ ๊ฐ„์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํŒ๋‹จํ•˜๊ณ ์ž ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ๋ฌด์‹œํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ๋นŒ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ๋‹ค๋ฅธ ๋‘ ๋ฒ„์ „์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ๊ฐ™๋‹ค. ์˜ˆ: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85.

  11. ์šฐ์„ ์ˆœ์œ„๋Š” ๋ฒ„์ „์˜ ์ˆœ์„œ๋ฅผ ์ •๋ ฌํ•  ๋•Œ ์„œ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ๋น„๊ตํ• ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์šฐ์„ ์ˆœ์œ„๋Š” ๋ฐ˜๋“œ์‹œ ์ฃผ, ๋ถ€, ์ˆ˜ ๋ฒ„์ „, ๊ทธ๋ฆฌ๊ณ  ์ •์‹๋ฐฐํฌ ์ „ ๋ฒ„์ „์˜ ์‹๋ณ„์ž๋ฅผ ๋‚˜๋ˆ„์–ด ๊ณ„์‚ฐํ•˜๋„๋ก ํ•œ๋‹ค (๋นŒ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์šฐ์„ ์ˆœ์œ„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค). ์šฐ์„ ์ˆœ์œ„๋Š” ๋‹ค์Œ์˜ ์ˆœ์„œ๋กœ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜๋ฉด์„œ, ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„์ด ๋‚˜ํƒ€๋‚˜๋ฉด ๊ฒฐ์ •๋œ๋‹ค: ์ฃผ, ๋ถ€, ์ˆ˜๋Š” ์ˆซ์ž๋กœ ๋น„๊ตํ•œ๋‹ค. ์˜ˆ: 1.0.0 < 2.0.0 < 2.1.0 < 2.1.1. ์ฃผ, ๋ถ€, ์ˆ˜๋ฒ„์ „์ด ๊ฐ™์„ ๊ฒฝ์šฐ, ์ •์‹๋ฐฐํฌ ์ „ ๋ฒ„์ „์ด ํ‘œ๊ธฐ๋œ ๊ฒฝ์šฐ์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋‚ฎ๋‹ค. ์˜ˆ: 1.0.0-alpha < 1.0.0. ์ฃผ, ๋ถ€, ์ˆ˜๋ฒ„์ „์ด ๊ฐ™์€ ๋‘ ๋ฐฐํฌ ์ „ ๋ฒ„์ „ ๊ฐ„์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ๋ฐ˜๋“œ์‹œ ๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์‹๋ณ„์ž๋ฅผ ๊ฐ๊ฐ ์ฐจ๋ก€๋กœ ๋น„๊ตํ•˜๋ฉด์„œ ์ฐจ์ด์ ์„ ์ฐพ๋Š”๋‹ค: ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž๋Š” ์ˆ˜์˜ ํฌ๊ธฐ๋กœ ๋น„๊ตํ•˜๊ณ  ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ๋ถ™์ž„ํ‘œ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ์—๋Š” ์•„์Šคํ‚ค ๋ฌธ์ž์—ด ์ •๋ ฌ์„ ํ•˜๋„๋ก ํ•œ๋‹ค. ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ๋ฌธ์ž์™€ ๋ถ™์ž„ํ‘œ๊ฐ€ ์žˆ๋Š” ์‹๋ณ„์ž๋ณด๋‹ค ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๋กœ ์—ฌ๊ธด๋‹ค. ์•ž์„  ์‹๋ณ„์ž๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฐํฌ ์ „ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ์—๋Š” ํ•„๋“œ ์ˆ˜๊ฐ€ ๋งŽ์€ ์ชฝ์ด ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. ์˜ˆ: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

์œ ํšจํ•œ ์œ ์˜์  ๋ฒ„์ „์˜ BNF(Backus-Naur Form) ๋ฌธ๋ฒ•

<์œ ์˜์  ๋ฒ„์ „> ::= <๋ฒ„์ „ ๋ชธํ†ต>
| <๋ฒ„์ „ ๋ชธํ†ต> "-" <๋ฐฐํฌ ์ „ ๋ฒ„์ „>
| <๋ฒ„์ „ ๋ชธํ†ต> "+" <๋นŒ๋“œ>
| <๋ฒ„์ „ ๋ชธํ†ต> "-" <๋ฐฐํฌ ์ „ ๋ฒ„์ „> "+" <๋นŒ๋“œ>
<๋ฒ„์ „ ๋ชธํ†ต> ::= <์ฃผ> "." <๋ถ€> "." <์ˆ˜>
<์ฃผ> ::= <์ˆซ์ž ์‹๋ณ„์ž>
<๋ถ€> ::= <์ˆซ์ž ์‹๋ณ„์ž>
<์ˆ˜> ::= <์ˆซ์ž ์‹๋ณ„์ž>
<๋ฐฐํฌ ์ „ ๋ฒ„์ „> ::= <๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ฐฐํฌ ์ „ ์‹๋ณ„์ž๋“ค>
<๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ฐฐํฌ ์ „ ์‹๋ณ„์ž๋“ค> ::= <๋ฐฐํฌ ์ „ ์‹๋ณ„์ž>
| <๋ฐฐํฌ ์ „ ์‹๋ณ„์ž> "." <๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ฐฐํฌ ์ „ ์‹๋ณ„์ž๋“ค>
<๋นŒ๋“œ> ::= <๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋นŒ๋“œ ์‹๋ณ„์ž๋“ค>
<๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋นŒ๋“œ ์‹๋ณ„์ž๋“ค> ::= <๋นŒ๋“œ ์‹๋ณ„์ž>
| <๋นŒ๋“œ ์‹๋ณ„์ž> "." <๋งˆ์นจํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋นŒ๋“œ ์‹๋ณ„์ž๋“ค>
<๋ฐฐํฌ ์ „ ์‹๋ณ„์ž> ::= <์ˆซ์ž์™€ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž>
| <์ˆซ์ž ์‹๋ณ„์ž>
<๋นŒ๋“œ ์‹๋ณ„์ž> ::= <์ˆซ์ž์™€ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž>
| <์ˆซ์ž๋“ค>
<์ˆซ์ž์™€ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‹๋ณ„์ž> ::= <์ˆซ์ž ์•„๋‹Œ ๊ฒƒ>
| <์ˆซ์ž ์•„๋‹Œ ๊ฒƒ> <์‹๋ณ„์ž ๋ฌธ์ž๋“ค>
| <์‹๋ณ„์ž ๋ฌธ์ž๋“ค> <์ˆซ์ž ์•„๋‹Œ ๊ฒƒ>
| <์‹๋ณ„์ž ๋ฌธ์ž๋“ค> <์ˆซ์ž ์•„๋‹Œ ๊ฒƒ> <์‹๋ณ„์ž ๋ฌธ์ž๋“ค>
<์ˆซ์ž ์‹๋ณ„์ž> ::= "0"
| <์–‘์˜ ์ˆซ์ž>
| <์–‘์˜ ์ˆซ์ž> <์ˆซ์ž๋“ค>
<์‹๋ณ„์ž ๋ฌธ์ž๋“ค> ::= <์‹๋ณ„์ž ๋ฌธ์ž>
| <์‹๋ณ„์ž ๋ฌธ์ž> <์‹๋ณ„์ž ๋ฌธ์ž๋“ค>
<์‹๋ณ„์ž ๋ฌธ์ž> ::= <์ˆซ์ž>
| <์ˆซ์ž ์•„๋‹Œ ๊ฒƒ>
<์ˆซ์ž ์•„๋‹Œ ๊ฒƒ> ::= <๋ฌธ์ž>
| "-"
<์ˆซ์ž๋“ค> ::= <์ˆซ์ž>
| <์ˆซ์ž> <์ˆซ์ž๋“ค>
<์ˆซ์ž> ::= "0"
| <์–‘์˜ ์ˆซ์ž>
<์–‘์˜ ์ˆซ์ž> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<๋ฌธ์ž> ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J"
| "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T"
| "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d"
| "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n"
| "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x"
| "y" | "z"

์œ ์˜์  ๋ฒ„์ „์„ ์จ์•ผ ํ•˜๋Š” ์ด์œ 

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

์œ ์˜์  ๋ฒ„์ „์œผ๋กœ ์–ด๋–ป๊ฒŒ ์˜์กด์„ฑ ์ง€์˜ฅ์„ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž. "Firetruck"์ด๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์œ ์˜์  ๋ฒ„์ „์ด ๋ถ™์€ "Ladder"๋ผ๋Š” ํŒจํ‚ค์ง€์— ์˜์กดํ•œ๋‹ค. Firetruck์„ ๋งŒ๋“ค์—ˆ์„ ๋•Œ, Ladder๋Š” ๋ฒ„์ „ 3.1.0์ด์—ˆ๋‹ค. Firetruck์ด 3.1.0์— ์ฒ˜์Œ์œผ๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, Ladder์˜ ์˜์กด์„ฑ์„ 3.1.0 ์ด์ƒ, 4.0.0 ๋ฏธ๋งŒ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ, Ladder์˜ 3.1.1 ๋ฒ„์ „๊ณผ 3.2.0 ๋ฒ„์ „์ด ๊ณต๊ฐœ๋œ๋‹ค๋ฉด, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๊ทธ ๋ฒ„์ „์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  ๊ธฐ์กด ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ˜ธํ™˜๋  ๊ฒƒ์ด๋ผ๊ณ  ์•Œ ์ˆ˜ ์žˆ๋‹ค.

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

๋งŒ์•ฝ ์ด์ƒ์˜ ๋‚ด์šฉ์ด ๊ทธ๋Ÿด์‹ธํ•˜๋‹ค๋ฉด, ์œ ์˜์  ๋ฒ„์ „์„ ์“ฐ๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•  ์ผ์€, ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ณ ์ž ๋งˆ์Œ๋จน๊ณ  ๊ทœ์น™์„ ๋”ฐ๋ฅด๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ README ํŒŒ์ผ์— ์ด ์›น์‚ฌ์ดํŠธ์˜ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์ž.

FAQ

์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์— 0.y.z ๋ฒ„์ „ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ์ตœ์ดˆ ๊ฐœ๋ฐœ ๋ฐฐํฌ๋ฅผ 0.1.0์œผ๋กœ ํ•˜๊ณ , ์ดํ›„ ๋ฐฐํฌ๋งˆ๋‹ค ๋ถ€๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

์–ธ์ œ 1.0.0์„ ๋ฐฐํฌํ•ด์•ผ ํ• ์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‚˜?

์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์‹ค ์„œ๋น„์Šค์— ์“ฐ์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋ฉด ์ด๋ฏธ 1.0.0์ด๋ผ๊ณ  ์—ฌ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์ด ๋ฏฟ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ์•ˆ์ •ํ•œ API๊ฐ€ ์žˆ๋‹ค๋ฉด 1.0.0์ผ ๊ฒƒ์ด๋‹ค. ํ•˜์œ„ ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•ด ์šฐ๋ คํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋ฉด ์ด๋ฏธ 1.0.0์ผ ์ˆ˜ ์žˆ๋‹ค.

์œ ์˜์  ๋ฒ„์ „ ์ง“๊ธฐ๊ฐ€ ์‹ ์†ํ•œ ๊ฐœ๋ฐœ๊ณผ ๋น ๋ฅธ ์ดํ„ฐ๋ ˆ์ด์…˜์— ๋ฐฉํ•ด๊ฐ€ ๋˜์ง€๋Š” ์•Š์„๊นŒ?

์ฃผ๋ฒ„์ „ 0์ด ์‹ ์†ํ•œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ API๋ฅผ ๋งค์ผ๊ฐ™์ด ๋ฐ”๊พธ๊ณ  ์žˆ๋‹ค๋ฉด 0.y.z ๋ฒ„์ „์„ ์“ฐ๊ฑฐ๋‚˜ ๋ณ„๋„์˜ ๋‹ค์Œ๋ฒˆ ์ฃผ๋ฒ„์ „ ๋ฐฐํฌ๋ฅผ ์•ž๋‘” ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋ฅผ ์จ์•ผ ํ•œ๋‹ค.

๊ณต๊ฐœ API์˜ ์•„์ฃผ ์‚ฌ์†Œํ•œ ๋ถ€๋ถ„์ด ํ•˜์œ„ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ฃผ๋ฒ„์ „์„ ๋งค๋ฒˆ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค๋ฉด, ์–ด๋Š์ƒˆ ๋ฒ„์ „ 42.0.0์ด ๋˜์–ด๋ฒ„๋ฆฌ์ง€๋Š” ์•Š๋‚˜?

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

๊ณต๊ฐœ API ์ „์ฒด๋ฅผ ๋ฌธ์„œ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ผ์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค!

ํ”„๋กœ ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์“ฐ๊ฒŒ ํ•˜๋ ค๊ณ  ๋งŒ๋“  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ ์ ˆํžˆ ๋ฌธ์„œ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ฑ…์ž„์ด๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์€ ๋งค์šฐ ์ค‘์š”ํ•œ ์ผ์ด๊ณ , ๋‚จ์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜ ์–ด๋–ค ๋ฉ”์†Œ๋“œ๋“ค์„ ์•ˆ์ „ํ•˜๊ฒŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ์–ด๋ ค์šธ ๊ฒƒ์ด๋‹ค. ์žฅ๊ธฐ์ ์œผ๋กœ ๋ณผ ๋•Œ, ์œ ์˜์  ๋ฒ„์ „๊ณผ ์ž˜ ์ •์˜ํ•œ ๊ณต๊ฐœ API๋Š” ๊ด€๋ จ๋œ ๋ชจ๋“  ์‚ฌ๋žŒ๊ณผ ๋ชจ๋“  ๊ฒƒ์ด ์ˆœ์กฐ๋กญ๊ฒŒ ์ง€๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

๋ถ€๋ฒ„์ „์„ ์˜ฌ๋ฆฌ๋Š”๋ฐ ์‹ค์ˆ˜๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด ๋“ค์–ด๊ฐ”๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜?

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

๊ณต๊ฐœ API๋Š” ์œ ์ง€ํ•œ ์ฑ„ ๋‚ด๋ถ€์˜ ์˜์กด์„ฑ์„ ๋ฐ”๊พผ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

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

์‹ค์ˆ˜๋กœ ๋ฒ„์ „ ์ฆ๊ฐ€์™€ ๋งž์ง€ ์•Š๊ฒŒ ๊ณต๊ฐœ API ๋ณ€๊ฒฝ์„ ํ–ˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜? (์ˆ˜๋ฒ„์ „ ๋ฐฐํฌ์—์„œ ์ž˜๋ชป๋œ ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€์„œ ๊นจ์ง€๊ฒŒ ๋œ ๊ฒฝ์šฐ)

์Šค์Šค๋กœ ์ตœ์„ ์˜ ํŒ๋‹จ์„ ํ•˜์ž. ๊ณต๊ฐœ API๊ฐ€ ์›๋ž˜ ์˜๋„ํ–ˆ๋˜ ๋Œ€๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋ฐ”๊พธ๋Š” ์ž‘์—…์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž์ธต์ด ์žˆ๋‹ค๋ฉด, ์ˆ˜์ •์‚ฌํ•ญ์ด ์—„๋ฐ€ํžˆ ๋”ฐ์ง€์ž๋ฉด ์ˆ˜๋ฒ„์ „ ๋ฐฐํฌ๋กœ ์—ฌ๊ฒจ์ ธ์•ผ ํ•œ๋‹ค ํ•˜๋”๋ผ๋„, ์ฃผ๋ฒ„์ „ ๋ฐฐํฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์ผ ๊ฒƒ์ด๋‹ค. ์œ ์˜์  ๋ฒ„์ „์€ ์–ด๋–ป๊ฒŒ ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ๋ฐ”๋€Œ๋Š”์ง€ ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์ „๋ถ€์ž„์„ ์žŠ์ง€ ๋ง์ž. ๋ณ€๊ฒฝ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ค‘์š”ํ•œ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋ฒ„์ „ ๋ฒˆํ˜ธ๋กœ ์ž˜ ์•Œ๋ฆด ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

๊ธฐ์กด์˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์—†์• ๋Š” ๊ฒƒ์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊ณผ์ •์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ผ๋ถ€๋ถ„์ด๋ฉฐ, ๋•Œ๋กœ๋Š” ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์ธ ์ผ์ด๊ธฐ๋„ ํ•˜๋‹ค. ๊ณต๊ฐœ API์˜ ์ผ๋ถ€๋ฅผ ์ œ๊ฑฐํ•˜๊ณ ์ž ํ•˜๋‹ค๋ฉด ๋‹ค์Œ์˜ ๋‘ ๊ฐ€์ง€ ์ผ์„ ํ•ด์•ผ ํ•œ๋‹ค: (1) ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์„œ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ณ€ํ™”๋ฅผ ์•Œ๋ฆฌ๋„๋ก ํ•œ๋‹ค. (2) ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์ œ๊ฑฐ๋  ๊ฑฐ๋ผ ํ‘œ์‹œ๋œ ์ƒˆ ๋ถ€๋ฒ„์ „์„ ์ ์ ˆํ•œ ์‹œ๊ธฐ์— ๋ฐฐํฌํ•œ๋‹ค. ์ƒˆ ์ฃผ๋ฒ„์ „์—์„œ ์™„์ „ํžˆ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „์—, ์ œ๊ฑฐ๋  ๊ฒƒ์ด๋ผ ํ‘œ์‹œํ•œ ๋ถ€๋ฒ„์ „ ๋ฐฐํฌ๋ฅผ ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ์ง„ํ–‰ํ•ด์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์›ํ™œํ•˜๊ฒŒ ์ƒˆ๋กœ์šด API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

์œ ์˜์  ๋ฒ„์ „(SemVer)์˜ ๋ฒ„์ „ ๋ฌธ์ž์—ด ๊ธธ์ด์— ์ œํ•œ์ด ์žˆ๋‚˜?

์—†์ง€๋งŒ, ์ž˜ ํŒ๋‹จ ํ•˜์ž. ์˜ˆ๋ฅผ ๋“ค์–ด, 255์ž ๋ฒ„์ „ ๋ฌธ์ž์—ด์€ ์•„๋งˆ๋„ ์ง€๋‚˜์น˜๊ฒŒ ๊ธด ๊ฒƒ์ผ ๊ฒƒ์ด๋‹ค. ๋˜, ๋ช‡๋ช‡ ์‹œ์Šคํ…œ์€ ๋ฌธ์ž์—ด ๊ธธ์ด์— ๋Œ€ํ•ด ๋‚˜๋ฆ„์˜ ์ œํ•œ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ž‘์„ฑ์ž

์œ ์˜์  ๋ฒ„์ „ ๋ช…์„ธ๋Š” ๊ทธ๋ผ๋ฐ”ํƒ€(Gravatars)์˜ ์ฐฝ์‹œ์ž์ด์ž ๊นƒํ—™(GitHub)์˜ ๊ณต๋™์ฐฝ์—…์ž์ธ ํ†ฐ ํ”„๋ ˆ์Šคํ„ด-๋ฒ ๋ฅด๋„ˆ(Tom Preston-Werner)๊ฐ€ ์ž‘์„ฑํ–ˆ๋‹ค.

์›๋ฌธ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๋‚จ๊ธฐ๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์›๋ฌธ ๊นƒํ—™์— ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ๊ธฐ ๋ฐ”๋ž€๋‹ค.

ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์€ ๊น€๋Œ€ํ˜„์ด ํ–ˆ๊ณ , ๊ด€๋ จํ•œ ์˜๊ฒฌ์€ ํ•œ๊ตญ์–ดํŒ ๊นƒํ—™์— ์ด์Šˆ๋กœ ๋‚จ๊ฒจ์ฃผ๊ธฐ ๋ฐ”๋ž€๋‹ค.

๋ผ์ด์„ ์Šค

Creative Commons - CC BY 3.0

http://creativecommons.org/licenses/by/3.0/

Last updated on