Blog Cover Image

Inspire you to have New thinking, Walk out your unique Road.

有的時候,你無意間遇到的一些故事,會激發你的靈感,改變你的想法,接下來你會用與之前全然不同的觀念去創造屬於你獨特的故事。

Sign @MinaYu.

[DEVELOP]PYTHON 桌機版開發之(6)(內含開發心得)

Posted on

這次,我就不說自己完成幾%了

免得雷到自己XD

至從上篇….

好幾週我都說我完成80%了,但到最後都卡住卡住

卡住啊!


至從多增加跟程式極強的學弟相處及溝通後

聽從他們的建議

我將本來我自己打算就用黑視窗呈現我的程式

某天在學校,把它改成了有介面的兩頁式程式

多虧自己在一開始的時候二二六六的研究了python的桌機介面寫法

雖然中間一度沒有使用

但最後和學弟討論後,馬上將之前的程式改一改

順便把我的程式優化整理一番

將本來需要三個pyw介面檔優化成只剩下一個

然後結合我自己中間用黑視窗寫的功能

一下就生出了現在的版本Screen Shot 2018-05-24 at 2.12.25 PM

沒錯,一個介面很陽春,但功能具備的小小桌機程式


從原本完全矇懞懂懂,到跟學弟討論後

不只介面,功能生出來

而且還想出怎麼將我的程式優化

從原本需要透過初始頁面呼叫兩個介面及兩個外部副程式

到現在只需一個主程式外call一個副程式即可(當然還有伺服器端啦~)

而這週五,有個學弟想挑戰只需一個.pyw檔就做到所有的事

在這記錄一下,pyw檔怎麼打包才不會有黑視窗

請服用:

https://stackoverflow.com/questions/34341308/how-to-properly-close-python-exe-console-program

下pyinstaller –nonconsole

指令就可以了!


以下是整個開發過程的心得:

我的程式已經做好一版可以跑的了

除了這週五有學弟想挑戰再更優化我的程式外

就是一些我跑去人家電腦試,測出的一些例外bugs,我需要改一下

然後就準備拿去給學生使用

然後我就要進入論文的下個階段了

也就是分析+寫論文


在一開始,其實我個人是很不想面對現實的,有逃避的狀況

然而當我們老師跟我說,我已經開天窗了

他又用了他那招,限你幾天內做出來的逼迫方式,來逼迫我趕出東西

那時候,我非常的緊張,就是被我們老師操,要在限時的時間內,操出東西

當然又開始了焦慮,尤其一緊張,手笨腦袋又打結

很慌很慌問了一堆人

後來去問老師

老師則是說,得嚇嚇你,不然你都不動!


在這之後,我就放下心,穩穩慢慢的開發我的系統

因為我知道我自己什麼都不懂,要去重新研究勢必要花一點時間

也很感謝這陣子老師都沒催我

而是我自己因為看著日子一天天過,我自己很緊張

加上當初是閉門一個人寫,沒有人能夠討論,所以常常卡住,也常常很緊張,因為寫不出來

想到當初的恐懼,就覺得,慘了我會延畢

再加上當初家庭革命,我也就連續生病了有一個月吧,大大小小的疾病都出來。

後來,跟學弟們約,把握跟他們相處的時間

才短短一天,就把卡了好幾天的程式問題給解了

後來的幾週,我都會跟學弟們約

當然免不了請吃飯辣XD

但除此之外,交換的條件還包括

他們幫我寫伺服器端,我幫他們寫他們被業主砲得很慘的CSS

他們幫我寫副程式,我分析資料,幫他們Cover兩個月的薪水

當然除了這些交換條件外

交流了技術,例如怎麼做比較好

得到了很多建議以及如何解Bugs

直到現在程式已經完成第一版

但尚在優化中

雖然跟當初的好幾個功能相比,只完成了兩大部分

臉部辨識跟滑鼠子系統是拿掉了

至於加分的部分,就是我進入下個階段要規劃的分析

在整個開發過程我學到的技術是

  • Python Django Views做為HTTP接收端,回傳資料回資料庫

  • Python Tkinter GUI 客戶端

  • Python 黑視窗 客戶端

  • 不同的作業系統版本問題(win10可以用,win7不可用)

  • UX, UI

  • 軟體測試

除此之外,點出幾大項其他能力

  • 溝通能力

我不知道外面的程式開發是單獨開發,還是團隊開發

因此,工程師本身也要具備優良的溝通能力

除了和其他工程師交流外,還要能跟老闆客戶交流

已暸解他們的需求

  • 解題(邏輯)能力

會不會google,要找什麼關鍵字,很重要

像我怎麼google都google不到

可是每次問學弟,拿學弟回的google都找得到XD

還有就是資訊知識,通常技術都不會是問題。

問題最大的是,資料庫跟伺服器怎麼溝通,客戶端怎麼跟伺服器溝通

程式的話,只要會那幾個語法,其他上網找都找得到,但是技術知識不懂的話

就會像我這樣,很緊張一直到處亂問,桌機真的能丟資料到伺服器嗎?

這種蠢問題,我確實在剛開發得時候常常擔憂XD

  • 程式能力

程式能力還是重要啦~但只是基礎基礎肌基礎

雖然我現在Python也沒很強,但我桌機的部分,也是從開始開發才開始慢慢學XD

也不是以前就會。

  • 穩穩地心情

開發不能緊張不能慌,像我就很緊張很容易慌

但越慌越緊張腦袋越容易掛彩

我們動腦的工程師

常常花上一天卡同樣一個問題

也常常在除了寫程式之外的時間也還在思考剛剛那個問題我可以怎麼解

因此,絕對要保持自己腦袋營養,絕對不能掛彩XD

最後,我就先記錄到這。

等待明天將程式完成後

下週應該就是,狂找電腦給人測試

之後就扔給學生蒐集資料了

然後開始進入下個階段了!

希望可以順順利利的,加油!