欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何學(xué)習(xí)Web開發(fā)

錢多多2年前18瀏覽0評論
如何學(xué)習(xí)Web開發(fā)?

web framework層出不窮,特別是ruby/python,各有10+個,php/java也是一大堆 根據(jù)我自己的經(jīng)驗寫了一個to do list,按照這個清單,一條一條的學(xué)習(xí),事半功倍,很快就能掌握 一共25條,即便很磨蹭,2小時也能搞定一條,25*2=50。只需要50小時就能掌握任意一種web框架各類web框架大同小異:現(xiàn)代web開發(fā)框架的6大元素,把握主線,就不會迷路

建議把本文打印到一張A4紙,搞定一條打個勾

web框架學(xué)習(xí)列表 如何定義 url router如何組織 request handler 函數(shù)寫一個最簡單的request handler 函數(shù)如何從get/post請求中取出參數(shù)如何定義全局url 攔截函數(shù)如何獲取/修改/存儲 cookie,session數(shù)據(jù)如何修改/輸出 http header 數(shù)據(jù)如何部部署app 程序服務(wù)器部署可以參考讀python web 程序的9種部署方式如何配置開發(fā)環(huán)境如何配置靜態(tài)文件訪問如何訪問數(shù)據(jù)庫是否支持ORM支持orm如何維護表結(jié)構(gòu)的變更如何定義/組織/初始化 數(shù)據(jù)表如何對接orm系統(tǒng)和現(xiàn)有的表結(jié)構(gòu)掌握最基本的add/delete/按字段查詢/count/slice/order by如何直接使用sql 訪問數(shù)據(jù)庫不支持orm (這樣的web框架,不用也罷)如何使用模板系統(tǒng)如何組織/訪問 模板文件的目錄結(jié)構(gòu)如何在模板中嵌入代碼模板是否支持繼承結(jié)構(gòu)模板之間如何include如何自定義模板函數(shù)如何通過http get/post 獲取遠程數(shù)據(jù)如何parse json如何parse xml如何輸出為 json如何處理狀態(tài)碼:404和50x如何處理文件上傳可選的學(xué)習(xí)項目 發(fā)送emaillog圖片處理誤區(qū) 表單驗證輔助函數(shù),很多框架的表單驗證部分實現(xiàn)的特別復(fù)雜,初學(xué)者完全不需要,手寫代碼處理就夠用ORM中的hasone,manytomany,onetomany關(guān)系,概念很復(fù)雜,其實只是多寫/少寫一個查詢字段的關(guān)系,學(xué)習(xí)成本太高,初學(xué)者完全不需要理會,直接跳過。

如何快速學(xué)習(xí)一個WEB開發(fā)框架http://www.pcpob.com/article/view/1939-how-to-study-a-web-framework

如果已經(jīng)學(xué)會了一個PHP框架,再去學(xué)習(xí)其他php框架,那么會很容易上手。但是如果還沒有php框架基礎(chǔ),想去學(xué)習(xí)php框架,往往是一頭霧水,不知道從哪里下手,從我學(xué)習(xí)php框架的經(jīng)驗,給大家分享一下,如何快速的去學(xué)習(xí)并掌握一個框架。一,選擇一個合適的php框架 在國內(nèi),使用zf,ci和tp框架的人比較多,新手可以從中選一個去學(xué)習(xí),新手不建議一開始就去學(xué)習(xí)zf,功力還不夠深,學(xué)習(xí)zf會讓你更迷茫。如果php基礎(chǔ)實在太差,學(xué)習(xí)ci和tp都覺得有點難度,那么建議去學(xué)習(xí)一下我做的框架--canphp框架(簡稱cp,qq群:74781204),cp=ci+tp的結(jié)晶,更為簡單,更容易理解。二,選定一個php框架之后,如何去學(xué)習(xí)第一步,把下載回來的框架壓縮包解壓,然后把每個目錄和文件名,大致的瀏覽一遍。這樣可以大概看出,這個php框架中大致布局和具有哪些功能。第二步,學(xué)習(xí)輸出hello world,hello world很簡單,但是對于學(xué)習(xí)一門新的語言或框架,很重要。第三步,學(xué)習(xí)理解單一入口和網(wǎng)址解析(即網(wǎng)址路由),單一入口,對于新手來說,可能有點不太好理解。第四步,學(xué)習(xí)php框架的內(nèi)置的模板操作,主要學(xué)習(xí)程序是怎么賦值給模板,怎么加載模板和常用的模板標簽第五步,學(xué)習(xí)數(shù)據(jù)庫的添加,修改,刪除,查詢,學(xué)會簡單的數(shù)據(jù)庫操作。第六步,學(xué)習(xí)php框架常用的函數(shù)和類庫,php框架中一般會帶一些常用的函數(shù)和類,可以稍微看一下,此時還沒有必要深入研究,等用到的時候再詳細的去看手冊和樣例。第七步,下載基于此框架開源的項目系統(tǒng)下來學(xué)習(xí),了解了php框架的執(zhí)行流程,模板操作,和數(shù)據(jù)庫操作,下載一個開源的系統(tǒng),下來去學(xué)習(xí),學(xué)習(xí)別人的代碼,學(xué)得更快。第八步,做項目學(xué)習(xí),要熟練掌握一個的框架,需要大量的實踐,通過做項目,去深入學(xué)習(xí)。第九步,閱讀框架代碼,了解其實現(xiàn)原理

第十步,到這一步,你已經(jīng)學(xué)會了這個php框架。

