190618-TIL

Today I Learned

  • Angular로 AnalogClock과 StopWatch를 구현했다.
  • Angular Built-in Directive에 대해서 배웠다.
  • 부모-자식 Component간 통신을 이용해서 simpleTodo를 구현했다.
  • 자식 > 부모 Component로 Data를 보낼 때는 @Output() 에 EventEmmitter의 instance로 event를 발생시킨다. emit()을 호출해야 event가 발생한다.
  • 부모 > 자식 Compinent로 Data를 보낼 때는 부모 Component에서 자식 Component로 Property binding을 하는 방식으로 Data를 보낸다. 자식 Compinent는 해당 프로퍼티를 @Input()으로 정의하고 값을 받는다.

Angular Built-in Directive

What is Directive?

지시, 명령. View에 관련한 명령을 내리는 모든 것을 directive라고 한다.

Component의 공통된 기능을 외부로 내보낸다.

Dependency Injective

type 지정하면 Angular가 class Instance를 생성한다.

190617-TIL

Today I Learned

  • Angular Component의 Data Binding에 대해서 배웠다.
  • Angular의 ngFor와 ngIf Directive를 적용해서 TabsUI를 구현해봤다.
  • Angular 문법이 아직 익숙하지는 않은데 재미있다. 생각을 전환하기가 쉽지 않다.

Angular Data Binding

Interpolation

Property Binding

[propertyName] = "expression"

" " 내부에는 string이 아니라 expression(표현식)이 오는 곳이므로 주의하자.

Attribute and Property

Attribute는 HTML Element의 attribute이고 Property는 DOM node object인 HTML Element 객체의 property이다. 초기에 HTML Attribute가 초기값으로 그려지고 Property는 실시간으로 변경되는 DOM 최신값을 반영한다.

1
2
> <input value="Initial Value" [value]="Property Value">
>

앞의 value는 attribute이고 [value]는 property이다. Property는 최신값이므로 실행시 “Property Value”가 view에 보여지게 된다.

Angular Component

Angular Application은 component를 중심으로 구성되는만큼 component는 Angular의 핵심 개념이다.

Component는 application의 화면을 구성하는 View를 생성하고 관리한다.

Component는 template의 중첩 관계에 의해서 tree 구조를 갖는다. 여러 component 사이의 통신과 상태 관리를 위해서 Service가 있다.

Angular Basics

Angular

Angular는 SPA(Single Page Application) 개발을 위한 Google의 Open source JavaScript Framework.

Framework and Library

Library는 관련있는 함수를 모아놓아 개발자가 사용할 수 있는 도구이다. 즉, Library는 개발자에 의해 사용된다.

Framework는 클래스와 인터페이스의 집합으로 Application의 Flow를 쥐고 있다. 개발자가 Framework 틀 내부에서 작업하는 것이다.

전통적인 웹 개발에서 JavaScript는 HTML/CSS에 의존한다. 의존한다는 것은 HTML/CSS에 접근해서 조작하는 방식으로 JavaScript 코드가 작성되었다는 것을 뜻한다. 이는 HTML/CSS가 변경되면 JavaScript 코드도 영향을 받음을 의미한다.

Angular는 HTML/CSS가 JavaScript에 의존하도록, 즉 JavaScript 코드의 상태 데이터 (State)에 바인딩해서 상태가 변경될 때마다 Rendering되도록 한다. HTML/CSS를 JavaScript의 Rendering 함수 내부의 문자열로 관리하면 앞서 말한 동작이 가능하다.

190612-TIL

Today I Learned

  • TypeScript에 대해서 배우고 실습해봤다.
  • Angular로 간단한 TodoList 기능을 구현해봤다. 맛보기만 해봤지만 재밌다! 그리고 엄청 편하다.
  • TypeScript는 기존에 알고 있던 객체지향개념(Class, Interface 등)이 있어 사용하기 편리할 것 같다.

TypeScript (2)

TypeScript의 주요 기능

  1. 타입 선언
  2. Class
  3. Interface
  4. Generic

TypeScript (1)

TypeScript

JavaScript는 모듈 기능을 지원하지 않고, 동적 타입 언어라는 단점 때문에 대형 프로젝트를 진행하기에 불편한 점이 많았다. 따라서 JavaScript의 단점을 보완하고자 하는 AltJS(Alternative) 언어들이 출시되었다. 브라우저는 JavaScript만을 인식하므로 AltJS 를 사용하더라도 JavaScript로 Compile해야한다.

TypeScript도 AltJS 중 하나로, JavaScript의 Superset(상위 호환)이라는 특징을 가진다. TypeScript는 ES5의 Superset이므로 기존 JavaScript 문법을 그대로 사용할 수 있다. 또한 Babel 등의 Transpiler를 사용하지 않아도 ES6의 새로운 기능을 기존 브라우저에서 실행할 수 있다. TypeScript의 가장 주된 장점은 Static Type을 지원한다는 것이다.

Angular가 TypeScript를 정식 채용하고 ECMAScript의 업그레이드되는 기능을 지속적으로 추가할 예정으로 많은 주목을 받고 있다.

190611-TIL

Today I Learned

  • SPA (Sigle Page Application)에 대해서 배웠다.
  • JavaScript Class를 복습했다.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×