241015 TIL - defense our universe 5

LIHA·2024년 10월 16일
0

내일배움캠프

목록 보기
84/117
post-thumbnail

중간정리

뼈대를 이해하고 싶은데 이 방향이 맞는건지 모르겠어요😥 - 유정 튜터님의 조언

구현 자체에 목표를 두는 것이 좋다 (일단 만들어라)
코드를 이해하려고 하지 말고 콘솔로그 하나하나 찍어가면서 눈으로 확인하는게 가장 빠르다

정섭 튜터님이 예전에 해주신 말씀

작은 기능부터 만들어서 합쳐보는 것이 좋다


스탠다드반

git revert (커밋 ID) 말고도 커밋을 돌이킬 수 있었다 - git diff와 reset

참고 블로그
git diff - 과거 코드변경 확인, 여기서 git reset (해시값) 하면 과거로 돌아갈 수 있다. 단 revert와 차이점이 있다.
-> git revert로 되돌린 커밋은 이후 커밋들이 유지되지만, git diff에서 reset으로 돌린 커밋은 이후 커밋이 모두 날아가버린다.
이후 커밋이 필요 없고 로그를 깨끗하게 관리하고 싶다면 git reset을, 기록보다 이후 커밋들이 중요하다면 git revert를 쓰자.


defense our universe

인메모리로 점수 관리하고 싶은데 배열에 넣기는 그렇고, 다른 방법은 모르겠어 - Map() 객체를 써보자

저희 수달 돼지 아니에요 엉엉

Map 객체는 키-밸류 페어로 이루어진, JSON 배열마냥 생긴 컬렉션이다. 스코어 관리를 하고 싶어 창민 튜터님께 여쭤보았더니 Map을 추천해 주셨다.
되게 레디스 처럼 생겼구나, 라는 생각이 들었다. 아마 이런 거에서 나온게 아닐까. (??)
const userScore = new Map() 이렇게 만들고, userScore.set(userId, 0) 이런 식으로 쓰면 초기화 될것.
userScore.get(userId) 이런 식으로 메서드를 써 가져올 수 있어서 배열에다가 find 쓰지 않아도 되어 편하다고. 컬렉션 내에 있는지 알고싶으면 (맵 이름).has를, 컬렉션의 크기를 알고싶으면(맵 이름).size를 쓰면 된다.

그래서 내가 만들고 싶은 것 - 나는 몬스터 처치 핸들러를 만들고 있었다

구현하고자 하는 내용 뼈대정리

  • 몬스터 잡으면 골드와 스코어를 얻는다
  • 몬스터 레벨을 받아 저장된 스코어가 2000의 배수면 레벨을 올려준다
  • 클라의 점수를 받아 서버단에서 더해주고 서버단 스코어에 저장해준 뒤,
  • 그 서버단의 스코어를 뿌려주고 싶은데, 이게 맞나?🤔

몬스터 JSON 파일에 처치 시 얻는 골드와 스코어가 있다.
game.js에서는 현재 스코어와 레벨이 있고, 몬스터를 잡다 보면 스코어와 레벨이 일정수치에 도달해 다음 레벨로 올라갈 것.
-> 이걸 몬스터 처치 핸들러에서 다 처리해줘야 하나? 라는 고민을 하고 있었다.
-> 일단 핸들러를 따로 만들고 몬스터 처치 핸들러 안에서 레벨업 관련 핸들러가 호출되면 좋을 것 같다는 생각을 했다.
-> game.js에서 핸들러가 소환되는 건 아닌 것 같다. game.js는 클라단이고 핸들러는 서버단이기 때문.

핸들러 안에서는 여러 다른 핸들러의 메서드가 불려와도 상관없다 - 같은 서버단이기 때문

profile
갑자기 왜 춤춰?

0개의 댓글