책 “HTTP 완벽 가이드”를 읽고 정리한 글입니다. HTTP 오늘날 수많은 데이터가 인터넷 상에서 이동한다. 이 과정에서 HTTP(Hypertext Transfer Protocol)는 웹서버에서 사용자의 브라우저로 데이터를 옮겨준다. HTTP는 신뢰성 있는 데이터 전송(reliable data-transmission) 프로토콜을 사용하는데...
개요 Undefined behavior, unspecified behavior, implementation-defined behavior는 C/C++ 언어에서 프로그램이 특정 상황에 어떻게 동작해야하는지를 나타내는 용어이다. Undefined behavior 개념 언어 명세가 프로그램의 동작을 명시하지 않은 상황을 가리킨다. 프로그램의...
개요 Nginx는 리버스 프록시, 로드 밸런서, HTTP 캐시로도 작동하는 인기 있는 오픈 소스 웹 서버 소프트웨어이다. 2002년 이고르 시소예프(Igor Sysoev)가 만들었으며 2004년에 처음 출시되었다. 높은 성능, 안정성, 낮은 리소스 사용으로 유명하며 넷플릭스, 드롭박스, 에어비앤비, 깃허브, Wordpress 등의 웹사이트와 웹 ...
프록시 (Proxy) 개념 클라이언트와 서버 사이에서 대리로 통신을 수행하는 것 이러한 중개 기능을 하는 서버를 프록시 서버(proxy server)라고 한다. 주로 보안을 강화하고 성능을 향상시키거나 익명성을 제공하기 위해 사용된다. 주요 기능 캐싱 (caching) 필터링 (filer...
Git 커밋 메시지 관련 지침을 다룸. 개요 커밋 메시지를 일관되고 표준화된 방식으로 형식화하여 작성하기 위한 지침 사용 목적 명확성 다른 개발자가 특정 커밋에서 변경된 내용을 더 쉽게 이해할 수 있다. 코드 변경 내역을 리뷰하거나 문제를 파악할 때 특히 유용하다. 기록 ...
기본 설정 docker-compose.yml 개념 다중 컨테이너 도커 애플리케이션을 정의하는 YAML 파일 확장자 yml과 yaml은 기능상의 차이는 없다. yml은 과거 Windows의 확장자 3자리 규칙 때문에 사용하던 확장자 ...
3계층 구조(3-tier architecture) 개념 소프트웨어 개발에서 규모있고 유지보수 가능한 애플리케이션을 만들 때 흔히 사용하는 디자인 패턴 하나의 애플리케이션을 세 개의 구분되는 티어로 나눈다. 구성 프레젠테이션 계층 (또는 사용자 인터페이스(UI)) ...
Docker란? 개념 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트 컨테이너 경량의 독립적인 소프트웨어 실행 패키지를 일컫는 말. 어플리케이션을 구동하기 위해 필요한 요소들을 담고있다. ...
주제 STL (Standard Template Library) 컨테이너(containers) 반복자(iterators) 알고리즘(algorithms) Ex00 주요 개념 컨테이너 시퀀스 컨테이너 vector deque list ...
전체 주요 개념 함수 템플릿 개념 함수의 일반화된 선언 특징 헤더파일과 구현파일을 분리하면 안된다. 컴파일 타임에 모든 연산이 끝나기 때문. 함수에 대해 사용하면 함수 템플릿, 클래스에 대해 사용하면 클래스 템플...