공부 15

[Java/Spring] 서블릿과 디스패처 서블릿 (Servlet & Dispatcher Servlet)

Servlet 이란? - JAVA를 사용하여 웹을 만들기 위해 필요한 프로그래밍 기술이다. (Servlet 클래스의 구현 규칙을 지켜야합니다.) - 또한, 이러한 웹 기반의 요청에 대해 동적으로 처리해주는 역할로서 Server Side에서 작동(WAS)한다. - 웹 페이지 개발 시, 웹 화면(HTML)은 JSP로 표현하고, 복잡한 프로그래밍은 서블릿으로 구현하여 조화롭게 사용한다. - 클라이언트가 요청을 하면 그 결과를 다시 전송해주는 프로그램이다. - HttpServlet이라는 Java의 클래스를 상속받는다. Servlet Life Cycle 1. Servlet 객체 생성 (1회) 2. init() 호출 (1회) 3. service(), doGet(), doPost() 호출 (요청시 매번) 4. des..

Java 2022.11.03

[데이터베이스] 트랜잭션의 ACID 성질

트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛을 말한다. 데이터베이스 트랜잭션은 ACID라는 특성을 가지고 있다. ACID는 데이터베이스 내에서 일어나는 하나의 트랜잭션(transaction)의 안전성을 보장하기 위해 필요한 성질이다. 트랜잭션(Transaction) 트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛을 말한다. 각 트랜잭션은 하나의 특정 작업으로 시작을 해서 묶여 있는 모든 작업들을 다 완료해야 정상적으로 종료한다. 만약 하나의 트랜잭션에 속해있는 여러 작업 중에서 단 하나의 작업이라도 실패하면, 이 트랜잭션에 속한 모든 작업을 실패한 것으로 판단한다. 작업이 하나라도 실패를 하게 되면 트랜잭션도 실패이고, 모든 작업이 성공적이면 트랜잭션 또한 성공이다. 성공 또는 실패 라는 ..

기타 2022.11.02

스케일업과 스케일아웃 (Scale-Up & Scale-Out)

Scale-Up / Scale-Out 이란? 스케일 업(Scale-Up)이란 단일 서버(하드웨어)의 성능을 증가시켜서 더 많은 요청을 처리하는 방법을 의미한다. 즉, 단일 하드웨어의 성능을 높이기 위해 CPU, 메모리, 하드디스크 등을 업그레이드하거나 추가하는 것을 의미한다. 반면, 스케일 아웃(Scale-Out)은 동일한 사양의 새로운 서버를 추가하여 성능을 증가시키는 방법을 말한다. 서버가 증설됨에 따라 여러 대의 서버가 트래픽을 나누어 갖게 되고, 각각의 서버가 이를 처리하게 된다. 두 방법 모두 다수의 트래픽을 처리하는데 좋은 방법임에는 분명하다. 그렇다면 두 방법 중 어떤 방법을 선택해야 할까? 스케일 업(Scale-Up) 스케일 업(Scale-Up)이란 단일 서버(하드웨어)의 성능을 증가시켜서..

기타 2022.11.02

쿠키와 세션 (Cookie & Session)

쿠키와 세션을 이용한 로그인 처리 쿠키와 세션을 이해하기 위해서는 HTTP 프로토콜에 대한 이해가 필요하다. HTTP의 비연결성(Connectionless), 무상태성(Statelss) 한 특징 때문에 Server가 Client를 식별할 수 있는 방법이 필요했고, 이 때문에 쿠키(Cookie)와 세션(Session)을 사용하게 되었다. 쿠키(Cookie) 쿠키는 웹 브라우저가 보관하는 데이터이다. 웹 서버는 쿠키를 생성하여 웹 브라우저에 정보를 전송할 수 있다. 쿠키는 'key-value' 형태로 웹 브라우저의 쿠키 저장소에 저장된다. 서버로부터 쿠키를 전달받은 웹 브라우저는 이후 웹 서버에 요청을 보낼 때 쿠키를 헤더에 실어서 함께 전송한다. 이를 이용하면 웹 서버와 클라이언트는 필요한 값을 공유하고 ..

기타 2022.11.01

HTTP (HyperText Transfer Protocol)

HTTP HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. HTTP 는 클라이언트(브라우저)와 서버 사이의 의사소통 방식을 말한다. 이러한 HTTP 는 비연결성(Connectionless)과 무상태(Stateless)라는 특성을 갖는다. 비연결성(Connectionless) 비연결성이란 클라이언트가 요청(request)을 하고, 서버가 해당 요청에 적합한 응답(response)를 하게 되면 바로 연결을 끊는 성질을 의미한다. 무상태(Stateless) 비연결적인 특성으로 연결이 ..

기타 2022.11.01