在StackExchange上有人問了這樣一個問題:What should every programmer know about web development?(關(guān)于Web開發(fā),什么是所有程序員需要知道的?)里面給出的答案非常不錯,所以,我翻譯轉(zhuǎn)載過來。 順便說一下,StackExchange真是非常好,大家可以對同一個答案做貢獻和修訂,看看這個問題的修訂過程你就知道了——專業(yè)的問答網(wǎng)站應(yīng)該怎么去做。這就是我在這篇文章中也說過真正的用戶體驗是什么樣的。

好了,下面是正文(我對原文做了一些批注,也許不對或有誤導(dǎo),請大家指正)

下面的這些東西可能對于大多數(shù)人并不陌生,但是可能會有些東西你以前并沒有看過,或是沒有完全搞懂,甚至都沒有聽說過。(陳皓注:我相信當你看完這個列表后,你會覺得對于我國的Web開發(fā)有點弱了,還是那句話,表面上的東西永遠是膚淺的)

接口和用戶體驗

小心瀏覽器的實現(xiàn)標準上的不一致,確信讓你的網(wǎng)站能夠適當?shù)乜鐬g覽器。至少,你的網(wǎng)站需要測試一下下面的瀏覽器:最新的 Gecko 引擎 (Firefox),一個 Webkit 引擎 (Safari,Chrome, 或是其它的移動設(shè)備上的瀏覽器)IE 瀏覽器 (測試IE的兼容性你可以使用微軟IE的Application Compatibility VPC Images)Opera 瀏覽器。

最后,你可以使用一下這個工具 來看看你的網(wǎng)頁在不同的瀏覽器下是怎么被顯示出來的(陳皓注:這個工具就是以前本站介紹過的在不同瀏覽器和平臺上檢查你的網(wǎng)站的兼容性)

多考慮一下人們是怎么來訪問你的網(wǎng)站而不是那些主流的瀏覽器:手機,讀屏軟件和搜索引擎,例如:一些Accessibility的東西: WAI 和 Section508, 移動設(shè)備開發(fā):MobiForge.部署Staging:怎么部署網(wǎng)站的更新而不會影響用戶的訪問。 Ed Lucas的答案 可以讓你了解一些(陳皓注:Ed說了一些如版本控制,自動化build,備份,回滾等機制)。千萬不要直接給用戶顯示不友好的錯誤信息。千萬不要把用戶的郵件地址以明文顯示出來,這樣會被爬蟲爬走并被讓用戶的郵箱被垃圾郵件搞死。為用戶的鏈接加上 rel="nofollow" 的屬性以 避免垃圾網(wǎng)站的干擾。(陳皓注:nofollow是HTML的一個屬性,用于通知搜索引擎“這個鏈接所指向的網(wǎng)頁非我所能控制,對其內(nèi)容不予置評”,或者簡單地說,該鏈接不是對目標網(wǎng)站或網(wǎng)頁的“投票”,這樣搜索引擎不會再訪問這個鏈接。這個是用來減少一些特定垃圾頁面對原網(wǎng)站的影響,從而可以改善搜索結(jié)果的質(zhì)量,并且防止垃圾鏈接的蔓延。)為網(wǎng)站建立一些的限制 - 這個屬于安全性的范疇。(陳皓注:比如你在Google注冊郵箱時,你一口氣注冊超過兩個以上的郵箱,gmail要求給你發(fā)短信或是給你打電話認證,比如Discuz論壇的會限制你發(fā)貼或是搜索的間隔時間等等,更多的網(wǎng)站會用CAPTCHA來確認是人為的操作。 這些限制都是為了防止垃圾和惡意攻擊)學(xué)習(xí)如何做 Progressive Enhancement. (陳皓注:Progressive Enhancement是一個Web Design的理念,如:1)基礎(chǔ)的內(nèi)容和功能應(yīng)該可以被所有的瀏覽器存取,2)頁面布局的應(yīng)該使用外部的CSS鏈接,3)Javascript也應(yīng)該是外部鏈接還應(yīng)該是unobtrusive 的,4)應(yīng)該讓用戶可以設(shè)置他們的偏好)如果POST成功,要在POST方法后重定向網(wǎng)址,這樣可以阻止用戶通過刷新頁面重復(fù)提交。嚴重關(guān)注Accessibility。因為這是法律上的需求(陳皓注:Section 508是美國的508法案,其是美國勞工復(fù)健法的改進,它是一部聯(lián)邦法律,這個法律要求所有技術(shù)要考慮到殘障人士的應(yīng)用,如果某個大眾信息傳播網(wǎng)站,如果某些用戶群體(如殘疾人)瀏覽該網(wǎng)站獲取信息時,如果他們無法正常獲得所期望的信息(如無法正常瀏覽),那可以依據(jù)相關(guān)法規(guī),可以對該網(wǎng)站依法起訴)。WAI-ARIA 為這方面的事提供很不錯的資源.

安全

在網(wǎng)上有很多關(guān)于安全的文章,但是 OWASP 開發(fā)指導(dǎo) 涵蓋了幾乎所有關(guān)于Web站點安全的東西。(陳皓注:OWASP(開放Web應(yīng)用安全項目- Open Web Application Security Project)是一個開放的非營利性組織,目前全球有130個分會近萬名會員,其主要目標是研議協(xié)助解決Web軟體安全之標準、工具與技術(shù)文件,長期 致力于協(xié)助政府或企業(yè)了解并改善網(wǎng)頁應(yīng)用程式與網(wǎng)頁服務(wù)的安全性。OWASP被視為Web應(yīng)用安全領(lǐng)域的權(quán)威參考。2009年下列發(fā)布的美國國家和國際立法、標準、準則、委員會和行業(yè)實務(wù)守則參考引用了OWASP。美國聯(lián)邦貿(mào)易委員會(FTC)強烈建議所有企業(yè)需遵循OWASP十大WEB弱點防護守則)