현재 테스트 프레임워크로 Jest를 선택하고, 도입했지만 Jest의 Mock/Stub 기능의 불편함과 부족함이 느껴져, 이를 보완하기 위한 방법을 찾다가 ts-mockito 를 찾게 되었다.기존 Jest를 사용하면서 느꼈던 불편함은 아래와 같다.별도의 when 을 지원
기존 서비스 코드에서 작동하던 로직들을 수정할 일이 있거나, 리팩토링 해야할 일이 있을 때, 해당 코드를 수정했을 때 어디 부분까지 이 코드가 영향을 미치는지, 수정해도 이상이 없는지 여부 등을 체크하기 어렵고, 놓치게 되어 에러가 발생하는 문제가 있었기 때문에, 테스
판교는 태어나서 처음 가보지만 인프런 쪽에서 문자로 상세한 주소와 시간을 알려주셔서 퇴근 후 후딱 뛰어서 갔다.건물을 올라간 후 어느쪽으로 가야할지 몰라서 뒤를 딱 도는데 인프런측에서 친절하게 어느쪽으로 가야하는지 표시를 해두셨고, 그 후 샌드위치와 물을 받아 입장하였
gRPC 정리 gRPC는 구글에서 개발한 RPC(RPC, Remote Procedure Call) 시스템이며 모든 환경에서 실행할 수 있는 오픈 소스 고성능 RPC 프레임워크이다. HTTP/2기반, 다양한 언어 Java, C ++, Python, Java Lite,
이번에 프로젝트를 진행하면서 프론트에서 이미지를 보내오면 S3 버킷에 저장해주는 로직이 있었다.이때 프론트에서 이미지를 보내주면, Node에서 Multer 라이브러리를 통해 이미지를 받아 그걸 다시 S3 버킷에 저장해주는 식으로 진행을 하였다.하지만 이 과정이 뭔가 복
Sentry는 어플리케이션에서 오류가 발생하면 알려주는 에러 트래킹 서비스로 Error가 발생하면 메일 또는 웹훅으로 연결한 어플리케이션으로 알림을 주고, Sentry 대쉬보드를 통해 에러 위치, 에러 로그 등을 확인할 수 있다.이전 프로젝트에서는 Morgan과 Win
프로젝트는 시리즈에 정리한 것 처럼 매일 아침 스크럼을 통해 개발 일정을 조율해가고, 추가할 기능에 대해 토론을 하며 진행했다.나는 Express와 MongoDB를 활용하여 백엔드 파트를 맡았다.Gitlab을 통해 협업을 진행하였고, 자신의 개발 정도와 목표 등에 대해
맵 `맵(Map)`은 키가 있는 데이터를 저장한다는 점에서 객체와 유사하지만 맵은 키에 다양한 자료형을 허용한다는 점에서 차이가 있습니다. 맵에는 다음과 같은 주요 메서드와 프로퍼티가 있습니다. `new Map()` – 맵을 만듭니다. `map.set(key, va
👨🎓 타입 스크립트를 공부하게 된 이유 > : `express 를 사용하여 프로젝트를 진행하며 Request로 들어오는 값들의 유효성 검사를 만들고, 에러 처리 하고, JSDoc을 통해 어떤 인자에 어떤 Type이 들어가야 하는지에 대해 적다보니 애초에 타입이 정
winston : 로그 파일 및 로그 레벨 관리 모듈winston-dayily-rotate-file : 매일 날짜 별로 로그 파일 생성 및 관리 모듈 ( 시간이 지나면 자동으로 삭제 & 압축 관리 )morgan : request 요청 로깅 미들웨어winston으로 로그
🎇Docker를 이용하여 express를 background 에서 실행해보기 > 기존 터미널에서 실행하던 express 서버를 `docker image를 만들어 컨테이너를 생성 한 후 background`에서 실행시키기! 1. 🚲 Docker image 만들기
요청이나 데이터들이 유효한지 확인하는 유효성 검사 모듈\[ express-validator is a set of express.js middlewares that wraps validator.js validator and sanitizer functions. ]원래는
: 프로젝트는 시리즈에 정리한 것 처럼 매일 아침 스크럼을 통해 개발 일정을 조율해가고, 추가할 기능에 대해 토론을 하며 진행했다.Gitlab을 통해 협업을 진행하였고, 자신의 개발 정도와 목표 등에 대해 이슈와 마일스톤으로 관리를 했었다.검색 기능은 Mongoose
파일 제공 서버를 node로 쓰면 안 좋다 => 느림!nginx 사용하면 좋음reverse proxy, cors body, params, query 체크 -> 나머지 로직 실행각자 미들웨어 하나씩 만들어 주는 것도 괜찮다. 함수가 애매하다. if (data) {}
Atlas에서 column 추가, updateMany 사용 프로시저 실행, query 왕창 날리기db에 변경사항 먼저 업뎃하고 배포 Model명명법 통일 필요 Routerparameter 유무 파악하는 로직 필요res 전달하는 부분도 통일하는 게 좋음(aws 참고
바로 db에서 삭제하는 것이 아니라 일정 유효 기간을 두고 한꺼번에 쌓인 것들 삭제하는 식으로 작성하는 것이 어떤지=> cron 참조주기적으로 db 확인해주고 일정 시간이 지나면 지우도록 하는 것도 괜찮을 거 같음.get, post는 기존에 존재하던 것과 달리 put,
설계란? 프로그래밍에서의 코드 설계는 코드와 파일, 그리고 폴더 구조를 설계하는 것을 말합 니다.만약 적절한 설계를 하지 않고 코드를 작성하게 될 경우 여러가지 문제가 발생할 수 있습니다.코드가 몇백 줄(혹은 몇천 줄)이 되기 때문에, 수정할 코드가 있을 때 해당 부분
Node 에서 환경 변수를 사용하기 위해 파일을 생성 후 process 를 통해 사용하려 했으나 값이 undefined 으로 나오는 문제Untitled환경 변수를 사용해주기 위해 필요한 라이브러리 import 및 명령어를 사용하지 않아서 환경 변수를 읽어오지 못하는 문
node 로 express를 통해 작업 중 아래와 같은 오류가 발생했습니다.\[ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client오류 \[ERR_HTTP_HEADERS_SENT]는 서
Mongoose 모듈은 MongoDB 라는 NoSQL 데이터베이스를 Node.js로 사용할 수 있도록 하는 확장 모듈 중 하나 입니다.Mongoose는 데이터를 만들고 관리하기 위해 스키마 \[ Schema ]를 만들고, 그 스키마로 모델을 만들어 데이터를 관리 합니다