TypeScript는 전 세계 개발자들에게 사랑받는 JS 런타임 중 하나입니다. 저 역시도 기존 자바스크립트로 진행하던 프로젝트를 모두 타입스크립트로 리팩토링하기도 했죠. 이전 대비 엄청난 생산성과 더불어 다시는 Type Error를 보게 되지 않았다는 점도 장점입니다. 근데 대게 타입스크립트를 처음 배우고 적용하는데 어려움을 겪습니다. 겉으로만 보면 JavaScript와 크게 달라지지도 않아 보이는데 굳이 불편하게 적용할 이유는 없어 보이기도 합니다. 학습 난이도와 합리적이지 않은 개발 과정 때문에 주니어 개발자분들은 그 필요성을 잘 못 느끼시는 편입니다. 그러나 제 주변에도 타입스크립트!, 취업 시장에서도 타입스크립트!를 부른다면 거기에는 합리적인 이유가 있다는 증거입니다. 왜 자바스크립트 대신에 타..
소프트웨어
이 글은 링크드인에 써놓은 글을 약간 수정한 글입니다. 글의 원문은 제 링크드인에 있습니다. 인간관계는 어렵습니다. 특히 저처럼 매번 연락하지 않는 사람들, 인간관계에 큰 공을 들이지 않는 사람들에게는 더욱 그렇습니다. 몇 년 전 저는 인간관계를 수월하게 관리할 수 있는 몇 가지 정리를 만들었고 지금까지 유지해오고 있습니다. 이 정리를 통해 나름 괜찮은 인간관계를 유지했고 관계의 번잡함을 해결했습니다. 그럼, 이 포스트에서는 어쩌면 (제 입장에서) 완벽에 가까운 인간관계 전략을 알아봅니다. 1. 지성적 사고를 독려하는 사람들과 데카르트는 저서 에서 논리학의 번잡한 규정 대신 스스로 만든 규칙으로 결단을 내렸습니다. 아래 4개의 결단은 데카르트가 앞으로 성취할 인식과 학업에서 주요한 역할을 했습니다. 첫째..
클린 아키텍처 클린 아키텍처는 프로젝트가 확장될 때 그 위력을 발휘한다. 프로젝트가 확장됨에 따라 로직이 여러 차례 바뀌게 되고 데이터 의존성은 뒤죽박죽 되기 십상이다. 이를 사전에 방지하기 위해서는 처음부터 견고하게 프로젝트 구조를 잡아야 한다. 클린 아키텍처는 객체 지향 설계를 원칙으로 한다. 이 원칙은 SOLID 원칙이라고도 불리는데 의존성 분리가 핵심이다. 예를 들어 로그인을 위해 아이디와 패스워드를 입력하는 유저가 있다고 해보자. 로그인 시 해당 정보는 사전에 정의된 api경로로 요청을 보낸다. 이후 API 서버에서는 해당 경로의 컨트롤러로 정보를 보내주고 컨트롤러는 해당하는 정보가 있는지 모델에서 알맞은 정보를 가져온다. 알맞은 정보가 있다면 로그인 성공이라는 메시지를 사용자에게 반환해준다. ..