전체 글

개발자로서 성장하기 위해 배운 지식, 트렌드와 경험을 글로 남기고 이를 공유합니다.
· Frontend
Discriminated Union 설명 discriminated union은 type narrowing을 하기 위한 하나의 방법입니다. primitive type보다 더 복잡한 타입들을 narrow하기 위해 자주 사용됩니다. 말보단 코딩, 바로 코드로 살펴보죠. 토이 프로젝트로 sns 앱을 만들었고 피드에 올라갈 수 있는 것으로 포스팅과 광고가 있다고 해보겠습니다. Feed라는 타입을 만들고 type 필드를 통해 이를 구별하도록 했습니다. 만약 포스팅이라면 달린 댓글들이 있을 것이고 광고라면 광고주에 대한 정보가 있겠죠?따라서 이를 optional로 처리하였습니다. interface Feed { type: 'post' | 'advertisement'; advertiser?:..
· Frontend
안녕하세요. 이번 시간에는 최근 Turborepo를 회사에 도입하며 겪었던 이슈들 그리고 앞으로 이를 더 잘 사용하기 위해 어떻게 해야할 지에 대한 내용을 공유해보겠습니다. 왜 Turborepo일까? 모노레포를 구성하기 위한 여러 도구들이 있는데 왜 Turborepo를 선택했을까요? 그건 현재 Frontend의 인프라 대부분이 Vercel에 있기 때문입니다. 최근 Vercel이 Turborepo를 인수하기도 했고 실제로 배포할때 Turborepo에 대한 지원이 잘 되어있기 때문이죠. React Framework인 Next.js 발전과 함께 Vercel을 Frontend의 인프라로 사용하는 분위기가 강해졌다는 생각이 드네요. 실제로 lerna와 비교했을때 turborepo의 인기가 점점 더 치고 올라가는 ..
· 성장
2022.10.24 ~ 2022.11.11 2주 동안 진행했던 프로젝트에 대한 개인 회고를 해보려 합니다. Keep 프로젝트의 마감일이 얼마 남지 않았을때 팀원들의 티켓을 가져와 적절히 처리하였습니다. Problem web3 프로젝트 경험해본 입장으로서 중심을 잡아주지 못하여 팀원들이 web3에 익숙해지는데 시간이 걸렸습니다. 비동기를 잘 처리해야 하는 프로젝트의 특성과 규모에 대한 판단을 잘못하여 적절치 못한 기술의 사용으로 복잡도를 증가시켰습니다. 프로젝트 시작 전, 설계적인 부분에 있어 미리 잡고 들어가지를 못했습니다. (이 부분은 이 전의 프로젝트 회고에서도 문제라 생각했던 점이므로 앞으로는 더 각별히 주의해야겠습니다.) Try 프로젝트 시작하기 전에 이 프로젝트의 특성과 규모를 명확히 판단하고 ..
· 성장
x0 2022.9 ~ 2022.10월에 진행한 프로젝트에 대해서 회고해보려 합니다. 회고의 양식은 KPT이며 인프런 포스팅을 참고했습니다. Keep MSW((Mock Service Worker)를 잘 활용하여 백엔드에 대한 의존성을 낮출 수 있었습니다. MSW는 사실 이전의 프로젝트에서부터 도입한 기술입니다. 프런트엔드 팀이 독립적으로 개발할 수 있도록 프로세스를 개선한 점은 앞으로도 가져가야할 부분이라 생각합니다. Storybook interaction testing을 사용하자고 제안하여 컴포넌트 테스팅을 자동화한 점은 잘했다고 생각합니다. 이로 인해 매뉴얼하게 테스트하는 시간을 아낄 수 있었습니다. 너무 이른 타이밍에 리팩토링하는 것이 좋지만은 않다는 것을 깨달았습니다. Problem 초기 기획 미팅..
mechaniccoder
개발 지식, 트렌드, 경험 공유