트랜잭션이란?데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위요리로 치면 조리대에 비유할 수 있다. 재료(데이터)를 조회, 생성, 수정, 삭제하여 최종 결과물을 만들기까지의 모든 과정이 트랜잭션에 포함된다.트랜잭션은 조리 중에 문제가 발생하면 이전에 했던 변경을 모두 되돌려, 아무 일도 없었던 것처럼 만든다.트랜잭션의 3가지 특징 (ACID)원자성 (All or Nothing)트랜잭션은 모두 반영되거나 전혀 반영되지 않아야 한다.작업 단위로 데이터가 처리되지 않으면 데이터 시스템을 이해하기 어렵고, 오류 발생 시 원인 파악이 힘들다.일관성 (Keeps Data Correct)트랜잭션의 작업 결과는 항상 일관성을 유지해야 한다.트랜잭션 진행 중 데이터베이스가 변경되더라도 처음 참조한 데이터베이스로..
🗂️ Study/🌿Spring
H2는 가볍고 빠르며 다양한 방식으로 활용할 수 있는 데이터베이스 관리 시스템(DBMS)주로 다음 세 가지 모드로 사용할 수 있다.Server ModeIn-memory ModeEmbedded Mode1. Server Mode서버 모드는 실제 운영 환경에서 주로 사용하는 방식.H2 DB 엔진을 서버로 설치하여 애플리케이션과 분리해서 사용할 수 있다.여러 애플리케이션이 동일한 DB를 공유할 수 있다는 장점이 있다.H2 DBMS는 공식 사이트에서 다운로드할 수 있다.특징H2 다운로드 필요외부 서버에서 실행데이터는 로컬 파일 시스템에 저장배포용으로 적합2. In-memory Mode인메모리 모드는 애플리케이션과 함께 실행되며, 데이터가 메모리에 저장되는 방식.애플리케이션이 종료되면 데이터도 함께 사라지는 휘발성..
쿠키클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일구성요소Name (이름): 쿠키를 구별하는 데 사용되는 키 (중복될 수 없음)Value (값): 쿠키의 값Domain (도메인): 쿠키가 저장된 도메인Path (경로): 쿠키가 사용되는 경로Expires (만료기한): 쿠키의 만료기한 (만료기한 지나면 삭제됩니다.)쿠키 생성public static void addCookie(String cookieValue, HttpServletResponse res) { try { cookieValue = URLEncoder.encode(cookieValue, "utf-8").replaceAll("\\+", "%20"); // Cookie Value 에는 공백이 불가능해서 encoding 진..
인증(Authentication)인증은 해당 유저가 실제 유저인지 인증하는 개념.스마트폰에 지문인식, 이용하는 사이트에 로그인 등과 같이, 실제 그 유저가 맞는지를 확인하는 절차.인가(Authorization)인가는 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념.예를들어 관리자 페이지-관리자 권한 같은 것들을 들 수 있음.인증 - 로그인할 때(비밀번호 입력하고 제출 할 때)인가 - 회원/비회원 여부에 따라 다른 권한을 받는 것 웹 애플리케이션 인증의 특수성일반적으로 서버-클라이언트 구조로 되어있고, 실제로 이 두가지 요소는 아주 멀리 떨어져 있음.그리고 Http 라는 프로토콜을 이용하여 통신하는데, 그 통신은 비연결성(Connectionless) 무상태(Stateless)로 이루어짐.?..
Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공paRepository 인터페이스에서 해당 인터페이스와 매핑되어있는 테이블에 요청하고자하는 SQL을 메서드 이름을 사용하여 선언할 수 있음SimpleJpaRepository 클래스가 생성될 때 위처럼 직접 선언한 JpaRepository 인터페이스의 모든 메서드를 자동으로 구현해줌JpaRepository 인터페이스의 메서드 즉, Query Methods는 개발자가 이미 정의 되어있는 규칙에 맞게 메서드를 선언하면 해당 메서드 이름을 분석하여 SimpleJpaRepository에서 구현됨따라서 우리는 인터페이스에 필요한 SQL에 해당하는 메서드 이름 패턴으로 메서드를 선언 하기만 하면 따로 구현하..