sequelize 3

<WIL> 주특기(노드) 2주차 진행사항과 N+1 문제

🌊 # 7주차 진행사항 주특기 2-3주차에는 로그인을 포함한 매거진 웹의 API를 만들면서 시작합니다. 이 API를 바탕으로 테스트 코드, 타입스크립트 등을 적용해 나가는 방식으로 진행하고 있습니다. 1주차와 비교해서 큰 차이점은 JWT를 활용한 로그인 구현과 MySQL이라는 관계형 DB를 다루게 된 것입니다. 특히 MySQL을 접하는 것이 DB에 대한 사고를 확장하는데 도움이 많이 된 것 같습니다. 테스트 코드 Jest를 활용하여 테스트 코드를 작성하였습니다. 함수 단위의 유닛 테스트 부터 API를 검증하기 위한 통합 테스트까지 하나씩 작성해 가면서 감을 익힐 수 있었습니다. 레이지 로딩, 이거 로딩, N+1 문제 (숙제...?) 매거진 웹의 게시글을 로드하면서 댓글까지 한꺼번에 불러오는 쿼리를 작성하..

<WIL> NoSQL에서 SQL로

🌊 # 6주차 노드 주특기 1주차 과제는 로그인 없는 게시글, 댓글 CRUD 구현이었습니다. 과제 자체는 어렵지 않아서 기한보다 조금 일찍 끝냈습니다. 디벨롭시킬 부분에 대해서 고민해 보았습니다. 로그인 등의 기능을 붙일 수도 있겠지만, TypeScript 마이그레이션을 해보기로 결심했습니다. 프로젝트 규모가 커지면 TypeScript 마이그레이션에 애를 먹을 것 같아 매도 먼저 맞는 놈이 났다고(?) 간단한 프로젝트에 적용해 보기로 했습니다. 실은 API 테스트, 테스트 코드 작성 등도 하고 싶었으나 프로젝트가 워낙 단순하여 의미없는 테스트를 하게 될 것 같아서 생략하였습니다. 다음번 이 2가지를 염두에 두고 과제를 진행하여 꼭 포함시키고자 합니다. 목요일까지 주특기 1주차를 마무리 짓고 2주차에 접어..

<TIL> 220330 IP, multer, sequelize

🌱 IP IP에는 공인(Public) IP와 사설(Private) IP가 있습니다. 사설IP를 Port로 연결하면 공인IP를 통해 접속할 수 있습니다(포트포워딩). multer 오류 upload.single("fieldname") 미들웨어 설정시 "fieldname"에 input 태그의 name 속성값과 동일한 값을 입력해야 합니다. 동일한 값을 입력하지 않을 경우 MulterError: Unexpected field 에러를 만나게 될 것입니다. sequelize Node.js의 ORM입니다. ORM은 Object-Relational Model의 약자입니다. ORM은 자바스크립트의 객체를 관계형 DB의 릴레이션으로 변경해줍니다. SQL 없이 자바스크립트로 관계형 데이터베이스를 조작할 수 있습니다. htt..

클래스/└ TIL 2022.03.31