본문 바로가기

java15

Java Spring에서 JWKS(JSON Web Key Set) API 구현 버전 정보 java: openjdk 17.0.8 spring: Spring Boot 3.2.1 nimbus-jose-jwt: 9.31 프로젝트 생성 start.spring.io 에서 위와 같이 프로젝트 생성 JWK & JWKS JWK (JSON Web Key) Json Web Key (JWK)는 JSON 형식으로 표현된 공개키 또는 비밀키를 나타내는 표준 JWK는 웹에서 사용되는 서비스 및 애플리케이션 간에 공유되는 키의 표준 표현 방법을 제공 JWK의 기본적인 구성 kty (Key Type): 키의 유형을 나타냄. RSA, EC, OCT 등이 있음 use (Key Use): 키의 사용 용도를 나타냄. 서명용인지, 암호화용인지 등을 지정 kid (Key ID): 키의 고유 식별자 alg (Algorith.. 2024. 1. 11.
Spring JPA hibernate.ddl-auto 정리 JPA 관련 설정 - spring.jpa.hibernate.ddl-auto에 대해 정리 none: 'hibernate.ddl-auto=none' 을 설정하면 Hibernate는 데이터베이스 스키마를 자동으로 생성하거나 갱신하지 않음. 즉, 애플리케이션을 실행할 때 데이터베이스의 스키마는 수동으로 관리해야 함 spring.jpa.hibernate.ddl-auto=none update: 'hibernate.ddl-auto=update' 는 Hibernate가 엔티티 클래스의 변경 사항을 기반으로 데이터베이스 스키마를 자동으로 갱신하려고 시도. 즉, 새로운 테이블이나 컬럼을 추가하거나 변경된 내용을 반영. 단, 기존 데이터는 유지되고, 새로운 컬럼에 대해서는 기본 값이 할당됨 (기존의 테이블이나 컬럼을 삭제하.. 2023. 12. 4.
Spring @RestControllerAdvice 적용 @RestControllerAdvice @RestControllerAdvice (@ControllerAdvice)는 전역으로 예외 처리할 수 있게 해주는 Annotation 이를 통해 각 Controller 별로 예외 처리 코드를 작성하여 중복 코드가 발생하는 것을 해결할 수 있고, 서비스 코드와 예외 처리 코드를 분리할 수 있음 패키지 단위 적용 basePackages에 package 경로를 명시하여 해당 package내에 적용 @Slf4j @RestControllerAdvice(basePackages = {"com.example.demo.ctl"}) // 여러개 추가 가능 public class DemoControllerAdvice { @ExceptionHandler public CommonRespo.. 2023. 11. 9.
Spring Validation 특정 String만 받도록 검증 하기 Request 시 String 필드가 특정 String만 받도록 검증하려고 할 때 다음과 같이 구현 @EnumValidator라는 Custom Annotation을 만들어서 target Enum에서 정의한 값들만 해당 필드에 받을 수 있도록 검증 EnumValidator (Annotation) @Documented @Constraint(validatedBy = EnumValidatorImpl.class) @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @NotNull(message = "Value cannot be null") @ReportAsSingleViolation public @interface EnumValidator { Class.. 2023. 11. 9.
Spring Boot & Thymeleaf 토이 프로젝트 [Course Registration System] Course Registration System Spring Boot와 Thymeleaf로 구현한 수강신청 웹 사이트 토이 프로젝트입니다. 개인 프로젝트로 진행했고, HTML 부분은 영한님의 스프링 강의에서 사용했던 HTML 코드를 수정하여 사용했습니다. Course Registration System Github https://github.com/wadekang/course-registration-system GitHub - wadekang/course-registration-system: Spring Boot 수강신청 웹 사이트 토이 프로젝트 Spring Boot 수강신청 웹 사이트 토이 프로젝트. Contribute to wadekang/course-registration-system develop.. 2022. 4. 1.
[c++][java][백준 2357] 최솟값과 최댓값 백준 2357번: 최솟값과 최댓값 [Gold 1] https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net 문제 풀이 이 문제는 특정 구간의 최솟값과 최댓값을 찾는 문제로 완전 탐색으로 값을 찾게 되면 시간 초과에 걸리게 된다. 구간 연산에 대한 문제는 세그먼트 트리(Segment Tree)를 생각할 수 있는데, 세그먼트 트리는 각 노드별로 일정 구간의 연산을 가지고 있는 트리를 말한다. 위의 그림이 세그먼트 트리인.. 2022. 3. 25.