Docker Compose 

Docker compose는 여러 컨테이너를 쉽게 실행 할 수 있도록 도와주는 도커 실행 툴이다. 이미지에서 컨테이너 하나 만들려면, 많은 옵션들을 설정해야 하는데, yaml 형식의 설정파일을 이용해서 여러개의 애플리케이션 서비스들을 효율적으로 관리 할 수 있다. 특히 Compose는 개발, 테스트, 스테이징 환경을 만드는데 많은 도움을 준다. Compos...

인스톨러 

도커로 배포되는 웹 애플리케이션을 쉽게 인스톨하는 방법을 찾는다. 인스톨은 두 가지 요소를 가지고 있어야 한다. 1. 시스템과 애플리케이션에 대한 권한을 가진 유저만이 설정 할 수 있어야 한다. 1. 쉽게 설정 할 수 있어야 한다. 배포하는 사람 입장에서 가장 손쉬운 방법은 설정파일을 이용하는 것이다. 설정파일을 수정하기 위해서는 해당 서버와 애플리케이션...

traefik 

물리서버를 사용 할 때, 그리고 VM을 사용 할 적에도 다이나믹한 proxy server는 그다지 필요하지 않았다. 왜냐하면 그들 물리서버와 VM이 다이나믹하지 않았기 때문이다.proxy server(특히 reverse proxy server)는 인터넷 서비스에서 가장 중요한 인프라 중 하나다. 클라이언트와 백앤드 중간에서 보안 감시자의 역할을 해주며, 트...

Let's Encrypt를 이용한 Free SSL 인증서 사용 

2017년 1월 초, 그동안 문제 없이 돌던 사이트에 경고메시지가 뜨기 시작했다. 구글이 https를 적용하지 않은 사이트에 접속할 경우 "안전하지 않음(Not Secure)" 표시를 띄워서 사용자들에게 경고하기로 결정 했다. 서비스 사용에는 문제가 없으나 기분이 좋지는 않을 테다. 어차피 해야 할 것 SSL 인증서를 올리기로 했다.몇 개 공짜 SSL을 제...

Kafka 시작하기 

메시지 애플리케이션은 어떤 애플리케이션에서 다른 애플리케이션으로 데이터를 보내는 시스템이다. 메시지 시스템은 두 애플리케이션 사이에서 전령 역할을 한다. 메시지의 전송과 수신은 메시지 시스템이 안전하게 처리해 줄 것이라는 것을 보증한다. 따라서 메시지 애플리케이션은 메시지의 송/수신 과정에 신경 쓸 필요 없이, 메시지(데이터)에만 신경을 쓰면 된다. 메시...

Kafka 소개 

카프카(kafka)는 분산 스트리밍 플랫폼(Distributed streaming platform)이다. 분산 스트리밍 플랫폼은 아래의 기능을 가지고 있어야 한다. 1. 데이터 스트림을 게시(Publish)하고 구독(Subscribe)할 수 있어야 한다. 이 점에서 메시지 큐 혹은 엔터프라이즈 메시징 시스템과 유사한 면이 있다. 1. 내결함성(장애에 대한...

Naver oAuth2 Callback Test 

을 가져왔다. Joinc 사이트는 이 코드를 이용해서 네이버 회원 서버에 access token과 refresh token을 가져올 수 있다. 아래 버튼을 클릭해 보자.Access token과 refresh token을 확인 할 수 있을 것이다. 여기에 사용한 코드는 아래와 같다. func (self Plugin) Function_navertoken(nav...

Naver oAuth2 로그인 

oAuth2는 외부 서비스에게 자신의 자원을 이용 할 수 있도록 인증과 권한을 관리해주는 시스템이다. 페이스북, 구글, 다음, 네이버등의 거대 인터넷회사들은 oAuth2를 이용해서 자신들이 가지고 있는 자원들을 이용할 수 있도록 허가하고 있다. 자세한 내용은 문서를 참고하자. 여기에서는 네이버의 oAuth2를 이용해서 네이버의 자원을 사용하는 방법에 대해서...

Mongodb 

MongoDB(이하 몽고디비)는 오픈 소스 기반의 문서 지향 데이터베이스 시스템(Document-oriented database system)이다. JSON(JSON은 아니고 유사한 BSON을 사용한다)을 사용하며 스키마가 필요 없기때문에 NoSQL 데이터베이스로 분류한다. Ad hoc 질의를 사용한다. 애드혹은 특정한 목적을 위해서라는 뜻을 가진다. 즉...

Distributed Operating System 

SaaS와 PaaS 분야(이하 SaaS로 통일)에 관심을 가지고 있다. SaaS인프라는 두 개 이상의 컴퓨터 시스템으로 구성된 클러스터링 환경에서 작동을 한다. CPU, Memory, Disk와 같은 자원을 마치 하나의 컴퓨터인 것 처럼 통합한 후, 유저가 요청 할 때 적당한 크기의 자원을 할당해서 애플리케이션을 실행한다. 이를 위해서 1. 자원을 통합 1...