개발일지/WIL(Weekly I Learned)

12월 3주차

프린스 알리 2024. 12. 20.

- FACTS: 이번 일주일 동안 있었던 일, 내가 한 일

(1) 웹소켓을 이용하여 게임 서버 개발

Node.js - 게임 서버 개발 심화 강의를 수강하면서 웹소켓에 대한 이해를 넓혀나갔다. 게임 기획에 대해 살짝 맛을 보았고, 챌린지반에서 접하게 된 개념적 데이터 모델링을 활용하여 내 나름의 방식으로 표를 작성하였다.

필요한 정보 사용처
유저 인증, 인가를 위한 아이디 비밀번호 저장, 소유자 확인, 골드 정보
캐릭터 각종 스탯, 캐릭터 종류, 닉넥임과 스테이지 정보 저장
재료 캐릭터가 가진 재료를 저장, 재료에는 자체 스코어와 타입이 있어야 함. 서로 다른 타입이 꼭 하나씩은 있어야 함. 없는 타입이 있으면 최종스코어가 감점당한다.

 

컨셉에 부합하는 정보들을 나열하고 어떤 이벤트에 필요할지, 정리하였더니 방향성을 정하는 데 큰 도움이 되었다. 아주 간략한 형식의 API 명세서라고 볼 수 있지 않을까. 이를 토대로 실제 모델링을 구성하는 단계로 넘어가긴 했는데….

model Users {
  id        Int      @id @default(autoincrement()) @map("id")
  uuid      String   @unique @map("uuid")
  email     String?  @unique @map("email")
  password  String?  @map("password")
  name      String?  @map("name")
  createdAt DateTime @default(now()) @map("createdAt")
  updatedAt DateTime @updatedAt @map("updatedAt")

  @@map("Users")
}

 

처음엔 위의 코드처럼 prisma로 구현을 하려고 했다. 그런데 도전 기능에 Redis가 포함되어 있는 걸 발견하였고, 키-값을 쓰는 NoSQL에 대해서 살짝 맛을 봐보기로 결정했다.

- FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌

Redis에 대해 처음 공부해봤을 때 든 생각은 낯설다는 것이었다. 왠지는 몰라도 내심 MySQL과 별반 다르지 않을 거라는 기대감을 가지고 있었나 보다. 그런데 Redis는…내 예상보다도 훨씬 이질적인 데이터베이스였다.(내 경험에 비추었을 때의 기준이다.) 좋게 말하자면 자유로웠고 나쁘게 말하자면 기능이 너무 잡다했다. 그래서 내가 뭘 써야 하는 거지? 라는 고민이 깊어졌다.

- FINDINGS(배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것

하지만 현대사회가 내린 축복이 무엇이겠는가. 구글 검색과 AI 챗을 이용한다면 아무리 처음 접하는 도구라도 못쓸 이유는 없는 법이다. Redis의 기본적인 개념과 명령어를 유튜브 영상으로 정리한 뒤, 빠르게 필요한 메서드를 AI를 통해 검색하기 시작했다.

2024-12-18

 

2024-12-18

참고한 강의 영상[인프런] 비전공자도 이해할 수 있는 Redis 입문/실전 - YouTube [인프런] 비전공자도 이해할 수 있는 Redis 입문/실전풀버전 강의는 아래 링크를 참고해주세요😊 ✔️ https://inf.run/Pu

princeali.tistory.com

 

- FUTURE(미래) : 배운 것을 미래에는 어떻게 적용할 지

그리고 알게 된 것은 Redis가 지원하는 데이터의 형식이 로직을 구현하는 데 있어서 매우 편리하다는 점이었다. 훨씬 간단한 방식으로 조회, 삽입, 삭제가 가능했고 테스트 데이터를 이용해 어플리케이션을 가볍게 구동하는 데에 적합하다는 감상을 느꼈다. 물론 완벽하다는 느낌은 아니었지만, prisma가 줄 수 없는 이점을 Redis가 보완해준다는 점에서 적절히 취사 선택을 하는 게 매우 중요하겠다는 생각을 하게 된다.

'개발일지 > WIL(Weekly I Learned)' 카테고리의 다른 글

12월 4주차  (1) 2024.12.27
12월 2주차  (2) 2024.12.13
12월 1주차  (3) 2024.12.06
11월 4주차  (0) 2024.11.29
11월 3주차  (0) 2024.11.22

댓글