SMAIVNN
article thumbnail
[NestJS] 진짜 에러 처리 더 잘하기
Web 2024. 9. 16. 01:06

'부끄럽지만 나는 지금까지 'try-catch'가 없으면 혹시 모를 이유로 에러가 발생하면 서버가 crash되지 않을까?'라는 생각으로 냅다 코드블럭을 'try-catch'로 감싸는 습관이 있었다.  하지만 이번 배포를 진행하고, 클린 코드 스터디를 진행하며 내가 작성한 코드를 돌아보는 시간을 가졌다. 내 코드는 특히 'try-catch'와 에러처리 때문에 명백하게 '좋은 코드'는 아니라고 생각했다. 또한, 해당 글 에 남겨준 함께 스마일게이트 캠프를 진행한 형의 아래 댓글을 읽고 이참에 확실히 정리하고, 나도 제대로 알고 코드 작성하자는 마음가짐으로 글을 쓴다. NestJS의 에러결론적으로 앞서 내가 한 서버 crash의 고민은 조금 덜어놔도 된다. NestJS의 공식 홈페이지에는 아래와 같이 써있다...

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W1
Web 2024. 9. 10. 02:58

스마일게이트 개발 캠프를 성공적으로 마친 기수들은 커뮤니티 활동을 이어갑니다!커뮤니티에서는 이전 기수들과 새로운 기수들이 함께하며 다양한 스터디 활동, 세미나 활동이 이루어지는데요. 그렇게 캠프의 인연이 계속해서 이어집니다. 저 또한 이번에 스마일게이트 커뮤니티에서 주관하는 스터디인 테크 하이킹_협업을 위한 클린 코드와 아키텍처를 5주간 진행하는데요. 취준생인 저를 제외하고 현업을 뛰시는 N년차의 뛰어나신 분들과 함께할 수 있게 되었습니다. 이 글은 해당 스터디의 첫 번째 글입니다. 시작 스터디는 로버트 C 마틴의 클린 코드라는 책을 읽고 해당 책의 내용에 대해 다양한 토론 및 사례를 확인하는 것으로 계획되어 있습니다. 구글에 클린 코드를 쳐보면 "클린 코드 비판"이 가장 먼저 나오는 만큼 다양한 의견이..

article thumbnail
[NestJs/트러블슈팅] mongoDB document 반환
Web 2023. 11. 20. 11:17

발단 프로젝트에서 아래 간단한 코드를 실행하던 도중 서버 오류가 발생하였다. 우선 발단이 된 코드는 다음과 같다. async createStat(stat: CreateStatDto): Promise { const newStat = { ...stat, }; const createdStat = await this.statModel.create(newStat); return createdStat } 발생한 서버 오류는 다음과 같다. [MyApp] error 2023-11-20 09:48:40 [ExceptionsHandler] callback is not a function - { stack: [ 'TypeError: callback is not a function\n' + ...code... 처음에는 인터셉..

article thumbnail
[NestJs/트러블슈팅] NestJs에서 mongoDB find(), virtual field
Web 2023. 10. 26. 18:59

더 공부하고 정리한 추가 게시물이 있습니다. node.js의 Express와 nestJs에서의 mongoDB find()메서드 차이점 mongoose의 find()메서드를 Express환경에서 사용할 경우 다음과 같이 출력된다. [ { "_id": "id항목입니다", "title": "test2", "content": "toDo Contents2", "status": true, "priority": 0, "dueDate": "2024-03-21T00:00:00.000Z", "category": "sports", "completedDate": "2023-10-25T07:59:36.295Z" }, ] 반면nestJs에서 find()를 사용할 경우 다음과 같이 메타데이터들이 출력된다. [ { "$__": { ..