Show HN: Java의 데이터 지향 프로그래밍 책
(news.ycombinator.com)- Java 프로그램을 평범한 데이터(plain data) 중심으로 구성해 더 단순하고 작고 이해하기 쉬운 구조를 만드는 책임
- records, pattern matching,
withexpressions, sum/product types 같은 최근 Java 기능을 다루지만, 초점은 기능 설명보다 프로그램을 구성하는 사고방식에 있음 - “representation is the essence of programming”을 핵심 아이디어로 삼아, 도메인 데이터를 잘 표현하면 시스템의 나머지 설계가 자연스럽게 따라온다고 봄
- Manning의 Data-Oriented Programming in Java가 현재 early access로 제공되며, 독자 피드백을 받고 있음
- 10월 9일까지 할인 코드
mlkiehl을 사용하면 50% 할인을 받을 수 있음
데이터 중심으로 Java 프로그램 구성하기
- Data-Oriented Programming in Java는 Java에서 효과적인 개발이 무엇인지에 대한 경험을 정리한 책임
- 프로그램을 관리하는 핵심을 데이터 중심 구조에 두면 더 단순하고 작으며 이해하기 쉬운 코드로 이어진다는 접근을 다룸
-
Java의 최근 언어 기능
- records, pattern matching,
withexpressions, sum/product types가 데이터 지향 프로그래밍을 지원함 - 다만 책의 초점은 특정 기능이나 도구 사용법보다, 프로그램을 어떻게 “집 짓기”처럼 구성할지에 맞춰져 있음
- records, pattern matching,
Early access와 할인 정보
- 책은 현재 early access로 제공 중이며 피드백을 받고 있음
- Manning 페이지에서 확인할 수 있음: Data-Oriented Programming in Java
- 10월 9일까지 코드
mlkiehl을 사용하면 50% 할인이 적용됨
댓글과 토론
Hacker News 의견
-
기술 서적을 쓴 경험이 있는 사람으로서 축하의 말을 전함
- 첫 책이라면, 이는 사랑의 노동임을 배우고 있을 것임
- Clojure 덕분에 "데이터 지향 프로그래밍"에 노출되었음
- Java의 최근 혁신이 이를 더 쉽게 만들어줌
- 책을 살펴볼 예정이며, 성공을 기원함
-
책을 구매하려 했으나 오류 발생
- Java의 새로운 언어 기능들이 여전히 "미리보기" 상태인 상황에 대해 어떻게 대처했는지 궁금함
- 예를 들어, String Templates는 JDK 23에서 제거됨
-
책을 구매하고 첫 장을 읽었음
- 첫 장이 매우 좋았음
- Record types, switch statements 등의 새로운 기능이 Java 프로그래머들이 타입을 더 자주 생각하게 만들 것임
-
기술 편집자가 Brian Goetz임을 언급하며 관심을 보임
-
축하의 말을 전하며 Reddit의 Java 커뮤니티에 게시할 것을 권장함
-
책을 완성한 것에 대해 축하하며, 첫 장에서 혼란스러운 문장을 지적함
- "only cost was some time"이라고 수정 제안
- 함수형 접근 방식을 채택하면 최상의 패턴을 찾을 수 있다고 생각함
- 데이터 속성은 주로 "리프 노드"로 소비되며, 타입은 크게 중요하지 않음
- 진화적 아키텍처를 수용하면 데이터 정의를 처음부터 정확히 할 필요는 없음
- 책에서 이를 어떻게 적용했는지 배우기를 기대함
-
초기 접근을 시작한 것에 대해 축하하며, Clojure와 F#에서 데이터 지향 프로그래밍을 알고 있음
- Java에서 이를 어떻게 접근했는지 궁금하여 전자책을 구매함
- 책의 완성을 기원함
-
책을 완성한 것에 대해 축하하며, 과거에 기술 서적을 쓴 경험을 공유함
- 과거 Java 서적들이 두꺼웠던 시절을 회상함
- "Java -- the Good Parts"라는 얇은 책을 언급함
-
축하의 말을 전하며, 현대 Java 책을 찾는 사람들을 위해 자신이 작업 중인 책을 소개함
- Flavour 프레임워크를 사용하여 Java로 싱글 페이지 앱을 만드는 방법을 설명함
- 플러그인이나 확장 없이 99.9% 순수 Java로 작성됨
- 샘플 코드와 관련 팟캐스트 에피소드 및 데모 링크를 제공함