개발일지
개발일지 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());