spring

1. 리프레시 토큰(Refresh Token) 개요리프레시 토큰(Refresh Token)은 JWT 기반 인증 시스템에서 액세스 토큰(Access Token)의 만료 후에도 재인증 없이 새로운 액세스 토큰을 발급할 수 있도록 도와주는 토큰이다. 일반적으로 액세스 토큰은 보안 강화를 위해 짧은 만료 시간을 가지며, 이를 보완하기 위해 리프레시 토큰이 사용된다. ✅ 리프레시 토큰의 필요성액세스 토큰이 짧은 만료 시간을 가져 보안성이 강화됨사용자가 다시 로그인할 필요 없이 자동으로 새로운 액세스 토큰 발급 가능서버에서 세션을 관리하지 않고도 인증을 유지할 수 있음1.1. 리프레시 토큰의 동작 방식사용자가 로그인하면 액세스 토큰과 리프레시 토큰을 함께 발급한다.클라이언트는 액세스 토큰을 사용하여 API 요청을 ..
1. Spring Security Spring Security는 애플리케이션의 보안 기능을 제공하는 강력한 프레임워크이다. 인증(Authentication)과 권한 부여(Authorization)를 처리하는 데 사용되며, 쿠키, 세션, JWT 기반 인증을 모두 지원한다.2. 쿠키(Cookie)와 세션(Session)2.1. 쿠키(Cookie)쿠키는 클라이언트(브라우저)에 저장되는 작은 데이터 조각으로, 서버가 사용자 정보를 저장하고 필요할 때 클라이언트에서 전송받을 수 있도록 한다. ✅ 쿠키 특징HTTP 요청 및 응답 헤더를 통해 주고받음클라이언트(브라우저)에 저장됨만료 시간이 지나거나 삭제될 때까지 유지됨보안에 취약하므로 중요한 정보는 저장하면 안 됨✅ 안전한 쿠키 관리 방법중요한 정보를 포함하지 않도..
1. 스프링 부트(Spring Boot)스프링 부트(Spring Boot)는 스프링 프레임워크를 기반으로 한 간편한 애플리케이션 개발을 위한 프레임워크이다. 개발자가 설정을 최소화하고 빠르게 개발을 진행할 수 있도록 다양한 자동 설정을 제공한다.1.1. 주요 특징내장 웹 서버 제공: Tomcat, Jetty, Undertow 등의 웹 서버를 내장하여 별도의 설정 없이 실행 가능자동 설정(Auto Configuration): 설정을 최소화하여 빠른 개발 가능의존성 관리: 스타터(Starter) 의존성을 활용하여 필요한 기능을 손쉽게 추가 가능Spring Boot CLI 지원: CLI(Command Line Interface)를 활용한 빠른 애플리케이션 실행1.2. 스프링 부트 프로젝트 생성 및 실행프로젝트..
1. 스프링 프레임워크 개요스프링(Spring) 프레임워크는 자바(JAVA) 기반의 엔터프라이즈 애플리케이션 개발을 위한 강력한 프레임워크이다. DI(의존성 주입, Dependency Injection)과 AOP(관점 지향 프로그래밍, Aspect-Oriented Programming)를 지원하여 개발자가 유지보수와 확장성이 높은 애플리케이션을 개발할 수 있도록 돕는다.2. 스프링의 주요 기능2.1. 의존성 주입(Dependency Injection, DI)DI는 객체 간의 의존성을 개발자가 직접 관리하는 것이 아니라, 프레임워크가 자동으로 주입해 주는 개념이다. 이를 통해 결합도를 낮추고 코드의 유지보수를 쉽게 만들 수 있다.DI 사용 예제@Configurationpublic class AppConfi..
실시간 알림 기능은 현대 웹 애플리케이션에서 거의 필수적인 요소가 되었습니다. 사용자 경험을 향상시키고, 애플리케이션의 상호작용성을 높이기 위해 진행중이던 프로젝트에도 SSE를 도입하게 되었습니다. 이 글에서는 Spring Framework와 Server-Sent Events(SSE)를 사용하여 프로젝트를 진행하며 직접 실시간 알림 기능을 구현한 방법에 대해 소개하겠습니다. 1. SSE(Server-Sent Events)란?SSE는 웹 애플리케이션에서 서버로부터 데이터를 비동기적으로 전송받을 수 있는 기술 중 하나입니다. 이를 통해서 서버는 새로운 정보가 있을 때마다 실시간으로 클라이언트에게 데이터를 푸시할 수 있습니다. 웹 애플리케이션에서 실시간 알림기능을 구현할때 매우 유용합니다. 2. 왜 SSE를..
· CS
트랜잭션 트랜잭션이란 데이터베이스 상태를 변경하는 일련의 작업을 하나의 논리적 단위로 묶은 것입니다. 이때, 데이터 베이스에 접근하는 방법은 쿼리이므로, 즉 여러개의 쿼리들을 하나로 묶는 단위를 말합니다. Spring에서는 @Transactional 에너테이션을 붙여 여러 쿼리 관련된 코드들을 하나의 트랜잭션으로 처리해줍니다. ACID 트랜잭션의 속성을 설명하는 네 가지 원칙. 원자성(Atomicity) : “all or nothing”. 모든 작업이 완전히 수행되거나, 아무것도 수행되지 않아야합니다. 작업 중 하나라도 실패하면 모든 작업은 롤백됩니다. 일관성 (Consistency) : 트랜잭션이 실행 전과 후에 데이터베이스는 일관된 상태를 유지해야 합니다. 트랜잭션 전후의 데이터는 사전에 허용된 방식..
chillmyh
'spring' 태그의 글 목록