Java 진화의 두 축 JEP vs JSR
Java 진화의 두 축: JEP vs JSR Java 플랫폼은 수십 년 동안 지속적으로 발전해왔고, 그 변화의 흐름을 이끄는 두 가지 핵심 제안 시스템이 있다. 바로 JEP (JDK Enhancement Proposal) 과 JSR (Java Specification Request) 이다. 이 글에서는 두 시스템의 차이점, 유래, 넘버링 체계까지 명...
Java 진화의 두 축: JEP vs JSR Java 플랫폼은 수십 년 동안 지속적으로 발전해왔고, 그 변화의 흐름을 이끄는 두 가지 핵심 제안 시스템이 있다. 바로 JEP (JDK Enhancement Proposal) 과 JSR (Java Specification Request) 이다. 이 글에서는 두 시스템의 차이점, 유래, 넘버링 체계까지 명...
☕ Jakarta EE: 기업용 Java의 진화 Jakarta EE는 단순히 Java EE의 새로운 이름 그 이상이다. Jakarta EE는 기업용 Java 기술의 차세대 플랫폼이며, Java 생태계의 역사, 오픈소스 전환, 그리고 기술적 혁신의 상징이다. 아래에서 Jakarta EE의 역사, 구성, 차이점, 실무 적용까지 체계적으로 설명한다. ...
Today I Learned JSR? JEP? Java 생태계에서 자주 보게 되는 용어인 JEP, JSR은 모두 Java 플랫폼의 발전과 확장에 중요한 역할을 한다. 각각의 의미, 유래, 그리고 차이점까지 정리해보았다. Jakarta EE JCP에서 Eclipse로 Java EE의 관리 주체가 변경되면서 JSR이라는 용어는 더이상 사용하지 않게...
Today I Learned 캐시 스탬피드 캐시 스탬피드는 종종 소규모 시스템에서는 문제가 되지 않는다. 하지만 백만 단위의 요청을 서빙하는 애플리케이션을 운영하는 개발자에게는 골치아픈 문제이다. 대부분의 애플리케이션이 이러한 문제를 무시하는 경향이 있고, 이는 전체 시스템의 몇 초 간의 다운을 일으킨다. Today I Interview Q. ...
References JPA - Architecture Chapter 3. Java Persistence API Architecture Hibernate Architecture Hibernate framework basics and architecture Hibernate Architecture
@TransactionalEventListener는 트랜잭션이 존재해야만 작동한다. @TransactionalEventListener(phase = AFTER_COMMIT)와 같이 설정하면, 현재 트랜잭션이 정상적으로 커밋될 때만 이벤트 리스너가 실행된다. 트랜잭션이 없으면 실행되지 않는다. 그래서, 이런 케이스는 고려해야 할까요? 1...
Today I Learned 오늘은 국립중앙도서관에 방문해보았다. 동네의 도서관에 비해서는 확실히 규모가 컸다. 간만에 대학도서관의 느낌이 살짝 떠올랐다. 대학도서관의 매캐하고 습한 오래된 책 냄새, 낡은 책상, 책에 남겨진 선배들의 공부흔적 같은것들이 그립기도 하다. Today I Interview HTTP/1.1과 HTTP/2.0에 대해서 설...
이력서 기반 면접 예상 질문/답변 이력서 내용 중 일부 📜 주요 프로젝트 경험 콘텐츠 플랫폼 전면 개편 및 운영 효율화 대규모 레거시 시스템의 API 구조를 DTO 중심 정적 타입 기반으로 재설계하고, 유효성 검증 계층을 도입하여 시스템 안정성과 감사 추적 가능성을 확보함. 시퀀스 기반 키 생성 병목 문제를 해결하기...
💡 Spring Boot 3.2 + Java 21 연계 활용 예시 1. ✅ Virtual Threads + Spring Boot 3.2 Java 21의 가상 스레드(Virtual Thread) 와 Spring Boot 3.2는 기본적으로 호환됩니다. 📌 주요 효과 기존 @RestController 기반 서블릿 API (Tomcat) 도...
Java 21 주요 기능 정리 1. Virtual Threads (가상 스레드) JEP 444: Virtual Threads (Finalized) 수천, 수만 개의 경량 스레드를 생성할 수 있는 기능 기존 Thread API 그대로 사용 가능 (Thread.ofVirtual().start(() -> ...)) I...