전체 글

공부하면서 정리하는 블로그입니다. 틀린 내용이나 피드백 적극 환영합니다^^
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. JPA의 데이터 타입 분류JPA에서 데이터 타입을 분류할 때 2가지 타입으로 분류한다.a. 엔티티(Entity) 타입@Entity로 정의한 객체PK 값으로 관리가 되기 때문에 데이터가 변해도 지속적으로 추적 가능ex..
1. 개요김영한 님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 을 들으면서 정리하는 포스팅입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com 2. 영속성 전이란?영속성 전이는 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태를 만드는 것이다. 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장하는 경우, 부모 엔티티를 삭제할 때 자식 엔티티도 ..
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. 개요성능 향상을 위해 속도가 빠른 메모리 기반 DB인 Redis를 사용한다.Redis는 데이터를 메모리에 저장하기 때문에 서버에 장애가 발생하거나 강제 종료될 경우 데이터가 모두 소실될 위험이 있다. 하지만 Redis는 설정에 따라 데이터를 디스크에 저장하여 어느 정도 영속성을 확보할 수 있다.Redis가 제공하는 데이터 저장 방식에는 RDB와 AOF 방식이 있으며, 각각의 방식을 알아보도록 하겠다. 2. RDB(Redis Database) 방식RDB 방식은 주기적으로 Redis의 전체 데이터를 스냅샷 형태로 저장하는 방식이다.redis.conf(설정파일)에서 주기와 조건을 설정할 수 있다. 장점서버가 재시작해도 최근 스냅샷 시점까지의 데이터는 복구 가능하여 데이터 손실을 최소화한다.스냅샷 파일은 ..
1. 개요이번에는 DB 트랜잭션과 Lock에 대해 정리하려고 한다. DB는 여러 사용자들이 동시에 데이터를 사용하도록 설계되었지만, 동시에 사용하면서 하나의 데이터에 동시에 여러 사용자가 접근하다보니, 데이터 정합성이나 불일치 문제가 발생할 수 있다. 이런 문제를 해결하기 위해서 트랜잭션과 Lock에 대한 개념을 공부할 필요가 있다.   2. 트랜잭션이란?트랜잭션은 하나의 작업 단위이다.예를 들어, A가 B에게 계좌 이체를 하는 경우 A 계좌에서 출금하고, B계좌에 입금된다. 만약 A 계좌에서 출금은 성공했으나, B계좌에 입금이 실패했을 경우 A계좌 출금을 롤백해줘야 한다. 이 때 사용하는 것이 트랜잭션이다.a. 트랜잭션 특징은 ACID를 따른다.원자성(Atomicity): 트랜잭션에 포함된 모든 작업은..
· DevOps/CI CD
1.개요gitlab과 jenkins를 활용하여 배포 자동화를 구축하는 과정에 대해서 정리해보겠다.jenkins 프리스타일 프로젝트를 생성하여 gitlab 프로젝트와 연동하고, gitlab 트리거를 설정하여 자동배포를 구축해보았다.  참고로 gitlab 11.x.x 버전을 Docker 기반의 온프레미스 환경에서 사용하고 있다.  2. jenkins에서 gitlab 플러그인 설치Dashboard - Jenkins 관리 - Plugins 에서Available plugins를 클릭하여 Gitlab 검색 한 다음 아래 체크 박스에 체크한 다음 install 버튼을 클릭하여 설치를 진행한다.   3. gitlab에서 access token 발급jenkins에서 gitlab repository에 access 하기 위..
kmindev
평생쓰는 IT 개발 노트