- 아래 체크리스트를 위에서 아래로 순서대로 적용한다.
- 각 소절에 실린
rg패턴을 돌려서 걸리는 파일을 빠짐없이 확인하고 교체한다. - deprecated API는 무조건 비-deprecated 대체 API로 교체한다. "이전 형태도 동작한다"는 이유로 남겨 두지 않는다.
- 확신이 없는 지점이 나오면 멈추고 사람에게 질문한다. 추측으로 진행하지 않는다.
- 소절마다 컴파일과 테스트를 돌려 회귀가 없는지 확인한다.
- 변경 근거를 커밋 메시지에 해당 소절 제목으로 남긴다.
연세대 ibook 뷰어(https://ibook.yonsei.ac.kr)에서 책을 PDF로 다운로드합니다.
- Python 3
- img2pdf (
pip install img2pdf)
Table of Contents
PreparedStatement helps optimize repeated query execution.
Instead of declaring the entire SQL string such as SELECT * FROM CITY WHERE COUNTRY = 'KOREA' AND POPULATION > 10000,
it separates the static SQL structure SELECT * FROM CITY WHERE COUNTRY = ? AND POPULATION > ? from the dynamic parameters.
Table of Contents
|
Note
|
Spring Retry는 Spring Batch, Spring Integration 내부에서 재시도를 위해 사용되던 모듈이었다. Spring framework 7.0 부터는 Spring Core 모듈로 흡수가 되었다.
현재 버전의 유요한 사용법은 Resilience Features을 참고할 수 있다. 이 글에 소개된 @Recover와 @CircuitBreaker는 Spring framework 7.0에서는 지원되지는 않는다.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class Application implements WebMvcConfigurer { | |
| public static void main(String[] args) { | |
| SpringApplication.run(Application.class, args); | |
| } | |
| @Override | |
| public void addViewControllers(ViewControllerRegistry registry) { | |
| registry.addViewController("/repos").setViewName("repos"); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package com.example.demo; | |
| import org.springframework.boot.SpringApplication; | |
| import org.springframework.boot.autoconfigure.SpringBootApplication; | |
| import org.springframework.web.bind.annotation.GetMapping; | |
| import org.springframework.web.bind.annotation.RequestBody; | |
| import org.springframework.web.bind.annotation.RestController; | |
| @SpringBootApplication | |
| @RestController("/") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import java.io.IOException; | |
| import java.net.URI; | |
| import java.net.http.HttpClient; | |
| import java.net.http.HttpRequest; | |
| import java.net.http.HttpResponse; | |
| import java.nio.file.Path; | |
| import java.time.Duration; | |
| public class RemoteFileClient { | |
| private final HttpClient httpClient; |
NewerOlder