일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 옆집
- IOS
- om-4ti
- decidepolicyfor
- atlasian
- 알고리즘
- navigationaction
- 쿠키
- 2024
- Swift
- 빗버켓
- 애러처리
- swiftdata
- wwdc24\
- httpcookie
- 빝버켓
- 24
- 데이터장소
- JSON
- 데이터구조
- infoplist
- 스위프트
- xcode
- 연결
- BFS
- persistence
- WWDC
- scenedelegate
- dfs
- 콜드픽스
- Today
- Total
내가 iOS 개-발자라니.
패치(Patch), 핫픽스(Hotfix), 콜드픽스(Coldfix), 버그픽스(Bugfix)의 용어 차이 본문
개발자는 단어선택에 기로에 설 때가 많다. 특히 우리에게 익숙하지않은 단어를 혼동해서 사용할 때가 정말 많다.
에러가 발생하고 우리는 소스코드에 커밋을 하거나 배포를 할 때 아래 단어중에 선택할 때가 많다.
그러나 정작 차이점을 말해봐라 하면 못 말하는 개발자도 많다. 느낌대로 쓴것이다. 그래서 정리해봤다.
1. 패치(Patch)
2. 핫픽스(Hotfix)
3. 콜드픽스(Coldfix)
4. 버그픽스(Bugfix)
이 용어들은 종종 혼용되지만, 각각의 용어는 프로그래머가 해결책을 소프트웨어에 적용하는 방식에 따라 차이가 있다.
1. 패치(Patch)란 무엇인가?
초기의 컴퓨팅 시대에서 패치는 말 그대로 패치(땜빵)였다. 아날로그 컴퓨터는 천공 카드와 종이 테이프를 사용해 프로그램을 입력했고, 이 프로그램들은 기계가 계산을 수행하는 데 사용되었다. 이러한 "덱(deck)"은 구멍과 공간으로 이루어진 컴퓨터 소프트웨어였으며, 오늘날처럼 소프트웨어 공급업체들은 프로그램에 대한 변경이 필요했다.
이 업데이트는 더 작은 종이 테이프나 천공 카드로 배포되었으며, 수신자는 덱에서 잘못된 부분을 잘라내고 대체 세그먼트(조각)를 패치하여 삽입해야 했다. 그래서 "패치"라는 이름이 붙은 것이다.
물론, 패치 방법은 이후 디지털 방식으로 발전해 왔다. 오늘날의 컴퓨터에서 패치는 기존 소프트웨어 버전의 코드를 수정하거나 교체하는 방식으로, 공개된 실행 프로그램을 통해 업데이트된다.
패치는 종종 소프트웨어 패키지의 정식 릴리스 사이에 임시로 제공되는 수정 사항이다. 패치는 다음과 같은 크고 작은 문제를 해결하는 데 사용된다:
- 소프트웨어 버그 수정
- 새로운 드라이버 설치
- 새로운 보안 취약점 해결
- 소프트웨어 안정성 문제 해결
- 소프트웨어 업그레이드
일반적으로 패치는 자동 업데이트로, 수 킬로바이트에서 100메가바이트를 넘는 큰 패치까지 다양한 크기의 자체 설치 패키지로 제공된다. 그리고 윈도우 사용자들이 확인할 수 있듯이, 특정 패치(예: 패치 화요일에 제공되는 것들)의 설치는 중단이나 다운타임을 일으킬 수 있으며, 심지어 시스템을 한두 번 다시 시작해야 할 수도 있다.
대부분의 패치는 일정에 따라 배포된다. 제품의 새로운 버전 릴리스와 함께 추가 업데이트 및 수정 사항이 포함될 수 있다.
2. 핫픽스(Hotfix)란 무엇인가?
핫픽스도 패치와 마찬가지로 여러 문제를 해결할 수 있지만, 이는 "핫(hot)"한 시스템, 즉 실시간 시스템에 적용되어 문제를 다음과 같은 방식으로 해결한다:
- 즉시
- 시스템 다운타임이나 중단 없이
핫픽스는 QFE 업데이트라고도 불리며, 이는 "Quick Fix Engineering"의 약자로, 긴급성을 강조한다.
핫픽스는 보통 급하게 제작되며, 기존 개발 흐름을 벗어나 즉시 해결해야 할 문제가 있을 때 적용된다. 패치와 달리 핫픽스는 매우 특정한 문제를 다루며, 다음과 같은 경우가 있다:
- 새로운 기능 추가, 버그 또는 보안 수정
- 데이터베이스 스키마 변경
핫픽스는 패치와 달리 항상 공개적으로 배포되지 않을 수 있다.
예를 들어, 은행이 자사의 뱅킹 앱이 해킹되어 사용자 데이터(비밀번호, 사용자 이름, 계좌 정보 등)를 노출시킬 위험이 있다는 사실을 알게 되었다고 가정해보자. 해킹이 아직 발생하지 않았더라도 그 가능성만으로도 긴급한 대응이 필요하다. 보안 팀은 아마 모든 일을 중단하고, 최소한의 중단으로 취약점을 즉시 해결하는 핫픽스를 제공하기 위해 노력할 것이다.
3. 콜드픽스(Coldfix)란 무엇인가?
핫픽스가 시스템이나 하드웨어를 재시작하지 않고 신속하게 실행되는 것이라면, 콜드픽스는 그 반대이다. 콜드픽스를 구현하려면 사용자가 소프트웨어에서 로그아웃해야 하며, 수정이 적용되기 위해 전체 시스템을 재부팅해야 한다.
이러한 유형의 업데이트는 온라인 멀티플레이어 게임에서 흔히 볼 수 있으며, 수정 작업이 완료될 때까지 서비스가 중단될 것이라는 사전 공지가 며칠 전에 전달된다. 이러한 공지는 서비스가 다시 온라인 상태로 돌아올 예상 시간을 포함하며, 업데이트의 크기에 따라 몇 분에서 몇 시간까지 중단될 수 있다.
4. 버그픽스(Bugfix)란 무엇인가?
우리는 모두 버그라는 용어에 익숙하다. 버그는 시스템이나 소프트웨어 내에서 오류를 발생시키는 프로그래밍 결함 또는 결함이다. 이러한 버그를 제거하는 행위를 디버깅이라고 한다.
버그라는 귀여운 이름은 이러한 오류가 작은 문제처럼 들리게 만들지만, 개발자와 프로그래머는 다음과 같은 여러 유형의 일반적인 오류를 찾느라 많은 시간을 보낼 수 있다:
- 구문 오류나 타입 오류
- 오타 및 기타 간단한 오류
- 구현 오류
- 논리 오류
버그픽스는 프로그램 임시 수정(PTF)이라고도 불리며, 단순히 코드에 빠진 괄호를 추가하는 것만으로도 해결될 수 있다. 그러나 증상이 명확한 원인을 나타내지 않으면 수정 작업이 상당히 복잡해질 수 있다.
예를 들어, 원인과 증상이 멀리 떨어져 있을 수 있으며, 원인이 프로그램 코드에 있고 증상이 프로그램 실행 중에 나타날 수도 있다. 때로는 문제를 더 잘 이해하기 위해 증상을 재현하기 어려울 수도 있다. 그러나 근본 원인을 파악하고 버그를 수정한 후에도 새로운 버그가 발생하는 경우가 드물지 않다.
버그픽스는 핫픽스와 비슷하게 들리지만, 차이점은 수정의 타이밍과 실행 방식에 있다. 버그픽스는 일반적으로 제품의 프로덕션 또는 테스트 단계에서 발견되고 해결되며, 정상적인 릴리스 주기의 일환으로 처리된다. 반면 핫픽스는 제품이 릴리스되고 실시간으로 실행된 후에만 적용된다.
- 정리
종류 | 특징 | 한줄 정리 |
패치(Patch) | • 제품에 대한 임시 수정 • 종종 자동 업데이트로, 자체 설치 패키지로 제공됨 • 보통 계획됨; 소프트웨어 패키지의 정식 릴리스 사이에 제공 |
"하던거 하시다가 이거 좀 변경사항이 크니까 시간되면 업데이트하세요." |
핫픽스(Hotfix) | • 실시간 시스템, 활성 소프트웨어 또는 애플리케이션에 대한 수정 • 사용자에게 미치는 다운타임이 거의 없음 또는 전혀 없음 • 실시간 시스템을 즉시 수정 |
"아, 하던거 하고계시면 얼른 바로 고쳐드릴게요ㅠ." |
콜드픽스(Coldfix) | • 실시간 시스템, 활성 소프트웨어 또는 애플리케이션에 대한 수정 • 다운타임이나 시스템 재시작으로 인한 가시적인 영향 발생 • 사전에 계획되고 사용자에게 미리 공지됨 |
"아.. 진짜 죄송한데 앱끄고 저어어-기 멀리 휴가 좀 다녀오시겠어요? 고쳐놓을게요..ㅠㅠ" |
버그픽스(Bugfix) | • 개발 라이프사이클 중에 발견된 문제에 대한 수정, 릴리스 이전 • 사용자에게 미치는 영향이 없음 • 프로덕션 또는 테스트 단계에서 적용됨 |
"엥? 이게 뭐지? 올리기전에 고쳐놔야겠다." |
'그나저나 코딩 관련' 카테고리의 다른 글
Bitbucket: (Feat. Atlassian) 워크스페이스 추가하기(새로 만들기 X) (1) | 2024.08.30 |
---|