• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
패키지 매니저의 요건
 

패키지 매니저의 요건

on

  • 643 views

 

Statistics

Views

Total Views
643
Views on SlideShare
457
Embed Views
186

Actions

Likes
0
Downloads
2
Comments
0

3 Embeds 186

http://ohgyun.com 183
http://www.hanrss.com 2
http://ohgyun.tistory.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    패키지 매니저의 요건 패키지 매니저의 요건 Presentation Transcript

    • npm으로 알아보는패키지 매니저의 요건 안오균
    • 패키지 매니저란?• 패키지 매니저 = 패키지 매니지먼트 시스템• 설치/업데이트/설정/삭제를 자동화해주는 툴• 소프트웨어의 의존성이나 버전 정보를 관리
    • 패키지란?• 소프트웨어나 애플리케이션, 데이터의 배포판• 소프트웨어의 메타데이터도 포함 (이름, 설명, 버전, 벤더, 체크섬, 의존성 목록 등)
    • 패키지 매니저의 예• App store, Google play, Chrome web store, ...• Cygwin, MacPorts, Homebrew, ...• Maven, EasyInstall, RubyGems, npm, ...
    • 패키지 매니저의 요건• 패키지의 설치• 패키지의 의존성 관리• 의존하는 패키지의 버전 관리• 패키지의 검색• 패키지의 배포
    • 패키지의 설치• 패키지를 설치/삭제할 수 있는 방법 제시• 패키지 구조에 대한 컨벤션을 명확히 정의• 엔드 유저는 패키지 매니저의 사용법만 익히면 되도록
    • 패키지의 의존성 관리• 패키지 간 의존성 관리를 할 수 있어야 함• foo라는 패키지가 bar/baz에 의존적이면, 패키지 매니저가 이를 알고 함께 설치해야 함• 대부분 특정 버전에 의존적이므로, 호환 가능한 버전의 패키지가 설치되어야 함
    • 의존하는 패키지의 버전 관리• 의존하고 있는 패키지의 버전 관리가 용이해야 함• 어떤 사용자는 현재 사용하고 있는 안정화 버전을, 다른 사용자는 항상 최신 버전을 유지하려 함• 사용자가 원하는 방법을 사용할 수 있어야 함
    • 패키지의 검색• 새로운 패키지 검색이 용이해야 함• 다른 패키지가 이미 해결한 문제라 생각된다면, 패키지 매니저에서 해당 목록을 검색할 수 있어야 함
    • 패키지의 배포• 패키지 제작자가 패키지를 배포할 수 있는 도구 제시• 사용자가 쉽게 찾아낼 수 있는 곳에 배포되어야 함
    • npm의 예: 설치$ npm install foo• 모듈은 node_modules/foo 디렉토리에 설치• 사용자는 고민없이 npm install <module>을 실행
    • npm의 예: 의존성 관리• package.json 의 dependencies 항목에 의존성 관리• 의존 모듈을 자동으로 설치• 의존하는 패키지의 버전을 명시할 수 있음
    • npm의 예: 검색$ npm search <keyword>• 키워드로 모듈 목록 검색 가능• package.json 의 keywords 항목에서 검색용 키워드를 등록할 수 있음$ npm info <module>• 모듈의 상세 정보 조회 가능
    • npm의 예: 배포$ npm publish <module>• publish 명령어로 npm registry 에 배포 가능• 배포한 모듈은 npm install <module> 로 설치 가능• npm search <keyword> 로 검색 대상이 됨
    • 참고• Package Management System• List of Software Package Management System• The State of JavaScript Package Management