[꼼꼼한 개발자] 꼼코더
41. [개발일지] - [피파 온라인 4 프로젝트] - 06. 유저의 경기 종류별 역대 최고 등급 조회기능 개발 (1) (유지보수 향상 방법, 개발 가닥 잡기) 본문
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로 요청 시 우측 사진과 같은 데이터를 반환한다.
🧑🏻💻 개발 흐름 구상 계획(개발할 가닥 잡기)
자 이렇게 데이터들을 확인하고 나니 개발할 가닥이 잡혔다.
아래와 같은 개발할 기능 순서를 확인할 수 있다.
- 유저 고유 식별자로 역대 최고 등급 조회
- 피파의 메타 데이터 조회 (매치 종류, 등급 식별자)
- 유저의 matchType(경기 종류), division(최고 티어)의 식별 번호들을 피파 메타 데이터와 매칭시켜 값을 추출
- 추출한 데이터를 경기당 1개의 객체(DTO)로 변환 후 리스트로(감독, 공식) 모아서 화면에 표현
이 정도가 흐름이 잡힌다.!
이때 마음속 3인방이 이런 이야기를 꺼낸다.
🤷🏻 마음 1 : "그냥 2번(조회) 하지 말고 그냥 공식 문서결과를 하나씩 확인하면서 조건문 넣어서 처리하자!"
🙆🏻♂️ 마음 2 : "그래! if(matchType == 50) { match = "공식경기"} 이렇게 말이야! 엄청 쉽고 괜찮지 않아?"
🙎🏽♂️ 마음 3 : "물론..! 시간은 걸리겠지만! 처음만 고생이지 버그 잡고, 구현 성공의 난이도도 생각해 보면 해볼 만하지 않아?"
하지만 좀 더 길게 볼 줄 아는 게 중요하다.
🧖🏻♂??? : "만약 넥슨에서 [공식경기 > 공식게임 경기], [프로 3 > 프로 유망주 3], [브론즈라는 새로운 티어 추가]처럼 변경과 추가되는 데이터가 있으면 그럼 그때도 일일이 다 수정하는 게.. 이거 이거 맞아???!!?"
(침묵..)
그렇다 그러니 추후 유지보수를 위해서라도 내가 받아온 데이터들을
'피파의 데이터베이스에 있는 메타데이터와 매칭시켜 반환하는 것이 유지보수 측면에서 매우 중요하다!'
자 어서 빨리 개발을 시작해 보자.