데이터 동기화의 필요성
아무래도 게임 주제의 개인 프로젝트 이다보니, 게임은 계속 패치하는데 혼자 작업하다 보니 패치 속도를 따라가지 못해 누락되는 데이터가 너무 많다.
초창기에 해두지 않으면 나중에 모든 데이터를 동기화 하려면.. 로직 짜는데 엄청난 시간이 소비 될 것 같으니 미리미리 해 두려고 하는데, 작업 들어가기 전에 필요 기술들에 대해 나열하고 작업하면서 기록해 두려고 한다.
일단, API를 제공해주지 않기 때문에 자료를 열심히 찾아서 처음에 개발을 진행했었다.
데이터들은 다음과 같은 곳에서 가져 올 수 있었다.
https://github.com/Kengxxiao/ArknightsGameData
GitHub - Kengxxiao/ArknightsGameData: 《明日方舟》游戏数据
《明日方舟》游戏数据. Contribute to Kengxxiao/ArknightsGameData development by creating an account on GitHub.
github.com
https://github.com/Aceship/Arknight-Images
GitHub - Aceship/Arknight-Images: Some arknight image for website
Some arknight image for website. Contribute to Aceship/Arknight-Images development by creating an account on GitHub.
github.com
각각 JSON 데이터와, Image 리소스를 제공해 주고 있다.
필요 기술들은 어떤 것들이 필요할까?
- 자동적인 데이터 동기화를 위해서 schdule 기능
- 이미지 리소스가 업데이트 되면, S3에 업로드 해 주는 기능
- 많은 데이터를 비교하고, 재구축하고, 이미지까지 처리하다 보니 그동안 서버가 다른일도 병행 할 수 있게 하는기능
- 마찬가지로 한번에 많은 데이터를 처리하기 때문에, transction 기능
- 이미지 리소스등이 업로드 되지 않아서 수동으로 처리해야 하는 부분도 있기 때문에, 어디서 실패 하였는지, 누락된 데이터는 무엇인지 log 작성 기능
- 각 schdule, job이 정상적으로 작동하는지에 대한 분석 툴
일단 이정도가 필요할 것 같고, 각각 데이터 동기화를 로직들도 따로 작성을 해 주어야 해야 한다.
작업 하면서, 주요 기능들에 대해 포스팅 하면서 넘어가려고 한다. (기존에 포스팅 해 둔 글이 없더라구요 ㅠ_ㅠ)
최근들어서, 어떤 작업들을 했는지 기록을 남기는게 굉장히 중요한데 업무가 바빠서 패스한게 너무 많은걸 후회 하는 중이다..
git쪽도 대부분 회사 프로젝트를 진행해서 github도 이제 시작해서 텅텅 비었고 ㅠ_ㅠ..
화이팅 해 봐야겠다..
'프로그래밍 일지 > 명빵' 카테고리의 다른 글
[개인프로젝트] 데이터 동기화 내용 요약 (0) | 2023.05.12 |
---|---|
[개인프로젝트] Redux->Mobx 전환 및 typescript로 변환 (0) | 2023.05.05 |
[개인프로젝트] 오퍼레이터 목록 검색 , infinite scroll, 상태관리 (0) | 2023.03.23 |
[개인프로젝트] EC2 Next.js App 배포 (Ubuntu + next.js + pm2 + nginx + Route53 + Ec2 LB) (0) | 2023.03.21 |
[개인프로젝트] EC2 Mysql, MongoDB Setting 및 data transper (0) | 2023.03.20 |