read: fail

도와주세요! LocalDate가 플래튼(flattened)되지 않아요

JVM의 Project Valhalla는 객체를 더 빠르게 처리하기 위해 값을 인라인 데이터로 저장하려고 해요. 하지만 LocalDate의 내부 구조와 직렬화 문제로 인해 배열이 평평하게(flattened) 저장되지 않는 이슈가 발생했어요. 내부 필드 변경과 직렬화 방식이 어떻게 성능과 호환성에 영향을 주는지 궁금하다면 꼭 읽어보세요!

Maven의 작은 한 걸음

Maven 플러그인이 Java 25의 새로운 main 메서드 형태(JEP 512)를 지원하게 되었어요! 이제 클래스 선언 없이도 간단히 실행할 수 있어 학생과 스크립터에게 딱이죠. 해커톤에서 탄생한 이 변화, 궁금하지 않나요?

Emacs, LSP, 그리고 Java: 드디어 한자리에 모이다

Emacs에서 LSPJava를 연동해 가벼운 개발 환경을 만드는 방법을 소개합니다. 복잡한 IDE 없이도 Emacs만으로 자동완성오류 체크가 가능해요! 설정이 어렵지만, 성공하면 정말 뿌듯하답니다.

Java 25: 좋은 점, 아쉬운 점, 그리고…

Java 25의 주요 변화새로운 기능을 한눈에! 코드가 더 간결해지고, 가상 스레드AOT 기능 등 혁신적인 업데이트가 가득해요. 이번 버전에서 가장 기대되는 변화는 무엇일까요? 함께 알아보세요!

자바 교육이 더 쉬워지고 있습니다

자바의 최근 변화로 인해 초보자에게 자바를 가르치는 것이 더 쉬워졌습니다. Java 25의 도입으로 복잡한 public static void main(String[] args) 구조가 간소화되었고, 패턴 매칭레코드 사용으로 교육이 단순해졌습니다. 노트북과의 통합도 개선되어 학생들이 더 쉽게 자바를 배울 수 있습니다.

미친 치즈 퍼즐과 함께하는 DeepSeek 탐험

새로운 AI 챗봇 DeepSeek로 '미친 치즈' 퍼즐을 풀어보았습니다. 퍼즐은 9개의 타일과 다양한 크기의 구멍으로 구성되어 있으며, DeepSeek은 놀라운 성능을 보여주었습니다. 여러 번의 시도 끝에, 퍼즐의 복잡성을 이해하고 해결하는 과정이 흥미로웠습니다. AI와 함께하는 퍼즐 탐험, 함께 해보세요!

코드의 모험에서 배운 교훈 - 4부: 그리드와 그래프

그리드그래프 문제를 해결하며 얻은 교훈을 공유합니다. 그리드는 미로 탈출과 같은 흥미로운 시나리오를 제공하며, Java의 구조와 가독성 덕분에 문제 해결에 유용했습니다. 그래프에서는 간단한 함수로 이웃을 계산하는 방식이 효과적이었습니다. Java의 몇 가지 불편함에도 불구하고, 컴파일 타임 타입 검사와 디버깅 기능은 큰 도움이 되었습니다. 이 경험을 통해 알고리즘과 코드 조직에 대해 더 깊이 배울 수 있었습니다.

작은 프로젝트에서의 자바 활용

자바는 대규모 프로젝트에 적합하지만, 최근의 언어 기능 덕분에 작은 작업에서도 뛰어난 성능을 발휘합니다. 특히, 컴파일 타임 타입훌륭한 도구 지원이 강점입니다. JBang을 통해 외부 라이브러리를 쉽게 사용할 수 있으며, JShell기록 기능은 스크립팅을 간소화합니다. 자바의 정적 타이핑은 오류를 조기에 잡아내며, IDE를 활용하면 코드 작성이 더욱 수월해집니다. 자바는 작은 프로그램에서도 강력한 선택지가 될 수 있습니다.

레코드의 찬양

Java 16에 도입된 레코드는 특히 작은 프로그램에서 유용합니다. 자동으로 제공되는 toString, equals, hashCode 메서드는 디버깅에 유리하며, 불변성을 촉진해 코드의 가독성유지보수성을 높입니다. 또한, 열거형은 고정된 상수 집합을 표현하는 데 유용합니다. 이러한 기능들은 Java의 타입 시스템메서드 조직을 통해 코드의 명확성을 높여줍니다.

스트림 수집기 (JEP 485)

스트림 API는 요소를 게으르게 처리하지만, 때로는 여러 요소를 한 번에 볼 필요가 있습니다. 이를 위해 스트림 수집기가 도입되었습니다. 이들은 이웃하거나 모든 선행 요소에 따라 달라지는 중간 스트림 작업을 위한 일반 확장 지점을 제공합니다. 특히, mapConcurrent 수집기는 가상 스레드에서 작업을 실행하여 처리량을 개선할 수 있습니다.

드디어 인쇄 공정에 들어간 '코어 자바 13판'

자바 LTS 릴리스마다 업데이트되는 '코어 자바' 시리즈의 최신 판이 인쇄를 시작했습니다. 저자 케이 호스트만은 이번 판을 자체적으로 제작하기 위해 HTML과 CSS를 활용했으며, EPUB과 PDF 형식의 변환에도 직접 나섰습니다. 이 과정에서 발생한 다양한 기술적 도전을 극복하며, 출판 과정의 질을 높이기 위해 노력했습니다.

Advent Of Code 2023에서 배운 교훈 - 파트 2: 스트림

2023년 Advent of Code 문제를 풀며 스트림에 대해 배운 것들을 공유합니다. 스트림은 명확하고 간결할 때 큰 이점을 제공하지만, 복잡한 람다나 중첩 스트림은 피하는 것이 좋습니다. 또한, 예외 처리는 스트림 람다에서 다루기 어려울 수 있습니다. 스트림을 사용할지, 전통적인 루프와 분기를 고수할지 결정하는 몇 가지 간단한 규칙을 제안합니다.