React + TypeScript

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

웨일 브라우저가 크롬과 다른 점

React에서 textarea의 onKeyPress에서 event 객체를 파라미터로 받아서 event.key를 찍어보는 상황. 크롬에서는 event.ctrlKey의 true/false 여부에 상관없이, 항상 event.key가 “Enter”로 들어온다.하지만 웨일 브라우저에서는 ctrlKey === false -> key = “Enter”, ctrlKey === true -> key = “\n”이다. (여담으로 keyCode는 두 브라우저 모두 0으로 들어왔다. (?))

간호대 외주 후기

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

스크립트 언어를 하나쯤 쓰면 좋은 이유

조금 더 정확히는, 인터프리터 언어를 하나쯤 쓰면 좋은 이유로 생각할 수도 있겠다. 이유는 스크립트 언어가 아닌데 인터프리터가 있는 변태 언어, Scala 때문이다. 인터프리터가 주는 편리함은 생각보다 훨씬 좋다. 다음 예제는 엑셀로도 어렵지 않게 할 수 있다. 다만, 나는 조금 더 범용적이고 리눅스에서도 별 생각없이 터미널 창 띄워서 작업하는 그 감성을 좋아할 뿐이다. 위 예제를 보자. […]

Initialize Angular Form Control with Empty Array

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