본문 바로가기

Storify26

STORIFY (0224) - 발표, 또 다른 정글 [크래프톤 정글] 오늘은 협력사에서 오신 분들 앞에 발표와 서비스를 소개하는 시간을 가졌다. 날카로운 질문도 있었고 gpt 프롬프팅에 대한 질문, 서비스에 대한 질문도 있었다. 생각보다 많은 분들이 앞으로 서비스를 계속 운영할 계획이 있는지에 대해 물어보셨고 앞으로도 사이드 프로젝트로 계속 가져갔으면 좋겠다는 의견을 많이 주셨다. 발표가 끝난 후 팀원들, 동료들, 코치님들과 식사자리에서 많은 이야기도 나눴다. 지난 5개월의 시간이 조금 떠오르는 시간들이었다. 5개월 동안 나는 아무것도 모르는 상태에서 서비스 서버를 만들 수 있는 사람으로 성장했다. 지난 5개월 동안 많은 것들을 배우며 포기하지 않고 배우려고 했던 나 자신에게 칭찬을 해주고 싶은 생각이 문뜩 들어 칭찬해 주었다.ㅎㅎ 이번 프로젝트를 시작하며 0주차 첫 3일.. 2024. 2. 24.
STORIFY (0220) - 소켓 시간 설정, 메모리 관리 문제:소켓 연결은 되었지만 어디선가 계속 handleDisconnect를 호출해 연결이 끊겼다. 이런 현상이 발생하는 이유는 여러 가지가 있을 수 있다.  1. 클라이언트의 네트워크 문제 : 사용자의 인터넷 연결이 불안정하거나 일시적으로 끊어졌을 때, 웹소켓 연결도 함께 끊어질 수 있다.  2. 서버의 네트워크 문제 : 서버 측의 네트워크에 문제가 생겼을 때도 웹소켓 연결이 끊어질 수 있다.   3. 서버나 클라이언트의 자원 부족 : 서버나 클라이언트의 메모리 등의 자원이 부족하면, 웹소켓 연결을 유지하는 데 필요한 자원을 확보하지 못해 연결이 끊어질 수 있다.  4. 서버의 설정 문제 : 서버에서 웹소켓 연결을 일정 시간동안 유지한 후 자동으로 끊는 설정이 있을 수 있다.   5. .. 2024. 2. 20.
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