Project_D(Spring 이식 및 Refactoring)

신경연·2023년 5월 23일
0

Project_디붕

목록 보기
4/8
post-thumbnail

Project_디붕

Project_디붕은 온라인게임 ‘로스트아크’의 실시간 가격 정보를 가공하여 창출할 수 있는 최대 수익 방향을 제시하는 사이트입니다.

게임 내 물품 생산 활동의 정확한 계산식을 사용하는 사이트가 없어 불편함을 느껴, 개인적으로 정리하여 사용한 엑셀을 기반으로 Web Service를 만들었습니다.

디붕이네 공장

Spring 이식

Project_디붕은 부트캠프 시작 전 제공되는 사전 학습 자료(파이썬)를 바탕으로 만들었습니다. 그리고 부트캠프가 진행되면서 Spring을 배우기 시작했고, Spring 연습도 할겸 Spring으로의 이식을 하게 되었습니다. 물론 이식 뿐만이 아니라 여러가지 기능 추가 및 개선을 진행했습니다.

변경점

1) 전일 평균가 데이터

페이지 입장시 첫 화면에는 전일 평균가 데이터가 사용됩니다.

기존에는 매일 첫 방문객으로 Selenium을 실행하여, 방문객에게 약 5초간의 로딩시간을 기다리게 하였습니다. 이를 Schedule을 이용하는 것으로, 불편함을 해결하였습니다.

기존 : 페이지 첫 방문자로 Selenium을 실행하여 전일 평균가 데이터를 가져온다.(약 5초 소요)
변경 : Cron Schedule을 사용하여 매일 AM 00:10에 자동으로 데이터를 가져온다.

전일평균가 갱신 이슈 - 트러블슈팅?

2) 실시간 최저가 검색

Selenium -> OpenApi로 변경

기존에는 Selenium을 이용하여 최저가를 검색해서 가져왔습니다. 하지만 지금은 OpenApi를 사용할 수 있게 되었고, 기존 방식을 그대로 사용하기 보다는 OpenApi를 통해 데이터를 가져오도록 하였습니다.

기존 : Selenium. 약 2초. (전날 평균가는 5초.)
변경 : OpenApi. 약 0.5초. (Redis data는 거의 즉시.)

더 자세한 과정

3) 수익 계산 Server로 이동

기존에는 JavaScript에서 계산을 진행했었는데, Spring Backend 개발자를 목표로 하고 있기에 Server측으로 계산과정을 옮겨서 진행해 보았습니다.
RDS 요금을 관리하고자 계산식에 활용되는 데이터에 ENUM을 적극 활용하였고, 결과적으로 무료 범위를 초과하지 않게 이용하는 것에 성공할 수 있었습니다.

더 자세한 과정

4) CI/CD

프로젝트에 CI/CD도 연습겸 적용해 보았습니다.
배포가 훨씬 편해졌습니다.

현황

Spring으로의 이식을 마치고, 구글 애널리틱스까지 적용시킨 후 재배포를 하였습니다.
감사하게도 유저들에게 좋은 반응을 얻을 수 있었습니다.
현재는 50~80명 정도의 재사용자를 꾸준히 유지하고 있습니다.
프로젝트 회고

profile
반갑습니다

0개의 댓글