[태그:] Java

  • Java Record: 간결하고 깔끔한 데이터 모델링의 새로운 클래스

    Java 14에서 등장한 record는 데이터를 다루는 방식을 한 단계 업그레이드해주는 멋진 기능입니다. 데이터를 표현하기 위해 매번 반복적으로 작성하던 코드들(생성자, getter, toString(), equals() 등)을 자동으로 처리해주기 때문에, 개발자는 데이터의 본질에만 집중할 수 있게 해줍니다. 하지만 record가 모든 상황에서 완벽한 해결책은 아닙니다. Redis 캐싱과 같은 특정 상황에서는 문제가 발생할 수 있고, 상속을 지원하지 않는다는 점도 알아두어야 합니다. […]

    jeewoo jung 아바타
  • Spring Boot 프로젝트에서 JPA 이해하기

    JPA(Java Persistence API)는 객체와 관계형 데이터베이스 간의 매핑을 자동화하는 Java 표준 ORM 기술로, Spring Boot 프로젝트에서 가장 널리 사용되는 데이터 접근 방식입니다. JPA는 생산성을 높이고 객체 지향 설계와 자연스럽게 통합되며, Spring Data JPA를 통해 간편하게 활용할 수 있습니다. 하지만 JPA는 복잡한 동적 쿼리 작성과 타입 안전성 부족 같은 단점이 있습니다. 이를 보완하기 위해 QueryDSL을 사용하면 동적 쿼리를 타입 안전하고 가독성 높게 작성할 수 있어 JPA의 한계를 극복할 수 있습니다. 국내에서도 JPA는 이미 주요 트렌드로 자리 잡았으며, 전 세계적으로도 가장 널리 사용되는 데이터 접근 기술로 인정받고 있습니다. Spring Boot와 JPA, 그리고 QueryDSL의 조합은 CRUD 중심 애플리케이션 개발에서 가장 효율적이고 강력한 선택지입니다.

    jeewoo jung 아바타
  • Spring Boot로 ChatGPT API 사용하기

    OpenAI의 ChatGPT는 현재 전세계에서 가장 핫한 키워드 중 하나다. ChatGPT를 접하고 API를 제공할 텐데 한번 만들어 볼까 생각이 들어 시작했다. 마침 Spring Boot 3.0이 릴리즈 된 후 제대로 써보지 않았어서 Spring Boot 3.0 기반으로 만들기로 했다. Spring Boot 3.0 Spring Boot 3.0 버전이 릴리즈 되면서 여러 변경 점이 있지만 그 중 가장 주목했던 부분은 reactive […]

    jeewoo jung 아바타