전체 글

기록하는 개발생활
Redis를 활용한 확장 가능한 세션 관리 전략
·DB
여러분, 혹시 이렇게 생각해 본 적 있으신가요? "우리 회사 서버는 하나일까, 여러 개일까?" 사실, 대부분의 회사는 이미 다중 서버 환경을 사용하고 있을 가능성이 높습니다. 서버 하나로 모든 걸 처리하기엔 너무 많은 사용자와 데이터가 있습니다. 그렇다면 다중 서버 환경에서는 어떤 문제가 생길까요?바로, 세션 데이터 관리입니다. 서버가 여러 대라면, 사용자의 세션 데이터가 특정 서버에만 저장된다면 큰 문제가 될 수 있습니다. 만약 그 서버가 다운된다면? 사용자는 로그아웃되거나 데이터를 잃을 수 있습니다. 그래서 등장하는 해결책이 바로 Redis입니다. Redis는 빠르고 유연하며, 이러한 세션 관리 문제를 깔끔하게 해결할 수 있습니다.세션 객체와 Key-Value 데이터베이스세션 데이터가 어떻게 생성되고..
[NestJS] OAuth2.0 소셜 로그인 (Kakao, Google) 세션 관리 구현
·Framework/Nest.js
서비스를 만들 때 사용자 인증은 꼭 필요한데, 이걸 직접 관리하는 건 생각보다 까다롭고 위험할 수 있습니다. 비밀번호 같은 민감한 정보를 안전하게 보관하려면 강력한 보안 체계가 필요하고, 해킹 시도에도 항상 대비해야 합니다...!그래서 저는 사용자 인증을 Google, Kakao 같은 신뢰할 수 있는 타사 플랫폼에 맡기기로 했습니다. 이렇게 하면 보안 부담을 덜 수 있을 뿐만 아니라, 서비스는 더 중요한 본연의 기능에 집중할 수 있습니다! 결과적으로 사용자 경험도 좋아집니다! OAuth의 기본 개념OAuth는 Open Authorization의 약자로, 사용자가 특정 애플리케이션(클라이언트)에 자신이 소유한 리소스에 접근할 수 있는 권한(인가)을 안전하게 부여할 수 있도록 도와주는 프로토콜입니다.1. 인..
세션 vs JWT: 세션을 선택하며 얻은 고찰
·CS
대부분의 개발자들이 프로젝트를 시작할 때 회원가입과 로그인을 구현하며 인증 방식을 고민하게 됩니다. 이 과정에서 흔히 접하게 되는 두 가지 방식이 바로 세션(Session)과 JWT(Json Web Token)입니다. "세션과 토큰, 무엇을 써야 할까?"라는 질문은 많은 초보 개발자들이 한 번쯤은 해봤을 법한 고민일 것입니다. 이 문서에서는 세션과 JWT의 차이를 비교하고, 제가 세션 방식을 선택한 이유와 그 과정에서 느낀 점을 정리했습니다. 세션과 JWT의 차이점JWT와 세션은 인증 데이터를 처리하고 관리하는 방식에서 차이를 보입니다. 다음은 두 방식의 주요 차이점을 간단하게 비교한 표입니다.특징JWT (JSON Web Token)세션 기반 인증저장 위치클라이언트 (주로 브라우저 로컬스토리지 또는 쿠키..
Firebase Realtime Database: 효율적인 데이터 구조와 멀티패스 업데이트 활용하기
·infra/Firebase
Firebase RealTime Database데이터는 트리 구조로 저장관계형 데이터보다 반정규화(denormalization)를 활용중복을 허용하여 읽기 작업을 빠르게 처리복잡한 쿼리는 애초에 피하고, 데이터를 필요한 방식으로 구조화Firebase 설계 시 주요 전략트리 구조 설계: 데이터를 JSON 객체처럼 계층적으로 설계{ "users": { "user1": { "name": "rem", "age": 20 }, "user2": { "name": "ram", "age": 21 } }}반정규화: SQL에서 관계를 맺는 데이터를 Firebase에서는 중복 저장하여 쿼..
remazitensi