即使採用好用方便的網頁開發軟體做網頁程式,了解HTML的基礎與網頁的運作方式對於網頁系統的開發人員或是網頁設計人員而言還是很重要的,否則一旦出現什麼問題,缺乏這方面了解的人,可能不知如何去查出問題所在並解決問題。尤其開發網頁應用系統這領域,有必要了解多方面知識,而不是只會用工具就行,之前就曾看過一個已上線多時的商業線上會員系統,使用某大軟體廠商的開發工具所做的,我發現在會員登出之後,只要瀏覽器別關閉,另開個新頁,只要知道會員區的網址,不需重新登入,還能看到會員區的資料,這簡直是安全漏洞,也難怪這系統後來發生大問題,也常出現資料庫連線錯誤的訊息,看來漏洞恐怕不此一處。另一個例子,以前曾有位讓我相當尊敬的同事,希望我把網頁系統中對某種號碼的檢查工作“寫在前端”,這樣就不必費事把資料傳到後端檢查。初聽到這要求起先覺得好笑,但為了避免讓對方當場難堪,只好以當時他可以接受的流行專業術語Web Service來比喻我當時的作法,何況那個檢查工作會用在數支程式上,不是一處而已。要把檢查程式“寫在前端”並非不可以,但要用JavaScript,而且有可能會被前端用戶篡改的風險,顯然這樣並不是好的作法,況且當時所用的專業開發工具要把網頁程式編譯成DLL掛在Web Server上執行,還不曾用到JavaScript,同事們在工作上也沒人會用JavaScript,除了我自己在“業外”的工作上會用到一些。另一點則是如同上面提到的,當時寫的網頁程式都是在後端的Web Server上執行的,顯然這位同事並沒注意到這點。
這裡的資源列表不是為了方便學習HTML,而是方便查閱資料用。自己雖然長久以來常使用HTML,自認始終不曾精通過這語言,除了早期以手工逐字敲出HTML tag那個時期對當時的HTML標籤有較全的認識之外,其餘多數時間都是邊用邊學,需要用到時就設法查閱一下相關資料,一直到現在的HTML 5。自己其實也不諱言對這個新版本所知不多,畢竟自己學的是最早的版本,而現在的版本,有些東西沒用到。承認不懂並不可恥,可恥的是不懂裝懂,最後把事情搞砸鍋之後還可以把自己的過錯硬說成是別人的錯。(過去的一位同事抱怨給我聽的:另一個人員寫了個不良的網頁程式,掛在他管理的服務器上執行,害他的機器屢屢當機而重新開機,居然還理直氣壯的怪他管理不良,機器不穩定;程式原本在開發環境都是可正常執行的,一定是正式上線的環境有問題。後來這程式的作者,總算過幾天後終於檢查到是自己的程式犯了無窮迴圈的錯誤。就因為這個無窮迴圈把服務器的記憶體全吃光了,難怪服務器會當機,這種是菜鳥程式員才會犯的錯,不過在那個機構中,可以光明正大的說成是別人的錯,也難怪該機構經常要換人。)
自己最初寫網頁程式時是用ASP與少許JavaScript。之後改用PHP,當時的寫法大多是在PHP程式中串出HTML標籤字串,相當無聊,不過在工作中讓我發現以前不曾見過的標籤,因為新版的HTML出了,就這樣不可避免的得設法去查資料,因當時的工作環境手邊並沒適合的實體書可查,好在網路已很方便,就這樣子邊用邊學。
這裡的列表也不是詳盡的,只是參考性質。暫時做個開頭,持續做補充與更新。
- Dave Raggett's Introduction to HTML:稍舊的資料,但清楚。
- HTML 5 Doctor:有個HTML5 Element Index,很實用。
- HTML Reference:A free guide to HTML
- HTML5 Tutorial:時間很多的人可以看。
- Awesome HTML5:A curated list of awesome HTML5 resources
- Character Entities in HTML & XHTML:特殊符號在HTML中的標示法。
- Index of the HTML 4 Elements:W3C上的文件。
- HTML 5.1 W3C Recommendation, 1 November 2016:W3C文件,從目錄後面的Index可找到Elements,就是與上一項類似,但較新的版本。
- WHATWG:網頁超文字應用技術工作小組Web Hypertext Application Technology Working Group。有需要查規格時可以去看看。
網頁元素並不是只有HTML而已,CSS與JavaScript也不可少,這些部分待以後再寫。
若再多寫些這類資源列表,我的瀏覽器上的書籤就可以大瘦身了吧!
沒有留言:
張貼留言