[JAVA] 자바 프로그램 작성(feat. Welcome)
·
Back-End/Java
[작성일: 2023. 01. 09] Compile 방식 vs Interpreter 방식Cmopile(javac.exe) 사람이 작성한 문장을 기계어로 변환 소스 파일(*.java)을 클래스 파일(*.class)로 변환Interpreter(java.exe)클래스 파일을 실행하며 매 줄마다 기계어로 변환.오류발생 전까지 실행 가능하며 실행속도는 느림. (ex: Python, Javascript)     클래스(Class)자바 프로그램의 단위자바 프로그램은 클래스들로 구성되어 있음.class 클래스이름 { ← 클래스 시작 /* 모든 문장은 클래스의 {} 안에 있어야 한다. */} ← 클래스 끝     main 메서드자바 프로그램의 시작점이며 main 메서드 없이 프로그램 실행 불가능.class 클래스 이름 {..
[JAVA] JAVA란?
·
Back-End/Java
[작성일: 2023. 01. 09] Java란?1996년 1월 제임스 고슬링 개발최초 이름: OAK개발 목적: 가전제품용 소형 OS객체지향 프로그래밍 언어(Programing language)3대: C, Java, Python, (Javascript)     Java란 무엇인가?운영체제에 독립적대표적인 객체지향언어다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발 가능멀티스레드 지원운영체제에 관계없이 구현 가능하며 구현이 비교적으로 쉬움.동적 로딩(Dynamic Loading) 지원일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 됨.     Java가 쓰이는 곳은?PC 애플리케이션웹 애플리케이션모바일 애플리케이션(안드로이드)빅..
[실전! 스프링 부트와 JPA 활용 2 - API 개발과 성능 최적화] 스프링 데이터 JPA와 Querydsl 맛보기
·
Back-End/JPA
[작성일: 2023. 10. 06] 스프링 데이터 JPAhttps://spring.io/projects/spring-data-jpa Spring Data JPASpring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data access layers. It makes it easier to build Spring-powered applications that use datspring.io 스프링 데이터 JPA는 JPA를 사용할 때 반복하는 코드를 자동화 해준다.라이..
[실전! 스프링 부트와 JPA 활용 2 - API 개발과 성능 최적화] API 개발 고급(4): OSIV와 성능 최적화
·
Back-End/JPA
[작성일: 2023. 10. 06]  OSIV와 성능 최적화 Open Session In Viewspring.jpa.open-in-view : true 기본값 이 기본값을 뿌리면서 애플리케이션 시작 시점에 warm 로그를 남기는 이유가 있다.  OVIS 전략은 트랜잭션 시작처럼 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다.그래서 지금까지 View Template나 API 컨트롤러에서 지연 로딩이 가능했던 것이다.지연 로딩은 영속성 컨텍스트가 살아있어야 가능하고, 영속성 컨텍스트는 기본적으로 데이터베이스 커넥션을 유지해야 한다. 그런데 이 전략은 너무 오랜 시간동안 데이터베이스 커넥션 리소스를 사용하기 때문에 실시간 트래픽이 중요한 애플..
[실전! 스프링 부트와 JPA 활용 2 - API 개발과 성능 최적화] API 개발 고급(3): 컬렉션 조회 최적화(2)
·
Back-End/JPA
[작성일: 2023. 10. 05] 컬렉션 조회 최적화(2)주문 조회 V4: JPA에서 DTO 직접 조회@RestController@RequiredArgsConstructorpublic class OrderApiController { private final OrderRepository orderRepository; private final OrderQueryRepository orderQueryRepository; // ... 코드생략 @GetMapping("/api/v4/orders") public List ordersV4(){ return orderQueryRepository.findOrderQueryDtos(); }} @Datapublic class O..
[실전! 스프링 부트와 JPA 활용 2 - API 개발과 성능 최적화] API 개발 고급(3): 컬렉션 조회 최적화(1)
·
Back-End/JPA
[작성일: 2023. 10. 03] 컬렉션 조회 최적화(1)주문 조회 V1: 엔티티 직접 노출주문내역에서 추가로 주문한 상품 정보를 추가로 조회하려면 Order 기준으로 컬렉션인 OrderItem과 Item이 필요하다.지금은 OneToOne, ManyToOne 관계만 있다.이번에는 컬렉션인 일대다 관계(OneToMany)를 조회하고 최적화 하는 방법을 알아보자. @RestController@RequiredArgsConstructorpublic class OrderApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/orders") public List ordersV1() { Lis..