전체 글(73)
-
jpa 엔티티 매핑 정리
jpa에서 엔티티 매핑에 대해서 정리를 해보겠습니다. 객체와 테이블 매핑 @Entity가 붙은 클래스는 jpa가 관리하는 것으로 엔티티라고 합니다. 속성 : name jpa에서 사용할 엔티티 이름을 지정 (기본값 : 클래스 이름 그대로 사용) 데이터베이스 스키마 자동 생성 ddl을 애플리케이션 실행 지점에 자동 생성한다. (테이블 -> 객체 중심) 개발장비에서만 사용(운영에서 사용하면 안돼) 옵션 create : 기존테이블 삭제 후 다시 생성(drop + create) create + drop : create와 같으나 종료시점에 테이블 drop update : 변경분만 반영 (운영db에는 사용하면 안됨) validate : 엔티티와 테이블이 정상 매핑되었는지만 확인 none : 사용하지 않음 개발 초기 ..
2023.06.20 -
캐시와 조건부 요청 정리
클라이언트가 요청을 보내면 서버가 응답을 보내주면 해당 정보를 통해 클라이언트가 랜더링하는 방식으로 동작한다. 하지만 정보가 동일한 경우에도 이러한 과정을 매번 해준다면 비효율적일 것이다. 이러한 문제점을 해결하기 위해 등장한 개념이 캐시다. 캐시란? 서버 지연을 줄이기 위해 웹 페이지, 이미지 등의 웹 문서들을 임시로 저장하는 기술이다. 캐시가 없을 경우 어떻게 동작할까? 클라이언트가 서버에게 star.jpg를 달라고 get메소드를 사용하여 요청하고 있다. 서버가 star.jpg를 클라이언트에게 응답을 보내주고 클라이언트는 해당 정보를 랜더링하여 star.jpg를 보여준다. 동일한 요청을 두번째에 요청을 해도 위와 같은 동일한 과정을 반복해야 한다. 상당히 비효율적이라는 것을 알 수 있다. 따라서 캐시..
2023.06.19 -
postman을 통한 http 메시지 다루기
스프링에서 http 메시지를 다루는 연습을 해보겠습니다. 해당 과정에서는 postman을 활용해서 실습을 진행했습니다. https://www.postman.com/ Postman API Platform | Sign Up for Free Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster. www.postman.com import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType;..
2023.06.19 -
jpa 영속성 정리
영속성 컨텍스트 : 엔티티를 영구 저장하는 환경 엔티티의 생명주기 비영속 : 엔티티를 생성후 persist를 하지않은 상태 영속 : 엔티티를 생성 후 persist를 해서 jpa과 엔티티를 관리하고 있는 상태 준영속: 영속 상태에서 detach를 해서 디비에는 값이 저장되어있지만 영속성 컨텍스트 안에는 존재하지 않아 jpa가 엔티티를 관리하지 않는 상태 삭제: 영속 상태인 엔티티를 삭제 영속성 컨텍스트의 이점 1. 1차 캐시 : 1차 캐시의 범위가 같은 트랜잭션 안에서만 발생하므로 크게 속도면에서 향상되지는 않는다. 단지 같은 엔티티를 여러번 조회할 경우 1번만 select문이 발생한다. 2. 동일성 보장 : 같은 트랜잭션 안에서 같은 엔티티를 조회할 경우 == 로 비교시 같다는 것을 통해 동일성이 보장..
2023.06.17 -
http 기본
http란? hypertext transfer protocol의 약자로 html을 전달하는 프로토콜을 의미한다. 현재 인터넷 상의 모든 데이터는 http를 통해 전달된다. - html, text - image, 파일 - json, xml - 거의 모든 형태의 데이터 http 역사 http/0.9 : get 메소드만 지원, http 헤더x http/1.0 : 메서드, 헤더 추가 http/1.1 : 가장 많이 사용 http/2 : 성능 개선 http/3 : tcp 대신에 udp 사용 http 특징 - 클라이언트 서버 구조 - 무상태 프로토콜(stateless), 비연결성 서버가 클라이언트의 상태를 보존x 장점 : 서버 확장성 좋음(스케일 아웃) 단점 : 클라이언트가 추가 데이터 전송 - http 메시지 - ..
2023.06.12 -
uri와 웹 브라우저 흐름 정리
uri = url + urn으로 구성되어 있다. uri는 Uniform Resource Identifier 약자로 리소스를 식별하는 정보를 말하 url은 Uniform Resource Locator의 약자로 리소스를 식별하는 위치, urn은 Uniform Resource Name의 약자로 리소스를 식별하는 이름을 말한다. urn은 잘 사용하지 않으므로 있다는 정도만 기억해두고 uri와 url를 동일하게 생각하겠다. url의 문법을 보면 프로토콜, 호스명, 포트번호, 패스, 쿼리 파라미터로 구성되어 있다. scheme은 주로 프로토콜을 사용한다. 위에 예시에서는 https이다. userinfo는 사용자정보를 포함해서 인증하는 거인데 거의 사용하지 않는다. host는 호스트명으로 도메인명 또는 ip주소를 직..
2023.06.11