Twisted로 MSN 접속하기

[WWW]Twisted는 그동안 말로나 들어 왔지, 무지 복잡하고 어렵다고 해서 접근도 안 하고 있었는데, 요즘 Twisted의 매력이 흠뻑 빠져서 헤엄치고 삽니다. 이히히. ㄴ(:D)ㄱ へっへっへっへっ 어푸어푸~~

Twisted MSN!

Twisted안에 twisted.protocols.msn에서 MSN 프로토콜을 지원하고 있기에, 그래 [WWW]SugarCube에 MSN 지원이나 넣어볼까 하는 생각에 한번 해 봤는데, 생각보다 매뉴얼이 구현 자체 위주로만 되어있고, 사용하는 것에 대해서는 문서화가 되어있지 않는 바람에 어떻게 하는지 알기가 힘들었습니다. 게다가, 유닛테스트에도 코드가 상당히 들어있는데, 이게 네트워크 프로토콜 코드를 테스트하는 것이다 보니, 전혀 실제 사용하고는 다르게, 부분 부분을 단편적으로 가짜 입력을 넣어서 처리하는거라, 실제로 어떻게 쓰는지 상상하기가 힘들었다는.. 으흐흑. 한 3시간 삽질 끝에, MSN에서 대화하는 방법을 알아냈습니다; 원래 있는 msn_example.py에는 그냥 notification까지만 접속이 되는데 switchboard까지 해서 대답하도록 해 보았습니다. [WWW]소스

Twisted 소감은?

Twisted는 아무래도 크게 할 작정을 하고 만든거라 Medusa와는 완전히 다른 방식이었습니다. 비동기 뿐만 아니라, 쓰레드 스케줄링도 어느 정도 조절이 가능하고, deferred 모델이나, factory, interface-adapter 모델 같이 소스 코드 유지 보수성을 위한 여러가지 도구들을 많이 갖고 있어서 작은 프레임웍 위에서 직접 다 만드는 방식에 비해, 디자인 상 포용력을 넓혀서 “이 산이 아닌게벼!” 하고 느껴질 때에도 다른 산으로 쉽게 옮아갈 수 있는 능력이! 그런데, 좀 아무래도 진입 장벽이 높은 편인데, 입문용 매뉴얼 “The Evolution of Finger”가 아주 잘 쓰여 있어서 입문의 문제점도 어느 정도 극복한 것 같습니다.

5 thoughts on “Twisted로 MSN 접속하기”

  1. 안녕하세요 ^^ 파이썬에 관심있어서 자주 들리는 사람입니다. 위에 올려주신 소스가지고 가볍게 장난쳐봤는데 꽤 재미있네요. 일단 Twisted는 좀 살펴봐야겠지만, 재밌는걸 가르쳐 주셔서 감사! 🙂

  2. 아아.. POE가 그런 역할이었군요. 포트 깔면서, 엄청나게 깔아대길래 뭔가 궁금했는데;;; perl은 패키지가 너무 세분화가 되어있어서 한편은 좀 불편하기도 한 듯 해요~. 깔기가 쉬워서 나눈 것 같긴 하지만서도요.. 🙂

  3. Twisted를 예전에 자바 서블릿 같은것을 파이썬으로 만든게 없나? 하고 뒤질때 봤었는데.. 기능이 상당히 강력하지만.. 친숙하게 다가가기 힘들더군요^^.. (결국은 WebWare를 찾았죠..)

Comments are closed.