星期五, 11月 09, 2012

程式專題之一:Part-1:py2exe 的小問題

經過2週和程式的奮鬥,基本上我那個程式是完成了。
但是程式是要給別人用的,所以就只好打包成exe檔。

python自己沒有compile成exe的功能。還好有人寫了py2exe的程序來做這件事。研究了一下,這位Victor寫的進階教學還算不錯,只是它打包的是程式本身,程式呼叫的DLL檔是沒打包起來的。

尤於我用的是python 2.7.2版,直接上py2exe的官網下載並且安裝。這個過程中出現了一個小插曲,py2exe的官網上直接給的是for python 2.6的py2exe,所以要再去它的下載目錄中找出for 2.7的py2exe來裝才可以。

那,程式呼叫的DLL檔要怎麼辦?只好再上網找答案。還好我是新手,新手會遇到的問題應該都不難。很快的在Frank的五四三就找到答案了。基本上在setup這個裏面要把參數設進去即可。這樣弄好,本來約200行的程式(我是新手,程式寫得很髒,行數很多,而且註解也很多),compile起來約有7M。

接著拿去別的電腦測測看,嗶嗶~~ERROR。跳出一個message說程式沒裝好???只好再拜google大神了。大神指示往pyodbc去找答案。果然,答案就在網路中。這個問題是因為py2exe不認識我import的pyodbc,必須在setup中加個options來指定,如下:
setup(
options = { "py2exe": { "includes": "decimal, datetime" } })
如果有有指定別的option了,可以用"逗號"分開。

想說,這樣應該好了吧。一執行,哇咧,為什麼又有錯誤,還有log檔給我。這次有錯誤訊息了,表示至少程式有跑到,而錯誤訊息是:
EOFError: EOF when reading a line
。還是來問Google大神吧。還好,還不是很難的問題,大神這次指示往這兒去,會遇到貴人。果然,又是個小問題,原來之前的Victor大大功力太高,都寫GUI的程式,不像小弟我的處女作只是在CONSOLE上跑。所以要把SETUP中的
window = [{'script': "python.py"}],
改成
console = [{'script': "python.py"}],

終於........
休息了,真好!

星期一, 11月 05, 2012

程式專題之一:Part-1:用python連接資料庫

這次的工作,是要連接local的資料庫,把資料庫中的資料"倒"到網頁的表格中。

有人已經為python寫好資料庫的函式了,那個叫做pyodbc。它可以操作mysql, mssql, excel及MS access。

個人大部份的程式碼抄自於這個地方。另外參考這位大大的論述。其實,pyodbc的主網頁wiki及faq也應該去看看,只是提及MS access的部份實在太少。

其實,我很偷懶的做了一些精省,主要是不想去碰sql語法,以及我要解析的資料庫竟然都用中文當欄位名稱。在python我搞中文搞很久,過一陣子再把我搞中文的心得po出來。不過,這時候只想讓程式可以跑就好,所以就把整個資料拉出來在python中處理了。

星期五, 10月 19, 2012

程式專題之一:Part-1:Python的網頁代登方法

其實,寫程式是一件事,最重要的應該是用程式解決"生 命"中的問題。

嗯,講得太噁心了。

所以,我第一步是要解決某個行政上的事,把它當作我練功的轉案。至於是什麼事,大家看看應該也可以猜出來。

然後咧,第一步要先用程式代為登入內部網頁。所以需要一個代登功能。
這個也是為什麼我要選擇Python的原因之一,因為看來看去,Python是跟著網路一起長大的,它在網路控制、網頁處理的方面之強大不是隨便講的。雖然JAVA和JAVAscript也是,但是它的語法就是有點讓我.......無法理解 [我知道,我很笨] [畫圈圈]

至於要怎麼做,最簡單的是import cookielib, urllib2進來就是了。
詳請可以看這個:
http://arccos.blogspot.tw/2008/10/python.html

如何,夠簡單的吧!!

星期二, 10月 16, 2012

開始寫程式的第一步

終於考過資格考了![灑花、轉圈]

所以,要開始做專題了
但是,我沒錢沒人沒時間,怎麼做呀!![畫圈圈]
有些事可能還是要自己做吧 [握拳]

還記得上次講的,

寫程式全民運動 ??

所以,我也要開始寫程式啦!!
我挑到的主力語言是:

PYTHON

為什麼?
因為它和BASIC比較像!阿我只會BASIC呀 [淚奔]

不管啦,反正先完成環境的設置。
先到Python官網下載Python 2.7。因為Python 3的語法和2.7完全不同,而網路上大部份的資料還是在2.7以前,所以個人小弟不才我建議還是從2.7開始使用。

