SMAIVNN
article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W2 - 이상적인 함수
Activity 2024. 9. 23. 17:11

어느덧 2주차 진행되는 스터디입니다. 이번 스터디의 주제는 이상적인 함수 작성하기입니다.우리 스터디는 매주 한명씩 돌아가면서 스터디를 리드하기로 하였는데요. 이번주는 제가 하게 되었습니다..뛰어나신 현업자분들 사이에서 준비해보려고 하니 생각보다 부담이 크더라구요.  그럼 스터디 내용을 시작하기에 앞서 책을 읽고난 후의 느낀점 정리를 먼저 해보겠습니다. 스터디 전 책 읽기함수를 무조건 작게!책의 저자는 함수를 무조건 작게 만들라고 합니다. 한 화면을 넘어가지 않도록, 그리고 if/else 등의 블록은 한 줄이면 충분하다. 들여쓰기는 1단 2단이면 충분하다..등 많은 의견을 추가하지만 결국 작고 가독성 좋은 함수가 좋다! 라는 의견입니다. 사실 저 의견들은 가독성의 측면에서 정말 좋은 의견이라도 생각합니다...

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

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

article thumbnail
[Smilegate/테크 하이킹] 협업을 위한 클린 코드와 아키텍처 W1 -클린 코드란
Activity 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()를 사용할 경우 다음과 같이 메타데이터들이 출력된다. [ { "$__": { ..