목록분류 전체보기 (111)
Spring & Java
## 📦 구현 내용- Order 엔티티 및 OrderStatus 상태 흐름 구현- 주문 생성 API (/orders) 추가- 주문 Repository 및 Service 레이어 구성- 주문 금액 검증 및 커스텀 예외 처리 적용## 🎯 설계 포인트- 결제 기준 단위로 Order Aggregate 설계- 상태 전이 기반 주문 흐름 구조 적용- CRUD 최소화 (생성/조회 중심)## ✅ 테스트- 주문 생성 정상 동작 확인- 잘못된 금액 요청 시 예외 처리 확인 ## 📦 구현 내용- Order 도메인 기반 주문 생성 API 구현- 주문 목록 조회 API 추가- 주문 상세 조회 API 추가- 공통 응답 포맷(ApiResponse) 적용- 주문 상태 흐름(PENDING → COMPLETED → REFUNDED..
https://naver.github.io/hackday-conventions-java/ 캠퍼스 핵데이 Java 코딩 컨벤션중괄호({,}) 는 클래스, 메서드, 제어문의 블럭을 구분한다. 5.1. K&R 스타일로 중괄호 선언 클래스 선언, 메서드 선언, 조건/반복문 등의 코드 블럭을 감싸는 중괄호에 적용되는 규칙이다. 중괄호naver.github.io https://github.com/JunHoPark93/google-java-styleguide GitHub - JunHoPark93/google-java-styleguide: Google의 Java StyleGuide를 번역한 문서 📝Google의 Java StyleGuide를 번역한 문서 📝. Contribute to JunHoPark93/googl..
기초 기반 하기플로우 다이어그램 설계ERD 구성 필수 제공 기능 이번 프로젝트는 이전에 특강을 통해 학습한 내용을 토대로 커머스 주문 결제 시스템을 처음부터 설계를 할 예정입니다.자바 스프링부트 및 포트원 API를 활용해서 커머스의 핵심 기능인 결제 시스템을 구현하는 방법을 간단하게 학습 해야 됩니다. 문제점 : 1. 단순한 단건 결제만으로는 현대 이커머스의 요구 사항을 충족할 수 없습니다.2. 고객 라인 ( Lock - in ) 을 위한 포인트/ 멤버십이나 안정적인 수익 모델인 구독 기능이 필요합니다.3. 포인트 사용, PG사 결제가 복합적으로 이루어지는 '복합 결제' 시나리오를 처리할 수 있어야합니다.4. 멤버십 등급, 사용자의 잔여 포인트, 구독 상태 등을 체계적으로 관리하고 추적할 데이터 모델과..
퍼블릭 서브넷과 프라이빗 IGW VPC 내부 네트워크 흐름 정리 ( Public / Private Subnet, IGW, NAT Gateway ) 1. 전체 구조 한 줄 요약Public Subnet은 외부와 통신, Private Subnet은 외부에 노출되지 않고,필요할 때만 Nat Gateway를 통해 외부로 나갑니다. 2. 구성 요소별 역할 정리● VPC ( Virtual Private Cloud )AWS 안에 만드는 나만의 가상 네트워크 공간IP 대역 ( CIDR )을 직접 정의모든 리소스는 이 VPC 안에서 동작● Internet Gateway (IGW)VPC와 인터넷을 연결해주는 관문IGW가 없으면 VPC 내부 리소스는 인터넷과 완전히 단절Public Subnet이 인터넷과 통신하려면 반드시 I..
멱등성 ( Idempotency ) 이란?1. 멱등성의 수학적 정의멱등성 ( Idempotnecy )은 수학과 컴퓨터 과학에서 사용되는 개념으로, 연산을 여러 번 적용해도 결과가 달라지지 않는 성질을 의미합니다. 2. API에서의 멱등성 의미API에서 멱등성은 동일한 요청을 여러번 보내도 서버의 상태가 한 번 요청한 것과 동일함을 의미합니다.멱등한 API : 같은 요청을 1번 보내나 100번 보내나 결과가 같음멱등하지 않은 API : 같은 요청을 보낼 때마다 결과가 달라질 수 있음그렇다면 왜 API 멱등성이 중요할까요?분산 시스템에서는 네크워크 불안정, 타임아웃, 재시도 등의 이유로 같은 요청이 여러 번 도달할 수 있습니다. HTTP 메서드별 멱등성HTTP 스펙에서 정의하는 메서드별 멱등성 : 메서드별..
이번에는 Stateless와 Stateful에 대해서 이야기를 해보도록 하겠습니다. 학습 목표 ● Stateless 와 Stateful 학습 Stateless VS Stateful앱을 운영 환경에서 안정적으로 운영하려면 Stateless (상태 없음) 패턴이 중요합니다. 정의패턴의미특징Stateless ( 상태 없음 )앱이 상태를 저장하지 않음서버 교체/확장 용이Stateful ( 상태 있음 ) 앱이 상태를 저장함 서버 교체 시 데이터 유실 위험 Stateless 패턴의 핵심1. 앱은 언제든지 교체 가능하게2. 데이터는 외부에고민을 한번 해봅시다.사용자가 업로드한 파일을 같은 서버 디스크에 저장하면 어떤 문제가 발생할 것 같나요?같은 서버 디스크에 파일 저장 시 발생하는 문제 1. 서버 재시작, 재배포 ..
🔹 LV 0 — AWS 환경 준비 및 비용 관리📌 학습 내용AWS 실습에 앞서 Billing Budget을 설정했다.월 예산을 $100으로 제한하고,80%60%40%사용 시 이메일 알림을 받도록 설정했다.실습 환경에서 비용이 예상치 못하게 발생할 수 있다는 점을 인지하고,사전에 통제 장치를 마련하는 것의 중요성을 이해했다.💭 느낀 점기능 구현보다 먼저 비용을 통제하는 습관이 중요하다는 걸 처음으로 체감했다.“돌아가게 만드는 것”보다 “안전하게 운영하는 것”이 더 중요한 단계라는 느낌을 받았다.🔹 LV 1 — EC2 인스턴스 상태 확인 및 기본 접근📌 학습 내용EC2 인스턴스를 생성하고 Status Check = UP 상태를 확인했다..pem 키를 이용해 SSH 접속을 시도하며,키 파일 경로 문제..
자! 드디어 배포까지 왔습니다. 우리는 이번에 EC2 서버에 Spring 앱을 배포 해서 동작 하는것까지 확인하는 법을 배우게 될 것입니다.자 이제 그럼 시작해 볼까요? 학습 목표● EC2에 Spring 앱 배포 실습 배포를 위한 Spring 프로젝트 implementation 'io.awspring.cloud:spring-cloud-aws-starter-parameter-store:4.0.0-RC1'server.port=8080management.endpoints.web.exposure.include=health,info spring.config.import=aws-parameterstore:/camp-health-app/prod/management.endpoint.health.show-details..
이번 시간은 AWS Parameter Store 학습 해볼까 합니다. 학습 목표● AWS Parameter Store란 무엇인가?● EC2 - AWS Parameter Store 권한 설정 어떻게 EC2 서버에 연결할 수 있는지 확인해보겠습니다. AWS Parameter Store란?AWS System Manager Parameter Store는 설정값을 안전하게 저장하고 관리하는 서비스입니다. 2. 파라미터 생성 ● 이름 규칙 : /{앱이름}/{환경}/{키} - 계층 구조로 관리하면 권한 제어가 쉬움● Type ○ String : 문자열 ○ StringList : 콤마( , ) 로 구분된 문자열 리스트 ○ SecureString : 암호화된 문자열 환경 변수를 전 시간에 어떻게 쓰는지 확인 했..
이번 시간은 Profile별 설정 분리를 학습해 보도록 하겠습니다. 학습 목표● Profile별 설정 분리 이유● Spring Boot에서 Profile별 설정 분리 방법 Profile별 설정 분리 이유코드는 같고 설정만 다르게 하면 환경별 배포가 가능해집니다.-> Pofile을 환경이라고 이해하면 쉽습니다. 잘못된 방식● 환경 변수 하드 코딩 ( 위험 ! )# application.propertiesspring.datasource.url=jdbc:mysql://localhost:3306/test # 고정 되어버림!spring.datasource.password=12345678 # 고정 되어버림!● 문제점 ○ 운영 배포 시 코드 수정 필요 ○ 비밀번호가 코드에 노출..