타입 손실 없이 actionCreator를 dispatch로 래핑하기

다음 코드를 보자. redux 예제로 많이들 사용하는 counter example이다. counterActions라는 action creator를 사용해서 action을 만든다. 이 counterActions 오브젝트는 각 키에 맞는 액션 생성함수를 갖는다. (따라서, action을 생성하기 위해 counterActions.increment()를 호출한다.) 이렇게 만들어진 액션을 바로 dispatch()에 넘기는 단순한 코드다. 이 단순하지만 반복되는 dispatch의 래핑 중복을 없애고 싶었다. 간단하게 구현해보자. 대략 이런 모양이 될 것이다. 그리고 다음과 […]

React + TypeScript

최근에 진행하고 있는 프로젝트를 React + TS의 조합으로 운영해봤다. React의 생태계가 워낙 괜찮다보니 사용하면서 내가 직접 타입을 작성한 라이브러리는 react-image-annotation, react-redux-firebase 두 개 정도. 단점은 다들 알다시피 러닝커브가 있다는 것. 하지만, 타입 없이 프로그래밍 하는 것은 오른손잡이가 굳이 왼손으로 밥 먹는 바보같은 일이라고 생각한다. 가장 명확하고 직관적으로 손쉽게 잡을 수 있는 타입 에러를 굳이 런타임까지 […]

간호대 외주 후기

0. 건너뛰어도 되는 배경 설명 2016년 3월, 과 후배의 소개로 학교의 간호대학에서 안드로이드 앱 외주를 진행했었다. 이 때 백엔드 친구 / iOS 친구 / 안드로이드 나, 이렇게 셋 이서 첫 미팅을 진행했었다. 미팅을 끝내니 iOS 개발은 원하지 않으신다고. 다음 미팅에 백엔드 친구와 나만 참여했다. 왜 한 명 비냐고 여쭤보시기에 iOS 담당하던 친구라서 빠졌다고 설명드리니 약간 […]

Initialize Angular Form Control with Empty Array

Angular에서 폼의 초기값을 넣어줄 때 주의해야할 점이 있다. 폼에서 사용할 FormControlName을 이 곳의 group 에서 넘기는 객체에 미리 선언해야한다. 미리 초기값을 선언한다면 b와 같이, 선언하고 싶지 않다면 a와 같이 선언하면 되는 간단한 API 이다. c는 조금 다르다. 2를 초기값으로 가지며 배열의 유효성 검사가 없다는 뜻이다, c: [2, null]은 c: 2 와 동일하다. 이와 비슷하게, d는 초기값을 2로 […]

Angular + Redux

English Description Added due to increasing acquisition from USA! (26 Jul 2018) Terminology / Preface 옛날 Angular (JavaScript Based): angular.js 요즘 Angular (TypeScript Based): Angular 2년 전 angular.js + Redux로 작업한 적이 있었다. 최근에 Ionic으로 작업하면서 Angular와 Redux를 같이 사용할 기회가 있었고 적당히 컨벤션을 정리해본다. 이전과 가장 달라진 점이라면 역시 사용하는 프로그래밍 언어다. Action Creator와 […]