앞서 멀티프로세스 서버를 구현하였으나, 멀티프로세스 서버는 클라이언트 연결요청이 있을 때마다, 새로운 프로세스를 생성하는 기법으로, 상당히 많은 양의 연산이 요구되고, 필요한 메모리 공간도 비교적 큰 편이다.

 

따라서 프로세스의 생성을 동반하지 않고, 다수의 클라이언트들에게 서비스를 제공할 수 있는 방법으로 나온 것이 멀티 플렉싱기법이다.

 

멀티플렉싱은 물리적 장치의 효율성을 높이기 위해 최소한의 물리적인 요소만 사용해서 최대한의 데이터를 전달하기 위해 사용하는 기술이다.

 

기존의 자식프로세스를 생성해서 서비스를 하는 멀티프로세스 서버와는 달리,

 

멀티플렉싱개념을 사용하면,

 

자식프로세스가 각각의 소켓을 처리하는게 아니고, 서버하나가 각각의 소켓에 대한 서비스를 제공하는게 멀티플렉싱의 개념이다.

 

멀티플렉싱과 멀티프로세스의 차이는 서비스를 제공하는 프로세스 갯수의 차이가 각각 한개와, 클라이언트수만큼이라는 것이다.

 

 

멀티플렉싱 서버를 사용하기 적합한 경우.

1. 클라이언트와 서버간의 송수신 데이터 용량이 작은 경우 적합
2. 송수신이 연속적이지 않은 경우에 적합 
3. 멀티 프로세스 기반에 비해 많은 수의 클라이언트 처리에 적합


 

'Programming > Socket' 카테고리의 다른 글

Select 함수  (0) 2012.05.16
로그파일을 남기는 서버  (0) 2012.05.14
클라이언트 IP 가져오기  (0) 2012.05.14
멀티프로세스 소스  (0) 2012.05.10
멀티프로세스 서버  (0) 2012.05.08

 

노트에 적혀있는 글자를 보니 왠지 2칸씩 밀리는 시저사이퍼가 생각이 난다. 그래서 파이썬을 공부하고 있지만.....약간의 편법으로

 

 

ㅋ...출제자는 손으로 푼건아닌지 걱정하는데 손으로 푼건아니니까 그래도 친절하게 string.maketrans를 사용하라고 추천해준다.

maketrans를 조사해보니 테이블맵에 맞게 문자열을 변환해주는 함수라고 한다. 역시 파이썬은 없는게 없는듯...

http://taesun1114.tistory.com/entry/Python-Method 

 

사용법대로 따라서 해보자.

 

답이 나왔다. url에도 시저사이퍼를 적용해보라고 한다. map -> ocr

 

 

'Programming > Python' 카테고리의 다른 글

Python Challenge 4  (0) 2012.05.23
Python challenge 3  (1) 2012.05.23
Python challenge 2  (0) 2012.05.23
Python challenge 0  (0) 2012.05.15
Python Method  (0) 2012.05.15

 

python 스터디를 하던 도중 이 사이트를 추천해주었고, 과제로 문제푸는게 나옴.

 

첫단계를 보자마자 C와 달리 저런 숫자를 넣어도 오버플로우가 발생하지 않고 값이 잘나온다고 홍보하는것 같았지만 문제니까...

 

>>>2**38 2의 38 혹은  >>>pow(2,38)을 하면

 

간단하게 URL에 값을 넣고 다음단계로 넘어가자

 

 

'Programming > Python' 카테고리의 다른 글

Python Challenge 4  (0) 2012.05.23
Python challenge 3  (1) 2012.05.23
Python challenge 2  (0) 2012.05.23
Python challenge 1  (0) 2012.05.15
Python Method  (0) 2012.05.15

+ Recent posts