framework 3

Seed를 사용하여 Pagenation + Random에서 중복 없이 데이터 가져오는 방법 | ORDERBY RANDOM PostgreSQL seed

어느날 페이지네이션을 사용하면서 랜덤한 값들을 응답해줘야하는 요구사항이 들어왔습니다.1. 한 번 요청시 5개씩 데이터를 응답해줘야 한다.2. 중복된 데이터가 나오면 안된다.3. 완전 랜덤한 데이터가 나와야 한다. 오늘은 해당 요구사항을 구현하는 방법인 seed에 대하여 알아보고, postgres + jpa 환경에서의 구현 방법을 알아보고자 합니다. Seed란 무엇인가?컴퓨터는 원래 난수를 생성할 수 없다는 사실 아시나요? 저희가 보기엔 마치 난수처럼 보이지만, 사실 정말 임의의 값이 아닌 특정 방법이나 ms를 사용하는 등의 계산 과정을 거쳐 나온 '의사 난수'들입니다.흔하게는 난수표를 사용하는데, 난수표를 선택하는 값을 시드(seed)라고 합니다. 그리고 seed값에 따라 같은 난수표를 사용하기 때문에 ..

Spring 2025.03.16

NestJS 토큰 검증 기초 of 기초: Guard와 Passport.js

우리는 여러 요청들에 '토큰'을 함께 보내 제가 이 요청을 수행할 수 있는 존재임을 알리게 됩니다. 오늘은 서버의 입장에서 받은 토큰이 정상적인지 여부를 판단하는 과정을 알아보려고 합니다. Nest.js의 토큰 검증 로직에 대한 포스팅은 많지만 조금 더 쉽게 기초와 구현 방법을 풀어낸 포스팅이 있었으면 해서 글을 작성합니다. 특히 대부분의 포스팅에서 Passport.js 라이브러리를 사용하지만 사용할 때와 사용하지 않을 때의 차이, 즉 왜 사용하는가에 대한 설명이 부족하다고 느꼈고 그런 부분을 알려주는 글이 있다면 처음 Nest.js를 시작하시는 분들께 도움이 될 것이라고 생각하였습니다. 다들 사용하는 라이브러리라도 왜 사용하는지를 정확히 아는 게 저희에겐 중요하니까요. Purporse1) Guard가 ..

Nest 2024.12.13

NestJs에서 간단하게 엑셀 다운로드 시키는 방법

ExcelJs의 npm 사이트에서 더 자세한 사항을 확인할 수 있습니다.Javascript를 사용해 엑셀을 조작할 수 있는 라이브러리는 크게 두 가지가 있습니다. 외에도 다양하겠지만, 가장 많은 사람들이 사용하고 있는 라이브러리가요. ExcelJs와 SheetJs(xlsx)그 두 개 중 오늘은 ExcelJs를 알아보고, 실제로 엑셀 다운로드까지 구현 해볼 것입니다. 왜 ExcelJs인가ExcelJs와 SheetJs를 비교해준 글이 있습니다. 만약 지금 어떤 라이브러리를 사용할지 고민 중인 분이 계시다면 추천하는 글입니다. Nodejs 엑셀 자동화 라이브러리 비교하기일단 SheetJs가 ExcelJs보다 더 많이 쓰인다고 알고 있었습니다. github stars⭐️ 수만 봐도 11.8k 그럼에도 제가 Ex..

Nest 2024.04.15