TCP 커넥션 : 클라이언트와 서버가 TCP 소켓 인터페이스를 사용해 상호작용하는 과정 위쪽(S1~C2) 에서 소켓 열고, 가운데에서(C3, S5, C4) TCP 핸드셰이크, 아랫쪽 실제 통신 HTTP 커넥션은 몇몇 사용 규칙을 제외하고는 TCP 커넥션에 불과하다. TCP는 HTTP에게 신뢰성 있는 통신을 제...
DAO vs Repository
Repository DDD에서 나왔다고 한다. aggregate 하나당 repository 하나 객체-지향적인 인터페이스를 제공. domain layer에 속하는 순수한 도메인 모델 객체 의존성 제거를 위해 Interface, persistence(구현부) 로직으로 분리. 인터페이스(...
모던 JavaScript 튜토리얼 - Javascript란?
: html 안에 “스크립트”로 작성하고, 브라우저에서 실행할 수 있는 언어. Javascript 엔진: 브라우저 뿐 아니라, 자바스크립트 엔진이 있는 서버, Chrome(V8 엔진), Firefox(스파이더몽키) 등에서 모두 동작 가능. 엔진은 스크립트를 읽고(파싱), 기계어로 전환(컴파일)하고, 실행시킨다. ...
Sequelize 연관관계
테이블 연관관계와 객체 연관관계 : JPA를 공부할 때에도 보았듯 두 연관관계의 차이점은 테이블은 외래키로 양방향 연관관계를 갖지만, 객체는 참조를 통해 단방향 연관관계를 두 개 갖는 것과 같다. Sequelize에서 연관관계 맵핑 방법 belongsTo 의미 그대로 A가 B에 속해있을 때 A.belongsTo(B)와 같이 맵핑한다...
REST API 특징과 6가지 원칙
: API를 설계 할 때 자원을 나타내는 URI가 있고, http method를 통해 자원을 어떻게 처리할 지 설계하는 방식의 아키텍처 자원(resource) - URI / 행위 - HTTP method / 표현 representations 특징 URI로 지정된 리소스에 대한 조작을 한정적인 Interface를 통해 수행하는 아키텍처 ...
HTTP 완벽가이드 3장 - 3. HTTP 상태코드
: 클라이언트에게 서버에서 무슨일이 일어났는지 말해주는 것 사람이 읽기 편한 사유구절(OK, CREATED)과는 다르게 숫자로 되어있어 프로그램이 에러처리하기에 용이 대략적인 구성: 일반적으로 아래의 구성을 따른다. 따라서, 누군가 상태코드를 확장해 사용하더라도 아래의 범주내에 속한다면 해당 관련 내용으로 이해해야 한다. ...
HTTP 완벽가이드 3장 - 2. HTTP 메서드
: 서버에게 무엇을 해야할지 말해주는 것 HTTP의 일곱가지 기본 메서드 메서드 설명 (일반적으로)본문 포함하는가? GET 서버에서 데이터를 가져옴 X POST 서버에게 해당 데이터 처리를 요청...
Redis Replication / Cluster와 Sentinel
배경 언제사용? 물리 머신이 가진 메모리보다 더 많은 데이터를 저장해야 할 경우 Failover를 통해 HA(high availability)를 보장해야 할 경우 Redis master-slave(using sentinel) vs Redis cluster 1. Master Slave(R...
HTTP 완벽가이드 3장 - 1. HTTP 메시지
: HTTP가 인터넷 배달원이라면, HTTP 메시지는 실제 보내지는 배달물 메시지의 흐름 방향: 인바운드, 아웃바운드, 업스트림, 다운스트림 인바운드: 클라이언트(사용자 에이전트) -> 원 서버. 서버(파드) 입장에서 볼 때 들어오는 것 아웃바운드: 원 서버 -> 사용자 에이전트(클라이언트). 서버...
HTTP 완벽가이드 2장 - URL과 리소스
URL(uniform resource locator) : 인터넷 상에서의 리소스의 위치. 애플리케이션은 URL을 사용하여 정보에 쉽게 접근 가능. URI(Uniform Resource Identifier)의 부분집합으로 본다. 인터넷에 존재하는 어떤 리소스든지 가리킬 수 있다. 대충 스킴://서버위치/리소스경로 구조. e.g )...