기범_Alex
beom's 기술저장소
기범_Alex
전체 방문자
오늘
어제
  • 분류 전체보기 (13)
    • Computer-Science (4)
      • 네트워크 (3)
      • 자료구조 (1)
    • Programming (4)
      • Java (2)
      • Spring (1)
      • IDE (1)
    • Database (3)
      • InfluxDB (3)
    • ETC (1)
    • 단순 끄적임.. (1)

블로그 메뉴

  • 🏠 홈
  • 💻 Github
  • 🖋️ 방명록

인기 글

최근 글

hELLO · Designed By 정상우.
기범_Alex

beom's 기술저장소

Spring Framework 6.0 출시가 임박..!?
단순 끄적임..

Spring Framework 6.0 출시가 임박..!?

2022. 10. 14. 13:08
📢 해당 카테고리의 글은 개인적인 궁금증을 좀 더 편하게 작성해보며, 글 작성 능력을 길러보기 위한 카테고리입니다

 

Spring Framework 6.0이 RC1로 간다는 소식을 아래를 통해 접하게 되었다.

 

https://spring.io/blog/2022/10/12/spring-framework-6-0-goes-rc1

 

Spring Framework 6.0 goes RC1

<p>Dear Spring community,</p> <p>It is my pleasure to announce that a feature-complete Spring Framework 6.0 release candidate is <a href="https://repo.spring.io/">available</a> now! We are expecting a further release candidate in time for the first Spring

spring.io

 

RC 1이 뭐지?

Spring 5점 대도 잘 모르는데 벌써 6.0이라니.. 근데 저 RC 1은 뭘까?

소프트웨어 배포 생명주기는 아래와 같은 순서로 이루어져 있다.

https://ko.wikipedia.org/wiki/소프트웨어_배포_생명_주기

 

RC는 Release candidate 단계로 마지막 제품이 될 가능성이 있는 시험판(Beta)으로, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미한다고 한다.

즉, 정식 출시가 임박했다는 의미이다.

 

아래 spring-framework 릴리즈 버전들을 보면 M(Mileston), RC(Release Candidate), GA(General Availability) 등이 있다.

https://github.com/spring-projects/spring-framework/releases

 

Releases · spring-projects/spring-framework

Spring Framework. Contribute to spring-projects/spring-framework development by creating an account on GitHub.

github.com

 

버전 요약 설명
Mx (ex.M1, M6) : Mileston 특정한 집합의 기능이 완성되자마자 공개한 버전 주요 기능 및 버그를 수정하는 단계로 불안정한 단계라고 볼 수 있다
RCx (ex. RC1) : Release Candidate 특별한 큰 버그가 없는 한 출시 준비 완료 버전 (정식 출시 임박) Preview release 버전이라고 불릴 정도로 마지막 제품이 될 가능성이 있는 최종 베타 버전이다
GA : General Availability 정식 출시(Release)로써 다양한 매체를 통해 시장에서 이용 가능한 버전 대부분의 기능과 버그들이 안정화 된 버전으로써 필요한 모든 상업화 활동이 완료되어 시장에 배포되는 버전이다

 

 

 

그렇다면 Release 가 된 소프트웨어는 버저닝(Versioning)을 어떻게 할까?

 

가장 보편적인 규칙으로는 <major>.<minor>.<patch> 로 이루어진다

각각의 의미는 다음과 같다

버전 요약 설명
Major 기존 버전과 호환되지 않는 버전
(대규모 업데이트)
하위 버전과 호환되지 않을 정도로 대대적인 변화가 일어나는 경우이다
종종 들을 수 있는 "대규모 업데이트" 라는 것이 이에 해당된다
Minor 기존 버전과 호환되면서 새로운 기능이 추가된 버전
(기능 추가)
하위 버전과는 호환되는 버전으로 기존 기능들은 계속해서 사용할 수 있고, 새로운 기능이 추가될 때 minor 버전을 올린다
또한 기존 기능들의 사용 방법이 변경 되었을 경우에도 이에 해당된다
Patch 기존 버전과 호환되면서 버그를 수정한 버전
(버그 수정, 성능 향상, 리팩토링 등)
웹 개발을 예로, 기존 클라이언트 단이 알아차리지 못할 정도로 백엔드 단의 내부적인 코드만 수정되었을 경우 patch 버전을 올린다
또는 특정 기능의 버그를 fix하였을 때도 이에 해당된다

 

 

 

마무리

Spring 6.0 출시가 임박한다길래 충격 먹으면서 문득 versioning이 궁금해져서 이것저것 알아보았다

이것이 유명한 야크의 털 깎이인가..?

그래도 많은 시간을 할애하진 않았으니 평소에 궁금했었던 지식을 알게 돼서 뿌듯하다

다 쓰고 보니 또다시 충격이 몰려온다.. 기존 Spring도 제대로 사용해보지 못하고 있는데 기술은 날이 갈수록 발전하는구나..

 

 

자 다시 공부하러 가보자..!

 

 

 

💡 소중한 피드백 의견은 언제나 환영입니다 :)

🙋🏻‍♂️ Call me
Email : dev.gibeom@gmail.com
KakaoTalk : https://open.kakao.com/me/beomdrive
    기범_Alex
    기범_Alex
    🌱 글을 통해 배운 것을 정리하고 지식을 공유합니다 🌱

    티스토리툴바