ryukato

TypeScript - 정리

By  | 2017년 2월 6일 | 
TypeScriptJavascipt은 타입이 있긴 하지만 compile이 없는 interpreter 언어라서 실행 시점에 타입에러가 발생이 된다. 이런 단점(?)을 개선하기 위해 TypeScript는 type을 선언할 수 있도록 하고, compile시점에 타입에러등을 잡아낼 수 있는 기능을 제공한다.IDE툴 등을 사용할때, 특정 타입의 정의를 보고 싶을때 소스와 연결된 기능을 TypeScript를 사용하게 되면 사용할 수 있다.InstallOn MacInstall NodeJs firstinstall home brew /usr/bin/ruby -e "$(curl -fsSL" install NodeJs with homebrewInstallbrew install node version checknode --v

Correct Lamda expressions

By  | 2017년 2월 6일 | 
Find Invalid Lamda expression() -> {}() -> “Raoul”() -> {return “Mario”;}(Integer i) -> return “Alan” + i;(String s) -> {“Iron Man”;}Answer4 and 5, they are invalidWhyStructure of Lamda expressionLamda expression은 세 부분으로 구성이된다. 첫번째는 아래와 같이 parameter부분이다.(Type p1, Type p2)어떤 경우는 Type 부분을 생략할 수 있다. 그 이유는 컴파일러가 타입 추론을 통해 충분히 인자의 타입을 알아 낼 수 있기때문이다.두번째는 화살표 ->인데 x -> f(x)와 같이 함수에서의

Redux introduction

By  | 2017년 3월 5일 | 
ReduxRedux는 객체의 상태를 보관,관리하는 container역활을 한다.client, server 그리고 native환경 모두 지원하며 테스트 쉽게 할 수 있도록 해준다. 또한 time traveling debugger를 제공하여 실시간 적인 debugging을 할 수 있도록 해준다.설치사전 준비사항NodeJs 설치home brew: brew install node직접 설치: NodeJs downloadRedux 설치안전된 버전을 설치하기 위해 다음의 명령어를 실행한다.npm install --save redux import(사용준비)Redux를 대부분 CommonJs module로서 Webpack, Browswerify 혹은 Node환경에서 import해서 사용할 수 있다. module bundl

Spring integration

By  | 2017년 2월 16일 | 
Spring integrationReference메세지 기반의 Architectures를 지원한다.메세지 routing 및 transformation을 지원한다.EIP를 지원한다.다음과 같은 목표를 지향한다.복잡한 enterprise 통합 솔루션을 구현하기 위한 간단한 모델Spring 기반의 Application내에서의 메세지 기반의 비동적 행위 구현을 수월하게 한다.기존 Spring 사용자들을 위한 직관적이고 점진적인 적용.다음과 같은 원칙을 가진다.각 Component들은 모듈성과 테스트 용이성을 위해 약한 의존성(Loosely coupled)을 가져야 한다.비지니스 로직과 통합 로직간 관심사의 분리(separation of concerns)을 강제해야 한다.확장이 필요한 곳은 되도록 추상화를 해야 하며

Angular2 Testing (working)

By  | 2017년 3월 7일 | 
Angular2 TestingWhy do test? Regression test: 기존의 코드들이 정상 작동하는 것을 보장하기 위한 것이다. 이 것을 잘 준수할 경우, 코드의 Refactoring을 지속적으로 수행할 수 있다. 특정 기능의 작동을 확인하고 정상적인 조건이 아닌 경우에 대한 결과를 확인하여 조치할 수 있다.설계 혹은 구현상의 실수(결함)을 확인하여, 조치하도록 한다. 테스트 코드를 작성하기 힘들거나, 수행하기 어려운 경우, 대부분 설계상의 결함이 있는 경우가 많다.결함을 늦게 발견할 수록 고치기 힘들어 진다. 즉, 비용이 많이 발생하게 되므로 결함은 되도록 빨리 발견하는 것이 좋으며, 테스트는 이를 가능하게 해준다.With What? Jasmine: 기본적인 테스트 수행에 필요한 대부분의