profile
아 성장판 쑤셔
post-thumbnail

이 얼마나 쉽고 빠른 gRPC?! (1) Concept

gRPC는 구글에서 시작한 오픈소스이며, '원격 프로시저 호출(RPC, Remote Procedure Calls)'을 위한 시스템입니다. 쉽게 풀어서 쓰면, A 서버(gRPC 서버)에서 만들어 둔 함수를 B 서버(gRPC 클라이언트)가 사용할 수 있도록 합니다.

2023년 8월 30일
·
0개의 댓글
·
post-thumbnail

JPA 개선된 Projection - 최근 모던 자바와 JPA는 어떻게 일부 컬럼 조회를 지원할까?

"우리는 데이터베이스를 병목 지점으로 두고 싶지 않습니다." 데이터 조회는 원래 필요한 컬럼만 작성하는 것이 바람직할 수 있습니다. 다만, ORM을 사용하면서 작업을 늘리기 싫은 경우, 부분 조회에 대한 원칙 없이 사용하는 경우가 꽤 많습니다. 단건 조회는 ...

2023년 6월 1일
·
0개의 댓글
·
post-thumbnail

Java 14~21: 개선된 Switch Case

JDK 14(12 Preview): Arrow와 인라인 Switch문 JDK 14(12 Preview): Yield를 통한 반환 JDK 21(17 Preview): 패턴 매칭을 통한 타입 분류 Arrow 사용과 인라인 기존 스위치문 사용 시에는, 케이스마다 개선된

2023년 6월 1일
·
2개의 댓글
·
post-thumbnail

Spring Boot: MapStruct: DTO를 Entity로, Entity를 DTO로(feat. MapStruct는 Record를 지원할까?)

요청/응답 양식에 맞춰 DTO 클래스를 만들고 사용하면, 결국 어느 단계에서는 DTO를 Entity로 변환하거나, Entity를 DTO로 변환해야 하는 경우가 많습니다. DTO에 toEntity() 메서드를 두기도 하고, 또는 ...

2023년 5월 28일
·
1개의 댓글
·
post-thumbnail

MSA: Swagger UI로 API 문서 통합 프로세스 (4) Web Config(CORS) 및 Security Config

독립 실행 된 Swagger UI 서비스에서 각 서버로 API 문서를 요구하기 위해서는, 브라우저의 Preflight 요청을 먼저 통과해야 한다. 더 보기 ...

2023년 5월 28일
·
1개의 댓글
·
post-thumbnail

MSA: Swagger UI로 API 문서 통합 프로세스 (3) Gradle Task from ePages Plugin

`epages`에서 제공한 변환 플러그인을 추가했다면, `openapi`, `openapi3`, `postman` 등 태스크를 사용할 수 있다. 그중 우리는 `openapi3` 태스크를 사용할 것이다. 이처럼 태스크를 추가해 주고, 테스트 후 이어서 수행되도록 ...

2023년 5월 28일
·
0개의 댓글
·
post-thumbnail

MSA: Swagger UI로 API 문서 통합 프로세스 (2) 도커 컴포즈 파일

도커 데스크톱을 깔아 두면 로컬에서 쉽게 도커 컴포즈와 독립형 Swagger UI 프로세스를 사용할 수 있다.다음 파일을 원하는 곳에 docker-compose.yml이라는 이름으로 작성해 두고(보통 원격 저장소로 같이 공유하니까 프로젝트에 포함시킨다.)도커 데스크톱을

2023년 5월 27일
·
0개의 댓글
·
post-thumbnail

MSA: Swagger UI로 API 문서 통합 프로세스 (1) Rest Doc을 사용해도 Swagger를 사용해도 Swagger UI로 모아 주기

Swagger UI 통합을 위한 프로세스가 독립적으로 실행되고 있다. 이 프로세스는 각 마이크로 서비스가 제공하는 Open API 문서를 모아서 제공한다. 이 프로세스는 Rest Doc 사용 여부 등과 무관하게 Open API 문서를 제공받을 뿐이므로, 여러 마이크로

2023년 5월 27일
·
0개의 댓글
·
post-thumbnail

Spring Boot 3.1(Spring 6.1) Security Config: 'csrf()' is deprecated and marked for removal

스프링 부트 3.1로 올리면서 발생하는 Deprecated 문제가 있다. 기존 Security Configuration 자바 소스 코드에서 서로 무관한 애들끼리도 직렬로 이어지던 이런 메서드 체이닝을 지양하고, 함수형으로 전달하여 설정하면 된다. 코드는 ...

2023년 5월 23일
·
2개의 댓글
·
post-thumbnail

Java 17 + Spring Boot 3: @Value를 쓸까, @ConfigurationProperties를 쓸까

Java 16의 Record Class는 불변 객체를 쉽게 생성할 수 있게 해 준다. 그렇다면 이 Record Class를 DTO 외에도 어떤 곳에 쓸 수 있을까? 스프링 부트를 사용할 때 유용한 Record 사용처 중 한 곳인 ...

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

DTO 클래스는 Record로 어떻게 줄일까

Java 16 Record Class는 불변 객체 표현에 굉장히 유용하다. 또한 심플하다. 다만, 그 사용처를 올바르게 이해할 필요가 있다. 스프링 부트 3 버전대에 이르러 ...

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

Java 16: Record Class

자바의 record 클래스는 불변 객체를 쉽게 만들기 위한 특수한 클래스다. 새로 나온 문법답게 쉽다. 자바 16에서 프로덕션으로 릴리스됐고, 자바 14부터 Preview로 제공됐었다. 호환성은 스프링 부트 3에서 ... 더 보기

2023년 5월 14일
·
0개의 댓글
·
post-thumbnail

Spring: 예외 처리 - 쉽게 관심사 나누기 Global Exception Handler(Controller Advice)

스프링에서 예외처리를 할 때, 콜 스택의 연어가 되지 맙시다. 필요한 곳으로 딱 보냅시다.

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

JWT 인증 (1) Access Token 발행(Spring Boot 3 + Java 17)

Spring Boot 3로 구현한 JWT 인증이요.

2023년 4월 23일
·
2개의 댓글
·