'Python'에 해당되는 글 1건

  1. 2008.02.20 [언어] 파이썬의 아름다움 (6)
五感의 方向2008.02.20 13:55

 회사에서 라이브 서비스를 담당하다보니, 게임 서버 로그나 text 데이터들을 자주 다루게 됩니다.  특히 로그 같은 경우엔 원하는 정보들을 뽑아내려면 파싱은 필수입니다. 수많은 로그들 사이에서 해당하는 것들만 골라내고 그 정보들을 가공해야만(뭔가 거창하군요;;) 원하는 걸 볼 수 있죠.

 간단한 파싱이 필요할 때에는 파이썬을 애용하는 편입니다. 가벼운 것도 있고 따로 컴파일을 하지 않아도 될 뿐더러 string 처리도 편하죠. 무엇보다 좋은 점은 결과 코드가 깔끔하다는 점입니다!

 오늘 작성한 프로그램은 "특정 디렉토리 내에 있는 모든 로그 파일 중에, 로그로 남아있는 어떤 값의 max를 찾는 프로그램" 입니다. 경로는 command line argument로 받는데, 디렉토리가 아닌 파일인 경우 그 파일에 대해서만 구하도록 했죠. 한 15분정도 뚝딱뚝딱해서 파싱 함수를 만들고, 이제 어떻게 하면 디렉토리를 뒤지면서 각 파일에 대해서 함수를 수행할지를 고민하다가, 이런 구문을 만들게 되었습니다.

 ...만들어놓고 보니 너무 깔끔하더군요. 비록 제가 프로그래밍 초보이고 파이썬 초보라서 이정도밖에 안되지만, C/C++, JAVA 등에 비해서 훨씬 깔끔하고 의미가 분명한 코드가 나왔습니다. 과장 좀 보태서 아름답기까지 합니다.(...제가 잘 짜서 아름답다라는 게 아니라 이런 표현이 가능하다는 것이 ) 그나마 가장 자신있어하는 C++로 구현하려면 최소 20~30 줄은 짜야할텐데, 파이썬으로는 단 6 줄만에 끝나버렸습니다.

 물론 제가 아는 언어가 극히 한정되어 있고(한번이라도 건드려본 언어는 C/C++, JAVA, Python, nML, PHP, VHDL, Verilog 정도 되겠군요;) C#이나 Ruby 등 최신[?] 언어를 모르기 때문에, 이걸 보고 "헐, 겨우 이정도로 아름답다라고 하는거야?" 라고 하실 분들이 있을 지 모르겠네요. 있으시다면 자신이 좋아하는 언어로 같은 구문을 작성하여, 언어의 아름다움을 자랑하는 한편 제게도 깨우침을 주시면 감사하겠습니다 :$
(개인적으로 Ruby나 Perl, C# 등이 기대되네요. ^^;)



ps. ipkn 님의 조언에 따르면, 이런 방식도 가능하군요.

Posted by 飛烏