ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SW 정글 109일차] 나만의 무기 17일차 (큰 변화를 가졌다)
    기타/SW 사관학교 정글 2021. 11. 20. 04:09

    오늘은 어제의 3차 발표 후에 했던 KPT회의와 앞으로의 개발 방향성을 토대로 다시 회의를 가졌다.

    회의 주요 포인트는 우리의 main flow의 기능 중 하나인 인증요청/수락을 도입하기 위해 어떻게 해야하는 것이다.

    프로젝트 시작 시의 기획 후에 만든 와이어프레임을 바탕으로 개발을 해왔지만 인증요청/수락을 도입하려고 했는데 UI적 요소나 프론트엔드 쪽에서의 불편한 요소들이 보였다.

    그래서 전체적인 그림을 바꾸자는 결론이 나왔고 다시 와이어프레임을 그리면서 짜잘한 것들은 다 쳐내고 서비스를 런칭하는데 반드시 필요한 요소들을 생각하면서 진행했다.

     

     

    다시 그린 와이어프레임은 아래와 같다.

     

    처음에는 지인기반 챌린지만 기능을 도입하고 나중에 모르는 사람들과의 챌린지를 도입하기로 했다.

    그래서 챌린지 검색기능은 후순위였고 친구를 챌린지로 참여시키기 위한 초대 기능이 존재했다.

    하지만 처음부터 모르는 사람들과도 함께하는 챌린지로 서비스를 만들자고 했고 이를 위해 챌린지 검색기능을 넣기로 하고 친구초대기능은 필수로 넣는 기능에서 제외했다.

    그리고 main page에 사람들이 키우고 있는 생명체들을 보여주는 것과 어떠한 챌린지를 얼마나 열심히 하는지를 보여주었는데 이 부분이 목표달성이라는 메인 컨셉을 보여주기에는 다소 약하다는 의견이 나왔다.

    그래서 main page를 우리의 기획의도에 맞게 수정하고 전체적인 UI도 새롭게 구성해나갔다.

     

    이렇게 와이어 프레임이 처음과는 많이 바뀌었지만 재사용가능한 것들이 있고 다시 배치만 하면 되므로 시간이 오래 걸릴 것 같지는 않다.

    우리의 목표는 다음 주 화요일까지 main flow를 완성하고 더 붙일 기능을 붙이고 테스트를 해보는 것이다.

    그리고 백엔드에서 어떠한 챌린지적인 개발을 할지를 고민해야한다.

    지금 나온 챌린지적인 것들은 다음과 같다.

    1. 이미지 리사이징을 위한 이미지 프록시 도입 (혹은 다른 방안 생각해보기)
    - 지금은 너무 큰 이미지가 S3에 저장되고 이는 요청/응답 시에 지연을 유발할 수 있다.

    2. 캐시정책도입
    - 캐시를 통해 자주 응답해주어야할 데이터를 레디스같은 시스템을 도입해서 성능 개선

    3. 부하테스트
    - 원(one)서버에서 감당못할 부하를 주면서 서버설계 개선

    4. 로드밸런싱

    5. 쿼리 튜닝
    - 쿼리문을 보내어 DB 조회, 수정 시에 시간 단축

     

     

     

    그리고 다음으로 한 것은 미루었던 DB모델링을 다시 하는 것이다.

    처음에 하루만에 짠 DB모델과 테이블들은 개발을 할수록 많이 바뀌어갔고 개선해야할 필요성을 느꼈다.

    필요한 column이 생길때마다 그때그때 추가하면서 개발을 했는데 이제는 다시 ERD를 그리고 naming rule을 세워서 테이블 name이나 field name도 바꿔야했다.

    그래서 ERD를 다시 그렸다.

    확실히 바꾸고 나니까 이전보다 편하다는 느낌을 받았다.

    이제 남은 것은 기존에 짰던 API에 들어있는 쿼리문을 리팩토링하는 것이다.

    귀찮고 노가다성이 보이지만 빨리 해놔야하는 일이다.

    일단은 테이블은 위 ERD에 맞게 생성해놓고 dummy data도 옮겨놓았다.

    내일 api 수정을 하려고 한다.

     

     

     

    <해야 할 일>

    기존 api 수정 (쿼리문 리팩토링 -> 테이블명, column명 바꾸기), 테스트

     

    web RTC를 활용한 감정표현기능 개발 -> 한 유저가 행복해요라는 감정표현 버튼을 누르면 다른 유저들에게도 보이게 하는 것

    -> web RTC를 쓰는 이유?

    아직 기술 선정 이유는 없다.

    하지만, 현재 socket.io를 쓰고 있고 채팅기능도 일단은 socket.io를 써서 개발할 계획이여서 내가 web RTC를 쓰면서 이 둘의 장단점을 비교해볼 생각

     

    DB pooling connection 도입

    댓글

Designed by Tistory.