개발일지

개발일지 11주차

index.ys 2023. 6. 19. 01:23

내가 담당했던 기능 정리

마이페이지 조회

  • 마이페이지 요청시 프로필 사진, 유저 닉네임등 기본정보를 조회하는 기능 구현

마이페이지 북마크 게시글 조회

  • 내가 북마크한 게시글만 조회하는 기능 구현

마이페이지 내가 작성한 게시글 조회

  •  내가 작성한 게시글만 전체를 조회하는 기능 구현

마이페이지 내가 작성한 푸박스 조회

회원가입 문자인증

  • 네이버 SENS 서비스를 이용하여 회원가입시 문자를 발송하는 기능 구현
  • 네이버 클라우드 서비스에 등록된 번호로만 인증문자를 발송할 수 있음

푸박스 전체조회

  • DB에 저장된 푸박스를 전체조회 하는 기능 구현

푸박스 등록

  • 유저가 입력한 정보를 DB에 입력되는 기능 구현

캐싱

  • Redis를 이용해 푸박스 전체조회시 입력된 데이터가 더 빠른 속도로 조회 되도록 구현
  • 조회된 json데이터를 string타입으로 변환후 redis에 저장
  • string으로 저장된 데이터가 호출 됐을때 다시 json형태로 파싱하여 프론트엔드에 전달

세션

  • Redis를 이용해 유저가 로그인 요청시 유저의 세션을 Redis에 저장 하도록 구현

프로필 이미지 변경

  • Redis를 이용해 기본 프로필 사진 url 5개를 Redis에 저장하고 특정 인덱스를 호출할때마다 인덱스에 해당하는 프로필 url을 반환하는 기능 구현

sentry 도입

  • sentry를 이용해 서버에서 발생한 에러로그를 우분투에 접속하지 않고도 로그를 확인할 수 있도록 구현
  • 에러가 뜰때마다 마음이 아프다.

helmet모듈로 보안설정

  • node.js에서 제공하는 모듈인 helmet 모듈을 사용하여 xss, csrf등 웹 보안공격을 막는 기능 구현
// xss(교차 사이트 스크립팅) 공격 방어
app.use(helmet.xssFilter());
// 클릭재킹으로 부터 보호
app.use(helmet.frameguard("deny"));
// 브라우저에서 파일 형식의 임의 추측 금지
app.use(helmet.noSniff());