Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

회고록

celinaym edited this page Nov 20, 2022 · 23 revisions

📆 회고록

하루하루를 돌아보며 작성한 문서

목차


2022/11/18 - 15일차

[김상범]

처음에 백엔드적인 기술을 여러 기술스택의 경험이라고 생각했지만 피드백을 통해서 더 중요한 부분들이 있다는 것을 알고 프로젝트를 몇번이나 바꾸게 되었다. 몇번이나 바꾸게 되면서 중간 발표때 보여줄 수 있는 부분에 한계가 있지만 지속적으로 고민한만큼 앞으로는 흔들리지않고 나아갈 수 있다고 생각한다.

[안성후]

주제가 계속 바뀌어 이틀 동안 만들어 중간 발표에 보여 줄 수 있는 것이 많이 없겠지만 후에 작업할 시나리오 추가와 고도화 작업을 통해 보다 나은 결과물과 그에 맞는 실력을 겸비할 수 있을 것 같습니다.

[정영민]

항해에서 처음 시도하는 백엔드 반이었기 때문에 어떠한 내용을 중점적으로 보여드려야 하는지, 지향/지양해야 할 점이 무엇인지, 서비스 반과 어떤 면에서 차별점을 두어야 할지 등을 팀원들과 계속 고민했었던 것 같다. 처음에는 기술 스택들을 많이 다뤄보고 보여드리는 것이 좋을 것 같아 이런 저런 기술들을 다 모아 사용할 수 있는 주제를 선정했는데 선 기술 후 주제의 방식으로 진행했더니 진도가 나가는 듯 하면서도 결국에는 의미 있는 결론으로 나아가지 못했다. 이후 멘토링 시간에 오시영 멘토님의 조언들 덕분에 어떠한 방향성으로 나가야 할 것인가에 대한 생각이 조금씩 정립되기 시작했고 1/3이 지난 시점에 주제를 정할 수 있었다. 누군가에게는 이제 막 주제를 정하고, api 설계 및 작성을 완료한 것이 느리다고 생각되어 질 수 있지만 내게는 이러한 결과물들보다 고민했던 시간들에서 얻을 수 있는 것들이 더 많았기에 남은 4주 동안 겪을 버그들과 어려움 속에서 성장할 앞으로가 더 기대된다.


2022/11/19 - 16일차 #중간발표 회고

[김상범]

[안성후]

[정영민] 중간발표까지의 다른 팀들의 결과물들을 보면서 시나리오와 기획적인 면에서 조금 더 구체화하는 것이 필요해보인다.

1. MVP 중간발표 자료

2. 스택별 트러블슈팅 기록

  • 프로젝트를 진행하면서 직면한 문제를 어떤 과정으로 해결 하셨는지, 기록 해 주세요
    • Back-End
      • 주제 1 : 게스트 유저 관리

        도입 이유 유저들의 접근성 증대를 위해 회원가입을 하지 않고 서비스 이용을 할 수 있도록 하기 위함
        문제 상황 유저가 아닌 게스트가 접속했을 때, 게스트 유저의 정보를 어떻게 관리할 것인지에 대한 방법 필요
        해결 방안 1안) [mysql] Guest User Pool 생성 후 게스트 접속 시, 하나씩 꺼내서 할당
        2안) [mysql] Guest 로그인 요청 시 계정 생성 및 데이터 관리
        3안) [redis] Guest 로그인 요청 시 계정 생성, 일정 시간 이후 만료
        의견 조율 1. 데이터 삭제 비용이 크다
        1. 게스트 데이터는 추후 다른 방향으로 활용 가능하다 | | 의견 결정 | 휘발성이 높은 데이터라 판단하여 REDIS를 활용하고자 했으나, 추후 활용 가능성이 있고 I/O이 많은 데이터가 아니므로 DB에 지속적으로 유지하기 위해 MYSQL로 선정 |
      • 주제 2 : Token 전략

        도입 이유 refresh token과 access token의 보안 강화
        문제 상황 refresh token과 access token 모두 header에 담아 클라이언트의 local storage에
        저장할 경우 XSS 공격에 취약해짐
        해결 방안 1안) refresh token은 http-only cookie에 access token은 헤더에 담아 보내기
        2안) 실제 refresh token 값은 db에 저장 후 해당 index만 http-only 쿠키에 저장
        의견 조율 access token에 최소한의 유저 정보만이 들어가야함(sub: email -> db id로 변경)
        의견 결정 access token은 해당 유저의 db id값을 subject로, 권한(user,guest)을 claim으로 가지며 header에 실림. refresh token은 유저 정보는 가지지 않으며 http-only cookie에 저장.

4. 중간 발표 후 회고

1) 미구현 된 MVP 기능

  • 화상채팅 기능 : 000 까지 완료 했으며, 000 부분 구현 중

2**) 추가/개선 할 기능과 그 이유**

  • (추가) 실시간 채팅 : 협업하는 과정에 있어 커뮤니티 기능을 부여하기 위해
  • (개선) 기가막힌 기능 : 울 프로젝트를 더욱 멋직 만들기 위한 기깔나는 기능

3**) 추가/개선할 기능을 어떻게 구현 할 것인지**

  • ex) 사용할 라이브러리와 그 이유
  • 실시간 채팅 → websocket(또는 socket.io) : 새로운 데이터가 들어오면 먼저 서버가 클라이언트에게 데이터를 전송하는 기술이므로 실시간 채팅 메세지를 주고받는 방식에 적합함

4. 앞으로의 계획 및 우선순위

순위 구분 앞으로의 계획 (구체적으로) 마감예정일자
1 MVP - 미구현 된 000 기능 구현하기 11월 21일 (월)
2 MVP - 미구현 된 000 기능 구현하기 11월 21일 (월)
3 개선 - 부하테스트 후 응답속도 개선 11월 24일 (목)
4 추가 - 엘라스틱서치 자료 검색하기 11월 24일 (목)
5 추가 - 엘라스틱서치 적용하기 11월 30일 (수)

5. 이번주까지 해야할 일

  • 팀 전체 (리더와 부리더님께서 필두로 정리해 주세요.)
    • [ ]
    • [ ]
    • [ ]
  • 팀원 개인별로 작성해 주세요.
    • [ ]
    • [ ]
    • [ ]