728x90
프로젝트를 진행하는 4주 동안 팀 노션 페이지에 팀원과 매일 작성한 트러블슈팅 + 개발 과정을 블로그에 옮겨 작성했습니다.
다만, 노션에서 사용했던 코드블럭이 더 가독성이 좋은 것 같아 캡쳐한 이미지를 옮기는 방식으로 작성합니다.
+ 모바일은 보기 불편하실 수 있습니다 ㅠㅠ
목차
1주차 4.28 - 5.2
4.28

4.29

4.30
- byte[] → json 으로 패킷 형식 변경으로 대공사 진행
- Packet.js 로 class를 이용해 패킷 형식을 관리, json을 사용하기 용이하도록 변경
5.1



5.2


2주차 5.3 - 5.9
5.3

5.4



>> 이 방법은 발생한 에러를 해결하긴 했으나 더 나은 방식이 있음을 프로젝트가 끝나고 알게 되었다.
초반 구현할 때 쓰던 방식인 <헤더에 메세지의 크기를 명시>하는 방식이 더 많이 사용한다고 한다.
헤더에서 받은 메세지의 크기만큼 모두 수신할 때까지 반복문을 돌며 대기하는 방식!!
5.5

>> 달랑 이게 적혀있다 ㅋㅋㅋ 하루종일 동기화와 씨름했던 날인가보다...
5.6

5.7





5.8



5.9
- 서버의 처리속도를 확인했다. 평균 0.3ms가 나오는 것을 확인하고, 일단 서버의 최적화는 아직은 건들지 않아도 괜찮겠다고 생각했다.
- winston을 이용해서 서버에서 로그 처리하는 부분을 바꿨다. 그리고 오류나 로그를 저장해서 저장하도록 만들 었다.
- 서버 코드에 여러가지 예외처리를 넣어주었다.
a. json을 파싱할 때, 오류가 생기면 서버가 종료됐는데, try-catch 구문을 사용해서 서버가 종료되지 않도록 바꿨다.
3주차 5.10 - 5.16
5.10

5.11


5.12



(+ 캐시 삭제 이후 서버 먹통 현상은 발생하지 않았습니다)

5.13

5.14

5.15

5.16

string resultTime = string.Format("{0:D2}:{1:D2}:{2:D2}", TimeSpan.FromMilliseconds((long)_playerResults[i].goalTime).Minutes
, TimeSpan.FromMilliseconds((long)_playerResults[i].goalTime).Seconds
, TimeSpan.FromMilliseconds((long)_playerResults[i].goalTime).Milliseconds / 10);
GetComponent<TextMeshProUGUI>().text = resultTime;

4주차 5.17 - 5.24
5.17

5.18


5.19

5.20

5.21

5.22

5.23

'나만무' 카테고리의 다른 글
나만무 : Sleighers 프로젝트 소개 및 정리 (0) | 2024.06.08 |
---|---|
[GitHub Actions + EC2] 두 branch에서 서로 다른 서버 배포하기 (0) | 2024.05.10 |
[EC2 + RDS] EC2 터미널에서 node.js 서버 실행하기 (0) | 2024.05.08 |