-
Notifications
You must be signed in to change notification settings - Fork 0
6주차 팀회고
namewhat99 edited this page Dec 15, 2023
·
1 revision
- 최종 발표자료 만들기
- 멘토링
- ReadMe 수정
- GitHub Wiki 수정
- 홈 화면 개편
- 요청 / 대여 게시글 목록 분리
- 새로고침 필요한 경우에만 이루어지도록 개선
- 숨긴 게시글 관리
- 채팅방 마무리
- 검색화면
- 프로필 수정 로직 수정
- 게시글 숨기기 수정
- 탈퇴 화면 관리
- 새로고침에 숨김 추가
- 게시글 상세화면
- 서버에서 403 응답올 시 로그인 화면으로 이동 구현
- PHPicker에서 UIImage로 불러올 수 없는 이미지 포맷 불러오기
- 게시글 상세화면 이미지 디테일뷰 구현
- 홈 화면 페이지네이션 개선
- 리팩토링
- chat/unread API 구현
- 신고하기 API 구현
- BlockUser 기본 이미지 처리
- 채팅방 읽음 처리 수정PHPicker에서 UIImage로 불러올 수 없는 이미지 포맷 불러오기
- 게시글 상세화면 이미지 디테일뷰 구현
- 홈 화면 페이지네이션 개선
- 리팩토링
- vpc 서버로 배포
- 차단, 신고 API 수정
- 서버 바꿨는데 배포주소를 바꾸지 않아 찾는데 한참 걸림
- Docker 로 말아서 실행시키니가 한국시간과 맞춰지지 않는 문제가 생겨 iOS에서 시간이 맞지 않는 문제가 생김
- Docker 서버시간을 한국시간으로 맞추는 것으로 해결
- 웹소켓은 기능을 확장해나가면서 내부 구현을 자주 변경하게 되는 것 같아요. 현재 프로젝트는 URLSessionWebsocketTask 로 구현이 되어있고 WebSocket 객체와 구현방식의 결합도가 높은 상황이에요.
- 구현체(URLSessionWebsocketTask) 와 객체의 결합도를 낮출 수 있는 방향을 고민해보면 좋을 것 같아요.
- 이를 Starscream 으로 바꾼다면? Network 를 이용해 직접 구현하도록 변경한다면? 이를 안전하게 스위칭을 어떻게 할 수 있지?
- 위와 같은 고민들이 도움이 될 것 같아요
- URLSessionWebsocketTask에서 Starscream 대비 어떤 장단점이 있을까요?
- 메모리에 연결된 소켓을 유저 단위로 저장했을 때 접속자가 많아지면 서버의 메모리 부하가 발생할 수 있을 것 같은데 이 부분에서 어떻게 처리를 하셨고 동시 접속 인원을 몇명까지 고려하셨는지 궁금합니다.
- 채팅과 웹소켓 관련 처리에서 조금 더 깊게 고민할 수 있는 좋은 과제였다고 생각합니다. 읽음 처리에 관한 경우는 클라이언트가 서버에 last readMessage 의 timestamp를 저장하도록 변경하면 조금 효율적이었을 것 같다는 생각이 듭니다.
- 또한, 오전 발표한 모든 iOS 프로젝트를 진행하시는 캠퍼분들, 앱 소개에 대한 readme.md는 잘 설명되어있지만, 해당 프로젝트를 개발자 모드에서 개발환경을 구축할 수 있도록 설명된 부분은 찾지 못했습니다. 모든 캠퍼가 각자의 개발환경에 맞게 셋팅되고 그것을 변경해야 할 필요성을 느끼지 못했기 때문인데, 그만큼 다른 캠퍼의 git에 접근해볼 기회가 없었다고 생각합니다. git에 공개로 기록해놓고 그것을 개발 코드까지 공개되었다면 해당 프로젝트를 개발 환경에서 돌릴 수 있도록 설정하는 가이드도 있으면 좋겠다고 생각합니다.
- 사소하지만, 게시글을 등록할 때, 대여 시작, 종료 입력 단계에서 왜 기본 date picker를 사용하지 않고, 커스텀 picker를 사용했나요?
- 로그를 모두 기록하는 방식으로 디버깅을 하셨는데, 저희도 공감이 되었습니다. 그런데 저희 같은 경우 대량의 요청이 발생하면 로깅만으로도 상당히 오버헤드가 발생하였지만 아직 해결하지 못하였는데요. 혹시 이 부분에 대해서 고민하신 부분이 있는지 궁금합니다.