목록항해 99 (94)
나의 개발일지(김지헌)
오늘은 예외처리를 마저하고 배포용 server.ts 코드를 수정했다. import express from 'express'; import cors from 'cors'; import cookieParser from 'cookie-parser'; import dotenv from 'dotenv'; import helmet from 'helmet'; //악성 스크립트 보호 import HTTPS from 'https'; import fs from 'fs'; import hpp from 'hpp' import indexRouter from './src/api/routes/index'; import createData from './src/database/data'; import {errorLogger, err..

오늘은 Artillery로 api 성능 테스트를 했다. //개발자 모드로 설치 npm run -D artillery //빠른 부하테스트 확인 npx artillery quick --count 100 -n 50 http://localhost:3000 --count : 요청하는 가상의 인원 -n : 요청 횟수 --rate : 초당 요청 min: 제일 빠른 응답(0.16sec) max: 제일 느린 응답(0.16sec) median:응답 평균치((0.159sec) p95:응답 중 95번쨰 느린값(0.159sec) p99:응답 중 99번쨰 느린값(0.159sec) 평균치와 p95,p99 의 차이가 크지않으면 성능이 좋다고 보면 된다. Artillery로 시나리오로 작성해서 유저의 행동 패턴을 예측해서 사용 할 수..
오늘은 카카오톡 소셜로그인을 프론트와 맞춰봤다. 기존 코드 더보기 import { Router } from 'express'; import passport from 'passport'; import dotenv from 'dotenv' import callback from '../../utils/kakaojwt' import passportCogfig from '../../passport/index'; //패스포트 임포트 해줘야 가능하다. passportCogfig(); dotenv.config() const router = Router(); // kakao로 요청오면, 카카오 로그인 페이지로 가게 되고, 카카오 서버를 통해 카카오 로그인을 하게 되면, 다음 라우터로 요청한다. router.get('/'..
WIL 커스텀 에러 : 처음 작성된 코드는 내장된 Error의 인터페이스를 불러와서 상속을 받고 재선언 후 사용하고 있는데 너무 비효율 적이고 이미 내장된 코드를 한번 더 만든다는것 자체가 좋지 않은 코드였다.(이유에는 2022버전을 사용해서 내장된 Error인터페이스가 다른것을 보고있는 문제) 해결 : ts.config에서 자바 버전 2022를 삭제 한 후 Error를 extends해서 없는 status를 타입을 명시 해줬다. export class ValidationErrors extends Error { public status:number constructor(message: string, status?: number) { super(message); this.status = status || 4..
오늘은 에러 쪽 코드를 바꾸고 , 토요일 날씨만 보여주는 api를 만들었다. 기존 코드 //Error interface //에러 타입 추가 export interface Error { name: string; status?: number; } //에러 생성자 export interface ErrorConstructor { new (message?: string): Error; } //시스템 에러 export interface SystemError { status: number; message: string; } //exceptions.ts import { ErrorConstructor } from '../interface/Error'; //오류 선언해준다는 의미 declare let Error: Erro..
깃허브 액션을 공부를 하다가 제가 맡은 날씨의 알고리즘을 짜야해서 깃 허브 액션 공부를 미뤄두고 알고리즘을 짜고 있었다. 일~토요일 16:59까지는 금주의 토요일 날씨로 업데이트 그런데 토요일 17시부터는 다음주 토욜 날씨 제공으로 업데이트 라는 알고리즘을 짜야하는데 어떤 방법이 좋을까 고민하고 있다. DATE 함수를 가지고 17시 기준으로 로직을 실행시킨다. 노드 스케줄로 로직을 짜야할 거 같다.
오늘은 코드를 유지 보수를 하고 프런트와 맞춰가면서 코드를 수정을 했다. 그리고 자동 배포를 하기 위해서 깃허브 액션을 공부하는 중인데 조금 어려운 거 같다. ubuntu에 파일질라로 코드를 빌드를 한 코드만 넣어주는 중인데 많이 번거로운 거 같아서 깃허브 액션으로 자동화를 해보고 싶어서 공부를 하는 중이다. 아직 까지 개념이 잘 안 잡히는 거 같아서 조금 더 해봐야겠다.
오늘은 중복된 코드를 통합을 하고 어제 성능 측정을 했던 코드를 실제 우리가 필요한 코드로 바꾼 후 한번더 측정을 해보았다. 기존 라우터 코드 //userRouter import { upload } from '../../utils/multer'; router.put('/myPage', authmiddleware, upload.single('profileImg') , User.updateUser); //reviewRouter import { uploads } from '../../utils/multer'; //리뷰작성 reviewrouter.post('/:campId/review', authmiddleware, uploads.array('reviewImg',4),reviewController.createR..