專題心得

其實,在做這個專題過程和我想的不太一樣,因為之前聽系上說是由專題老師出一個題目大家來實作,但實際上好像不是這麼回事,不過,我覺得每組自己想一個題目然後分析、設計、實作,這種方式學到的東西好像比較多,或者應該說這種方式讓我有非常強烈感覺到自己還有許多不足的地方,從一開始分析、設計的時候,我就覺得有些搞混了,簡單來說像是,我知道一個網站是由許多資料夾和檔案所組合的一個集合,但哪些功能要由哪幾隻程式負責?程式檔的關聯?這個部分我也根本沒考慮到,或者應該很多基本的觀念我當時還不清楚,例如,我知道在Internet中通常Client和Server溝通是用Http Protocol ,但我當時不清楚有Post 和 Get兩大Method提供Client和Server之間的互動,而ASP.NET中的HttpRequest提供的QueryString就是以Get方式實作的,post則是預設值,如果當時我知道這種方式就不會愚蠢的把論壇的分類用檔案來分,最簡單的方式就是在連結中設定參數讓Client端告訴Server端它想看什麼,基本上這樣就能夠用同一隻程式來解決,而不是建立一堆功能相同的檔案找自己麻煩,其實這些都是在系統分析、設計的階段就應該討論好而不是想到才新增一個檔案,所以事前的規劃和分析真的很重要,雖然老師們有說Design和Analysis「很重要」我在實作的過程中就才又有更強烈的體認,我也認為像我這種初學者真的不太適合Visual Studio這種超級方便的IDE,因為我想瞭解程式中每個細部的運作,也想自己實作,但礙於專題的進度和時間的不足、還有自己的能力太差這些因素,我妥協了,幾乎通通交給左邊的工具箱解決,雖然我也知道這種方式很不好,錯過了一些學習的機會,在那個當下我只想趕快在dateline前做好,不過我還是有用到一些第三方的API像是AjaxToolkit、ckeditor還有利用ScriptManager和UpdatePanel將控制項以非同步的方式將資料回傳給Server,還有我也認識了 jquery這個javascript的library,認識他之後我終於瞭解到為什麼很多國外的網站都做得那麼讚、那麼有質感,雖然ASP.NET有AjaxToolkit也有CssClass這個屬性可以設定控制項所套用的CSS,但是jquery可以用在所有網頁程式語言,而且我覺得光是能夠直接看這些高手寫的source code就很吸引人了,看了這些source code連我也感到很驚訝,因為我英文不太好,也能看懂它部份功能的運作,這應該就是「抽象化」的力量吧。做這個專題另外還讓我比較有收穫的就是,設計資料庫的部分,這讓我想到教資料庫的老師所說:「Relational Database的核心就是Table與Table間的關係,實作這層關係用的就是Foreign Key」,我們用的SQL Server(2005)也是關聯式的資料庫,我後來發現只要有這層觀念,理解資料庫的正規化就很容易了,我還不敢說自己有多瞭解但是多少有一些心得,因為有時候還是會卡在一些Foreign Key的刪除、更新規則,但大致上我已經有概念了,因為上完資料庫設計理論時對於這些觀念還感到很難以理解。上完這門課之後我自己也有一些想法,雖然我滿晚才找到自己的興趣(大二才轉來資管系)但我真的覺得我的選擇沒錯,雖然資訊這條路不好走,我又起步的比較晚也還有許多東西要學,但這真是我的興趣,我也告訴自己在畢業前要有獨立完成整個project的能力。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s