티스토리 뷰
Gradle 은 빌드 과정을 기록해서 보여주는 build scan 을 생성하는 기능을 제공해준다.
Gradle 4.3 이나 그 이상의 버전에서는 다음 커맨드를 사용해서 build scan 을 생성할 수 있다.
$ gradle build --scan
하지만, Intellij 에서는 조금 다르다. 터미널을 기반으로 빌드하고 있지 않기 때문이다. 다음과 같은 방법을 사용했다.
이렇게 설정값을 바꾼 후, 새롭게 설정된 build 를 더블 클릭하면 아래와 같은 화면이 나온다.
링크가 등장하는 것을 볼 수 있었다. 클릭하니 다음 화면이 나왔다.
자 이제 빌드를 프로파일링 해보자. 프로파일링은 빌드의 각 단계에 소모되는 시간은 얼마인지, 어떤 과정을 어떻게 거치고 있는지를 분석하는 것을 말한다. Performance 탭에서 프로파일링할 수 있다.
이전 포스트의 마지막에서 언급했듯이, 내가 궁금했던 것은 Gradle 의 빌드 과정에서 언제 Jackson 의 바인딩에 영향을 주는 사건이 일어나는가 였다. 좀 더 구체적으로, 언제 @RequestBody DTO 의 @AllArgsConstructor 의 매개 변수 이름만으로도 JSON 에서 역직렬화 시 POJO 의 Property 를 파악할 수 있게 되는지를 알고 싶었다. 그래서 Jackson 과 관련된 이름들을 좀 더 자세히 보게 되었다.
결론
정말 내가 사용하는 모든 라이브러리와 의존성들을 이해하고 있지 않는 한, 찾을 수 없을 것이라는 생각에 도달했다. 과연 어떤 이유로 Gradle 로 빌드 시 @RequestBody 의 DTO 들을 properties 로 자동 인식해주는 것일까? 이 블로그를 보고 계신 분들 중 답을 알고 계신다면 부디 댓글로 알려주시길 바란다.
'Infrastructure' 카테고리의 다른 글
[Infrastructure] 가상 서버 호스팅이란? (0) | 2022.12.17 |
---|---|
[DevOps] CI 와 CD (0) | 2022.12.09 |
[아키텍처] 모바일 앱 아키텍처 설계 방법 (0) | 2022.12.02 |
[Docker] Docker 사용해서 서버에 내 프로젝트 배포하기 (0) | 2022.11.25 |
[DevOps] Introduction To Docker (0) | 2022.11.10 |
- Total
- Today
- Yesterday
- JOIN FETCH
- DTO
- 가상 서버
- Spring Boot
- LazyInitializationException
- ci/cd
- 도커
- 인증/인가
- google cloud
- @RequestBody
- N+1
- 깃랩
- Firebase
- 코테
- Jackson
- FCM
- json web token
- 실시간데이터
- spring
- 프로그래머스
- gitlab
- docker
- 기지국 설치
- 역직렬화
- 알고리즘
- JPQL
- Java Data Types
- 지연 로딩
- DeSerialization
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |