Quarkus Unleashed by Roberto Cortez
- Quarkus는 전통적인 프레임워크와 달리 애플리케이션 시작 시 발생하는 많은 작업을 컴파일 시점으로 이동시켜 최적화합니다. ⚙️
- 기존 자바 프레임워크는 동적 클래스 로딩, 리플렉션 등으로 인해 높은 메모리 사용량과 느린 시작 시간을 가집니다. 🐢
- 빌드 타임 최적화 덕분에 Quarkus는 더 빠른 시작 시간, 적은 메모리 사용량, 그리고 클라우드 환경에서의 비용 효율성을 제공합니다. 🚀
- GraalVM 네이티브 이미지의 동적 클래스 로딩 및 리플렉션 제한을 빌드 타임에 처리하여, 네이티브 이미지 빌드를 완벽하게 지원합니다. 🛠️
- 빌드 타임에 수집된 풍부한 정보는 핫 리로딩, 개발 서비스(예: 데이터베이스용 Docker 컨테이너 자동 시작), 지속적인 테스트와 같은 혁신적인 개발자 경험 기능을 가능하게 합니다. 💡
- 런타임에 발생할 수 있는 많은 예외가 빌드 타임 오류로 전환되어, 애플리케이션의 안정성과 개발 안전성을 높입니다. 🛡️
- Quarkus 확장은 기존 자바 라이브러리가 Quarkus의 빌드 타임 모델과 호환되도록 만들고, 라이브러리의 잠재력을 최대한 활용하게 돕습니다. 🧩
- 각 확장은 컴파일 시 실행되는
deployment 모듈과 런타임 시 실행되는 runtime 모듈로 구성됩니다. ↔️
deployment 모듈은 '빌드 스텝'을 통해 '빌드 아이템'을 생성하고 소비하며, 이를 통해 애플리케이션을 분석, 최적화하고 바이트코드를 생성합니다. 🏗️
- 런타임 작업을 빌드 타임으로 옮기는 사고방식은 개발자에게 새로운 관점과 창의적인 접근을 요구합니다. 🤔