본문 바로가기

분류 전체보기63

STORIFY (0219) - 테스트 코드 마지막 주가 시작되었다. 이번주 목표: 모든 테스트 코드 작성, 좋아요 알림 성공 테스트 테스트 코드를 대충 만들어 보고 의문점이 몇 개 들었다. 1. 모든 레이어에 대해 테스트 코드를 작성해야하는가? 이런 생각이 들었던 이유는 보통 복잡한 로직이 많은 service, repository에서만 테스트 코드를 작성하고 복잡한 로직이 없는 controller는 테스트 코드를 작성하지 않으면 비용을 절약할 수 있다고 생각했다. 우선 각 레이어 테스트에 대해 설명해보면 - Controller 테스트: Controller는 HTTP 요청을 받아 적절한 서비스 메소드를 호출하고, 그 결과를 HTTP 응답으로 변환하는 역할을 한다. 따라서 Controller 테스트는 HTTP 요청/응답의 형태, 상태 코드 등을 검증.. 2024. 2. 19.
STORIFY (0216) - session, test 코드 작성 https://www.npmjs.com/package/connect-mongo connect-mongo MongoDB session store for Express and Connect. Latest version: 5.1.0, last published: 4 months ago. Start using connect-mongo in your project by running `npm i connect-mongo`. There are 712 other projects in the npm registry using connect-mongo. www.npmjs.com connect-mongo를 적용하려 했으나 node 버전이 맞지 않아 nestjs의 session을 적용했다. 소프트웨어 개발 시 수행하는 테스.. 2024. 2. 17.
STORIFY (0215) - session 적용 카카오톡 로그인 시 유저 정보를 클라이언트에 전달하기 위해서는 session을 사용해야 할 듯해서 적용한다. 의문: session.module.ts를 추가하는 이유가 뭘까 그리고 추가해서 어떤 기능을 사용해야 할까. 현재 사용하고 있는 mongodb를 사용해 session을 저장하는 곳을 만드는 것일까? `session.module.ts` 파일을 추가하는 이유는 세션 관리를 위해서이다. 웹 어플리케이션에서 세션은 사용자가 서버에 접속한 이후부터 브라우저를 닫거나 로그아웃하기 전까지 유지되는 상태를 말한다. 이 세션을 관리하기 위해서는 세션 데이터를 저장할 공간이 필요하며, 이러한 공간을 세션 스토어라고 부른다. `connect-mongo`는 이러한 세션 스토어를 MongoDB에 저장하기 위한 미들웨어이다.. 2024. 2. 16.
STORIFY(0214) - 프로젝트 회고 프로젝트를 시작할 때, 나의 목표는 안정적이며 확장성 있는 백엔드 시스템을 구축하는 것이었다. 선택지로는 Spring, Node.js, 그리고 NestJs가 있었다. 그 중에서도 NestJs를 선택한 이유는 다음과 같다. 첫째로, NestJs는 TypeScript를 기반으로 하며, 이를 통해 코드의 안정성을 향상시킬 수 있었다. 둘째로, NestJs의 모듈화와 의존성 주입 기능은 코드의 재사용성과 유지 보수성을 높여주었다. 이러한 특징들은 큰 규모의 프로젝트를 관리하는데 큰 도움이 되었다. 셋째로, NestJs는 Jest와 같은 테스팅 라이브러리와의 호환성이 뛰어나, 코드의 품질을 확신하고 유지할 수 있었다. 넷째로, 다양한 라이브러리와 미들웨어를 쉽게 통합하여 개발의 유연성을 높여주었다. 마지막으로, .. 2024. 2. 14.
728x90