• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 기타게임 소스자료실
    • 기타게임 소스자료실 기타 ()
    • [Go 공식문서 한국어 정리] ⑤1. Go 모듈 게시하기

      • 오뉴노노
      • 2026.05.30 - 03:21 8

    Go 모듈 게시하기
    https://go.dev/blog/publishing-go-modules

    Go 모듈을 작성하여 다른 프로젝트가 의존할 수 있도록 게시하는 방법을 설명합니다. 시맨틱 버저닝과 v0/v1 릴리스 전략을 다룹니다.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    ① 서론

    Go 모듈은 시맨틱 버저닝(Semantic Versioning)을 사용하여 버전을 관리합니다. go.mod의 require 지시문에는 각 의존성의 최소 버전이 명시되어 있으며, 이 버전은 Git 태그로 관리됩니다.

    ② 핵심 개념

    1. 시맨틱 버저닝: vMAJOR.MINOR.PATCH 형태입니다.
    2. MAJOR: 하위 호환 불가능한 API 변경 시 증가합니다.
    3. MINOR: 하위 호환 가능한 기능 추가 시 증가합니다.
    4. PATCH: 버그 수정 시 증가합니다.
    5. v0: 초기 불안정 버전으로, API 변경이 자유롭습니다.
    6. v1: 첫 안정 버전으로, 하위 호환성을 보장합니다.

    ③ 주요 내용 상세

    게시 절차
    $ go mod tidy
    $ go test ./...
    $ git add go.mod go.sum
    $ git commit -m "changes for v0.1.0"
    $ git tag v0.1.0
    $ git push origin v0.1.0

    모듈 프록시(기본값)를 사용하면 태그 푸시 후 몇 분 내에 사용 가능해집니다.

    v0 릴리스
    - 대부분의 프로젝트는 v0부터 시작합니다.
    - API가 안정되지 않았음을 의미합니다.
    - 기능 추가/변경 시 MINOR를, 버그 수정 시 PATCH를 증가시킵니다.
    - 예: v0.1.0 → v0.2.0(기능 추가) → v0.2.1(버그 수정)

    v1 릴리스
    - API가 완전히 안정되었다고 확신할 때 v1.0.0을 게시합니다.
    - v1 이후에는 하위 호환 불가능한 변경을 할 수 없습니다.
    - 새 기능은 MINOR로, 버그 수정은 PATCH로 릴리스합니다.
    - strings.Replace → strings.ReplaceAll 사례: 기존 Replace를 깨뜨리지 않고 ReplaceAll을 추가했습니다.

    주의사항
    - 버전 태그를 삭제하지 마세요. 의존하는 사람의 빌드가 깨질 수 있습니다.
    - 한 번 릴리스한 버전을 변경하거나 덮어쓰지 마세요.
    - 모듈 미러와 체크섬 데이터베이스가 버전의 암호학적 해시를 저장하여 재현 가능한 빌드를 보장합니다.
    - 지속적으로 새 버전을 태그해야 합니다. 그렇지 않으면 사용자가 오래된 버전을 받게 됩니다.

    의사 버전(Pseudo-version)
    - 태그가 없는 커밋에 대해 v0.0.0-타임스탬프-커밋해시 형태로 자동 생성됩니다.
    - 개발 중이나 긴급 패치 시 사용할 수 있지만, 안정적인 API를 보장하지 않습니다.
    - 가능한 한 명시적인 버전 태그를 사용하세요.

    ④ 실전 활용

    - LICENSE 파일을 포함하여 게시하세요.
    - go mod tidy로 불필요한 의존성을 제거한 후 게시하세요.
    - go test ./...로 모든 테스트가 통과하는지 확인하세요.
    - 버그나 보안 이슈가 발견되면 새 PATCH 버전을 릴리스하세요.
    - API가 불완전하더라도 하위 호환성을 깨는 것보다는 새 함수를 추가하세요.

    ⑤ 정리

    Go 모듈 게시는 간단합니다. go mod tidy와 go test로 준비한 후 git tag로 버전을 표시하고 푸시하면 됩니다. v0에서 API를 안정화한 후 v1.0.0을 게시하고, 이후에는 하위 호환성을 유지하며 MINOR/PATCH 버전을 올리세요. 시맨틱 버저닝을 따륍면 사용자가 안심하고 의존할 수 있습니다.

    #Go #Golang #Modules #모듈게시 #시맨틱버저닝 #SemanticVersioning #v0 #v1 #공식문서

    이 게시물을..
    N
    0
    0
    • [Go 공식문서 한국어 정리] ⑤4. Go 명령어 도구오뉴노노
    • 0
      오뉴노노

    오뉴노노 님의 최근 글

    [Rust 공식문서 한국어 정리] ⑭. Rustlings 11 2026 05.30 [Rust 공식문서 한국어 정리] ⑬. The Unstable Book 12 2026 05.30 [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook 9 2026 05.30 [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros 4 2026 05.30 [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns 12 2026 05.30

    오뉴노노 님의 최근 댓글

    ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • [Go 공식문서 한국어 정리] ⑤4. Go 명령어 도구
    • 목록
      view_headline
    × CLOSE
    전체 던파 5 뮤 18 천상비 프로젝트신루 5 아이온 18 어둠의전설 28 리니지2 7 크로노스 5 칼온라인 3 기타 306
    기본 (305) 제목 날짜 수정 조회 댓글 추천 비추
    기타 정렬 검색
    • 포인트 획득 공지
      4
      2026.04.24 - 19:48 4648 4
    • 링크 업로드 관련 공지
      8
      2026.03.25 - 21:56 4497 8
    • 인증메일 공지
      2
      2026.03.15 - 16:42 4397 2
    • 파일링크 및 인증메일 발송 관련 문의 안내
      8
      2026.03.14 - 22:03 4987 8
    • 포인트 게시판 안내
      2026.02.28 - 19:14 5774
    • 게임존 사이트 변경 사항 안내
      9
      2026.02.26 - 01:07 7592 9
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:16 849
    305
    기타
    피파온라인 3 클라이언트
    lyw01234 2026.05.30 - 23:17 40
    304
    기타
    [Rust 공식문서 한국어 정리] ⑭. Rustlings
    오뉴노노 2026.05.30 - 08:38 11
    303
    기타
    [Rust 공식문서 한국어 정리] ⑬. The Unstable Book
    오뉴노노 2026.05.30 - 08:38 12
    302
    기타
    [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook
    오뉴노노 2026.05.30 - 08:37 9
    301
    기타
    [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros
    오뉴노노 2026.05.30 - 08:36 4
    300
    기타
    [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns
    오뉴노노 2026.05.30 - 08:36 12
    299
    기타
    [Rust 공식문서 한국어 정리] ⑨. Rust API Guidelines
    오뉴노노 2026.05.30 - 08:35 12
    298
    기타
    [Rust 공식문서 한국어 정리] ⑧. The Rust Performance Book
    오뉴노노 2026.05.30 - 08:34 7
    297
    기타
    [Rust 공식문서 한국어 정리] ⑦. Asynchronous Programming in Rust
    오뉴노노 2026.05.30 - 08:34 6
    296
    기타
    [Rust 공식문서 한국어 정리] ⑥. The Rust Edition Guide
    오뉴노노 2026.05.30 - 08:33 9
    295
    기타
    [Rust 공식문서 한국어 정리] ⑤. The Cargo Book
    오뉴노노 2026.05.30 - 08:32 1
    294
    기타
    [Rust 공식문서 한국어 정리] ④. The Rustonomicon
    오뉴노노 2026.05.30 - 08:32
    293
    기타
    [Rust 공식문서 한국어 정리] ③. The Rust Reference
    오뉴노노 2026.05.30 - 08:31
    292
    기타
    [Rust 공식문서 한국어 정리] ②. Rust By Example
    오뉴노노 2026.05.30 - 08:31
    291
    기타
    [Rust 공식문서 한국어 정리] ①. The Rust Programming Language (The Book)
    오뉴노노 2026.05.30 - 08:30 2
    290
    기타
    [Go 공식문서 한국어 정리] ⑤7. Codewalk: Share Memory By Communicating
    오뉴노노 2026.05.30 - 03:29 7
    289
    기타
    [Go 공식문서 한국어 정리] ⑤6. Codewalk: 마르코프 체인 텍스트 생성
    오뉴노노 2026.05.30 - 03:26 2
    288
    기타
    [Go 공식문서 한국어 정리] ⑤5. Codewalk: Go의 일급 함수
    오뉴노노 2026.05.30 - 03:25 1
    287
    기타
    [Go 공식문서 한국어 정리] ⑤4. Go 명령어 도구
    오뉴노노 2026.05.30 - 03:24 2
    286
    기타
    [Go 공식문서 한국어 정리] ⑤3. 통합 테스트 커버리지 프로파일링
    오뉴노노 2026.05.30 - 03:23 1
    • 1 2 3 4 5 6 7 8 9 10 .. 16
    • / 16 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay