Java/SpringBoot(5)
-
[LG U+ 유레카 3기] Redis Queue + Scheduler로 선착순 쿠폰(100장) 동시성 해결 실습
🧩 Redis Queue + Scheduler로 선착순 쿠폰(100장) 동시성 해결 실습❶ 상황 설명선착순 쿠폰 이벤트는 “동시에 많은 사용자가 몰리는” 대표적인 동시성 문제다.처음엔 JPA에서 quantity를 그냥 감소시키면, 여러 요청이 동시에 들어올 때 갱신 유실(Lost Update) 때문에 재고가 깨지기 쉽다.이번 실습에서는 DB 락에만 의존하지 않고, Redis Queue로 요청을 줄 세운 뒤 Scheduler가 순차적으로 발급하는 구조로 선착순 100장을 안정적으로 처리했다.❷ 핵심 아이디어 (한 문장 요약)신청(apply)은 Redis 큐에 넣기만 하고 빠르게 종료 → 발급(publish)은 스케줄러가 큐에서 꺼내 DB 재고를 감소 → 재고가 0이면 SoldOut 처리Producer: ..
2026.01.06 -
[LG U+ 유레카 3기]Spring Boot REST API + Swagger + Postman 연동 실습
오늘은 Spring Boot로 만든 학생 관리 REST API에 Swagger(OpenAPI 3.0)와 Postman을 붙여서, “백엔드 API → 문서 → 테스트 도구”까지 한 번에 연결하는 실습을 했다.단순히 코드만 작성하는 수준이 아니라, HTTP 응답 설계(ResponseEntity), API 문서화(@Tag, @Operation), OpenAPI JSON, Postman 연동까지 현업에서 실제로 사용하는 흐름과 거의 동일한 구조였다.❶ REST API 기반 Student CRUD 구조 복습1) 레이어드 아키텍처 구조이번 실습의 기본 골격은 이미 만들어 둔 Student CRUD 프로젝트다. 레이어드 아키텍처 구조는 다음과 같다.Controller : HTTP 요청(URI, 메서드) → Java ..
2025.12.02 -
🌐 Spring Boot 프로젝트에 Swagger(OpenAPI) 적용하는 방법
✅ 1. Swagger(OpenAPI)란?Swagger는 API를 자동으로 문서화하고, 웹 UI에서 바로 테스트까지 할 수 있게 해주는 도구입니다.Spring Boot에서는 SpringDoc OpenAPI 라이브러리를 통해 손쉽게 적용할 수 있습니다.✅ 2. Gradle 의존성 추가build.gradle 파일에 아래 의존성을 추가합니다:implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0' 🔸 최신 Spring Boot 3.x 와 호환되는 버전입니다.추가 후 Gradle Reload 또는 ./gradlew build 명령을 실행하세요.✅ 3. Swagger UI 접속Spring Boot 서버를 실행한 뒤, 브라우저에서 아래 주소..
2025.06.02 -
🚀 Spring Boot로 회원가입 & 유저 조회 API 만들기 (feat. Postman)
Spring Boot + Postman 실습 + 설계 구조 + CS 개념까지 한 번에!✅ 개요이 글에서는 Spring Boot를 사용해 간단한 회원가입 API와 유저 조회 API를 개발하고,Postman을 통해 실제 요청을 보내 테스트하는 실습을 정리합니다.또한, 이 프로젝트를 통해 백엔드 개발에서 꼭 알아야 할 **설계 구조, 계층 분리, CS 개념(HTTP, REST, DTO, DI 등)**도 함께 정리해 실무와 면접 대비에 모두 도움이 되도록 구성했습니다.🧱 전체 설계 구조📌 계층 구조 Controller → Service → Repository → Database ↑ DTO (Request) 계층설명역할ControllerUserControllerHTTP 요청 처리, DTO 수신ServiceU..
2025.05.29 -
🛠️IntelliJ로 스프링부트 백엔드 개발환경 구축하기 (JDK 17 기반)
스프링부트 프로젝트를 IntelliJ Community Edition으로 개발하기 위해JDK 17 설치부터 프로젝트 생성까지 차근차근 진행한 과정을 정리합니다.모든 설정은 커뮤니티 에디션 기준이며, Postman과 Swagger 연동은 추후 예정입니다.✅ 1. JDK 17 설치스프링부트 3.x 이상은 JDK 17 이상이 필수입니다.OpenJDK 17 다운로드 페이지에서 Windows x64 버전 다운로드:https://jdk.java.net/17/설치 후 아래 경로로 정리해두었습니다.C:\Program Files\Java\jdk-17.0.0.1✅ 2. IntelliJ 설치 및 JDK 등록JetBrains 공식 사이트에서 IntelliJ IDEA Community Edition 설치https://www.j..
2025.05.29