본문 바로가기

개발63

Apache Beam, Apache Airflow, Apache Atlas 설명 Apache Beam Apache Beam은 data processing pipeline을 정의할 수 있는 오픈소스 프로그래밍 모델이다. Apache Beam은 배치 프로세싱과 스트리밍 프로세싱을 모두 지원한다. Beam에서 pipeline을 정의한 후, Beam이 지원하는 Runner들(Spark, Apex, Flink, Google Dataflow) 중 하나를 사용하여 데이터를 처리하는 방식으로 각각의 Runner들을 사용하는 방법을 몰라도 Beam만을 사용해서 데이터를 처리할 수 있다. Apache Beam은 Dataflow model paper를 따라 개발되었다. 여기서 Dataflow Model이란, 제한이없고 정렬되지않은 데이터셋들을 처리하기 위한 데이터의 관리 및 처리 프레임워크이다. 최근에.. 2020. 3. 30.
Apache vs NginX vs Tomcat Apache와 Nginx와 Tomcat 모두 유명한 Webserver framework들이다. 이 세가지 framework들을 간단하게 비교해보겠다. 비교는 Apache를 기준으로 하겠다. Apache는 가장 오래된 Webserver framework들 중 하나로서, 모듈을 기반으로하는 구조를 가지고 있기때문에 커스터마이징이 자유롭다. 관리자들은 모듈들을 사용하여 새로운 기능들을 쉽게 도입할 수 있다. 또 .htaccess 파일을 편집하여 쉽게 설정을 바꿀 수 있다. Apache Tomcat은 이름에서 알 수 있다시피, Apache를 개발한 개발사에서 만든 webserver이다. Tomcat의 가장 큰 차별점은 JAVA 어플리케이션을 위해서 만들어졌다는 점이다. Tomcat은 JVM이나 다른 JAVA 관.. 2020. 3. 30.
Docker와 Nginx 포트 포워딩 사이트에 ssl을 적용하지 않으면 안되는 상황이 많아지면서 nginx에서 요청을 받아 ssl을 풀고 실제로 요청을 처리하는 docker container로 전달하는 경우가 많아졌습니다. 작업을 하다가 이와 같은 경우에 어떻게 해야되는지를 정리해보았습니다 아래는 docker container들을 관리해주는 docker-compose.yml입니다.ㄷ //docker-compose.yml version: '2' services: janus-gateway: image: janus-gateway environment: - DOCKER_IP=${DOCKER_IP} nginx: image: nginx:1.14.2 container_name: nginx ports: - "8088:8088" volumes: - ./ng.. 2020. 3. 20.
Janus screen sharing 만들기 Janus의 official page에 있는 데모 페이지 소스코드를 읽어보다 official documentation에는 없는 내용이 있어서 기록함. Send에 plugin으로부터 response가 왔을때 성공여부에 따른 callback을 호출할 수 있다. 데모 페이지 소스 코드의 일부: screentest.send({"message": create, success: function(result) { var event = result["videoroom"]; Janus.debug("Event: " + event); if(event != undefined && event != null) { // Our own screen sharing session has been created, join it room .. 2020. 3. 19.
[Django 공식문서 번역] Class-based Views - 1. Introduction 이 글은 본인이 공부를 목적으로 공식문서를 읽으며 정리/번역한 글로서 오역이 있을 수 있을 수 있습니다. 또한 본인이 이미 알고 있거나 불필요하다 느끼는 내용들은 누락될 수 있습니다. Class-based view는 view를 함수가 아닌 파이썬 객체로 구현할 수 있는 하나의 방법이다. Class-based view는 function-based view를 대체하지는 않지만 그와 비교하여 차이점과 장점이 있다. - HTTP method(GET, POST, etc)에 따른 코드를 conditional branching(IF)를 하지않고 별도의 메소드로 분리 할 수 있다. - 객체 지향 테크닉들이 사용될 수 있다. Using class-based views from django.http import HttpR.. 2020. 3. 18.
[Web Server 이해하기] Apache vs Nginx Apache Apache는 MPM(Multi Processing Module)이라는 방식으로 처리를 하는데 대표적인 방식으로 Prefork와 Worker방식이 있다. - Prefork MPM: 실행중인 프로세스를 복제하여 처리한다. 각 프로세스는 한번에 한 연결만 처리하고 요청량이 많아질수록 프로세스는 증가한다. 하지만 프로세스를 복제하는 것이므로 메모리영역까지 복제되어 동작하기 때문에 메모리 공유가 없어 안정적이다. - Worker MPM: Prefork방식이 1개의 프로세스가 1개의 스레드로 처리가 되었다면 Worker 동작방식은 1개의 프로세스가 각각 여러 쓰레드를 사용하게 된다. 쓰레드간의 메모리를 공유하며 PreFork방식보다 메모리를 덜 사용하는 장점이 있다. Apache vs Nginx Ng.. 2020. 3. 18.