이 글은 파이썬 언어로 작성한 프로그램을 C/C++ 언어로 변환할 수 있을까? 하는 물음에서 시작되었다. 파이썬 언어의 장점도 많지만 속도가 느리고 메모리 사용량이 많다는 단점, 그리고 소스코드 배포로 인한 보안성 취약 등을 언급하는 사람들이 있다. 물론 파이썬 소스 코드를 배포하지 않고 컴파일한 파이썬 바이트코드(*.pyc)로 배포하는 방법이 있지만, 이것 또한 바이트코드 디컴파일러(예, https://github.com/rocky/python-uncompyle6/)를 사용하면 주석을 제외한 대부분의 코드를 복원할 수 있다. 파이썬 소스 코드를 보호하는 다른 방법 중의 하나는 코드를 읽기 어렵게 만드는 난독화(obfuscation)를 수행하는 것으로 도구를 사용하여 함수 이름이나 변수명을 거의 읽기 어..
파이썬 프로그래밍의 장점 중의 하나라면 다양한 라이브러리가 공개되어 있어 필요에 따라 적절하게 설치해서 손쉽게 활용할 수 있는 것이다. 그렇지만, 내가 직접 개발한 것이 아닌 블랙박스와 같은 것이므로 라이브러리에서 문제가 생기면 황당할 수밖에 없다. 필자가 경험한 사례는 다른 옵션을 사용할 때는 문제가 없던 프로그램이 gevent 라이브러리를 사용하는 웹서버를 가동하면 위의 그림처럼 CPU 사용도가 급격하게 올라가는 것이었다. 클라이언트 요청이 많아서 웹서버가 할 일이 많았다면 그럴 수도 있겠다 싶지만, 현재 상황은 아무런 요청도 없는 상태로 CPU 로드가 올라갈 이유가 없다. CPU 로드를 엄청 먹고 있는 프로세스의 PID를 메모한다. (volttron) ubuntu@ubuntu:~/volttron$ ..