[꼼꼼한 개발자] 꼼코더

41. [개발일지] - [피파 온라인 4 프로젝트] - 06. 유저의 경기 종류별 역대 최고 등급 조회기능 개발 (1) (유지보수 향상 방법, 개발 가닥 잡기) 본문

개발일지/피파 온라인 4 프로젝트

41. [개발일지] - [피파 온라인 4 프로젝트] - 06. 유저의 경기 종류별 역대 최고 등급 조회기능 개발 (1) (유지보수 향상 방법, 개발 가닥 잡기)

꼼코더 2023. 5. 17. 14:53
반응형

💻  다음 개발예정 기능

현재 지금까지 [유저 닉네임으로 유저 정보 조회], [유저 고유 식별자로 유저 정보 조회]를 개발했다

다음은 아래에 있는 [유저 고유 식별자로 역대 최고 등급 조회]를 개발해 보자.

 

접속해 보니 [https://api.nexon.co.kr/fifaonline4/v1.0/users/{accessid}/maxdivision]로 요청하면 결과를 얻어온다고 확인된다.

그렇다면 accessid를 넣어서 요청 테스트 후 결과 값을 확인해 본다.

 

응답 결과로 matchType(경기 종류), division(최고 티어), achievementDate(달성 날짜)가 반환되는 걸 확인할 수 있다.

 

하지만 여기서 더 확인할 게 있다. 

설명 부분에 보면 (/metadata/??? API 참고)가 보인다. 바로 확인해 보자.

 

 

[메타정보] 카테고리를 선택하니 여러 메타데이터를 조회할 수 있다.

여기서 내가 확인할 [매치 종류, 등급 식별자]의 메타데이터를 조회해 보자.

 

 


 

🔎 메타 데이터 조회 (매치 종류, 등급 식별자)

  • 매치 종류를 확인해 본다.
    • https://static.api.nexon.co.kr/fifaonline4/latest/matchtype.json로 요청 시 우측 사진과 같은 데이터를 반환한다.

 

 

  • 등급 식별자를 확인해 본다.
    • https://static.api.nexon.co.kr/fifaonline4/latest/division.json로 요청 시 우측 사진과 같은 데이터를 반환한다.

 

 

 


 

 

🧑🏻‍💻 개발 흐름 구상 계획(개발할 가닥 잡기)

자 이렇게 데이터들을 확인하고 나니 개발할 가닥이 잡혔다.

아래와 같은 개발할 기능 순서를 확인할 수 있다.

 

  1. 유저 고유 식별자로 역대 최고 등급 조회
  2. 피파의 메타 데이터 조회 (매치 종류, 등급 식별자)
  3.  유저의 matchType(경기 종류), division(최고 티어)의 식별 번들을 피파 메타 데이터와 매칭시켜 값을 추출
  4. 추출한 데이터를 경기당 1개의 객체(DTO)로 변환 후 리스트로(감독, 공식) 모아서 화면에 표현

 

이 정도가 흐름이 잡힌다.!

 

이때 마음속 3인방이 이런 이야기를 꺼낸다.


🤷🏻 마음 1 : "그냥 2번(조회) 하지 말고 그냥 공식 문서결과를 하나씩 확인하면서 조건문 넣어서 처리하자!"

🙆🏻‍♂️ 마음 2 : "그래! if(matchType == 50) { match = "공식경기"} 이렇게 말이야!  엄청 쉽고 괜찮지 않아?"

🙎🏽‍♂️ 마음 3 : "물론..! 시간은 걸리겠지만! 처음만 고생이지 버그 잡고, 구현 성공의 난이도도 생각해 보면 해볼 만하지 않아?"

하지만 좀 더 길게 볼 줄 아는 게 중요하다.

 

🧖🏻‍♂??? : "만약 넥슨에서 [공식경기 > 공식게임 경기], [프로 3 > 프로 유망주 3], [브론즈라는 새로운 티어 추가]처럼 변경과 추가되는 데이터가 있으면 그럼 그때도 일일이 다 수정하는 게.. 이거 이거 맞아???!!?"

(침묵..)

그렇다 그러니 추후 유지보수를 위해서라도 내가 받아온 데이터들을 

'피파의 데이터베이스에 있는 메타데이터와 매칭시켜 반환하는 것이 유지보수 측면에서 매우 중요하다!'

 

자 어서 빨리 개발을 시작해 보자.

 

 

 

 

 

 

 

 

Comments