1 00:00:00,000 --> 00:00:01,390 2 00:00:01,390 --> 00:00:04,890 >> [音樂播放] 3 00:00:04,890 --> 00:00:10,955 4 00:00:10,955 --> 00:00:12,580 大衛·馬蘭:好,歡迎回來。 5 00:00:12,580 --> 00:00:13,600 這是CS50。 6 00:00:13,600 --> 00:00:15,540 這是7週結束。 7 00:00:15,540 --> 00:00:18,180 而且這是清道夫的結束 從追捕問題集4 8 00:00:18,180 --> 00:00:19,220 你可能還記得。 9 00:00:19,220 --> 00:00:21,650 恢復所有的經過 員工的JPEG文件, 10 00:00:21,650 --> 00:00:24,820 你受到挑戰,如果你願意, 拍攝自己與盡可能多的 11 00:00:24,820 --> 00:00:25,981 那些人的,你可以。 12 00:00:25,981 --> 00:00:28,480 我們得到了一大堆的意見書 在過去的幾週裡, 13 00:00:28,480 --> 00:00:32,980 事實上,相當多的正確中午前 今天,其中一些是那些在這裡 14 00:00:32,980 --> 00:00:37,670 在這裡抓到in--看起來like--安嫩伯格 大廳辦公時間,一個在這裡 15 00:00:37,670 --> 00:00:39,530 洛厄爾房子尼克。 16 00:00:39,530 --> 00:00:41,750 這裡的拉蒙被抓的電話。 17 00:00:41,750 --> 00:00:43,870 這是在CS50的午餐。 18 00:00:43,870 --> 00:00:46,840 這是傑森Skyping與 一個更有創意的同學, 19 00:00:46,840 --> 00:00:48,280 誰給他打電話這種方式。 20 00:00:48,280 --> 00:00:49,690 我們不知道這是什麼了。 21 00:00:49,690 --> 00:00:51,940 >> [笑] 22 00:00:51,940 --> 00:00:54,570 >> 大衛·馬蘭:但 這是值得一千兆字節。 23 00:00:54,570 --> 00:00:56,960 這裡是長安,誰 硬是跑了舞台 24 00:00:56,960 --> 00:01:00,480 為了避免被偷拍1 一天,但最終被抓獲。 25 00:01:00,480 --> 00:01:02,050 這是尼克。 26 00:01:02,050 --> 00:01:03,480 這是尼克。 27 00:01:03,480 --> 00:01:04,080 這是尼克。 28 00:01:04,080 --> 00:01:05,090 29 00:01:05,090 --> 00:01:07,670 這裡是艾莉森下來的領域。 30 00:01:07,670 --> 00:01:11,840 和Zamyla即使被發現 在舞廳的競爭。 31 00:01:11,840 --> 00:01:14,100 因此,我們將通過 這些照片,弄清楚 32 00:01:14,100 --> 00:01:16,690 誰提交的最 最早和獎勵 33 00:01:16,690 --> 00:01:20,662 1神話般的獎品,如 承諾規範。 34 00:01:20,662 --> 00:01:23,120 同時,我們也將跟進有關 被涉及的空間。 35 00:01:23,120 --> 00:01:26,860 >> 一對夫婦announcements--所以午餐 是,再次,本週五下午1:15。 36 00:01:26,860 --> 00:01:30,420 如果您想加入我們的行列, RSVP在該URL在這裡。 37 00:01:30,420 --> 00:01:33,730 傑森再次出現在這裡從一個 該路段的一兩年 38 00:01:33,730 --> 00:01:35,510 回來,剛巧 落在萬聖節。 39 00:01:35,510 --> 00:01:38,950 而事實上,他裝扮成一個 南瓜特定的一年。 40 00:01:38,950 --> 00:01:42,700 如果你看這一節 他從2011年段 41 00:01:42,700 --> 00:01:46,480 8,如果你很好奇, 在CS50.tv,我覺得 42 00:01:46,480 --> 00:01:49,730 這是在這一年中 他的空氣泵工作。 43 00:01:49,730 --> 00:01:52,490 >> 如果再觀看 在2012年類似的部分, 44 00:01:52,490 --> 00:01:55,620 你會看到這個傑森多少癟, 由於該訴訟已不再發揮作用, 45 00:01:55,620 --> 00:01:58,060 這僅僅是說 本週五,如果你願意 46 00:01:58,060 --> 00:02:02,720 想刻有Daven南瓜 和加布等人,RSVP的頭 47 00:02:02,720 --> 00:02:04,480 在cs50.harvard.edu地址。 48 00:02:04,480 --> 00:02:06,200 它有望成為很大的樂趣。 49 00:02:06,200 --> 00:02:08,660 Daven,我們被告知,已刻 南瓜他所有的生活。 50 00:02:08,660 --> 00:02:11,930 加布里埃爾來自巴西從未 雕刻南瓜的萬聖節。 51 00:02:11,930 --> 00:02:14,700 所以在那裡與他們他在學習。 52 00:02:14,700 --> 00:02:16,830 >> 研討會,meanwhile-- 所以你很快就學會 53 00:02:16,830 --> 00:02:20,650 什麼我們的期望是 最後的項目,基本上 54 00:02:20,650 --> 00:02:23,150 將歸結為 設計和實現 55 00:02:23,150 --> 00:02:26,440 最感興趣的任何項目 你,雖然經審批 56 00:02:26,440 --> 00:02:28,490 從你的教學研究員的指導。 57 00:02:28,490 --> 00:02:32,110 朝的結束 學期中,我們介紹了一些 58 00:02:32,110 --> 00:02:35,610 研討會,這是可選的類 為首的教學研究員和哈佛 59 00:02:35,610 --> 00:02:38,570 工作人員,橫跨朋友,當然 校園裡,各種主題, 60 00:02:38,570 --> 00:02:41,470 相切的 課程的基本大綱 61 00:02:41,470 --> 00:02:45,590 但仍然適用的,有趣的, 不同的潛在最終的項目。 62 00:02:45,590 --> 00:02:49,530 >> 例如,第一,如果你想 註冊,頭部到網址那裡。 63 00:02:49,530 --> 00:02:53,010 這就是陣容 今年的研討會孤單。 64 00:02:53,010 --> 00:02:56,060 但要意識到我們有幾十個 從過去幾年的研討會,所有這些 65 00:02:56,060 --> 00:02:59,774 在研討會菜單鏈接 課程網站的選項。 66 00:02:59,774 --> 00:03:02,190 所以,如果你正在考慮 超越你的舒適區 67 00:03:02,190 --> 00:03:05,060 或者挑一些新的技能, 例如,編程iPhone 68 00:03:05,060 --> 00:03:08,100 與雨燕,新的語言的應用程序 蘋果或Objective-C的 69 00:03:08,100 --> 00:03:11,230 或Android應用程序或編程[? CUE?] 燈泡,或任何的主題 70 00:03:11,230 --> 00:03:15,490 在這裡,更由於支票 從註冊頁面。 71 00:03:15,490 --> 00:03:19,730 >> 所以我們開始和結束的 與看著HTTP週一 72 00:03:19,730 --> 00:03:22,675 這麼快refresher-- HTTP, 超文本傳輸協議。 73 00:03:22,675 --> 00:03:24,045 但是,這究竟意味著什麼? 74 00:03:24,045 --> 00:03:26,805 75 00:03:26,805 --> 00:03:27,930 這是什麼意思呢? 76 00:03:27,930 --> 00:03:30,665 77 00:03:30,665 --> 00:03:31,290 那是一隻手? 78 00:03:31,290 --> 00:03:33,074 79 00:03:33,074 --> 00:03:34,740 我知道你只是摸不著頭腦。 80 00:03:34,740 --> 00:03:36,400 但是你要提出HTTP是什麼? 81 00:03:36,400 --> 00:03:37,792 82 00:03:37,792 --> 00:03:40,576 >> 聽眾:如何電腦 與[聽不清]通信。 83 00:03:40,576 --> 00:03:41,517 84 00:03:41,517 --> 00:03:43,100 大衛·馬蘭:我錯過了最後一部分。 85 00:03:43,100 --> 00:03:45,774 計算機通信with-- 86 00:03:45,774 --> 00:03:47,325 >> 聽眾:互聯網服務器。 87 00:03:47,325 --> 00:03:50,450 大衛·馬蘭:Good--與互聯網 服務器,並且具體地,網絡服務器。 88 00:03:50,450 --> 00:03:53,533 因為回憶,有一堆 在互聯網上的服務,其中的一些 89 00:03:53,533 --> 00:03:57,349 你可能使用的日常聊天的 和消息,聊天和Web和電子郵件, 90 00:03:57,349 --> 00:03:57,890 等。 91 00:03:57,890 --> 00:04:00,900 和HTTP僅僅是 協議的Web瀏覽器 92 00:04:00,900 --> 00:04:03,750 溝通與說話的時候 Web服務器,反之亦然。 93 00:04:03,750 --> 00:04:05,580 並且,在該模擬 人類世界可能是, 94 00:04:05,580 --> 00:04:08,730 我伸出我的手有些抖 其他人的,他(或她) 95 00:04:08,730 --> 00:04:11,970 確認通過擴展 他或她的手為好。 96 00:04:11,970 --> 00:04:13,970 所以,這只是一個協議, 一組約定。 97 00:04:13,970 --> 00:04:15,630 >> 什麼確實是這些公約? 98 00:04:15,630 --> 00:04:18,640 那麼,它只是歸結為 發送郵件來回, 99 00:04:18,640 --> 00:04:19,770 因為我們在這裡描述。 100 00:04:19,770 --> 00:04:22,520 還有的在幾個方面 您可以發送這些消息。 101 00:04:22,520 --> 00:04:24,360 也許最 常見的被稱為GET。 102 00:04:24,360 --> 00:04:26,510 我們會看到一個對比 這之前很長。 103 00:04:26,510 --> 00:04:30,010 >> 但是,從瀏覽器中的GET請求 服務器只是看起來像這樣。 104 00:04:30,010 --> 00:04:32,960 這是一堆文字,它使得 裡面的一個虛擬的信封。 105 00:04:32,960 --> 00:04:35,854 在該包絡線的外側 走了幾個片段的細節。 106 00:04:35,854 --> 00:04:37,770 有什麼需要去上 信封,可以這麼說, 107 00:04:37,770 --> 00:04:41,820 為了得到這樣的一個請求 這從我的Web服務器? 108 00:04:41,820 --> 00:04:42,320 是啊。 109 00:04:42,320 --> 00:04:43,270 >> 聽眾:您的IP地址。 110 00:04:43,270 --> 00:04:45,890 >> 大衛·馬蘭:我的IP地址 在From字段,可以這麼說, 111 00:04:45,890 --> 00:04:49,490 並且,當然,在 接收方的IP地址。 112 00:04:49,490 --> 00:04:52,710 但在網絡分組的情況下, 我們需要更多的細節 113 00:04:52,710 --> 00:04:55,254 這是不夠的只是 送的包絡線到一台服務器, 114 00:04:55,254 --> 00:04:57,670 因為該服務器可能 聽不同類型的 115 00:04:57,670 --> 00:04:59,180 互聯網流量。 116 00:04:59,180 --> 00:05:01,370 那麼還有什麼需要我們 除了收件人的IP? 117 00:05:01,370 --> 00:05:02,723 118 00:05:02,723 --> 00:05:03,222 是嗎? 119 00:05:03,222 --> 00:05:04,241 >> 聽眾:是不是TCP? 120 00:05:04,241 --> 00:05:05,074 大衛·馬蘭:好。 121 00:05:05,074 --> 00:05:06,470 TCP-- 122 00:05:06,470 --> 00:05:07,340 >> 聽眾:地址。 123 00:05:07,340 --> 00:05:09,340 >> 大衛·馬蘭:地址, 或端口,因為它被稱為。 124 00:05:09,340 --> 00:05:11,010 接近,但一TCP端口號。 125 00:05:11,010 --> 00:05:12,220 並有一堆這些。 126 00:05:12,220 --> 00:05:14,310 但肯定是最 熟悉最終應 127 00:05:14,310 --> 00:05:17,590 是80,這是默認 1用於Web流量。 128 00:05:17,590 --> 00:05:20,040 而另一位熟悉 1很快就會443, 129 00:05:20,040 --> 00:05:24,280 這是用於安全網絡 交通,即開始以https網址。 130 00:05:24,280 --> 00:05:26,650 >> 原來這就是雲 裡面那個信封。 131 00:05:26,650 --> 00:05:29,780 並獲得/只是手段,給 我的默認網頁。 132 00:05:29,780 --> 00:05:32,700 給我的硬盤的根目錄 開車的Web服務器上。 133 00:05:32,700 --> 00:05:36,050 並希望,在網絡 服務器將,OK響應 134 00:05:36,050 --> 00:05:39,630 及數量200,這僅僅是 公約說,是的,所有的 135 00:05:39,630 --> 00:05:40,470 的確確定。 136 00:05:40,470 --> 00:05:41,680 這裡的頁面。 137 00:05:41,680 --> 00:05:45,510 所述網頁的類型是要 是文字,但更具體地,HTML 138 00:05:45,510 --> 00:05:47,010 我們正要潛入回。 139 00:05:47,010 --> 00:05:49,877 和點點點只是 手段,這裡是HTML。 140 00:05:49,877 --> 00:05:51,710 而這也正是我們 今天拿起故事, 141 00:05:51,710 --> 00:05:55,740 實際編寫HTML, 超文本標記語言,它 142 00:05:55,740 --> 00:05:57,727 是語言中 網頁被寫入。 143 00:05:57,727 --> 00:05:59,060 這是不是一種編程語言。 144 00:05:59,060 --> 00:06:01,270 有沒有功能 或循環或條件。 145 00:06:01,270 --> 00:06:03,800 它是一種標記語言, 也再次看到今天, 146 00:06:03,800 --> 00:06:07,240 它允許您指定 如何構建和風格化 147 00:06:07,240 --> 00:06:09,300 美學上的網頁。 148 00:06:09,300 --> 00:06:11,470 >> 所以這是一個 我們只有真正的頁面 149 00:06:11,470 --> 00:06:13,930 看了看,如果簡單地說,在星期一。 150 00:06:13,930 --> 00:06:16,250 並注意到一些 顯著特點。 151 00:06:16,250 --> 00:06:20,170 有很多開放的彎角 支架和關閉角度的支架。 152 00:06:20,170 --> 00:06:23,160 在這些彎角之間 括號內的話。 153 00:06:23,160 --> 00:06:25,660 我們要開始 調用這些話的標籤。 154 00:06:25,660 --> 00:06:28,800 因此,開放式支架頭 與封閉的支架頭 155 00:06:28,800 --> 00:06:33,620 是在打開和關閉標記, 或在開始和結束標記 156 00:06:33,620 --> 00:06:37,660 HTML元素的分別, 因為我們把它叫做,稱為頭。 157 00:06:37,660 --> 00:06:41,760 和相同的專業術語適用 到身體中的HTML等。 158 00:06:41,760 --> 00:06:43,970 >> 什麼是不錯的 HTML--而事實上,我們將 159 00:06:43,970 --> 00:06:47,187 花非常少的時間就可以了, 因為你大多只是弄清楚 160 00:06:47,187 --> 00:06:49,770 什麼功能它都有,當你 其實有一個具體的問題, 161 00:06:49,770 --> 00:06:52,820 以solve--你會發現, 瀏覽器是非常愚蠢的。 162 00:06:52,820 --> 00:06:56,450 它只是要do--沒有什麼不同 一個computer--你告訴它的事情。 163 00:06:56,450 --> 00:06:59,279 因此,如果你已經打開 支架HTML在最高層 164 00:06:59,279 --> 00:07:01,320 那裡,基本上 只是意味著,嘿嘿,瀏覽器, 165 00:07:01,320 --> 00:07:04,090 這裡談到HTML編寫的網頁。 166 00:07:04,090 --> 00:07:06,130 >> 當它看到開放式支架 頭,這只是意味著, 167 00:07:06,130 --> 00:07:10,350 哎,瀏覽器,來了頭, 我的網頁最上面的部分。 168 00:07:10,350 --> 00:07:14,192 當它看到一個封閉的支架 頭,那只是意味著,嘿嘿, 169 00:07:14,192 --> 00:07:15,150 這就是它的頭部。 170 00:07:15,150 --> 00:07:16,420 待機別的東西。 171 00:07:16,420 --> 00:07:18,878 和別的東西是 顯然將是本體。 172 00:07:18,878 --> 00:07:22,630 而當你沒有一個標籤,像 你剛才你好,逗號,世界, 173 00:07:22,630 --> 00:07:26,610 這只是將是原始文本 最終顯示在屏幕上。 174 00:07:26,610 --> 00:07:29,220 >> 現在,你會發現太多 這裡的壓痕。 175 00:07:29,220 --> 00:07:32,160 你大概可以推斷出 怎麼我們風格化了。 176 00:07:32,160 --> 00:07:34,850 每當我打開一個標籤, 可以這麼說,我縮進。 177 00:07:34,850 --> 00:07:38,540 每次我關閉 一個標籤,我取消縮進, 178 00:07:38,540 --> 00:07:40,690 類似的精神,大括號。 179 00:07:40,690 --> 00:07:43,470 而除此之外,我是那種 用我的判斷。 180 00:07:43,470 --> 00:07:48,380 請注意,我沒有打擾打 請輸入標題標籤裡面。 181 00:07:48,380 --> 00:07:48,990 為什麼呢? 182 00:07:48,990 --> 00:07:51,920 好吧,我剛剛決定它看起來 少許清潔劑給我,人, 183 00:07:51,920 --> 00:07:53,181 只是懶得做。 184 00:07:53,181 --> 00:07:54,930 如此反复,有一些 判決稱只是 185 00:07:54,930 --> 00:07:57,670 好像有C或任何語言。 186 00:07:57,670 --> 00:08:04,110 >> 但是請注意過,這個壓痕 適合於一個心智模式, 187 00:08:04,110 --> 00:08:05,670 不要過度複雜化。 188 00:08:05,670 --> 00:08:07,020 但是,一棵樹,對不對? 189 00:08:07,020 --> 00:08:09,290 如果你想一個網站 頁,顯然寫 190 00:08:09,290 --> 00:08:12,050 這樣,作為被 很好地縮進的方式, 191 00:08:12,050 --> 00:08:17,390 你幾乎可以認為開放式支架 HTML封閉的支架標記標定 192 00:08:17,390 --> 00:08:21,380 一個節點的根,一個家譜 在樹上的款式風格節點 193 00:08:21,380 --> 00:08:22,900 我們研究了上週五。 194 00:08:22,900 --> 00:08:27,630 >> 事實上,我們在這裡的權利 我們會打電話給一個DOM,D-O-M,文檔 195 00:08:27,630 --> 00:08:31,680 對象模型中,說一個奇特的方式 表示該HTML樹。 196 00:08:31,680 --> 00:08:36,140 並注意HTML有,我們會說, 就像一個家庭樹,兩個孩子。 197 00:08:36,140 --> 00:08:37,659 左邊是頭。 198 00:08:37,659 --> 00:08:39,179 右邊是身體。 199 00:08:39,179 --> 00:08:44,220 >> 而且,正如一個無意識的思想運動, 當然,頭,有多少孩子 200 00:08:44,220 --> 00:08:46,070 根據這個結構? 201 00:08:46,070 --> 00:08:48,200 所以只有一個,title-- 這就是為什麼我們有 202 00:08:48,200 --> 00:08:50,580 箭頭從頭部將標題。 203 00:08:50,580 --> 00:08:55,110 因此,這好像是人在 家族樹剛一後代。 204 00:08:55,110 --> 00:08:58,230 然後標題本身就 可以說有一個孩子了。 205 00:08:58,230 --> 00:09:01,780 >> 回想一下,在HTML有 你好,逗號,在它下面的世界。 206 00:09:01,780 --> 00:09:06,090 而我只是一個在它繪製 橢圓形而不是矩形剛 207 00:09:06,090 --> 00:09:10,559 傳達語義,即使 它是樹中的一個節點,可以這麼說, 208 00:09:10,559 --> 00:09:12,100 這有點本質的不同。 209 00:09:12,100 --> 00:09:12,800 這不是一個標籤。 210 00:09:12,800 --> 00:09:14,780 或者更確切地說,它不是一個元素。 211 00:09:14,780 --> 00:09:16,590 這只是一個文本節點,如果你願意。 212 00:09:16,590 --> 00:09:18,990 但是,這些是完全 任意人的約定。 213 00:09:18,990 --> 00:09:23,180 這是剛才我的方式 代表我會作為一個集合體 214 00:09:23,180 --> 00:09:24,340 調用該文檔。 215 00:09:24,340 --> 00:09:27,750 >> 而作為一個在旁邊,在事 超級左上角, 216 00:09:27,750 --> 00:09:32,080 開放式托架感嘆號文檔 HTML類型,這就像是一個標籤, 217 00:09:32,080 --> 00:09:35,560 但它是愚蠢的角落情況 這只是在那裡,複製和粘貼 218 00:09:35,560 --> 00:09:38,460 來指示瀏覽器 這是HTML 5版本。 219 00:09:38,460 --> 00:09:41,540 世界在不斷變化的是什麼 代碼在頁面的第一行應該是。 220 00:09:41,540 --> 00:09:43,820 這也就意味著5版本。 221 00:09:43,820 --> 00:09:45,950 所以它完全不是那麼回事 看起來像其他人。 222 00:09:45,950 --> 00:09:48,120 >> 好吧,讓與 說,現在你會明白 223 00:09:48,120 --> 00:09:50,767 這還算這種愚蠢的 紋身的人了。 224 00:09:50,767 --> 00:09:51,990 >> [笑] 225 00:09:51,990 --> 00:09:54,210 >> 大衛·馬蘭:好吧, 現在,讓我們真正的潛水 226 00:09:54,210 --> 00:09:55,710 為做一些與此有關。 227 00:09:55,710 --> 00:09:58,610 你會記得,最後一次 我打開了CS50電器 228 00:09:58,610 --> 00:10:01,650 我做了一件為 簡單的開放gedit中。 229 00:10:01,650 --> 00:10:05,190 我保存的文件即使在 我desktop--無處special-- 230 00:10:05,190 --> 00:10:05,870 為hello.html的。 231 00:10:05,870 --> 00:10:07,100 232 00:10:07,100 --> 00:10:10,984 >> 因此,讓我這樣做 again-- hello.html的輸入。 233 00:10:10,984 --> 00:10:13,900 現在,在這個文件中,我將 繼續前進,複製我們剛剛 234 00:10:13,900 --> 00:10:18,850 saw--文檔類型的HTML然後我要去 做開放式支架HTML封閉支架。 235 00:10:18,850 --> 00:10:21,890 然後我要先發製人 打開和關閉標記。 236 00:10:21,890 --> 00:10:22,390 為什麼呢? 237 00:10:22,390 --> 00:10:23,598 只是讓我不要忘了後面。 238 00:10:23,598 --> 00:10:26,850 這是一個好的做法,比如開放 閉花括號的一次。 239 00:10:26,850 --> 00:10:28,900 >> 然後呢緊隨其後? 240 00:10:28,900 --> 00:10:30,582 你能想到的紋身。 241 00:10:30,582 --> 00:10:31,450 >> 聽眾:頭。 242 00:10:31,450 --> 00:10:32,500 >> 大衛·馬蘭:頭。 243 00:10:32,500 --> 00:10:36,020 然後在這裡,我 有標題,我想。 244 00:10:36,020 --> 00:10:39,886 而標題是隨意, 你好,世界接近冠軍。 245 00:10:39,886 --> 00:10:42,760 再往下這裡,身體的, course--那麼我們關閉body標籤。 246 00:10:42,760 --> 00:10:45,660 然後只是有些冗餘, 我有同樣的事情到這裡。 247 00:10:45,660 --> 00:10:47,150 >> 所以我說這是一個網頁。 248 00:10:47,150 --> 00:10:49,050 這是後話了 現在可以生活在網絡上, 249 00:10:49,050 --> 00:10:51,925 儘管,當然,它的字面意思 住在我的桌面上現在。 250 00:10:51,925 --> 00:10:55,837 不過說實在的,如果我減少gedit中, 我將我的桌面圖標上看到的。 251 00:10:55,837 --> 00:10:58,420 即使是這樣的設備, 你可以這樣做在Mac OS 252 00:10:58,420 --> 00:11:01,580 沒有TextEdit或 窗戶用記事本偶數。 253 00:11:01,580 --> 00:11:06,115 >> 如果我繼續和雙擊 即使和選擇 - 好了,讓我們 254 00:11:06,115 --> 00:11:07,990 沒有選擇,因為 Chrome的不開放。 255 00:11:07,990 --> 00:11:09,281 讓我們繼續前進,打開瀏覽器。 256 00:11:09,281 --> 00:11:10,160 257 00:11:10,160 --> 00:11:14,040 然後執行命令-O開放 並導航到我的桌面 258 00:11:14,040 --> 00:11:15,320 並打開文件。 259 00:11:15,320 --> 00:11:20,120 這是怎樣一個瀏覽器解釋 HTML中,從上到下,從左到右。 260 00:11:20,120 --> 00:11:21,314 嘿,瀏覽器這裡的HTML。 261 00:11:21,314 --> 00:11:21,980 這裡的負責人。 262 00:11:21,980 --> 00:11:23,250 這裡的稱號。 263 00:11:23,250 --> 00:11:24,090 這裡的身體。 264 00:11:24,090 --> 00:11:26,620 事實上,這是怎麼 它呈現的網頁。 265 00:11:26,620 --> 00:11:27,800 >> 但是要注意的URL。 266 00:11:27,800 --> 00:11:32,430 沒有,你可以拉起來這個特定的 在您的筆記本電腦的頁面,現在, 267 00:11:32,430 --> 00:11:34,910 甚至裡面的 通過該URL家電, 268 00:11:34,910 --> 00:11:40,130 因為文件://表明它實際上 在我的文件系統,我的硬盤, 269 00:11:40,130 --> 00:11:40,990 不是你的。 270 00:11:40,990 --> 00:11:42,440 因此,這是不是所有的有用。 271 00:11:42,440 --> 00:11:44,940 >> 現在,讓我們走向移動 用一個實際的Web服務器。 272 00:11:44,940 --> 00:11:48,309 而事實證明,在CS50電器 不僅僅是一個環境, 273 00:11:48,309 --> 00:11:51,100 你可以寫C代碼和編譯 並運行它,就像你一直在做。 274 00:11:51,100 --> 00:11:55,500 它也已被配置成通過所述 人員來表示一個典型的網絡 275 00:11:55,500 --> 00:11:58,290 服務器在Internet上, 可能是你付 276 00:11:58,290 --> 00:12:00,210 或一個就是在所謂的雲。 277 00:12:00,210 --> 00:12:02,600 >> 而且它的運行 標準的開源免費 278 00:12:02,600 --> 00:12:06,160 軟件,例如,一些 叫阿帕奇,這也許是 279 00:12:06,160 --> 00:12:08,700 仍然是最流行的Web 在世界上的服務器軟件 280 00:12:08,700 --> 00:12:11,030 成千上萬的網站今天使用。 281 00:12:11,030 --> 00:12:13,420 它甚至還可以有 軟件如MySQL, 282 00:12:13,420 --> 00:12:16,240 這是一個數據庫服務器 我們最終會到達, 283 00:12:16,240 --> 00:12:18,330 這僅僅是說 我可以開始治療 284 00:12:18,330 --> 00:12:22,040 我的設備作為一個完全成熟的服務器 我不是支付其他地方。 285 00:12:22,040 --> 00:12:25,980 它只是生活在自己的筆記本電腦 發展和方便的目的。 286 00:12:25,980 --> 00:12:27,870 >> 因此,讓我們繼續前進, 利用這一點。 287 00:12:27,870 --> 00:12:30,120 我要繼續前進, 打開一個終端窗口。 288 00:12:30,120 --> 00:12:33,030 而且我要繼續前進, move--實際上,第一個我 289 00:12:33,030 --> 00:12:34,860 要導航到我的桌面。 290 00:12:34,860 --> 00:12:36,400 如果我做LS,有hello.html的。 291 00:12:36,400 --> 00:12:37,022 292 00:12:37,022 --> 00:12:38,730 我要去 未來,並開始使用 293 00:12:38,730 --> 00:12:40,800 我們已經新目錄 在今天之前不能使用。 294 00:12:40,800 --> 00:12:46,840 >> hello.html--我要動 以../vhosts虛擬hosts-- 295 00:12:46,840 --> 00:12:50,940 更多的,在未來 - 然後 到一個名為localhost目錄下, 296 00:12:50,940 --> 00:12:54,420 這是考慮到幾乎暱稱 任何一台電腦,無論是在Mac,PC, 297 00:12:54,420 --> 00:12:57,560 或Linux計算機,然後 具體到一個目錄中,我們, 298 00:12:57,560 --> 00:13:01,260 工作人員已為您創建的時候 您下載的所謂家電 299 00:13:01,260 --> 00:13:01,760 公眾。 300 00:13:01,760 --> 00:13:04,551 正如它的名字所暗示的,任何事情 我把這個文件夾中,在理論上, 301 00:13:04,551 --> 00:13:07,790 是要現在是 公開的,至少人 302 00:13:07,790 --> 00:13:10,030 直接誰擁有 連接到我的電腦。 303 00:13:10,030 --> 00:13:13,160 >> 所以,現在讓我繼續前進, 做cd到同一個目錄下 304 00:13:13,160 --> 00:13:15,490 這樣我就可以看到什麼 怎麼回事,輸入ls。 305 00:13:15,490 --> 00:13:17,630 事實上,這就是 在那裡嘛。 306 00:13:17,630 --> 00:13:23,250 我現在,因為我已​​經把這種說法 文件hello.html的一個目錄的內 307 00:13:23,250 --> 00:13:26,940 稱為目錄的公開內 目錄內為localhost 308 00:13:26,940 --> 00:13:29,810 所謂虛擬主機,這 感謝CS50人員 309 00:13:29,810 --> 00:13:34,390 已被預先配置成 您的Web服務器的根目錄, 310 00:13:34,390 --> 00:13:36,900 我現在希望能做到這一點。 311 00:13:36,900 --> 00:13:38,390 >> 我要開闢一個新的選項卡。 312 00:13:38,390 --> 00:13:40,090 我要去不予立案://。 313 00:13:40,090 --> 00:13:44,520 我將用實際 HTTP / localhost,該 314 00:13:44,520 --> 00:13:47,470 再次,是暱稱 對於我自己的服務器。 315 00:13:47,470 --> 00:13:51,085 然後我會去到什麼 文件名,只是要清楚嗎? 316 00:13:51,085 --> 00:13:52,680 317 00:13:52,680 --> 00:13:54,320 哪裡是這個故事的大概走向何方? 318 00:13:54,320 --> 00:13:56,066 319 00:13:56,066 --> 00:13:56,565 hello.html的。 320 00:13:56,565 --> 00:13:58,350 321 00:13:58,350 --> 00:14:04,270 >> 所以,換句話說,我想現在這個 是我自己的電腦,我自己的家電, 322 00:14:04,270 --> 00:14:05,660 就好像它是一個真正的服務器。 323 00:14:05,660 --> 00:14:07,490 它的綽號為localhost。 324 00:14:07,490 --> 00:14:10,210 不過想想本地主機作為像 Facebook.com google.com,等等。 325 00:14:10,210 --> 00:14:11,600 這只是我的本地名稱。 326 00:14:11,600 --> 00:14:14,810 然後最終我要的是在 硬盤驅動器的根目錄,可以這麼說, 327 00:14:14,810 --> 00:14:17,729 或Web服務器的根, ERGO正斜杠,然後 328 00:14:17,729 --> 00:14:18,770 文件名hello.html的。 329 00:14:18,770 --> 00:14:19,880 330 00:14:19,880 --> 00:14:21,930 >> 讓我縮小並按下回車鍵。 331 00:14:21,930 --> 00:14:24,266 事實上,現在有我的網頁。 332 00:14:24,266 --> 00:14:25,390 因此,它是略有不同的。 333 00:14:25,390 --> 00:14:26,880 它只是為給人留下深刻印象。 334 00:14:26,880 --> 00:14:27,904 這是舊版本。 335 00:14:27,904 --> 00:14:29,070 讓我縮小字體回去。 336 00:14:29,070 --> 00:14:29,745 這是老了。 337 00:14:29,745 --> 00:14:30,890 這是新的。 338 00:14:30,890 --> 00:14:35,430 但是,什麼是根本上發生的事情 現在是HTTP的正在被使用。 339 00:14:35,430 --> 00:14:39,344 >> 讓我們把這個更加清楚一點,或者, 如果你願意,更複雜一點。 340 00:14:39,344 --> 00:14:41,760 讓我去右下角 角落我的設備的。 341 00:14:41,760 --> 00:14:44,000 並注意到這一切 時間,還有的是一個數字。 342 00:14:44,000 --> 00:14:47,330 這是唯一的地址 您CS50電器。 343 00:14:47,330 --> 00:14:50,800 這是一個私有地址, 所暗示的172.16, 344 00:14:50,800 --> 00:14:53,860 只有您身體只是手段 可以訪問這個Web服務器。 345 00:14:53,860 --> 00:14:56,340 一切都和防火牆 很好地保護,其餘 346 00:14:56,340 --> 00:14:58,130 因為這個世界的尋址。 347 00:14:58,130 --> 00:15:01,920 >> 現在發現,雖然如果我去 這個地址,而不是在我的器具, 348 00:15:01,920 --> 00:15:04,340 但在Mac OS--我要去 回頭看過來。 349 00:15:04,340 --> 00:15:05,930 這是我的Mac了。 350 00:15:05,930 --> 00:15:08,460 而現在我要去開拓 這個版本的Chrome瀏覽器在這裡。 351 00:15:08,460 --> 00:15:17,370 我要去到http://172.16.25 /我忘了rest-- 133。 352 00:15:17,370 --> 00:15:25,210 >> 所以我打算從我的Mac訪問 該IP地址/hello.html輸入。 353 00:15:25,210 --> 00:15:29,850 而現在,我從我的Mac看 我的CS50電器,誰的 354 00:15:29,850 --> 00:15:32,600 IP地址是 數,的確表現 355 00:15:32,600 --> 00:15:34,320 像在互聯網上的web服務器。 356 00:15:34,320 --> 00:15:36,944 它沒有一個很好的容易 記得名字一樣Facebook.com, 357 00:15:36,944 --> 00:15:40,370 但它使用HTTP 顯然,即使鉻 358 00:15:40,370 --> 00:15:43,560 一種是簡化了的世界 對我們來說卻沒有向我們展示HTTP。 359 00:15:43,560 --> 00:15:46,210 但是,這確實是完全相同的。 360 00:15:46,210 --> 00:15:48,470 Chrome瀏覽器只是節省一些 擊鍵這些天。 361 00:15:48,470 --> 00:15:50,530 這就是我們現在看到的。 362 00:15:50,530 --> 00:15:51,890 >> 所以這是一切優秀和良好。 363 00:15:51,890 --> 00:15:53,740 但是,這是一個非常深刻印象的頁面。 364 00:15:53,740 --> 00:15:56,230 讓我進去做什麼 有一點不同了。 365 00:15:56,230 --> 00:15:57,910 因此,讓我回去gedit中。 366 00:15:57,910 --> 00:16:00,580 而代替打招呼, 世界,讓我們把圖像。 367 00:16:00,580 --> 00:16:05,880 我從before--讓我去稱 進入我的本地目錄中公佈。 368 00:16:05,880 --> 00:16:10,580 讓我繼續前進,複製 一大堆從今天的文件 369 00:16:10,580 --> 00:16:15,633 從我的Dropbox文件夾複製到這裡。 370 00:16:15,633 --> 00:16:19,470 371 00:16:19,470 --> 00:16:21,680 >> 現在,如果我輸入ls,看 在所有這些文件 372 00:16:21,680 --> 00:16:24,940 我已經通過分佈 當然網站提前的今天, 373 00:16:24,940 --> 00:16:26,830 其中之一是靜止hello.html的。 374 00:16:26,830 --> 00:16:27,830 因此,有那一個。 375 00:16:27,830 --> 00:16:30,730 而回憶這段痴心一片 從去年時間 - cat.jpg。 376 00:16:30,730 --> 00:16:34,550 所以讓我嘗試嵌入 cat.jpg我的網頁裡。 377 00:16:34,550 --> 00:16:37,690 >> 我要繼續前進 做cat.jpg,保存。 378 00:16:37,690 --> 00:16:38,950 讓我再回到瀏覽器。 379 00:16:38,950 --> 00:16:41,140 讓我放大了 字體現在重裝。 380 00:16:41,140 --> 00:16:43,090 381 00:16:43,090 --> 00:16:45,030 哎呀,在這裡我把這個? 382 00:16:45,030 --> 00:16:48,210 383 00:16:48,210 --> 00:16:51,520 Standby--我還有老 版本從桌面打開。 384 00:16:51,520 --> 00:16:56,020 因此,讓我進入我的虛擬主機,我 本地主機,我的公開和hello.html的。 385 00:16:56,020 --> 00:16:57,320 386 00:16:57,320 --> 00:17:00,670 所以,現在讓我繼續前進, 說主體的內部cat.jpg 387 00:17:00,670 --> 00:17:02,830 在這裡我希望它是 顯示並重新加載。 388 00:17:02,830 --> 00:17:04,560 當然,這是不正確的。 389 00:17:04,560 --> 00:17:08,050 >> 所以,我需要告訴瀏覽器一點點 更刻意就是我想要做的事。 390 00:17:08,050 --> 00:17:10,210 只需鍵入名稱是 顯然不充分。 391 00:17:10,210 --> 00:17:15,134 所以,記得還有一個 標籤,圖像,IMG的簡稱。 392 00:17:15,134 --> 00:17:17,550 這僅僅是因為人類 不喜歡的類型完整的單詞。 393 00:17:17,550 --> 00:17:19,050 然後我們可以做源=“cat.jpg”。 394 00:17:19,050 --> 00:17:21,470 395 00:17:21,470 --> 00:17:23,550 >> 現在我該怎麼辦 有一點不同的位置。 396 00:17:23,550 --> 00:17:25,390 即使所有的 我們的標籤迄今有 397 00:17:25,390 --> 00:17:28,086 過了這個概念 開始標記和結束標記, 398 00:17:28,086 --> 00:17:30,210 這並沒有真正 有意義的圖像,對不對? 399 00:17:30,210 --> 00:17:32,430 圖像或者是有還是沒有出現。 400 00:17:32,430 --> 00:17:36,650 這樣一來,人類發展, 了一個簡單的約定。 401 00:17:36,650 --> 00:17:40,310 當你有一個標記,既可以 開始和結束於相同的時間 - 402 00:17:40,310 --> 00:17:43,790 它可以是空的,所以speak--剛 把正斜杠標籤內 403 00:17:43,790 --> 00:17:44,710 在最後。 404 00:17:44,710 --> 00:17:45,776 405 00:17:45,776 --> 00:17:47,150 現在讓我回到我的瀏覽器。 406 00:17:47,150 --> 00:17:50,377 打刷新媽的,什麼是錯的。 407 00:17:50,377 --> 00:17:52,460 你可能已經看到了這個 偶爾在網絡上, 408 00:17:52,460 --> 00:17:53,600 即使它沒有得到你的錯。 409 00:17:53,600 --> 00:17:54,766 這是Web服務器的故障。 410 00:17:54,766 --> 00:17:56,240 什麼頌歌這似乎預示? 411 00:17:56,240 --> 00:17:57,450 412 00:17:57,450 --> 00:17:58,009 這是壞了。 413 00:17:58,009 --> 00:17:59,300 這就是圖像所屬。 414 00:17:59,300 --> 00:17:59,700 是嗎? 415 00:17:59,700 --> 00:18:01,560 >> 聽眾:但它不 可以訪問該圖像。 416 00:18:01,560 --> 00:18:03,070 >> 大衛·馬蘭:這不 可以訪問該圖像。 417 00:18:03,070 --> 00:18:05,230 也就是說,甚至更糟,也許 它甚至不存在。 418 00:18:05,230 --> 00:18:06,729 讓我們來看看,如果我們不能診斷的。 419 00:18:06,729 --> 00:18:09,390 從最後一次回想一下,如果 在Chrome中,在家電, 420 00:18:09,390 --> 00:18:11,870 甚至在您的Mac或PC, 你去Developer菜單 421 00:18:11,870 --> 00:18:14,650 並轉到開發工具 選項,這可能是你已經 422 00:18:14,650 --> 00:18:16,850 不使用過多或過。 423 00:18:16,850 --> 00:18:20,780 如果我去網 並重新加載頁面, 424 00:18:20,780 --> 00:18:24,110 讓我們來實際看一下HTTP 正在做出該請求。 425 00:18:24,110 --> 00:18:28,400 >> 它看起來像hello.html的是 確實好,因此200。 426 00:18:28,400 --> 00:18:30,630 但cat.jpg是403。 427 00:18:30,630 --> 00:18:31,650 所以它不是一個404。 428 00:18:31,650 --> 00:18:33,490 文件可能存在。 429 00:18:33,490 --> 00:18:35,250 403是指禁止。 430 00:18:35,250 --> 00:18:37,790 所以這是一個有點混亂。 431 00:18:37,790 --> 00:18:42,340 我要回去 我的終端窗口。 432 00:18:42,340 --> 00:18:43,700 讓我放大了這裡。 433 00:18:43,700 --> 00:18:44,750 讓我做一個LS。 434 00:18:44,750 --> 00:18:46,430 有那些相同的文件。 435 00:18:46,430 --> 00:18:49,410 >> 現在讓我做了LS-L, 這你可能 436 00:18:49,410 --> 00:18:53,350 之前看文件中使用 尺寸可能或時間戳。 437 00:18:53,350 --> 00:18:55,590 而且我們看到一大堆 鋪天蓋地的信息。 438 00:18:55,590 --> 00:18:57,040 但是要注意一些細節。 439 00:18:57,040 --> 00:19:01,660 下面是hello.html的本 排在這裡和這裡的cat.jpg。 440 00:19:01,660 --> 00:19:02,934 441 00:19:02,934 --> 00:19:05,850 它只是家電是 用戶通過突出顯示JPEG友好 442 00:19:05,850 --> 00:19:07,380 紫色是這樣的。 443 00:19:07,380 --> 00:19:11,470 但是,什麼是不同的旁邊 文件大小和文件名? 444 00:19:11,470 --> 00:19:13,438 445 00:19:13,438 --> 00:19:14,754 >> 聽眾:[聽不清]。 446 00:19:14,754 --> 00:19:16,920 大衛·馬蘭:是啊,有 2多個R的看過來。 447 00:19:16,920 --> 00:19:20,170 注意什麼hello.html的已回事。 448 00:19:20,170 --> 00:19:24,050 所以,事實證明,名稱 這個目錄公開是很重要的。 449 00:19:24,050 --> 00:19:26,400 任何在此目錄中 是指被公開。 450 00:19:26,400 --> 00:19:28,790 但是,這還不夠 只是在那裡放文件。 451 00:19:28,790 --> 00:19:31,480 你還需要改變 的文件的模式, 452 00:19:31,480 --> 00:19:35,180 更改的權限 該文件不主動 453 00:19:35,180 --> 00:19:37,650 是默認設置, 這是只有我能讀懂 454 00:19:37,650 --> 00:19:39,220 寫吧,我是主人。 455 00:19:39,220 --> 00:19:43,540 我想全世界的每個人都來 能讀懂我的文件,可以這麼說。 456 00:19:43,540 --> 00:19:44,950 閱讀只是手段進行查看。 457 00:19:44,950 --> 00:19:49,780 >> 事實上,正如你會在看到問題 設置7,這就是這些R的意思。 458 00:19:49,780 --> 00:19:53,160 這兩個R的意思讓大家 在世界其他也讀它, 459 00:19:53,160 --> 00:19:55,300 尤其是現在, 這是該目錄中。 460 00:19:55,300 --> 00:19:59,620 因此,要解決這個問題最簡單的方法是 去我的提示做CHMOD變革 461 00:19:59,620 --> 00:20:05,580 模式,然後做一個+ R,乾脆, 每個人,一切和r表示讀, 462 00:20:05,580 --> 00:20:07,944 然後cat.jpg Enter鍵。 463 00:20:07,944 --> 00:20:10,360 似乎什麼都沒有發生,這 通常是指一件好事。 464 00:20:10,360 --> 00:20:13,850 所以LS-L again--現在 讓我們來看看cat.jpg。 465 00:20:13,850 --> 00:20:15,750 與此權限 似乎已經改變。 466 00:20:15,750 --> 00:20:18,670 順便說一句,如果你犯了一個 錯,你,例如, 467 00:20:18,670 --> 00:20:23,210 剛才your--我不知道 - 作文 公開偶然訪問, 468 00:20:23,210 --> 00:20:25,480 你可以反其道而行之,存取權限chmod a-R。 469 00:20:25,480 --> 00:20:25,909 470 00:20:25,909 --> 00:20:28,200 但坦率地說,它不應該 在公共目錄 471 00:20:28,200 --> 00:20:29,760 反正如果是這樣的問題。 472 00:20:29,760 --> 00:20:32,475 >> 所以,現在,讓我們回到 我的瀏覽器和重載。 473 00:20:32,475 --> 00:20:32,904 474 00:20:32,904 --> 00:20:34,820 我要去點擊 小捉鬼敢死隊 475 00:20:34,820 --> 00:20:38,030 符號清除的那部分 屏幕,我們可以看到新的要求。 476 00:20:38,030 --> 00:20:40,630 事實上,這裡是 脾氣壞的貓從之前。 477 00:20:40,630 --> 00:20:43,010 但更重要的是, 技術上,有 478 00:20:43,010 --> 00:20:45,565 數200,其 意味著我們得到了確定。 479 00:20:45,565 --> 00:20:47,190 好了,所以這是一切優秀和良好。 480 00:20:47,190 --> 00:20:48,940 但是,我們並沒有做 最好的網站, 481 00:20:48,940 --> 00:20:51,967 我們也將試圖太難 使網站今天最高檔。 482 00:20:51,967 --> 00:20:54,550 但是,讓我們至少做一些事情 之前劍拔弩張超熟悉 483 00:20:54,550 --> 00:20:56,030 關閉其他幾個標籤。 484 00:20:56,030 --> 00:20:58,470 因此,假設我不只是要一隻貓在這裡。 485 00:20:58,470 --> 00:21:02,530 假設我真的希望這 貓要鏈接到的東西。 486 00:21:02,530 --> 00:21:07,210 >> 我可能,例如 做這樣的事情。 487 00:21:07,210 --> 00:21:08,580 488 00:21:08,580 --> 00:21:12,890 一個錨的HREF 超基準equals-- 489 00:21:12,890 --> 00:21:17,440 而我們只是做一些事情 像www.google.com關閉 490 00:21:17,440 --> 00:21:19,540 引述接近支架。 491 00:21:19,540 --> 00:21:22,000 現在搜索的貓。 492 00:21:22,000 --> 00:21:23,520 關閉錨標記。 493 00:21:23,520 --> 00:21:26,760 因此,這只有一個排序 從根本上新的細節。 494 00:21:26,760 --> 00:21:28,190 當然,標籤是不同的。 495 00:21:28,190 --> 00:21:31,770 它的名稱的錨 HREF或Hyper參考。 496 00:21:31,770 --> 00:21:35,269 >> 但更重要的是,有 這個語法功能在這裡。 497 00:21:35,269 --> 00:21:37,810 這就是我們將開始呼喚 沒有一個標籤,而是一個屬性。 498 00:21:37,810 --> 00:21:40,830 和屬性是什麼, 修改標籤的行為。 499 00:21:40,830 --> 00:21:45,400 而這種屬性,HREF,手段 修改此錨的行為 500 00:21:45,400 --> 00:21:48,430 這樣,當它被點擊, 它進入這個網址在這裡。 501 00:21:48,430 --> 00:21:50,330 ,當然,該URL是谷歌。 502 00:21:50,330 --> 00:21:53,951 >> 同時,這是什麼 文字在這裡將會是? 503 00:21:53,951 --> 00:21:55,950 嗯,這將是 實際上是什麼人 504 00:21:55,950 --> 00:21:58,470 看到的下劃線 鏈接,就這麼簡單。 505 00:21:58,470 --> 00:21:59,220 因此,讓我們試試這個。 506 00:21:59,220 --> 00:21:59,980 讓我保存它。 507 00:21:59,980 --> 00:22:01,650 我仍然在hello.html的。 508 00:22:01,650 --> 00:22:05,360 但在網上的版本中,你會看到 我們的實際文件名預先製備。 509 00:22:05,360 --> 00:22:06,805 讓我繼續前進,重新加載。 510 00:22:06,805 --> 00:22:08,680 而現在它是一個非常 給人留下深刻印象仍頁面。 511 00:22:08,680 --> 00:22:10,910 但是,如果我將鼠標懸停在那裡 - 這是一個有點小, 512 00:22:10,910 --> 00:22:13,576 但 - 你可以在下方看到 左上角屏幕, 513 00:22:13,576 --> 00:22:15,242 它真的到google.com。 514 00:22:15,242 --> 00:22:19,280 如果我點擊,它會 拂我的方式來實際的谷歌。 515 00:22:19,280 --> 00:22:22,610 >> 但是請注意,這裡的機會 開發,只是作為一個備用。 516 00:22:22,610 --> 00:22:25,150 我們會回來給其他 安全用不了多久的問題。 517 00:22:25,150 --> 00:22:29,290 因為有這種二分法 你去哪裡和你說的, 518 00:22:29,290 --> 00:22:34,722 你可以這樣做 this-- http://www.google.com。 519 00:22:34,722 --> 00:22:37,134 好了,現在如果我重裝 保存該網頁後, 520 00:22:37,134 --> 00:22:38,800 它看起來像我會去谷歌。 521 00:22:38,800 --> 00:22:40,966 但是,沒有任何原因,我 必須去谷歌,對嗎? 522 00:22:40,966 --> 00:22:47,460 我其實可以去像 badguy.com,重新加載該頁面在這裡。 523 00:22:47,460 --> 00:22:49,750 和通知,它仍然看起來像谷歌。 524 00:22:49,750 --> 00:22:52,020 且僅當我尖銳 足以將鼠標懸停在這裡 525 00:22:52,020 --> 00:22:54,770 我會看到它甚至會 去一個不同的位置。 526 00:22:54,770 --> 00:22:57,400 >> 所以,如果你曾經得到 的電子郵件,特別是 527 00:22:57,400 --> 00:22:59,610 一個來自支付寶,或 貌似從支付寶 528 00:22:59,610 --> 00:23:01,830 請您登錄 您的帳戶,這 529 00:23:01,830 --> 00:23:06,380 所以你千萬別 曾經在電子郵件中點擊鏈接, 530 00:23:06,380 --> 00:23:07,930 坦率地說,在電子郵件中的任何鏈接。 531 00:23:07,930 --> 00:23:10,380 如果你知道你有實際 在支付寶或銀行的錢 532 00:23:10,380 --> 00:23:14,250 美國或富達或任何 網站手動輸入進來。 533 00:23:14,250 --> 00:23:17,530 因為看起來它是多麼容易 欺騙某人為展示什麼 534 00:23:17,530 --> 00:23:18,526 看起來像一個鏈接。 535 00:23:18,526 --> 00:23:20,400 但它實際上可能 絕對去任何地方。 536 00:23:20,400 --> 00:23:23,301 >> 並有更大的 威脅莫過於此。 537 00:23:23,301 --> 00:23:25,300 其實,這是一個有點 切線的現在,但一 538 00:23:25,300 --> 00:23:28,430 的最好的我見過 這已被關閉, 539 00:23:28,430 --> 00:23:34,060 是有人牽頭人 to--所以這可能會說, 540 00:23:34,060 --> 00:23:37,660 點擊這裡登錄到您的 帳戶,銀行帳戶。 541 00:23:37,660 --> 00:23:40,985 這是西方銀行。 542 00:23:40,985 --> 00:23:43,030 543 00:23:43,030 --> 00:23:44,250 >> 因此,有人買了這個。 544 00:23:44,250 --> 00:23:47,090 這是一個很容易就能看到 它在一個單間距字體放大 545 00:23:47,090 --> 00:23:49,190 在一個30英尺的投影機。 546 00:23:49,190 --> 00:23:51,720 但是,當它是小字體中 電子郵件是您收到, 547 00:23:51,720 --> 00:23:54,690 這看起來像bankofthewest.com, 不bankofthevvest.com, 548 00:23:54,690 --> 00:23:58,230 其中有人已支付10美元購買。 549 00:23:58,230 --> 00:24:00,840 然後這導致了他們的 相當於一些不良網站。 550 00:24:00,840 --> 00:24:05,540 >> 你會看到too--其實我們可以做的 this--如果我去實際的網站, 551 00:24:05,540 --> 00:24:10,335 bankofthewest.com,再次 從上一次召回 552 00:24:10,335 --> 00:24:13,210 如果這是他們的網頁, 你好奇的是,它的工作原理, 553 00:24:13,210 --> 00:24:15,610 你當然可以去 Chrome的開發者工具。 554 00:24:15,610 --> 00:24:18,890 你可以看到所有的 HTML格式良好的存在​​。 555 00:24:18,890 --> 00:24:20,890 >> 但更重要的是, 你cam--讓我們關閉 556 00:24:20,890 --> 00:24:24,760 this--你可以去查看 開發人員查看源文件。 557 00:24:24,760 --> 00:24:25,770 558 00:24:25,770 --> 00:24:28,350 我為什麼不只是複製 所有這一切,然後我 559 00:24:28,350 --> 00:24:31,630 可以進入我的小窗口gedit中 在這裡,讓我自己的網頁。 560 00:24:31,630 --> 00:24:33,210 在hello.html的存檔。 561 00:24:33,210 --> 00:24:36,770 大概這是要打破, 因為它不是如此簡單平常。 562 00:24:36,770 --> 00:24:41,590 但現在,如果我重裝上自己的網頁 我自己CS50電器和打重裝, 563 00:24:41,590 --> 00:24:42,990 OK,有些東西打破了。 564 00:24:42,990 --> 00:24:45,750 但我敢接近有 我自己的銀行網站,對吧? 565 00:24:45,750 --> 00:24:46,570 所有的這HTML-- 566 00:24:46,570 --> 00:24:47,370 >> [笑] 567 00:24:47,370 --> 00:24:49,210 >> 大衛·馬蘭:--I 沒有actually--你 568 00:24:49,210 --> 00:24:52,210 知道有一個人在那裡誰 實際上過於點擊這些鏈接。 569 00:24:52,210 --> 00:24:54,864 所以很明顯,有些東西打破了。 570 00:24:54,864 --> 00:24:56,780 但是這會導致 我們進入一個討論, 571 00:24:56,780 --> 00:25:00,810 不必要的現在,至於是什麼 CSS,層疊樣式表,是, 572 00:25:00,810 --> 00:25:03,410 實際上你如何 下載其他HTML文件 573 00:25:03,410 --> 00:25:06,140 和JPEG文件GIF文件 該網站可能會使用。 574 00:25:06,140 --> 00:25:07,960 但是,所有這一切是accomplishable。 575 00:25:07,960 --> 00:25:11,110 但是,它真的可以歸結為 這些非常簡單的啟發式方法。 576 00:25:11,110 --> 00:25:14,450 >> 所以,現在就讓我們通過略讀 幾個HTML的其它實例 577 00:25:14,450 --> 00:25:16,680 只是給你的感覺 還有什麼可以做。 578 00:25:16,680 --> 00:25:18,670 例如,這是list.html。 579 00:25:18,670 --> 00:25:23,240 假如我要拍一個網頁 與房屋的四邊形的列表。 580 00:25:23,240 --> 00:25:28,960 我可能會使用的UL標籤無序 列表,然後將列表項子 581 00:25:28,960 --> 00:25:33,760 然後遍歷over--或列表, rather--房子有問題。 582 00:25:33,760 --> 00:25:36,080 >> 如果我開這件事,讓我們做到這一點。 583 00:25:36,080 --> 00:25:40,670 讓我們不要hello.html的, 但list.html。 584 00:25:40,670 --> 00:25:42,160 該死的。 585 00:25:42,160 --> 00:25:43,000 我該如何解決這個問題? 586 00:25:43,000 --> 00:25:45,679 587 00:25:45,679 --> 00:25:47,220 這是相同的問題和以前一樣,對不對? 588 00:25:47,220 --> 00:25:52,510 所以,讓我做chmod-- oops-- 存取權限chmod a + list.html的河 589 00:25:52,510 --> 00:25:54,610 590 00:25:54,610 --> 00:25:59,610 而現在,如果我回到我的瀏覽器 單擊刷新,它就在那裡。 591 00:25:59,610 --> 00:26:02,360 因此,如果你曾經想製作 項目符號列表,你可以做到這一點。 592 00:26:02,360 --> 00:26:06,210 如果你想成為超級花哨,使 的有序列表,而不是一個無序列表, 593 00:26:06,210 --> 00:26:10,170 改變那些OL,重新加載頁面, 現在,瀏覽器將編號給你。 594 00:26:10,170 --> 00:26:11,241 >> 我們還能做什麼? 595 00:26:11,241 --> 00:26:13,990 嗯,一對夫婦的others--如果 你有text--長款 596 00:26:13,990 --> 00:26:15,698 例如,一些 像this--拉丁文本 597 00:26:15,698 --> 00:26:20,730 你希望它在不同的段落, 開P,段落標記密切頁。 598 00:26:20,730 --> 00:26:22,010 而一次又一次地這樣做。 599 00:26:22,010 --> 00:26:26,600 如果我現在打開這個文件, paragraphs.html,好了,這 600 00:26:26,600 --> 00:26:27,570 越來越討厭。 601 00:26:27,570 --> 00:26:34,320 所以,現在就讓我們回到我 提示,存取權限chmod a + R R星.html-- 602 00:26:34,320 --> 00:26:36,099 一個可愛的小外卡可以這麼說。 603 00:26:36,099 --> 00:26:37,890 這應該可以解決所有的 這些問題對我來說。 604 00:26:37,890 --> 00:26:38,990 讓我們來重新加載。 605 00:26:38,990 --> 00:26:40,500 有三段。 606 00:26:40,500 --> 00:26:42,930 >> 現在,讓我們繼續 並開闢另外一個。 607 00:26:42,930 --> 00:26:44,310 怎麼樣的表? 608 00:26:44,310 --> 00:26:46,440 你會發現表如下 稍微複雜一些。 609 00:26:46,440 --> 00:26:49,110 但它同樣idea-- 開放標籤,打開標籤, 610 00:26:49,110 --> 00:26:51,360 開放,開放,開放,關閉標籤,打開標籤。 611 00:26:51,360 --> 00:26:54,410 而這些恰好代表 表,其邊界是很明顯 612 00:26:54,410 --> 00:26:58,500 將是一個厚度1--任何 這是指:表行,表 613 00:26:58,500 --> 00:27:00,320 數據,這意味著小區。 614 00:27:00,320 --> 00:27:03,840 如果我回到我的瀏覽器 在這裡,去table.html, 615 00:27:03,840 --> 00:27:05,840 你可以看到什麼 這樣,猙獰。 616 00:27:05,840 --> 00:27:07,840 但我們會去點 在這裡我們可以真正 617 00:27:07,840 --> 00:27:09,260 使比漂亮的東西。 618 00:27:09,260 --> 00:27:10,530 >> 因此,讓我規定現在。 619 00:27:10,530 --> 00:27:11,870 還有更多的標籤束。 620 00:27:11,870 --> 00:27:15,225 而HTML是美妙的回暖 因為,坦率地說,所有你需要做的 621 00:27:15,225 --> 00:27:17,600 是看現有的網頁 與你熟悉。 622 00:27:17,600 --> 00:27:20,340 和你一樣,哦,這是怎麼 他們這樣做美觀。 623 00:27:20,340 --> 00:27:23,159 >> 或者,你可以查找任何在線 資源為HTML是如何工作的, 624 00:27:23,159 --> 00:27:25,700 你會看到,有一個 其他標記的所有詞彙。 625 00:27:25,700 --> 00:27:30,110 但是,用簡單的心理模型 孤獨,幾乎任何標籤打開 626 00:27:30,110 --> 00:27:33,620 已被真正關閉, 沒有足夠的自學 627 00:27:33,620 --> 00:27:36,950 HTML了解後, 標籤這些基本理念 628 00:27:36,950 --> 00:27:40,520 和屬性以及良好性 我們已經談到, 629 00:27:40,520 --> 00:27:44,697 收什麼,我們可能會打開 所以,我們不要混淆一個瀏覽器。 630 00:27:44,697 --> 00:27:46,780 現在讓我們藉此來 一個更有趣的水平 631 00:27:46,780 --> 00:27:48,100 通過將實際的。 632 00:27:48,100 --> 00:27:51,095 讓我們去我的Mac 在這裡,到google.com。 633 00:27:51,095 --> 00:27:52,280 634 00:27:52,280 --> 00:27:54,020 現在notice--讓我們做到這一點。 635 00:27:54,020 --> 00:27:57,280 我鑼去 設置,搜索設置。 636 00:27:57,280 --> 00:28:01,070 我想關閉這個惱人的瞬間 結果事情立刻在那裡 637 00:28:01,070 --> 00:28:02,450 開始回應你的打字。 638 00:28:02,450 --> 00:28:05,300 讓我們做到這一點舊的學校,所以 實際上我們看到發生了什麼事情。 639 00:28:05,300 --> 00:28:08,260 >> 所以,我要救我 谷歌在這裡設置。 640 00:28:08,260 --> 00:28:11,160 現在notice--我要去 搜索類似貓科動物。 641 00:28:11,160 --> 00:28:14,500 它仍然在做汽車 在這裡完成,但基於東西 642 00:28:14,500 --> 00:28:15,970 人們已經輸入了過去。 643 00:28:15,970 --> 00:28:17,490 但是要注意什麼事情要發生。 644 00:28:17,490 --> 00:28:20,272 >> 在URL的時刻 是這樣的,只是google.com。 645 00:28:20,272 --> 00:28:22,650 而在技術上,它的斜線。 646 00:28:22,650 --> 00:28:25,910 谷歌只是保存字符 而不是向我們展示這一點。 647 00:28:25,910 --> 00:28:30,400 他們向我們展示了HTTPS,只 是超級讓人欣慰的是我們 648 00:28:30,400 --> 00:28:32,850 在安全或加密的頁面。 649 00:28:32,850 --> 00:28:35,690 >> 因此,讓我繼續前進,尋找貓。 650 00:28:35,690 --> 00:28:37,670 現在,這個真的有 鋪天蓋地的快。 651 00:28:37,670 --> 00:28:39,470 看看這個URL的長度。 652 00:28:39,470 --> 00:28:43,070 但事實證明,大部分這樣的東西 在URL實際上是相當無用的。 653 00:28:43,070 --> 00:28:45,320 我要開始刪除 事情我不明白。 654 00:28:45,320 --> 00:28:46,560 655 00:28:46,560 --> 00:28:47,360 我看到貓。 656 00:28:47,360 --> 00:28:48,470 我明白了貓。 657 00:28:48,470 --> 00:28:50,380 我不知道為什麼貓那裡了。 658 00:28:50,380 --> 00:28:52,620 我真的不知道 這是什麼廢話。 659 00:28:52,620 --> 00:28:56,030 所以,我只是要保持 突出顯示和刪除的東西 660 00:28:56,030 --> 00:28:59,905 我不明白, 蒸餾網址逼到這一點。 661 00:28:59,905 --> 00:29:00,920 662 00:29:00,920 --> 00:29:02,270 >> 現在,讓我得到重新輸入。 663 00:29:02,270 --> 00:29:03,814 它看起來像谷歌仍然有效。 664 00:29:03,814 --> 00:29:06,980 所以由於某些原因,他們增加一個 很多東西到他們的URL的默認。 665 00:29:06,980 --> 00:29:09,000 但它沒有嚴格要求。 666 00:29:09,000 --> 00:29:10,340 那麼,什麼是好的,這一點? 667 00:29:10,340 --> 00:29:13,630 好吧,讓我繼續前進, 打開Chrome的督察。 668 00:29:13,630 --> 00:29:15,960 有一點點鼠標快捷鍵吧。 669 00:29:15,960 --> 00:29:17,360 >> 進入網絡選項卡。 670 00:29:17,360 --> 00:29:19,340 現在讓我重新加載 此頁面一次。 671 00:29:19,340 --> 00:29:20,280 而且我按住Shift鍵。 672 00:29:20,280 --> 00:29:22,520 順便說一句,瀏覽器 往往高速緩存或保存 673 00:29:22,520 --> 00:29:24,697 只是為了效率的緣故信息。 674 00:29:24,697 --> 00:29:27,280 但通常情況下,按住Shift 重裝將迫使一切 675 00:29:27,280 --> 00:29:28,994 從頭開始。 676 00:29:28,994 --> 00:29:30,410 而這正是我想在這裡做。 677 00:29:30,410 --> 00:29:33,550 >> 並注意所有這些 那個剛剛出現的行。 678 00:29:33,550 --> 00:29:37,920 事實證明,在任何給定的網絡 頁,則可能是只有一個文件 679 00:29:37,920 --> 00:29:43,500 involved-- hello.html--或有 可能是52,因為在這種情況下。 680 00:29:43,500 --> 00:29:45,820 當我訪問google.com, 顯然,我的瀏覽器 681 00:29:45,820 --> 00:29:49,650 揭幕52分開的HTTP請求。 682 00:29:49,650 --> 00:29:50,520 這是為什麼? 683 00:29:50,520 --> 00:29:53,380 >> 好了,看看裡面有什麼 這個網頁往上頂。 684 00:29:53,380 --> 00:29:55,620 這裡不僅是文字, 但有實際圖像 685 00:29:55,620 --> 00:29:57,130 的貓科動物轉移到右側。 686 00:29:57,130 --> 00:29:59,110 有一個豐富多彩的標誌在這裡在左邊。 687 00:29:59,110 --> 00:30:01,750 還有所有的圖標 用於麥克風等。 688 00:30:01,750 --> 00:30:05,130 有很多件,建築 塊,刮片,如果你願意, 689 00:30:05,130 --> 00:30:06,250 這個網頁。 690 00:30:06,250 --> 00:30:10,310 什麼樣的瀏覽器做在 獲得的第一個文件,該文件 691 00:30:10,310 --> 00:30:16,180 是此行這裡時,它基本上 遍歷HTML頂部 692 00:30:16,180 --> 00:30:19,880 至底部,左到右,找 之類的圖像標記或其他標記 693 00:30:19,880 --> 00:30:23,160 所提到的其他的文件和 當它看到他們,去和他們取 694 00:30:23,160 --> 00:30:26,050 通過HTTP,可行全 信封比喻, 695 00:30:26,050 --> 00:30:29,670 然後在顯示它們 在網頁中適當的位置。 696 00:30:29,670 --> 00:30:33,370 >> 但是請注意,在這裡,如果我專注於 第一擲,搜索貓, 697 00:30:33,370 --> 00:30:37,090 注意到,確實它使用HTTP 1.1。 698 00:30:37,090 --> 00:30:41,690 不幸的是,谷歌 Chrome瀏覽器目前已經在39版 699 00:30:41,690 --> 00:30:45,110 是一種方法簡化下來,並 不向我們展示了實際的頭。 700 00:30:45,110 --> 00:30:49,680 但確實是發送一個請求 不削減,但/搜索?Q =貓。 701 00:30:49,680 --> 00:30:52,830 702 00:30:52,830 --> 00:30:54,340 >> 現在,為什麼是重要的? 703 00:30:54,340 --> 00:30:57,110 嗯,我要去推斷 從這個,如果你谷歌 704 00:30:57,110 --> 00:31:01,520 支持這種形式,為什麼查詢 不我實現我自己的搜索 705 00:31:01,520 --> 00:31:06,420 發動機CS50,只是前 結束,就在圖形用戶界面。 706 00:31:06,420 --> 00:31:09,610 我們將外包後端, 實際的搜索結果谷歌。 707 00:31:09,610 --> 00:31:10,510 >> 所以,我怎麼能這樣做呢? 708 00:31:10,510 --> 00:31:13,820 好吧,讓我進入gedit中在這裡。 709 00:31:13,820 --> 00:31:19,180 讓我繼續前進,打開 了,讓我們說,一個新的文件。 710 00:31:19,180 --> 00:31:22,280 而且我要救這個 暫時作為搜索-0.html。 711 00:31:22,280 --> 00:31:25,111 712 00:31:25,111 --> 00:31:27,860 然後最終,我們將快速 期待一個我事先準備好的。 713 00:31:27,860 --> 00:31:30,190 >> 而我要去 迅速掀起文檔類型 714 00:31:30,190 --> 00:31:33,840 HTML打開HTML支架 靠近支架的HTML。 715 00:31:33,840 --> 00:31:38,390 然後我會做頭 靠近頭部公開賽冠軍CS50 716 00:31:38,390 --> 00:31:40,150 搜索代替谷歌搜索。 717 00:31:40,150 --> 00:31:43,480 到這裡我將有 身體,到這裡靠近身體。 718 00:31:43,480 --> 00:31:45,835 現在我需要CS50搜索。 719 00:31:45,835 --> 00:31:47,710 而實際上,讓我們 建立這個增量。 720 00:31:47,710 --> 00:31:51,043 我要繼續前進,並關閉該和 其實把它放在我的公開目錄。 721 00:31:51,043 --> 00:31:52,730 所以給我的只是一個瞬間。 722 00:31:52,730 --> 00:31:55,390 搜索0.html--我要去 時間search.html調用它。 723 00:31:55,390 --> 00:31:56,600 724 00:31:56,600 --> 00:31:59,750 我要和chmod它+ R search.html。 725 00:31:59,750 --> 00:32:01,072 726 00:32:01,072 --> 00:32:02,280 現在我要打開它。 727 00:32:02,280 --> 00:32:03,224 728 00:32:03,224 --> 00:32:04,390 好了,所以這是快。 729 00:32:04,390 --> 00:32:06,800 但我們的目標是簡單的 讓我們給點意見 730 00:32:06,800 --> 00:32:09,630 有此文字 文件名為search.html。 731 00:32:09,630 --> 00:32:10,940 732 00:32:10,940 --> 00:32:12,790 所以,沒有什麼好看的呢。 733 00:32:12,790 --> 00:32:16,970 事實上,如果我去我的瀏覽器,並 去search.html,這一切是。 734 00:32:16,970 --> 00:32:17,720 但是你知道嗎? 735 00:32:17,720 --> 00:32:19,000 我可以是一個小票友。 736 00:32:19,000 --> 00:32:22,710 我在讀一本書,有 標題標籤稱為H1。 737 00:32:22,710 --> 00:32:26,100 而且我要繼續前進, 使用開放的H1和關閉H1。 738 00:32:26,100 --> 00:32:27,220 重新加載頁面。 739 00:32:27,220 --> 00:32:29,600 現在它的更大,更大膽, 不是所有的有趣, 740 00:32:29,600 --> 00:32:32,399 但至少在結構上 更有趣。 741 00:32:32,399 --> 00:32:33,940 但現在讓我介紹另一個標記。 742 00:32:33,940 --> 00:32:36,500 原來,有一個表單標籤。 743 00:32:36,500 --> 00:32:38,400 讓我關閉的標籤。 744 00:32:38,400 --> 00:32:40,830 而事實證明有 輸入標記, 745 00:32:40,830 --> 00:32:44,600 有一個名為類型的屬性,它 是該字段的數據類型, 746 00:32:44,600 --> 00:32:45,200 如果你願意。 747 00:32:45,200 --> 00:32:47,050 並且將是文本類型。 748 00:32:47,050 --> 00:32:52,200 它的值是怎麼回事 要CS50搜索。 749 00:32:52,200 --> 00:32:53,850 關閉標籤。 750 00:32:53,850 --> 00:32:57,100 而且也將是沒有概念 打開和關閉與獨立的標籤。 751 00:32:57,100 --> 00:33:00,300 >> 讓我回到了這裡 看看這是怎麼回事,重裝。 752 00:33:00,300 --> 00:33:01,380 越來越有趣。 753 00:33:01,380 --> 00:33:02,950 它看起來就像是一個文本字段。 754 00:33:02,950 --> 00:33:04,080 755 00:33:04,080 --> 00:33:06,999 而實際上,我不想 把一個價值還沒有。 756 00:33:06,999 --> 00:33:10,040 讓我回到這裡,並實際獲得 擺脫這個值來保持它的簡單。 757 00:33:10,040 --> 00:33:12,939 而不是一個值,我想要的東西 給這個事情是一個名字。 758 00:33:12,939 --> 00:33:15,230 我不知道它是什麼, 所以我會回來的。 759 00:33:15,230 --> 00:33:18,270 >> 但下面這一點,我想 做INPUT TYPE =提交。 760 00:33:18,270 --> 00:33:19,840 761 00:33:19,840 --> 00:33:22,120 並且這個值將是CS50搜索。 762 00:33:22,120 --> 00:33:24,850 我們會看到為什麼我 移動的價值這一點。 763 00:33:24,850 --> 00:33:28,900 當我重裝,我好像現在有 我自己搜索的開始 764 00:33:28,900 --> 00:33:30,820 發動機,超可怕的, 但坦率地說,這是 765 00:33:30,820 --> 00:33:34,260 不是遠遠拋在了什麼 谷歌的默認頁面的樣子。 766 00:33:34,260 --> 00:33:37,950 >> 如果我現在在這裡,我可以鍵入 貓,希望單擊搜索。 767 00:33:37,950 --> 00:33:40,380 但我沒有完全完成, 因為我還沒有實現, 768 00:33:40,380 --> 00:33:41,045 顯然,一個數據庫。 769 00:33:41,045 --> 00:33:42,940 我還沒有爬的 網絡搜索結果。 770 00:33:42,940 --> 00:33:44,840 所以,我需要外購,為谷歌。 771 00:33:44,840 --> 00:33:46,290 那麼,如何做到這一點? 772 00:33:46,290 --> 00:33:49,170 >> 嗯,首先我的 需要補充和行動 773 00:33:49,170 --> 00:33:58,460 歸功於我的表單標記, 是http://www.google.com/search。 774 00:33:58,460 --> 00:34:01,180 我知道,只有從具有 看仔細推斷 775 00:34:01,180 --> 00:34:02,505 在他們的URL。 776 00:34:02,505 --> 00:34:03,380 而現在採取的猜測。 777 00:34:03,380 --> 00:34:09,090 什麼應該這個文本字段可能 被稱為基礎上,我們來了 778 00:34:09,090 --> 00:34:09,754 從之前? 779 00:34:09,754 --> 00:34:11,896 780 00:34:11,896 --> 00:34:13,290 >> 聽眾:Q。 781 00:34:13,290 --> 00:34:14,370 >> 大衛·馬蘭:Q。 782 00:34:14,370 --> 00:34:17,800 而我們實際上並不需要的問題 紀念它的出現,但q是確實的, 783 00:34:17,800 --> 00:34:20,489 ●對於可能由查詢 默認情況下,只是因為這是 784 00:34:20,489 --> 00:34:23,060 拉里和謝爾蓋 想到了幾年前。 785 00:34:23,060 --> 00:34:24,739 所以,現在讓我重新加載該頁面。 786 00:34:24,739 --> 00:34:26,409 它看起來並不都不同。 787 00:34:26,409 --> 00:34:28,120 但現在看會發生什麼。 788 00:34:28,120 --> 00:34:32,360 >> 如果我輸入的貓和點擊 CS50搜索和放手, 789 00:34:32,360 --> 00:34:35,770 請注意,我得到護送 客場實際谷歌。 790 00:34:35,770 --> 00:34:38,150 現在,谷歌正在一點點 惱人的,因為它們是 791 00:34:38,150 --> 00:34:41,877 附加一個額外的參數, 如果你願意,到URL。 792 00:34:41,877 --> 00:34:43,960 這一切發生 自動對谷歌的一面。 793 00:34:43,960 --> 00:34:48,730 >> 最重要的是,我似乎 要在這裡產生了這一請求。 794 00:34:48,730 --> 00:34:50,179 事實上,這是發生了什麼。 795 00:34:50,179 --> 00:34:53,040 當你有HTML的 看起來是這樣的,這 796 00:34:53,040 --> 00:34:57,620 是某種Web開發人員表示法 這麼說,就創建一個表單 797 00:34:57,620 --> 00:34:59,990 當它的提出, 它會去這個網址。 798 00:34:59,990 --> 00:35:03,430 並且當URL提供 對於喜歡的東西的Q值, 799 00:35:03,430 --> 00:35:05,440 不要去只是為了這個URL。 800 00:35:05,440 --> 00:35:08,210 其實,去質疑 標記,然後Q =貓。 801 00:35:08,210 --> 00:35:09,590 802 00:35:09,590 --> 00:35:13,060 附加的參數時, 像HTTP參數。 803 00:35:13,060 --> 00:35:15,590 >> 和剛需超精密, 什麼東西被推斷這裡 - 804 00:35:15,590 --> 00:35:18,130 但我會更explicit--是 我想使用的方法 805 00:35:18,130 --> 00:35:22,270 為得到而不是像, 後,我們最終會看到的。 806 00:35:22,270 --> 00:35:27,710 因此,在短期,簡單地理解 HTML和使用一些非常簡單的標籤, 807 00:35:27,710 --> 00:35:30,610 我們現在可以開始創建 我們自己的前端用戶 808 00:35:30,610 --> 00:35:32,850 與搜索界面 發動機後面。 809 00:35:32,850 --> 00:35:34,800 >> 但當然這是很可怕的。 810 00:35:34,800 --> 00:35:37,259 因此,讓我真正打通 一個稍微好一點的版本。 811 00:35:37,259 --> 00:35:39,800 這是我編寫的一個 提前有一些意見。 812 00:35:39,800 --> 00:35:41,900 但是你會看到,我 幾乎是重新創建它。 813 00:35:41,900 --> 00:35:44,150 因此,這是網上已經可用。 814 00:35:44,150 --> 00:35:48,050 我也正好先發製人 訪問https只是為了保持它的簡單。 815 00:35:48,050 --> 00:35:50,610 >> 現在,讓我們打開了 這下一次迭代。 816 00:35:50,610 --> 00:35:52,510 是版本1,而不是0。 817 00:35:52,510 --> 00:35:55,315 什麼跳出你的稍微 在這個例子中有什麼不同? 818 00:35:55,315 --> 00:35:59,480 819 00:35:59,480 --> 00:36:00,440 >> 聽眾:[聽不清]。 820 00:36:00,440 --> 00:36:03,020 >> 是啊,有這樣的文字居中。 821 00:36:03,020 --> 00:36:04,590 這是一個有點怪異了這裡。 822 00:36:04,590 --> 00:36:06,150 但是,這確實是新的。 823 00:36:06,150 --> 00:36:07,800 也許猜到了什麼事情發生。 824 00:36:07,800 --> 00:36:11,730 如果我去我現在的瀏覽器 參觀搜索1.HTML, 825 00:36:11,730 --> 00:36:13,090 這幾乎是同樣的事情。 826 00:36:13,090 --> 00:36:15,705 但它是更近了一步 是多了幾分可愛。 827 00:36:15,705 --> 00:36:19,150 它仍然是醜陋的,但在那漂亮 至少一切的,現在居中。 828 00:36:19,150 --> 00:36:23,470 >> 所以,事實證明,我正在使用 在另一種語言完全叫 829 00:36:23,470 --> 00:36:25,680 CSS,層疊樣式表。 830 00:36:25,680 --> 00:36:28,310 和CSS,坦率地說,是一種 ,在我個人看來, 831 00:36:28,310 --> 00:36:29,775 一個殘暴的設計語言。 832 00:36:29,775 --> 00:36:33,110 這是非常惱人的記憶 所有的各種細節。 833 00:36:33,110 --> 00:36:38,479 但它是什麼stylizes的 整個萬維網今天。 834 00:36:38,479 --> 00:36:39,270 我得罪人。 835 00:36:39,270 --> 00:36:39,769 行。 836 00:36:39,769 --> 00:36:43,180 所以,讓我們回到這裡,看看 怎麼我們實際上用這個。 837 00:36:43,180 --> 00:36:45,940 而事實證明,至少它的 實際上是一個非常簡單的語言。 838 00:36:45,940 --> 00:36:49,470 這只是鍵值對,性質 和值,屬性和值。 839 00:36:49,470 --> 00:36:52,080 事實上,這裡是1 這樣的屬性和值。 840 00:36:52,080 --> 00:36:55,890 >> 只需通過使用樣式 屬性在我身上的標籤 841 00:36:55,890 --> 00:37:00,360 並給它的值 字結腸和另一單詞, 842 00:37:00,360 --> 00:37:03,730 或一個屬性和一個值, 我會影響美觀 843 00:37:03,730 --> 00:37:06,210 的網頁,而不是對 不一定但該結構中, 844 00:37:06,210 --> 00:37:07,550 但它的美觀性。 845 00:37:07,550 --> 00:37:10,960 而就在谷歌搜索的時候,我意識到 該CSS,層疊樣式表, 846 00:37:10,960 --> 00:37:14,170 支持一個名為屬性 文本對齊,其值可以 847 00:37:14,170 --> 00:37:16,980 將左,右或中心,例如。 848 00:37:16,980 --> 00:37:19,990 >> 所以,現在當我重新加載 這一頁,我沒拿到 849 00:37:19,990 --> 00:37:22,730 是一個居中的頁面, 但仍然相當難看。 850 00:37:22,730 --> 00:37:25,770 讓我們繼續前進,打開 搜索了第2版。 851 00:37:25,770 --> 00:37:28,570 現在發現我做多一點。 852 00:37:28,570 --> 00:37:33,760 注意,在這裡的頭部的裡面 標記,可以有多於標題。 853 00:37:33,760 --> 00:37:35,400 事實上,有一個風格的標籤。 854 00:37:35,400 --> 00:37:38,630 而這正是它只是得到了 有點亂眼看CSS的時候。 855 00:37:38,630 --> 00:37:41,971 >> 請注意,我好像有東西 在結構上看起來非常不同。 856 00:37:41,971 --> 00:37:44,095 但這裡是名 我想要的標籤程式化。 857 00:37:44,095 --> 00:37:47,570 這是我們的老朋友捲髮 括號和封閉的大括號。 858 00:37:47,570 --> 00:37:50,290 然後這裡是 屬性和它的值。 859 00:37:50,290 --> 00:37:56,300 >> 如果我打開這個文件,search2.html, 最終的結果是相同的。 860 00:37:56,300 --> 00:37:59,300 但它是朝著更好的設計的一個步驟。 861 00:37:59,300 --> 00:38:04,560 通過分解出這個CSS,我已經 不符合我的HTML混合的。 862 00:38:04,560 --> 00:38:07,560 事實上,正如我們所看到的,我可以 重新使用這些屬性和值。 863 00:38:07,560 --> 00:38:10,420 如果我要拍的串 我的網頁的部分為中心, 864 00:38:10,420 --> 00:38:13,630 我不必鍵入風格=文本對齊 中心所有的地方。 865 00:38:13,630 --> 00:38:16,580 我可以在一個地方 或許,就像在頂部。 866 00:38:16,580 --> 00:38:18,210 >> 但是,即使這不是最好的設計。 867 00:38:18,210 --> 00:38:21,720 事實上,其中的一件事,你將學習 因為你花更多的時間與 868 00:38:21,720 --> 00:38:25,730 網絡編程的,你就可以 模塊化的東西和因素的事情了 869 00:38:25,730 --> 00:38:30,610 像.h文件讓我們因數的東西​​出來, 喜歡helpers.c讓我們因子的事情了 870 00:38:30,610 --> 00:38:31,880 一些pset中前。 871 00:38:31,880 --> 00:38:34,200 同樣地,我們可能 要實現這一點。 872 00:38:34,200 --> 00:38:37,920 >> 因此,在版本通知 3 search.html我已經 873 00:38:37,920 --> 00:38:40,610 清理的頭 頁面,只是把 874 00:38:40,610 --> 00:38:43,320 在此,一個鏈接標記,這 相反的名稱, 875 00:38:43,320 --> 00:38:44,700 不給你一個超鏈接。 876 00:38:44,700 --> 00:38:49,150 它通過的方式鏈接到另一個文件 一個href其值在這種情況下, 877 00:38:49,150 --> 00:38:51,586 是搜索3.css 878 00:38:51,586 --> 00:38:52,960 所以,我知道我們要快。 879 00:38:52,960 --> 00:38:54,600 但是,所有我做的是怎麼樣 中移動周圍的事物。 880 00:38:54,600 --> 00:38:55,760 讓我打開搜索3.css。 881 00:38:55,760 --> 00:38:57,114 882 00:38:57,114 --> 00:38:58,530 就在那兒,沒有什麼吧。 883 00:38:58,530 --> 00:39:02,270 我只是複製並粘貼到一個新的 文件,就像我們分解出來的東西 884 00:39:02,270 --> 00:39:03,509 進入之前的其他文件。 885 00:39:03,509 --> 00:39:05,300 和result-- 完全underwhelming-- 886 00:39:05,300 --> 00:39:06,730 將是完全一樣的。 887 00:39:06,730 --> 00:39:10,490 但是,我們正在toward--不,它不是。 888 00:39:10,490 --> 00:39:11,930 哦,我知道為什麼。 889 00:39:11,930 --> 00:39:13,790 >> 因此,它似乎是一個錯誤。 890 00:39:13,790 --> 00:39:15,010 它在某種意義上是。 891 00:39:15,010 --> 00:39:17,730 不過,讓我打開我的網絡標籤。 892 00:39:17,730 --> 00:39:19,660 讓我重新加載頁面。 893 00:39:19,660 --> 00:39:23,315 啊,為什麼是CSS沒有被應用? 894 00:39:23,315 --> 00:39:26,920 那麼,CSS文件,同樣,有 是世界可讀​​的,可以這麼說。 895 00:39:26,920 --> 00:39:28,440 而它也正在被禁止。 896 00:39:28,440 --> 00:39:33,760 因此,讓我做一個存取權限chmod a + R 星點CSS-- whoops-- 897 00:39:33,760 --> 00:39:37,067 我們點CSS僅僅是 文件擴展名的CSS文件。 898 00:39:37,067 --> 00:39:38,900 現在讓我回去 我的瀏覽器和重載。 899 00:39:38,900 --> 00:39:40,910 OK,好一點。 900 00:39:40,910 --> 00:39:42,282 >> 現在讓我做最後一件事。 901 00:39:42,282 --> 00:39:42,990 在搜索4.html。 902 00:39:42,990 --> 00:39:44,550 903 00:39:44,550 --> 00:39:48,220 我說我只是想一個版本 是這樣涼,雖然這樣更 904 00:39:48,220 --> 00:39:48,980 複雜的。 905 00:39:48,980 --> 00:39:50,690 讓我們來看看結果第一次。 906 00:39:50,690 --> 00:39:52,290 關閉這個給我們更多的空間。 907 00:39:52,290 --> 00:39:54,275 改變這種搜索-4,回車。 908 00:39:54,275 --> 00:39:55,430 909 00:39:55,430 --> 00:39:57,200 >> 現在一堆東西被打破。 910 00:39:57,200 --> 00:39:59,910 我要回去 進入我的目錄位置。 911 00:39:59,910 --> 00:40:04,190 而現在我只是做 一+ R上file--在chmod 912 00:40:04,190 --> 00:40:07,450 因為我知道它叫exists-- logo.gif,這是一個圖像。 913 00:40:07,450 --> 00:40:08,590 而現在重裝。 914 00:40:08,590 --> 00:40:11,040 和wow--所以現在我 八九不離十,坦率地說, 915 00:40:11,040 --> 00:40:15,860 喜歡1999年的版本,谷歌,以及 坦率地說,在2014年版的谷歌, 916 00:40:15,860 --> 00:40:16,360 對不對? 917 00:40:16,360 --> 00:40:21,920 >> 所以它現在要他們的網站, 最終,如果我搜索的貓。 918 00:40:21,920 --> 00:40:23,900 的確是。 919 00:40:23,900 --> 00:40:26,410 但我做了什麼不同 在這個版本4? 920 00:40:26,410 --> 00:40:28,020 所以我們不會過多談論在這裡。 921 00:40:28,020 --> 00:40:30,100 你會看到這個問題, 集7最終。 922 00:40:30,100 --> 00:40:31,350 但是請注意,我做了幾件事情。 923 00:40:31,350 --> 00:40:33,690 >> 我介紹一個div 標籤,這是師, 924 00:40:33,690 --> 00:40:35,450 類似的精神,一個段落標記。 925 00:40:35,450 --> 00:40:38,220 但是,一個部門就像是,這裡的 一個長方形的不可見區域 926 00:40:38,220 --> 00:40:39,150 屏幕。 927 00:40:39,150 --> 00:40:41,680 讓我們給它一個獨特的 標識符,頁腳,只是 928 00:40:41,680 --> 00:40:44,700 這樣我們就可以談 它在其他地方我們的HTML。 929 00:40:44,700 --> 00:40:47,952 這裡是頁的另一種格 其ID將是內容。 930 00:40:47,952 --> 00:40:49,160 它是該頁面的內容。 931 00:40:49,160 --> 00:40:51,090 而且在這裡是頁的標題中。 932 00:40:51,090 --> 00:40:54,960 >> 換句話說,我已經 實際上在HTML中很弱智 933 00:40:54,960 --> 00:40:57,700 查看此網頁的 三部分組成,一個頭 934 00:40:57,700 --> 00:41:01,200 在這裡用這種無形的矩形, 在中間的內容,然後 935 00:41:01,200 --> 00:41:04,800 頁腳向下跌破,甚至 雖然我們沒有看到那些東西。 936 00:41:04,800 --> 00:41:09,940 因為我想在我的腦海中 在此頁面,或在.css文件, 937 00:41:09,940 --> 00:41:11,460 我可以用這個語法。 938 00:41:11,460 --> 00:41:13,070 >> 頭是不是一個標籤。 939 00:41:13,070 --> 00:41:17,060 這是一個ID,因此它變成 指出,這樣做的#header, 940 00:41:17,060 --> 00:41:20,840 我現在可以申請一個或多個 屬性的報頭。 941 00:41:20,840 --> 00:41:24,130 我可以做同樣的內容, 同樣對於這裡的內容。 942 00:41:24,130 --> 00:41:27,230 >> 因此,例如,在頁腳,通知 所有這些特性,我加入。 943 00:41:27,230 --> 00:41:30,660 我知道它們的存在僅僅通過閱讀 了對CSS的文檔。 944 00:41:30,660 --> 00:41:33,450 字體大小將是smaller-- 因此一些相對字號。 945 00:41:33,450 --> 00:41:34,741 權重將是大膽的。 946 00:41:34,741 --> 00:41:37,340 Margin--多少像素 圍繞它 - 是20個像素。 947 00:41:37,340 --> 00:41:38,590 而且它會為中心。 948 00:41:38,590 --> 00:41:40,256 >> 但現在,頁面看起來是這樣的。 949 00:41:40,256 --> 00:41:42,840 如果我不喜歡的 我的副本就在那裡, 950 00:41:42,840 --> 00:41:46,560 我可以不喜歡紅色。 951 00:41:46,560 --> 00:41:50,570 然後我就可以節省這一點,重新加載, 現在我已經程式化頁腳。 952 00:41:50,570 --> 00:41:54,130 所以這只是暗示的力量 你可以在一個網頁怎麼辦 953 00:41:54,130 --> 00:41:55,510 改變周圍的事物。 954 00:41:55,510 --> 00:41:59,080 >> 而比這更酷,如果你想 閒逛實際的網站, 955 00:41:59,080 --> 00:42:00,810 你永遠不能改變他們。 956 00:42:00,810 --> 00:42:03,640 但是,如果我打開 再次Chrome的督察 957 00:42:03,640 --> 00:42:07,610 我去不要的左手側 在這裡,這說明Facebook的HTML, 958 00:42:07,610 --> 00:42:11,380 但在右圖所示 右手邊所有的CSS, 959 00:42:11,380 --> 00:42:13,789 您可以和 在運行中改變的東西。 960 00:42:13,789 --> 00:42:15,080 因此,讓我繼續前進,做到這一點。 961 00:42:15,080 --> 00:42:18,670 >> 讓我繼續前進,控制 在這個隨機單詞點擊這裡, 962 00:42:18,670 --> 00:42:21,230 簽字,然後單擊檢查元素。 963 00:42:21,230 --> 00:42:25,130 Chrome瀏覽器很方便地跳轉到 Facebook是用h1標籤。 964 00:42:25,130 --> 00:42:27,290 並請注意這裡的Facebook 有一種懶洋洋 965 00:42:27,290 --> 00:42:29,960 硬編碼的字體大​​小為這裡的屬性。 966 00:42:29,960 --> 00:42:33,530 >> 因此,很酷的事情,雖然是 如果我真的去這裡 967 00:42:33,530 --> 00:42:39,560 並說,哦,Facebook的,我不喜歡這樣 64個像素,我們可以改變現在的Facebook。 968 00:42:39,560 --> 00:42:42,590 當然,我們只是改變它 對我個人的時刻。 969 00:42:42,590 --> 00:42:45,150 但是,這僅僅是另一個 工具在我們的工具包 970 00:42:45,150 --> 00:42:48,360 那將讓我們能夠調整 並找出和診斷也 971 00:42:48,360 --> 00:42:49,729 問題在我們自己的網頁。 972 00:42:49,729 --> 00:42:52,270 我們可以同樣地走了過來 在這裡,這是同一件事。 973 00:42:52,270 --> 00:42:55,830 如果你真的想獲得幻想,我 意思是說,現在你真的可以發生變異的頁面 974 00:42:55,830 --> 00:42:57,380 做瘋狂的事情。 975 00:42:57,380 --> 00:42:59,870 >> 那麼,為什麼這一切有用嗎? 976 00:42:59,870 --> 00:43:02,330 好了,最後,我們 將要成為 977 00:43:02,330 --> 00:43:07,110 能夠創建Web頁面 通過我們自己的後端驅動, 978 00:43:07,110 --> 00:43:10,520 不只是谷歌和 外包後端存在。 979 00:43:10,520 --> 00:43:13,510 我們真正想要的 值,例如 980 00:43:13,510 --> 00:43:18,830 我們的搜索引擎的作用 屬性去不是別人, 981 00:43:18,830 --> 00:43:24,270 但像search.php中, 那裡的search.php是我們自己的服務器上, 982 00:43:24,270 --> 00:43:25,670 而不是別人的。 983 00:43:25,670 --> 00:43:30,316 >> 所以到那裡,我們其實 需要引入一種新的語言。 984 00:43:30,316 --> 00:43:33,190 因此,我們已經看了一眼新 這裡的語言,或兩個真的,HTML 985 00:43:33,190 --> 00:43:33,700 和CSS。 986 00:43:33,700 --> 00:43:36,330 但他們真的只是 結構和審美語言。 987 00:43:36,330 --> 00:43:38,360 他們不是編程 語言本身。 988 00:43:38,360 --> 00:43:41,160 那就是盡可能多的正式 時間,我們將花費在他們身上。 989 00:43:41,160 --> 00:43:44,910 因為我們現在將開始 轉換到PHP。 990 00:43:44,910 --> 00:43:48,160 >> 所以,PHP是一個實際的 編程語言。 991 00:43:48,160 --> 00:43:50,750 這是一個腳本語言 在這個意義上,它的 992 00:43:50,750 --> 00:43:52,855 意思是重量更輕 不是像C. 993 00:43:52,855 --> 00:43:56,082 它是一種解釋型語言, 這意味著它不會被編譯。 994 00:43:56,082 --> 00:43:58,790 因此,概括地說,這是什麼意思 當我們使用類似C語言 995 00:43:58,790 --> 00:44:00,290 我們不得不去編譯它? 996 00:44:00,290 --> 00:44:02,120 什麼意思 編譯C源代碼? 997 00:44:02,120 --> 00:44:03,864 998 00:44:03,864 --> 00:44:04,780 聽眾:[聽不清]。 999 00:44:04,780 --> 00:44:06,184 大衛·馬蘭:再說一遍嗎? 1000 00:44:06,184 --> 00:44:07,100 聽眾:[聽不清]。 1001 00:44:07,100 --> 00:44:07,962 1002 00:44:07,962 --> 00:44:08,920 大衛·馬蘭:完美。 1003 00:44:08,920 --> 00:44:10,180 它把它變成二進制代碼。 1004 00:44:10,180 --> 00:44:14,200 它把它變成零和一 從實際的類似英語的源代碼。 1005 00:44:14,200 --> 00:44:16,424 然後我們就可以真正 運行這些零和一 1006 00:44:16,424 --> 00:44:18,840 通過在將它們傳遞 CPU通過雙擊圖標 1007 00:44:18,840 --> 00:44:19,980 或者運行一個命令。 1008 00:44:19,980 --> 00:44:23,770 >> PHP和Python和Ruby 和Perl和JavaScript 1009 00:44:23,770 --> 00:44:26,250 和其他的串 語言的解釋 1010 00:44:26,250 --> 00:44:29,290 語言,這是說 你不編譯它們。 1011 00:44:29,290 --> 00:44:34,220 相反,你餵它們作為輸入 一個程序調用一個解釋。 1012 00:44:34,220 --> 00:44:36,640 並且解釋, 這別人寫的, 1013 00:44:36,640 --> 00:44:40,930 讀取您的源代碼,從上到下, 左到右,只是解譯 1014 00:44:40,930 --> 00:44:43,000 那些線條和做什麼,你說。 1015 00:44:43,000 --> 00:44:45,360 >> 所以,如果你遇到一個 該行表示,打印, 1016 00:44:45,360 --> 00:44:48,660 它不一定轉換打印 為相應的零和一。 1017 00:44:48,660 --> 00:44:51,910 它只是有這種類似的解釋 一個大的if條件,上面寫著: 1018 00:44:51,910 --> 00:44:56,110 如果程序員的指令 打印,然後執行以下操作。 1019 00:44:56,110 --> 00:44:58,170 所以它只是把它解釋 通過一種推理 1020 00:44:58,170 --> 00:44:59,800 通過什麼你告訴它做的事。 1021 00:44:59,800 --> 00:45:01,320 >> 而PHP是其中一種語言。 1022 00:45:01,320 --> 00:45:05,310 和PHP年前設計 正是基於web編程。 1023 00:45:05,310 --> 00:45:08,160 它最初是一個 很邋遢凌亂的語言。 1024 00:45:08,160 --> 00:45:10,940 事實上,有一個巨大的 量差的PHP代碼在那裡。 1025 00:45:10,940 --> 00:45:13,520 但是語言本身 已經成熟,多年來, 1026 00:45:13,520 --> 00:45:16,200 以至於現在它的 實際上是一個美妙的下一步 1027 00:45:16,200 --> 00:45:19,970 教學上從C,因為它​​是 所以該死的熟悉的一切 1028 00:45:19,970 --> 00:45:22,380 你剛才看到的,在過去的幾個星期。 1029 00:45:22,380 --> 00:45:25,724 >> 我們將看到一個初始的區別 是沒有的主要功能了。 1030 00:45:25,724 --> 00:45:28,890 當你開始寫代碼,它只是 要得到執行,不管是什麼, 1031 00:45:28,890 --> 00:45:30,220 正如我們將看到一個時刻。 1032 00:45:30,220 --> 00:45:33,320 同時,這裡就是一個 變量看起來像在PHP。 1033 00:45:33,320 --> 00:45:35,840 這是一個有點不同的, 但只是勉強。 1034 00:45:35,840 --> 00:45:39,380 >> 在PHP中,有沒有強類型。 1035 00:45:39,380 --> 00:45:41,430 還有一周打字, 這只是意味著有 1036 00:45:41,430 --> 00:45:44,030 有數據類型,如字符串 和數字和其他東西。 1037 00:45:44,030 --> 00:45:47,030 但是,你不要打擾指定 他們是什麼樣了。 1038 00:45:47,030 --> 00:45:48,980 PHP的數字出來給你。 1039 00:45:48,980 --> 00:45:52,030 美元符號僅僅是一個決策 該PHP的人做年 1040 00:45:52,030 --> 00:45:54,890 以前,這樣在PHP中的任何變量 剛開始用一​​個美元符號。 1041 00:45:54,890 --> 00:45:58,130 它是一種真正的有用 它跳出你多一點。 1042 00:45:58,130 --> 00:46:01,315 >> 但在此之後,這 在PHP中的條件。 1043 00:46:01,315 --> 00:46:03,140 1044 00:46:03,140 --> 00:46:04,730 有什麼不同的對C? 1045 00:46:04,730 --> 00:46:07,180 1046 00:46:07,180 --> 00:46:09,600 欺騙question--什麼, 這實際上是非常好的。 1047 00:46:09,600 --> 00:46:12,140 布爾表達式PHP--相同。 1048 00:46:12,140 --> 00:46:19,354 同和與布爾表達式 或者,開關,循環,循環,loops-- OK, 1049 00:46:19,354 --> 00:46:20,270 這個人是不同的。 1050 00:46:20,270 --> 00:46:22,660 >> 因此,原來有一個 情侶在PHP中的其他功能。 1051 00:46:22,660 --> 00:46:25,243 其中之一就是實際上這一點, 這是奇妙的方便。 1052 00:46:25,243 --> 00:46:29,250 如果$的數字是,你已經一個數組 在程序中事先聲明, 1053 00:46:29,250 --> 00:46:33,350 你有這樣奇特的每個構造 這樣做,而不是所有的 1054 00:46:33,350 --> 00:46:37,020 討厭我等於0,我是 低於此,[? I ++?] 1055 00:46:37,020 --> 00:46:40,320 每個數字作為編號,其中每個 那些美元符號的值就是 1056 00:46:40,320 --> 00:46:42,790 一個變量,而後者 你能想到的是一 1057 00:46:42,790 --> 00:46:44,290 你可以把它叫做任何你想要的。 1058 00:46:44,290 --> 00:46:45,770 我把它叫做數字。 1059 00:46:45,770 --> 00:46:48,825 這是要遍歷 數組被叫號碼。 1060 00:46:48,825 --> 00:46:51,200 並在每個迭代中,它是 要自動更新 1061 00:46:51,200 --> 00:46:54,340 為你的美元符號數 變量使你不斷 1062 00:46:54,340 --> 00:46:58,210 有機會獲得你想要的變量 無需做任何括號 1063 00:46:58,210 --> 00:47:00,980 符號或索引到一個數組中。 1064 00:47:00,980 --> 00:47:04,950 >> 除此之外,我們甚至有類似的東西 數組,這看上去幾乎相同, 1065 00:47:04,950 --> 00:47:08,210 除非這是非常常見的,如我們 看,無論是在PHP和JavaScript 1066 00:47:08,210 --> 00:47:10,750 預初始化數組 使用方括號。 1067 00:47:10,750 --> 00:47:12,040 C使用大括號。 1068 00:47:12,040 --> 00:47:15,330 因此,它是略有不同的,即使 我們並沒有真正使用的伎倆了。 1069 00:47:15,330 --> 00:47:20,090 >> 但更強大的是, PHP有關聯數組, 1070 00:47:20,090 --> 00:47:23,100 這是一種奇特的方式 說法哈希表。 1071 00:47:23,100 --> 00:47:31,610 事實上,如果你想聲明一個哈希 表在PHP中,不像在C--多少 1072 00:47:31,610 --> 00:47:34,775 代碼行花了來 真正實現在C語言的哈希表? 1073 00:47:34,775 --> 00:47:38,310 或者有多少行代碼是 以C語言實現一個哈希表? 1074 00:47:38,310 --> 00:47:39,820 因此,它可能是一個很大吧? 1075 00:47:39,820 --> 00:47:41,680 這是幾十個,也許100或200。 1076 00:47:41,680 --> 00:47:42,980 這是平凡的。 1077 00:47:42,980 --> 00:47:45,420 或者它即將被作為 您很快就會看到,平凡 1078 00:47:45,420 --> 00:47:48,080 實現一個哈希表 [聽不清],也是一個嘗試。 1079 00:47:48,080 --> 00:47:50,580 但在PHP--坦率地說,我 或許不應該告訴你這 1080 00:47:50,580 --> 00:47:53,630 直到Monday--在PHP中,如果 你想有一個表,完成。 1081 00:47:53,630 --> 00:47:56,431 這是一個哈希table--這樣 用一行代碼。 1082 00:47:56,431 --> 00:47:56,930 和 1083 00:47:56,930 --> 00:47:58,810 >> 很多語言做到這一點。 1084 00:47:58,810 --> 00:48:00,190 有樂趣的PSET 5。 1085 00:48:00,190 --> 00:48:01,980 所以很多語言做到這一點。 1086 00:48:01,980 --> 00:48:03,050 1087 00:48:03,050 --> 00:48:06,140 他們給你的這些抽象 其他人,其他程序員, 1088 00:48:06,140 --> 00:48:09,870 為你創造這樣 你可以站在他們的肩膀上 1089 00:48:09,870 --> 00:48:13,290 並開始使用的想法是超 引人注目的,像哈希表和樹 1090 00:48:13,290 --> 00:48:14,140 並嘗試。 1091 00:48:14,140 --> 00:48:17,790 但你不一定要 實現這些東西自己。 1092 00:48:17,790 --> 00:48:20,850 >> 因此,最終,有什麼 我們將使用PHP 1093 00:48:20,850 --> 00:48:23,580 可能是寫程序 所謂的命令行。 1094 00:48:23,580 --> 00:48:26,600 我們可以重新創建每個程序 我們已經寫了本學期迄今, 1095 00:48:26,600 --> 00:48:30,410 也許除了突圍它採用SPL, 這是專門針對C的時刻。 1096 00:48:30,410 --> 00:48:33,100 但是,所有其他問題集, 當然馬里奧和愷撒 1097 00:48:33,100 --> 00:48:35,300 和的V @ genere和 [?破解?]及以後,我們 1098 00:48:35,300 --> 00:48:39,520 可以重新實現在PHP中,和 可能有點更容易。 1099 00:48:39,520 --> 00:48:43,050 >> 但我們最終會 用PHP的Web編程。 1100 00:48:43,050 --> 00:48:46,420 而我們將要介紹下一個 一周的心理模型,一個叫範 1101 00:48:46,420 --> 00:48:49,610 MVC,模型視圖控制器, 其中,如果你做編程 1102 00:48:49,610 --> 00:48:51,610 之前在Python或 Ruby或其他地方,你 1103 00:48:51,610 --> 00:48:54,112 可能知道這支球隊與 Rails和Django和等。 1104 00:48:54,112 --> 00:48:55,820 但如果你是新來 這也太,你會看到 1105 00:48:55,820 --> 00:48:59,652 這其實是一個很自然的 延伸因子的 1106 00:48:59,652 --> 00:49:01,360 和設計的那種 的代碼,我們已經 1107 00:49:01,360 --> 00:49:04,670 一直在做C.我們要現在 運用其中的一些教訓,PHP 1108 00:49:04,670 --> 00:49:07,190 所以,最終,我們是 實現我們自己的網站。 1109 00:49:07,190 --> 00:49:09,080 如果你是那種 催眠或驚奇 1110 00:49:09,080 --> 00:49:10,954 我們要做的 所有的這麼快, 1111 00:49:10,954 --> 00:49:13,410 認識到,幾乎每 學期中,近90% 1112 00:49:13,410 --> 00:49:16,560 學生CS50,包括那些 誰從來沒有編程之前, 1113 00:49:16,560 --> 00:49:20,329 最終使最終的項目 基於web編程。 1114 00:49:20,329 --> 00:49:23,120 所以你會看到回報 高在幾週來。 1115 00:49:23,120 --> 00:49:24,965 所以我們會看到你,然後在星期一。 1116 00:49:24,965 --> 00:49:27,260 1117 00:49:27,260 --> 00:49:30,120 >> 揚聲器1:現在,深 思考了Daven法納姆。 1118 00:49:30,120 --> 00:49:34,055 1119 00:49:34,055 --> 00:49:34,780 哈希表。 1120 00:49:34,780 --> 00:49:37,180 1121 00:49:37,180 --> 00:49:38,402 >> [笑] 1122 00:49:38,402 --> 00:49:38,902