본문 바로가기

웹인프라3

웹게임 개발기 (4) - mongoDB에서 말하는 database, collection, document 그리고 /queue page 만들기 이제 서비스 전반에서 사용할 data를 보관할 DB를 구축하기 위해, mongoDB를 선정하고 관련된 정보를 모으고 있다. 기본적으로 mongoDB는 MySQL같은 RDB에 비해 정해진 틀이 아닌 문서(document)형태로 조금 더 자유롭게 데이터 저장이 가능하다. 하지만 이런 mongoDB에도 기본적인 데이터저장 체계가 있는데, 기본적으로 database라는 최상위 개념이 있다. 이건 다른 데이터베이스와 같이 table들을 저장하는 역할을 한다. 하지만, mongoDB는 table이 아니라 collection이라는 개념을 사용한다. collection 안에는 드디어 위에서 언급한 document들이 저장되는 것이다. mongoDB에도 .sql 처럼 사전에 스키마 같은 저장형식을 지정할 수 있나 찾아보.. 2025. 1. 11.
웹게임 개발기 (3) - 세부적인 요소와 data holder 만들기 오늘은 게임이 진행중에 보여질 /game page의 세부요소와 data를 즉각적으로 반영할 수 있는 data holder들을 정의했다. 기본적으로 game page에서 부터는 SPA(Single Page Application) 처럼 구성하여 상대방/나의 정보, 게임진행정보, 실시간 채팅을 확인할 수 있도록 구성했다. 아래에서 border로 감싼 부분들은 다 실 서비스에서는 데이터를 가져올 자리들이다. 일종의 Data holder 역할을 하는 것이다. 찾아보면 react와 같은 기술에서는 안에 들어가는 정보를 일종의 상태(state)로 root component에서부터 전파시키면서 반영을 하는데, 일단은 그게 중요한 게 아니다 보니 바닐라로 바로바로 textContent에 넣는 식으로 작성했다. 또한, 중.. 2025. 1. 9.
웹게임 개발기 (1) - 웹게임을 만들어보자 웹게임을 개발하게된 계기는 대학전쟁2를 보던 중 출구전략2 라는 게임을 봤는데, 이건 친구들끼리 하기에도 매우 좋아보이는 구조로 돌아가는 게임이었다. 두 팀이 서로 돌아가면서 각 팀에서 선출된 리더 2명이 서로 협의를 해서 말을 선택하고, 선택된 말은 자기가 어느방향으로 갈지 정해서 가야하는 방식이다. 중간에 작전타임이 있지만, 전반적으로 게임판위에 올라간 말(사람)은 서로 대화가 불가능하여 리더의 의도와 전략을 팀원들에게 잘 전달하고 비슷하게 생각해나가는 방식이 요구된다.  https://namu.wiki/w/%EB%8C%80%ED%95%99%EC%A0%84%EC%9F%812/3%ED%9A%8C%EC%A0%84#s-3 대학전쟁2/3회전대학전쟁2 3회전 진행 내용 및 결과를 다룬다. 베네핏 매치: 블라인.. 2025. 1. 8.