1 00:00:00,000 --> 00:00:01,390 2 00:00:01,390 --> 00:00:04,890 >> [MUSIK BERMAIN] 3 00:00:04,890 --> 00:00:10,955 4 00:00:10,955 --> 00:00:12,580 DAVID MALAN J: Baiklah, selamat datang kembali. 5 00:00:12,580 --> 00:00:13,600 Ini adalah CS50. 6 00:00:13,600 --> 00:00:15,540 Ini adalah akhir minggu tujuh. 7 00:00:15,540 --> 00:00:18,180 Dan ini adalah akhir dari penyapu jalan yang memburu dari permasalahan yang empat 8 00:00:18,180 --> 00:00:19,220 yang mungkin anda ingat. 9 00:00:19,220 --> 00:00:21,650 Setelah sembuh semua mereka JPEG kakitangan, 10 00:00:21,650 --> 00:00:24,820 anda menghadapi cabaran, jika anda ingin, untuk mengambil gambar diri anda dengan seberapa banyak 11 00:00:24,820 --> 00:00:25,981 dari orang-orang yang anda boleh. 12 00:00:25,981 --> 00:00:28,480 Kami mendapat sejumlah besar permohonan yang sejak beberapa minggu terakhir, 13 00:00:28,480 --> 00:00:32,980 memang cukup hak beberapa sebelum tengah hari hari ini, beberapa di antaranya adalah orang-orang di sini, 14 00:00:32,980 --> 00:00:37,670 ditangkap di sini dalam- kelihatan like-- Annenberg Dewan pada waktu pejabat, satu di sini 15 00:00:37,670 --> 00:00:39,530 di Lowell Rumah dengan Nick. 16 00:00:39,530 --> 00:00:41,750 Berikut ini Ramon ditangkap di telefon. 17 00:00:41,750 --> 00:00:43,870 Ini adalah pada makan siang CS50. 18 00:00:43,870 --> 00:00:46,840 Ini adalah Jason Skyping dengan rakan sekelas yang lebih kreatif, 19 00:00:46,840 --> 00:00:48,280 yang menelefonnya cara ini. 20 00:00:48,280 --> 00:00:49,690 Kita tidak tahu apa ini. 21 00:00:49,690 --> 00:00:51,940 >> [Ketawa] 22 00:00:51,940 --> 00:00:54,570 >> DAVID MALAN J: Tetapi yang patut gigabyte. 23 00:00:54,570 --> 00:00:56,960 Berikut adalah Chang, yang benar-benar berlari pentas 24 00:00:56,960 --> 00:01:00,480 untuk mengelak daripada diambil gambar satu hari, tetapi akhirnya tertangkap. 25 00:01:00,480 --> 00:01:02,050 Berikut adalah Nick. 26 00:01:02,050 --> 00:01:03,480 Berikut adalah Nick. 27 00:01:03,480 --> 00:01:04,080 Berikut adalah Nick. 28 00:01:04,080 --> 00:01:05,090 29 00:01:05,090 --> 00:01:07,670 Dan di sini adalah Alison oleh ladang. 30 00:01:07,670 --> 00:01:11,840 Dan Zamyla bahkan ditemui di pertandingan tarian. 31 00:01:11,840 --> 00:01:14,100 Oleh itu, kita akan melalui gambar-gambar ini, memikirkan 32 00:01:14,100 --> 00:01:16,690 yang disampaikan paling yang paling awal, dan ganjaran 33 00:01:16,690 --> 00:01:20,662 satu hadiah yang hebat, sebagai dijanjikan dalam spec. 34 00:01:20,662 --> 00:01:23,120 Dan kami juga akan membuat susulan tentang ruang yang terlibat. 35 00:01:23,120 --> 00:01:26,860 >> Beberapa announcements-- sehingga makan tengah hari adalah, sekali lagi, Jumaat ini di 1:15 PM. 36 00:01:26,860 --> 00:01:30,420 Jika anda ingin menyertai kami, RSVP di URL itu di sini. 37 00:01:30,420 --> 00:01:33,730 Jason muncul sekali lagi di sini dari satu satu bahagian beberapa tahun 38 00:01:33,730 --> 00:01:35,510 belakang, yang berlaku jatuh pada Halloween. 39 00:01:35,510 --> 00:01:38,950 Dan sesungguhnya, dia berpakaian seperti labu tahun tersebut. 40 00:01:38,950 --> 00:01:42,700 Jika anda menonton seksyen ini dari dari tahun 2011 catatannya 41 00:01:42,700 --> 00:01:46,480 delapan, jika anda ingin tahu, di CS50.tv, saya rasa 42 00:01:46,480 --> 00:01:49,730 ini adalah tahun di mana pam udara sedang bekerjasama. 43 00:01:49,730 --> 00:01:52,490 >> Jika kemudian menonton seksyen yang sama pada tahun 2012, 44 00:01:52,490 --> 00:01:55,620 Anda akan melihat Jason ini lebih kempis, sejak saman itu tidak lagi berfungsi, 45 00:01:55,620 --> 00:01:58,060 yang hanya untuk mengatakan Jumaat ini, jika Anda lebih 46 00:01:58,060 --> 00:02:02,720 suka mengukir labu dengan Daven dan Gabe dan lain-lain, RSVP kepada ketua-ketua 47 00:02:02,720 --> 00:02:04,480 di alamat cs50.harvard.edu. 48 00:02:04,480 --> 00:02:06,200 Ia berjanji untuk menjadi menyeronokkan. 49 00:02:06,200 --> 00:02:08,660 Daven, kita diberitahu, telah mengukir labu semua hidupnya. 50 00:02:08,660 --> 00:02:11,930 Gabriel dari Brazil tidak pernah mengukir labu untuk Halloween. 51 00:02:11,930 --> 00:02:14,700 Jadi berada di sana dengan mereka seperti yang dia belajar. 52 00:02:14,700 --> 00:02:16,830 >> Seminar, meanwhile-- jadi anda akan belajar tidak lama lagi 53 00:02:16,830 --> 00:02:20,650 tentang apa harapan kami adalah untuk projek akhir, yang pada dasarnya 54 00:02:20,650 --> 00:02:23,150 akan mendidih ke merancang dan melaksanakan 55 00:02:23,150 --> 00:02:26,440 mana-mana projek yang paling menarik bagi anda, walaupun tertakluk kepada kelulusan 56 00:02:26,440 --> 00:02:28,490 dan bimbingan dari rakan-rakan pengajaran anda. 57 00:02:28,490 --> 00:02:32,110 Menjelang akhir semester, kami memperkenalkan sebilangan 58 00:02:32,110 --> 00:02:35,610 seminar, yang kelas pilihan dipimpin oleh felo pengajaran dan Harvard 59 00:02:35,610 --> 00:02:38,570 kakitangan, rakan-rakan kursus ini di kampus, mengenai pelbagai topik yang 60 00:02:38,570 --> 00:02:41,470 adalah tangen kepada sukatan pelajaran asas kursus ini 61 00:02:41,470 --> 00:02:45,590 tapi tetap berlaku, menyenangkan, dan yang berbeza untuk potensi projek akhir. 62 00:02:45,590 --> 00:02:49,530 >> Sebagai contoh, pertama, jika anda ingin untuk mendaftar, pergi ke URL yang ada. 63 00:02:49,530 --> 00:02:53,010 Dan ini adalah akhir untuk seminar pada tahun ini sahaja. 64 00:02:53,010 --> 00:02:56,060 Tetapi menyadari kita mempunyai berpuluh-puluh seminar dari tahun-tahun yang lalu, yang semuanya 65 00:02:56,060 --> 00:02:59,774 terkait dalam menu Seminar yang pilihan untuk laman web kursus ini. 66 00:02:59,774 --> 00:03:02,190 Jadi, jika anda berfikir tentang melampaui zon selesa anda 67 00:03:02,190 --> 00:03:05,060 atau mengambil beberapa kemahiran baru, misalnya, pengaturcaraan iPhone 68 00:03:05,060 --> 00:03:08,100 aplikasi dengan Swift, bahasa baru dari Apple atau Objektif-C 69 00:03:08,100 --> 00:03:11,230 atau aplikasi Android atau pengaturcaraan [? isyarat?] mentol lampu, atau mana-mana topik 70 00:03:11,230 --> 00:03:15,490 di sini dan banyak lagi, cek kerana halaman pendaftaran. 71 00:03:15,490 --> 00:03:19,730 >> Oleh itu, kita mulai dan berakhir pada Isnin dengan melihat HTTP. 72 00:03:19,730 --> 00:03:22,675 Jadi HTTP refresher-- cepat, HyperText Transfer Protocol. 73 00:03:22,675 --> 00:03:24,045 Tapi apa yang benar-benar bermakna? 74 00:03:24,045 --> 00:03:26,805 75 00:03:26,805 --> 00:03:27,930 Apa yang benar-benar bermakna? 76 00:03:27,930 --> 00:03:30,665 77 00:03:30,665 --> 00:03:31,290 Adakah itu tangan? 78 00:03:31,290 --> 00:03:33,074 79 00:03:33,074 --> 00:03:34,740 Aku tahu kau hanya menggaruk kepala anda. 80 00:03:34,740 --> 00:03:36,400 Tetapi anda ingin mencadangkan apa HTTP adalah? 81 00:03:36,400 --> 00:03:37,792 82 00:03:37,792 --> 00:03:40,576 >> PENONTON: Bagaimana komputer berkomunikasi dengan [terdengar]. 83 00:03:40,576 --> 00:03:41,517 84 00:03:41,517 --> 00:03:43,100 DAVID MALAN J: Saya terlepas bahagian akhir. 85 00:03:43,100 --> 00:03:45,774 Bagaimana komputer berkomunikasi with-- 86 00:03:45,774 --> 00:03:47,325 >> Pelayan Internet: PENONTON. 87 00:03:47,325 --> 00:03:50,450 DAVID MALAN J: Good-- dengan internet pelayan, dan secara khusus, pelayan web. 88 00:03:50,450 --> 00:03:53,533 Kerana ingat, ada sekumpulan perkhidmatan di internet, ada yang 89 00:03:53,533 --> 00:03:57,349 mungkin anda menggunakan setiap hari di antara perbualan dan mesej, chat, dan web, dan e-mel, 90 00:03:57,349 --> 00:03:57,890 dan sebagainya. 91 00:03:57,890 --> 00:04:00,900 Dan HTTP hanyalah protokol yang pelayar web 92 00:04:00,900 --> 00:04:03,750 bercakap ketika berkomunikasi dengan pelayan web, dan sebaliknya. 93 00:04:03,750 --> 00:04:05,580 Dan analog dalam dunia manusia mungkin, 94 00:04:05,580 --> 00:04:08,730 Saya menghulurkan tangan saya untuk berjabat beberapa manusia lain dan dia 95 00:04:08,730 --> 00:04:11,970 mengakui dengan memperluas atau tangannya juga. 96 00:04:11,970 --> 00:04:13,970 Jadi itu hanya protokol, satu set konvensyen. 97 00:04:13,970 --> 00:04:15,630 >> Dan apa yang sesungguhnya adalah orang-orang konvensyen? 98 00:04:15,630 --> 00:04:18,640 Yah, itu hanya bermuara menghantar mesej bolak-balik, 99 00:04:18,640 --> 00:04:19,770 seperti yang kita digambarkan di sini. 100 00:04:19,770 --> 00:04:22,520 Dan ada beberapa cara dalam yang anda boleh menghantar mesej-mesej ini. 101 00:04:22,520 --> 00:04:24,360 Dan mungkin yang paling biasa dikenali sebagai get. 102 00:04:24,360 --> 00:04:26,510 Dan kita akan melihat satu perbezaan yang ini tidak lama lagi. 103 00:04:26,510 --> 00:04:30,010 >> Tetapi permintaan mendapatkan dari browser kepada pelayan hanya kelihatan seperti ini. 104 00:04:30,010 --> 00:04:32,960 Ini adalah sekumpulan teks yang menempatkan dalam sampul surat yang maya. 105 00:04:32,960 --> 00:04:35,854 Di luar sampul surat yang pergi beberapa keping maklumat. 106 00:04:35,854 --> 00:04:37,770 Apa yang perlu ada pada sampul surat, boleh dikatakan, 107 00:04:37,770 --> 00:04:41,820 untuk mendapatkan permintaan seperti ini dari saya untuk pelayan web? 108 00:04:41,820 --> 00:04:42,320 Yeah. 109 00:04:42,320 --> 00:04:43,270 >> PENONTON: Alamat IP anda. 110 00:04:43,270 --> 00:04:45,890 >> DAVID MALAN J: Alamat IP Saya Dari dalam bidang itu, boleh dikatakan, 111 00:04:45,890 --> 00:04:49,490 dan sudah tentu, Alamat IP penerima. 112 00:04:49,490 --> 00:04:52,710 Tetapi dalam hal suatu paket web, kita harus lebih detail sedikit 113 00:04:52,710 --> 00:04:55,254 Ia tidak cukup hanya untuk menghantar sampul surat ke server, 114 00:04:55,254 --> 00:04:57,670 kerana pelayan yang mungkin mendengar untuk pelbagai jenis 115 00:04:57,670 --> 00:04:59,180 lalu lintas internet. 116 00:04:59,180 --> 00:05:01,370 Jadi apa lagi yang kita perlu selain IP penerima? 117 00:05:01,370 --> 00:05:02,723 118 00:05:02,723 --> 00:05:03,222 Ya? 119 00:05:03,222 --> 00:05:04,241 >> PENONTON: Apakah TCP? 120 00:05:04,241 --> 00:05:05,074 DAVID MALAN J: Bagus. 121 00:05:05,074 --> 00:05:06,470 TCP-- 122 00:05:06,470 --> 00:05:07,340 >> PENONTON: Alamat. 123 00:05:07,340 --> 00:05:09,340 >> DAVID MALAN J: Alamat, atau pelabuhan, seperti disebut. 124 00:05:09,340 --> 00:05:11,010 Dekat, tetapi beberapa port TCP. 125 00:05:11,010 --> 00:05:12,220 Dan ada sekumpulan ini. 126 00:05:12,220 --> 00:05:14,310 Tapi tentunya yang paling biasa harus akhirnya 127 00:05:14,310 --> 00:05:17,590 80, yang lalai yang digunakan untuk lalu lintas web. 128 00:05:17,590 --> 00:05:20,040 Dan satu lagi yang biasa satu tidak lama lagi akan menjadi 443, 129 00:05:20,040 --> 00:05:24,280 yang digunakan untuk web aman lalu lintas, URL yang bermula dengan https. 130 00:05:24,280 --> 00:05:26,650 >> Jadi, ini adalah apa yang berlaku di dalam sampul surat itu. 131 00:05:26,650 --> 00:05:29,780 Dan mendapatkan / hanya berarti, memberi saya laman web yang lalai. 132 00:05:29,780 --> 00:05:32,700 Berikan saya akar keras memandu di pelayan web. 133 00:05:32,700 --> 00:05:36,050 Dan mudah-mudahan, web pelayan akan bertindak balas dengan, OK 134 00:05:36,050 --> 00:05:39,630 dan nombor 200, yang hanya konvensyen mengatakan, ya, semua 135 00:05:39,630 --> 00:05:40,470 memang OK. 136 00:05:40,470 --> 00:05:41,680 Berikut adalah halaman. 137 00:05:41,680 --> 00:05:45,510 Jenis laman web yang akan berupa teks, tetapi lebih khusus lagi, HTML, 138 00:05:45,510 --> 00:05:47,010 yang kami akan menyelam semula ke dalam. 139 00:05:47,010 --> 00:05:49,877 Dan dot dot dot sahaja cara, di sini adalah HTML. 140 00:05:49,877 --> 00:05:51,710 Dan di situlah kita mengambil cerita hari ini, 141 00:05:51,710 --> 00:05:55,740 benar-benar menulis HTML, HyperText Markup Language, yang 142 00:05:55,740 --> 00:05:57,727 adalah bahasa yang laman web yang tertulis. 143 00:05:57,727 --> 00:05:59,060 Ia bukan satu bahasa pengaturcaraan. 144 00:05:59,060 --> 00:06:01,270 Tidak ada fungsi atau gelung atau keadaan. 145 00:06:01,270 --> 00:06:03,800 Ini adalah bahasa markup, juga lagi lihat hari ini, 146 00:06:03,800 --> 00:06:07,240 yang membolehkan anda untuk menentukan bagaimana struktur dan menyesuaikan dgn mode 147 00:06:07,240 --> 00:06:09,300 estetika laman web. 148 00:06:09,300 --> 00:06:11,470 >> Jadi ini adalah salah satu yang dan hanya halaman yang kami benar-benar 149 00:06:11,470 --> 00:06:13,930 melihat, jika secara ringkas, pada Isnin. 150 00:06:13,930 --> 00:06:16,250 Dan perhatikan beberapa ciri-ciri yang menonjol. 151 00:06:16,250 --> 00:06:20,170 Ada banyak terbuka bersudut kurungan dan kurungan siku dekat. 152 00:06:20,170 --> 00:06:23,160 Di antara mereka yang bersudut kurung adalah kata-kata. 153 00:06:23,160 --> 00:06:25,660 Dan kita akan mula memanggil kata-kata tag. 154 00:06:25,660 --> 00:06:28,800 Kepala pendakap begitu terbuka dan kepala kurungan tertutup 155 00:06:28,800 --> 00:06:33,620 adalah tag terbuka dan tertutup, atau awal dan akhir tag 156 00:06:33,620 --> 00:06:37,660 masing-masing, dari suatu elemen HTML, seperti yang akan kita menyebutnya, yang disebut kepala. 157 00:06:37,660 --> 00:06:41,760 Dan jargon yang sama berlaku kepada badan dalam HTML dan lain-lain. 158 00:06:41,760 --> 00:06:43,970 >> Dan apa yang baik adalah HTML-- dan memang, kita akan 159 00:06:43,970 --> 00:06:47,187 menghabiskan waktu yang sangat kecil di atasnya, kerana anda akan kebanyakan hanya memikirkan 160 00:06:47,187 --> 00:06:49,770 apa ciri-ciri ia mempunyai apabila anda benar-benar mempunyai masalah konkrit 161 00:06:49,770 --> 00:06:52,820 untuk solve-- anda akan mendapati bahawa pelayar yang cukup bodoh. 162 00:06:52,820 --> 00:06:56,450 Ia hanya akan do-- tidak berbeza yang computer-- apa yang anda katakan itu lakukan. 163 00:06:56,450 --> 00:06:59,279 Dan ketika anda telah buka braket HTML di bahagian paling atas 164 00:06:59,279 --> 00:07:01,320 sana, yang pada dasarnya hanya bermaksud, hey, browser, 165 00:07:01,320 --> 00:07:04,090 di sini datang laman web yang ditulis dalam HTML. 166 00:07:04,090 --> 00:07:06,130 >> Apabila Neraka itu melihat kurungan terbuka kepala, itu hanya berarti, 167 00:07:06,130 --> 00:07:10,350 hey, pelayar, di sini datang kepala, atau bahagian yang paling atas dari halaman web saya. 168 00:07:10,350 --> 00:07:14,192 Apabila Neraka itu melihat braket tertutup kepala, itu hanya berarti, hey, 169 00:07:14,192 --> 00:07:15,150 itu sahaja untuk kepala. 170 00:07:15,150 --> 00:07:16,420 Siap sedia untuk sesuatu yang lain. 171 00:07:16,420 --> 00:07:18,878 Dan sesuatu yang lain adalah nampaknya akan menjadi badan. 172 00:07:18,878 --> 00:07:22,630 Dan apabila anda tidak mempunyai tag, seperti anda mempunyai hanya hello, koma, dunia, 173 00:07:22,630 --> 00:07:26,610 yang hanya akan menjadi teks baku yang akhirnya dipaparkan di skrin. 174 00:07:26,610 --> 00:07:29,220 >> Sekarang, anda akan melihat terlalu lekukan di sini. 175 00:07:29,220 --> 00:07:32,160 Anda mungkin boleh membuat kesimpulan bagaimana kita stylizing itu. 176 00:07:32,160 --> 00:07:34,850 Setiap kali saya membuka tag, boleh dikatakan, saya digantung. 177 00:07:34,850 --> 00:07:38,540 Dan setiap kali saya menutup tag, aku un-indent, 178 00:07:38,540 --> 00:07:40,690 semangat yang sama pendakap kerinting. 179 00:07:40,690 --> 00:07:43,470 Dan lebih dari itu, saya jenis menggunakan penilaian saya. 180 00:07:43,470 --> 00:07:48,380 Perhatikan bahawa saya tidak mengganggu memukul Masukkan dalam tag tajuk. 181 00:07:48,380 --> 00:07:48,990 Mengapa? 182 00:07:48,990 --> 00:07:51,920 Well, saya hanya membuat keputusan itu tampak sedikit lebih bersih kepada saya, manusia, 183 00:07:51,920 --> 00:07:53,181 hanya tidak mengganggu melakukan hal itu. 184 00:07:53,181 --> 00:07:54,930 Jadi sekali lagi, ada beberapa penghakiman panggilan hanya 185 00:07:54,930 --> 00:07:57,670 seperti ada dalam C atau apa-apa bahasa. 186 00:07:57,670 --> 00:08:04,110 >> Tapi perhatikan juga bahawa lekukan ini cocok untuk model mental, 187 00:08:04,110 --> 00:08:05,670 untuk tidak terlalu merumitkan itu. 188 00:08:05,670 --> 00:08:07,020 Tetapi pokok, kan? 189 00:08:07,020 --> 00:08:09,290 Jika anda fikirkan web halaman, nampaknya ditulis 190 00:08:09,290 --> 00:08:12,050 seperti ini, sebagai baik menjorok cara itu, 191 00:08:12,050 --> 00:08:17,390 Anda hampir bisa memikirkan pendakap terbuka HTML kurungan tertutup tag-batas 192 00:08:17,390 --> 00:08:21,380 akar simpul, pohon keluarga nod gaya dalam gaya pokok 193 00:08:21,380 --> 00:08:22,900 kami melihat pada Jumaat lepas. 194 00:08:22,900 --> 00:08:27,630 >> Dan sesungguhnya, kita mempunyai di sini yang betul apa yang kita akan memanggil DOM, D-O-M, dokumen 195 00:08:27,630 --> 00:08:31,680 model objek, cara yang mewah untuk mengatakan pokok yang mewakili HTML yang. 196 00:08:31,680 --> 00:08:36,140 Dan perhatikan bahawa HTML memiliki, kita akan berkata, seperti pohon keluarga, dua orang anak. 197 00:08:36,140 --> 00:08:37,659 Di sebelah kiri adalah kepala. 198 00:08:37,659 --> 00:08:39,179 Di sebelah kanan adalah badan. 199 00:08:39,179 --> 00:08:44,220 >> Dan hanya sebagai latihan pemikiran yang tidak wajar, kepala, tentu saja, telah berapa ramai kanak-kanak 200 00:08:44,220 --> 00:08:46,070 mengikut struktur ini? 201 00:08:46,070 --> 00:08:48,200 Jadi hanya satu, title-- dan sebab itulah kita mempunyai 202 00:08:48,200 --> 00:08:50,580 anak panah pergi dari kepala ke tajuk. 203 00:08:50,580 --> 00:08:55,110 Jadi seolah-olah orang itu dalam Pohon keluarga baru saja satu keturunan. 204 00:08:55,110 --> 00:08:58,230 Dan kemudian tajuk itu sendiri boleh dikatakan mempunyai seorang anak juga. 205 00:08:58,230 --> 00:09:01,780 >> Ingat bahawa HTML mempunyai hello, koma, dunia di bawahnya. 206 00:09:01,780 --> 00:09:06,090 Dan aku hanya disediakan dalam masa satu bujur dan bukannya persegi panjang yang adil 207 00:09:06,090 --> 00:09:10,559 untuk menyampaikan semantik bahawa walaupun ia adalah satu nod dalam pokok itu, boleh dikatakan, 208 00:09:10,559 --> 00:09:12,100 itu semacam berbeza. 209 00:09:12,100 --> 00:09:12,800 Ia bukan tag. 210 00:09:12,800 --> 00:09:14,780 Atau lebih tepat, ia bukan unsur. 211 00:09:14,780 --> 00:09:16,590 Ia hanya nod teks, jika anda akan. 212 00:09:16,590 --> 00:09:18,990 Tetapi ini adalah benar-benar konvensyen manusia sewenang-wenang. 213 00:09:18,990 --> 00:09:23,180 Ini tadi cara saya yang mewakili apa yang saya akan sebagai agregat 214 00:09:23,180 --> 00:09:24,340 memanggil dokumen. 215 00:09:24,340 --> 00:09:27,750 >> Dan sebagai samping, perkara yang di super atas sebelah kiri, 216 00:09:27,750 --> 00:09:32,080 kurungan terbuka tanda seru doc Jenis HTML, ini kelihatan seperti tag, 217 00:09:32,080 --> 00:09:35,560 tapi itu kes sudut bodoh mana yang hanya ada, disalin dan ditampal 218 00:09:35,560 --> 00:09:38,460 untuk menunjukkan pelayar ini adalah versi HTML 5. 219 00:09:38,460 --> 00:09:41,540 Dunia terus berubah apa baris pertama kod dalam halaman yang seharusnya. 220 00:09:41,540 --> 00:09:43,820 Ini hanya berarti versi 5. 221 00:09:43,820 --> 00:09:45,950 Oleh itu, ia tidak cukup kelihatan seperti yang lain. 222 00:09:45,950 --> 00:09:48,120 >> Baiklah, jadi dengan itu berkata, kini anda akan menghargai 223 00:09:48,120 --> 00:09:50,767 ini cukup bodoh ini tatu seseorang punya. 224 00:09:50,767 --> 00:09:51,990 >> [Ketawa] 225 00:09:51,990 --> 00:09:54,210 >> DAVID MALAN J: Baiklah, dan sekarang mari kita sebenarnya menyelam 226 00:09:54,210 --> 00:09:55,710 melakukan sesuatu dengan hal ini. 227 00:09:55,710 --> 00:09:58,610 Anda akan ingat bahawa masa lalu Saya membuka Appliance CS50 ini 228 00:09:58,610 --> 00:10:01,650 dan saya melakukan sesuatu yang semudah membuka gedit. 229 00:10:01,650 --> 00:10:05,190 Dan saya menyimpan fail bahkan pada desktop-- saya di mana-mana special-- 230 00:10:05,190 --> 00:10:05,870 sebagai hello.html. 231 00:10:05,870 --> 00:10:07,100 232 00:10:07,100 --> 00:10:10,984 >> Jadi, saya melakukan itu again-- hello.html Enter. 233 00:10:10,984 --> 00:10:13,900 Dan sekarang dalam fail ini, saya akan pergi ke depan dan meniru apa yang kita hanya 234 00:10:13,900 --> 00:10:18,850 doc Saw jenis html Kemudian saya akan melakukan open kurungan html kurungan tertutup. 235 00:10:18,850 --> 00:10:21,890 Dan kemudian saya akan preemptively membuka dan menutup tag. 236 00:10:21,890 --> 00:10:22,390 Mengapa? 237 00:10:22,390 --> 00:10:23,598 Supaya aku tidak lupa nanti. 238 00:10:23,598 --> 00:10:26,850 Ia hanya amalan yang baik, seperti pembukaan dan menutup pendakap kerinting sekaligus. 239 00:10:26,850 --> 00:10:28,900 >> Dan kemudian apa yang selanjutnya? 240 00:10:28,900 --> 00:10:30,582 Anda boleh memikirkan tato. 241 00:10:30,582 --> 00:10:31,450 >> PENONTON: Kepala. 242 00:10:31,450 --> 00:10:32,500 >> DAVID MALAN J: Kepala. 243 00:10:32,500 --> 00:10:36,020 Dan kemudian di sini, saya mempunyai tajuk, saya rasa. 244 00:10:36,020 --> 00:10:39,886 Dan gelar itu sewenang-wenangnya, hello, tajuk dekat dunia. 245 00:10:39,886 --> 00:10:42,760 Dan kemudian di sini, badan, dari course-- maka kita menutup tag badan. 246 00:10:42,760 --> 00:10:45,660 Dan kemudian hanya agak berlebihan, Saya mempunyai perkara yang sama di sini. 247 00:10:45,660 --> 00:10:47,150 >> Jadi saya menuntut bahawa ini adalah satu laman web. 248 00:10:47,150 --> 00:10:49,050 Ini adalah sesuatu yang kini boleh hidup di web, 249 00:10:49,050 --> 00:10:51,925 walaupun sudah tentu, itu benar-benar hidup pada desktop saya sekarang. 250 00:10:51,925 --> 00:10:55,837 Tetapi sesungguhnya, jika saya mengurangkan gedit, Aku akan melihat pada desktop saya ikonnya. 251 00:10:55,837 --> 00:10:58,420 Walaupun ini adalah alat, Anda boleh melakukan ini pada Mac OS 252 00:10:58,420 --> 00:11:01,580 tanpa TextEdit atau Windows Notepad dengan rata. 253 00:11:01,580 --> 00:11:06,115 >> Dan jika saya pergi ke depan dan klik dua kali bahawa walaupun, dan select-- baik, mari kita 254 00:11:06,115 --> 00:11:07,990 tidak memilih itu kerana Chrome tidak membuka. 255 00:11:07,990 --> 00:11:09,281 Mari kita pergi ke depan dan membuka Chrome. 256 00:11:09,281 --> 00:11:10,160 257 00:11:10,160 --> 00:11:14,040 Dan kemudian melakukan perintah-O untuk terbuka Dan arahkan ke desktop saya 258 00:11:14,040 --> 00:11:15,320 dan membuka fail itu. 259 00:11:15,320 --> 00:11:20,120 Itu adalah bagaimana pelayar yang menafsirkan HTML, atas ke bawah, kiri ke kanan. 260 00:11:20,120 --> 00:11:21,314 Hei, pelayar inilah HTML. 261 00:11:21,314 --> 00:11:21,980 Berikut adalah kepala. 262 00:11:21,980 --> 00:11:23,250 Berikut adalah tajuk. 263 00:11:23,250 --> 00:11:24,090 Berikut badan. 264 00:11:24,090 --> 00:11:26,620 Dan sesungguhnya, ini adalah bagaimana mampu membuat halaman web. 265 00:11:26,620 --> 00:11:27,800 >> Tetapi perhatikan URL. 266 00:11:27,800 --> 00:11:32,430 Tiada antara kamu yang dapat menarik khusus ini halaman pada komputer riba anda sekarang, 267 00:11:32,430 --> 00:11:34,910 bahkan di dalam anda alat melalui URL itu, 268 00:11:34,910 --> 00:11:40,130 kerana file: // menunjukkan ia sebenarnya pada sistem fail saya, cakera keras saya, 269 00:11:40,130 --> 00:11:40,990 bukan milikmu. 270 00:11:40,990 --> 00:11:42,440 Jadi ini tidak semua yang bermanfaat. 271 00:11:42,440 --> 00:11:44,940 >> Sekarang mari kita bergerak ke arah menggunakan pelayan web sebenar. 272 00:11:44,940 --> 00:11:48,309 Dan ternyata Appliance CS50 adalah lebih daripada sekadar persekitaran di mana 273 00:11:48,309 --> 00:11:51,100 Anda boleh menulis kod C dan menyusun dan menjalankannya seperti anda telah lakukan. 274 00:11:51,100 --> 00:11:55,500 Ia juga telah dikonfigurasi oleh kakitangan untuk mewakili web khas 275 00:11:55,500 --> 00:11:58,290 server yang ada di internet, salah satu yang anda mungkin membayar untuk 276 00:11:58,290 --> 00:12:00,210 atau yang dalam awan yang dipanggil. 277 00:12:00,210 --> 00:12:02,600 >> Dan itu berjalan standard sumber terbuka percuma 278 00:12:02,600 --> 00:12:06,160 perisian, contohnya, sesuatu disebut Apache, yang mungkin 279 00:12:06,160 --> 00:12:08,700 masih web yang paling popular perisian pelayan di dunia 280 00:12:08,700 --> 00:12:11,030 bahawa beribu-ribu laman web yang menggunakan hari ini. 281 00:12:11,030 --> 00:12:13,420 Dan ia juga juga mempunyai perisian seperti MySQL, 282 00:12:13,420 --> 00:12:16,240 yang merupakan pelayan pangkalan data bahawa pada akhirnya kita akan mendapatkan, 283 00:12:16,240 --> 00:12:18,330 yang hanya untuk mengatakan Saya boleh mula merawat 284 00:12:18,330 --> 00:12:22,040 alat saya sebagai pelayan yang lengkap bahawa saya tidak membayar untuk tempat lain. 285 00:12:22,040 --> 00:12:25,980 Ia hanya tinggal di komputer riba sendiri untuk pembangunan dan kemudahan tujuan. 286 00:12:25,980 --> 00:12:27,870 >> Jadi, mari kita pergi ke depan dan mengambil kesempatan daripada ini. 287 00:12:27,870 --> 00:12:30,120 Saya akan pergi ke depan dan membuka tetingkap terminal. 288 00:12:30,120 --> 00:12:33,030 Dan saya akan pergi ke depan dan move-- sebenarnya, mula-mula saya 289 00:12:33,030 --> 00:12:34,860 akan arahkan ke desktop saya. 290 00:12:34,860 --> 00:12:36,400 Jika saya lakukan ls, ada hello.html. 291 00:12:36,400 --> 00:12:37,022 292 00:12:37,022 --> 00:12:38,730 Dan saya akan pergi ke depan dan mula menggunakan 293 00:12:38,730 --> 00:12:40,800 direktori baru kami telah tidak digunakan sebelum hari ini. 294 00:12:40,800 --> 00:12:46,840 >> hello.html-- saya akan bergerak untuk ../vhosts untuk hosts-- maya 295 00:12:46,840 --> 00:12:50,940 lebih pada di future-- dan kemudian ke dalam direktori yang dipanggil localhost, 296 00:12:50,940 --> 00:12:54,420 yang merupakan nama samaran yang diberikan kepada hampir mana-mana komputer, sama ada Mac, PC, 297 00:12:54,420 --> 00:12:57,560 atau Linux komputer, dan kemudian secara khusus ke dalam direktori yang kita, 298 00:12:57,560 --> 00:13:01,260 kakitangan telah dibuat untuk anda apabila anda memuat turun alat yang dipanggil 299 00:13:01,260 --> 00:13:01,760 awam. 300 00:13:01,760 --> 00:13:04,551 Dan seperti namanya, apa-apa Saya dimasukkan ke dalam folder ini, dalam teori, 301 00:13:04,551 --> 00:13:07,790 akan sekarang menjadi awam, sekurang-kurangnya kepada orang-orang 302 00:13:07,790 --> 00:13:10,030 yang mempunyai langsung sambungan ke komputer saya. 303 00:13:10,030 --> 00:13:13,160 >> Jadi sekarang biarlah saya pergi ke depan dan melakukan cd ke direktori yang sama 304 00:13:13,160 --> 00:13:15,490 jadi saya dapat melihat apa yang berlaku dan ls jenis. 305 00:13:15,490 --> 00:13:17,630 Dan sesungguhnya, itulah Satu-satunya perkara di sana. 306 00:13:17,630 --> 00:13:23,250 Saya menuntut sekarang kerana saya telah meletakkan ini memfailkan hello.html dalam direktori 307 00:13:23,250 --> 00:13:26,940 disebut di dalam awam dari direktori dipanggil localhost dalam direktori 308 00:13:26,940 --> 00:13:29,810 disebut vhosts, yang terima kasih kepada staf CS50 309 00:13:29,810 --> 00:13:34,390 telah pra-konfigurasi untuk menjadi akar pelayan web anda, 310 00:13:34,390 --> 00:13:36,900 Saya kini boleh diharapkan melakukan hal ini. 311 00:13:36,900 --> 00:13:38,390 >> Saya akan membuka tab baru. 312 00:13:38,390 --> 00:13:40,090 Dan saya akan pergi bukan ke file: //. 313 00:13:40,090 --> 00:13:44,520 Saya akan menggunakan sebenar http / localhost, yang 314 00:13:44,520 --> 00:13:47,470 lagi, adalah nama panggilan untuk server sendiri. 315 00:13:47,470 --> 00:13:51,085 Dan kemudian saya akan pergi ke apa mengajukan nama, hanya untuk menjadi jelas? 316 00:13:51,085 --> 00:13:52,680 317 00:13:52,680 --> 00:13:54,320 Di mana cerita ini mungkin akan pergi? 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 >> Jadi dengan kata lain, saya mahu sekarang ini komputer saya sendiri, alat sendiri, 322 00:14:04,270 --> 00:14:05,660 seolah-olah ia adalah pelayan yang sebenarnya. 323 00:14:05,660 --> 00:14:07,490 Nama julukannya adalah localhost. 324 00:14:07,490 --> 00:14:10,210 Tetapi memikirkan localhost sebagai seperti Facebook.com google.com, apa pun. 325 00:14:10,210 --> 00:14:11,600 Ia hanya nama tempatan saya. 326 00:14:11,600 --> 00:14:14,810 Dan kemudian yang terakhir yang saya mahu ialah dalam akar dari cakera keras, boleh dikatakan, 327 00:14:14,810 --> 00:14:17,729 atau akar pelayan web, ergo garis italik dan kemudian 328 00:14:17,729 --> 00:14:18,770 yang hello.html nama fail. 329 00:14:18,770 --> 00:14:19,880 330 00:14:19,880 --> 00:14:21,930 >> Biar saya memperkecil dan tekan Enter. 331 00:14:21,930 --> 00:14:24,266 Dan memang, kini terdapat laman web saya. 332 00:14:24,266 --> 00:14:25,390 Jadi ia sedikit berbeza. 333 00:14:25,390 --> 00:14:26,880 Dan itu hanya sebagai underwhelming. 334 00:14:26,880 --> 00:14:27,904 Ini adalah versi lama. 335 00:14:27,904 --> 00:14:29,070 Biar saya mengecut fon belakang. 336 00:14:29,070 --> 00:14:29,745 Ini adalah lama. 337 00:14:29,745 --> 00:14:30,890 Ini adalah baru. 338 00:14:30,890 --> 00:14:35,430 Tetapi apa yang berlaku pada asasnya sekarang ialah HTTP sedang digunakan. 339 00:14:35,430 --> 00:14:39,344 >> Mari kita membuat ini sedikit lebih jelas atau, jika anda akan, sedikit lebih rumit. 340 00:14:39,344 --> 00:14:41,760 Biar saya pergi ke kanan bawah sudut alat saya. 341 00:14:41,760 --> 00:14:44,000 Dan perhatikan bahawa semua ini masa, sudah ada nombor. 342 00:14:44,000 --> 00:14:47,330 Itulah alamat yang unik Appliance CS50 anda. 343 00:14:47,330 --> 00:14:50,800 Ini adalah alamat persendirian, seperti yang tersirat oleh 172,16, 344 00:14:50,800 --> 00:14:53,860 yang hanya berarti hanya anda dari segi fizikal boleh mengakses pelayan web ini. 345 00:14:53,860 --> 00:14:56,340 Semuanya firewall dan baik dilindungi dari yang lain 346 00:14:56,340 --> 00:14:58,130 di dunia kerana ini menangani. 347 00:14:58,130 --> 00:15:01,920 >> Dan kini melihat walaupun jika saya pergi ke alamat ini, tidak dalam alat saya, 348 00:15:01,920 --> 00:15:04,340 tetapi pada Mac OS-- saya akan untuk kembali ke sini. 349 00:15:04,340 --> 00:15:05,930 Ini adalah Mac saya sekarang. 350 00:15:05,930 --> 00:15:08,460 Dan sekarang saya akan membuka versi Chrome sini. 351 00:15:08,460 --> 00:15:17,370 Dan saya akan pergi ke http: //172.16.25 / Dan aku lupa rest-- 133. 352 00:15:17,370 --> 00:15:25,210 >> Jadi, saya akan melawat dari Mac bahawa alamat IP /hello.html Enter. 353 00:15:25,210 --> 00:15:29,850 Dan sekarang saya melihat dari Mac yang Appliance CS50 saya, yang 354 00:15:29,850 --> 00:15:32,600 Alamat IP adalah bahawa nombor, memang berkelakuan 355 00:15:32,600 --> 00:15:34,320 seperti pelayan web di internet. 356 00:15:34,320 --> 00:15:36,944 Ia tidak mempunyai baik mudah untuk ingat nama seperti Facebook.com, 357 00:15:36,944 --> 00:15:40,370 tetapi ia menggunakan HTTP nampaknya, walaupun Chrome 358 00:15:40,370 --> 00:15:43,560 adalah jenis menyederhanakan dunia bagi kita tetapi tidak menunjukkan kepada kita HTTP. 359 00:15:43,560 --> 00:15:46,210 Tapi ini memang betul-betul itu. 360 00:15:46,210 --> 00:15:48,470 Chrome hanya menyimpan beberapa keystrokes hari ini. 361 00:15:48,470 --> 00:15:50,530 Dan itulah yang kita lihat sekarang. 362 00:15:50,530 --> 00:15:51,890 >> Jadi itu semua baik dan bagus. 363 00:15:51,890 --> 00:15:53,740 Tetapi ia adalah halaman cantik underwhelming. 364 00:15:53,740 --> 00:15:56,230 Biarkan saya masuk dan melakukan sesuatu sedikit berbeza sekarang. 365 00:15:56,230 --> 00:15:57,910 Jadi, saya kembali ke gedit. 366 00:15:57,910 --> 00:16:00,580 Dan bukannya hello, dunia, mari kita meletakkan imej. 367 00:16:00,580 --> 00:16:05,880 Dan saya dituntut daripada before-- membiarkan aku pergi ke dalam akaun saya awam direktori localhost. 368 00:16:05,880 --> 00:16:10,580 Dan biarlah saya pergi ke depan dan menyalin sejumlah besar fail dari hari ini 369 00:16:10,580 --> 00:16:15,633 dari folder Dropbox saya ke sini. 370 00:16:15,633 --> 00:16:19,470 371 00:16:19,470 --> 00:16:21,680 >> Sekarang jika saya taip ls, melihat di semua fail-fail 372 00:16:21,680 --> 00:16:24,940 yang saya telah diedarkan oleh laman web kursus ini sebelum hari ini, 373 00:16:24,940 --> 00:16:26,830 salah satu yang masih hello.html. 374 00:16:26,830 --> 00:16:27,830 Jadi ada satu itu. 375 00:16:27,830 --> 00:16:30,730 Dan ingat satu bodoh ini dari cat.jpg time-- lepas. 376 00:16:30,730 --> 00:16:34,550 Jadi, saya cuba untuk menanamkan cat.jpg di dalam laman web saya. 377 00:16:34,550 --> 00:16:37,690 >> Saya akan pergi ke depan dan melakukan cat.jpg, menyimpan. 378 00:16:37,690 --> 00:16:38,950 Mari kita kembali ke Chrome. 379 00:16:38,950 --> 00:16:41,140 Dan biarkan aku zum dalam font dan sekarang reload. 380 00:16:41,140 --> 00:16:43,090 381 00:16:43,090 --> 00:16:45,030 Oops, di mana saya meletakkan ini? 382 00:16:45,030 --> 00:16:48,210 383 00:16:48,210 --> 00:16:51,520 Standby-- saya masih mempunyai lama versi dari terbuka desktop saya. 384 00:16:51,520 --> 00:16:56,020 Jadi, saya pergi ke vhost saya, saya localhost, orang ramai, dan hello.html. 385 00:16:56,020 --> 00:16:57,320 386 00:16:57,320 --> 00:17:00,670 Jadi sekarang biarlah saya pergi ke depan dan mengatakan cat.jpg dalam tubuh 387 00:17:00,670 --> 00:17:02,830 di mana saya mahu ia menjadi dipaparkan dan reload. 388 00:17:02,830 --> 00:17:04,560 Sudah tentu, ini tidak betul. 389 00:17:04,560 --> 00:17:08,050 >> Jadi saya perlu memberitahu browser sedikit lebih sengaja apa yang saya ingin lakukan. 390 00:17:08,050 --> 00:17:10,210 Hanya menaip nama adalah jelas tidak mencukupi. 391 00:17:10,210 --> 00:17:15,134 Jadi ingat bahawa terdapat satu lagi tag, imej, img untuk pendek. 392 00:17:15,134 --> 00:17:17,550 Itu hanya kerana manusia tidak suka jenis kata-kata yang penuh. 393 00:17:17,550 --> 00:17:19,050 Dan kemudian kita boleh buat source = "cat.jpg". 394 00:17:19,050 --> 00:17:21,470 395 00:17:21,470 --> 00:17:23,550 >> Dan sekarang aku akan lakukan satu hal yang berbeza di sini. 396 00:17:23,550 --> 00:17:25,390 Meskipun semua tag kami setakat ini mempunyai 397 00:17:25,390 --> 00:17:28,086 mempunyai gagasan ini dari memulakan tag dan tag akhir, 398 00:17:28,086 --> 00:17:30,210 yang tidak benar-benar membuat akal bagi imej, kan? 399 00:17:30,210 --> 00:17:32,430 Imej baik ada atau tidak ada. 400 00:17:32,430 --> 00:17:36,650 Dan sehingga manusia telah dengan konvensyen yang lebih mudah. 401 00:17:36,650 --> 00:17:40,310 Apabila anda mempunyai tag yang boleh kedua-dua bermula dan berakhir di time-- yang sama 402 00:17:40,310 --> 00:17:43,790 ia boleh kosong, sehingga untuk speak-- hanya meletakkan garis italik dalam tag 403 00:17:43,790 --> 00:17:44,710 pada akhir sangat. 404 00:17:44,710 --> 00:17:45,776 405 00:17:45,776 --> 00:17:47,150 Sekarang, saya akan kembali ke browser. 406 00:17:47,150 --> 00:17:50,377 Hit Reload Damn, sesuatu yang salah. 407 00:17:50,377 --> 00:17:52,460 Anda mungkin pernah melihat ini kadang-kadang di web, 408 00:17:52,460 --> 00:17:53,600 walaupun ia tidak salah anda. 409 00:17:53,600 --> 00:17:54,766 Ini kesalahan pelayan Web. 410 00:17:54,766 --> 00:17:56,240 Apa Odes ini seolah-olah menunjukkan? 411 00:17:56,240 --> 00:17:57,450 412 00:17:57,450 --> 00:17:58,009 Ia patah. 413 00:17:58,009 --> 00:17:59,300 Itulah di mana imej tersebut dimiliki. 414 00:17:59,300 --> 00:17:59,700 Ya? 415 00:17:59,700 --> 00:18:01,560 >> PENONTON: Tetapi ia tidak mempunyai akses kepada imej. 416 00:18:01,560 --> 00:18:03,070 >> DAVID MALAN J: Ia tidak mempunyai akses kepada imej. 417 00:18:03,070 --> 00:18:05,230 Itu, atau lebih teruk lagi, mungkin itu tidak pernah ada. 418 00:18:05,230 --> 00:18:06,729 Mari kita lihat apakah kita tidak boleh mendiagnosis itu. 419 00:18:06,729 --> 00:18:09,390 Ingat dari masa lalu bahawa jika pada Chrome, perkakas, 420 00:18:09,390 --> 00:18:11,870 atau bahkan pada Mac atau PC anda, Anda pergi ke menu Pemaju 421 00:18:11,870 --> 00:18:14,650 dan pergi ke Alat Pembangun pilihan, yang mungkin anda sudah ada 422 00:18:14,650 --> 00:18:16,850 tidak banyak digunakan atau pernah. 423 00:18:16,850 --> 00:18:20,780 Dan jika saya pergi ke Jaringan dan memuatkan semula halaman, 424 00:18:20,780 --> 00:18:24,110 mari kita benar-benar melihat HTTP permintaan yang dibuat. 425 00:18:24,110 --> 00:18:28,400 >> Ia kelihatan seperti hello.html adalah memang OK, oleh itu 200. 426 00:18:28,400 --> 00:18:30,630 Tetapi cat.jpg adalah 403. 427 00:18:30,630 --> 00:18:31,650 Jadi ia bukan satu 404. 428 00:18:31,650 --> 00:18:33,490 Fail mungkin ada. 429 00:18:33,490 --> 00:18:35,250 403 bermakna terlarang. 430 00:18:35,250 --> 00:18:37,790 Jadi, ini adalah sedikit mengelirukan. 431 00:18:37,790 --> 00:18:42,340 Saya akan kembali untuk tetingkap terminal saya. 432 00:18:42,340 --> 00:18:43,700 Biar saya mengezum masuk di sini. 433 00:18:43,700 --> 00:18:44,750 Dan biarkan aku melakukan ls. 434 00:18:44,750 --> 00:18:46,430 Ada fail-fail yang sama. 435 00:18:46,430 --> 00:18:49,410 >> Sekarang, saya akan melakukan ls-l, yang anda mungkin pernah 436 00:18:49,410 --> 00:18:53,350 sebelum digunakan untuk melihat fail saiz mungkin atau cap waktu. 437 00:18:53,350 --> 00:18:55,590 Dan kita melihat sejumlah besar maklumat yang amat sangat. 438 00:18:55,590 --> 00:18:57,040 Tetapi perhatikan beberapa perincian. 439 00:18:57,040 --> 00:19:01,660 Berikut hello.html dalam ini baris di sini dan di sini cat.jpg. 440 00:19:01,660 --> 00:19:02,934 441 00:19:02,934 --> 00:19:05,850 Dan ia hanya alat yang ramah dengan menyorot JPEG pengguna 442 00:19:05,850 --> 00:19:07,380 ungu seperti ini. 443 00:19:07,380 --> 00:19:11,470 Tetapi apa lagi yang berbeza di samping saiz fail dan nama fail? 444 00:19:11,470 --> 00:19:13,438 445 00:19:13,438 --> 00:19:14,754 >> PENONTON: [didengar]. 446 00:19:14,754 --> 00:19:16,920 DAVID MALAN J: Ya, ada dua lagi R di sini. 447 00:19:16,920 --> 00:19:20,170 Perhatikan apa hello.html telah berlaku. 448 00:19:20,170 --> 00:19:24,050 Jadi ternyata bahawa nama ini direktori awam adalah penting. 449 00:19:24,050 --> 00:19:26,400 Apa-apa sahaja di dalam direktori ini dimaksudkan untuk menjadi awam. 450 00:19:26,400 --> 00:19:28,790 Tetapi ia tidak cukup hanya untuk lepaskan fail di sana. 451 00:19:28,790 --> 00:19:31,480 Anda juga perlu mengubah mod fail, 452 00:19:31,480 --> 00:19:35,180 mengubah hak akses fail untuk secara proaktif tidak 453 00:19:35,180 --> 00:19:37,650 menjadi tetapan lalai, dimana hanya saya boleh membaca 454 00:19:37,650 --> 00:19:39,220 dan menulis, saya menjadi pemilik. 455 00:19:39,220 --> 00:19:43,540 Saya mahu dunia semua orang secara keseluruhan untuk dapat membaca fail saya, jadi untuk bercakap. 456 00:19:43,540 --> 00:19:44,950 Baca hanya bermakna melihatnya. 457 00:19:44,950 --> 00:19:49,780 >> Dan memang, seperti yang anda akan lihat dalam masalah ditetapkan tujuh, itulah yang rata-rata ini R. 458 00:19:49,780 --> 00:19:53,160 Min kedua-dua R membiarkan semua orang lain di dunia ini juga membacanya, 459 00:19:53,160 --> 00:19:55,300 apalagi sekarang itu dalam direktori ini. 460 00:19:55,300 --> 00:19:59,620 Jadi cara yang paling mudah untuk menetapkan ini adalah untuk pergi ke segera saya dan melakukan chmod untuk perubahan 461 00:19:59,620 --> 00:20:05,580 mod dan kemudian melakukan + r, sama sekali, semua orang, semua, ditambah r untuk membaca, 462 00:20:05,580 --> 00:20:07,944 dan kemudian cat.jpg Enter. 463 00:20:07,944 --> 00:20:10,360 Tiada apa-apa seolah-olah berlaku, yang biasanya bermaksud sesuatu yang baik. 464 00:20:10,360 --> 00:20:13,850 Jadi ls-l again-- sekarang mari kita lihat cat.jpg. 465 00:20:13,850 --> 00:20:15,750 Dan kebenaran ini seolah-olah telah berubah. 466 00:20:15,750 --> 00:20:18,670 Sebagai samping, jika anda membuat kesalahan dan anda, sebagai contoh, 467 00:20:18,670 --> 00:20:23,210 hanya membuat your-- Saya tidak tahu-- esei dapat diakses orang ramai secara tidak sengaja, 468 00:20:23,210 --> 00:20:25,480 Anda boleh melakukan sebaliknya, chmod a-r. 469 00:20:25,480 --> 00:20:25,909 470 00:20:25,909 --> 00:20:28,200 Walaupun terus terang, ia tidak boleh berada dalam direktori awam 471 00:20:28,200 --> 00:20:29,760 pula jika itu kebimbangan. 472 00:20:29,760 --> 00:20:32,475 >> Jadi sekarang mari kita kembali kepada pelayar dan tambah nilai saya. 473 00:20:32,475 --> 00:20:32,904 474 00:20:32,904 --> 00:20:34,820 Dan saya akan klik Ghostbusters sedikit 475 00:20:34,820 --> 00:20:38,030 simbol untuk membersihkan bahawa sebahagian daripada skrin sehingga kita dapat melihat permintaan baru. 476 00:20:38,030 --> 00:20:40,630 Dan sesungguhnya, di sini adalah Cat Grump dari sebelumnya. 477 00:20:40,630 --> 00:20:43,010 Tetapi yang lebih penting, secara teknikal, ada 478 00:20:43,010 --> 00:20:45,565 bilangan 200, yang bermakna kita mendapatkannya OK. 479 00:20:45,565 --> 00:20:47,190 Baiklah, jadi itu semua baik dan bagus. 480 00:20:47,190 --> 00:20:48,940 Tetapi kita tidak membuat yang terbaik dari laman web, 481 00:20:48,940 --> 00:20:51,967 tidak pula kami akan cuba terlalu sukar untuk membuat fanciest laman web hari ini. 482 00:20:51,967 --> 00:20:54,550 Tetapi mari kita sekurang-kurangnya melakukan sesuatu super biasa sebelum suara ketuk-ketuk 483 00:20:54,550 --> 00:20:56,030 dari beberapa tag lain. 484 00:20:56,030 --> 00:20:58,470 Jadi kira saya tidak hanya mahu kucing di sini. 485 00:20:58,470 --> 00:21:02,530 Katakan saya benar-benar mahu ini kucing untuk menghubungkan kepada sesuatu. 486 00:21:02,530 --> 00:21:07,210 >> Aku mungkin, misalnya melakukan sesuatu seperti ini. 487 00:21:07,210 --> 00:21:08,580 488 00:21:08,580 --> 00:21:12,890 untuk href utama untuk rujukan equals-- hyper 489 00:21:12,890 --> 00:21:17,440 dan mari kita hanya melakukan sesuatu seperti www.google.com dekat 490 00:21:17,440 --> 00:21:19,540 mengutip kurungan dekat. 491 00:21:19,540 --> 00:21:22,000 Dan kini mencari kucing. 492 00:21:22,000 --> 00:21:23,520 Tutup anchor tag. 493 00:21:23,520 --> 00:21:26,760 Jadi ini hanya mempunyai satu jenis terperinci daripada dasar baru. 494 00:21:26,760 --> 00:21:28,190 Tag sudah tentu, adalah berbeza. 495 00:21:28,190 --> 00:21:31,770 Ia adalah nama yang utama untuk rujukan href atau hiper. 496 00:21:31,770 --> 00:21:35,269 >> Tetapi yang lebih penting, ada Ciri sintaksis ini di sini. 497 00:21:35,269 --> 00:21:37,810 Ini adalah apa yang kita akan berkata tidak tag, tetapi sesuatu sifat. 498 00:21:37,810 --> 00:21:40,830 Dan sesuatu sifat adalah sesuatu yang mengubah perilaku dari tag. 499 00:21:40,830 --> 00:21:45,400 Dan ini atribut, href, cara mengubah perilaku anchor 500 00:21:45,400 --> 00:21:48,430 supaya apabila ia diklik, ia pergi ke URL ini di sini. 501 00:21:48,430 --> 00:21:50,330 Dan sudah tentu, URL yang Google. 502 00:21:50,330 --> 00:21:53,951 >> Sementara itu, apa ini teks di sini akan menjadi? 503 00:21:53,951 --> 00:21:55,950 Nah, yang akan menjadi apa yang manusia yang benar-benar 504 00:21:55,950 --> 00:21:58,470 lihat sebagai digarisbawahi pautan, semudah itu. 505 00:21:58,470 --> 00:21:59,220 Jadi mari kita cuba ini. 506 00:21:59,220 --> 00:21:59,980 Biar saya simpan. 507 00:21:59,980 --> 00:22:01,650 Aku masih dalam hello.html. 508 00:22:01,650 --> 00:22:05,360 Tetapi dalam versi dalam talian, anda akan melihat nama-nama fail yang sebenarnya kita pra-disediakan. 509 00:22:05,360 --> 00:22:06,805 Biar saya pergi ke hadapan dan kembali. 510 00:22:06,805 --> 00:22:08,680 Dan sekarang ini adalah sangat Laman underwhelming masih. 511 00:22:08,680 --> 00:22:10,910 Tetapi jika Aku berdiri di atas besar-- dan ia adalah agak kecil, 512 00:22:10,910 --> 00:22:13,576 tapi-- anda boleh lihat di bahagian bawah sebelah kiri skrin anda, 513 00:22:13,576 --> 00:22:15,242 itu memang akan google.com. 514 00:22:15,242 --> 00:22:19,280 Dan jika saya klik, ia akan mengocok saya cara untuk Google sebenarnya. 515 00:22:19,280 --> 00:22:22,610 >> Tetapi perhatikan di sini peluang untuk eksploitasi, hanya sebagai samping. 516 00:22:22,610 --> 00:22:25,150 Dan kami akan kembali ke lain isu-isu keselamatan tidak lama lagi. 517 00:22:25,150 --> 00:22:29,290 Karena ada dikotomi ini antara di mana anda pergi dan apa yang kamu katakan, 518 00:22:29,290 --> 00:22:34,722 Anda boleh melakukan sesuatu seperti this-- http://www.google.com. 519 00:22:34,722 --> 00:22:37,134 OK, sekarang jika saya menambah nilai selepas menyimpan laman tersebut, 520 00:22:37,134 --> 00:22:38,800 ia kelihatan seperti saya akan pergi ke Google. 521 00:22:38,800 --> 00:22:40,966 Tetapi tidak ada sebab saya perlu pergi ke Google, bukan? 522 00:22:40,966 --> 00:22:47,460 Saya benar-benar boleh pergi ke sesuatu seperti badguy.com, muat semula halaman di sini. 523 00:22:47,460 --> 00:22:49,750 Dan notis, ia masih kelihatan seperti Google. 524 00:22:49,750 --> 00:22:52,020 Dan hanya jika saya tajam cukup untuk membawa lebih di sini 525 00:22:52,020 --> 00:22:54,770 saya melihat ia bahkan akan pergi ke tempat lain. 526 00:22:54,770 --> 00:22:57,400 >> Jadi jika anda pernah mendapat e-mel, khususnya 527 00:22:57,400 --> 00:22:59,610 satu dari Paypal, atau seolah-olah dari Paypal 528 00:22:59,610 --> 00:23:01,830 meminta anda untuk log masuk ke akaun anda, ini 529 00:23:01,830 --> 00:23:06,380 sebabnya mengapa anda tidak boleh pernah mengklik pautan dalam e-mel, 530 00:23:06,380 --> 00:23:07,930 terus terang, mana-mana pautan dalam e-mel. 531 00:23:07,930 --> 00:23:10,380 Jika anda tahu anda mempunyai sebenar wang di Paypal atau Bank 532 00:23:10,380 --> 00:23:14,250 Amerika atau Fidelity atau mana-mana laman web, ketik manual dalam. 533 00:23:14,250 --> 00:23:17,530 Kerana melihat bagaimana mudahnya untuk menipu orang ke dalam menyampaikan apa yang 534 00:23:17,530 --> 00:23:18,526 kelihatan seperti pautan. 535 00:23:18,526 --> 00:23:20,400 Tetapi ia benar-benar boleh pergi benar-benar di mana saja. 536 00:23:20,400 --> 00:23:23,301 >> Dan ada yang jauh lebih besar ancaman daripada ini. 537 00:23:23,301 --> 00:23:25,300 Malah, ini adalah sedikit tangen sekarang, tetapi satu 538 00:23:25,300 --> 00:23:28,430 dari orang-orang yang terbaik yang pernah melihat yang sejak itu telah ditutup, 539 00:23:28,430 --> 00:23:34,060 adalah seseorang menyebabkan orang ramai yang supaya- jadi ini mungkin berkata, 540 00:23:34,060 --> 00:23:37,660 klik di sini untuk log masuk ke dalam akaun, akaun bank. 541 00:23:37,660 --> 00:23:40,985 Dan ini adalah Bank of the West. 542 00:23:40,985 --> 00:23:43,030 543 00:23:43,030 --> 00:23:44,250 >> Jadi seseorang membeli ini. 544 00:23:44,250 --> 00:23:47,090 Dan ia sedikit lebih mudah untuk melihat dalam fon mono jarak dizum 545 00:23:47,090 --> 00:23:49,190 dalam pada projektor 30 kaki. 546 00:23:49,190 --> 00:23:51,720 Tetapi ketika itu Font kecil di sebuah e-mel yang anda terima, 547 00:23:51,720 --> 00:23:54,690 ini kelihatan seperti bankofthewest.com, tidak bankofthevvest.com, 548 00:23:54,690 --> 00:23:58,230 yang seseorang telah dibayar $ 10 untuk membeli. 549 00:23:58,230 --> 00:24:00,840 Dan itu, ini menyebabkan mereka ke sama dengan beberapa laman web yang tidak baik. 550 00:24:00,840 --> 00:24:05,540 >> Dan anda akan melihat too-- sebenarnya yang boleh kita lakukan this-- jika saya pergi ke laman web sebenar, 551 00:24:05,540 --> 00:24:10,335 bankofthewest.com, sekali lagi, penarikan balik dari semasa lepas 552 00:24:10,335 --> 00:24:13,210 bahawa jika ini adalah laman web mereka dan Anda ingin tahu bagaimana ia berfungsi, 553 00:24:13,210 --> 00:24:15,610 Anda pasti boleh pergi ke Alat pengembang Chrome. 554 00:24:15,610 --> 00:24:18,890 Dan anda boleh melihat semua HTML diformat sana. 555 00:24:18,890 --> 00:24:20,890 >> Tetapi yang lebih penting lagi, Anda cam-- mari kita menutup 556 00:24:20,890 --> 00:24:24,760 this-- anda boleh pergi ke Lihat Pemaju View Source. 557 00:24:24,760 --> 00:24:25,770 558 00:24:25,770 --> 00:24:28,350 Mengapa saya tidak hanya menyalin semua itu dan apabila saya 559 00:24:28,350 --> 00:24:31,630 boleh pergi ke dalam tetingkap gedit kecil saya di sini dan membuat halaman web sendiri. 560 00:24:31,630 --> 00:24:33,210 Simpan ini dalam hello.html. 561 00:24:33,210 --> 00:24:36,770 Dan mungkin ini akan memecahkan, kerana ia bukan ini biasanya mudah. 562 00:24:36,770 --> 00:24:41,590 Tetapi jika saya memuat semula halaman saya sendiri di saya CS50 Appliance dan tambah nilai memukul sendiri, 563 00:24:41,590 --> 00:24:42,990 OK, beberapa barang pecah. 564 00:24:42,990 --> 00:24:45,750 Tapi aku cukup dekat untuk memiliki laman web perbankan saya sendiri, bukan? 565 00:24:45,750 --> 00:24:46,570 Semua ini HTML-- 566 00:24:46,570 --> 00:24:47,370 >> [Ketawa] 567 00:24:47,370 --> 00:24:49,210 >> DAVID MALAN J: I. tidak actually-- dan anda 568 00:24:49,210 --> 00:24:52,210 tahu ada seseorang di luar sana yang sebenarnya akan klik link ini juga. 569 00:24:52,210 --> 00:24:54,864 Jadi jelas, beberapa barang pecah. 570 00:24:54,864 --> 00:24:56,780 Tetapi itu akan membawa kita ke dalam perbincangan, 571 00:24:56,780 --> 00:25:00,810 tidak perlu sekarang, tentang apa yang CSS, style sheet melata, adalah, 572 00:25:00,810 --> 00:25:03,410 dan bagaimana anda sebenarnya memuat turun fail HTML yang lain 573 00:25:03,410 --> 00:25:06,140 file JPEG dan fail GIF yang laman web mungkin menggunakan. 574 00:25:06,140 --> 00:25:07,960 Tetapi semua itu adalah accomplishable. 575 00:25:07,960 --> 00:25:11,110 Tetapi ia benar-benar bermuara ini heuristik sangat mudah. 576 00:25:11,110 --> 00:25:14,450 >> Jadi sekarang mari kita hanya skim melalui Beberapa contoh lain dari HTML 577 00:25:14,450 --> 00:25:16,680 hanya untuk memberikan rasa apa lagi yang boleh anda lakukan. 578 00:25:16,680 --> 00:25:18,670 Sebagai contoh, ini adalah reihani.jpg. 579 00:25:18,670 --> 00:25:23,240 Penulis ingin membuat halaman web dengan senarai rumah-rumah di quad. 580 00:25:23,240 --> 00:25:28,960 Saya mungkin menggunakan tag ul untuk tidak tertib senarai dan kemudian anak item senarai 581 00:25:28,960 --> 00:25:33,760 dan kemudian beralih over-- atau senarai, rather-- rumah-rumah yang bersangkutan. 582 00:25:33,760 --> 00:25:36,080 >> Dan jika saya membuka ini, mari kita lakukan ini. 583 00:25:36,080 --> 00:25:40,670 Mari kita pergi untuk tidak hello.html, tetapi untuk launcha_boy.jpg. 584 00:25:40,670 --> 00:25:42,160 Sialan. 585 00:25:42,160 --> 00:25:43,000 Bagaimana cara mengatasinya? 586 00:25:43,000 --> 00:25:45,679 587 00:25:45,679 --> 00:25:47,220 Ini isu yang sama seperti sebelum ini, kan? 588 00:25:47,220 --> 00:25:52,510 Jadi, saya melakukan oops-- chmod-- chmod a + r dari reihani.jpg. 589 00:25:52,510 --> 00:25:54,610 590 00:25:54,610 --> 00:25:59,610 Dan jika saya kembali ke browser saya dan klik Muat semula, itu dia. 591 00:25:59,610 --> 00:26:02,360 Jadi jika anda pernah ingin membuat senarai bullet, anda boleh berbuat demikian. 592 00:26:02,360 --> 00:26:06,210 Jika anda ingin menjadi super mewah dan membuat senarai yang teratur dan tidak senarai tidak tertib, 593 00:26:06,210 --> 00:26:10,170 mengubah orang-ol, muat semula halaman, dan sekarang browser akan nombor untuk anda. 594 00:26:10,170 --> 00:26:11,241 >> Apa lagi yang boleh kita lakukan? 595 00:26:11,241 --> 00:26:13,990 Nah, beberapa others-- jika Anda punya perenggan panjang text-- 596 00:26:13,990 --> 00:26:15,698 misalnya, beberapa Teks Latin seperti this-- 597 00:26:15,698 --> 00:26:20,730 dan anda mahu ia dalam perenggan yang berasingan, p terbuka, p dekat untuk tag perenggan. 598 00:26:20,730 --> 00:26:22,010 Dan melakukannya lagi dan lagi. 599 00:26:22,010 --> 00:26:26,600 Dan jika saya kini membuka fail ini, paragraphs.html, baik, ini 600 00:26:26,600 --> 00:26:27,570 semakin menjengkelkan. 601 00:26:27,570 --> 00:26:34,320 Jadi sekarang mari kita kembali kepada saya segera, chmod a + r r bintang .html-- 602 00:26:34,320 --> 00:26:36,099 bagus sedikit kad liar sehingga untuk berbicara. 603 00:26:36,099 --> 00:26:37,890 Ia harus memperbaiki semua masalah-masalah bagi saya. 604 00:26:37,890 --> 00:26:38,990 Mari kita reload. 605 00:26:38,990 --> 00:26:40,500 Ada tiga perenggan. 606 00:26:40,500 --> 00:26:42,930 >> Dan sekarang mari kita pergi ke depan dan membuka yang lain. 607 00:26:42,930 --> 00:26:44,310 Bagaimana dengan jadual? 608 00:26:44,310 --> 00:26:46,440 Anda akan melihat penampilan meja sedikit lebih kompleks. 609 00:26:46,440 --> 00:26:49,110 Tapi itu idea-- yang sama terbuka tag, tag terbuka, 610 00:26:49,110 --> 00:26:51,360 terbuka, terbuka, terbuka, berhampiran tag, tag terbuka. 611 00:26:51,360 --> 00:26:54,410 Dan ini berlaku untuk berdiri untuk meja, yang sempadan nampaknya 612 00:26:54,410 --> 00:26:58,500 akan menjadi ketebalan yang 1-- apa sahaja bahawa baris jadual ertinya-, jadual 613 00:26:58,500 --> 00:27:00,320 data, yang bermaksud sel. 614 00:27:00,320 --> 00:27:03,840 Dan jika saya kembali ke browser saya sini dan pergi ke table.html, 615 00:27:03,840 --> 00:27:05,840 Anda dapat melihat sesuatu seperti ini, mengerikan. 616 00:27:05,840 --> 00:27:07,840 Tapi kita akan sampai ke titik di mana kita benar-benar dapat 617 00:27:07,840 --> 00:27:09,260 membuat perkara yang lebih cantik dari itu. 618 00:27:09,260 --> 00:27:10,530 >> Jadi, saya menetapkan untuk saat ini. 619 00:27:10,530 --> 00:27:11,870 Ada tandan lebih tag. 620 00:27:11,870 --> 00:27:15,225 Dan HTML indah untuk mengambil kerana, terus-terang, semua yang perlu anda lakukan 621 00:27:15,225 --> 00:27:17,600 adalah melihat laman web yang ada dengan yang anda sudah biasa. 622 00:27:17,600 --> 00:27:20,340 Dan anda seperti, oh, itu bagaimana mereka melakukan ini estetis. 623 00:27:20,340 --> 00:27:23,159 >> Atau anda boleh mencari mana-mana talian sumber tentang bagaimana HTML berfungsi, 624 00:27:23,159 --> 00:27:25,700 dan anda akan melihat bahawa terdapat perbendaharaan kata seluruh tag lain. 625 00:27:25,700 --> 00:27:30,110 Tetapi dengan model mental yang sederhana sendiri yang hampir semua tag anda membuka 626 00:27:30,110 --> 00:27:33,620 telah ditutup, ia benar-benar tidak cukup untuk mengajar diri sendiri 627 00:27:33,620 --> 00:27:36,950 HTML setelah memahami idea-idea asas tag 628 00:27:36,950 --> 00:27:40,520 dan sifat-sifat dan formedness baik bahawa kami telah bercakap tentang, 629 00:27:40,520 --> 00:27:44,697 menutup apa-apa yang kita boleh membuka supaya kita tidak mengelirukan browser. 630 00:27:44,697 --> 00:27:46,780 Sekarang, mari kita mengambil ini untuk tahap yang lebih menarik 631 00:27:46,780 --> 00:27:48,100 dengan pergi ke sebenarnya. 632 00:27:48,100 --> 00:27:51,095 Dan mari kita pergi ke Mac saya di sini, untuk google.com. 633 00:27:51,095 --> 00:27:52,280 634 00:27:52,280 --> 00:27:54,020 Dan sekarang notice-- mari kita lakukan ini. 635 00:27:54,020 --> 00:27:57,280 Saya gong untuk pergi ke Tetapan, Tetapan Carian. 636 00:27:57,280 --> 00:28:01,070 Saya ingin mematikan segera yang menyakitkan hati keputusan perkara di mana ia segera 637 00:28:01,070 --> 00:28:02,450 bermula menanggapi menaip anda. 638 00:28:02,450 --> 00:28:05,300 Mari kita buat sekolah yang lebih tua ini sehingga kita benar-benar melihat apa yang sedang berlaku. 639 00:28:05,300 --> 00:28:08,260 >> Jadi, saya akan menyelamatkan saya Tetapan Google di sini. 640 00:28:08,260 --> 00:28:11,160 Dan sekarang notice-- saya akan mencari sesuatu seperti kucing. 641 00:28:11,160 --> 00:28:14,500 Dan ia masih melakukan auto lengkap di sini, namun berdasarkan kepada perkara-perkara 642 00:28:14,500 --> 00:28:15,970 orang telah ditaip di masa lalu. 643 00:28:15,970 --> 00:28:17,490 Tetapi perhatikan apa yang akan berlaku. 644 00:28:17,490 --> 00:28:20,272 >> Dalam URL pada masa ini adalah ini, hanya google.com. 645 00:28:20,272 --> 00:28:22,650 Dan dari segi teknikal, ia adalah garis miring. 646 00:28:22,650 --> 00:28:25,910 Google hanya menyimpan karakter dan tidak menunjukkan kepada kita bahawa. 647 00:28:25,910 --> 00:28:30,400 Mereka menunjukkan kepada kita https, hanya menjadi super meyakinkan bahawa kita 648 00:28:30,400 --> 00:28:32,850 di halaman yang selamat atau disulitkan. 649 00:28:32,850 --> 00:28:35,690 >> Jadi, saya pergi ke depan dan mencari kucing. 650 00:28:35,690 --> 00:28:37,670 Sekarang ini dapat benar-benar luar biasa cepat. 651 00:28:37,670 --> 00:28:39,470 Lihatlah panjang URL ini. 652 00:28:39,470 --> 00:28:43,070 Tetapi ternyata bahawa kebanyakan barangan ini dalam URL sebenarnya cukup berguna. 653 00:28:43,070 --> 00:28:45,320 Saya akan mula memotong perkara yang saya tidak faham. 654 00:28:45,320 --> 00:28:46,560 655 00:28:46,560 --> 00:28:47,360 Saya melihat kucing. 656 00:28:47,360 --> 00:28:48,470 Saya faham kucing. 657 00:28:48,470 --> 00:28:50,380 Saya tidak tahu mengapa kucing di sana lagi. 658 00:28:50,380 --> 00:28:52,620 Saya benar-benar tidak tahu apa yang tidak masuk akal ini. 659 00:28:52,620 --> 00:28:56,030 Jadi, saya hanya akan terus menyoroti dan memotong hal-hal 660 00:28:56,030 --> 00:28:59,905 yang saya tidak faham, penyulingan URL ke dalam hal ini. 661 00:28:59,905 --> 00:29:00,920 662 00:29:00,920 --> 00:29:02,270 >> Sekarang mari saya mendapatkan masuk lagi. 663 00:29:02,270 --> 00:29:03,814 Ia kelihatan seperti Google masih bekerja. 664 00:29:03,814 --> 00:29:06,980 Jadi atas sebab tertentu, mereka menambah banyak hal untuk secara default URL mereka. 665 00:29:06,980 --> 00:29:09,000 Tetapi ia tidak benar-benar diperlukan. 666 00:29:09,000 --> 00:29:10,340 Jadi apa yang baik tentang ini? 667 00:29:10,340 --> 00:29:13,630 Baiklah, biar saya pergi ke depan dan membuka Inspektor Chrome. 668 00:29:13,630 --> 00:29:15,960 Ada jalan pintas tikus kecil untuk itu. 669 00:29:15,960 --> 00:29:17,360 >> Pergi ke tab Rangkaian. 670 00:29:17,360 --> 00:29:19,340 Dan sekarang mari saya menambah nilai Laman ini sekali lagi. 671 00:29:19,340 --> 00:29:20,280 Dan aku memegang Shift. 672 00:29:20,280 --> 00:29:22,520 Sebagai mengetepikan, pelayar cenderung untuk cache atau menyimpan 673 00:29:22,520 --> 00:29:24,697 maklumat hanya untuk kepentingan kecekapan ini. 674 00:29:24,697 --> 00:29:27,280 Tetapi biasanya, Shift induk dan reload akan memaksa semua 675 00:29:27,280 --> 00:29:28,994 hendaklah bermula dari awal. 676 00:29:28,994 --> 00:29:30,410 Dan itulah yang saya ingin lakukan di sini. 677 00:29:30,410 --> 00:29:33,550 >> Dan perhatikan semua ini baris yang baru saja muncul. 678 00:29:33,550 --> 00:29:37,920 Ia ternyata bahawa dalam mana-mana web yang diberikan halaman, anda mungkin hanya satu fail 679 00:29:37,920 --> 00:29:43,500 involved-- hello.html-- atau ada mungkin 52, seperti dalam kes ini. 680 00:29:43,500 --> 00:29:45,820 Ketika melawat google.com, nampaknya, browser saya 681 00:29:45,820 --> 00:29:49,650 bermula 52 permintaan HTTP berasingan. 682 00:29:49,650 --> 00:29:50,520 Mengapa demikian? 683 00:29:50,520 --> 00:29:53,380 >> Nah, melihat apa yang di dalam dari ini Bahagian atas halaman web ke atas. 684 00:29:53,380 --> 00:29:55,620 Tidak hanya teks, tapi ada gambar sebenar 685 00:29:55,620 --> 00:29:57,130 kucing ke kanan. 686 00:29:57,130 --> 00:29:59,110 Ada logo yang berwarna-warni di sini di sebelah kiri. 687 00:29:59,110 --> 00:30:01,750 Ada semua ikon ini untuk mikrofon dan sebagainya. 688 00:30:01,750 --> 00:30:05,130 Ada banyak keping, membina blok, potongan awal, jika anda akan, 689 00:30:05,130 --> 00:30:06,250 ke laman web ini. 690 00:30:06,250 --> 00:30:10,310 Dan apa browser demikian atas mendapatkan fail yang pertama, yang 691 00:30:10,310 --> 00:30:16,180 adalah baris ini di sini, ia pada dasarnya iterasi bahagian atas HTML 692 00:30:16,180 --> 00:30:19,880 ke bawah, kiri ke kanan, mencari hal-hal seperti tag gambar atau tag lain 693 00:30:19,880 --> 00:30:23,160 yang menyebut fail lain dan ketika ia melihat mereka, pergi dan mengambil mereka 694 00:30:23,160 --> 00:30:26,050 melalui HTTP, seluruh yang berdaya maju metafora sampul surat, 695 00:30:26,050 --> 00:30:29,670 dan kemudian memaparkannya di lokasi yang sesuai di laman web. 696 00:30:29,670 --> 00:30:33,370 >> Tetapi perhatikan di sini jika saya memberi tumpuan kepada kucing melempar, pencarian pertama, 697 00:30:33,370 --> 00:30:37,090 perhatian bahawa, memang ia menggunakan HTTP 1.1. 698 00:30:37,090 --> 00:30:41,690 Dan malangnya, Google Chrome sekarang dalam versi 39 699 00:30:41,690 --> 00:30:45,110 adalah jenis perkara dumbing turun dan tidak menunjukkan kepada kita header yang sebenarnya. 700 00:30:45,110 --> 00:30:49,680 Tetapi apa yang memang dikirim adalah permintaan untuk tidak mengurangkan, tetapi / search? q = kucing. 701 00:30:49,680 --> 00:30:52,830 702 00:30:52,830 --> 00:30:54,340 >> Sekarang, kenapa begitu penting? 703 00:30:54,340 --> 00:30:57,110 Well, saya akan membuat kesimpulan daripada ini bahawa jika anda Google 704 00:30:57,110 --> 00:31:01,520 menyokong pertanyaan borang ini, mengapa saya tidak melaksanakan pencarian saya sendiri 705 00:31:01,520 --> 00:31:06,420 mesin untuk CS50, tetapi hanya bahagian hadapan end, hanya antara muka pengguna grafik. 706 00:31:06,420 --> 00:31:09,610 Dan kami akan melakukan outsourcing akhir belakang, carian sebenar hasil kepada Google. 707 00:31:09,610 --> 00:31:10,510 >> Jadi bagaimana saya boleh melakukan ini? 708 00:31:10,510 --> 00:31:13,820 Baiklah, biar saya pergi ke gedit di sini. 709 00:31:13,820 --> 00:31:19,180 Dan biarlah saya pergi ke depan dan membuka atas, mari kita berkata, fail baru. 710 00:31:19,180 --> 00:31:22,280 Dan saya akan menyimpan ini sementara sebagai pencarian 0.html. 711 00:31:22,280 --> 00:31:25,111 712 00:31:25,111 --> 00:31:27,860 Dan kemudian akhirnya, kita akan cepat ke hadapan untuk yang saya pra-disediakan. 713 00:31:27,860 --> 00:31:30,190 >> Dan saya akan cepat menyiapkan jenis doc 714 00:31:30,190 --> 00:31:33,840 html kurungan terbuka html dekat kurungan html. 715 00:31:33,840 --> 00:31:38,390 Kemudian saya akan melakukan kepala kepala dekat tajuk terbuka CS50 716 00:31:38,390 --> 00:31:40,150 Cari dan bukannya carian Google. 717 00:31:40,150 --> 00:31:43,480 Di sini saya akan mempunyai badan, badan turun di sini dekat. 718 00:31:43,480 --> 00:31:45,835 Dan sekarang aku perlu CS50 Cari. 719 00:31:45,835 --> 00:31:47,710 Dan sebenarnya, mari kita membina ini secara berperingkat. 720 00:31:47,710 --> 00:31:51,043 Saya akan pergi ke depan dan menutup ini dan sebenarnya memasukkannya ke dalam direktori awam saya. 721 00:31:51,043 --> 00:31:52,730 Jadi beri aku satu saat. 722 00:31:52,730 --> 00:31:55,390 pencarian 0.html-- saya akan temporal menyebutnya search.html. 723 00:31:55,390 --> 00:31:56,600 724 00:31:56,600 --> 00:31:59,750 Saya akan chmod a + r search.html. 725 00:31:59,750 --> 00:32:01,072 726 00:32:01,072 --> 00:32:02,280 Dan sekarang saya akan membukanya. 727 00:32:02,280 --> 00:32:03,224 728 00:32:03,224 --> 00:32:04,390 Baiklah, jadi yang cepat. 729 00:32:04,390 --> 00:32:06,800 Tetapi matlamatnya semata-mata adalah untuk mendapatkan kita ke titik 730 00:32:06,800 --> 00:32:09,630 mempunyai teks ini memfailkan dipanggil search.html. 731 00:32:09,630 --> 00:32:10,940 732 00:32:10,940 --> 00:32:12,790 Jadi tidak banyak untuk melihat lagi. 733 00:32:12,790 --> 00:32:16,970 Sesungguhnya, kalau saya pergi ke browser saya, dan pergi ke Search.html, itu sahaja ia. 734 00:32:16,970 --> 00:32:17,720 Tetapi anda tahu apa? 735 00:32:17,720 --> 00:32:19,000 Saya boleh menjadi sedikit lebih menarik. 736 00:32:19,000 --> 00:32:22,710 Saya membaca dalam sebuah buku bahawa ada heading tag h1 disebut. 737 00:32:22,710 --> 00:32:26,100 Dan saya akan pergi ke depan dan menggunakan h1 terbuka dan h1 dekat. 738 00:32:26,100 --> 00:32:27,220 Muat semula halaman. 739 00:32:27,220 --> 00:32:29,600 Dan kini ia lebih besar dan lebih berani, tidak semua yang menarik, 740 00:32:29,600 --> 00:32:32,399 tetapi sekurang-kurangnya ia struktural lebih menarik. 741 00:32:32,399 --> 00:32:33,940 Tetapi sekarang biarlah saya memperkenalkan tag lain. 742 00:32:33,940 --> 00:32:36,500 Ternyata ada tag form. 743 00:32:36,500 --> 00:32:38,400 Dan biarkan aku menutup tag itu. 744 00:32:38,400 --> 00:32:40,830 Dan ternyata ada yang tag input yang 745 00:32:40,830 --> 00:32:44,600 mempunyai atribut yang disebut jenis, yang adalah jenis data lapangan, 746 00:32:44,600 --> 00:32:45,200 jika anda akan. 747 00:32:45,200 --> 00:32:47,050 Dan akan menjadi jenis teks. 748 00:32:47,050 --> 00:32:52,200 Dan nilainya akan menjadi CS50 Cari. 749 00:32:52,200 --> 00:32:53,850 Tutup tag. 750 00:32:53,850 --> 00:32:57,100 Dan ada akan menjadi tidak ada tanggapan membuka dan menutup dengan tag yang berasingan. 751 00:32:57,100 --> 00:33:00,300 >> Mari kita kembali ke sini dan melihat apa yang berlaku, reload. 752 00:33:00,300 --> 00:33:01,380 Semakin menarik. 753 00:33:01,380 --> 00:33:02,950 Ia kelihatan seperti ia adalah satu medan teks. 754 00:33:02,950 --> 00:33:04,080 755 00:33:04,080 --> 00:33:06,999 Dan sebenarnya, saya tidak mahu untuk meletakkan nilai di sana lagi. 756 00:33:06,999 --> 00:33:10,040 Biar saya pergi ke sini dan benar-benar mendapatkan menghilangkan nilai ini untuk memastikan ia mudah. 757 00:33:10,040 --> 00:33:12,939 Daripada nilai, apa yang saya mahu untuk memberikan hal ini adalah nama. 758 00:33:12,939 --> 00:33:15,230 Dan saya tidak tahu apa itu, jadi saya akan datang kembali untuk itu. 759 00:33:15,230 --> 00:33:18,270 >> Tetapi di bawah itu, saya ingin untuk melakukan input type = submit. 760 00:33:18,270 --> 00:33:19,840 761 00:33:19,840 --> 00:33:22,120 Dan nilai ini akan menjadi CS50 Cari. 762 00:33:22,120 --> 00:33:24,850 Dan kita akan melihat mengapa saya pindah nilai ini. 763 00:33:24,850 --> 00:33:28,900 Ketika saya kembali, saya seolah-olah kini mempunyai awal dari carian saya sendiri 764 00:33:28,900 --> 00:33:30,820 mesin, super mengerikan, walaupun terus terang, itu 765 00:33:30,820 --> 00:33:34,260 tidak melempar jauh dari apa yang Halaman default Google kelihatan seperti. 766 00:33:34,260 --> 00:33:37,950 >> Jika saya pergi di sini sekarang, saya boleh menaip kucing dan mudah-mudahan klik Cari. 767 00:33:37,950 --> 00:33:40,380 Tetapi saya tidak cukup dilakukan lagi, kerana saya telah tidak dilaksanakan, 768 00:33:40,380 --> 00:33:41,045 jelas, database. 769 00:33:41,045 --> 00:33:42,940 Saya belum merangkak web untuk hasil carian. 770 00:33:42,940 --> 00:33:44,840 Jadi saya perlu menggunakan khidmat yang ke Google. 771 00:33:44,840 --> 00:33:46,290 Jadi bagaimana saya melakukan ini? 772 00:33:46,290 --> 00:33:49,170 >> Well, pertama sekali saya perlu menambah dan tindakan 773 00:33:49,170 --> 00:33:58,460 atribut untuk tag form saya yang adalah http://www.google.com/search. 774 00:33:58,460 --> 00:34:01,180 Dan saya tahu bahawa hanya daripada mempunyai disimpulkan dengan melihat lebih dekat 775 00:34:01,180 --> 00:34:02,505 di URL mereka. 776 00:34:02,505 --> 00:34:03,380 Dan kini mengambil menebak. 777 00:34:03,380 --> 00:34:09,090 Apakah yang perlu medan teks ini mungkin dipanggil, berdasarkan di mana kami datang 778 00:34:09,090 --> 00:34:09,754 dari sebelumnya? 779 00:34:09,754 --> 00:34:11,896 780 00:34:11,896 --> 00:34:13,290 >> PENONTON: q. 781 00:34:13,290 --> 00:34:14,370 >> DAVID MALAN J: q. 782 00:34:14,370 --> 00:34:17,800 Dan kita tidak benar-benar perlu soalan menandakan ternyata, tapi q memang ia, 783 00:34:17,800 --> 00:34:20,489 q untuk pertanyaan mungkin oleh lalai, hanya kerana itu 784 00:34:20,489 --> 00:34:23,060 apa Larry dan Sergey datang dengan tahun yang lalu. 785 00:34:23,060 --> 00:34:24,739 Jadi sekarang biarlah saya muat semula laman ini. 786 00:34:24,739 --> 00:34:26,409 Ia tidak melihat semua yang berbeza itu. 787 00:34:26,409 --> 00:34:28,120 Tetapi sekarang menonton apa yang berlaku. 788 00:34:28,120 --> 00:34:32,360 >> Jika saya menaip pada kucing dan klik CS50 Cari dan melepaskan, 789 00:34:32,360 --> 00:34:35,770 melihat saya akan dibawa diri ke sebenar Google. 790 00:34:35,770 --> 00:34:38,150 Kini, Google menjadi sedikit mengganggu dalam bahawa mereka 791 00:34:38,150 --> 00:34:41,877 menambahkan parameter tambahan, jika anda akan, ke URL. 792 00:34:41,877 --> 00:34:43,960 Itu semua berlaku secara automatik di sisi Google. 793 00:34:43,960 --> 00:34:48,730 >> Bahagian yang penting ialah saya seolah-olah telah menghasilkan permintaan ini di sini. 794 00:34:48,730 --> 00:34:50,179 Dan sesungguhnya, itulah yang berlaku. 795 00:34:50,179 --> 00:34:53,040 Apabila anda mempunyai HTML yang seperti ini, ini 796 00:34:53,040 --> 00:34:57,620 adalah semacam notasi pemaju web kerana mengatakan, pergi ke depan dan membuat bentuk yang 797 00:34:57,620 --> 00:34:59,990 bahwa ketika ia dikemukakan, ia akan pergi ke URL ini. 798 00:34:59,990 --> 00:35:03,430 Dan apabila URL telah menyediakan Nilai untuk perkara-perkara seperti q, 799 00:35:03,430 --> 00:35:05,440 tidak pergi hanya untuk URL ini. 800 00:35:05,440 --> 00:35:08,210 Sebenarnya, terus ke soalan tanda dan kemudian q = kucing. 801 00:35:08,210 --> 00:35:09,590 802 00:35:09,590 --> 00:35:13,060 Menambah parameter, yang Parameter HTTP seperti itu. 803 00:35:13,060 --> 00:35:15,590 >> Dan hanya untuk menjadi super tepat, apa yang sedang disimpulkan di sini- 804 00:35:15,590 --> 00:35:18,130 tapi aku akan lebih explicit-- adalah bahawa kaedah yang saya mahu menggunakan 805 00:35:18,130 --> 00:35:22,270 adalah mendapatkan, bukan sesuatu seperti pos, yang akhirnya kita akan lihat. 806 00:35:22,270 --> 00:35:27,710 Jadi singkatnya, cukup dengan pemahaman HTML dan menggunakan beberapa tag yang agak mudah, 807 00:35:27,710 --> 00:35:30,610 sekarang kita boleh mula membuat pengguna akhir depan kita sendiri 808 00:35:30,610 --> 00:35:32,850 antara muka dengan pencarian mesin di belakangnya. 809 00:35:32,850 --> 00:35:34,800 >> Tetapi ini sudah tentu, adalah cukup mengerikan. 810 00:35:34,800 --> 00:35:37,259 Jadi, saya benar-benar membuka versi yang lebih baik sedikit. 811 00:35:37,259 --> 00:35:39,800 Ini adalah salah satu yang saya disediakan maju yang mempunyai beberapa ulasan. 812 00:35:39,800 --> 00:35:41,900 Tetapi anda akan melihat bahawa saya cukup banyak diciptakan kembali. 813 00:35:41,900 --> 00:35:44,150 Jadi ini sudah boleh didapati dalam talian. 814 00:35:44,150 --> 00:35:48,050 Dan aku berlaku kepada preemptively pergi ke https hanya untuk memastikan ia mudah. 815 00:35:48,050 --> 00:35:50,610 >> Dan sekarang mari kita membuka lelaran berikutnya ini. 816 00:35:50,610 --> 00:35:52,510 Adakah versi 1 bukan 0. 817 00:35:52,510 --> 00:35:55,315 Apa yang melompat keluar pada anda sebagai sedikit berbeza dalam contoh ini? 818 00:35:55,315 --> 00:35:59,480 819 00:35:59,480 --> 00:36:00,440 >> PENONTON: [didengar]. 820 00:36:00,440 --> 00:36:03,020 >> Ya, ada ini pusat align teks. 821 00:36:03,020 --> 00:36:04,590 Ini adalah sedikit aneh di sini. 822 00:36:04,590 --> 00:36:06,150 Tapi ini memang baru. 823 00:36:06,150 --> 00:36:07,800 Dan mungkin meneka apa yang akan berlaku. 824 00:36:07,800 --> 00:36:11,730 Jika saya pergi ke browser saya sekarang dan melawat pencarian 1.html, 825 00:36:11,730 --> 00:36:13,090 ia hampir perkara yang sama. 826 00:36:13,090 --> 00:36:15,705 Tapi itu selangkah lebih dekat untuk menjadi sedikit lebih cantik. 827 00:36:15,705 --> 00:36:19,150 Ia masih jelek, tetapi lebih cantik dalam sekurang-kurangnya segala-galanya kini terpusat. 828 00:36:19,150 --> 00:36:23,470 >> Jadi ternyata bahawa apa yang saya gunakan adalah bahasa yang lain sama sekali dipanggil 829 00:36:23,470 --> 00:36:25,680 CSS, style sheet melata. 830 00:36:25,680 --> 00:36:28,310 Dan CSS, terus-terang, adalah jenis dari, pada pendapat peribadi saya, 831 00:36:28,310 --> 00:36:29,775 bahasa atrociously dirancang. 832 00:36:29,775 --> 00:36:33,110 Hal ini sangat menjengkelkan untuk mengingat semua berbagai maklumat lanjut. 833 00:36:33,110 --> 00:36:38,479 Tetapi ia adalah apa yang stylizes seluruh web di seluruh dunia hari ini. 834 00:36:38,479 --> 00:36:39,270 Saya menyinggung seseorang. 835 00:36:39,270 --> 00:36:39,769 Baik. 836 00:36:39,769 --> 00:36:43,180 Jadi, mari kita pergi ke sini dan melihat bagaimana kita benar-benar menggunakan ini. 837 00:36:43,180 --> 00:36:45,940 Dan ternyata, sekurang-kurangnya ia sebenarnya bahasa yang cukup mudah. 838 00:36:45,940 --> 00:36:49,470 Ia hanya pasangan nilai utama, sifat dan nilai-nilai, sifat dan nilai-nilai. 839 00:36:49,470 --> 00:36:52,080 Malah, di sini adalah salah satu harta dan apa-apa nilai. 840 00:36:52,080 --> 00:36:55,890 >> Cukup dengan menggunakan gaya atribut pada tag badan saya 841 00:36:55,890 --> 00:37:00,360 dan memberikan nilai yang kolon kata dan kata yang lain, 842 00:37:00,360 --> 00:37:03,730 atau harta dan nilai, Saya boleh mempengaruhi estetika 843 00:37:03,730 --> 00:37:06,210 halaman web, tidak semestinya struktur lagi, 844 00:37:06,210 --> 00:37:07,550 tetapi estetika itu. 845 00:37:07,550 --> 00:37:10,960 Dan hanya dengan Googling di sekitar, saya sedar bahawa lembaran CSS, cascading style, 846 00:37:10,960 --> 00:37:14,170 menyokong hartanah yang dikenali sebagai text-align, yang nilainya boleh 847 00:37:14,170 --> 00:37:16,980 akan ke kiri, kanan, atau pusat, misalnya. 848 00:37:16,980 --> 00:37:19,990 >> Jadi sekarang apabila saya menambah nilai halaman ini, apa yang saya lakukan mendapatkan 849 00:37:19,990 --> 00:37:22,730 adalah halaman berpusat, tapi masih cukup hodoh. 850 00:37:22,730 --> 00:37:25,770 Mari kita pergi ke depan dan membuka sehingga versi 2 Cari. 851 00:37:25,770 --> 00:37:28,570 Dan kini melihat saya telah melakukan lebih sedikit. 852 00:37:28,570 --> 00:37:33,760 Perhatikan di sini dalam kepala tag, ada boleh menjadi lebih daripada tajuk. 853 00:37:33,760 --> 00:37:35,400 Malah, ada tag gaya. 854 00:37:35,400 --> 00:37:38,630 Dan ini adalah di mana ia hanya mendapat sedikit yang melihat CSS kemas kadang-kadang. 855 00:37:38,630 --> 00:37:41,971 >> Perhatikan bahawa saya seolah-olah mempunyai sesuatu yang secara struktural kelihatan sangat berbeza. 856 00:37:41,971 --> 00:37:44,095 Tetapi di sini adalah nama tag yang saya ingin bergaya. 857 00:37:44,095 --> 00:37:47,570 Berikut adalah teman-teman lama kami keriting kawat gigi, dan pendakap kerinting tertutup. 858 00:37:47,570 --> 00:37:50,290 Dan kemudian di sini ialah harta dan nilainya. 859 00:37:50,290 --> 00:37:56,300 >> Jika saya memuatkan fail ini, search2.html, keputusan akhir adalah sama. 860 00:37:56,300 --> 00:37:59,300 Tetapi ia adalah satu langkah ke arah reka bentuk yang lebih baik. 861 00:37:59,300 --> 00:38:04,560 Dengan membuat keluar CSS ini, saya telah tidak berbaur dengan HTML saya. 862 00:38:04,560 --> 00:38:07,560 Dan memang, seperti yang akan kita lihat, saya boleh menggunakan semula sifat-sifat dan nilai-nilai. 863 00:38:07,560 --> 00:38:10,420 Jika saya ingin membuat tandan bahagian dari halaman web saya berpusat, 864 00:38:10,420 --> 00:38:13,630 Saya tidak perlu menaip style = text-align pusat di seluruh tempat. 865 00:38:13,630 --> 00:38:16,580 Saya boleh meletakkan di satu tempat mungkin, seperti di atas. 866 00:38:16,580 --> 00:38:18,210 >> Tetapi walaupun ini bukan reka bentuk yang terbaik. 867 00:38:18,210 --> 00:38:21,720 Malah, salah satu perkara yang anda akan belajar kerana anda menghabiskan lebih banyak dan lebih banyak masa dengan 868 00:38:21,720 --> 00:38:25,730 pengaturcaraan web adalah bahawa lebih banyak anda boleh modularize benda dengan benda faktor keluar 869 00:38:25,730 --> 00:38:30,610 seperti H file membiarkan kita hal-hal faktor keluar, suka helpers.c membiarkan kita hal-hal faktor keluar 870 00:38:30,610 --> 00:38:31,880 yang pşet yang lalu. 871 00:38:31,880 --> 00:38:34,200 Begitu juga, mungkin kita ingin mencapai hal ini. 872 00:38:34,200 --> 00:38:37,920 >> Jadi melihat di versi tiga daripada search.html saya telah 873 00:38:37,920 --> 00:38:40,610 dibersihkan kepala laman dan hanya meletakkan 874 00:38:40,610 --> 00:38:43,320 dalam hal ini, link tag, yang bertentangan dengan nama, 875 00:38:43,320 --> 00:38:44,700 tidak memberikan hyperlink. 876 00:38:44,700 --> 00:38:49,150 Ini link ke fail lain dengan cara href yang nilainya dalam kes ini, 877 00:38:49,150 --> 00:38:51,586 adalah pencarian 3.css 878 00:38:51,586 --> 00:38:52,960 Jadi saya sedar kita akan dengan cepat. 879 00:38:52,960 --> 00:38:54,600 Tetapi semua yang saya lakukan adalah jenis bergerak keadaan. 880 00:38:54,600 --> 00:38:55,760 Biar saya terbuka pencarian 3.css. 881 00:38:55,760 --> 00:38:57,114 882 00:38:57,114 --> 00:38:58,530 Itu dia, tidak ada yang benar-benar kepadanya. 883 00:38:58,530 --> 00:39:02,270 Saya hanya disalin dan ditampal ke dalam baru fail, sama seperti kita kira barang-barang keluar 884 00:39:02,270 --> 00:39:03,509 ke dalam fail lain sebelumnya. 885 00:39:03,509 --> 00:39:05,300 Dan result-- yang sepenuhnya underwhelming-- 886 00:39:05,300 --> 00:39:06,730 akan menjadi persis sama. 887 00:39:06,730 --> 00:39:10,490 Tetapi kita bergerak toward-- tidak, tidak. 888 00:39:10,490 --> 00:39:11,930 Oh, aku tahu mengapa. 889 00:39:11,930 --> 00:39:13,790 >> Oleh itu, ia seolah-olah menjadi bug. 890 00:39:13,790 --> 00:39:15,010 Dan ia adalah dalam erti kata lain. 891 00:39:15,010 --> 00:39:17,730 Tetapi saya membuka tab Rangkaian saya. 892 00:39:17,730 --> 00:39:19,660 Biar saya memuat semula halaman. 893 00:39:19,660 --> 00:39:23,315 Ah, mengapa CSS tidak diterapkan? 894 00:39:23,315 --> 00:39:26,920 Nah, fail CSS, sama, mempunyai agar dapat dibaca dunia, jadi untuk bercakap. 895 00:39:26,920 --> 00:39:28,440 Dan ia juga adalah saat dilarang. 896 00:39:28,440 --> 00:39:33,760 Jadi, saya melakukan chmod a + r bintang dot CSS-- whoops-- 897 00:39:33,760 --> 00:39:37,067 kami CSS dot hanyalah sambungan fail untuk fail CSS. 898 00:39:37,067 --> 00:39:38,900 Sekarang, saya akan kembali ke pelayar dan tambah nilai saya. 899 00:39:38,900 --> 00:39:40,910 OK, sedikit lebih baik. 900 00:39:40,910 --> 00:39:42,282 >> Sekarang, saya akan melakukan satu perkara lepas. 901 00:39:42,282 --> 00:39:42,990 Dalam mencari-4.html. 902 00:39:42,990 --> 00:39:44,550 903 00:39:44,550 --> 00:39:48,220 Saya mempunyai versi yang saya hanya berpikir adalah cara yang lebih sejuk, walaupun cara yang lebih 904 00:39:48,220 --> 00:39:48,980 rumit. 905 00:39:48,980 --> 00:39:50,690 Mari kita lihat hasil yang pertama. 906 00:39:50,690 --> 00:39:52,290 Tutup untuk memberikan lebih banyak ruang. 907 00:39:52,290 --> 00:39:54,275 Perubahan ini untuk mencari-4, Enter. 908 00:39:54,275 --> 00:39:55,430 909 00:39:55,430 --> 00:39:57,200 >> Dan kini banyak hal yang rusak. 910 00:39:57,200 --> 00:39:59,910 Saya akan kembali ke dalam direktori saya di sini. 911 00:39:59,910 --> 00:40:04,190 Dan sekarang saya hanya akan melakukan chmod a + r pada file-- yang 912 00:40:04,190 --> 00:40:07,450 kerana saya tahu ia dipanggil exists-- logo.gif, yang merupakan imej. 913 00:40:07,450 --> 00:40:08,590 Dan kini reload. 914 00:40:08,590 --> 00:40:11,040 Dan Wow jadi sekarang aku cukup dekat, terus-terang, 915 00:40:11,040 --> 00:40:15,860 seperti versi 1999 dari Google, dan terus terang, versi 2014 dari Google, 916 00:40:15,860 --> 00:40:16,360 kan? 917 00:40:16,360 --> 00:40:21,920 >> Jadi ia sekarang akan ke laman web mereka, akhirnya, jika saya mencari kucing. 918 00:40:21,920 --> 00:40:23,900 Dan sesungguhnya ia. 919 00:40:23,900 --> 00:40:26,410 Tetapi apa yang saya lakukan berbeza dalam versi ini 4? 920 00:40:26,410 --> 00:40:28,020 Oleh itu, kita tidak akan diam terlalu banyak di sana sini. 921 00:40:28,020 --> 00:40:30,100 Anda akan melihat ini dalam masalah memisahkan tujuh akhirnya. 922 00:40:30,100 --> 00:40:31,350 Tetapi perhatikan saya lakukan beberapa perkara. 923 00:40:31,350 --> 00:40:33,690 >> Saya memperkenalkan div tag, yang merupakan bahagian, 924 00:40:33,690 --> 00:40:35,450 semangat yang sama tag perenggan. 925 00:40:35,450 --> 00:40:38,220 Tetapi pembahagian yang sama seperti, inilah kawasan yang tidak dapat dilihat yang segi empat tepat 926 00:40:38,220 --> 00:40:39,150 skrin. 927 00:40:39,150 --> 00:40:41,680 Mari kita memberikan yang unik pengecam, footer, hanya 928 00:40:41,680 --> 00:40:44,700 supaya kita boleh bercakap tentang dalam HTML di tempat lain. 929 00:40:44,700 --> 00:40:47,952 Di sini adalah satu lagi div halaman ID yang akan menjadi kandungan. 930 00:40:47,952 --> 00:40:49,160 Ini adalah kandungan halaman. 931 00:40:49,160 --> 00:40:51,090 Dan di sini adalah header halaman. 932 00:40:51,090 --> 00:40:54,960 >> Dalam erti kata lain, saya telah dasarnya dalam HTML berasa mental 933 00:40:54,960 --> 00:40:57,700 melihat halaman web ini sebagai tiga komponen, header 934 00:40:57,700 --> 00:41:01,200 di sini dengan segi empat tepat yang tidak dapat dilihat ini, kandungan yang di tengah, dan kemudian 935 00:41:01,200 --> 00:41:04,800 kaki ke bawah di bawah, bahkan walaupun kita tidak melihat perkara-perkara. 936 00:41:04,800 --> 00:41:09,940 Kerana saya mahu dalam kepala saya dari Laman di sini, atau dalam fail css, 937 00:41:09,940 --> 00:41:11,460 Saya boleh menggunakan sintaks ini. 938 00:41:11,460 --> 00:41:13,070 >> Tandukan bukan tag. 939 00:41:13,070 --> 00:41:17,060 Ini ID jadi ternyata bahawa dengan melakukan # header, 940 00:41:17,060 --> 00:41:20,840 Saya kini boleh memohon satu atau lebih hartanah untuk header. 941 00:41:20,840 --> 00:41:24,130 Yang boleh saya lakukan kandungan yang sama, yang sama untuk kandungan di sini. 942 00:41:24,130 --> 00:41:27,230 >> Jadi misalnya, di footer, notis semua sifat ini saya menambahkan. 943 00:41:27,230 --> 00:41:30,660 Dan saya tahu mereka wujud hanya dengan membaca pada dokumentasi untuk CSS. 944 00:41:30,660 --> 00:41:33,450 Saiz fon akan menjadi smaller-- sehingga beberapa saiz font relatif. 945 00:41:33,450 --> 00:41:34,741 Berat akan menjadi berani. 946 00:41:34,741 --> 00:41:37,340 Margin-- berapa banyak piksel sekitar itu-- adalah 20 piksel. 947 00:41:37,340 --> 00:41:38,590 Dan ia akan berpusat. 948 00:41:38,590 --> 00:41:40,256 >> Tetapi sekarang, laman itu adalah seperti ini. 949 00:41:40,256 --> 00:41:42,840 Jika saya tidak gembira dengan salinan saya di sana, 950 00:41:42,840 --> 00:41:46,560 Saya boleh melakukan sesuatu seperti warna merah. 951 00:41:46,560 --> 00:41:50,570 Dan kemudian saya boleh menyimpan ini, memuat semula, dan sekarang saya telah bergaya footer. 952 00:41:50,570 --> 00:41:54,130 Jadi, ini adalah hanya mengisyaratkan pada kuasa apa yang anda boleh lakukan di laman web 953 00:41:54,130 --> 00:41:55,510 untuk mengubah keadaan. 954 00:41:55,510 --> 00:41:59,080 >> Dan bahkan lebih sejuk daripada ini, jika anda mahu untuk melihat-dengan laman web yang sebenarnya, 955 00:41:59,080 --> 00:42:00,810 Anda tidak dapat kekal mengubahnya. 956 00:42:00,810 --> 00:42:03,640 Tetapi jika saya membuka Inspektor Chrome lagi 957 00:42:03,640 --> 00:42:07,610 dan saya tidak pergi ke sebelah kiri di sini, yang menunjukkan HTML Facebook, 958 00:42:07,610 --> 00:42:11,380 tetapi menunjukkan di sebelah kanan sebelah semua CSS, 959 00:42:11,380 --> 00:42:13,789 sama ada anda boleh dan mengubah keadaan dengan cepat. 960 00:42:13,789 --> 00:42:15,080 Jadi, saya teruskan niat saya ini. 961 00:42:15,080 --> 00:42:18,670 >> Biar saya pergi ke hadapan dan kawalan klik pada perkataan ini secara rawak di sini, 962 00:42:18,670 --> 00:42:21,230 menandatangani, dan klik Periksa Elemen. 963 00:42:21,230 --> 00:42:25,130 Chrome sangat mudah melompat ke tag h1 yang menggunakan Facebook. 964 00:42:25,130 --> 00:42:27,290 Dan perhatikan di sini Facebook mempunyai jenis malas 965 00:42:27,290 --> 00:42:29,960 keras berkod saiz fon sebagai harta di sini. 966 00:42:29,960 --> 00:42:33,530 >> Jadi perkara yang sejuk walaupun adalah bahawa jika saya benar-benar pergi di sini 967 00:42:33,530 --> 00:42:39,560 dan berkata, oh, Facebook, saya tidak seperti itu 64 piksel, kita kini boleh menukar Facebook. 968 00:42:39,560 --> 00:42:42,590 Sudah tentu, kita hanya mengubahnya bagi saya secara peribadi pada masa ini. 969 00:42:42,590 --> 00:42:45,150 Tetapi ini adalah hanya satu lagi alat dalam kit alat kami 970 00:42:45,150 --> 00:42:48,360 yang akan membolehkan kita untuk tweak dan memikirkan dan juga mendiagnosis 971 00:42:48,360 --> 00:42:49,729 isu-isu dalam laman-laman web kita sendiri. 972 00:42:49,729 --> 00:42:52,270 Dan kita juga boleh pergi ke atas di sini, yang adalah perkara yang sama. 973 00:42:52,270 --> 00:42:55,830 Jika anda benar-benar ingin mendapatkan mewah, saya bermakna, kini anda benar-benar boleh berubah halaman 974 00:42:55,830 --> 00:42:57,380 dan melakukan perkara-perkara gila. 975 00:42:57,380 --> 00:42:59,870 >> Lalu mengapa ini semua kepada? 976 00:42:59,870 --> 00:43:02,330 Nah, akhirnya, kami tidak akan mahu menjadi 977 00:43:02,330 --> 00:43:07,110 mampu untuk membuat laman web yang didorong oleh hujung belakang kita sendiri, 978 00:43:07,110 --> 00:43:10,520 bukan dengan hanya Google dan penyumberan luar akhirnya kembali ke sana. 979 00:43:10,520 --> 00:43:13,510 Kami benar-benar mahu nilai, misalnya, 980 00:43:13,510 --> 00:43:18,830 tindakan enjin carian kami di atribut untuk tidak pergi kepada orang lain, 981 00:43:18,830 --> 00:43:24,270 tetapi untuk sesuatu seperti search.php, mana search.php adalah di dalam server kami sendiri, 982 00:43:24,270 --> 00:43:25,670 bukan pada orang lain. 983 00:43:25,670 --> 00:43:30,316 >> Dan sebagainya untuk sampai ke sana, kita benar-benar perlu untuk memperkenalkan bahasa baru. 984 00:43:30,316 --> 00:43:33,190 Oleh itu, kita sudah melihat yang baru bahasa di sini, atau dua benar-benar, HTML 985 00:43:33,190 --> 00:43:33,700 dan CSS. 986 00:43:33,700 --> 00:43:36,330 Tetapi mereka benar-benar hanya bahasa struktural dan estetik. 987 00:43:36,330 --> 00:43:38,360 Mereka tidak pemrograman bahasa per se. 988 00:43:38,360 --> 00:43:41,160 Dan itu kira-kira sebanyak rasmi masa seperti yang kita akan menghabiskan pada mereka. 989 00:43:41,160 --> 00:43:44,910 Kerana kita akan mulai sekarang untuk beralih kepada PHP. 990 00:43:44,910 --> 00:43:48,160 >> Jadi PHP adalah sebenarnya bahasa pengaturcaraan. 991 00:43:48,160 --> 00:43:50,750 Ini adalah bahasa skrip dalam erti kata bahawa itu 992 00:43:50,750 --> 00:43:52,855 dimaksudkan untuk menjadi lebih ringan daripada sesuatu seperti C. 993 00:43:52,855 --> 00:43:56,082 Dan itu bahasa yang ditafsirkan, yang bermakna ia tidak disusun. 994 00:43:56,082 --> 00:43:58,790 Jadi singkatnya, apa artinya apabila kita menggunakan bahasa seperti c 995 00:43:58,790 --> 00:44:00,290 dan kami harus compile? 996 00:44:00,290 --> 00:44:02,120 Apa yang dimaksud dengan mengkompilasi C kod sumber? 997 00:44:02,120 --> 00:44:03,864 998 00:44:03,864 --> 00:44:04,780 PENONTON: [didengar]. 999 00:44:04,780 --> 00:44:06,184 DAVID MALAN J: Katakanlah lagi? 1000 00:44:06,184 --> 00:44:07,100 PENONTON: [didengar]. 1001 00:44:07,100 --> 00:44:07,962 1002 00:44:07,962 --> 00:44:08,920 DAVID MALAN J: Perfect. 1003 00:44:08,920 --> 00:44:10,180 Ia mengubahnya menjadi binari. 1004 00:44:10,180 --> 00:44:14,200 Ia mengubahnya menjadi sifar dan orang-orang dari kod sumber bahasa Inggeris seperti yang sebenarnya. 1005 00:44:14,200 --> 00:44:16,424 Dan kemudian kita boleh sebenarnya menjalankan mereka sifar dan orang-orang 1006 00:44:16,424 --> 00:44:18,840 dengan melepaskan mereka melalui CPU dengan mengklik dua kali pada ikon 1007 00:44:18,840 --> 00:44:19,980 atau menjalankan perintah. 1008 00:44:19,980 --> 00:44:23,770 >> PHP dan Python dan Ruby dan Perl dan JavaScript 1009 00:44:23,770 --> 00:44:26,250 dan tandan lain bahasa diinterpretasikan 1010 00:44:26,250 --> 00:44:29,290 bahasa, atau dengan kata lain Anda tidak kompilasi mereka. 1011 00:44:29,290 --> 00:44:34,220 Sebaliknya, anda memberi mereka makan sebagai input untuk program yang dikenali sebagai seorang jurubahasa. 1012 00:44:34,220 --> 00:44:36,640 Dan jurubahasa itu, yang orang lain menulis, 1013 00:44:36,640 --> 00:44:40,930 membaca kod sumber anda atas ke bawah, kiri ke kanan dan hanya mentafsir 1014 00:44:40,930 --> 00:44:43,000 garis itu dan melakukan apa yang kamu katakan. 1015 00:44:43,000 --> 00:44:45,360 >> Jadi, jika anda menghadapi baris yang mengatakan cetak, 1016 00:44:45,360 --> 00:44:48,660 ia tidak semestinya menukar cetak kepada sifar dan orang-orang yang sesuai. 1017 00:44:48,660 --> 00:44:51,910 Ia hanya mempunyai jurubahasa ini seperti jika keadaan besar yang mengatakan, 1018 00:44:51,910 --> 00:44:56,110 jika arahan programmer adalah cetak, kemudian melakukan hal berikut. 1019 00:44:56,110 --> 00:44:58,170 Jadi ia menafsirkan ia hanya oleh jenis penalaran 1020 00:44:58,170 --> 00:44:59,800 melalui apa yang anda memberitahu untuk dilakukan. 1021 00:44:59,800 --> 00:45:01,320 >> Dan PHP adalah salah satu bahasa tersebut. 1022 00:45:01,320 --> 00:45:05,310 Dan PHP tahun yang lalu dirancang tepat untuk pengaturcaraan web. 1023 00:45:05,310 --> 00:45:08,160 Dan ia pada awalnya bahasa tidak kemas sangat ceroboh. 1024 00:45:08,160 --> 00:45:10,940 Dan memang, ada yang besar jumlah kod PHP buruk di luar sana. 1025 00:45:10,940 --> 00:45:13,520 Tetapi bahasa itu sendiri telah berkembang selama bertahun-tahun, 1026 00:45:13,520 --> 00:45:16,200 sehingga kini ia sebenarnya satu langkah seterusnya yang indah 1027 00:45:16,200 --> 00:45:19,970 pedagogis dari C kerana ia begitu terkutuk akrab dengan semua 1028 00:45:19,970 --> 00:45:22,380 Anda baru saja dilihat dalam beberapa minggu terakhir. 1029 00:45:22,380 --> 00:45:25,724 >> Satu perbezaan awal kita akan melihat adalah tidak ada fungsi utama lagi. 1030 00:45:25,724 --> 00:45:28,890 Apabila anda mula menulis kod, ia hanya akan dijalankan tidak kira apa, 1031 00:45:28,890 --> 00:45:30,220 seperti yang akan kita lihat sebentar lagi. 1032 00:45:30,220 --> 00:45:33,320 Sementara itu, inilah yang yang ubah kelihatan seperti dalam PHP. 1033 00:45:33,320 --> 00:45:35,840 Ini agak berbeza, tetapi hanya hampir tidak. 1034 00:45:35,840 --> 00:45:39,380 >> Dalam PHP, tidak ada menaip kuat. 1035 00:45:39,380 --> 00:45:41,430 Ada minggu menaip, yang hanya berarti ada 1036 00:45:41,430 --> 00:45:44,030 adalah jenis data seperti string dan nombor dan lain-lain. 1037 00:45:44,030 --> 00:45:47,030 Tetapi anda tidak mengganggu menyatakan apa yang mereka lagi. 1038 00:45:47,030 --> 00:45:48,980 PHP angka itu keluar untuk anda. 1039 00:45:48,980 --> 00:45:52,030 Tanda dolar hanya keputusan yang bahwa orang-orang PHP dibuat tahun 1040 00:45:52,030 --> 00:45:54,890 lalu itu bahawa mana-mana pembolehubah dalam PHP hanya bermula dengan tanda dolar. 1041 00:45:54,890 --> 00:45:58,130 Ini sebenarnya jenis yang berguna dalam melompat keluar pada anda sedikit lebih. 1042 00:45:58,130 --> 00:46:01,315 >> Tetapi selepas itu, ini adalah suatu keadaan di PHP. 1043 00:46:01,315 --> 00:46:03,140 1044 00:46:03,140 --> 00:46:04,730 Apa yang berbeza berbanding C? 1045 00:46:04,730 --> 00:46:07,180 1046 00:46:07,180 --> 00:46:09,600 Trick question-- apa-apa, yang sebenarnya benar-benar baik. 1047 00:46:09,600 --> 00:46:12,140 Ungkapan Boolean dalam PHP-- yang sama. 1048 00:46:12,140 --> 00:46:19,354 Ungkapan Boolean dengan dan berbanding atau, suis, gelung, gelung, loops-- OK, 1049 00:46:19,354 --> 00:46:20,270 yang satu ini adalah berbeza. 1050 00:46:20,270 --> 00:46:22,660 >> Jadi ternyata ada beberapa ciri-ciri lain dalam PHP. 1051 00:46:22,660 --> 00:46:25,243 Salah seorang daripada mereka adalah benar-benar ini, yang sangat mudah. 1052 00:46:25,243 --> 00:46:29,250 Jika $ nombor adalah array bahawa anda telah dinyatakan sebelum ini dalam sebuah program, 1053 00:46:29,250 --> 00:46:33,350 anda mempunyai mewah ini bagi setiap konstruk yang bukannya melakukan semua itu 1054 00:46:33,350 --> 00:46:37,020 Saya menjengkelkan sama dengan 0, I adalah kurang daripada ini, [? Saya ++?], 1055 00:46:37,020 --> 00:46:40,320 untuk setiap nombor nombor, di mana masing-masing nilai-nilai tanda dolar hanya 1056 00:46:40,320 --> 00:46:42,790 berubah, dan yang terakhir Anda boleh anggap sebagai I. 1057 00:46:42,790 --> 00:46:44,290 Anda boleh memanggil ia apa sahaja yang anda mahu. 1058 00:46:44,290 --> 00:46:45,770 Saya menyebutnya nombor. 1059 00:46:45,770 --> 00:46:48,825 Ini akan beralih di atas array disebut nombor. 1060 00:46:48,825 --> 00:46:51,200 Dan pada setiap iterasi, itu akan mengemaskini secara automatik 1061 00:46:51,200 --> 00:46:54,340 untuk anda jumlah tanda dolar ubah supaya anda sentiasa 1062 00:46:54,340 --> 00:46:58,210 mempunyai akses kepada pembolehubah yang anda mahu tanpa perlu melakukan apa-apa braket persegi 1063 00:46:58,210 --> 00:47:00,980 notasi atau pengindeksan ke dalam array. 1064 00:47:00,980 --> 00:47:04,950 >> Selain itu, kami juga mempunyai perkara-perkara seperti array, yang kelihatan hampir sama, 1065 00:47:04,950 --> 00:47:08,210 kecuali itu sangat umum, seperti yang akan kita lihat, kedua-dua dalam PHP dan JavaScript 1066 00:47:08,210 --> 00:47:10,750 untuk pra memulakan array menggunakan tanda kurung siku. 1067 00:47:10,750 --> 00:47:12,040 C menggunakan pendakap kerinting. 1068 00:47:12,040 --> 00:47:15,330 Jadi ia sedikit berbeza, walaupun kita tidak benar-benar menggunakan trik yang banyak. 1069 00:47:15,330 --> 00:47:20,090 >> Namun, yang lebih kuat, PHP mempunyai array bersekutu, 1070 00:47:20,090 --> 00:47:23,100 yang adalah cara yang mewah mengatakan jadual hash. 1071 00:47:23,100 --> 00:47:31,610 Malah, jika anda mahu untuk menyatakan hash meja dalam PHP, tidak seperti di C-- berapa banyak 1072 00:47:31,610 --> 00:47:34,775 baris kod masa yang diambil untuk benar-benar melaksanakan jadual hash di C? 1073 00:47:34,775 --> 00:47:38,310 Atau berapa banyak baris kod itu mengambil untuk melaksanakan jadual hash di C? 1074 00:47:38,310 --> 00:47:39,820 Jadi mungkin banyak, kan? 1075 00:47:39,820 --> 00:47:41,680 Ini adalah beberapa dozen, mungkin 100 atau 200. 1076 00:47:41,680 --> 00:47:42,980 Ini trivial. 1077 00:47:42,980 --> 00:47:45,420 Atau ia akan menjadi, sebagai Anda akan segera melihat, trivial 1078 00:47:45,420 --> 00:47:48,080 untuk melaksanakan jadual hash [Didengar] dan juga dicoba. 1079 00:47:48,080 --> 00:47:50,580 Tetapi dalam PHP-- dan terus terang, saya mungkin tidak harus mengatakan ini 1080 00:47:50,580 --> 00:47:53,630 sehingga Monday-- dalam PHP, jika Anda ingin meja, dilakukan. 1081 00:47:53,630 --> 00:47:56,431 Itu hash table-- jadi dengan satu baris kod. 1082 00:47:56,431 --> 00:47:56,930 Dan 1083 00:47:56,930 --> 00:47:58,810 >> Banyak bahasa melakukannya. 1084 00:47:58,810 --> 00:48:00,190 Bersenang-senang dengan Serangga lima. 1085 00:48:00,190 --> 00:48:01,980 Jadi banyak Bahasa apa ini. 1086 00:48:01,980 --> 00:48:03,050 1087 00:48:03,050 --> 00:48:06,140 Mereka memberikan abstraksi ini bahawa orang lain, pengaturcara lain, 1088 00:48:06,140 --> 00:48:09,870 telah dibuat untuk anda supaya Anda boleh berdiri di atas bahu mereka 1089 00:48:09,870 --> 00:48:13,290 dan mula menggunakan idea-idea yang super menarik, seperti jadual hash dan pokok-pokok 1090 00:48:13,290 --> 00:48:14,140 dan cuba. 1091 00:48:14,140 --> 00:48:17,790 Tetapi anda tidak perlu harus melaksanakan hal-hal diri sendiri. 1092 00:48:17,790 --> 00:48:20,850 >> Dan begitu pada akhirnya, apa yang kita akan menggunakan PHP untuk 1093 00:48:20,850 --> 00:48:23,580 berpotensi menulis program garis yang dipanggil perintah. 1094 00:48:23,580 --> 00:48:26,600 Kita boleh mencipta setiap program kami telah menulis semester ini setakat ini, 1095 00:48:26,600 --> 00:48:30,410 kecuali mungkin Breakout yang menggunakan SPL, yang khusus untuk C pada masa ini. 1096 00:48:30,410 --> 00:48:33,100 Tapi setiap masalah lain yang ditetapkan, pasti Mario dan Caesar 1097 00:48:33,100 --> 00:48:35,300 dan Vigenere dan [? Retak?] Dan seterusnya, kita 1098 00:48:35,300 --> 00:48:39,520 melaksanakan semula boleh dengan PHP, mungkin sedikit lebih mudah. 1099 00:48:39,520 --> 00:48:43,050 >> Tetapi apa yang kita akhirnya akan menggunakan PHP adalah pengaturcaraan web. 1100 00:48:43,050 --> 00:48:46,420 Dan kami akan memperkenalkan seterusnya seminggu model mental, paradigma yang dipanggil 1101 00:48:46,420 --> 00:48:49,610 MVC, pandangan model pengawal, yang jika anda telah melakukan pengaturcaraan 1102 00:48:49,610 --> 00:48:51,610 sebelum Python atau Ruby atau di tempat lain, anda 1103 00:48:51,610 --> 00:48:54,112 mengetahui pasukan ini dengan Rel dan Django dan sebagainya. 1104 00:48:54,112 --> 00:48:55,820 Tetapi jika anda baru kepada ini juga, anda akan melihat 1105 00:48:55,820 --> 00:48:59,652 bahawa ini adalah benar-benar sangat semula jadi lanjutan pemfaktoran 1106 00:48:59,652 --> 00:49:01,360 dan jenis reka bentuk kod yang kami telah 1107 00:49:01,360 --> 00:49:04,670 lakukan di C. Kita akan sekarang menerapkan beberapa pelajaran-pelajaran ke PHP 1108 00:49:04,670 --> 00:49:07,190 sehingga pada akhirnya, kami melaksanakan laman web kami sendiri. 1109 00:49:07,190 --> 00:49:09,080 Dan jika anda jenis terpesona atau kagum 1110 00:49:09,080 --> 00:49:10,954 bahawa kita akan melakukan semua begitu cepat, 1111 00:49:10,954 --> 00:49:13,410 menyedari bahawa hampir setiap semester, hampir 90% 1112 00:49:13,410 --> 00:49:16,560 pelajar CS50, termasuk yang yang tidak pernah diprogram sebelumnya, 1113 00:49:16,560 --> 00:49:20,329 akhirnya membuat projek akhir yang adalah berdasarkan kepada pengaturcaraan web. 1114 00:49:20,329 --> 00:49:23,120 Dan itu anda akan melihat pulangan adalah tinggi dalam beberapa minggu akan datang. 1115 00:49:23,120 --> 00:49:24,965 Oleh itu, kita akan melihat anda kemudian pada hari Isnin. 1116 00:49:24,965 --> 00:49:27,260 1117 00:49:27,260 --> 00:49:30,120 >> SPEAKER 1: Dan kini, Deep Pemikiran oleh Daven Farnham. 1118 00:49:30,120 --> 00:49:34,055 1119 00:49:34,055 --> 00:49:34,780 Jadual hash. 1120 00:49:34,780 --> 00:49:37,180 1121 00:49:37,180 --> 00:49:38,402 >> [Ketawa] 1122 00:49:38,402 --> 00:49:38,902