API 정리글 작성중이었던 것
캡처본만 봐도 화가 치밀어 오른다.
선 요약
pubg api document가 너무 불친절하다. 어떤 점이 불친절하냐면 seasonId라는 파라미터를 요구하는 api가 있는데 example이 없어 직접 다른 api에서 필요한 데이터를 찾아다가 넣어야한다. 그래서 모든 api를 순서대로 차근차근 따라가면서 제공 되는 데이터 유형을 파악하고 거기서 파악한 데이터들을 다음 순서의 api에 파라미터로 넣고 하는 작업을 해야 어떤 데이터가 제공되는지 파악을 할 수 있는 구조였는데 1분에 10개 제한이 걸려있어서 성격만 버릴 것 같아 예시도 많고 120초에 100회 호출 제한인 lol로 변경하려고 한다.
물론 유료 결제를 하면 제한이 풀리지만 이미 전 프로젝트에서 해본 클라이언트 사이드 api 요청에 시간과 자원을 많이 쓸 수 없기에 포기했다. 이번에도 혼자 풀스택 개발을 해야하는 상황이라 api 부분에서 이렇게 시간이 끌리면 곤란해서 빠르게 체제전환을 하기로 했다.
예상 변경점
기본적으로 전적 검색 + 게임 정보 제공의 틀은 그대로 가져갈 예정이다. riot api를 더 살펴봐야겠지만 오히려 제공할 수 있는 정보가 많아 웹 서비스 자체는 더 다채로워질 것 같다.
배틀그라운드 맵 소개 -> 챔피언 소개 및 승률
배틀그라운드 장비 소개 -> 리그오브레전드 아이템 소개
배틀그라운드 패치노트 -> 리그오브레전드 패치노트
왜 이렇게 됐을까
사실 엄밀히 말하면 내 실수가 맞다. 저번 프로젝트에서 느꼈던 점이 기획의 중요성이었어서 이번 프로젝트에는 기획단부터 모든걸 설계하고 들어가자고 다짐했었는데 ui, 디렉터리, 사용 기술 등은 잘 계획하고 들어갔는데 제일 중요했던 재료인 api를 체크 못하고 프로젝트에 돌입했다. 저번 프로젝트에서 썼던 카카오 sdk가 진짜 신이었구나 라는 생각이 들었고 riot api는 사전에 조사를 좀 열심히 해서 끝까지 완주 해봐야겠다.
계획 재수립
시간이 날 때 마다 채용 공고 사이트를 둘러보는데 CI/CD 경험을 요구하는 기업들이 눈에 띄게 많다는 것을 느꼈다. 이전 프로젝트에서 Git Action을 이용해 파이프라인을 구축 했던 경험이 있긴 하지만 Docker를 도입하면서 자연스럽게 사용하지 않게 됐는데(물론 도커로도 CI/CD 파이프라인을 구성하는게 가능하지만 명령어에 익숙해지고자 직접 터미널에서 사용했었다) 이번에는 파이프라인 구축을 좀 적극적으로 도입해서 배포 시기를 좀 앞당기고자 한다.
배포 시기를 앞당긴다는게 무슨 의미냐면 이전에는 내가 계획했던 프로젝트를 다 완성하고 나서야 배포를 했는데 이번에는 좀 덜 완성된 버전이라도 배포를 앞당겨 버전 관리를 좀 제대로 해서 웹 서비스가 발전하는 과정을 기록해보고 싶다.
현재 구상하고 있는 YOUR.LOL의 개발 우선 순위는
- 전적 검색 기능
- 챔피언 관련 기능 (승률, 픽률 등 정보)
- 아이템 정보
- 패치 노트 페이지
정도인데 1번이 완성되는 시점부터 CI/CD 파이프 라인을 구축하여 배포를 시작할 것 같다. 그리고 1번 기능은 아마 클라이언트 요청이 주가 되는 기능이라 next.js 자체 백엔드 기능으로 개발을 할 것 같고 2번 기능부터 이전에 말했던 RDBMS와 Spring Boot로 서버를 구축하여 기능 개발을 하려고 한다.
그래서 1차 목표는 계획서에 작성했었던 기간 엄수다. 솔직히 자신은 없긴 한데 8.2 까지 첫번째 버전 배포를 하는게 목표다. 그리고 배포된 프로젝트로 계속 입사 지원도 해보면서 발전하는 모습을 생생하게 기록해보고싶다. 열심히 만들었는데 아쉽다 재사용 할 수 있게끔 해놓았으니 헛수고는 아닐 것이라 믿는다.
Ghost