전체 글(259)
-
배열 간단히 합치는 방법 [Spread operator]
두 개의 배열이 존재 할 때 ES6 이 후 간단 한 방법이 있다. 바로 spread operator를 이용 하는 방법이다. 사용 방법 비어있는 배열을 선언하고 그 안에 spread 표현을 한 배열들을 넣어준다. const plusArray = [ ...더하는 배열1 , ...더하는 배열2 ] 더하는 배열2를 먼저 저장되게 하고 싶다면 const plusArray = [ ...더하는 배열2 , ...더하는 배열1 ] 으로 저장 하면 된다. * 배열의 element가 객체일 때 도 가능하다! ex ) const data1 = [1,2,3,4] const date2 = [5,6,7,8] const totalData = [ ...data1, ...data2 ] //출력 시결과 [1,2,3,4,5,6,7,8] c..
2022.06.30 -
Nest repository에서 에러 발생 시 에러 처리
처음 Nest 개발 중에 Repository에서 에러가 발생 하면 어떡하지? 라는 의문이 생겼다. 1. 먼저 생각한 방법 생각 한 방법은 try/catch로 에러를 잡아 에러가 발생하면 false값을 service에 보내 에러 확인 후에 500번 에러를 발생 시키는 방법을 생각하고 실행 했다. 2. 깨달은 방법 * Exception filters : StatusCode default 는 500 이다 nest는 답답한 프레임워크가 아니였다. Exception filters 를 사용하면 해결 된다. @Catch(HttpException)을 작성하면 HttpException이 발생 하는 것 만 찾아서 에러를 발생시킨다. 그래서 Repository에서 에러가 발생하면 500에러를 Exception filters..
2022.06.27 -
JEST Unit .env 인식이 안될 때 해결 방법
Jest를 이용한 unit 테스트를 진행 중에 process.env 가 인식 되지 않는다. 해결방법 1. .env에 들어간 내용을 envFile.ts 또는 envFile.js 로 만든다. // envFile.ts process.env.CRYPTO = process.env.CRYPTO; process.env.JWTSECRET = process.env.JWTSECRET; 2. package.json에서 jest 설정 값을 수정해준다. "rootDir" : 프로젝트 최 상위 위치를 넣어준다. * setupFiles에 rootDir를 입력 할 때는 로 입력을 해주어야 한다. "setupFiles": rootDir 기준으로 만들었던 envFile.ts 파일위치를 넣어준다. // package.json // pac..
2022.06.19 -
20. Node 가계부 만들기 JS 버전 완료 후기
예전에 만든 프로젝트를 2년간 성장하여 리팩토링을 진행 해봤습니다. 2년 전에는 개발을 하면서 못 느낀 감정을 코드를 다시 보니 더럽게? 짜던 코드를 보니 감회가 새롭고 깔끔하게 변경 할 수있어서 그래도 성장을 했구나 싶어 즐거웠습니다. TS 버전, Nest 버전 별로 다시 만들어 제작 해보겠습니다. 지금 만든 프로젝트도 시간이 지나도 더럽게? 느껴지지 않기를 바라며 후기를 마치겠습니다. 감사합니다! JS 버전 코드 확인 : https://github.com/wls0/account_book
2022.05.29 -
19. Node 가계부 만들기 [ 가계부 전송 받은 데이터 유효성 검사 ] - 6
express-validator 사용 방법 : https://crispypotato.tistory.com/212 * accounts.route.js 에서 DayAccountFind는 날짜 형식만 바꿔주면 재사용이 가능하여 데이터 형식을 express-validator의 match로 일, 월, 년 형식을 따로 분리해서 만들었다. accounts.validator.js 작성 //accounts.validator.js const { param, body } = require('express-validator') const Index = param('index').notEmpty().isNumeric() const DateBody = body('date') .notEmpty() .isLength(10) .mat..
2022.05.29 -
18. Node 가계부 만들기 [ 가계부 기능 Service 구현 ] - 5
만든 Repository를 이용하여 서비스 코드 제작 : https://crispypotato.tistory.com/226 JwtPassport 생성 : https://crispypotato.tistory.com/219 JwtPassport 적용 : https://crispypotato.tistory.com/225 require 목록 const httpError = require('http-errors') const { Send } = require('../../lib/lib') const { WriteAccount, SelectAccount, ChangeAccount, RemoveAccount, CashCost, ShinhanCost, SamsungCost, HyundaiCost, WooriCost, ..
2022.05.29