파이썬으로 구현하는 스트림리더

파이썬에서 파일의 내용을 읽어와서 처리할 때 가장 기본적인 방법은 opne() 함수를 이용해서 파일 객체를 만들고, read() 메소드를 이용해서 파일의 전체 내용을 한 번에 읽어오는 것이다. 그런데 많은 경우에 실제로 다루는 파일은 텍스트포맷인 경우가 많다. 텍스트 포맷을 다룰 때에는 다음과 같은 몇 가지 전략이 존재한다. read()를 이용해서 파일의 전체 내용을 읽어와 하나의 문자열로 사용한다. readlines()를 이용하면

ZMQ – Poller 사용하기

PUB-SUB 패턴이나 PUSH-PULL 패턴을 사용하면 데이터를 발생시키는 1개 (혹은 여러 개의) 노드로부터 데이터를 전달받는 N개의 노드들이 돌아가는 방식의 네트워크를 구성할 수 있음을 지난 글에서 보았다. 이 때 각각의 클라이언트 노드들은 루프를 돌면서 큐에 들어온 메시지를 순서대로 처리하게 된다. 만약 개별 클라이언트가 한 번에 처리해야 할 메시지의 최대 개수가 정해져 있다면 while 무한 루프가 아닌 for

파이썬 연습문제 – 누워있는 드럼통에 들어있는 기름의 부피

반지름이 R cm이고 높이가 H cm 인 드럼통에 기름이 들어있다. 이 드럼통 내의 기름의 높이가 A라 할 때 기름의 부피를 구하는 것은 원기둥의 부피를 구하는 것이므로 그리 어렵지 않다. 그런데 드럼통이 세워져 있지 않고 수평으로 누워서 설치되었을 때, 기름의 높이가 B 이면, 이 때 드럼 통 내의 부피를 계산해보자. 간단한(?) 적분 문제인데, 여기서는 구분구적법을 적용해서

ZMQ – 그외 메시징패턴 구현하기

Publisher 패턴 – 단방향 브로드캐스팅 ZMQ를 이용한 소켓 네트워크 프로그래밍에서 두 번째로 소개되는 메시징패턴은 바로 Publisher vs Subscriber이다. 일전에 소개한 Request vs Response 패턴은 전통적인 메시지 교환의 방식으로 서버와 클라이언트가 서로 한 번씩 메시지를 주고 받는 식으로 통신하는 방식이었다. 또다른 메시징 패턴인 Publisher vs Subscriber는 다음과 같은 특징을 갖는 메시징 패턴이다. 서버는 퍼블리셔(Publisher)가 되어 일련의

ZMQ의 메시지 패턴

ZMQ의 기본 개념을 다루면서 ZMQ에서는 몇 가지 코어 메시징 패턴이 있다고 언급했다. 이 중에서 REQ-REP 패턴에 대해서는 에코 서버를 구현하면서 소개하였다. 이 글에서는 ZMQ 메시징 패턴에 대해 각각의 예시에 대해서 언급해보겠다. REQ-REP 패턴 REQ-REP 패턴은 전형적인 서버-클라이언트 통신에 사용될 수 있는 패턴이다. 클라이언트 -> 서버로 요청이 전송되고 다시 서버 -> 클라이언트로 응답이 전송된다. 이미 이전글에서