發表文章

[Python] ServerSocket

最後這篇來講server socket在python上最後一個也是最方便的module Python SocketServer:  http://docs.python.org/2/library/socketserver.html 官網算是有一些範例, 而且網路上也有一隻影片有簡易教學 youtube 英文教學:  http://www.youtube.com/watch?v=OU7AWyw8MfI 基本上SocketServer是大幅簡化了我們要寫Socket Server的module, 他基本支援四種server classes TCPServer, UDPServer, UnixStreamServer, UnixDatagramServer

[Other] About open virus file

由於工作常接觸到很多病毒的文件, 用自己電腦開當然會很危險 雖然工作平台是Linux, 幾乎不太會有問題, 但是也會導致就算有病毒也看不出來 用單一防毒軟體測也是不可靠, 但是防毒軟體百百種, 自己要測試有點困難($$$) 國外有一網站, 可以幫你的單一檔案做相當大量的安全檢查(要小於32mb) 為了要安全一點開文件, 建議大家看到有懷疑的文件的時候, 先丟上這裡檢查, 都過的話至少會安心一點 VirusTotal:  https://www.virustotal.com 甚至熟悉這行的, 因為大多檔案都會做成 sha256, 可以安裝 chrome plugin, 直接右鍵複製搜尋 https://chrome.google.com/webstore/search/virustotal?hl=zh-TW&utm_source=chrome-ntp-launcher

[Python] Threading Socket Server

上一篇介紹了怎麼簡單的建立一個daemon server 這裡開始講述一些比較複雜的運用 thread或許很好用, 但是python也提供了一個threading module來幫助大家更方便使用thread python threading:  http://docs.python.org/2/library/threading.html 因為要做daemon server, 我們必須為每一個thread都建立一套機制流程, 而可能會有怕race condition, 或者是會有不同的client有不同的需求, 需要特別寫很多function來去加強功能需求, threading module可以很容易的讓你達到這件事情

[Python] Simple Socket Server

最近要利用Python來monitor一些東西, 需要做個telnet daemon 特地寫一下如何用 python 做一個 socket server 這個我當初到是真的花了不少時間找尋資料, 發現有兩種方法, 一種是比較傳統的 socket 然而 python 也有做一個 module - SocketServer, 可以簡化不少自己用 socket 做 server 的麻煩 不過 client 端當然還是要用 socket 自己做 官方文件 Socket:  http://docs.python.org/2/howto/sockets.html 網路上有很多教學, 這裡到是有一個不錯的英文教學:  http://www.binarytides.com/python-socket-programming-tutorial/

[Python] *args and **kwargs

這次來紀錄一個我以前剛學python的時候很容易一頭霧水的 - *args and **kwargs 其實python的tutorial網頁都有教學, 只是我都是用到才會去查 不過這次這東西還滿重要的(默.....) Ref:  http://docs.python.org/dev/tutorial/controlflow.html#more-on-defining-functions 來看網頁的範例 def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while True: ok = input(prompt) if ok in ('y', 'ye', 'yes'): return True if ok in ('n', 'no', 'nop', 'nope'): return False retries = retries - 1 if retries < 0: raise IOError('refusenik user') print(complaint) 這是個很一般的function, 很單純的parameter, 有prompt, retries, complaint, 也有設定預設值, 看起來很美滿

[Python] Python decorator

python decorator, 一個相當方便而且相當重要的工具, 我trace很多python都會用到此功能 官方網站說明:  http://www.python.org/dev/peps/pep-0318/ 有一篇中文教學也很詳盡 http://blog.roodo.com/descriptor/archives/9206319.html 這篇教學跟我看的來源一樣是Bruce Eckel寫的教學, 其實英文好的看他寫的就夠了, 我只是比較囉唆的翻譯 http://www.artima.com/weblogs/viewpost.jsp?thread=240808

[Python] OptionParser [basic] (Python v2.7 已被移除)

Python v2.7 已經移除此功能, 請改用 argparse 另外一個寫程式很常使用的就是手動輸入參數了, python有個很好用的叫做 OptionParser 官方說明 OptionParser:  http://docs.python.org/2/library/optparse.html 宣告很容易, 只要記得import OptionParser就好 from optparser import OptionParser optParser = OptionParser() 再來就是設定, 例如我需要輸入參數"-f", 其type為string, dest為"fp", help為"specitfy file path" optParser.add_option("-f", type = "string", dest = "fp", default = "/home/hh/tmp", help = "specitfy file path [default: /home/hh/tmp]")