SW개발/IT 용어

    [Docker]Docker(도커)란? (feat. Linux 컨테이너)

    Docker 란? 도커는 IT 소프트웨어로서 Linux 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. 도커를 사용하면 컨테이너를 매우 가벼운 모듈식 가상머신처럼 다룰 수 있게 된다. 또한 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 이동하는 등 유연하게 사용할 수 있고, 애플리케이션을 클라우드에 최적화하도록 지원한다. Linux 컨테이너란? Linux 컨테이너는 운영체제 수준의 가상화 기술로 리눅스 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 기술이다. 하드웨어를 가상화하는 가상 머신(VM)과 달리 커널을 공유하는 방식이기 때문에 실행 속도가 빠르고, 성능상의 손실이 거의 없다. 컨테이너로 실행된 프로세스는 커널을 공유하지만, 리눅스 namespaces, cgro..

    [HAProxy]HAProxy 란?

    HAProxy 란? HAProxy는 기존의 하드웨어 스위치를 대체하는 소프트웨어 로드 밸런서로, 네트워크 스위치에서 제공하는 L4, L7 기능 및 로드 밸런서 기능을 제공한다. 설치가 쉽고 빠르기에 서비스 이중화(HA- High Availability)를 구성하는데 주로 사용한다. 로드 밸런싱이란? HAProxy 기술을 알기전에 먼저 Load Balancing 이라는 기술을 알아야 한다. Load Balancing 이란 부하 분산을 위해서 가상 IP를 통해 여러 대의 서버에 접속을 분배하는 기능을 말한다. 로드 밸런서를 사용해야 하는 이유 클라이언트의 수가 많아짐에 따라 요청의 수가 늘어나게 되면 서버에는 부하가 걸리게 된다. 이를 해결하기 위해선 크게 두가지의 방법이 존재한다. Scale-up : 서버..

    [WAS, WSGI, CGI]WAS, WSGI, CGI 란?

    WAS (Web Applicaiton Server) WAS는 웹서버가 동적으로 가능하면 WAS이다. 즉, Webserver + CGI 가 WAS 라는 소리이다. CGI (Common Gateway Interface) 웹 서버에서 애플리케이션을 작동시키기 위한 인터페이스다. 정적인 웹서버를 동적으로 만들기 위해 등장하였다. 서버 프로그램과 외부 프로그램간의 인터페이스가 CGI 라고 볼 수 있다. WSGI (Web Server Gateway Interface) 파이썬에서 애플리케이션(파이썬 스크립트)이 웹 서버와 통신하기 위한 인터페이스이다. Django, Flask와 같은 것이 WSGI 를 지원하는 웹 애플리케이션이다. WSGI Server (Middleware) Web server와 WSGI를 지원하는 ..

    [REST]REST API 란?

    REST API 란? "Representational State Transfer" HTTP URI를 통해 자원을 명시하고, HTTP METHOD를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 즉, 자원의 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다 REST 구성 자원(Resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST 특징 Uniform - URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일 Stateless - REST는 무상태성 성격을 갖는다. 작업을 위한 상태정보를 따로 저장하고 관리하지 않음. Cacheable - HTTP 기존 웹표준을 그..

    [Docker]Docker 란?

    Docker 란? Linux 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. Docker를 사용하면 컨테이너를 매우 가벼운 모듈식 가상 머신처럼 다룰 수 있다. 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 유연하게 이동이 가능하다. Docker 작동 방법 Docker 기술은 Linux 커널과 함께 Cgroups 및 네임스페이스와 같은 커널의 기능을 사용하여 프로세스를 분리함으로써 독립적으로 실행될 수 있도록 한다. Docker를 포함한 컨테이너 툴은 이미지 기반 배포 모델을 제공하므로 여러 환경 전반에서 애플리케이션 또는 서비스를 손쉽게 공유할 수 있다. Docker 사용 이유? 쉽고 빠른 실행 환경 구축, 가볍고 빠른 실행 속도 하드웨어 자원 절감 공유 환경 제공 쉬운 배포

    [AIOHTTP]AIOHTTP 란?

    AIOHTTP 란? aiohttp는 Python 3.4 부터 표준 라이브러리로 추가된 asyncio를 위한 HTTP 서버/클라이언트 프레임워크이다. aiohttp 의 다양한 기능 Client / Server API Persistent connections Websockets 자세한 것은 공식사이트에서 확인할 수 있다.

    [WebRTC]WebRTC란?

    WebRTC 란? Web Real-Time Commnunication 의 약자 웹 어플리케이션(Android 및 IOS 지원) 및 사이트들이 별도의 소프트웨어 없이 음성, 영상, 파일 같은 데이터를 브라우저끼리 주고 받을 수 있게 만든 기술 WebRTC로 구성된 프로그램들은 별도의 플러그인이나 소프트웨어 없이 데이터 공유가 가능하다. WebRTC 통신 원리 WebRTC 기술은 P2P 통신에 최적화가 되어 있음 WebRTC 에 사용되는 기술은 여러 가지가 있지만 크게 3가지의 클래스에 의해 실시간 데이터 교환이 이루어짐 MediaStream - 카메라와 마이크 등의 데이터 스트림 접근 RTCPeerConnection - 암호화 및 대역폭 관리 및 오디오, 비디오의 연결 RTCDataChannel - 일반적..