2014年2月5日 星期三

pyqt designer 初體驗

放了一個年假,總算是有點心情來搞跟程式有關的東西了 ˙ˇ˙   這次呢~我是嘗試著把之前做的imageDisplayer改成dark theme,功能還是一樣並沒有增加就是了:P 我只能說QT,真是讓人越用越愛阿,真的是一個很強大的library,他支援很強大的客製widget的功能,從官方網站的文件說明即可體會到這點,想到以前我在嘗試著用windows api去寫一個小小的GUI程式就搞了很久,要查很多api文件,而且那時候我還不知道怎樣去custom widget呢,舉例來說,把scroll bar改成很漂亮這樣,而不是一個很普通的樣子,從我給的連結應該就可以看出我要說的是什麼意思了。

另外很特別的一點,QT他是使用css來改變GUI widget的外貌的,這點還真的是非常方便,從連結可以看到,你可以把scrollbar的上下箭頭改成其他圖案,或者是讓其不要顯示,上下箭頭的部分是這樣的 QScrollBar::up-arrow, QScrollBar::down-arrow 你只要設定他的background:none就會讓箭頭消失了,QScrollBar::handle則是中間那個長方形,你當然也是可以隨意改變他的樣子,剩下的我想官方說明已經非常清楚就不一一拿出來說嘴。

不過目前我也是第一次用qt designer來做介面,另外我在實作時發現他好像有BUG,照理說這種WYSWYG,成品做出來後應該是不會差太多才對,不過很神奇的是,我用了Gridlayout去安排位置,結果我的button和lineEdit的位置都跑掉了...一整個滿神奇的,我為了搞這個搞了很久一再重複拉來拉去(感覺不太好拉阿sigh),然後再把ui檔compile到py檔,最後再看成品的UI位置,結果怎麼調都沒辦法,就暫時放下來了:P 因為目的也算是達到了,只是想要體驗custom widget的功能而已。

QT實在還有太多地方可以去鑽研,只是目前還有八個月役期的我,最多也只能利用放假來寫code了~

不知道是否各位寫code時,也會利用音樂增加寫code的動力 :P

 

PS:太久沒碰,總是需要動力來幫助的

2014年1月31日 星期五

介紹一本不錯的javascript的書

目前仍然處於軍中,說實話回到家沒多少心情寫code,實在慚愧,於是乎小弟我轉換個用功方法,就是看看書囉~ 我目前在看的書是 eloquent javascript ,看了幾章,覺得他講解的十分清楚,而且他的定位是把你當成一個程式新手 :P

前幾章我是看的十分之快~  畢竟都有一些基礎了.. 但是我不知道有沒有漏看什麼重點 :)
目前我閱讀英文書的速度並不快,要是一加快速度老是會有地方,不是那麼懂,真不知道什麼時候可以練到跟看中文書一樣的速度。

好啦 :) 回到正題,說一下這本書的教學安排
基本上
前四章,是把JS裡面的基本資料型態介紹給你知道。
第五章,跟你說說例外處理。
第六章,就是最近夯起來的function programming,裡面介紹一些基本概念這樣。
第七章,這個如果你真的是一個新手(剛碰程式語言),這章可以跳過,因為這裡面有關於path-finding(演算法的東西) ,沒學過的會一個頭兩個大 :P
第八章,則是講在JAVASCRIPT怎麼寫出物件導向的方法,多半是用到prototype拉 :P
第九章,是講模組的方面,只是關於JS,他並不像其他語言有模組系統,不過這邊我也沒過多摸索,就不講太多了 :P
第十章,regular expression,很值得練的東東,建議可以看熟一點
第十一章,講一些關於http和web比較瑣碎的東西,想是protocol阿,webpage的post和get等
再來後面還沒看~

基本上我是不會寫每章的心得,因為這本書我是把它當作休閒看看,沒有打算精讀 :P 但是這樣略讀後,我是真心推薦新手可以看這本書,會學到很多東西的~~

最後小小的期許 :) 希望過些日子可以取回寫code的心,即使在軍中心有多累,周末回到家仍然會有心情寫code :p

2014年1月2日 星期四

python wsgi 初體驗~

最近終於稍微將上進的心,慢慢抓回來了 : ) 所以特別來寫一篇,雖然質量可能沒說很好,但總也是一個進步,好了,回到正題,其實是最近開始對python的django 感到有點興趣 :P

