1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. 즉시로딩(Eager Loading)과 지연로딩(Lazy Loading)JPA에서 Entity 로딩 전략으로 즉시로딩, 지연로딩 2가지 방식이 있다.각각 전략이 무엇인지 그리고 어느 상황에 적합하게 사용하는지 알아보자..

Programming
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. DB 슈퍼-서브 타입 관계 모델링객체지향에서 상속 관계를 사용하면 공통된 필드를 슈퍼 타입에 정의하여 코드의 중복을 줄일 수 있다는 장점이 있다.하지만, 관계형 데이터베이스는 상속 관계를 직접적으로 지원하지 않는다..
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. Entity 연관 관계 정의JPA를 제대로 사용하기 위해서는 데이터베이스 테이블과 객체 간 매핑을 이해해야 한다. 이전 포스팅에서는 기본 매핑(테이블과 엔티티 간 1차원 적 매핑)에 대해 다루었고, 이번에는 엔티티 ..
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. 기본키 매핑 @IdEntity에는 반드시 PK가 필요하다.PK를 매핑할 때 Entity 필드에 @Id를 붙혀주면 된다.@Entitypublic class Member { @Id private String use..
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. 테이블, 스키마 매핑a. @Entity@Entity가 붙은 클래스는 JPA의 관리 대상이 된다.테이블과 매핑할 클래스는 @Entity 어노테이션을 붙혀주면 된다.JPA 내부에서 기본 생성자를 사용하기에 public..
1. 개요Spring Data JPA를 제대로 활용하려면, JPA의 핵심 개념인 영속성 컨텍스트와 Entity 상태를 정확히 이해해야 한다.이번 글에서 이를 정리하려고 한다. 2. 영속성 컨텍스트(Persistence Context)란?JDBC, SQL Mapper와 같은 도구들은 개발자가 직접 쿼리를 작성하고, 해당 결과를 변수에 저장하는 방식으로 사용한다. 하지만, JPA는 데이터베이스와 애플리케이션 간의 데이터 동기화를 담당하는 중간 계층이 존재하는데 이것이 영속성 컨텍스트이다. 영속성 컨텍스트는 JPA의 핵심개념으로, 데이터베이스와 애플리케이션을 일관성을 유지하기 위해 Entity를 관리하는 가상의 데이터 저장소이다. 이를 통해 데이터를 효율적으로 조회하고 변경할 수 있다. 3. Entity 상태..
1. 개요자바에서 시스템 명령어(ping, ll 등)를 실행할 수 있는 도구를 찾아보았는데, ProcessBuilder라는 것을 알게되었다. 참고로 필자는 리눅스 명령어를 기반으로 다루겠다.윈도우나 다른 OS의 경우 해당 OS 명령어로 변경해서 적용할 수 있다. 그럼 이제 ProcessBuilder 사용 방법에 대해서 정리해보자. 2. ProcessBuilder란?ProcessBulder는 자바에서 시스템 명령어나 스크립트를 실행할 수 있으며, 다양한 프로세스의 입출력을 관리할 수 있는 클래스이다. 외부 디펜던시를 추가할 필요없이 java.lang 패키지에 포함되어 있다. 특징 및 기능으로 4가지로 정리할 수 있다.시스템 명령어 실행(ping, ll, mkdir 등)프로세스 실행환경 설정외부 프로세..
1. 비동기 프로그래밍이 필요한 이유비동기란 현재 처리중인 쓰레드에서 작업하던 Task를 다른 sub 쓰레드에게 Task를 위임하는 행위이다. 비동기를 사용하면 클라이언트는 서버에게 요청을 하고 응답을 기다릴 필요가 없다.그로 인해 더많은 Task를 처리할 수 있고, 실시간 성 응답이 필요없는 경우 유용하게 사용할 수 있다. 비동기가 필요한 경우 예시회원 가입 후 이메일 전송: 사용자는 회원가입을 완료하면, 이메일을 비동기적으로 처리하여 사용자는 회원가입만 완료되면 다른 작업을 처리할 수 있다.알림 기능: 특정 이벤트가 발생한 후 사용자에게 알림을 비동기적으로 보내어, 프로세스가 멈추지 않고 계속 실행하도록 한다. 2. Thread Pool 정의a. Thread Pool이란?Thread Pool이란 ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com 1. 개요스프링 MVC에서는 HTTP 헤더, 쿼리파라미터, 메시지 바디 등 개발자가 일일이 변환할 필요 없이 스프링 mvc가 원하는 타입(InputStream, byte[], String, 객체 등)으로 요청과 응답을 변..
1. 개요프로젝트를 진행하면서, 코드 변경이나 기능 업데이트가 될 때마다 불안한 마음이 들었다. 매번 여러 시나리오를 테스트하기 위해 스프링부트를 실행해서 API를 호출하고, 정상동작 여부를 확인하는 것은 번거롭고 시간도 많이 걸린다. 잘 짜여진 테스트코드만 있으면 기능 변경되어도 테스트 코드에서 검증이 가능하기 때문에 안정성을 확보하면서 개발이 가능하다. 그리고 테스트 코드의 또 다른 장점은 테스트 코드만 봐도 어떤 의도로 개발되었는지 쉽게 이해할 수 있다. 테스트 프레임워크로는 JUnit5과 Mockito를 사용했다. 2. Mockito란?Mockito는 JAVA 오픈소스 프레임워크로 단위테스트를 위해 모의 객체(Mock Object)를 생성하고 관리하는데 사용된다. Mockito의 핵심 ..