231005 TIL #208 정처기 실기 #18 제품 소프트웨어 패키징

김춘복·2023년 10월 5일
0

TIL : Today I Learned

목록 보기
208/571

Today I Learned

마지막 내용을 정리하고 하루종일 문제를 풀었다.


제품 소프트웨어 패키징

소프트웨어 패키징

모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것

릴리즈 노트 작성 항목 - A

  • 릴리즈노트 : SW 개발 과정에서 정리된 릴리즈 정보를 최종사용자인 고객과 공유하기 위한 문서

  • Header(머릿말) - A : 릴리즈노트 이름, SW 이름, 릴리즈 버전, 날짜 등을 포함

  • 그외 개요, 문제 요약, 영향도, 면책조항 연락처 등

저작권

저작물에 대해 창작자가 가지는 배타적 독점적 권리.
타인의 침해를 받지 않을 고유 권한

디지털 저작권 관리(DRM)

저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 하는 디지털 콘텐츠 관리 및 보호 기술

패키저(Packager) - B

DRM의 구성요소 중 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 기능

DRM에 사용되는 기술 - B

  • 크랙방지, 정책 관리, 암호화, 키 관리, 식별 기술

SW 설치 메뉴얼 - B

사용자가 SW를 설치하는 과정에서 필요한 내용을 기록한 설명서
사용자를 기준으로 작성

형상관리(SCM) - A

개발 과정에서 SW의 변경사항을 관리하기 위해 개발된 일련의 활동
여러 버전들의 변경사항을 관리.
Git, SVN, CVS가 대표적

형상 관리 기능 - A

  • 형상 식별, 버전 제어, 형상 통제, 형상 감사, 형상 기록

  • 형상 통제 : 형상 항목에 대한 변경 요구를 검토해 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업

  • Check-In(체크인) - B: 버전관리 항목 중 체크아웃 한 파일의 수정을 완료한 후 저장소의 파일을 새로운 버전의 파일로 갱신하는 것.

SW 버전 관리 도구

  • 공유 폴더 방식
    버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리되는 방식
    파일의 변경사항을 DB에 기록

  • 클라이언트/서버 방식
    버전 관리 자료가 서버에 저장되어 관리되는 방식
    모든 버전 관리는 서버에서 수행
    CVS, SVN이 여기에 속한다.

  • 분산 저장소 방식 - B
    하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식
    개발자별로 원격 저장소의 자료를 자신의 로컬 저장소로 복사해 작업한 후 변경 내용을 로컬 저장소에 우선 반영한 다음 이를 원격 저장소에 반영.
    로컬에서 버전관리가 가능해 원격 저장소에 문제가 생겨도 로컬로 작업 가능
    Git이 여기에 해당.

Subversion - C

아파치 SW 재단에서 2000년에 발표한 CVS의 단점을 개선한 SW 버전 관리 도구

Git - C

리누스 토발즈가 2005년 리눅스 커널 개발에 사용할 관리도구로 개발하고, 주니오 하마노에 의해 유지보수된다.
지역저장소와 원격저장소가 존재한다.

  • 명령어
    add - 작업 내역을 지역 저장소에 저장하기 위해 스테이징 영역에 추가
    commit - 작업 내역을 지역 저장소에 저장
    branch - 새로운 브랜치를 생성
    checkout - 지정한 브랜치로 이동
    init - 지역 저장소를 생성
    push - 로컬 -> 원격으로 반영
    fetch - 원격의 변경 이력을 지역 저장소로 가져와 반영
    clone - 원격 저장소의 전체 내용을 지역 저장소로 복제

빌드 자동화 도구 - B

빌드를 포함해 테스트 및 배로픞 자동화하는 도구

  • 종류 : Jenkins, Gradle, Ant, Maven, Make

Jenkins

Java 기반 오픈소스.
서블릿 컨테이너에서 실행되는 서버 기반 도구
가장 많이 사용됨
SVN, Git등 대부분의 형상관리 도구와 연동이 가능

Gradle - B

Groovy를 기반으로 한 오픈소스 형태의 자동화 도구
안드로이드 앱 개발 환경에서 사용
Java, C/C++, Python 등의 언어도 빌드 가능
DSL을 스크립트 언어로 사용

profile
Backend Dev / Data Engineer

0개의 댓글