我照著官方的教學,跟著一步一步慢慢做,在其中赫然發現,有個東西叫做wsgi,那時我突然覺得奇怪,怎麼這東西似曾相似,於是我果斷就搬出我最會的技能( google it ),哈哈,原來python標準模組裡就有這種東西,難怪會有熟悉的感覺,看過wiki介紹後,才知道這是python所定出的一個interface,wsgi千萬不要硬記阿! 看過他全名後就很容易記起來 web server gateway interface,簡言之,它只是一種application和server間溝通的介面這樣,想要看更加詳細的解說,可以看看這個 網站,說得滿詳細的。


跟往常一樣就先來個測試範例吧

from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server
from wsgiref.validate import validator


def simple_app(environ, start_response):
    setup_testing_defaults(environ)

    status = '200 OK'
    headers = [('Content-type', 'text/html; charset=utf-8')]

    start_response(status, headers)

    ret = '<script>alert("hello world")</script>\n'.encode('utf-8')
    return [ret]


validator_app = validator(simple_app)

httpd = make_server('', 8000, validator_app)
print('serving on port 8000')
httpd.serve_forever()

其實關於我給的那個網站,就有對於參數詳細的說明,或者去官方網站看也會得到解釋的,所以在這我就不會特別說明了 :P (其實是有點懶XD

start_response就是將http的status和header傳給server,想當然爾,傳完了initial資訊,就要接著傳內容,這邊有個特別的地方那就是回傳的值(內容)! 似乎必須要是iterable的值,以我的python版本,如果只是單純回傳bytes物件會發生錯誤,因此我才會用list。再來就是python強大又好用的地方了,他很貼心,有做個小型Server可以讓我們測試結果,而不用再去安裝其他server,還要去做相關設定....。開啟localhost:8000後,就會跳出一個視窗上面寫著hello world囉~ 顯而易見的答案對吧。


另外關於ret你是可以改成讀取index.html檔案,然後encode後再回傳,這樣做的話,就更有server的FU吧 :) 我想django大概也是利用類似的做法,不過django也說了他是一個架構,而非server,所以自附的server僅供測試方便,要發佈網站時,還是用專業的server比較好。

2013年12月7日 星期六

在航技一個月的心得

基本上這篇大概又是一篇抒發心情的文章了吧 :)  原本我以為我已經習慣了這邊的生活了,和我所在的單位裡面的長官,有慢慢熟悉了,每天的時間都過得非常快,因為每天都有事情做,時間自然流逝的快,但是! 就在最近發生了一件事,讓我和我同學十分不爽。

事情是這樣的,基本上我們吃完晚餐後,由於遵守"節能省碳定律",路燈是幾乎沒再開的,很好這代表什麼事呢? 我走在路上基本上看到人都是一團黑影,我和同學就邊走邊聊天的回到宿舍,你一定在想有什麼事情發生嗎? 沒錯,我和那位同學就和往常一樣平安的走回宿舍,基本上是沒什麼事情發生的,但是在晚點名的時候,事情開始了,我們的管理幹部跟我和那位同學說,我們被投訴沒禮貌! 記你們點有沒有問題? 我們倆整個感到意外,但是嘴巴是自然反應的說沒問題,心裡盡是想的,我平常遠遠看到長官都大聲叫長官好,看到車子和機車經過也是停下來,並敬禮,連看到替代役學長都有問好,我是哪裡沒禮貌了? 哪位神人可以出來跟我們解釋一下,讓我心服口服?? 結果他說我晚上走回去沒跟長官問好,我整個冏掉,我他X的,根本連一個長官都沒看到,是要跟鬼問好? 結果他說他晚上和長官走在一起,有看到我們,結果我們沒問好,聽到這邊我更冏了,我連你在那條路上都不知道了,更何況是長官...但是那位管幹仍然說,不管~ 你們就是被投訴了,所以要記點,話說這邊,我整個就不想理他了,連這樣都可以記我點,那以後的生活要怎麼過? 改天夜黑風高,我他X的看到一堆人影,是不是該每個都問長官好,看到十個就喊十次長官好? 到底是哪個處室的神經病長官,如此無聊投訴我們? 還是說其實壓根沒長官,是該位管幹想要盯我們而已?

