Book Review 12

유튜브의 신 - 대도서관 책 리뷰

개요 안녕하세요 빈코입니다! 오늘은 개발 관련 포스팅이 아닌, 유튜브 관련 책 리뷰를 하려고 합니다. 저의 2024년 목표에는 유튜브 개설이 있는데, 유튜브의 대해 아는 지식이 하나도 없어서 관련 책을 찾다가 '유튜브의 신'이라는 책을 접하게 되었습니다! 대도서관님은 우리나라의 유튜브의 발전에 선구자적인 역할을 한 사람으로서, 지금도 1인 미디어 산업에 큰 자리매김을 하고 있습니다. 2024년 현재 기준으로 150만 명의 구독자를 보유하고 있으며, 여러 가지 채널을 운영하고 있습니다. 그럼 책의 내용을 간단히 리뷰해볼게요😊 책의 중점 내용📙 사실 책을 처음 접했을 때, 유튜브를 하는 방법에 대해 초점이 맞춰져 있을 거라 생각했는데 그런 내용보다는 대도서관님이 유튜브로 성공할 때까지의 전반적인 삶의 내용이..

Book Review 2024.02.16

자바 ORM 표준 JPA 프로그래밍 - JPQL

이전 포스팅에서는 값 타입에 대해 알아보았다. 이번 포스팅은 객체지향 쿼리 언어 중에 JPA의 기본인 JPQL에 대한 포스팅을 진행하려 한다😊 개요 JPQL은 엔티티 객체를 대상으로 쿼리 하는 객체지향 쿼리 언어다. SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는 특징을 가지고 있다. 예제로 사용할 도메인 모델을 살펴보면 회원이 상품을 주문하는 다대다 관계임을 알 수 있다. 또한 Address는 임베디드 타입인데 이것은 값 타입으로 UML에서 스테레오 타입을 사용해 로 정의했다. ERD에서는 ORDERS 테이블에 포함되어 있다. 기본 문법과 쿼리 API📙 JPQL도 SQL과 비슷하게 SELECT, UPDATE, DELETE 문을 사용할 수 있다. 엔티티를 저장하는 INSERT문은 Entity..

Book Review 2023.01.17

자바 ORM 표준 JPA 프로그래밍 - 값 타입

