프록시(Proxy)란? 프록시는 사전적인 의미로 ‘대리인’, ‘중개자’ 라는 의미를 가지고 있다. 컴퓨터 공학에서 프록시는 보안상의 문제로 직접 통신을 주고 받을 수 없는 두 PC 사이에서 통신을 중계하는 것을 의미한다. 이처럼 중계 기능을 수행하는 서버를 ‘프록시 서버’라고 한다. 출처: What is a Proxy Server? How ...
HTTP와 HTTPS, 그리고 SSL/TLS
HTTP 와 HTTPS HTTP HTTP 는 HyperText Transfer Protocol 의 약자로, 하이퍼텍스트를 전송하기 위해 사용되는 통신 규약(Protocol)이다. 즉, 인터넷에서 HTML 과 같은 문서를 클라이언트(사용자)의 웹 브라우저가 웹 서버(서비스 제공자)에 요청하거나 웹 서버가 클라이언트에서 응답을 보낼 때 지켜야 하는 ...
Docker network 개념 정리
Docker network 개념 도커 컨테이너는 격리된 환경에서 실행되기 때문에 기본적으로 다른 컨테이너와 통신을 할 수 없다. 그래서 여러 컨테이너끼리 통신을 하기 위해서는 같은 도커 네트워크에 연결해야 한다. 도커 네트워크는 기본적으로 가상 네트워크 인터페이스를 생성한다. Linux bridge 도커는 linux bridge 를 이용해서 ...
NAT란?
NAT 개념 NAT 는 Network Address Translation 의 약자로, 네트워크 주소 변환을 의미한다. IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하면서 네트워크 트래픽을 주고 받도록 하는 기술이다. 동작 원리 출처: Network address translation [wiki...
YML(YAML)이란?
YML(YAML) 개념 YAML(이하 YML) 은 Yet Another Markup Language 의 약자로 마크업 언어의 한 종류이다. 마크업 언어란 데이터의 논리적인 구조를 표현하기 위해 규칙들을 정의한 언어의 일종이다. XML, HTML 이 대표적인 마크업 언어이다. school: name: 42 location: Seoul .....
가상머신과 도커의 차이
가상머신과 도커의 차이 하나의 물리 서버를 효율적으로 사용하기 위해 ‘서버 가상화 기술’이 발전했다. 가상머신과 컨테이너는 모두 서버 가상화 기술을 적용한 것이다. 하지만 어떤 가상화 소프트웨어를 사용하는지, 어떤 시스템 레벨을 가상화하는지에 차이가 존재한다. 가상화 가상화는 컴퓨터에서 하나의 물리 하드웨어 시스템에서 여러 가상 시스템을 실행...
[42Seoul] pipex (3) 구현 과정
회고 어서와, 멀티 프로세스는 처음이지? 그동안 수행했던 과제들은 모두 하나의 프로세스를 사용했다. 이번 과제는 처음으로 멀티 프로세스를 구현하고, 프로세스 간 통신(IPC)을 위해 파이프를 사용했다. 처음 보는 개념이 많다보니 이해하는데 시간이 꽤 걸렸다. 게다가 멀티 프로세스는 디버깅을 하는 것이 어려워서 디버깅에도 시간을 많이 썼다. ...
[42Seoul] pipex (2) 허용 함수 정리 : waitpid
waitpid #include <sys/wait.h> pid_t waitpid(pid_t pid, int *status, int options); 인자로 넘기는 pid 자식 프로세스가 끝나기를 기다리는 함수이다. status 변수에는 자식 프로세스가 종료할 때 보내는 시그널 또는 exit code 를 저장한다. options 는 ...
[42Seoul] pipex (2) 허용 함수 정리 : wait
wait #include <sys/wait.h> pid_t wait(int *status); 자식 프로세스가 끝나기를 기다리는 함수이다. status 변수에는 자식 프로세스가 종료할 때 보내는 시그널 또는 exit code 를 저장한다. 반환값 자식 프로세스가 멈추거나 종료되면 종료된 자식 프로세스의 프로세스 아이디(pid...
[42Seoul] pipex (2) 허용 함수 정리 : unlink
unlink #include <unistd.h> int unlink(const char *file); unlink 함수는 파일을 삭제하는 함수이다. 소프트 링크, 하드 링크 모두 적용된다. 링크를 지우면 링크 개수를 1개 감소시킨다. 만약, 소프트 링크의 원본 파일을 지우면 소프트 링크는 더 이상 사용할 수 없게 된다. 반환값 ...