、新建項目
1、新建===web項目===輸入項目名稱====完成
二、新建html文件
在新建項目中新建html模板
輸入文件名稱:
三、認識基本格式
聯想出基本格式:
四、編輯html文件
運行html,選擇瀏覽器
五、html常用的快捷鍵
(1)ctrl+n+w web項目創建
(2)ctrl+n+h html文檔創建
(3)ctrl+s 保存html頁面(頁面上如果未保存會顯示*號)
(4)ctrl+r html運行
(5)ctrl+z 撤回
(6)!+tab鍵 聯想基本格式
(7)ctrl+/ 注釋和取消注釋
(8)ctrl+鼠標滾輪, 字體方大和縮小
六、認識標簽
(1)H標簽(標題標簽)
(2)p標簽 (段落標簽)
(3)img 標簽(圖片標簽)
兩種:第一種widows上傳圖片,第二種:網上圖片鏈接
第一種
img中顯示圖片
img中引入圖片
第二種:網上圖片的鏈接:
(4) 標簽(空格)
(5)em 標簽表示斜體
(6)i 標簽表示斜體
(7)br 表示換行
(8)b 標簽表示加粗
(9) strong 標簽表示加粗
(10)s 標簽(刪除線)
(11)u 標簽 (下劃線)
(12)font 顏色
(13)sub下標
(14)sup上標
圖就是 ENC28J60 網絡模塊。慣例,看接線方法,接7根:
Vcc —— 3.3V(注意電壓!)
GND —— GND
RESET —— RESET;
CS —— 片選,與“ether.begin()”的第三個參數一致;下面的測試代碼接D10;
SI —— D11(MOSI口,見下圖);
SO —— D12(MISO口,見下圖);
SCK —— D13(SCK口,見下圖);
寫一段代碼,當用網頁訪問網絡模塊的時候,顯示開關狀態。
當直接訪問 http://192.168.1.17 時,顯示當前狀態:OFF
當帶參數訪問時:http://192.168.1.17/?ON 或 http://192.168.1.17/?OFF
則顯示參數狀態。
庫文件:https://github.com/jcw/ethercard
源代碼:
天晚上寫代碼到深夜,一頭扎到床上,沉沉睡去。
第二天睜開眼鏡,我發現自己居然坐在一個咖啡館里,旁邊的墻上貼著最新的英文電影海報《阿甘正傳》、《肖申克的救贖》
這都是1994年的經典電影,我意識到,自己穿越到了1994年的美國!
對面坐著一個帥哥,一邊操作電腦,一邊在不停地贊嘆。
我探過頭去,發現他正在看這個東西:
我說:“哥們兒,這不是安德森開發的Mosaic瀏覽器嗎?這么丑,你怎么不用網景?”
“網景?那是什么東西?不過兄弟不簡單啊,我在咖啡館喝了這么多天的咖啡,你是第一個識貨的,還知道安德森,肯定也是個程序員吧,要不一起干吧!”
“干什么???”
“瀏覽器絕對是互聯網的未來,現在很多公司都在狂熱地擁抱它, 他們就使用 Microsoft Word寫文檔,然后將文檔保存為 HTML,通過 FTP 將它們放到網上,這里邊有商業機會啊。”
“寫個HTML會有什么商業機會?”
“靜態的網站是和枯燥的,這些公司很快就會發現,可以和用戶交互的、動態的網站才有商業價值。我準備專門提供這樣的咨詢服務,為他們開發各種動態的Web應用程序。對了,忘了自我介紹了,我叫Rasmus Lerdorf?!?/span>
這個人名怎么這么熟悉?
我想既然穿越而來,那就看看1994年的動態網站是怎么開發的吧。
我說:“我叫張大胖,主要用Java編程?!?/span>
“Java?那是什么語言?” 他兩眼立刻放光了!
我意識到說漏嘴了,Java這時候還沒誕生呢!
“其實叫C++--,一個小眾語言?!?/span>
“和C語言相關,那就好,我們得用C語言寫CGI腳本?!?/span>
我和他合伙開了個咨詢公司,專門接開發動態網站的活兒。
但是開發一開始,我就崩潰了:沒有前后端分離,沒有Java,沒有JSP,ASP, 真的全靠在C語言!
給大家看看:
void main(int argc, char *argv[]) {
char *params, *data, *dest, *s, *tmp;
char *name, *age;
puts("Content-type: text/html\r\n");
puts("<HTML><HEAD><TITLE>Form Example</TITLE></HEAD>");
puts("<BODY><H1>My Example Form</H1>");
puts("<FORM action=\"form.cgi\" method=\"GET\">");
puts("Name: <INPUT type=\"text\" name=\"name\">");
puts("Age: <INPUT type=\"text\" name=\"age\">");
puts("<BR><INPUT type=\"submit\">");
puts("</FORM>");
data = getenv("QUERY_STRING");
if(data && *data) {
params = data; dest = data;
while(*data) {
if(*data=='+') *dest=' ';
else if(*data == '%' && ishex(*(data+1))&&ishex(*(data+2))) {
*dest = (char) htoi(data + 1);
data+=2;
} else *dest = *data;
data++;
dest++;
}
*dest = '\0';
s = strtok(params,"&");
do {
tmp = strchr(s,'=');
if(tmp) {
*tmp = '\0';
if(!strcmp(s,"name")) name = tmp+1;
else if(!strcmp(s,"age")) age = tmp+1;
}
} while(s=strtok(NULL,"&"));
printf("Hi %s, you are %s years old\n",name,age);
}
puts("</BODY></HTML>");
}
用一句話來說那就是:在C語言當中輸出HTML代碼。
這是人干的活嗎?我都快寫吐了!
Rasmus:“沒辦法啊,C語言編寫CGI腳本,實現動態網頁,可不就得這樣嘛?對了,你會用Perl嗎?”
“就是那個寫出來以后代碼誰都不認識的語言?我不想用!”
時間長了,Rasmus 也受不了了:“這些CGI 腳本無外乎就是處理表單, Post數據,過濾等,重復代碼太多了,怎么樣才能提高效率呢?”
他有空就琢磨這件事情,有一天,他想到了一招,把這些常用的功能都包裝到一個C語言庫中,它“植入”NCSA Web 服務器中(這是Apache之前最流行的服務器),然后在上面添加了一個模板系統,可以輕松地調用他們。
于是代碼就是變成這個樣子:
<html><head><title>Form Example</title></head>
<body><h1>My Example Form</h1>
<form action="form.phtml" method="POST">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<br><input type="submit">
</form>
<?if($name):?>
Hi <?echo $name?>, you are <?echo $age?> years old
<?endif?>
</body></html>
換句話說:就是在HTML中“混入”代碼。
和CGI對比,這種方式對程序員來說非常友好,我們的工作效率一下子提高了很多。
說實話,我早就知道這種方式,就是ASP,JSP嘛,但是自己沒那技術實力,實現不了??!
Rasmus 很快就找到了一個新客戶,用新工具為他們開發Web程序,連接到數據庫,滿足他們各種各樣的需求。
隨著客戶的增多, 客戶的需求也略有不同,于是,Rasmus 就不斷地擴展它的工具箱, 從簡單的解析器慢慢發展為包含條件標簽,然后是循環標簽、函數等各種復雜的東西,這已經是一門語言了。
Rasmus 把它們稱為Personal Home Page,簡稱PHP。
我這才意識到,原來遇到了PHP之父!
很快就有其他程序員找上門來, 問我們:Rasmus, 你們怎么開發得這么快!
Rasmus說:我有個人工具箱??!
“那我能不能用?”
Rasmus說:“可以啊,工具只是我的錘子,每個人都可以用我的錘子?!?/span>
我趕忙阻止他:“Rasmus, 你把錘子給別人, 那咱們靠什么賺錢?”
“我不靠錘子賺錢,我賣的是解決問題的服務?!?/span>
我心想他真是傻瓜,為什么不靠賣他的工具來賺錢呢?學學Bill Gates,過幾年上市!
讓我沒想到的是,神奇的事情發生了。
使用PHP的人開始給Rasmus發送補丁了 ——他們發現了Rasmus都沒有發現的Bug!
于是Rasmus到客戶那里說:我又升級了一個新版本,改了這個,改了那個。
客戶非常滿意,他們認為我們的工作效率非常高,不但能快速完成功能,還能快速修復Bug。
我突然意識到:這不就是開源嗎?
當然,這是1994、1995年,開源這個詞還沒有出現,當時只有RMS提倡的自由軟件。
隨著越來越多的人提交補丁,PHP逐漸完善,1995年,Rasmus看到時機成熟,正式宣布了 PHP 1.0的誕生。
原來PHP就是這么起步的??!
Rasmus展示出了一個領袖的大度和風范,他放棄了對PHP的獨家控制權。
通過把項目的所有權分給其他人,這樣大家都可以投入,PHP成了大家的項目,而不是Rasmus一個人的項目。
當時,PHP源碼放在CVS中,我想讓Rasmus把PHP源碼放到GitHub, 可是那個時候連Git都沒有,哪而來的Hub?
在這里沒有管理,大家是自我組織的小群體,可以圍繞自己感興趣的東西,自我組織。
任人唯賢, 代碼說話。
這真正地改變了PHP的本質。
有一個周末,我又和Rasmus來咖啡館喝咖啡,我說:“我覺得你得給PHP添加一些高級的特性了!”
“比如泛型,注解,面向函數編程,Lambda之類?!?/span>
“不不,我希望 把進入PHP的門檻控制在很低的水平,無論是使用它還是向他做貢獻。任何想解決Web問題的人通常會通過PHP找到非常直接的解決方案,許多聲稱可以解決 Web 問題的替代方案太復雜了,想想看,你需要在周五之前完成工作,但是得翻閱800頁的手冊,這讓人崩潰?!?/span>
“你有沒有想過,將來PHP會統治Web?”
“哈哈, 有這種可能嗎?”
當年的Rasmus并不知道,PHP將在互聯網大潮中野蠻生長,和Linux, MySQL , Apache聯姻, 不斷攻城略地。
W3Tech的統計顯示,PHP統治了Web, 接近80%的網站在使用PHP!
“如果讓你總結一下,如何才能創建一個成功的開源項目,你會怎么說?”
聊到這個話題,Rasmus突然就滔滔不絕起來,因為他從0到1發展起一個項目,簡直太有發言權了!
“如果你只有一個很酷的想法, 沒有人會加入你的項目,每個人都有很酷的想法。
如果你創建的東西是半生不熟的,那么人們可能對你做的事情不屑一顧,他們會用自己的方式來解決問題。
只有你構建了足夠有用的東西,大家才會來到你的身邊,他們會更容易接受你的代碼,然后稍微擴展來解決他們自己的問題,這樣雪球才能滾動起來。
所以,要開始一個開源項目,你必須解決一個困擾你一段時間的問題,這可能會花費數月的時間才能找到真正的問題并解決掉,然后你必須接受早期采用這的建議,盡最大努力讓工具對更廣泛的受眾有用。
最后可以考慮放棄控制權,讓其他人和你一起努力,當人們用你的代碼做他們任何想做的事情的時候,你的開源項目就成功了!”
“太棒了,我希望我的讀者們都能看到這段話。”
“你的讀者?”
“是的,碼農翻身頭條號,我不能說太多了,天機不可泄露,我得走了?!?/span>
說完,我就消失了。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。