사이드 프로젝트 기록5 [EasyMarket] 스프링 이메일 인증 구현 (Redis/OTP) https://20240228.tistory.com/443 [EasyMarket] Github Actions 사용으로 CI/CD 구축하기 (EC2 생성)https://20240228.tistory.com/442 [EasyMarket] 프로젝트 시작, CORS 해결하기프로젝트 환경 설명 spring boot(html, css, javascript, thymeleaf) 프론트spring boot 백엔드 나는 백엔드 개발자여서 vue, react 같은 프론트 프20240228.tistory.com이전 내용 순서 이메일 인증 → 필요한 의존성 추가 → 구현이메일 인증?나는 이메일이 인증된 사용자만 회원가입 할 수 있도록 OTP(One-Time Password)를 발급하여 사용자가 본인의 이메일을 통해 인증을 받.. 2025. 3. 27. [EasyMarket] Github Actions 사용으로 CI/CD 구축하기 (EC2 생성) https://20240228.tistory.com/442 [EasyMarket] 프로젝트 시작, CORS 해결하기프로젝트 환경 설명 spring boot(html, css, javascript, thymeleaf) 프론트spring boot 백엔드 나는 백엔드 개발자여서 vue, react 같은 프론트 프레임워크를 전혀 모르지만 단순 SSR을 하는 프로젝트 보다는 이렇20240228.tistory.com이전 내용 순서 EC2 인스턴스 생성 → 탄력적 IP → CICD 이해 → CICD 구축 → 타임리프 트러블 슈팅 EC2 인스턴스 생성하기 AWS EC2 서비스로 들어가서 리전(Region) 선택꼭 아시아 태평양(서울) ap-northeast-2 로 선택 (한국에 산다면) 리전이란?EC2란 우리가 컴퓨터.. 2025. 3. 26. [EasyMarket] 프로젝트 시작, CORS 해결하기 프로젝트 환경 설명 spring boot(html, css, javascript, thymeleaf) 프론트spring boot 백엔드 나는 백엔드 개발자여서 vue, react 같은 프론트 프레임워크를 전혀 모르지만 단순 SSR을 하는 프로젝트 보다는 이렇게라도 CSR을 적용하여 프론트 / 백엔드 통신 과정에 대한 이해와 여러가지 로컬/운영 환경에서의 이슈를 직접 경험하고 싶어 이렇게 구성했다. 로컬 환경에서 프론트 백엔드 통신 테스트 하기 (CORS 문제 해결하기)프론트 설명 -> CORS -> 백엔드 설명 프론트 설명 front: application.yamlspring: profiles: active: local---spring: config: activate: on-pr.. 2025. 3. 26. [EasyMarket] 트랜잭션, 꼭 서비스에서 시작해야 할까? 애플리케이션에서 데이터베이스 작업은 대부분 트랜잭션 내에서 처리된다.트랜잭션은 데이터의 일관성과 안정성을 보장하는 중요한 메커니즘으로, 이를 적절히 관리하지 않으면 성능 저하나 불필요한 리소스 소모를 초래할 수 있다.특히, 트랜잭션의 시작 지점(entry point)을 잘못 설정하면 커넥션 풀 고갈 문제를 일으킬 수 있으며, 이로 인해 애플리케이션 전체 성능에 부정적인 영향을 미칠 수 있다.따라서 트랜잭션을 적절하게 관리하는 것은 애플리케이션 성능에 매우 중요하다.보통 트랜잭션의 선언은 서비스 계층에서 이루어지며, Spring에서는 @Transactional 애노테이션을 사용하여 트랜잭션을 관리한다.나는 트랜잭션 최적화를 위해 서비스 계층에서 클래스 레벨에 @Transactional(readOnly = .. 2025. 2. 26. [EasyMarket] 세션 VS JWT 토큰 방식 세션 방식 (Session-Based Authentication)간단한 동작 방식 정리클라이언트가 로그인 요청을 하면 서버가 인증 후 세션 ID를 생성세션 ID는 서버의 메모리에 저장클라이언트는 이 세션 ID를 쿠키에 저장하여 매 요청 시 서버로 전송서버는 요청마다 세션 ID를 확인하고 해당 세션의 정보를 조회하여 인증 처리장점구현이 간단하다스프링 시큐리티를 사용하면 간단한 설정으로 세션 기반 인증, 인가 아키텍처를 사용 가능서버와 클라이언트 간 구조가 직관적서버에서 세션을 보관하기 때문에 쉽게 무효화하거나 관리할 수 있다단점서버 확장성세션 정보를 서버에 저장하기 때문에 서버가 수평 확장되면 세션 동기화 문제가 있다.스프링 시큐리티는 세션 정보를 공유할 수 있는 메커니즘을 제공한다또는 레디스 같은 분산 .. 2025. 2. 7. 이전 1 다음