works 이수정 - connect-foundation/2019-07 GitHub Wiki

About 이수정

sujeonglee 💬
프론트엔드? 백엔드? 그냥 프로그래밍이 재밌고 좋아요!
함께 일하고 싶은 개발자를 꿈꾸는 이수정입니다.😃

📌 제가 프로젝트에 남긴 commit들 이에요
📌 제가 프로젝트에서 맡은 issue와 pr들 이에요

💻 소소하지만 정리하는 것을 좋아해 블로그를 운영하고 있어요
🌱 @2ssue GitHub에 등록된 다른 프로젝트도 확인해보세요

📧 [email protected]


이수정 in Pickyforky

프로젝트를 하며 세웠던 목표

  • 미래를 위해 과거를 잘 남겨두기
  • 함께 일하고 싶은 동료가 되기
  • 내가 나중에 봐도 하지않는 코드짜기
  • index 파일은 최대한 로직을 숨기고 결과만 보이게 하기
  • 로직은 숨기되 뭘하는지 유추가 가능하게하기

대표 진행 작업

  • 게임 진행을 위한 소켓 통신 기반 작업
  • HOST의 게임 진행을 위한 페이지 제작, 소켓 통신 구현
  • 소켓 통신에서 사용할 ROOM정보 인메모리 리팩토링
  • Modal 컴포넌트 구현
  • HOST 방 선택 페이지 백엔드 API구현
  • HOST 방 상세 페이지 풀스택 구현

주차별 소개

각 주차별로 제가 무엇을 했는지 최근 순으로 소개합니다.

🐱‍🏍7주차

2019.12/16 ~ 2019.12/20

버전 1.0에서 발생했던 버그들을 수정하고, 프로젝트 소개를 위한 준비를 진행했습니다.

🐱‍🏍6주차

2019.12/09 ~ 2019.12/13

6주차는 서비스를 위한 프로젝트의 버전 1.0을 완성하기 위해 핵심 기능들에 대한 마무리 작업이 이뤄졌습니다.

원활한 게임 진행을 위해 Host의 게임 진행 상황에 따른 예외처리, Host가 관리하는 방을 삭제하는 기능을 맡아 구현하였으며, 기존 인메모리 DB는 배열형태로 구현되어 검색의 시간 복잡도가 높은 이슈가 있어 인메모리 DB 구조에 대한 리팩토링을 진행했습니다. 맡은 개발을 완료한 이후 남은 작업을 도와 방 상세 페이지에서 퀴즈 데이터를 출력하는 기능을 추가로 구현하였습니다.

개발 사항 | 관련 이슈 펼처보기
  • 프로젝트 파비콘 변경 #203
  • 인메모리 DB 구조 변경 #169 #163 #129
  • 방 상세 페이지 프론트엔드 구현 #79 #35
  • Host 게임 진행 페이지 UX 기능 추가 #176
  • 방 선택 페이지 방 삭제 기능 추가 및 입력값 유효성 검사 #34 #33 #162
  • 기타 의견 반영
    • Host 페이지 왼쪽 상단 현재 문제/총 문제 수 크기가 너무 작아요 #154
    • Host 게임 진행과 Player 게임 진행이 동일해서 문제를 풀 수 있는 줄 알았어요 #177
    • 2글자 닉네임, 자음/모음만도 입력 가능하게 해주세요 #149

🐱‍🏍5주차

2019.12/02 ~ 2019.12/06

이번 5주차엔 다시 PM 역할을 맡았습니다. 이번에 가장 신경썼던 부분은 issue들의 관리였습니다. 프로젝트 내에 중복된 내용이 담기거나, 이미 끝났지만 닫혀있지 않은 issue 등이 많아 작업량을 파악하기 쉽지 않았습니다. 그래서 이번에는 개발되지 않은 기능은 무엇인지 파악하고, 끝난 기능은 무엇인지 파악하기 위해 issue 관리에 노력했습니다.

5주차에는 그동안 구현한 기능들의 원활한 동작을 위해 방 상세 페이지와 방 선택 페이지를 백엔드와 연동하고, 공용 컴포넌트들의 버그 수정 및 도입을 맡아 진행했습니다.
버전 1.0에 가까워지기 시작하면서 기존 주차들보다 작업의 단위가 이전보다 작아져, 추가적인 작업이 이뤄졌습니다. 5주차까지 발견되었던 버그들과 지난 주차에 개발했던 Host 게임 진행 페이지의 결과 페이지 연동을 맡아 추가 개발하며 리팩토링을 진행하였습니다.