發生這樣的事情後,讓我更沒心情待在那種鬼地方,因為我感到更絕望了,我絕望的不是因為我還要待10個月,我絕望的是,國家花錢養這些軍人,就是讓他們無聊電電和惡整替代役?這根本是浪費公帑,想說之前做事沒效率就算了,因為做事沒效率其實不只國軍,所以我可以理解,沒公正公義就算了,因為我在軍中,是講求階級的地方,所以我可以忍氣吞聲,讓你們感受到高高居上的爽感,但是今天無聊這樣投訴我們,就讓我覺得超不爽! 軍人可以無聊到這種程度,你以為你是皇帝喔,每個人是不是都要餵你吃飯,幫你擦鞋,一聽到你的聲音,就要馬上立正站好,在以前這樣的皇帝根本是廢渣,馬上就要滅國了。

看到這樣的軍中,整個就是古代皇朝的縮影,我現在心裡想的沒有什麼,就是想要趕快離開這鬼地方,因為我不想自己被那些人同化,雖然我對自己忍耐力非常有信心,但是潛移默化這種力量是很恐怖的,即使你再怎樣不小心,或多或少都是會被感染的,我很怕自己會慢慢被他們同化...我不想成為自己討厭的那種人。

 這篇大概是我最後一篇軍中抒發心情的文章了吧,因為我決定了,我這部落格本來就不是拿來做這種事的,而且要記錄我的程式之旅,所以接下來要寫個跟programming有關的文章了,但是大概要等我下次回到家的時候了 :P

2013年11月10日 星期日

下單位過一個禮拜後

我在的單位是岡山航空技術學院某單位,這一個禮拜下來,其實感覺滿累的,我想一方面是對於新環境的不適應,另一個原因是畢竟我是替代役身分,多多少少會被長官凹去做事,不過我也早就有心理準備就是了,不過並非大部分長官會凹我就是了,只是整個單位基本上有一個長官會凹你,感覺就過得很累了,目前為止,我記得兩個會凹我,話雖如此,裡面也是有好長官,之前做事做到很累的時候,就有長官來關心我,雖然只是一個簡單的說說話,但是我心裡卻是得到很大的舒坦。

另外目前我很難適應的是,我在的單位裡面全都長官,這代表什麼,萬一我說錯話,做錯事,不小心碰觸到他們的地雷,我恐怕就吃不完兜著走了,到目前為止,我都不太敢主動開口說話.....,畢竟我是裡面最小的,不知道踩到地雷會發生什麼可怕的事= =,其他同梯的朋友至少都有兩個替代役,他們可以互相扶持,老實說我有點覺得孤單,我只有吃飯,和下班的時候,可以和大家敞開心胸來聊天,我想這或許是給我一個訓練吧,不管如何,我會想辦法找到自己生存的空間,要不然這樣的生活持續一年,根本只有可怕。

講到軍中做事,真的有很多方面都十分沒有效率! 甚至該說讓我感到無言....光是講收發公文好了,有時候只是為了一個簡單的蓋章,可以讓我等上一兩個小時....不知道該說什麼才好,個人是覺得有許多比較瑣碎的公文,可以改成電子方式,也就是用電腦的方式,這樣不僅可以節省紙張,也節省人力,可以把人力放在其他需要的地方,我相信這絕對很多人都有同樣的想法吧? 我光是進去的第一天就萌生這樣的想法了,我只能說軍中就是這樣死板板的地方,而且是講求階級,沒有公不公平,你資歷小,官階小,就是得像螞蟻一樣,默默做自己,一切就是聽長官的話,目前我也只能繼續忍耐下去,然後周末回家好好放鬆,就像現在的我一樣,在電腦前面打文章,好好的將五天累積的無奈、怒氣,發洩一下 :)。

好啦~ 放假的時光總是短暫,過沒多久我又要回到那與世隔絕的地方囉~


2013年10月20日 星期日

