|
2023-01-23 16:01
조회: 12,006
추천: 70
메애기 코디 공유 서비스 분석 기능 업데이트주소가 변경되었어요 약 일주일만에 업데이트가 적용 되었는데 먼저 간단하게 변경사항을 요약해보면 다음과 같습니다. - 로그인/추천/정보 수정/코디 등록 기능 제거 - 믹스염색 헤어 추가 (비율 조정 옵션 적용) - 코디 분석 기능 추가 / 부위 추가 (기존 7개 -> 최대 15개 항목) 기능 제거 코디 등록 자체는 쉬운데 등록 비율이 매우 저조하고, 추천 기능 또한 매우 사용률이 저조했기에 코디 분석 기능이 추가됨에 따라 해당 기능들을 제거하였습니다. 믹스 염색 헤어 추가 ![]() ![]() ![]() ![]() - 믹염은 모바일에서도 무슨색상인지 구분이 쉽도록 텍스트로 표기를 하였습니다. - 접속시 항상 가장 최신 헤어가 기본값으로 노출되게 됩니다. - 검색 및 헤어 목록도 기본적으로 최신헤어가 우선적으로 노출되게 됩니다. - 비율에따라 투명도를 조절하여 각 색상의 비율을 적용해서 확인해볼 수 있도록 하였습니다. 믹염 시뮬이나 gg에서는 일부헤어가 없거나 비율조정이 즉각 반영이 안되는 단점이 있어서 이를 적용해보고자 추가한 기능입니다. 해당 믹염 헤어의 기능은 https://www.inven.co.kr/board/maple/2299/3785605 요 게시글을 참고하여 구현하였습니다. 믹염 시뮬레이터 서비스들은 대 부분 maplestory.io 에서 정보를 가져오는데 매번 요청을 보내는 것도 해당 서버에게 이게 한두개도 아니기 때문에... 부담을 덜어주고 또 해당 서비스에 대한 의존도가 높으면 maplestory.io 가 서버 다운되었을 경우 같이 마비될 수 있는 문제가 있습니다. 때문에 헤어 정보는 매주 금요일 오전에 동기화를하고 동기화 데이터는 정적파일로 배포합니다. 매주 금요일마다 하면 전날인 목요일 테섭에서 업데이트 되는 헤어를 다음날에 바로 적용해서 본섭에 배포되기전에 미리 믹염을 볼 수 있을지도...? https://api.maple.goldenhand.pro/hairs/64317.png 이런식의 URL로 노출하고 있습니다. 혹시나 헤어 이미지가 필요하신 경우는 여기다가 요청해주셔도 됩니다. 해당 서비스는 정적파일 서비스라서 요금을 내지 않아서 저도 무료로 여러분에게 제공해드리는 것이 맞다고 생각되어 공개하였습니다. maplestory.io 에서 받은 이미지기 때문에 똑같이 CORS (Cross Origin)을 적용하지 않았습니다. 다만... Cloudflare로 서비스하고 있기 때문에 짧은시간내 너무 많은 요청을보내면 클라우드플레어측에서 일정시간 차단될 수 있습니다. 코디 분석 기능 추가 오늘의 메인 주제입니다. 메인페이지에서는 검색이 있었는데, 이를 수정하여 분석 기능으로 변경하였습니다. ![]() 메이플스토리 랭킹 또는 gg에서 볼 수 있는 캐릭터의 주소 또는 캐릭터명을 검색하여 해당 캐릭터의 코디 정보를 분석합니다. gg에서 코디 컬렉션이라는 곳에서 과거 코디에 대한 정보를 확인 할 수는 없습니다. 하지만 코디 컬렉션도 결국 메이플스토리의 랭킹 캐릭터 아바타 주소를 통해서 이미지를 노출하고 있기 때문에 이를 복사하여 분석하는 것도 가능합니다. ![]() ![]() ![]() 이러한 코디 분석 알고리즘은 '페타코' 님께서 도움을 주셨고, 제가 사용하는 언어로 작성되지 않아 제 지인 2명을 통해 해당 코드를 분석후 Javascript 로 재 구현해서 서버를 거치지 않고 복호화 하는데 성공하였습니다. 하지만 Javascript 자체도 느린편은 아니지만, 더 빠른 복호화를 위해 Web Assembly로 재구성 시켰으며 캐릭터 코디 정보를 아바타 주소 입력시 복호화하는데 소요되는 시간은 평균 0.0007 초 정도 소요됩니다. 복호화 속도는 굉장히 빠르지만, DB에 없는 코디의 경우 DB화를 위해 응답이 조금 느릴 수 있습니다. (캐릭터 검색이나 주소 검색을 하면 자동으로 코디가 메이플 금손에 등록되는 과정입니다!) GG와의 분석 정보 비교 ![]() gg에서는 위 캐릭터의 코디 정보를 모자와 헤어 밖에 분석해내지 못합니다. 하지만 '페타코' 님의 도움으로 코디분석을 적용한 메이플 금손의 경우 이미 확인 하셨겠지만, 다음과 같이 추출할 수 있는 부위가 매우 많습니다. ![]() 선글라스 껴서 보이지도 않는 성형을 정확히 매칭해냅니다. 해당 코디 분석을 통해 부위에 추출 범위가 늘어남에 따라 기존 7부위만 탐색이 가능하던 과거와 달리 모자, 헤어, 성형, 얼장, 눈장, 귀걸이, 한벌옷, 상의, 하의, 신발, 장갑, 망토, 무기, 보조, 피부 총 15개 항목이 존재합니다. 대신 한벌옷이 존재하는 경우, 상의 하의는 노출되지 않습니다. 같은 부위 다른 코디 기존 7개 부위에서 부위가 늘어남에 따라 같은 부위 다른 코디의 노출도 존재하는 모든 부위를 노출할 수 있도록 변경하였습니다. ![]() ![]() ![]() ![]() ![]() 통계 부위 추가 적용 ![]() 당연하게도 통계 페이지에도 모든 15개 각 부위별 통계가 적용되었습니다. 또한 복호화가 가능해진 시점이라 DB를 모두 재구성하고 재 삽입을 진행하였기 때문에, 좀더 정확한 집계가 가능해졌습니다. 개발 이슈 기능 개발은 굉장히 빨리 끝났지만, DB 구조적 문제가 있었고 추후 Cloudflare D1이 정식 출시되면 테라포밍을 염두에 두고있습니다. 때문에 어차피 로그인도 없앴으니깐 검색이라도 쥰내 빠른 Sqlite3 DB의 Full Text Search Virtual Table로 새로 변경하였습니다. D1이 정식 출시되면 해당 DB를 통째로 옮겨서 전세계 어디에서든 동일한 응답속도를 제공할 수 있을 예정입니다. (물론 한국만 느립니다... / 근데 아마존같은데 띄운거랑 비교했을때 별반 차이가 없...) 속도 이슈 캐릭터명 검색을 통한 부분은 메이플스토리의 랭킹 검색을 통해 이루어지기 때문에, 개선은 어렵습니다. 통계는 그냥 느립니다. 같은 부위 다른 코디 요 항목이 로컬(개발 환경)에선 쥰내 빨랐지만, 무료 서버로 돌리니깐 Slow Query로 잡힙니다. 통계와 상세페이지의 응답은 제가 Cloudflare의 KV라는 유료 제품을 시간날때 적용해서 좀더 빠른 응답을 제공할 수 있도록 해보겠습니다. 마지막으로 오늘도 긴글 읽어주셔서 감사합니다. 앞으로는 선코디 후 육성이 좀더 편안한 생활을 하실 수 있기를...
EXP
3,471
(67%)
/ 3,601
|
메이플스토리 인벤 자유 게시판 게시판
인벤 전광판
메이플스토리 인벤에 오신 것을 환영합니다~★
















셜록왓슨