떨면 뭐하니는 IT개발 분야 모의 면접 서비스입니다.
프로젝트는 2022.11.04 ~ 2022.12.16 일간 진행되었습니다.
- 질문(텍스트)을 음성(보이스)으로 변환하여 AI 모의면접관이 직접 질문을 읽어주고, 각 질문의 소요 시간을 측정하여 실제 면접처럼 긴장되는 모의면접을 체험할 수 있어요.
- IT 개발자를 위한 면접 질문의 프리셋 (현재 React.js, Node.js, Spring 총 3가지 프리셋 적용)
- 내가 원하는 질문이 없어도 걱정하지 마세요! 내가 직접 입력한 질문으로 커스텀 모의 면접을 진행할 수 있어요.
• 서버 구축 :
• 데이터 베이스 :
• 배포 :
• 기타 :
문제 상황 |
AccessToken만 사용했을 때 제 3자에게 토큰이 탈취되었을 경우 보안에 취약하다는 피드백을 받음 |
선택지 |
Access Token + Refresh Token |
의견 조율 |
• Access Token의 유효 시간을 짧게 하여 공격 면적을 줄이고, Refresh Token의 유효기간을 상대적으로 길게 설정해 사용자의 편의성도 고려하면 좋을 것 같다고 의견이 나옴 • Refresh Token 역시 탈취될 가능성이 있기 때문에 refresh 발급 시 DB에 저장 후 개인정보 탈취가 의심될 경우에 비밀번호 변경으로 유도한 뒤 변경 시 DB에 저장된 Refresh를 삭제하게 하면 좋다는 의견 |
의견 결정 |
로그인 시 Access Token 과 Refresh Token 두 개를 발급, Refresh Token 발급시 DB에 저장을 하고 개인정보 탈취 의심시 비밀번호 변경으로 유도하여 DB에 있는 Refresh Token을 삭제함으로써 보안적으로 좀 더 강화하였다. |
문제 상황 |
winston을 사용하여 로깅을 하고 있었으나 일일이 찍어줘야 하는 불편함이 발생하여 다른 기술을 찾아보고자 함 |
선택지 |
1안) tracer + morgan 2안) sentry + morgan |
의견 조율 |
1안의 경우 사용했을 때 winston과 별다른 차이점을 느끼지 못했고, 2안이 보다 시각적이고 간편하게 에러를 추적할 수 있었다. |
의견 결정 |
2안(sentry)을 사용했을 때 에러데이터를 쉽게 수집할 수 있고, 시각적으로 볼 수 있어 좋아보였다. 또 에러가 생겼을 때 슬랙으로 알람이 와서 간편하게 에러를 추적할 수 있고, 즉각적으로 대처가 가능하여 2안(sentry)을 채택하였다. |
문제 상황 |
테스트코드 없이 개발을 했을 때 API가 잘 작동하는지 확인하려면 일일이 직접 입력값을 넣어야 했기 때문에 리팩토링을 하거나 오류가 생겼을 때 수정을 하고 고치는 작업에 시간이 많이 소요가 돼 팀의 생산성이 떨어지는 상황이 발생 |
선택지 |
1안) Mocha 2안) Jest |
의견 조율 |
1안의 경우 다른 라이브러리의 설치 및 작업이 필요했고 2안의 경우 1안보다 기능이 적지만 문서화가 잘되어 있고 가볍고 간단하다는 장점이 있다. |
의견 결정 |
시작하기 쉽고 빠르게 적용이 가능한 2안(jest)을 채택하였다. |
문제 상황 |
협업 시 코드 배포를 해야하는 상황이 빈번히 발생하여 배포 하는 데 많은 시간이 소요 되고 불필요하고 반복적인 과정을 줄이고 싶은 필요를 느꼈다. |
선택지 |
1안) Jenkins 2안) Github Actions (CI) + AWS CodeDeploy(CD) 3안) Github Actions (CI/CD) |
의견 조율 |
1안: 사용자가 많지만 젠킨스만을 위한 인스턴스가 필요하고 세팅이 복잡하다 2안: aws 하나로 관리가 가능하지만 요금이 발생하는 단점이 있다. 3안: 툴 설치 없이 바로 github repository에서 관리할 수 있고 설정이 쉽다 |
의견 결정 |
프로젝트 막바지에 적용을 하려다 보니 효율을 고려하지 않을 수 없었다. 그렇기 때문에 우선순위를 시간과 접근성에 두고 찾다보니 3안(github action)이 찾던 조건에 가장 부합하여 채택하였다. |
이름 | 역할 |
---|---|
백지영 | 모의 면접, s3 multer, morgan |
김민섭 | 로그인, 회원정보 수정, 회원 탈퇴, 휴면 회원 관리, 테스트 코드 작성, ci/cd |
장민영 | 회원 가입, 스웨거, 부하테스트 작성 |
최예닮 | sentry, 테스트 코드 작성, 부하 테스트 작성, helmet 구현 |