본문 바로가기

나만무

4주 간의 트러블 슈팅 모음

728x90

 

 

프로젝트를 진행하는 4주 동안 팀 노션 페이지에 팀원과 매일 작성한 트러블슈팅 + 개발 과정을 블로그에 옮겨 작성했습니다.

다만, 노션에서 사용했던 코드블럭이 더 가독성이 좋은 것 같아 캡쳐한 이미지를 옮기는 방식으로 작성합니다.

+ 모바일은 보기 불편하실 수 있습니다 ㅠㅠ

 

  목차

1주차 4.28 - 5.2

2주차 5.3 - 5.9

3주차 5.10 - 5.16

4주차 5.17 - 5.24

 

 

 

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