1. 하이버네이트 ddl-auto 옵션과 ddl-auto=validate 옵션의 동작 과정 분석하기(Hibernate ddl-auto =validate option)[ 다양한 하이버네이트의 ddl-auto 옵션과 validate 설정 ]JPA와 Hibernate는 ddl-auto 옵션을 통해 스키마에 대한 특정한 작업을 수행할 수 있도록 도와준다.none: Hibernate는 데이터베이스 스키마에 대해 아무런 작업도 수행하지 않음validate: 엔티티 매핑 정보와 실제 데이터베이스 스키마를 비교하여 유효성 검사만 수행하도록 Hibernate에 지시함create-only: 엔티티 모델을 기반으로 데이터베이스 스키마를 생성만 하도록 Hibernate에 지시함drop: 엔티티 모델을 참조하여 DDL DROP..
1. 직업으로서의 소설가 내용 정리[ 1. 소설가는 포용적인 인종인가 ]소설 한 편을 쓰는 건 그리 어렵지 않습니다. 뛰어난 소설 한 편을 써내는 것도 사람에 따라서는 그리 어렵지 않습니다. 간단한 일이라고까지는 하지 않겠지만, 못 할 것도 없는 일입니다. 그러나 소설을 지속적으로 써낸다는 것은 상당히 어렵습니다. 누구라도 할 수 있는 일이 아닙니다. 그렇게 하려면 앞서 말씀드린 것처럼 특별한 자격 같은 것이 필요하기 때문입니다. 그건 아마도 ‘재능’과는 좀 다른 것이겠지요.자, 그런 자격이 있는지 없는지, 그걸 분간하려면 어떻게 해야 하는가. 대답은 단 한 가지, 실제로 물에 뛰어들어 과연 떠오르는지 가라앉는지 지켜보는 수밖에 없습니다. [ 2. 소설가가 된 무렵 ]내가 오랜 세월에 걸쳐 가장 소중히..
1. Gradle 의존성 분석을 통해 NoClassDefFoundError, NoSuchFieldError 오류 트러블슈팅 & 해결하기[ Gradle의 의존성 분석을 위한 Task들 ]Gradle의 dependencies TaskGradle은 의존성 분석을 위한 다양한 Taks들을 제공하는데, 크게 2가지를 활용하게 된다.dependencies모든 의존성과 그 트리 구조를 출력하는 Task전체적인 의존성을 파악하고, 특정 의존성이 '왜 추가되었는지' 확인하는 데 용이함dependencyInsight특정 의존성에 대한 상세 정보를 출력하는 Task특정 의존성에 대해 '왜 이 버전이 결정되었는지' 확인하는 데 용이함 먼저 dependencies Task를 실행해보자. 다음과 같은 명령어로 실행할 수 있다....
1. 프로젝트 발할라(Project Valhalla)를 통해 알아보는 자바 언어의 진화 [ 프로젝트 발할라(Project Valhalla) 란? ]프로젝트 발할라는 객체 지향 프로그래밍의 추상화와 원시 타입의 뛰어난 성능 특성을 결합한 값 객체(value objects)의 도입과 제네릭(generic)에 대한 원시 타입의 지원을 강화하는 등의 작업을 통해 많은 개선을 이뤄내고자 하고 있다. 대표적으로 다음과 같은 기능들이 여러 배포에 걸쳐 추가될 것이다.Value Classes and Objects: 객체에 identity를 부여하지 않음으로써 최적화된 인코딩을 가능하게 하는 값 클래스와 객체를 도입함Null-Restricted and Nullable Types: 널-인지 타입에 대한 언어적 지원과 널-..
1. 올바른 카프카 컨슈머(KafkaConsumer) 설정 가이드와 내부 동작 분석[ group.protocol ]설정에 대한 설명group.protocol은 consumer가 사용할 그룹 프로토콜을 지정하는 설정으로 현재 classic과 consumer 두 가지 값을 지원한다. 해당 값을 consumer로 설정하면, consumer 그룹 프로토콜이 사용되며 다른 값을 설정하거나 생략하면 classic 그룹 프로토콜이 사용된다.classic 그룹 프로토콜은 Kafka 0.9 이후 기본 제공되어온 전통적인 Kafka consumer group 관리 방식이다. session.timeout.ms, heartbeat.interval.ms 등이 기존 방식 그대로 작동하며 consumer coordinator가 리..