[Network] 소켓, 웹소켓, 포트
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ❗️해당 글은 프로토콜 스택, IP, TCP, UDP, 포트, 소켓에 대한 이해가 필요하다. 여기를 참고하면 좋을 것 같다.  ✅ 웹소켓과 소켓의 통신의 차이에 대해 설명해 주세요.웹소켓(Web Socket)과 소켓(Socket)은 모드 네트워크 상에서 데이터 교환을 위한 기술이다.▶ 소켓기본 개념네트워크에서 데이터를 주고받을 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결점일반적으로 TCP/IP 프로토콜을 사용하여 데이터 송수신을 처리한다.프로토콜TCP (Transmission Control Protocol): 신뢰성 있는 연결 지향 프로토콜로, 패킷의 순서와 무결성을 보장한다.UDP (User Datagram ..
[Network] HTTP와 HTTPS의 보안 - 대칭키/공개키, SSL/TLS
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ HTTP에 대해 설명해 주세요.HTTP(HyperText Transfer Protocol)이란 텍스트 기반의 통신 규약으로서 클라이언트와 서버 간에 데이터를 주고받기 위한 통신 프로토콜이다. HTTP는 요청-응답(request-response) 모델을 기반으로 하며, 이 모델을 통해 클라이언트가 서버에 요청(request)을 보내고, 서버가 클라이언트에 응답(response)을 반환한다. ▶ HTTP의 특징클라이언트-서버 모델클라이언트와 서버가 명확하게 구분된다. 클라이언트는 요청(request)를 보내고, 서버는 요청을 처리하여 응답(response)을 반환한다.TCP/IP 기반HTTP는 TCP/IP를 이용하는 응용 ..
[JPA] 값 타입 컬렉션 - 값 타입 (4)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 값 타입 컬렉션값 타입을 하나 이상 저장할 때 List나 Set과 같은 Collection을 사용한다. 하지만 DB에는 Collection을 하나의 테이블에 저장할 수 없기 때문에 Collection을 저장하기 위한 별도의 테이블이 필요하다.방법: @ElementCollection, @CollectionTable🔽 값 타입 컬렉션 코드 @Entity public class Member { ... //값 타입 컬렉션 @ElementCollection @CollectionTable(name = "ADDRESS", joinColumns = @JoinCol..
[JPA] 값 타입 비교 - 값 타입 (3)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 값 타입의 비교자바가 제공하는 객체 비교는 동일성 비교, 동등성 비교 2가지가 있다. 1️⃣ 동일성(identity) 비교인스턴스의 참조 값을 비교한다. == 사용해서 비교하는 방법이다. 2️⃣ 동등성(equivalence) 비교인스턴스의 값을 비교한다. equals() 사용해서 비교하는 방법이다. ▶ 값 타입의 동등성, 동일성Address a = new Address("서울시", "종로구", "1번지");Address b = new Address("서울시", "종로구", "1번지");Address 값 타입을 a == b로 동일성 비교하면 둘은 서로 다른 인스턴스이므로 결과는 거짓이다.하지만 이것은 기대하는 결과가..
[JPA] 값 타입과 불변 객체 - 값 타입 (2)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 값 타입과 불변 객체▶ 문제: 값 타입 공유 참조임베디드 타입 같은 값 타입을 여러 Entity에서 공유하면 위험하다.Embedded 타입 같이 직접 정의한 값 타입은 객체 타입이기 때문에 값을 대입하면 참조 값이 공유된다.🔽 값 타입 공유 참조 문제 발생 코드Address address = new Address("city", "street", "zipcode");member1.setAddress(address);member2.setAddress(member1.getAddress()); //회원1의 address 값을 공유위 코드는 회원1이나 회원2가 이후 주소를 변경하면 함께 변경되기 때문에 문제가 생긴다. ▶..
[JPA] 기본값 타입과 임베디드 타입 - 값 타입 (1)
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ JPA의 데이터 타입JPA의 데이터 타입을 크게 2가지로 나누면 엔티티 타입과 값 타입으로 나눌 수 있다.엔티티 타입@Entity로 정의하는 객체데이터가 변해도 식별자로 지속해서 추적이 가능하다.예: Member Entity의 키나 나이 값을 변경해도 식별자로 인식 가능하다.값 타입int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체식별자가 없고 값만 있으므로 변경 시 추적이 불가능하다.예: 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체된다.엔티티 타입의 특징값 타입의 특징식별자 O생명 주기 관리공유식별자X생명 주기를 엔티티에 의존공유하지 않는 것이 안전(복사해서 사..
[JPA] 영속성 전이(CASCADE)와 고아 객체
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 영속성 전이: CASCADE영속성 전이(transitive persistence): 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 사용한다.설정 방법: @OneToMany(mappedBy = "", cascade = CascadeType.PERSIST)예: 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장할 때 ▶ 영속성 전이: 저장🔽 영속성 전이 설정 코드@Entitypublic class Parent { @Id @GeneratedValue private Long id; //영속성 전이, CASCADE 옵션 적용 @OneToMany(mappedBy =..
[JPA] 즉시 로딩과 지연 로딩
·
Programming/JPA
해당 글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍을 참고하여 작성한 글입니다. ✅ 즉시 로딩과 지연 로딩기능을 구현할 때 DB에서 가져오고 싶은 정보의 범위가 비즈니스 로직에 따라 다르다. 예를 들어, Member와 Team이라는 두 개의 entity가 연관 관계에 있을 때, 구현 목적에 따라 두 개의 데이터가 한 번에 조회되는 것이 좋을 수도 있고, 그렇지 않을 수도 있다. 이러한 상황을 JPA가 프록시와 지연 로딩을 통해 해결한다. 이전 글에서 프록시에 대해 알아보았고, 이 글에서는 지연 로딩에 대해 알아보겠다.JPA는 개발자가 연관된 Entity의 조회 시점을 선택할 수 있도록 다음 두 가지 방법을 제공한다.즉시 로딩지연 로딩  ✅ 즉시 로딩 (EAGER LOADING)Entity를 조회할..
soeun2537
'Programming' 카테고리의 글 목록 (6 Page)