왜 안되는지 설명하기 보다 어떻게 해야 되게 할 수 있는지를 생각하자 최근에 product kpi를 뽑아내기 위해 analytics관련 업무를 하고 있는데 기획자이신 팀원 분이랑 커뮤니케이션 할 일이 많다. 커뮤니케이션을 하면서 깨달았는데 어떤 요청을 해주실때 단편적인 내용을 보고나서 이건 기술적으로 어떤 어려움이 있는지와 같은 얘기를 하고 있는 내 모습을 발견했다. 기획자분에게 그런 기술적인 이슈들은 implementation detail이며 이를 필요 이상으로 설명할 경우 좋지 않다는 생각이 들었다. 이런 상황에서 내가 할 수 있는 것은 요청해주신 것에 대해 빠른 시간안에 PoC를 마치고 나서 이를 공유하고 같이 발전시켜나가는 것이라 생각했다. 손보단 머리가 먼저 요즘 개발은 얼마나 검색을 잘 하냐에..
전체 글
개발자로서 성장하기 위해 배운 지식, 트렌드와 경험을 글로 남기고 이를 공유합니다.최근 개발중인 product의 kpi를 측정하기 위해 analytics에 관한 코드를 설계했습니다. analytics tool로 많이들 사용하는 google analytics 뿐만 아니라 mixpanel, datadog에서도 같은 데이터를 수집해야 했고 어떻게 코드를 설계해야 복잡도를 줄일 수 있을지를 고민했습니다. 평소에 디자인 패턴을 공부하고 있어서 이를 적용해 복잡도를 줄이고자 시도한 경험에 대해 공유해보려 합니다. 이 포스팅을 읽고 난 뒤에는 아래의 내용들을 이해하게 됩니다. TypeScript로 Singleton 패턴을 구현하기 Singleton, Facade 패턴을 실무에 적용하기 Singleton Singleton 패턴은 인스턴스가 하나만 존재하도록 하는 디자인 패턴입니다. 어플리케이션 코드..
팀원에게 섣부르게 다가가 물어보지 말고 10분 정도의 시간을 가지고 생각해보자. 백엔드에서 보내준 데이터를 통해 조건식으로 분기 처리하여 UI를 그려주는데 예상했던 데이터가 내려오질 않아서 백엔드 개발자 팀원한테 가서 "이 field가 잘못내려오고 있는 것 같습니다." 라고 물어봤다. 하지만 이 데이터는 stripe에서 보내주는 데이터이기 때문에 잘못됐을리가 없다. 그러자 백엔드 개발자인 팀원이 "이 조건을 이런 식으로 처리하면 되지 않을까요?" 라고 얘기했는데 순간 아차 싶었다. 조금만 생각하는 시간을 가졌다면 해결할 수 있는 부분이었는데 이를 먼저 생각하기보다 섣부르게 다가가 팀원의 소중한 시간을 어느정도 빼앗았다. 조금 더 생각하면서 일하자. 꼼꼼하지 못한 성격 내 성격의 단점으로는 꼼꼼하지 못한 ..
최근 production 환경에서 발생하는 에러가 어느 코드 부분에서 발생했는지 자세히 알기 위해 datadog uploading source map 설정을 했습니다. 이 과정에 대해 공유해보려 합니다.이 포스팅을 읽고 난 뒤에는 아래의 내용들을 이해하게 됩니다.Next.js에서 source map 설정하기Production 환경에서 안전하게 source map 다루기Datadog source map 업로드하기GitHub Actions를 사용해 Vercel build, deploy하기What is source map먼저 source map이 뭔지부터 알아야 합니다. 간략하게 설명하자면 빌드된 파일과 원본 파일을 매핑시켜주는 역할을 하는 파일이라 생각하시면 됩니다. 자세한 설명은 링크로 대체하겠습니다.In..