요새 타입스크립트로 이미지 처리용 백엔드 api를 개발하는데, 일단 클라이언트쪽에 기능을 전달하기 바빠서 테스트 없이 기능을 먼저 구현했더니, 기능은 어느정도 빠르게 구현이 됐지만 테스트 작성하는데 시간이 너무 오래 걸렸다.
어쩔 수 없었던 상황이지만.. 그래도 테스트를 먼저 작성했다면 기능 전달은 조금 느렸어도 전체 작업 시간은 줄어들지 않았을까? 하는 생각..
typescript와 express를 사용하지만 최대한 스프링처럼 IoC 컨테이너 흉내를 내면서 작업했다. 컴포넌트들을 모두 클래스로 만들고 의존성을 생성자주입 하도록 하니까 확실히 테스트 작성하기가 편하다.
node 환경은 IoC고 뭐고 죄다 import
해서 지옥의 의존성 스파게티 코드를 만들어야 제맛이지만 회사 코드에 그럴 수는 없으니... 나중에 nestjs 공부해서 적용해봐야겠다.
express를 사용하느라 인증 관련해서 파이프라인을 직접 작성했는데 그렇게 복잡하지 않았다. 스프링 서버쪽에는 deprecated된 spring-security-oauth가 골칫거리였는데 그냥 의존성 없애버리고 내가 직접 filter를 작성하는게 낫겠다. 할수있다.