목록Project/사이퍼즈 서포터 (13)
만족
얼마 전부터, 불명의 원인으로 서버의 CPU수치가 100%로 치솟으면서 내려오지 않아 서버가 요청을 전혀 처리하지 못하는 현상이 발생하고 있다. 특정 프로세스, 특정 시간이나 특정 주기로 발현되는 증상도 아니고, 어쩔 땐 하루에 두번이나 저랬다가 또 어쩔 땐 몇주동안 발생하지 않는다. 아직 원인을 찾지 못해서 장애를 인지하면 문제가 되는 프로세스를 재시작하고 있다. 현재 서버 내 서비스 구조를 간단히 요약하면 위와 같다. 백엔드 프레임워크들끼리도 특정 기능을 의존하고 있고, DB는 거의 모든 api에서 사용하고 있기 때문에 이들 중 하나만 장애가 발생하더라도 연쇄적으로 장애가 발생한다. 장애가 발생할 경우 빠른 인지, 수정, 복구가 가능해야 하는데, 이 상황에서 가장 중요한 것은 '빠른 인지'기 때문에 ..
웹 1.6.0 버전 이후 모스트 사이퍼/포지션/듀오 정보 표시 방법이 변화되었습니다. 기존에는 전적 페이지에서는 현재 표시되고 있는 전적을 가지고만 분석했었고, 모스트 사이퍼 상세보기 페이지로 이동하면 90일 내 진행한 경기를 모두 불러와 분석했습니다. 그러나 이 방법은 속도가 매우 느리고, 시즌 시작 이후 90일이 지났다면 완전한 데이터를 표현할 수 없게 됩니다. 왜 이런 방식을 채택했나요? 사이퍼즈 OPEN API는 호출 횟수에 한도를 두고 있습니다. 따라서 시즌 내 모든 정보를 불러오게 된다면 API 호출(한번에 최대 90일, 100게임, 하나의 게임 타입) 횟수가 많아져 유저가 몰리는 타임에 서버가 정상적으로 응답을 줄 수 없는 상태에 빠지게 됩니다. (가령 90일 내 100게임 이상을 진행하는 ..
2020-11-21자로 사이퍼즈 서포터 안드로이드 앱에 광고 제거 상품이 추가되었습니다. 2018-08-31에 첫 출시를 하고, 그로부터 2년이 지난 뒤에야 추가한 이유에 대해 천천히 풀어볼까 합니다. 사실 그 전부터 광고 제거 상품에 대한 요청은 많이 있었습니다. 그러나 제 답변은 항상 '예정에 없습니다' 또는 '고려중입니다' 에 불과했었죠. 여태껏 광고 제거 상품을 꺼려했던 가장 큰 이유는 다음 두 가지 입니다. 첫째로, 기존에 '기부'해 주셨던 분들이 느끼실 박탈감입니다. 사이퍼즈 서포터는 광고 제거 상품이 출시되기 전 까지 광고와 자발적 기부만으로 운영된 서비스입니다. 광고 제거 상품을 너무 저렴한 가격에 출시하게 되면, 기존에 기부 상품을 1000원에 구매하신 분들은 말 그대로 생돈을 날린 것 ..
기존에는 앱/웹과 사이퍼즈 API 서버가 직접 통신했습니다. 매우 간단하고 빠르지만, 치명적인 문제가 있습니다. 사이퍼즈 API 서버가 다운되거나, 점검 상태에 들어가면 모든 요청이 실패한다는 것입니다. 해결법 중간에 프록시 서버를 하나 두어 요청 성공 시 일정 시간동안 그 정보를 저장하고, 사이퍼즈 API 서버가 죽어버리면 저장된 정보를 돌려주는 것입니다. 그러나 이것 역시 문제가 있습니다. 첫째로 한 번도 조회되지 않은 데이터는 프록시 서버에도 존재하지 않기 때문에 오류가 발생한다는 것이고, 또한 거쳐야 하는 서버 갯수가 하나 늘어남으로써 데이터 송/수신 속도가 느려진다는 것이죠. 두 가지 모두 완벽하게 해결할 수 있는 방법은 없으나, 후자의 경우는 비교적 쉬운 방법으로 완화시킬 수 있습니다. 바로 ..
사이퍼즈 서포터(CPSP)의 업데이트 로드맵을 알려드리고자 합니다. 상세 일정에 대해 정해진 것은 없으나, 어떤 순서로 업데이트해 나갈 것인지 안내드립니다. 1. 사이퍼즈 서포터 웹 버전 정식 출시 현재(2020-09-13 01:24)기준 아직 웹 버전은 프리뷰 버전입니다. 앱에 있는 기능 중 아직 추가되지 못한 기능과 자잘한 디자인/버그를 수정한 뒤 정식 버전을 출시할 예정입니다. 2. 통계 자체 수집 기능 현재 통계 페이지에서 제공되고 있는 기능은 사이퍼즈 공식 홈페이지 정보에 의존적입니다. 이는 캐릭터 정보 페이지의 포지션 통계/매치업/시너지 정보와는 통계 수집 기준이 달라 이용하시는 분들께 혼란을 드릴 수 있을 것 같습니다. 따라서 포지션 통계/매치업/시너지 정보 분석 시 사용한 표본들로 승률/픽..
2020년 6월 19일에 웹 프리뷰 버전을 출시한 이후, 현재 2020년 8월 19일 기준 14번의 릴리즈가 있었습니다. (패치노트: https://cpsp.kr/patchnotes) 또한 웹 버전 출시 당시 모바일/데스크탑 환경을 동시에 염두에 두고 개발했기 때문에 당장에 스마트폰 브라우저로 접속하더라도 큰 불편함 없이 사용이 가능했었죠. 그러나 본질적으로 브라우저를 키고 주소를 입력해서 들어와야 한다는 번거로움이 있었습니다. 그렇다고 Android/IOS앱을 각각 만들면, 기능 변경이 있을 떄 마다 3개의 언어로 프로그래밍된 앱을 모두 고쳐줘야 한다는 점도 부담스럽게 다가왔습니다. 이를 해결하기 위해 Hybrid Application으로 서비싱하는것을 채택했습니다. 잠깐 Application의 종류 ..
분석 조건 30일간 진행된 공식전 게임 중 랭킹 1000위 안의 유저들의 게임 기록을 기준으로 약 20000회의 경기 결과를 대상으로 분석합니다 분석 방법 사이퍼즈 OPEN API를 이용해 수집된 데이터를 js로 분석합니다. 카운터 픽 분석 방법 (파란색은 승리팀, 붉은색은 패배팀입니다) 해당 경기에서 각각의 캐릭터마다 한 번씩 비교하여 총 25번의 비교를 하여 다음과 같은 데이터를 만들어냅니다 (클레어vs까미유=> 승리1vs승리0, 클레어vs디아나=> 승리1vs승리0 ...... 스텔라vs호타루=> 승리1vs승리0) 이와 같은 작업을 20000여개의 경기에 대해 누적식으로 모두 진행한 다음, 해당 데이터를 가공하여 DB에 넣습니다. 이 데이터는 한번 더 백엔드에서 처리하여 프론트에 전달되는데, 최종적으..
React를 활용해 제작한 두 번째 프론트엔드 프로젝트입니다. 안드로이드 앱 주요 기능을 중점으로 구현하였으며, 네이티브 앱의 단점 때문에 현재까지는 안드로이드에서만 사용이 가능했습니다. 또한 안드로이드 유저라도, 앱이 설치되어 있지 않으면 사용이 어려웠었죠. 웹사이트가 제공된다면, 웹 브라우저를 활용할 수 있는 모든 환경에서 설치 없이 빠르고 간편한 사용이 가능해집니다. 사실 모바일보다는, 사이퍼즈는 PC게임이므로 PC 환경을 지원하는 것이 중요하다고 생각합니다. 웹 버전은 작년 여름부터 제작하고 있었으나, 예비창업패키지 협약과 개인 사정 등으로 진행이 매우 더디다가 협약이 완전히 끝난 다음, 처음부터 다시 시작하여 금일 출시 완료했습니다. 모든 플랫폼에서 사용이 가능하되 레이아웃을 세심히 조정하여 불..