好,那寫作環境咧?
Python 似乎有自帶一個編輯器,但是實在很陽春。上次交作業時我用的還是notebook吧。後來我都建議使用RJedit,沒辦法,ultraedit要花錢買。

最近在"胖虎的祕密基地",發現他用的是PSpad,詳細教程可以看這兒,好像之前也用過,只是因為他的排序功能不夠強悍所以放棄。這次試用的結果,嗯,很滿意,它可以直接呼叫python來執行程式碼。然後回報一些執行後的訊息。還不錯用喔!

就這樣。

星期三, 9月 19, 2012

健保核刪之~~我真的有認真把關

還沒第四季,我的"實體"桌面已經被第二季的健保核刪淹沒了。

這次有什麼"值得學習"的地方呢??

其中一本,小扣了0.15%,真是謝主隆恩呀:


不過,這是啥?第一次看到代碼0333A的。
代碼0333A是啥?還好下面有說明,不然Google大神好像也不知道說。
0333A:使用藥量過少,不符醫療常規或有礙醫療品質。
啥,我拿到的是健保局的申覆嗎??不是醫策會的??

回頭查病歷,原來是肺癌病患因肺炎住進加護病房,BAL証實有培養到Acinetobactar Baumannii。接下來,感染科沒給後線藥之前,先用Subacillin治療(含Sulbactam),後感染科醫師建議用Meropenem+Sulbactam,當然就是換過去了。

所以健保局給我們的教育是:隨時隨地要"急"會感染科使用後線藥物治療,要deescalation,以免病況變化,escalation用藥後,前一個藥因用藥量過少被核刪。

謝主隆恩!!

星期三, 9月 12, 2012

雲端空間,不只我們,他們也在趕潮流

雲端,是近兩年最夯的資訊名詞。但是什麼是雲端?我們又是怎麼使用雲端?而雲端的安全性又如何?

不管怎樣,雲端看來最有商機的“雲端空間”在DropBox做起來之後,加上兩大巨頭Google及Micro$oft殺進這個領域,已經變成了血流成海的紅海了。所以,BOX及iDrive也跳下來做這一塊了。

原來box的服務,只提供線上儲存,前一陣子透過同公司、手機服務等等的,把免費空間上推到50G。但是要做到即時sync磁碟機中的一個資料夾,則是付費方案才有的。傳說5月起,陸續有網友收到免費的box sync的通知,看來是不敵幾個大咖的雲端空間而為了巿佔做出的妥協吧。前幾天我打開box的網頁要上傳資料時,也突然出現了這樣的畫面。事後再去翻email,其實更早一些時候它也寄信通知我可以免費免升級就下載box sync的程式使用。


至於box sync要如何用,大家Google一下就可以找到,像這兒這兒還有這兒以及這兒都有介紹。

另外一個服務公司,iDrive,是我最中意的異地備份服務。由於在本地端就做好128bit的加密動作,保証iDrive遠端的工作人員,就算拿到你的檔案,也沒有能力在有限時間內解密還原。不過,我好像沒多少真的要這樣備份的“機密”資料說。

不過,它很好心的,也很不干寂寞的跳入雲端儲存的行列來。它在本月(2012-Sep)推出了一樣的雲端儲存空間服務,iDrive Sync,一樣也有本地端sync的程式和功能。小弟我註冊後,它不只免費給了5G,竟然5天後又發一封mail說,再加碼5G。

這個做法和iDrive在提供異地備份一樣,先給個5G,事後再加10G。只是這次小氣了點,只有5G,不過,同樣的可以透過介紹他人拉下線賺空間。

有人說,夠大容量的免費雲端空間,有一個就夠了--現在Box Sync提供了50G的空間來用,所以我推薦它。也有人說,好用最重要--在程式的穩定性和功能性,我推薦SugarSync。因為每次我改檔名或資料夾名字時,DropBox都要給我閃好幾次,尤其是新建資料夾時。Google的Skydrive也有類似的問題。


所以,現在我所擁有的雲空間升級到:

SugarSync:19.0G
DropBox:26.8G
------------以上是已安裝Client端程式,且常用的,計約 45.8G

iCloud:5G
GoogleDrive: 5G
iDrive:10G
CloudBox:12G
SkyDrive: 25G
NDrive: 30G
Box.net:50G
------------以上是不常用,但曾安裝過Client端程式,計約 137G
合計約 182.8G。應該用不完了~~~累

//for syntaxhighlighter 3 //看一下載入的JS模組有哪些,不要的就刪掉 //end syntaxhighlighter 3