
상속 관계 매핑 객체의 상속 관계를 데이터베이스에 어떻게 매핑하는지? 관계형 데이터베이스에는 객체지향언어에서 다루는 상속의 개념이 없다. 조인 전략 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키를 받아서 기본 키 + 외래 키로 사용하는 전략. JPA 표준 명세는 구분 컬럼을 사용하도록 하지만 하이버네이트를 포함한 몇몇 구현체는 구분컬럼(@DiscriminatorColumn) 없이도 동작함. 장점 - 테이블의 정규화 - 외래 키 참조 무결성 제약조건을 활용할 수 있다 - 저장공간을 효율적으로 사용가능 단점 - 조회할 때 조인이 많이 사용되므로 성능저하 가능성 있음 - 조회 쿼리가 복잡함 - 데이터를 등록할 INSERT SQL을 두 번 실행함 단일 테이블 전략 테이블을 하나만 사용..

서버와 통신하기 - HTTP통신과 JSON HTTP 프로토콜 : 클라이언트와 서버 간에 자료를 주고받기 위해 사용하는 약속된 규칙 웹에서는 HTTP를 프로토콜로 사용한다. *https는 기존의 http 프로토콜보다 보안이 강화된 것. 요청방식 Get 서버에 자료를 요청할 때 사이트 주소의 뒤에 자료를 붙여서 보내는 방식. 주소창에 요청 메세지가 함께 표시되고, 요청본문은 따로 사용하지 않음. 요청자료가 무엇인지 공개되어도 문제가 없는 경우에 사용. 요청방식 Post 서버에 자료를 요청할 때 중요한 자료를 입력하고 서버로 보낼 때 사용. 요청 내용이 겉으로 드러나지 않고 요청본문(request body)에 따로 담겨서 전송됨. 응답 상태 서버로 요청한 자료가 성공적으로 처리되었는지, 실패했는지 등의 응답 ..

2023.04.24 10. 효율적으로 문자열과 배열 활용하기 래퍼 객체(wrapper object) : 숫자, 문자열, 불리언 등 원시 타입의 프로퍼티에 접근하려고 할 때 생성되는 임시 객체 오토박싱(autoboxing) : 필요할 때만 임시로 객체로 바꿔 사용하고 사용이 끝나면 다시 원시 유형으로 되돌아 오는 것 정규 표현식(regular expression) : 특정 패턴(규칙)을 사용해 문자열을 표현하는 언어. 예) 전화번호가 숫자로만 이루어졌는지, xxx-xxxx-xxxx 형태로 이루어져있는지 체크 가능 JS뿐만 아니라 자바, 파이썬 등의 언어에서도 사용이 가능한 규칙임 RegExp 객체 사용 또는 ‘ / ’ 슬래시 사용 패턴[플래그] //플래그는 옵션임 let regexp = /\\d{3}/ /..

엔티티(Entity) 데이터베이스의 테이블에 매핑되는 자바 클래스를 의미. 엔티티 클래스는 데이터베이스의 레코드에 대응되는 객체이다. 엔티티 클래스는 @Entity 어노테이션을 사용하여 JPA에서 엔티티임을 명시한다. 엔티티의 연관관계를 매핑할 때 고려할 점 3가지 - 다중성 (일대일 관계인지, 일대다 관계인지) - 단방향, 양방향 (한쪽만 참조하는지, 서로 참조하는지) - 연관관계의 주인 (양방향 관계면 주인 정해야 함) *연관관계의 주인 : JPA는 두 객체 연관관계 중 하나를 정해서 데이터베이스 외래 키를 관리함. 주인이 아닌 방향은 외래 키를 변경할 수 없고 읽기만 가능함. 다대일 [N : 1] @ManyToOne 가능한 연관관계 : 단방향, 양방향 객체 양방향 관계에서 연관관계의 주인은 항상 다..

내장 객체 (built-in object) : 사용자가 손쉽게 가져와서 사용할 수 있도록 미리 만들어진 객체 자바스크립트 언어 자체에 내장되어 있는 객체로, 특정 기능을 제공하기 위해 사용 Number, Boolean, String, Math, Date, Array, Object 등이 있음. window객체 웹 브라우저의 내장 객체 중 웹 브라우저 창과 관련된 객체임. 모든 객체의 최상위 객체 웹 브라우저의 창을 나타내는 전역 객체. 이 객체에는 브라우저 창의 크기, 스크롤 위치, URL, 문서 객체 등의 속성과 메서드가 포함되어 있음. 웹 브라우저에서만 사용 가능하며, 웹 페이지에서 자바스크립트를 사용할 때 기본적으로 제공되는 객체 (최상위객체 : 모든 객체를 포함하고 있는 가장 기본이 되는 객체. 가..

2023.03.07 알아야 할 이전 내용 참조형 데이터의 ‘가변’은 참조형 데이터 자체를 변경할 경우가 아니라 그 내부의 프로퍼티를 변경할 때만 성립한다. 데이터 자체를 변경하고자 하면(새로운 데이터를 할당하고자 하면) 기본형 데이터와 마찬가지로 기존 데이터는 변하지 않는다 객체(object) : 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합 프로퍼티(property) : 객체 안에 선언된 이름과 값으로 이루어진 한쌍을 의미. 프로퍼티 값으로 함수(function)가 올수도 있음(⇒메소드). 객체이름.프로퍼티이름 또는 객체이름[”프로퍼티이름”] 객체이름.메소드이름() 불변객체 (immutable object) 가변객체 (mutable object) 불변객체란..

5장 DOM 5-1. DOM (Document Object Model. 문서 객체 모델) 자바스크립트와 같은 프로그래밍 언어로 웹 문서에 접근하고 제어할 수 있도록 웹 문서를 체계적으로 정리하는 방법. DOM에서는 웹 문서와 웹 문서를 구성하는 텍스트나 이미지 등 모든 요소도 하나의 객체(객체이므로 프로퍼티와 메서드를 가짐)로 정의함. 부모 요소와 자식 또는 형제 요소 관계(계층) DOM트리 구조 : 트리의 시작 부분(루트 노드), 트리의 갈라져 나가는 분기점(노드) 5-2. 웹 요소에 접근하기 CSS 선택자 (웹 요소에 접근할 때 qauerySelector()함수나 qauerySelectorAll() 함수를 통해 사용) document.querySelector(선택자) //한가지 요소를 가져오는 메서드..

typeof() 함수 typeof(값 또는 변수) 자바스크립트에 미리 만들어져있는 함수로, 소괄호 안에 값이나 변수를 넣으면 어떤 자료형인지 알려준다. 템플릿 리터럴 (Template Literal) 백팃(``) 을 사용해 문자열을 만들며, 변수부분만 ${}로 묶어 작성이 편리해진다. 또한 템플릿 리터럴에서는 줄을 바꿔 입력하면 출력 결과에서도 '\n' 줄 바꿈 기호를 쓸 필요 없이 자동으로 줄이 바뀐다. 논리형 불리언(Boolean)유형. 참(true) 거짓(false)값을 표현하기 위한 데이터 유형. 참으로 인정할 수 있는 값 : truthy하다 거짓으로 인정할 수 있는 값 : falsy하다 falsy로 인정하는 값 0 // 숫자 " " // 빈 문자열 NaN //Not a Namber undefin..