분류 전체보기174 [청하] 찜하기 Optimistic UI 처리 - 중복 INSERT 예외 대응 (feat. rollback-only & @Async 이벤트) 목차 1. 문제 상황기존 코드@Transactionalpublic void registerFavoritePolicy(Long userId, String policyId) { User user = getUserById(userId); // 사용자 조회 Policy policy = getPolicyById(policyId); // 정책 조회 try{ // 찜하기 INSERT favoritePolicyRepository.save(FavoritePolicy.of(user, policy)); // 사용자 상호작용 데이터 INSERT (이미 존재하면 action_time만 업데이트) userInteractionRepository.upsertUserI.. 2025. 4. 4. [청하] TimeFormatter 클래스 리팩토링 (feat. @UtilityClass) 보호되어 있는 글 입니다. 2025. 4. 4. [청하] 밸런스 게임/토론 기능 구현 - (1) 설계 보호되어 있는 글 입니다. 2025. 4. 4. [청하] 47. Swagger UI 개선 - API 문서 가독성 향상 2024.12.12목차 기존에 Spring Boot 프로젝트에서 Swagger UI 사용하여 API 문서를 제공하고 있었다. 서버 이전 이후로 사용하지 않아서 인식하지 못하다가 최근에 Swagger가 제대로 작동하지 않는다는 문제를 발견했다. 그래서 오류도 고치고 Swagger UI의 가독성과 사용성을 높이기 위해 전체적으로 개선했다. 1. 기존 문제점기존 SwaggerConfig@Configurationpublic class SwaggerConfig { @Bean public OpenAPI openAPI() { SecurityScheme securityScheme = new SecurityScheme() .type(SecurityScheme.Type.A.. 2025. 4. 3. [java-mid1] 8. 중첩 클래스, 내부 클래스2 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 지역 클래스 - 시작지역 클래스(Local class)는 내부 클래스의 특별한 종류 중 하나이다. 내부 클래스의 특징을 그대로 가진다.따라서 지역 클래스도 내부 클래스와 마찬가지로 바깥 클래스의 인스턴스 멤버에 접근할 수 있다.지역 클래스는 일반 클래스와 달리 지역 변수처럼 코드 블럭 안에서 정의된다. 지역 클래스의 특징지역 클래스는 지역 변수처럼 특정 코드 블럭(메서드나 생성자 내) 안에서 선언된다.지역 클래스는 자신이 선언된 코드 블럭의 지역 변수에 접근할 수 있다.바깥 클래스의 인스턴스 멤버(필드, 메서드)에 접근할 수 있다.지역 클래스는 지역 변수와 마찬가지로 접근 제어자(public, private 등)를 사용할 수 없다. 지역.. 2025. 3. 28. [java-mid1] 7. 중첩 클래스, 내부 클래스1 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 중첩 클래스, 내부 클래스란?중첩 클래스(Nested Class)는 클래스 안에 정의된 또 다른 클래스를 말한다.마치 반복문 안에 반복문을 두는 중첩 for문처럼, 클래스 내부에 클래스가 위치한다는 점에서 유래된 개념이다.class Outer { class Nested { ... }} 중첩 클래스의 분류 중첩 클래스는 선언된 위치에 따라 다음과 같이 분류된다. 중첩 클래스는 정의 위치에 따라 4가지로 구분된다. 이들은 크게 정적 중첩 클래스와 내부 클래스 종류 두 갈래로 나뉜다. 분류 기준중첩 클래스 종류설명바깥 클래스 기준정적 중첩 클래스 (Static Nested Class)static 키워드로 선언되며, 바.. 2025. 3. 24. [java-mid1] 5. 열거형 - ENUM "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 문자열과 타입 안전성자바에서 열거형(Enum Type)이 등장한 이유는 문자열을 이용한 값 표현의 한계 때문이다.기본적으로 String을 이용해 특정 상태(등급, 카테고리 등)를 나타낼 수 있지만, 다음과 같은 문제가 발생한다. 문자열을 사용한 방식 & 문제점회원 등급에 따라 할인을 적용하는 시스템이다.public class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) discountPercent = 10; else if (grade.. 2025. 3. 15. 이전 1 2 3 4 ··· 25 다음 반응형