개발 사항 | 관련 이슈 펼처보기
  • 5주차 README 작성 #144
  • 방 선택 페이지 백엔드 구현 #34
  • 방 상세 페이지 백엔드 구현 #37
  • Host 퀴즈 진행 페이지 리팩토링 및 기능 추가 #136
  • Modal 컴포넌트 구현 #107
  • FlexibleInput 추가 기능 구현 #58
  • 기타 버그 수정
    • 404 페이지가 로그인 시 출력되는 버그 #135
    • Player가 새로고침, 나가기 시에는 leavePlayer가 동작하지 않는 현상 #70
    • 게임이 끝났을 때, Player 페이지가 메인으로 돌아가지 않는 현상 #137

🐱‍🏍4주차

4주차

2019.11/25 ~ 2019.11/29

4주차에도 지난 주차에 담당했던 소켓의 기능 업데이트퀴즈 진행 페이지 구현을 맡아 이번에는 실시간으로 Host의 신호에 맞게 Player와 퀴즈 진행이 가능하도록 개발하였으며, 기존에 개발되어있던 api 메소드 형태를 POST에서 GET 형태로 변경하는 리팩토링 작업을 맡아 진행하였습니다.

4주차 데모 시나리오

Host가 방 리스트 페이지에서 방을 선택하면 방 선택화면으로 이동하고, 퀴즈 대기실에서 퀴즈를 시작하면 방에 저장된 퀴즈가 시작된다. 각 퀴즈의 끝에는 문제의 결과를 출력하고, Host가 다음 퀴즈 버튼을 누르면 다음 퀴즈가 시작된다. 모든 퀴즈가 종료되면 최종 스코어 보드를 출력한다. 특이사항: 퀴즈 진행은 DB에서 호출하지 않고 인메모리로 불러왔다고 가정한 뒤 더미 데이터로 진행한다

🐱‍🏍3주차

3주차

2019.11/18 ~ 2019.11/22

3주차부터는 본격적인 개인 작업이 시작되었습니다.

2주차에 담당했었던 소켓 통신 작업을 확장해 유저의 입력에 따라 방이 나뉘도록 했고, 퀴즈 대기실 페이지를 접속하기 전, 관리자가 접속하게 될 페이지인 방 상세 페이지에 대한 프론트엔드 작업을 담당하게 되었습니다.

3주차 데모 시나리오

로그인한 사용자만 방을 열 수 있고, Host가 방을 열면 6자리 코드가 생성된다. Player는 입장한 방에 맞게 연결되어 Host의 신호에 따라 퀴즈가 시작된다.
Host가 열지 않은 방에 Player는 들어갈 수 없으며, 그에 따른 경고를 출력. 같은 방에 중복된 닉네임을 검사하고 경고를 출력한다.

  • 3주차 개발 사항 PR 및 ISSUE 보기
  • 개발 사항 | 관련 이슈
    • Host/Player 퀴즈 대기실 소켓 통신 기능 업데이트 | #32
      • 2주차에 구현했던 소켓 통신을 기반으로, Player가 입력한 방에 맞게 입장이 되도록 소켓 room을 구분지었습니다.
    • 상세 방 페이지 프론트엔드 구현 담당 | #35
    • 2주차 Host Page에 대한 사양 업데이트 반영 | #3

🐱‍🏍2주차

2주차

2019.11/11 ~ 2019.11/15

2주차에는 각자의 코드 스타일을 맞춰가기 위해 페어 프로그래밍으로 개발이 진행되었습니다.
짝코더 오창영님과 함께 게임 대기실 페이지 구현과 소켓 통신 구현 페어 프로그래밍을 진행했어요!

저희 팀은 일주일마다 PM역할을 돌아가면서 맡기로 했는데, 첫 주차인 2주차 PM은 제가 맡게 되었습니다. GitHub 프로젝트를 통해 스프린트를 관리하고, GitHub의 다양한 기능들을 활용해 프로젝트를 최대한 시각화 해보기 위해 노력해봤습니다.

2주차 데모 시나리오

메인 페이지에서 방번호 및 닉네임 입력하고 들어가면, Host가 퀴즈 시작을 눌렀을 때 Player는 카운트 다운이 시작
특이사항: 소켓 통신 테스트 단계로, 모든 Player는 어떤 방 번호를 입력하든 하나의 방으로 들어온다.

🐱‍🏍1주차

2019.11/4 ~ 2019.11/8

1주차에는 팀의 룰 만들기, 아이디어 기획, 화면 기획 등이 이루어졌습니다.
작업 분배에 각자의 파트가 나뉘기보다는 대부분 함께 회의를 진행하고 의견을 맞춰가며 작업했습니다.

프로젝트를 좀 더 편하게 보고, 관리할 수 있도록 프로젝트의 Wiki 구성을 고민해봤습니다.

⚠️ **GitHub.com Fallback** ⚠️