#25 서비스 개선 기획
·
프로그래밍/스팀 게임 퀴즈
이번 글은 그저 생각을 정리한 글입니다. 주변인들의 의견을 모아모아서 이 서비스의 문제점을 고쳐보겠다. 일단 이 서비스의 큰 문제는 다음과 같다. 설명이 부족함: 뭘 하는 사이트인지 직관적으로 이해하기 어려움. 보상이 없음: 퀴즈를 맞춰보고 난 후 어떠한 보상이 있어야 함. 킥이 없다: 대단히 놀랄만한 기능이 부족하다. ## 설명이 부족함 나는 개발하면서 이런 문제를 잘 몰랐다. 이 서비스를 개발하고 난 뒤 okky에 공유 했었는데 어떤 분은 “UX에 대해 더 이해했으면 좋겠다”라는 코멘트를 달아주셨다. 또 다른 인터넷 친구는 “서비스에 설명이 부족한것 같다”라는 말을 덧붙였다. 역시 아무래도 디자인적으로는 영~ 소질이 없는 걸지도 모르겠다. 그래서 설명을 좀 더 넣어봐야 한다. 적어도 입력창 위의 시도..
#24 게임 이름 별칭을 구현함
·
프로그래밍/스팀 게임 퀴즈
비록 이 서비스가 그리 대단한 것은 아니지만 새로운 업데이트를 굳이 들고왔다. 게임 이름 자동완성에서 게임 이름만 가지고 검색하는건 좀 힘들 수 있다. 특히 우리가 영어를 잘 모를때 더 그렇다. 가령, “천수의 사쿠나히메” 라는 게임은 영문으로 “Sakuna: Of Rice and Ruin”고 “영걸전”은 “Sangokushi_Eiketsuden”로 팔리고 있는데 보통 영문은 잘 모르기 마련이다. 게임은 뭔지 알지만, 영문을 몰라, 그것도 스팀 상품에 등록된 게임 이름을 몰라 검색을 못하는 건 많이 섭하다. 때문에 게임에 별칭을 추가했다. 별칭은 당연히 여러개 일 수 있고, “카운터 스트라이크”와 같은 게임을 “카스”라고 부르거나 현지화된 이름으로 부르는 경우를 포함한다. # 별칭은 어디서 구하나? 사실..
#23 게임 이름 검색에 대해서..
·
프로그래밍/스팀 게임 퀴즈
대부분의 글이 그렇지만, 이번 글은 구성이 좀 이상해 보일 수 있다. 게임 이름 검색에 대해서는 개발 초기부터 생각했었고, 그 조각난 기록들을 모으다보니 이렇게 된것 같다. # GuessTheGame의 게임 이름 자동완성 원래 내가 따라하려고 했던 GuessTheGame 서비스에서는 자동완성 기능을 제공했다. 나도 이런 기능을 꼭 만들어 보고 싶었고, 이 서비스에 꼭 필요한 기능이라고 생각했었다. 그래서 처음에는 개발자 도구로 GuessTheGame에서 제공하는 기능이 어떻게 제공되는건지 알고 싶었다. 아래를 보면 /autocomplete에 쿼리 파라미터로 유저에 입력을 넣어 보내서 관련 결과를 받아온다. 이렇게 되어있는데, q만 알아도 괜찮은것 같다. # LIKE 쿼리를 이용해 구현 이제 내부 구현에 ..
#22 백엔드와 프론트엔드를 배포했다!
·
프로그래밍/스팀 게임 퀴즈
https://app.steamgamequiz.com 로 가서 트라이 해보세요~ 이전 프로젝트인 이미지니는 GCP에서 백엔드와 프론트엔드를 배포했었지만, 이번에는 AWS에서 배포해보려고 했음. 이번에는 배포할때 겪었던 어려움과 결국 어떻게 구성했는지 다룰것임. 도커 활용 GCP에서 도커를 사용해 배포했었는데, 아주 좋았던 기억이 있다. 굳이 컨테이너에 ssh로 접속하지 않아도 GCP CLI 명령어를 이용하면 알아서 새로운 도커 컨테이너를 올려줬었다. 실무에서 AWS를 더 많이 쓰는것으로 알고 있는데, 당연히 AWS도 그런 기능이 “당연히” 있는 줄 알았다. 하지만 그런것은 없었다. AWS의 EC2에서 도커를 띄울려면 직접 ssh연결해서 이미지를 pull한 후, 컨테이너를 돌려야 한다. 물론, GCP 처럼..
#20 데일리 퀴즈 생성 로직 방식에 대해서..
·
프로그래밍/스팀 게임 퀴즈
판다스를 다시 써봤는데 역시 어렵다....!! 역시 타입힌트좀 잘 해줬으면 좋겠다. 많이 불편하다. #18 에서는 람다를 어떻게 구성할지 고민했었고, #19 는 게임을 어떻게 가져와서 필터링 할지 고민했었다. 이번 주제에서는 매일 자동으로 만들어야 하는 “데일리 퀴즈를 어떻게 생성할지”에 대해서 고민해본다. 먼저 데일리 퀴즈는 하루에 5개씩 생성될 예정이다. https://guessthe.game 에서는 하루에 하나의 게임만 제공하지만, 솔직히 꾸준히 하지 않는 사람 입장에서는 1개는 감질나다. 게다가, 잘 못맞추면 기분 나쁘기까지 하다. 그래서 성질이 서로 다른 5개의 게임을 골라 매일 퀴즈로 제공하고자 한다. 유명한 게임만 모았기 때문에 사용자는 잘하면 여러개 맞출 수 있고 긍정적인 반응을 얻을 수 ..
#19 게임 데이터 스크래핑 전략 수정하기
·
프로그래밍/스팀 게임 퀴즈
사실 API를 찾아다니면서 스팀에만 국한되지 않은 게임 DB API를 찾았었어요. 주제를 바꿀지 잠시 고민했는데요, 종겜 스트리머 애청자로서 스팀이 주는 매력이 있다고 생각이 들어요. 때문에 앞으로도 스팀 게임을 기준으로 할 생각입니다. 현재 게임 스크래핑 전략은 스팀에서 추천해주는 게임을 기준으로 한다. 모든 게임을 다 가져오기엔 부담이 크고 AA 혹은 AAA급이 아니더라도 모두가 알 수 있는 게임을 대상으로 가져오고 싶었기 때문이다. 12월 15일부터 1월 20일까지 수집한 데이터에 따르면 아래와 같다. Palworld EA SPORTS FC™ 24 미제사건은 끝내야 하니까 Dominions 6 - Rise of the Pantokrator 워프레임: 가우스 프라임 액세스 - 웨폰 팩 다른 겨울의 우..
#18 AWS 람다 - 스크래핑한 데이터를 DB에 저장하기
·
프로그래밍/스팀 게임 퀴즈
람다 코드를 먼저 작성했고, 이땐 타입힌트나 sqlalchemy에 대해 미숙했기 때문에 뭔가 이상한 점이 있을 수 있습니다. 다른 기능을 만드느라 큰 문제가 발생하지 않으면 수정을 하지 못하는 점 양해 부탁드립니다! AWS 람다는 크롤러 / 스크래퍼를 구현하기에 아주 좋다. 서버리스로 애플리케이션을 띄울 수 있고, python / node.js로 구현도 부담스럽지 않다. (종속성 모듈도 사용할 수 있다) AWS서비스에서 이벤트를 전송하는 기능도 있고, 로그를 모니터링 해주기도 한다. 또, EventBridge Scheduler를 이용하면 주기적으로 람다를 실행시킬 수도 있다. 하지만 람다의 보안상 제약이 있다. VPC안에서는 외부 API를 호출할 수 없다는 제약이다. VPC밖에서는 반대로 RDS에 접근할..
#17 fastapi-users를 써서 OAuth2를 적용해보았다!
·
프로그래밍/스팀 게임 퀴즈
이번 글에는 fastapi-users의 oauth2인증방식에 대해서 더 자세히 다루고 싶어서 제목을 "fastapi-users의 OAuth2 인증방식"로 했는데, 귀찮아서 바로 "fastapi-users를 써서 OAuth2를 적용해보았다!"로 바꿨습니다. 😅 서브 모듈인 fastapi_users_db_sqlmodel가 좀 오래된것 같아서 진짜 간단한 업데이트를 PR했는데.. 왠지 느낌이 쎄하다. 이 서비스에 소셜 로그인을 도입하고 싶어서 여러 라이브러리를 전전하던 중 fastapi-user를 알게되었다. 그래서 처음 쓰는게 다 그렇듯 뇌빼고 구글 소셜 로그인을 도입 했는데, 의문점이 생겼다. 주요 의문점은 “소셜 로그인 기능을 사용하는데 왜 회원가입/로그인 기능을 구현해야 하지?”라는 것이였다. 일단 O..
2jun0
'프로그래밍/스팀 게임 퀴즈' 카테고리의 글 목록