요구사항 분석 애플리케이션을 만들 때 가장 먼저 해야 하는 일은 코드를 작성하는 것이 아니라,무엇을 만들어야 하는지 명확히 정리하는 것이다. 이번 예제는 상품을 관리할 수 있는 애플리케이션을 만드는 것이 목표다. 예제에서 정한 요구사항은 다음과 같다. 이 애플리케이션에서 상품은 총 네 가지 정보를 가진다. 상품 번호, 상품 이름, 가격, 재고 수량이 그것이다.먼저 상품 번호는 1부터 시작하며, 상품이 하나 추가될 때마다 1씩 증가해야 한다. 또한 동일한 상품 번호를 가지는 상품은 존재할 수 없다. 즉, 상품 번호는 각 상품을 구분하는 고유한 값으로 사용된다.상품 이름은 1글자 이상 100글자 이하의 문자열이어야 한다. 다만 상품 번호와는 다르게, 동일한 상품 이름을 가지는 상품은 존재할 수 있다. 즉, ..
HTTP 요청 HTTP 요청 메시지를 보면 가장 먼저 헤더(header) 부분이 나온다.그리고 이 헤더는 크게 두 부분으로 나누어 생각할 수 있다.첫 번째 줄에는 요청의 핵심 정보가 들어가고, 그 아래줄들에는 요청에 대한 추가 설명 정보가 들어간다. 가장 첫 줄에는 보통 HTTP 메서드, 요청 경로, HTTP 버전이 순서대로 들어간다.예를 들어 GET /articles HTTP/1.1 같은 형태다.이 한 줄만 봐도 클라이언트가 무엇을 하려는지 대략 알 수 있다.어떤 방식으로 요청하는지, 서버의 어떤 경로에 요청하는지, 어떤 버전의 HTTP 규약을 쓰는지가 여기 담겨 있기 때문이다. HTTP 요청에는 헤더뿐 아니라 바디(body) 도 들어갈 수 있다.요청 바디는 말 그대로 클라이언트가 서버로 전달하고 싶..
HTTP 트랜잭션 일반적으로 “트랜잭션”이라는 단어는 쪼갤 수 없는 하나의 작업 묶음을 의미하는 경우가 많다.예를 들어 데이터베이스에서는 여러 작업이 모두 성공하거나 모두 실패해야 할 때 트랜잭션이라는 개념을 사용한다.그래서 처음 HTTP 트랜잭션이라는 말을 들으면, 이것도 비슷하게 “원자적으로 보장되는 작업”이라고 오해할 수 있다.하지만 HTTP에서 말하는 트랜잭션은 그런 의미가 아니다. HTTP 트랜잭션은 하나의 HTTP 요청과 그에 대한 하나의 HTTP 응답을 묶어서 부르는 표현이다.즉, 브라우저가 서버에 요청을 보내고, 서버가 그 요청에 대한 응답을 반환하는 한 번의 왕복 과정을하나의 HTTP 트랜잭션이라고 보면 된다. 예를 들어 사용자가 브라우저에서 어떤 URL에 접속하면 브라우저는 서버에 HT..
AJAX가 뭐고, 왜 필요할까 기존의 웹페이지는 서버에 요청을 보내고 응답을 받으면, 페이지 전체를 다시 로드하는 경우가 많았다. 예를 들어 사용자가 어떤 버튼을 눌러 데이터를 조회하거나, 검색을 수행하거나,새로운 내용을 불러올 때마다 화면 전체가 다시 그려지는 방식이다.이런 방식은 구조가 단순하다는 장점은 있지만,사용자 입장에서는 화면이 깜빡이거나 흐름이 끊기는 느낌을 줄 수 있다. 이런 불편함을 줄이기 위해 등장한 방식이 AJAX다.AJAX는 Asynchronous JavaScript And XML의 약자로,자바스크립트를 사용해 서버와 비동기적으로 데이터를 주고받는 방식을 의미한다. 여기서 중요한 키워드는 “비동기”다.비동기 요청은 요청을 보낸 뒤 응답이 올 때까지 화면 전체를 멈추게 하지 않고,다른..