반응형 백엔드76 [Spring] JWT 토큰과 Security 인증 인가 로직 복습 JWT 토큰 및 Spring Security 인증/인가 로직 복습이 문서는 제공된 소스 코드를 기반으로 Spring Boot 애플리케이션에서 JWT(JSON Web Token)와 Spring Security를 사용한 인증 및 인가 메커니즘을 설명하고, 관련 핵심 개념을 정리합니다.0. 시작하기 전에: 핵심 개념 정의인증 (Authentication)정의: 사용자가 누구인지 확인하는 과정입니다. (예: 아이디/비밀번호 로그인, 이메일 인증 코드 확인)목표: 시스템에 접근하려는 주체의 신원을 증명하는 것입니다.인가 (Authorization)정의: 인증된 사용자가 특정 리소스나 기능에 접근할 권한이 있는지 확인하는 과정입니다.목표: 신원이 증명된 사용자가 허용된 범위 내에서만 동작하도록 제어하는 것입니다.1.. 2025. 10. 22. [Spring] 암호화(BCrypt) 및 쿠키(Cookie) 복습 자료 암호화(BCrypt) 및 쿠키(Cookie) 복습 자료이 문서는 제공된 Java 코드와 학습 노트를 바탕으로 BCrypt를 이용한 비밀번호 암호화와 쿠키를 활용한 로그인 상태 관리 방법을 정리한 복습 자료입니다.1. 비밀번호 암호화 (BCrypt)1.1. 암호화 기본 개념정의: 데이터를 보호하기 위해 사람이 이해하기 어려운 형태의 문자(암호문)로 변환하는 과정입니다.목적: 개인정보(특히 비밀번호)를 안전하게 보호하고, 데이터의 무결성을 유지합니다.단방향 암호화: 평문을 암호문으로 변경할 수는 있지만, 암호문을 다시 평문으로 되돌릴 수 없는(복호화 불가) 방식입니다. 비밀번호 저장에 필수적입니다.1.2. BCrypt란?정의: 비밀번호 저장을 위해 설계된 대표적인 해시 함수 기반의 단방향 암호화 알고리즘입니.. 2025. 10. 21. [Spring] Redis 개념 및 활용법 with Spring Boot Redis with Spring Boot 복습 자료이 문서는 제공된 Java 코드와 학습 노트를 바탕으로 Redis의 기본 개념과 Spring Boot에서의 활용법을 정리한 복습 자료입니다.1. Redis 기본 개념1.1. Redis란?In-Memory Data Store: 데이터를 주기억장치(RAM)에 저장하여 매우 빠른 읽기/쓰기 속도를 제공하는 키-값(Key-Value) 구조의 저장소입니다.NoSQL: 관계형 데이터베이스(RDB)와 달리 정해진 스키마가 없는 NoSQL의 한 종류입니다.주요 목적: 데이터베이스의 부하를 줄이기 위한 캐싱(Caching), 실시간 순위표, 세션 관리 등 빠른 응답이 요구되는 다양한 시나리오에 사용됩니다.1.2. 데이터 저장 방식 비교저장소특징주요 용도데이터베이스 (My.. 2025. 10. 21. [Spring] MyBatis XML 연동 개요 Spring Boot & MyBatis XML 연동 요약1. 개요이 문서는 Spring Boot 환경에서 MyBatis 프레임워크를 사용하여 SQL 쿼리를 Java 코드로부터 분리된 XML 파일로 관리하는 방법에 대해 설명합니다. 이 방식은 SQL의 유지보수성을 높이고, Java 코드의 가독성을 향상시킵니다.2. 주요 파일 및 역할📄 XmlMapper.xml - SQL 쿼리 정의MyBatis의 핵심으로, 실제 실행될 SQL 쿼리를 담고 있는 XML 파일입니다.: 이 XML 파일과 연결될 Java 인터페이스(Mapper)의 전체 경로를 지정합니다., , , : SQL 문 종류에 맞는 태그를 사용합니다.id 속성: Mapper 인터페이스의 메소드 이름과 일치시켜 서로 매핑합니다.parameterType 속.. 2025. 10. 13. [Java] Java 함수형 인터페이스와 스트림 API 요약 Java 함수형 인터페이스와 스트림 API 요약이 문서는 오늘 배운 함수형 인터페이스와 스트림 API 메소드를 요약합니다.1. 함수형 인터페이스함수형 인터페이스는 람다 표현식과 함께 사용되도록 설계된, 단일 추상 메소드를 가진 인터페이스입니다.가. Function목적: T 타입의 인자를 받아 R 타입의 결과를 반환합니다.메소드: apply(T t)예제:Function function = x -> x * 2;System.out.println(function.apply(3)); // 출력: 6나. Supplier목적: 결과물을 공급하는 역할을 합니다. 인자 없이 T 타입의 결과를 반환합니다.메소드: get()예제:Supplier supplier = () -> Math.random();System.out.pr.. 2025. 9. 29. [Spring] 도서 대여 콘셉트 트랜잭션 실습과 피드백 마크다운 실습3 : 도서 대출 및 반납 트랜잭션 적용하기 [조건1] AppStart , BookController , BookService , BookMapper (DTO 선택) [조건2] 도서대출 : 1. 대출 요청 시 해당 책의 재고를 1 감소한다. 재고가 0이면 예외발생 2. 재고 감소 후 대출기록을 (등록) 처리한다. 대출기록 처리가 실패하면 예외발생 3. 예외가 발생하면 전체 SQL 실행은 rollback한다. 도서반납 : 1. 반납 요청 시 해당 책의 재고를 1 증가한다. 만약 없는 책이면 예외발생 2. 재고 증가 후.. 2025. 9. 26. 이전 1 2 3 4 5 ··· 13 다음 반응형