anchor.diff:  
     ### Feature Packages
     
  -  ***@angular/core*** - 모든 어플리케이션에 필요한 프레임워크의 치명적인 런타임 요소.
  +  ***@angular/core*** - 모든 어플리케이션에 필요한 프레임워크의 핵심적인 런타임 요소.
     데코레이터, `컴포넌트`, `디렉티브`, 의존성 삽입, 그리고 컴포넌트 라이프사이클 후크에 관한 모든 메타데이터를 포함합니다.
     
     ***@angular/core*** - Critical runtime parts of the framework needed by every application. 
     Includes all metadata decorators, `Component`, `Directive`,  dependency injection, and the component lifecycle hooks.
     
  -  ***@angular/common*** - Angular팀이 제공하는 서비스, 파이프, 그리고 디렉티브에 공통적으로 필요한 요소
  +  ***@angular/common*** - Angular팀이 제공하는 서비스, 파이프, 그리고 디렉티브에 공통적으로 필요한 것들
   
     ***@angular/common*** - The commonly needed services, pipes, and directives provided by the Angular team.
     
  
positive.code: .l-main-section
  :marked
    ## *devDependencies*
    The packages listed in the *devDependencies* section of the `package.json` help you develop the application.
    You don't have to deploy them with the production application although there is no harm in doing so.
  
    ***[concurrently](https://www.npmjs.com/package/concurrently)*** - 
    A utility to run multiple *npm* commands concurrently on OS/X, Windows, and Linux operating systems.
    
    ***[lite-server](https://www.npmjs.com/package/lite-server)*** - 
    A light-weight, static file server, by [John Papa](http://johnpapa.net/) 
    with excellent support for Angular apps that use routing.
    
    ***[typescript](https://www.npmjs.com/package/typescript)*** - 
    the TypeScript language server, including the *tsc* TypeScript compiler.
    
    ***@types/\**** - TypeScript definition files.
    Learn more about it in the [TypeScript Configuration](typescript-configuration.html#typings) chapter.
  
  .l-main-section
  a(id="why-peer-dependencies")
  :marked
    ## Why *peerDependencies*?
    
    There isn't a *peerDependencies* section in the QuickStart `package.json`. 
    But Angular has a *peerDependencies* section in 
    *its* package.json, which has important consequences for your application. 
    
    It explains why you load the [polyfill](#polyfills) *dependency* packages in the QuickStart `package.json`,
    and why you'll need those packages in your own applications.
    
    An explanation of [peer dependencies](https://nodejs.org/en/blog/npm/peer-dependencies/) follows.
    
    Packages depend on other packages. For example, your application depends on the Angular package.
    
    Two packages, "A" and "B", could depend on the same third package "C". 
    "A" and "B" might both list "C" among their *dependencies*.
    
    What if "A" and "B" depend on different versions of "C" ("C1" and "C2"). The npm package system supports that. 
    It installs "C1" in the `node_modules` folder for "A" and "C2" in the `node_modules` folder for "B".
    Now "A" and "B" have their own copies of "C" and they run without interferring with one another.
    
    But there is a problem. Package "A" may require the presence of "C1" without actually calling upon it directly.
    "A" may only work if *everyone is using "C1"*. It falls down if any part of the application relies on "C2".
    
    The solution is for "A" to declare that "C1" is a *peer dependency*.
    
    The difference between a `dependency` and a `peerDependency` is roughly this:
    
    >A **dependency** says, "I need this thing directly available to *me*."
    >
    >A **peerDependency** says, "If you want to use me, you need this thing available to *you*."
     
    The Angular `package.json` specifies several *peer dependency* packages, 
    each pinned to a particular version of a third-party package.
  
    ### We must install Angular's *peerDependencies* ourselves.
    
    When *npm* installs packages listed in *your* `dependencies` section,
    it also installs the packages listed within *their* packages `dependencies` sections.
    The process is recursive.
    
    However, as of version 3, *npm* does *not* install packages listed in *peerDependencies* sections.
    
    This means that when your application installs Angular, ***npm* doesn't automatically install
    the packages listed in Angular's *peerDependencies* section**.
    
    Fortunately, *npm* issues a warning (a) When any *peer dependencies* are missing, or (b)
    When the application or any of its other dependencies
    installs a different version of a *peer dependency*. 
    
    These warnings guard against accidental failures due to version mismatches.
    They leave you in control of package and version resolution.
    
    It is your responsibility to list all *peer dependency* packages **among your own *devDependencies***.
    
  .l-sub-section
    :marked
      #### The future of *peerDependencies*
      
      The Angular polyfill dependencies are hard requirements. Currently, there is no way to make them optional.
      
      However, there is an npm feature request for "optional peerDependencies," which would allow you to model this relationship better. 
      When this feature request is implemented, Angular will switch from *peerDependencies* to *optionalPeerDependencies* for all polyfills.
  
negative.code:   ***@angular/compiler*** - Angular's *Template Compiler*. 
    It understands templates and can convert them to code that makes the application run and render. 
    Typically you don’t interact with the compiler directly; rather, you use it indirectly via `platform-browser-dynamic` or the offline template compiler.
  
    ***@angular/platform-broswer*** - DOM과 브라우저에 관련된 모든 것에 대한 패키지. 특히 조각을 DOM으로 렌더하도록 도와주는 패키지들
    이 패키지는 또한 오프라인에서 템플릿을 미리 컴파일(pre-compile)하는 프로덕션 빌드를 위한 부트스트래핑 어플리케이션의 bootstrapStatic 메서드를 포함합니다. 
  
    ***@angular/platform-browser*** - Everything DOM and browser related, especially the pieces that help render into DOM.
    This package also includes the bootstrapStatic method for bootstrapping applications for production builds that pre-compile templates offline.
  
    ***@angular/platform-browser-dynamic*** -
    클라이언트 상에서 템플릿을 컴파일하기 위한 [제공자(provider)](../api/core/index/Provider-type-alias.html)와 [부트스트랩(bootstrap)](ngmodule.html#bootstrap) 메서드.
    오프라인 컴파일에 사용하지 마세요. 이 패키지는 개발 중 부트스트래핑과 간단한 샘플을 부트스트래핑하는 데 사용하세요.
  
    ***@angular/platform-browser-dynamic*** - Includes [Providers](../api/core/index/Provider-type-alias.html) and a [bootstrap](ngmodule.html#bootstrap) method for applications that
    compile templates on the client. Don’t use offline compilation.
    Use this package for bootstrapping during development and for bootstrapping plunker samples.
  
    ***@angular/http*** - Angular의 http 클라이언트
  
    ***@angular/http*** - Angular's http client.
    
    ***@angular/router*** - 컴포넌트 라우터.
  
    ***@angular/router*** - Component router.
  
    ***@angular/upgrade*** - AngularJS 어플리케이션을 Angular로 업그레이드하는 유틸리티 모음.
  
    ***@angular/upgrade*** - Set of utilities for upgrading AngularJS applications to Angular.
  
    ***[system.js](https://github.com/systemjs/systemjs)*** - [ES2015 module](http://www.2ality.com/2014/09/es6-modules-final.html) 스펙과 호환되는 동적 모듈 로더.
    다른 가능한 선택으로는 잘 보장된 [webpack](https://webpack.github.io/)이 있습니다.
  
    ***[system.js](https://github.com/systemjs/systemjs)*** -  A dynamic module loader compatible with the
    [ES2015 module](http://www.2ality.com/2014/09/es6-modules-final.html) specification.
    Other viable choices include the well-regarded [webpack](https://webpack.github.io/).
    
    여러분이 앞으로 만들 어플리케이션은 HTML 컨트롤, 테마, 데이터 엑세스, 다양한 유틸리티 등 추가적인 패키지가 필요할 것입니다.
    
    Your future applications are likely to require additional packages that provide
    HTML controls, themes, data access, and various utilities.
    
  