현재 몸담고 있는 회사에서 Spring Batch 버전 업그레이드를 준비중이다. 규모가 작거나 문제가 발생해도 금방 고칠 수 있다면 쉽게 진행하겠지만 그렇지 못하기에 굉장히 조심스럽게 작업을 진행하고 있다. 이 작업을 준비하다 보니, 예전 처음 Spring Batch를 만났을 때가 기억이 나서 블로그에 기록으로 남긴다. 1. 2007년. 벌써 14년전에 Spring Batch를 처음 대규모 업무에 적용하려고 했다. 당시 정식 버전도 아닌 베타 버전이 나왔던 때였고 거기다 배치를 자바로 한다는 것은 말도 안된다고 생각하던 때이다. 배치는 역시 C여야 한다는 시대였다. 그런데 자바에다가 Spring Batch를 적용한다는 것은 쉬운 결정이 아니였다. 처음 계획은 OLTP는 자바, 배치는 C 였지만 굉장히 어..
자바 8 이후 6개월마다 새로운 버전이 Release 되면서 어떤 변화와 개선이 있는지 확인하는 것도 버겁다. 익숙해질만하면 버전이 업그레이드되고 새로운 기능이 추가된다. 뿐만 아니라 기존과는 다르게 Preview 버전도 포함해서 배포되는 관계로 새로운 기능에 민감하고 이것을 활용하기를 좋아하는 사람들의 경우 잘 정리된 페이지나 문서가 필요하다. 기존에는 자바 버전에 해당하는 Documentation의 New Features 페이지를 참고해서 읽거나 구글링을 통해서 다른 사람이 정리한 내용을 참조해야 했다. 다음은 "Java Language Updates" 페이지로 오라클의 자바 공식 문서에 포함되어 있는 내용이다. docs.oracle.com/en/java/javase/15/language/java-l..
자바 14에 프리뷰로 등록되었고 자바 15에 2번째 프리뷰로 업데이트 되었다. 진행되는 흐름상 자바 16에는 정식 버전으로 추가될 예정이다. 이 포스팅에서는 자바 15 기준으로 설명할 것이며, 정식 버전과 호환되지 않을 수 있다. 실제로 과거 많은 프리뷰 버전이 개념상으로는 유사하지만 패키지명, 클래스명, 메소드명 및 사용방법에 다소 차이가 있어서 오류가 날 수 있으니 이러한 점을 고려해야 한다. 이 포스팅은 https://openjdk.java.net/jeps/384 를 참고하였다. 1. 기술적 동기 다음과 같은 클래스가 있다고 가정하자. import java.util.Objects; public class Point { private final int x; private final int y; Poi..
텍스트 블록 기능이 자바 15에 정식으로 추가 되었다. 기능 추가가 아닌 언어적인 변화로 자바에서 XML, SQL 등 멀티라인으로 문자열을 사용하는 개발자들에게 희소식이다. 자바 13, 14에서 프리뷰로 추가되었고 15에 정식으로 발표되었다. 텍스트 블록에 대한 정의는 다음과 같이 내리고 있다. A text block is a multi-line string literal that avoids the need for most escape sequences, automatically formats the string in a predictable way, and gives the developer control over the format when desired. 여기서 중요한 점은 멀티라인을 작성하기 위..
Practical 모던 자바 책을 쓰면서 한가지 생각 못했던 것이 소스 코드의 공유이다. 책의 중간 중간에 설명 위주로 코드를 넣었기 때문에 소스 코드를 공유하지는 않았고, 다운로드 받을 수 있는 위치 정보도 책에 포함시키지 않았는데 독자들로 부터 종종 관련해서 문의를 받는다. 추석 연휴 기간에 내 로컬 GIT에 관리하고 있던 소스 코드를 GitHub에 올려 놓고 공유하였다. github.com/ykchang/modernjava ykchang/modernjava The source code of Practical Modern Java, Insight, 2020 - ykchang/modernjava github.com
스위치 표현식(switch expressions)에 대한 JEP 명세는 https://openjdk.java.net/jeps/361에서 확인할 수 있다. (해당 URL에 있는 예제를 이 블로그 포스트에서 활용하였다.) 스위치 표현식이라고 제목을 달았지만, 프로그래밍 언어의 분기 표현중 하나인 스위치 문장(switch statements)에 대한 기능 확장이라고 이해하면 된다. 기존의 switch는 분기하기 위해 case 문장에 고정된 값을 지정하고 여기에 맞는 코드를 작성하지만 개선된 스위치 표현식에서는 여러개의 조건에 따라 값을 처리하고 결과를 리턴할 수 있도록 개선되었다. JDK 12와 13에서 프리뷰 버전으로 소개되었고 14에서 정식으로 포함되었기 때문에 기능을 문제 없이 사용하려면 JDK 14 이..
- Total
- Today
- Yesterday
- 탄천
- 백록담
- 윗세오름
- 성판악
- 자바
- 군산오름
- Practical 모던 자바
- 인사이트
- TITICACA FLIGHT F8
- 서울둘레길
- 호캉스
- 나트랑
- 티티카카
- 티티카카 플라이트 F8
- 장윤기
- 삼천리자전거
- 한강
- 칼라스10
- 이문열
- 제주
- 나관중
- MySQL 8.0
- 한라산
- 베이징
- 삼국지
- 북경
- 영실
- 중문
- 빈펄 롱비치
- 한양도성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |