https://youtu.be/NWWVZR-ZIMo?si=wKgqmRXGz05Revf9
1. 제품 소프트웨어 패키징
1-1. 패키징의 이해
- 제품 소프트웨어를 고객에게 전달하기 위한 형태로 묶어내는 것이 패키징임
- 패키징에는 설치와 사용이 필요한 내용을 포함한 매뉴얼이 포함되어야 함
- 버전 관리를 위한 패키징을 수행해야 함
- 패키징은 사용자 편의성을 중심으로 이루어져야 함
- 패키징 단계의 모든 부분은 사용자 중심으로 진행되어야 함
1-2. 소프트웨어 빌드와 패키징
- 소프트웨어 빌드는 소스 코드를 실행 가능한 제품 소프트웨어 단위로 변환하는 과정임
- 빌드 후에는 결과물에 대한 상세 확인이 필요함
- 소프트웨어 빌드는 자동화 도구를 이용하는 것이 일반적임
- 체크포인트에는 젠킨스와 그레이들이 있음
- 사용자 중심 패키징을 위해 사용자 실행 환경을 이해하고 고려해야 함
1-3. 패키징 절차와 릴리즈 노트
- 패키징 절차에는 기능 식별, 모듈화, 사용자 환경 분석, 패키징 적용 시험 등이 포함됨
- 기능 식별은 소프트웨어의 기능을 파악하는 과정임
- 모듈화는 소프트웨어의 유용성을 높이기 위해 모듈을 만드는 과정임
- 사용자 환경 분석은 패키징 적용 시험을 통해 환경과 맞는지 테스트하는 과정임
- (중요) 릴리즈 노트는 프로그램이나 소프트웨어의 업데이트 이력 등을 체계적으로 관리하는 것임
2. 소프트웨어 배포와 패키징 도구의 활용
2-1. 소프트웨어 배포에 필요한 정보 요소
- 소프트웨어 배포 시 필요한 정보 요소는 요구사항, 기초 정보, 영향도, 면책 조항, 연락 정보 등을 포함
- 영향도는 특정 변경, 버그, 업데이트, 삭제 등으로 인한 프로그램상의 프로세스 간 영향도를 설명
- 면책 조항은 기업이 소프트웨어를 무료로 사용하려면 특정 조항을 따라야 하는 것을 의미
- 연락 정보는 사용자나 비즈니스 관계자에게 문의하거나 연락할 수 있는 연락처를 포함
2-2. 릴리즈 노트 작성 절차
- 릴리즈 노트 작성 시, 모듈 식별, 정보 확인, 릴리즈 노트 개요 작성, 영향도 체크 등의 과정을 거침
- 이 과정은 릴리즈의 기존 정보 확인, 패키징 버전 작성을 포함
- 영향도 체크는 사용 수정에 따른 특정 기능이나 결과의 변환을 알려주는 것
- (중요) 예외 케이스 발생 시 추가 개선 항목이 나타날 수 있음
2-3. 패키징 도구의 활용과 저작권 보호
- 패키징 도구는 개발자가 직접 패키징 작업을 진행하지 않고, 보안 기능을 포함한 DRM을 활용
- (중요) 패키징 도구의 선택은 범용성에 지장을 주지 않아야 함
- 제품 소프트웨어 저작권 보호는 디지털 콘텐츠에 대한 배타적이고 독점적인 권리를 가짐
- 이는 인증을 거쳐서 비슷한 콘텐츠 복제에 제한을 두고, 돈을 내야 하고, 암호화가 되어야 함
3. 저작권 관리 시스템
3-1. 콘텐츠 제공자와 라이센스 관리
- 콘텐츠 제공자는 음악을 만들고, 클리어링 하우스에 라이센스를 등록함
- 소비자가 음악을 라이센스 요청하면, 클리어링 하우스가 라이센스 관리함
- 라이센스 관리에서 소비자에게 비용 안내 및 요금 청구를 함
- 음악 다운로드를 위한 라이센스 발급을 클리어링 하우스에 요청함
- (중요) 콘텐츠 분배자에게 라이센스를 다시 요청하면, 해당 콘텐츠를 배포함
3-2. 보안 기능 중심의 패키징
- 콘텐츠 암호화 및 보안 기능 요소에 초점을 둠
- 콘텐츠 암호화를 위한 기술과 파일 생성을 위한 암호화 알고리즘 적용을 설명함
- 콘텐츠 식별 기술을 통해 동영상과 콘텐츠의 동일성을 판단함
- 저작권 표현 정책 관리, 크랙 방지 기법 등도 설명함
- 투명성, 사용자 마킹 등을 통해 사용자 보호 및 서비스 투명성을 높임
3-3. 표준화와 통합의 중요성
- 다양한 기술 표준화로 통합 플랫폼화 진행 중임
- 투명성, 호환성 확보를 위해 범용성 확보 노력을 강조함
- 표준화와 통합을 통해 특정 도구나 환경에서만 적용되지 않도록 함
- 통합의 결과로 통합 가능해졌고, 투명성 확보를 위해 마킹이 중요함
- 사용자 보호 및 서비스 투명성을 높이기 위한 마킹이 필요함
00:01
제품 소프트웨어 패키징 같이 한번 공부해 보겠습니다. 난이도라든지 비중이 그렇게 높은 편은 아닙니다. 첫 번째 섹션으로 제품 소프트웨어 패키징에 대해서 같이 한번 보도록 하죠. 자 패키징이라는 거는 포장을 한다 라고 생각을 하시면 돼요. 개발이 완료된 제품 소프트웨어를 그러니까 소프트웨어를 제품 소프트웨어라고 칭하는 겁니다. 우리가 개발을 보통 이제 어떤 의뢰를 받거나 판매를 하기 위해서 만들기 때문에 제품이라는 표현을 써요 어쨌건 고객에게 전달하기 위한 형태로 묶어내는 거 패키징 요거를 제품 소프트웨어 패키징이라고 한다. 라는 거구요. 여기에는 설치와 또는 사용이 필요한 모든 내용을 포함하는 매뉴얼이 포함되어 있어야 된다.
00:49
사용 설명서죠 여기 포함이 되어 있어야 한다라는 거고, 그다음에 이 제품 소프트웨어는 차후에 패치를 하거나 업그레이드를 하기 위해서 버전 관리가 되어야 하기 때문에 버전 관리를 수행할 수 있도록 패키징을 한다. 이렇게 보시면 되겠습니다. 정리를 하자면 매뉴얼이 필요하고요. 모든 내용을 포함하는 그다음에 업그레이드나 패치가 가능하도록 해야 된다. 이 정도 보면 되겠죠. 내려가서 소프트웨어 패키징의 특징 앞에서 제가 제품을 뺐지만 앞에 제품이 붙었다고 생각하시면 돼요. 개발자가 아닌 사용자이므로 이용자는 사용자의 편의성을 중심으로 구성된다. 요게 굉장히 중요합니다. 패키징 단계의 모든 부분은 다 사용자 편의성 사용자 중심으로 진행돼요. 아래쪽에 보시면 사용자의 실행 환경을 이해하고 여러 가지 환경에서도 사용이 가능하도록 패키징을 한다라고 되어 있고요.
01:49
편의성을 위해서 지속적인 관리를 해줘야 된다고 되어 있어요. 다 사용자 편의성을 중심으로 쭉 생각해 주시면 돼요. 앞으로 나오는 모든 것들을 그다음에 제품 소프트웨어 패키징을 위한 모듈 빌드 순서 이런 거라고 보시면 됩니다. 아래쪽에 보시면은 소프트웨어 모듈 및 패키징하고 제가 밑줄 쳐놨죠 모듈화를 통해서 이런 것들을 용이하게 해야 한다라고 되어 있는데, 이거 우리가 앞에서 배웠던 내용이죠. 그리고 모듈 단위로 작업을 진행한다. 마찬가지예요. 모듈화를 한다는 뜻이죠. 이건 앞에서 우리가 배운 내용입니다. 자 넘어가서 계속 볼게요 다음은 소프트웨어 빌드 모듈화를 통해서 이제 소프트웨어 개발이 끝났고요. 빌드라는 게 그럼 뭐냐 소스 코드를 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정 또는 그 결과물 이걸 빌드라고 한다. 라는 거죠.
02:49
소스 코드가 실행 코드로 변환되는 컴파일 과정 이게 핵심이고요. 결과물에 대한 상세 확인이 필요하다 라고 되어 있어요. 상세 확인이라는 거는 결국에 정확하게 만들어졌는지 상세한 확인 검증 테스트 이런 것들을 해야 한다라는 거죠. 그리고 소프트웨어 빌드는 개발자가 아닌 자동화 도구를 이용하는 게 일반적입니다. 종류가 이렇게 있죠. 문제 나올 수 있으니까 체크를 하고요. 여기서 유명한 게 두 가지예요. 젠킨스랑 그레이들인데 젠킨스는 자바 언어 기반이고요. 그레이들은 그룹이 dsr 기반입니다. 물론 이쪽에 기타 여러 가지 특징도 나와 있지만 이게 가장 핵심이 되겠죠. 이렇게 서로 구분해서 기억을 해주시면, 될 것 같고요. 세 번째 사용자 중심 패키징 수행 이 개념이 계속해서 나올 거예요.
03:38
사용자 실행 환경에 이해 사용자 실행 환경을 우선 고려해서 패키징을 진행을 해야 된다. 여러 가지 실행 환경을 고려해야 하는 경우엔 패키징 작업을 여러 번 수행한다. 특정 실행 환경에서 필요한 패키징을 여러 번 한다는 얘기죠 다음 사용자 관점에서의 패키징 고려 사항 최소 수행 환경 최저 사양을 얘기하는 거예요. 쉽게 말해서 컴퓨터 최저 사양 그다음에 사용자가 직관적으로 확인할 수 있는 ui를 제공해야 되고 이 ui가 매뉴얼하고 동일해야 돼요. 그래야 매뉴얼을 보고 ui를 다룰 수 있을 테니까요? 그리고 하드웨어와 함께 적용되는 경우에는 매니지드 서비스 형태로 제공하는 게 좋다라고 되어 있는데, 그거는 아래쪽에 설명이 되어 있습니다. 설명이 문제로 나오진 않아요. 근데 매니지드 서비스라고만 써 있으면 좀 그러니까 제가 예시를 좀 들어 놓은 겁니다.
04:37
그다음 안정적인 배포가 가장 중요하다고 되어 있어요. 뭔가 문제가 생기면 예를 들어서 개발자들은 물론 개발자 입장에서도 오류가 생기면 안 되겠지만, 사용자 입장에서 문제가 생기면 사용자들은 할 수 있는 게 없어요. 건드리면, 더 문제만 커지죠 그렇기 때문에 안정적인 배포가 가장 중요합니다. 그리고 여러 가지 요구 반영을 위해서 항상 변경하거나 개선하는 관리를 고려해서 패키징을 해야 된다라고 되어 있어요. 모든 문장이 다 사용자 편익 사용자 중심 이렇게 연결이 되고 있습니다. 자 그다음 패키징을 수행하는 절차 프로세스에 대해서 나와 있어요. 제가 이렇게 빨간 줄로 밑줄을 이렇게 그어 놓고 이쪽은 회색으로 칠한 이유는 기능 식별과 모듈화는 앞에서 계속 배운 거예요. 이렇게 해서 소프트웨어를 개발하고 나서 그다음 단계가 패키징인데 보통 패키징을 전체 과정으로 본단 말이죠.
05:36
그렇기 때문에 이제 1번부터 2번까지 요 부분이 추가로 나와 있는 건데 복습한다는 개념으로 해서 기억을 해두시면 될 것 같아요. 그래서 3번부터 볼 거예요. 빌드 진행 자 빌드를 하기 위한 소스 코드와 결과물들을 준비한다 라고 되어 있어요. 자 그리고 이건 산출물을 얘기하는 거예요. 개발 단계별 산출물 뭐 이런 것들 빌드 도구의 사전 선택 확인 및 빌드 도구를 통한 빌드를 수행한다. 이거 앞에서 봤던 뭐 그레이들 젠킨스 뭐 이런 거 얘기하는 겁니다. 빌드를 수행한다는 거죠. 빌드 할 걸 갖다 놓고 빌드를 수행하세요. 뭐 이런 얘기예요. 다음에 사용자 환경 분석입니다. 최소 사용자 환경 방금 얘기했던 거죠. 사전에 정의를 하고요. 모듈 단위의 기능별 환경을 여러 방면으로 테스트해야 된다. 당연한 얘기죠 빌드를 했으면 여러 가지 분석을 통해서 테스트를 또 해봐야겠죠. 합친 거니까요? 다섯 번째는 패키징 적용 시험입니다.
06:36
사용자 환경과 같은 환경 유사한 환경 같은 환경 이런 느낌으로 패키징을 실제로 적용을 해보고 소프트웨어를 테스트해 보는 거예요. 제대로 설치가 되고 수행이 되는지 그래서 환경과 맞지 않는 게 있는지 불편한 부분이 있는지 사전에 체크를 한다. 테스트하겠다는 뜻이죠. 그다음에 문제점이 생기면 또는 사용자가 피드백을 주면 그 부분을 반영해서 다시 수정을 하고 재배포를 수행한다. 이 단계가 반복된다는 거죠. 이 정도 보고 내려가도록 하겠습니다. 다음 포인트는 릴리즈 노트입니다. 릴리즈 노트라는 게 크게 어려운 건 아니고요. 이력이라고 보시면 돼요. 프로그램이라든지. 소프트웨어 게임 이런 것들이 업데이트되면 업데이트 이력이 쌓이죠. 그런 거랑 똑같다고 보시면 됩니다. 회사가 제공하는 제품을 수정하거나 변경하거나 개선하는 일련의 작업 정보들 이런 정보들이 들어가 있는 게 릴리즈 노트다 이렇게 보시면 됩니다.
07:33
개발팀에서 직접 책임을 가지고 명확하고 정확하게 제공을 해야 된다. 개발팀에서 제공하는 정보니까 정확해야 된다. 이렇게 보시면 되겠습니다. 릴리즈 노트의 특징 나와 있는데, 핵심은 이것과 이거죠. 확실한 정보를 제공해야 돼요. 그래서 이 확실한 정보 제공을 통해서 이런 사양들을 또는 어떤 이제 수행 피드백을 얼마나 잘 준수하게 수행했는지를 확인할 수가 있고요. 그다음에 이 소프트웨어라든지 업데이트 내용을 공유할 수 있죠. 정확한 정보 제공을 통해서 그리고 이러한 정보를 체계적으로 관리를 해야 해요. 나중에 이런 소프트웨어가 어떻게 변화가 될지 모르기 때문에 항상 기존 정보는 문서화해야 됩니다. 이렇게 릴리즈 노트의 특징 확실한 정보를 제공한다. 이 기반으로 여러 가지 뻗어나가는 갈래가 있다. 정도로 넘어가면 될 것 같고요.
08:29
릴리즈 노트를 작성하는데 특별한 표준 형식은 없다고 되어 있어요. 다만 배포되는 정보의 유형 뭐 요구사항 기초해서 공통적으로 아래에 이런 내용들은 포함이 되어 있어야 되지 않겠냐 이렇게 되어 있는 겁니다. 여기서 뭐 특별한 건 없을 것 같은데, 굳이 보자면 이 영향도라는 개념하고 그다음에 면책 조항과 연락 정보 요 정도가 될 것 같아요. 나머지는 읽어보시면 좋을 것 같고, 사용자 영향도 소프트웨어 지원 영향도 보면은 버전 변경에 따른 여러 가지 프로그램상의 프로세스 간의 영향도를 기술해야 된다라고 써 있어요. 영향도라는 거는 어떤 변경이라든지. 버그 업데이트 또는 삭제 이런 수정 사항 때문에 특정 기능이라든지.
09:27
특정 결과가 바뀔 수 있다라는 거를 알려주는 거예요. 그걸 영향을 준다. 그래서 영양도라고 보통 이야기를 한다라는 거고요. 영양도라는 거는 원래 이런 프로그램인데 버그를 수정하거나 기능을 추가함으로써 어떤 특정 기능이 바뀌었습니다. 뭐 이런 것들을 알려준다고 생각하시면 돼요. 영향을 끼쳤습니다. 뭐 그런 얘기죠 자 그 다음에 면책 조항과 연락 정보 연락 정보는 기술 지원 도움을 받거나 아니면은 뭐 여러 가지 문의를 할 수 있는 연락처를 반드시 집어넣어야 돼요. 그래서 소프트웨어를 사용하면서 문제가 있거나 또는 건의를 해야 할 게 있거나 뭐 여러 가지 비즈니스 상에서 연락이 필요하다라고 하면 연락을 바로바로 할 수 있게끔 정보가 필요하다는 거고, 면책 조항이라는 거는 오른쪽 보시면 여기서 핵심은 이거예요.
10:18
불법 복제 방지 쉽게 말하면 이거 저거 해선 안 된다. 뭐 이런 게 써 있는 겁니다. 예를 들어서 프리웨어라고 하더래도 이건 개인한테 무료입니다. 기업이 쓰려면 뭐 예를 들어서 아래쪽에 있는 연락처를 통해서 라이센스 요청을 하시기 바랍니다. 뭐 이런 식으로 적혀있는 거예요. 그런 부분을 면책 조항이라고 보통 이야기를 합니다. 요 정도가 인제 들어가야 된다. 이렇게 보시면 될 것 같구요. 자 이번에는 릴리즈 노트 추가 작성 및 개선사항 발생의 예외 케이스라고 되어 있어요. 릴리즈 노트에 항목이 추가될 수 있다고 써있죠. 추가 항목이 작성되어야 한다고도 써있고 예외 케이스 발생에 따라서 추가로 개선 항목이 나타날 수 있다. 이 항목 추가해야겠는데라는 생각이 들면 추가할 수 있다는 거죠.
11:04
그다음에 아래쪽도 마찬가지죠 베타 버전 또는 긴급 버그 수정 자체 기능 향상 특수한 케이스가 발생할 수 있는데, 이러한 경우도 예외가 발생하지 않아도요 추가 항목이 작성되어야 한다고 써있죠. 그러니까 추가 항목은 무조건 작성할 수 있는 거예요. 문제가 생겼다고 하거나 아니면 뭔가 추가할 필요가 생겼을 때는 언제든지 추가할 수 있는 구조를 가졌다 이렇게 보시면 되겠습니다. 릴리즈 노트 작성 절차 나와 있습니다. 모듈 식별 나와 있는데, 이거 앞이랑 똑같은 내용이에요. 또 그래서 제가 아예 회색 처리를 해놨죠 자 이거는 뭐 인제 프로그램을 개발했다라는 개념으로 보시면 되고요. 그다음이 중요한 거예요. 릴리즈 정보확인 릴리즈의 기존 정보를 확인을 하고요. 최초 패키징 버전 작성을 할 때는 버전 번호와 초기 릴리즈 날짜를 확인해야 되고요.
12:01
그다음에 그다음부터 매번 변경하는 또는 수정하는 업그레이드하는 패키징 수행을 할 때는 진행 날짜와 릴리즈 노트에 갱신 버전을 확인해야 된다라고 써 있어요. 확인해야 되는 내용이 두 개가 다르죠 그거 확인해 주시면 될 것 같구요. 이렇게 정보를 확인한 다음에 릴리즈 노트 개요를 작성합니다. 변경 사항에 대한 사항을 간략하게 메모하는 거 말 그대로 개요죠 요걸 작성을 하고요. 그다음에 영향도를 체크해요. 앞에서 방금 영향도 이야기를 했죠. 어쨌든 사용을 하고 있는 걸 내가 수정을 하는 거기 때문에 뭐 쉽게 말해서 미용실에서 머리를 감을 때 물 온도를 조금 높이면 손님한테 이야기를 해주잖아요. 물이 약간 뜨거울 수 있습니다. 뜨거우면 말씀하세요. 뭐 이런 식으로 그게 영향도예요. 이거를 알려주는 겁니다. 뭔가 변했을 때 발생된 버그의 설명 개선한 릴리즈 항목 이런 것들을 체크해 줘야 된다.
12:55
버그 발견을 위한 재현 테스트 및 재현 환경 그러니까 이런 이런 상황에서 이렇게 진행을 했을 때 이런 문제가 생겼습니다. 뭐 이런 걸 얘기하는 거죠. 이런 영향도를 체크를 해줘야 되고요. 그래서 릴리즈 노트 개요와 그다음에 영향도 체크한 이 두 개를 바탕으로 정식으로 릴리즈 노트를 작성하는 거예요. 이전 정보에 뭐 이런 거 이런 거 이런 거 방금 이야기했죠. 상세하게 이런 것들을 이제 기술을 한다라고 되어 있습니다. 다음으로, 뭐 추가 개선 항목 식별 나와 있는데, 추가로 인제 추가할 항목들이 있으면은 이제 그걸 추가해서 노트를 작성한다. 뭐 그런 얘기죠 어려운 내용은 아니구요. 자 이제 패키징을 이런 식으로 한다. 릴리즈 노트가 이런 거다라고 설명을 드렸고요. 이제 이거를 어떻게 할 거냐 실제 패키징을 뭘로 할 거냐 그겁니다. 세 번째 포인트 패키징 도구 활용 패키징은 개발자가 직접 하는 게 아니라 도구를 활용합니다.
13:53
패키징 도구가 뭐냐 패키징 작업 진행 및 안정적 유통을 지원하는 도구라고 되어 있어요. 안정적 유통이 뭔지는 아래쪽에 설명이 되어 있죠. 질적 재산권을 보호해주는 보안 기능을 포함을 해야 된다 라고 되어 있습니다. 요게 drm이라는 거예요. 디지털 저작권 관리 기술의 약자입니다. 어쨌든 이 정도 되고요. 사용자에게 배포되는 소프트웨어기 때문에 내부 콘텐츠에 대한 암호화 보안이죠. 보안을 고려를 해야 된다라고 되어 있어요. 사용자 입장에서 불편해질 수 있는 문제를 고려해서 이게 무슨 얘기냐면 보안을 많이 신경 쓸수록 사용자는 귀찮아질 수밖에 없어요. 우리가 비밀번호 이중으로 3중으로 입력할 때 좀 불편하잖아요. 그런 거랑 비슷한 겁니다. 그래서 최대한 효율적으로 적용할 수 있게끔 해야되고요. 그다음에는 알고리즘은 이 알고리즘을 패키징 알고리즘을 얘기하는 거예요. 특별히 종류가 많거나 종류를 봐야 되는 건 아니고요.
14:48
어쨌든 이런 패키징 도구 패키징 알고리즘을 적절하게 선택해서 범용성에 지장이 없도록 해야 된다. 이 정도까지 이 범용성 체크하는 이유가 또 뭘까요? 패키징 도구로 만든 이 소프트웨어 패키징 소프트웨어 패키지 또는 매뉴얼 이런 것들 사용자 입장에서 만들어야 된다고 했었죠. 그러니까 범용성도 체크를 해줘야 되는 거죠. 넘어가서 제품 소프트웨어 저작권 보호 우리 저작권 많이 들어봤죠 저작권이 뭔지 간단하게 적어놨습니다. 배타적 독점적 권리 어떤 창작물이나 저작물에 대해서 배타적이고 독점적인 권리를 가진다 그래서 디지털 저작권이면 디지털 콘텐츠에 대한 저작권이겠죠. 디지털콘텐츠는 예를 들어 뭐 사진이라든지.
15:40
그런 거 보면은 알겠지만, 복제가 아주 쉬워요 그렇기 때문에 복제가 용이한 저작물에 대해서 불법 복제나 불법 배포 등을 막기 위해서 기술적으로 그런 것들을 막는 방법 요거를 이제 drm이라고 한다는 뜻이에요. 문서 파일 말고도 여러 가지 다양한 분야에 적용할 수 있어요. 우리가 그래서 ebook 같은 경우도 로그인을 해야 볼 수 있고 뭐 그런 것들이 요런 것들이 적용된 겁니다. 저작권 보호 기술은 다음과 같은 특성을 가진다라고 되어 있습니다. 인가를 거쳐서 인증을 거쳐서 뭐 비슷한 뜻이에요. 콘텐츠 복제에 제한적 허용을 한다. 그러니까 아무나 할 수 없게끔 한다는 뜻이죠. 클리어링 하우스를 통해서 요금을 부과한다. 이게 뭔지는 이따가 나올 거예요. 보안 기능 고려를 위해서 업무 규칙과 암호를 함께 패키징을 해야 된다. 암호화를 해야 된다라고 생각하시면 됩니다. 이 부분은 인증을 받아야 됩니다. 돈을 내야 됩니다. 그다음에 암호화가 되어야 합니다. 뭐 이런 뜻이죠.
16:36
이런 것들이 있어야 된다라는 거죠. 자 그래서 dim의 구성 요소를 좀 볼 겁니다. 일단 뭐 여러 가지 쭉쭉 서있는데, 아래쪽에 설명이 나와 있으니까 이걸 같이 봐야 돼요. 자 이렇게 그림을 보면 그림 자체가 그렇게 어려운 내용은 아닙니다. 아래쪽에 여러 가지 설명이 되어 있죠. 일단 콘텐츠 제공자라고 써 있죠. 예를 들어서 음악 음악을 만들었다고 생각을 해볼까요? 그래서 음악가가 음악을 만들어서 콘텐츠 분배자한테 등록을 하는 거예요. 그리고 클리어링 하우스에 이 음악에 대한 라이센스를 별도로 등록합니다. 이 음악은 이제 제 겁니다. 이렇게 이 상태에서 소비자가 어 이 음악 듣고 싶어요. 하고 라이센스를 요청해요. 구매를 하고 싶어요라는 뜻이에요.
17:31
라이센스 요청이라는 뜻은 자 그러면 얘는 일단은 콘텐츠는 갖고 있지만 라이센스 관리는 하지 않는단 말이에요. 라이센스 관리는 어디서 하냐면 클리어링 하우스에서 하는 거예요. 방금 봤더니, 여기요 여기에서 라이센스 별 권한이 있겠죠. 뭐 예를 들어서 뭐가 있을까요? 1곡 1번만 들을 수 있게끔 한다든지 평생 소장할 수 있게 한다든지 일주일 동안 소장할 수 있게 한다든지 여러 가지 요금 정책이 있겠죠. 그걸 얘기하는 겁니다. 그래서 요청에 따른 이 라이센스에 대해서 뭐 정보를 주고받고 교류를 하는 거죠. 그럼 이제 비용이라든지. 그런 부분에 대해서 안내가 나가겠죠. 그럼 소비자가 해당 요금을 지불을 합니다. 그러면 클리어링 하우스가 넌 이제 음악을 다운받을 수 있어요. 라고 라이센스 발급을 해주는 거예요. 음악을 다운받을 수 있는 라이센스를 자 그 라이센스를 이 콘텐츠 분배자한테 다시 요청을 하면 이 사람은 콘텐츠를 보내주는 거죠.
18:29
소비자 입장에서는 다운로드를 받는 거고요. 이런 식의 흐름이 저작권 관리 시스템 안에서 이런 식의 흐름이 디알엠에서 이루어진다 라고 보시면 되겠습니다. 이 순서를 뭐 물어보고 그러진 않는데 특별하게 어려운 개념은 아니다. 라는 얘기죠 요금을 지불하는 거 라이센스를 요청하는 거 라이센스를 등록하는 거 라이센스와 별개로 콘텐츠를 등록하는 거 이렇게 구분을 할 수 있으면 될 것 같습니다. 자 넘어가서요 보안 기능 중심의 패키징 도구 기술 및 활용이라고 되어 있어요. 뭐 말 어려워 꽤 나와 있지만 중요한 건 이렇게 빨간 줄 친 이 부분입니다. 암호화 또는 보안 기능 요소 중심 기술 요소 이런 것들을 정확하게 이해하고 있어야 된다라고 써있구요. 여기 항목들이 쭉 나와 있죠. 그렇게 어려운 건 몇 개 없어요. 암호화는 말 그대로 암호화구요. 키 관리라는 거는 우리가 보통 시리얼 키라고도 하는데 이 콘텐츠 자체를 암호화하게 되면 그 암호화를 한 키라는 값이 나와요.
19:28
키 값이라고 보통 이야기를 하는데 이 키 값을 별도의 콘텐츠마다 따로 저장을 해서 배포를 합니다. 그래서 이 키를 바탕으로 우리가 복제 여부를 판단하고 그렇게 할 수 있거든요. 물론 우리 키가 눈에 보이진 않지만 자 그렇구요. 세 번째 암호화 파일 생성되어 있죠. 콘텐츠를 암호화하기 위한 기술이라고 되어 있는데, 우리가 콘텐츠를 패키징하면서 암호화를 고려해야 된다고 했었죠. 그렇기 때문에 여기 영어로 패키지라고 써있는 거예요. 패키저가 암호화 파일을 생성하거나 아니면 암호화된 알고리즘을 적용을 시켜주는 그 역할을 합니다. 다음은 식별 기술입니다. 콘텐츠에 대한 식별 체계가 무슨 뜻이냐면 우리가 예를 들어서 영상이라든지. 음악이라든지. 그런 걸 눈으로 보고 귀로 듣고 이렇게 하는 거는 그냥 보는 거고요. 이 라이센스 관리를 하려면 그게 어떤 동영상들과 또는 어떤 콘텐츠와 동일한 부분이 있다.
20:27
이런 것들을 판단해야 되죠. 이거를 식별 기술이라고 이야기하는 거예요. 뭐 영상을 예를 들어서 2배속을 한다고 해도 아니면 영상의 일부분을 가려도 어떤 영상하고 이 영상이 같은 영상이다. 이런 것들을 판단할 수 있는 이유가 이 식별 기술 때문입니다. 그다음은 저작권 표현 이건 뭐 어려운 거 아니구요. 정책 관리도 방금 이야기했었죠. 음악 들을 때도 잠깐 듣는 건지 일주일인지 평생 소장인지 여러 가지 이런 느낌이고요. 자 그다음에 아래에 크랙 방지는 크랙에 의한 크랙이라는 게 예를 들어서 인증을 안 받게끔 할 수 있는 그런 파일이라던지 그런 기법 그런 것들을 이야기하거든요. 그거를 방지한다라는 거고요. 인증은 우리가 로그인을 한다든지 결제를 한다든지 해서 받을 수 있는 인가 이런 것들을 인증이라고 이야기를 해요. 요정도 보면 되겠습니다.
21:21
마지막으로, 패키징 도구 적용 관련 기술적 동향이라고 되어 있어요. 자 계속 발전을 하고 있겠죠. 이것도 제공 업체에 의해서 개발이 되는데 각종 기술들이 표준화를 통해서 통합 플랫폼화되고 있다라고 써있습니다. 특정 도구나 환경에서만 적용되지 않도록 범용성을 확보하고 호환성을 위해서 표준화 적용에 노력을 하고 있어요. 그렇기 때문에 통합이 가능했다. 이렇게 보시면 되겠습니다. 그리고 제가 가운데 투명한이라고 써 있는 부분에 마킹을 해놨는데요. 투명한 접속 투명한 이용 예 요렇게 많이 써 있는 게 이 투명성이라는 개념이 적용이 되는 거거든요. 지금 당장 언급할 부분은 아니지만, 이 투명성이라는 개념이 나중에 좀 중요하게 나옵니다. 그래서 일단은 이런 단어가 있었다는 거를 한번 강조하기 위해서 제가 마킹을 해놨어요. 이거는 조금 뒤에 자세하게 다루도록 하겠습니다.
'이기적영진닷컴 정보처리기사 필기강의 > 소프트웨어 개발' 카테고리의 다른 글
[정보처리기사 올인원] 2-3-3.제품 소프트웨어 버전 관리 (0) | 2025.06.26 |
---|---|
[정보처리기사 올인원] 2-3-2.제품 소프트웨어 매뉴얼 작성 (0) | 2025.06.26 |
[정보처리기사 올인원] 2-2-3.연계 모듈 구현 (0) | 2025.06.26 |
[정보처리기사_환콤] 2-2-2.연계 메커니즘 구성 (0) | 2025.06.26 |
[정보처리기사 올인원] 2-2-1.연계 데이터 구성 (0) | 2025.06.26 |