chaesunbak 님의 블로그
close
프로필 사진

chaesunbak 님의 블로그

github: @chaesunbak

  • 분류 전체보기 (32)
    • 회고 (12)
    • 트러블슈팅 (4)
    • 위키 (11)
    • 후기 (1)
    • 분석 (4)
  • 홈
  • 태그
  • GitHub
DB에서 랜덤한 요소 불러오기

DB에서 랜덤한 요소 불러오기

배경음악 인기도 맞추기 게임 스포티게서를 개발하면서, DB에서 랜덤한 요소를 가져올 필요가 있었다. 게임의 진행방식이 두가지 랜덤한 요소 중 인기도가 높은 요소를 맞추는 게임이었기 때문이다. 단순해 보이는 "랜덤"이라는 개념 뒤에 숨겨진 기술적 고민과 해결 과정을 공유하고자 한다. 스포티게서는 NoSQL DB인 파이어베이스의 파이어스토어를 사용했기에 컬렉션과 문서라는 용어를 사용하지만, 관계형 DB의 테이블과 행으로 대체하여 이해하셔도 무방하다.가장 쉬운 방법, 하지만…컬렉션의 총 문서갯수 가져오기 (예 : 350개)총 문서갯수 내에서 랜덤한 숫자 생성하기 (예 : 1~350중에 아무 숫자 → 53)해당 번호의 문서 가져오기 (예 : 53번째 문서 불러오기)가장 직관적으로 떠올릴 수 있는 방법이지만, 심..

  • format_list_bulleted 회고
  • · 2025. 2. 27.
Error: The edge runtime does not support Node.js 'crypto' module. : Next.js 미들웨어의 엣지 런타임 환경

Error: The edge runtime does not support Node.js 'crypto' module. : Next.js 미들웨어의 엣지 런타임 환경

문제상황Next.js에서 페이지 인증 인가 기능 구현을 위해 미들웨어에서 jsonwebtoken 모듈을 사용하려고 했다.Error: The edge runtime does not support Node.js 'crypto' module.Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime원인Next.js 에서 미들웨어는 Node.js환경이 아닌 엣지 런타임 환경에서 돌아간다. 엣지 런타임 환경이란 Next.js에서 제공하는 경량화된 실행 환경이며, 일부 Node.js API만을 지원한다. 이는 미들웨어가 모든 요청을 가로채고 처리하는 만큼, 가능한 빠르고 가벼워야 함을 고려한 것이다.jsonwebtoken 모듈은 Node.js의..

  • format_list_bulleted 트러블슈팅
  • · 2025. 2. 18.
  • navigate_before
  • 1
  • ···
  • 3
  • 4
  • 5
  • 6
  • navigate_next
Copyright © chaesunbak All rights reserved. Powered by Tistory.

티스토리툴바