放假兩天,準備回去撥交了 :(

無奈無奈,明天撥交後就要去台北專訓了,雖然國防役的專訓聽說是不怎麼累,但是對我來說那不是重點,重點是以後下單位,根本就過著跟國軍一樣的生活,而且令我更怕的是會被欺負,畢竟我們跟國軍有所不同,在一個團體中如果和別人有特別不同之處,往往會被針對....,不用我多說,這大家應該都有所認同才是。

我真的滿懷疑,政府到底有沒有腦袋,竟然故意讓國防部開那麼多缺額來消耗替代役,這根本是以替代役之名行國軍之實,沒能力消耗那麼多替代役,當初就不要信口開河讓每人都有獎。老實說心情真的不是很好,當初等那麼久的入伍令(原本應該會更早進去的,被其他人搞到延後),最後選到國防役? 雙重打擊,讓我對現在的政府感覺不到任何一點信心,甚至是這社會充滿著不公,sigh,我真的覺得我該找個時間,讓自己好好冷靜一下,其實我回到家後,根本沒心情學習程式和寫程式了,一來是想要讓自己好好冷靜,二是回家頂多兩天,根本沒啥時間寫程式,頂多就是看看一些程式論壇這樣而已,不知道這樣程式會不會退步....。

話說,我在網路上查了許多資料跟國防部公共行政役有關的,大部份都是說忍著吧,忍一年就過去了....雖然也有人說他的單為挺涼的,但是依照歸納法則,看來應該是屎缺無誤,我看著那些文章,其實內心早已麻木,甚至到已不知眼見為何物的境界,因為我從以前到現在我運氣就沒很好,我早該想到,政府會做這種鬼事情,我這梯人數有2400,扣掉碩博900人,剩下1500人,國防部開缺300,恩.....知道大學畢業中這個的機率有多高了吧,我是成大資訊工程畢業的,在選役別時,讀哪間都不是重點了,"碩博"才是重點,我想後面幾梯應該都差不多的情形了吧。

不管如何,只能希望下單位可以遇到好長官了,我這樣的需求應該不過份吧? 選替代役選到最屎缺,好歹也讓我下單位可以遇到好長官,不會被欺負....,剩下幾小時就要去做火車,準備回成功嶺了,等著明天的撥交,又是一個嶄新的旅程,看看能不能遇到好事情。

2013年10月10日 星期四

雙十國慶 放假一天回來囉~

這幾天成功領新訓,其實說操也沒有很操,唯一讓我十分不習慣的就是,幾乎沒有時間可以上大號= =,而且我非常建議以後的學弟,選公差的時候,千千萬萬不要選打飯班,它會讓你整理內務,還有喝水和上廁所的時間,幾乎等於0,尤其是剛進去的前幾天會比較忙,整個就超級不爽,你可以想想,忍著屎意跑三千,是他X得什麼滋味嗎? 有些人更誇張,剛進去三天都沒有大過便...我則是第一天晚上就拉肚子,至於是什麼原因,咳咳,新訓過的都大概知道是什麼原因了,我這邊就不說明了,另外或許是我太過聽話了,不懂得偷閒,一味乖乖的聽命令行事,我是覺得真的沒辦法忍,就舉手說你要去上廁所,只是呢~ 就是全部人就會等你一人上完再去跑三千。

進去成功領,你就把你自己丟入與世隔絕的地方,這樣想你就會輕鬆多了 :) 要注意的地方其實也沒啥,只要不要天兵到神的境界,那應該一切都還好,長官大聲兇你是很正常的事 :) 另外新訓裡面最重要的事情就是,選役別!! 我這梯實在是太可恨了,碩博士整個逼近900人,這個意思就是說裡面所有的好缺,大概就是被他們包走了,你只能乖乖跟一大堆學士抽籤,如果你自認運氣一流,那你大概是不用害怕拉,我當天可是怕到手都用抖的...以前考指考也都沒這麼怕過,我就是運氣太背,抽籤都沒抽到= = 最後就選到聽說替代役裡面最屎缺國防部公共行政....名額還有剩咧!! 你就知道國防部開多少缺額!!! 我對整個選役別的流程整個感到不公平,竟然以學歷優先,X的咧,碩士有很屌嗎? 隨便私立碩沒聽過的系,都可以壓死名校名系了....我們這些被壓死的學士,也只能暗自罵在心裡,再不爽也沒用了,畢竟當國防部公共行政役,已經是天殺的事實了,而且又不能帶手機、NB,這樣跟當兵有什麼不同? 只是比當一般兵爽一點而已阿,還不是被關在那邊....真的很怕我這樣待了一年程式能力會退步很多= =,希望我到時候能夠選到好的單位,看能不能好過一點 :)

這篇打完後,又要進去那個衛生環境不怎麼好的成功嶺了 :( 大概又要過10天左右才會放假出來了~