SvelteKit으로 시작하는 SSR 백엔드-프론트 기초 100단계13단계 — 회원가입 시스템 만들기 (중복검사 + 비밀번호 정책 + 가입 후 자동 로그인)12단계까지 오면서 우리는 이미 꽤 괜찮은 인증 시스템을 만들었습니다.지금 상태:bcrypt passwordDB sessionsession expirysession refreshrolehooks authserver guard하지만 아직 하나 빠졌습니다.새 사용자가 가입할 수 있는 기능이번 단계에서는 다음을 구현합니다.회원가입 폼username 중복 검사비밀번호 정책bcrypt 해싱가입 후 자동 로그인 (session 생성)이 단계가 끝나면 서비스의 기본 유저 시스템이 완성됩니다.1️⃣ 회원가입 페이지 생성파일 생성src/routes/signup/+pa..
SvelteKit으로 시작하는 SSR 백엔드-프론트 기초 100단계12단계 — bcrypt로 비밀번호 해싱 + 세션 만료/연장 제대로 만들기11단계에서 우리는 인증을 DB 기반 세션 구조로 바꿨습니다.쿠키 → session_idsession_id → DB Session 조회Session → User 조회User → locals.user이제 남은 문제 하나가 있습니다.⚠️ 지금 비밀번호가 평문입니다.즉 DB가 털리면 모든 계정이 바로 노출됩니다.그래서 이번 단계에서 두 가지를 해결합니다.1️⃣ 비밀번호를 bcrypt 해싱2️⃣ 세션 만료 정책 + 자동 연장(sliding session)이 두 개만 제대로 해도인증 시스템이 서비스 수준으로 올라갑니다.12단계 목표bcrypt로 비밀번호 저장로그인 시 bcry..
SvelteKit으로 시작하는 SSR 백엔드-프론트 기초 100단계11단계 — 세션을 DB로 관리하기 (쿠키 하드코딩 탈출, “서비스 인증”으로 업그레이드)10단계까지는 “흐름 이해”를 위해 role을 쿠키에 넣는 식으로 단순화했죠.근데 이 방식은 실제 서비스에서는 위험해요. (쿠키 변조/신뢰 문제)그래서 이번 단계에서 드디어 이렇게 바꿉니다.✅ 쿠키에는 session_id(랜덤 토큰) 만 저장✅ 서버는 DB에서 세션 조회 → 사용자 조회 → locals.user 세팅✅ 로그아웃하면 DB 세션 삭제✅ role도 DB에서 가져옴 (이제 쿠키 role 삭제)이 단계 끝나면 “아, 이게 진짜 로그인이지…” 하는 느낌이 옵니다.11단계 목표MySQL + Prisma에 User, Session 테이블 추가로그인 ..
SvelteKit으로 시작하는 SSR 백엔드-프론트 기초 100단계5단계 — MySQL + Prisma 붙이기 (in-memory → 진짜 DB로 교체)4단계에서 핵심을 제대로 잡았습니다.UI / routes / SSR 흐름은 그대로저장소만 교체한다이번 단계는 그걸 진짜로 증명하는 단계예요.“DB 붙이면 코드 다 갈아엎는 거 아니야?” → 아닙니다.서버 저장소 파일 하나만 바꿉니다.5단계 목표MySQL을 로컬에서 실행한다 (Docker)Prisma로 스키마/마이그레이션을 만든다4단계의 in-memory 저장소를 DB 저장소로 교체load / actions / UI는 단 한 줄도 안 건드린다전체 구조 한 눈에 보기src/ ├─ routes/ │ └─ +page.server.ts (변경 없음) │ ..
🧪 Node.js + Express + Jest로 배우는 테스트 기반 개발(보너스 12편) RBAC 권한 시스템을 TDD로 설계하기“관리자 권한, 일반 사용자 권한… 테스트로 먼저 잠궈놓자”이제 진짜 실무에서 반드시 부딪히는 주제입니다.바로 권한(Authorization) 문제죠.어떤 API는 모든 로그인 사용자가 접근 가능해야 하고,어떤 API는 관리자(admin)만 접근 가능해야 합니다.이걸 코드에서 if 조건으로 난사하면 프로젝트는 바로 난장판 됩니다.그래서 실무에서는 “RBAC(Role-Based Access Control)” 방식을 사용합니다.오늘은 이 RBAC를 TDD로 설계하는 방식을 배웁니다.요구사항 → 테스트 작성 → 코드 구현 → 리팩터링,이 TDD 루틴 그대로 갑니다.🎯 이번 글에..
🧪 Node.js + Express + Jest로 배우는 테스트 기반 개발(보너스 11-2편) Refresh Token + Access Token 인증을 TDD로 설계하기“세션 유지 기간을 늘리는 가장 실무적인 방식”지난 글에서 JWT Access Token 기반 로그인을 TDD로 설계했다면,이제는 한 단계 더 올라갑니다.실무에서는 Access Token만으로 인증을 운영하지 않습니다.토큰이 짧은 만료 시간을 가지면사용자가 너무 자주 로그아웃되는 문제가 생기죠.반대로 유효기간을 너무 길게 잡으면 보안 취약성이 커집니다.그래서 등장한 방식이 바로:👉 Access Token + Refresh Token 구조이번 글에서는 이 구조를 TDD로 완전히 구현합니다.테스트로 먼저 요구사항을 잠그고,그 요구사항을 ..
쿠버네티스 실습: SaaS 청구·과금(Billing) 시스템 구축테넌트별 API 사용량 → 요금 항목 변환 → Stripe 자동 결제 파이프라인앞선 글에서는 테넌트별 Rate Limit & Quota Enforcement를 구축해SaaS 서비스의 핵심 기능인 “사용량 통제”를 안정적으로 완성했습니다.이제 실제 SaaS 비즈니스의 필수 마지막 레이어,Billing(과금) & Subscription(정기 구독) 시스템을 구축합니다.목표는 다음과 같습니다.“테넌트별 API 사용량을 정확하게 계산하여 요금 항목으로 변환하고,Stripe와 연동해 자동 청구·결제·영수증 발행까지 구현한다.”실제 SaaS 서비스가 운영되는 방식 그대로 따라가는 실습입니다.1. 전체 아키텍처[Istio Gateway logs / Ne..
🧪 Node.js + Express + Jest로 배우는 테스트 기반 개발(보너스 11편) JWT 인증을 TDD로 설계하기 — “로그인도 테스트로 먼저 만든다”시리즈는 10편으로 끝났지만,당신이 “다음글”이라고 한 순간… 나는 바로 감이 왔어요.이제 인증(Authentication) 파트를 다룰 때가 됐다.모든 서비스는 결국 “로그인”과 “권한 체크”로 귀결됩니다.그리고 이 인증 시스템을 TDD로 설계할 수 있게 되면,여러분은 백엔드 개발자로서 한 단계 위로 올라갑니다.그래서 이번 글은 JWT 로그인 API를 테스트로부터 구현하는 과정을 다룹니다.🎯 오늘 완성할 기능기능 설명POST /auth/signup유저 생성 + 비밀번호 해시POST /auth/login로그인 + JWT 발급보호된 라우트“인증된..
GitHub Actions로 완전 자동화된 NestJS 배포 파이프라인 구축하기(Blue-Green, Prisma Migrate, Slack 알림까지 원클릭 배포 완성)이제 우리가 만든 NestJS + Prisma + Redis + PM2 백엔드는로컬과 서버 모두에서 완벽히 작동한다.하지만 진짜 서비스 운영에서 더 중요한 건 “배포 자동화”다.매번 서버에 SSH 접속해서 git pull → docker compose up 하는 건 100% 사고 난다.이번 편에서는 GitHub Actions를 이용해코드 푸시 → 빌드 → 마이그레이션 → 배포 → 프록시 전환 → 알림까지한 번의 push로 자동화하는 방법을 단계별로 정리한다.🧭 목표단계 내용1️⃣main 브랜치 push 시 Actions 자동 트리거2️⃣..
쿠버네티스 실습: SaaS형 API 플랫폼 구축 — 테넌트별 인증, OIDC, Redis, Gateway 통합앞선 글에서는 멀티 테넌트 SaaS 아키텍처를 통해팀(또는 고객) 단위의 리소스·비용·보안 정책을 완벽히 분리한 Multi-Tenant Kubernetes Cluster를 구축했습니다.이제 우리는 실제 “서비스 형태의 SaaS 플랫폼”으로 발전시켜야 합니다.이번 글의 목표는 다음과 같습니다.“각 테넌트별로 고유한 API Key와 인증 토큰을 발급받고,Istio Gateway를 통해 접근 제어와 트래픽 모니터링을 수행하는 SaaS형 API 서비스 플랫폼을 구축한다.”1) 전체 아키텍처[Client (Tenant A/B)] │ ▼[Istio Ingress Gateway] │..
- Total
- Today
- Yesterday
- 쿠버네티스
- CI/CD
- DevOps
- 개발블로그
- nextJS
- Prisma
- nodejs
- node.js
- Python
- Next.js
- NestJS
- rag
- Docker
- flax
- fastapi
- JAX
- PostgreSQL
- kotlin
- JWT
- llm
- ai철학
- 생성형AI
- 백엔드개발
- LangChain
- Express
- SEO최적화
- seo 최적화 10개
- REACT
- 웹개발
- 딥러닝
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |

