맨먼스 미신(The Mythical Man-Month)
부끄러운 일이다. 이 유명한 고전을 이제야 읽었다. 한국어 번역서가 뒤늦게 나온 것을 핑계로 삼고 싶지만, 번역서도 2007년에 나왔으니 핑계로 쓰기 마땅치 않다. ...
부끄러운 일이다. 이 유명한 고전을 이제야 읽었다. 한국어 번역서가 뒤늦게 나온 것을 핑계로 삼고 싶지만, 번역서도 2007년에 나왔으니 핑계로 쓰기 마땅치 않다. ...
프로그래머는 자신만의 라이브러리 또는 프레임웤(이하 라이브러리만 표기)를 갖춰야 한다는 이야기가 있다. 경력이 쌓인 개발자라면 효율을 높이고 자신만의 무기(?)를 갖추기 위해서 필요하다는 것이다. ...
PHP는 웹에 특화된 언어다. 그렇게 때문에 애플리케이션이나 시스템 프로그래밍을 할 때 필요한 기능이 부족하다. 하지만 서비스를 만들다 보면 서버(데몬)처럼 웹을 벗어난 것이 필요 할 때가 생긴다. 이럴 때는 아파치(Apache)나 crond를 이용해 문제를 해결 할 수 있다. 그러나 아파치나 crond를 이용한 방법은 어느 정도 한계가 있기 때문에 경우에 따라 해결책이 되지는 못 한다. 이런 경우 백그라운드로 동작하는 데몬을 만드는 것이 깔끔하다. 데몬을 만드는 방법은 널리 알려져있기 때문에 거기에 맞춰 코드를 작성해도 되지만, 굳이 바퀴를 다시 발명 할 필요는 없을테니 System_Daemon PEAR 모듈을 이용하면 된다. System_Daemon 모듈을 사용한 간단한 예제를 우선 살펴보자. ...
멀티 프로세스끼리는 멀티쓰레드처럼 직접 변수에 접근하기 어렵기 때문에 공유 메모리 등과 같은 IPC를 이용해서 데이터를 주고 받는데, 복잡하고 다양한 기능이 필요없다면 메모리맵을 통해 서로 간단히 데이터를 공유 할 수 있다. ...
pthread를 사용하는 멀티쓰레드 데몬이라면 pthread_mutex_lock()을 사용해 잠금을 할 것이며, 멀티프로세스 데몬이라면 세마포어를 사용 할 것이다. ...