이전 포스팅에서는 JPA의 프록시와 연관관계에 대해 알아보았다. 이번 포스팅에서는 JPA의 데이터 타입에 대해 포스팅하려 한다😀 개요 JPA의 데이터 타입을 가장 크게 분류하면 엔티티 타입과 값 타입으로 나눌 수 있다. 엔티티 타입은 @Entity로 정의하는 객체이고, 값 타입은 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. 📌 엔티티 타입은 식별자를 통해 지속해서 추적할 수 있지만, 값 타입은 식별자가 없고 숫자나 문자같은 속성만 있으므로 추적할 수 없다. 쉽게 비유하면 엔티티 타입은 살아 있는 생물이고 값 타입은 단순한 수치 정보다. 기본값 타입📙 @Entity public class Member { @Id @GeneratedValue privat..

Book Review 2023.01.12

자바 ORM 표준 JPA 프로그래밍 - 프록시와 연관관계

이전 포스팅에서는 JPA의 고급 매핑에 대해 알아보았다. 이번 포스팅에서는 프록시와 즉시 로딩, 지연 로딩 및 영속성 전이에 대해 알아보려고 한다😄 개요 객체는 객체 그래프로 연관된 객체들을 탐색한다. 그런데 객체가 데이터베이스에 저장되어 있으므로 연관된 객체를 마음껏 탐색하기는 어렵다. JPA 구현체들은 이 문제를 해결하려고 프록시라는 기술을 사용한다. 프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에 조회하는 것이 아니라, 실제 사용하는 시점에 데이터베이스에서 조회한다. 하지만 자주 함께 사용하는 객체들을 조인을 사용해서 함께 조회하는 것이 효과적이다. JPA는 즉시 로딩과 지연 로딩이라는 방법으로 둘을 모두 지원한다. 또한, JPA는 연관된 객체를 함께 저장하거나 함께 삭제할 수 있는 영속성 ..

Book Review 2022.12.03

자바 ORM 표준 JPA 프로그래밍 - 고급 매핑

이전 포스팅에서는 JPA의 다양한 연관관계에 대해 알아보았다. 오늘은 상속관계 매핑과 조인 테이블 등 JPA에서 제공하는 고급 매핑에 대해 알아보려고 한다😄 개요 서두와 같이 이번 포스팅에서는 객체의 상속 관계를 데이터베이스에 어떻게 매핑하는지, 등록일·수정일 같이 여러 엔티티에서 공통으로 사용하는 매핑 정보 상속 방법, 연결 테이블을 매핑하는 조인 테이블 등 다양한 고급 매핑에 대해 알아보려고 한다. 상속 관계 매핑📔 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 대신에 위 그림과 같이 슈퍼 타입 서브타입 관계(Super-Type Sub-Type Relationship)라는 모델링 기법이 객체의 상속 개념과 가장 유사하다. 슈퍼 타입 서브타입 논리 모델을 실제 물리 모델인 테..

Book Review 2022.11.06

자바 ORM 표준 JPA 프로그래밍 - 다양한 연관관계

이전 포스팅에서는 연관관계 매핑에 대해 알아보았다. 오늘은 조금 더 깊게 들어가서 JPA가 제공하는 다양한 연관관계에 대해 알아보려고 한다😁 개요 엔티티의 연관관계를 매핑할 때는 다중성, 단방향인지 양방향인지, 연관관계의 주인을 누구로 삼을 것인지에 대해 고려해야 한다. 먼저 연관관계가 있는 두 엔티티가 일대일 관계인지 일대다 관계인지 다중성을 고려해야 한다. 다음으로는 두 엔티티 중 한쪽만 참조하는 단방향 관계인지 서로 참조하는 양방향 관계인지 고려해야 한다. 마지막으로 양방향 관계면 연관관계의 주인을 정해야 한다. 다중성의 종류는 다대일(@ManyToOne), 일대다(@OneToMany), 일대일(@OneToOne), 다대다(@ManyToMany) 매핑이 있다. 만약 다중성을 판단하기 어렵다면 반대 ..

Book Review 2022.10.30

자바 ORM 표준 JPA 프로그래밍 - 연관관계 매핑

엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 하지만 객체는 참조(주소)를 사용해서 관계를 맺고, 테이블은 외래 키를 사용해서 관계를 맺는다. 이 둘은 완전히 다른 특징을 가진다. 객체 관계 매핑에서 가장 어려운 부분이 바로 객체 연관관계와 테이블 연관관계를 매핑하는 일이다. 개요 이전 포스팅에서는 엔티티 매핑에 대해서만 알아보았고, 이번에는 다양한 연관관계를 간단한 예시와 함께 포스팅하려 한다. 연관관계의 사용부터 관계를 맺었을 때 주인은 누구로 설정해야 하는지, 또 주의할 점과 편리하게 사용하는 방법등을 알아보려 한다. 회원과 팀이 있다. 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계다. 연관관계를 사용하기에 앞서 서두에서 언급한 객체와 테이블의 차이를 알아야 한다. 객체 그림을..

Book Review 2022.10.23

자바 ORM 표준 JPA 프로그래밍 - 엔티티 매핑

JPA를 사용하는 데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다. 따라서 매핑 어노테이션을 정확히 숙지하고 사용해야 한다. JPA는 다양한 매핑 어노테이션을 지원하는데 크게 4가지로 분류한다. 오늘은 이 4가지 부류의 매핑에 대해서 알아보려 한다. 개요 매핑 어노테이션은 크게 객체와 테이블 매핑, 기본 키 매핑, 필드와 칼럼 매핑, 연관관계 매핑으로 나눌 수 있다. 물론 XML을 사용하여 매핑할 수 있지만, 어노테이션을 사용하는 방법이 좀 더 쉽고 직관적이다. 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn 수많은 어노테이션이 있지만 기본적으로 사용하는 어노테이션만..

Book Review 2022.10.08

자바 ORM 표준 JPA 프로그래밍 - JPA란?

객체를 SQL로 변환하는 단순한 일부터, 객체의 상속 구조를 테이블에 저장하는 복잡할 일까지 개발자는 객체와 데이터베이스 사이에서 무수한 매핑 코드와 SQL을 작성해야 했다. 자바 진영에서는 이런 문제를 해결하기 위해 JPA라는 표준 기술을 제공한다. 개요 서두에 이어 조금 더 깊게 들어가 보자. 지난날 우리는 무수히 많은 CRUD의 반복, 객체와 데이터베이스 매핑관계의 반복 등 지루한 코드를 계속해서 작성하였다. 이러한 문제로 인해 자바 ORM 표준 JPA가 탄생하였고, JPA를 사용하여 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 하고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결하게 만들었다. 궁극적으로 JPA를 사용해서 얻은 가장 큰 성과는 애플리케이션을 SQL이 아닌 객체 ..

Book Review 2022.09.24

[그림으로 공부하는 IT인프라 구조] - 책 리뷰

비전공자 출신으로 개발자로 취업해보니, 코드를 짜는 것 이외에도 공부할 분야가 많다는 것을 몸소 느끼고 있습니다. 특히 최근에 출장을 다녀오면서 서버 쪽에 무지한 제 모습을 보면서 전문적인 강의까지는 수강하지 못하더라도, 관련된 서적은 읽어봐야겠다고 생각이 들었어요. 서버 관련 서적을 찾다가 전반적인 인프라를 소개해주는 이 책을 선정하게 되었습니다. 이번 책 리뷰 편도, 전 편 [읽기 좋은 코드가 좋은 코드다] 포스팅 처럼 사내에서 자체적으로 진행하는 스터디에 필요한 토론 및 발표 자료로 쓰이기 때문에 특별한 형식 없이 준비하기로 했습니다😃 인프라(Infra)? 인프라는 우리말로 직역하면 '기반'이란 뜻으로, 우리의 생활을 지탱하는 바탕이나 토대란 의미를 가지고 있다. 인프라의 대표적인 예로 가스, 수도..

Book Review 2022.06.27