1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI PENG: Kami hampir melalui semua psets. 3 00:00:08,770 --> 00:00:12,080 Bahkan, kami melalui mayoritas dari psets paling sulit. 4 00:00:12,080 --> 00:00:14,350 Jadi kita sebenarnya hanya akan jenis angin 5 00:00:14,350 --> 00:00:16,050 melalui beberapa minggu berikutnya. 6 00:00:16,050 --> 00:00:19,520 >> Kita akan mulai berbicara tentang kami proyek akhir, peristiwa datang 7 00:00:19,520 --> 00:00:21,320 dalam beberapa minggu ke depan. 8 00:00:21,320 --> 00:00:23,825 Dan hidup akan mudah. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Jadi tidak terlalu banyak hari ini. 11 00:00:27,680 --> 00:00:30,280 >> Mudah-mudahan, akan benar-benar angin melalui agenda untuk hari ini, 12 00:00:30,280 --> 00:00:33,400 dan kemudian keluar dari sini dengan beberapa waktu luang. 13 00:00:33,400 --> 00:00:36,210 Juga, saya ingin meminta maaf kurangnya permen hari ini. 14 00:00:36,210 --> 00:00:37,030 Saya tidak tahu mengapa. 15 00:00:37,030 --> 00:00:40,520 Tapi dalam minggu menjelang Halloween, aku akan melupakan permen. 16 00:00:40,520 --> 00:00:43,290 >> Jadi aku benar-benar hanya besar Kekecewaan kepada Anda sekarang. 17 00:00:43,290 --> 00:00:47,050 Karena aku benar-benar ingat permen untuk setiap kelas tunggal, tetapi Halloween. 18 00:00:47,050 --> 00:00:49,345 Tapi minggu depan, saya akan membawa dua kali lipat jumlah permen 19 00:00:49,345 --> 00:00:50,720 untuk membuat untuk itu, semua untuk Anda. 20 00:00:50,720 --> 00:00:53,260 Ini akan menjadi besar. 21 00:00:53,260 --> 00:00:56,690 >> Jadi saya punya beberapa pengumuman mengenai beberapa penjadwalan. 22 00:00:56,690 --> 00:00:59,520 Saya memiliki beberapa masalah penjadwalan. 23 00:00:59,520 --> 00:01:02,150 Kemudian kita akan beralih ke berbicara tentang apa yang disebut chmod. 24 00:01:02,150 --> 00:01:05,980 Kita akan berbicara tentang cepat TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Dan kemudian kita akan kode kami situs sendiri menggunakan HTML dan CSS. 26 00:01:09,770 --> 00:01:13,030 Dan kemudian aku benar-benar akan meninggalkan mungkin seperti 20 menit untuk berbicara tentang pset6. 27 00:01:13,030 --> 00:01:16,550 Karena pset6 sebenarnya banyak hal-hal yang telah kita lihat sebelumnya, 28 00:01:16,550 --> 00:01:19,090 tapi saya ingin menyegarkan beberapa konsep-konsep 29 00:01:19,090 --> 00:01:22,140 serta mengajarkan beberapa fungsi baru. 30 00:01:22,140 --> 00:01:23,110 >> Keren. 31 00:01:23,110 --> 00:01:25,440 Jadi pertama-tama, Selamat datang kembali dari istirahat. 32 00:01:25,440 --> 00:01:27,410 Kuharap kau istirahat itu menyenangkan. 33 00:01:27,410 --> 00:01:29,695 Akan kau lakukan untuk istirahat? 34 00:01:29,695 --> 00:01:30,820 AUDIENCE: Pergi ke New York. 35 00:01:30,820 --> 00:01:32,030 ANDI PENG: Anda pergi ke New York? 36 00:01:32,030 --> 00:01:33,738 Saya pikir setengah sekolah kami pergi ke New York. 37 00:01:33,738 --> 00:01:34,740 Ya, benar. 38 00:01:34,740 --> 00:01:38,250 Aku menghabiskan sebagian besar istirahat saya menetap di tempat tidur Netflixing. 39 00:01:38,250 --> 00:01:39,760 Dan itu adalah waktu yang baik. 40 00:01:39,760 --> 00:01:43,450 >> Tapi kami sekarang kembali, kembali sesi, kembali ayunan hal. 41 00:01:43,450 --> 00:01:47,900 Kami memiliki pset karena Jumat ini pada siang hari. 42 00:01:47,900 --> 00:01:50,240 >> Saya pikir Anda sudah sudah mengambil kuis Anda, ya? 43 00:01:50,240 --> 00:01:52,140 Jadi siapa saja yang memiliki tidak memiliki kuis mereka, 44 00:01:52,140 --> 00:01:55,416 silahkan datang dan mendapatkan kuis Anda dari saya di akhir bagian. 45 00:01:55,416 --> 00:01:56,540 Atau melacak saya di kampus. 46 00:01:56,540 --> 00:01:59,310 Aku akan memilikinya dengan saya di suatu tempat. 47 00:01:59,310 --> 00:02:02,120 >> Tugas akhir kami usulan pra-juga. 48 00:02:02,120 --> 00:02:06,380 Jadi bagi kita yang tidak pernah mengambil kelas ini sebelum, batu penjuru dari CS50 49 00:02:06,380 --> 00:02:11,150 sangat banyak memuncak dalam ini besar proyek yang mengusulkan siswa. 50 00:02:11,150 --> 00:02:14,300 Dan pra-proposal, hanya ide umum 51 00:02:14,300 --> 00:02:18,500 dari apa yang mungkin ingin lakukan untuk mereka proyek, gagasan bahwa ini disebabkan Senin, 52 00:02:18,500 --> 00:02:20,780 Senin depan pada siang hari. 53 00:02:20,780 --> 00:02:23,800 >> Jadi cukup banyak, saya pikir David akan berbicara lebih lanjut tentang ini dalam kuliah 54 00:02:23,800 --> 00:02:25,390 jika dia belum melakukannya. 55 00:02:25,390 --> 00:02:28,710 Dan ada halaman yang solid di website kami menjelaskan 56 00:02:28,710 --> 00:02:31,610 semua persyaratan proyek. 57 00:02:31,610 --> 00:02:34,082 Tapi pada dasarnya, memilih setiap topik yang Anda sudah 58 00:02:34,082 --> 00:02:35,915 telah tertarik seluruh waktu Anda di sini 59 00:02:35,915 --> 00:02:41,760 di CS, apakah itu game atau desain atau video atau apa pun. 60 00:02:41,760 --> 00:02:44,920 >> Dan Anda bisa benar-benar jenis sekarang menerapkan beberapa pelajaran 61 00:02:44,920 --> 00:02:52,470 bahwa kita telah belajar di sini di CS50-- hi, welcome-- untuk cukup banyak melakukan 62 00:02:52,470 --> 00:02:56,320 proyek akhir pilihan Anda. 63 00:02:56,320 --> 00:02:59,570 Semua itu karena Senin adalah hanya uraian singkat melalui email 64 00:02:59,570 --> 00:03:02,010 bagi saya, kalimat cepat, seperti, hei, Andi, 65 00:03:02,010 --> 00:03:06,490 Aku benar-benar tertarik dalam merancang permainan yang melakukan ini untuk iOS. 66 00:03:06,490 --> 00:03:07,420 Keren. 67 00:03:07,420 --> 00:03:10,767 Biarkan aku awal singkat Anda ide untuk proyek akhir Anda. 68 00:03:10,767 --> 00:03:13,850 Dan kami akan berbicara melalui apakah atau tidak yang sebenarnya adalah ide yang baik atau tidak, 69 00:03:13,850 --> 00:03:15,590 jika itu ide layak atau tidak. 70 00:03:15,590 --> 00:03:20,760 Tapi hanya pra-proposal adalah karena Senin depan. 71 00:03:20,760 --> 00:03:24,190 pset6, web-- indah kami yang salah. 72 00:03:24,190 --> 00:03:25,060 Pset7? 73 00:03:25,060 --> 00:03:25,560 pset6? 74 00:03:25,560 --> 00:03:26,680 Ini pset6, kan? 75 00:03:26,680 --> 00:03:32,690 >> pset6, web server kami, adalah karena Jumat siang dengan hari akhir. 76 00:03:32,690 --> 00:03:37,660 Jam kantor melanjutkan biasanya dari Senin Kamis 8:00-11:00 minggu ini. 77 00:03:37,660 --> 00:03:39,710 Saya pikir Commons untuk tiga malam berikutnya. 78 00:03:39,710 --> 00:03:40,310 Keren. 79 00:03:40,310 --> 00:03:44,260 Sebelum kita memiliki ke dalam bahan, apakah ada memiliki pertanyaan, lelucon, cerita? 80 00:03:44,260 --> 00:03:46,662 Apa yang Anda lakukan untuk musim gugur istirahat? 81 00:03:46,662 --> 00:03:48,640 >> AUDIENCE: Apa yang saya lakukan? 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: Sudah itu usia yang lalu sebenarnya. 83 00:03:52,834 --> 00:03:54,000 Christabel pergi ke New York. 84 00:03:54,000 --> 00:03:55,614 Aku tinggal di sini dan Netflixed. 85 00:03:55,614 --> 00:03:56,864 AUDIENCE: Oh, ya aku di sini. 86 00:03:56,864 --> 00:03:57,614 ANDI PENG: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 AUDIENCE: Saya tidak ingat apa khusus. 88 00:03:59,792 --> 00:04:00,710 ANDI PENG: Itu OK. 89 00:04:00,710 --> 00:04:01,960 AUDIENCE: Netflixing mungkin. 90 00:04:01,960 --> 00:04:02,990 ANDI PENG: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Ya, itu adalah waktu yang baik. 92 00:04:04,710 --> 00:04:05,780 OKE. 93 00:04:05,780 --> 00:04:06,340 Baiklah. 94 00:04:06,340 --> 00:04:08,877 Pertanyaan sebelum kita melompat ke materi? 95 00:04:08,877 --> 00:04:11,210 Juga, kita akan mencoba untuk kecepatan melalui bagian hari ini, 96 00:04:11,210 --> 00:04:12,504 tidak terlalu banyak untuk menutupi. 97 00:04:12,504 --> 00:04:14,420 Dan mudah-mudahan, kita akan mendapatkan di sini sedikit lebih awal. 98 00:04:14,420 --> 00:04:15,580 Maaf untuk tidak permen, juga. 99 00:04:15,580 --> 00:04:20,310 Aku kekecewaan, terutama selama Halloween. 100 00:04:20,310 --> 00:04:21,110 >> Baiklah. 101 00:04:21,110 --> 00:04:21,810 Keren. 102 00:04:21,810 --> 00:04:28,370 Jadi kita akan mulai berbicara tentang argumen baris perintah disebut chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, semua itu adalah hanya sebuah sistem Unix panggilan yang dilakukan dari baris perintah 104 00:04:32,850 --> 00:04:34,700 untuk mengubah hak akses file. 105 00:04:34,700 --> 00:04:37,790 Jadi misalnya, kami sudah semua ditemui halaman 106 00:04:37,790 --> 00:04:40,550 seperti ini mungkin kadang-kadang di rentang hidup kami menjadi internet 107 00:04:40,550 --> 00:04:45,110 pengguna, di mana web server kami memiliki memberi kita kesalahan Terlarang. 108 00:04:45,110 --> 00:04:49,086 Anda tidak memiliki izin untuk mengakses, yadda, yadda, yadda, di server ini. 109 00:04:49,086 --> 00:04:50,960 Semua yang benar-benar berarti adalah bahwa izin 110 00:04:50,960 --> 00:04:53,920 yang melekat pada apapun Halaman yang Anda mencoba untuk mengakses 111 00:04:53,920 --> 00:04:55,840 tidak terbuka untuk Anda. 112 00:04:55,840 --> 00:04:57,870 Jadi cukup banyak, chmod adalah cara di mana 113 00:04:57,870 --> 00:05:02,140 kita bisa memodifikasi hak akses sistem untuk memberikan setiap orang, pengguna, kelompok, 114 00:05:02,140 --> 00:05:04,975 atau dunia, atau Kombinasi akses mereka 115 00:05:04,975 --> 00:05:07,900 untuk file tertentu, direktori, apa benar-benar, 116 00:05:07,900 --> 00:05:11,720 apapun sistem pada sebuah sistem operasi. 117 00:05:11,720 --> 00:05:14,039 Jadi jika ada orang memiliki komputer jika Anda merasa 118 00:05:14,039 --> 00:05:17,080 seperti berikut bersama dengan saya hari ini, benar-benar merasa bebas untuk hanya mengetik hal 119 00:05:17,080 --> 00:05:17,580 di. 120 00:05:17,580 --> 00:05:19,790 Jika tidak, Anda hanya bisa bergaul. 121 00:05:19,790 --> 00:05:23,170 Jadi aku akan benar-benar menarik terminal saya sekarang. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Jadi perintah untuk menjalankan chmod, atau setidaknya hanya 124 00:05:32,310 --> 00:05:37,840 daftar izin dari Anda direktori file, hanya ls-l. 125 00:05:37,840 --> 00:05:42,270 Seperti yang Anda lihat, sekelompok hal muncul yang sebagian besar 126 00:05:42,270 --> 00:05:45,390 adalah penting bagi kami di sisi kiri di sini. 127 00:05:45,390 --> 00:05:48,710 Kalian melihat sekelompok rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Ya. 129 00:05:49,210 --> 00:05:51,400 >> Mereka pada dasarnya hanya semua hak akses file 130 00:05:51,400 --> 00:05:55,960 untuk menjelaskan apa direktori tertentu dan file dalam sistem Anda miliki. 131 00:05:55,960 --> 00:05:58,150 Jadi mari kita kembali ke power point di sini. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Jadi selain nama file seperti kalian bisa melihat di sebelah kanan, 134 00:06:06,500 --> 00:06:10,312 kami sedang mencari untuk melihat dasarnya hanya kolom di sebelah kiri. 135 00:06:10,312 --> 00:06:12,020 Jadi selain hanya nama file, kita 136 00:06:12,020 --> 00:06:16,240 dapat melihat hak akses file, mereka Kelompok pemilik, nama grup, tanggal 137 00:06:16,240 --> 00:06:18,460 bahwa file terakhir dimodifikasi, dan lain-lain. 138 00:06:18,460 --> 00:06:20,640 Anda dapat melihat banyak hal menggunakan chmod. 139 00:06:20,640 --> 00:06:26,037 Jadi cara yang kita baca chmod adalah bahwa huruf pertama kita cukup banyak mengabaikan 140 00:06:26,037 --> 00:06:27,370 dalam hal izin membaca. 141 00:06:27,370 --> 00:06:31,460 >> Huruf pertama hanya memberitahu kita apa jenis sistem kita mengakses. 142 00:06:31,460 --> 00:06:34,240 d, dalam hal ini, adalah folder atau direktori. 143 00:06:34,240 --> 00:06:38,430 Jadi kita tahu bahwa saat ini ruang kerja saya Bagian tujuh adalah sebuah direktori. 144 00:06:38,430 --> 00:06:41,530 Dan kemudian Anda melihat tiga triad, pada dasarnya hanya 145 00:06:41,530 --> 00:06:43,490 tiga set tiga karakter. 146 00:06:43,490 --> 00:06:45,680 Dan Anda bisa memikirkan setiap sebagai sedikit. 147 00:06:45,680 --> 00:06:49,260 >> Jadi Anda hanya memiliki tiga set tiga bit, sembilan bit secara total. 148 00:06:49,260 --> 00:06:51,420 Anda memperlakukan mereka dalam kelompok tiga. 149 00:06:51,420 --> 00:06:56,230 Jadi kelompok pertama dari tiga adalah selalu izin pengguna Anda. 150 00:06:56,230 --> 00:07:00,557 >> Kelompok kedua Anda tiga adalah selalu akses group Anda. 151 00:07:00,557 --> 00:07:02,765 Dan set ketiga Anda dari tiga selalu seperti dunia, 152 00:07:02,765 --> 00:07:04,380 di mana-mana izin. 153 00:07:04,380 --> 00:07:06,320 Jadi saya kira mudah Pertanyaannya adalah apa yang 154 00:07:06,320 --> 00:07:08,051 perbedaan antara pengguna dan kelompok. 155 00:07:08,051 --> 00:07:09,800 Perbedaan utama antara pengguna dan kelompok 156 00:07:09,800 --> 00:07:13,180 adalah bahwa pengguna hanya Anda pribadi mengakses apapun itu sekarang. 157 00:07:13,180 --> 00:07:18,070 Kelompok A dapat jika Anda memiliki beberapa pengguna pada satu komputer, misalnya. 158 00:07:18,070 --> 00:07:20,280 Semua dari mereka dapat diperlakukan sebagai sebuah kelompok. 159 00:07:20,280 --> 00:07:23,220 >> Dan kemudian dunia adalah hanya dunia, semua orang. 160 00:07:23,220 --> 00:07:31,010 Jadi kita bisa lihat nanti bagaimana kita bisa memodifikasi mereka ke dalam hak akses yang berbeda. 161 00:07:31,010 --> 00:07:33,080 Jadi cukup banyak, kami akan masih fokus 162 00:07:33,080 --> 00:07:38,450 pada bagian di sebelah kiri, di mana untuk direktori CS50 kita lihat drwx, 163 00:07:38,450 --> 00:07:40,970 di mana r hanya berarti itu dibaca. 164 00:07:40,970 --> 00:07:42,620 >> W hanya berarti itu ditulis. 165 00:07:42,620 --> 00:07:45,470 Dan kemudian x hanya berarti itu dieksekusi. 166 00:07:45,470 --> 00:07:47,220 Anda akan berpikir itu semacam dari tidak masuk akal. 167 00:07:47,220 --> 00:07:47,993 Itu harus e. 168 00:07:47,993 --> 00:07:50,150 Tapi x sebenarnya jenis bekerja sedikit lebih baik, 169 00:07:50,150 --> 00:07:51,690 karena Anda dapat mengingatnya lebih baik. 170 00:07:51,690 --> 00:07:56,406 >> Jadi tiga jenis hal yang Anda dapat melakukannya, Anda baik dapat membaca file, 171 00:07:56,406 --> 00:07:59,280 Anda dapat memiliki izin untuk menulis mengajukan, atau Anda bisa memiliki izin 172 00:07:59,280 --> 00:08:00,780 untuk mengeksekusi file. 173 00:08:00,780 --> 00:08:04,580 Dan cara yang kita benar-benar mewakili mereka dalam bit 174 00:08:04,580 --> 00:08:06,940 adalah nomor 4, 2, dan 1. 175 00:08:06,940 --> 00:08:12,870 Jadi apa pun yang dibaca adalah diwakili oleh jumlah 4. 176 00:08:12,870 --> 00:08:15,150 >> Apa pun yang ditulis diwakili oleh 2. 177 00:08:15,150 --> 00:08:18,880 Dan apa pun yang dieksekusi yang diwakili oleh 1. 178 00:08:18,880 --> 00:08:22,860 Jadi dalam hal ini, kita juga bisa mewakili Numbers ini 179 00:08:22,860 --> 00:08:25,281 hi, menyambut, dengan cara yang berbeda. 180 00:08:25,281 --> 00:08:25,780 Maaf. 181 00:08:25,780 --> 00:08:28,510 Sebelum semua orang, aku akan meminta maaf atas nama orang 182 00:08:28,510 --> 00:08:29,468 memasuki kelas sekarang. 183 00:08:29,468 --> 00:08:30,810 Saya lupa permen hari ini. 184 00:08:30,810 --> 00:08:33,640 Maaf aku gagal minggu ini Halloween. 185 00:08:33,640 --> 00:08:37,070 Aku akan membawa dua kali lipat jumlah permen waktu berikutnya untuk membuat untuk itu. 186 00:08:37,070 --> 00:08:42,360 Tapi anyways, maaf tentang itu guys, maaf. 187 00:08:42,360 --> 00:08:46,640 >> Jadi cara yang kita bisa benar-benar masukan pada perintah kami argumen adalah kita 188 00:08:46,640 --> 00:08:51,760 dapat melakukan chmod hak akses kelompok garis miring, di mana kelompok ini hanya apa pun 189 00:08:51,760 --> 00:08:54,130 Kelompok kami mencoba untuk mengubah. 190 00:08:54,130 --> 00:08:56,600 Dan hak akses yang apa pun yang kita ingin menambahkan untuk itu. 191 00:08:56,600 --> 00:08:58,860 Jadi misalnya, ditambah menambahkan izin, 192 00:08:58,860 --> 00:09:01,590 dan kurangi dengan menghapus izin. 193 00:09:01,590 --> 00:09:07,060 >> Dan jenis kelompok kami memiliki kami untuk semua, u bagi pengguna, g untuk kelompok, 194 00:09:07,060 --> 00:09:09,050 atau o untuk orang lain. 195 00:09:09,050 --> 00:09:10,300 Ini sedikit abstrak sekarang. 196 00:09:10,300 --> 00:09:13,550 Tapi kami akan pergi selama beberapa contoh hanya untuk menunjukkan cepat nyata ini. 197 00:09:13,550 --> 00:09:16,960 Semua orang yang baik ini slide, jadi saya bisa melanjutkan? 198 00:09:16,960 --> 00:09:18,280 Keren. 199 00:09:18,280 --> 00:09:21,290 >> Jadi misalnya, rwx. 200 00:09:21,290 --> 00:09:26,720 Sebelum kita berbicara tentang apa yang diwakilinya, pertama-tama apa rwx artinya? 201 00:09:26,720 --> 00:09:31,450 Jika Anda melihat bahwa ini tertentu File memiliki izin dari rwx, 202 00:09:31,450 --> 00:09:34,270 apa artinya itu orang bisa dapat lakukan? 203 00:09:34,270 --> 00:09:35,740 >> AUDIENCE: Baca, menulis dan mengeksekusi. 204 00:09:35,740 --> 00:09:36,420 >> ANDI PENG: Ya, persis. 205 00:09:36,420 --> 00:09:37,840 Anda dapat membaca menulis dan mengeksekusi. 206 00:09:37,840 --> 00:09:40,790 Karena semua tiga dari mereka karakter yang hadir. 207 00:09:40,790 --> 00:09:44,370 Jadi jika kita pergi ke depan dan berbicara tentang hal ini dalam hal bit, 208 00:09:44,370 --> 00:09:48,490 rwx juga dapat direpresentasikan sebagai 700. 209 00:09:48,490 --> 00:09:53,370 Karena seperti yang Anda lihat dalam semacam file izin direktori, 210 00:09:53,370 --> 00:09:54,320 ada tiga triad. 211 00:09:54,320 --> 00:09:58,060 >> Dalam hal ini, hanya yang pertama triad memiliki apa pun di sana. 212 00:09:58,060 --> 00:10:04,050 Jadi dalam hal ini, r adalah 4, w adalah 2, dan x adalah 1. 213 00:10:04,050 --> 00:10:05,860 Jika Anda menambahkan mereka bersama-sama, itu 7. 214 00:10:05,860 --> 00:10:08,730 >> Dan jadi jika Anda mengkonversi itu ke biner, itu 700. 215 00:10:08,730 --> 00:10:10,310 Karena 7 adalah triad pertama. 216 00:10:10,310 --> 00:10:12,760 0, tidak ada yang hadir di triad kedua. 217 00:10:12,760 --> 00:10:15,850 Dan kemudian tidak ada yang hadir di triad ketiga, jadi itu 0 lain. 218 00:10:15,850 --> 00:10:22,520 >> Jadi dalam arti yang sama, sekelompok triad dapat direpresentasikan hanya dalam bit, hanya 219 00:10:22,520 --> 00:10:23,600 dalam biner juga. 220 00:10:23,600 --> 00:10:29,920 Jadi 700 berarti hal yang sama persis seperti rwx ------ dalam hal perizinan. 221 00:10:29,920 --> 00:10:32,590 Semua orang yang jelas tentang itu? 222 00:10:32,590 --> 00:10:33,090 Keren. 223 00:10:33,090 --> 00:10:40,290 Dan chmod 111 akan memberikan yang izin untuk file? 224 00:10:40,290 --> 00:10:42,600 Memberikan kalian beberapa detik untuk mengkonversi ini. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Ingat, pertama triad adalah bagi pengguna. 227 00:10:53,250 --> 00:10:56,320 Triad kedua adalah untuk grup. 228 00:10:56,320 --> 00:10:59,450 Dan triad ketiga adalah untuk semua orang. 229 00:10:59,450 --> 00:11:03,680 >> Dan chmod 111 akan memberikan yang jenis perizinan dan kepada siapa? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Mengambil beberapa detik untuk berpikir tentang hal ini dan kembali. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Ya. 234 00:11:20,910 --> 00:11:22,920 >> AUDIENCE: Jadi semua orang bisa melaksanakannya. 235 00:11:22,920 --> 00:11:23,920 ANDI PENG: Yup, persis. 236 00:11:23,920 --> 00:11:25,544 AUDIENCE: Tapi tidak ada yang bisa membaca atau menulis. 237 00:11:25,544 --> 00:11:27,910 ANDI PENG: Dan merasa bebas untuk menjelaskan kepada semua orang 238 00:11:27,910 --> 00:11:29,860 bagaimana Anda sampai pada kesimpulan itu. 239 00:11:29,860 --> 00:11:34,290 >> AUDIENCE: Nah, untuk pengguna, kelompok, dan dunia, itu semua 1, 240 00:11:34,290 --> 00:11:35,700 yang merupakan kode untuk dieksekusi. 241 00:11:35,700 --> 00:11:37,070 >> ANDI PENG: Ya, persis. 242 00:11:37,070 --> 00:11:42,320 Jadi 1, dalam hal ini, semua kita tahu adalah bahwa itu adalah kode dieksekusi. 243 00:11:42,320 --> 00:11:45,280 Karena membaca adalah 4. 244 00:11:45,280 --> 00:11:45,990 Menulis adalah 2. 245 00:11:45,990 --> 00:11:47,230 Dan dieksekusi adalah 1. 246 00:11:47,230 --> 00:11:51,580 Jadi ini semua tiga triad adalah 1, yang berarti bahwa untuk dunia, untuk pengguna, 247 00:11:51,580 --> 00:11:54,680 dan untuk kelompok, mereka semua executable. 248 00:11:54,680 --> 00:11:56,170 >> Semua orang baik dengan itu? 249 00:11:56,170 --> 00:11:56,940 OKE. 250 00:11:56,940 --> 00:11:59,180 Dan cara kedua bahwa kita benar-benar dapat 251 00:11:59,180 --> 00:12:01,220 menulis ini juga adalah Anda hanya bisa melakukan chmod 252 00:12:01,220 --> 00:12:05,050 plus x. berarti semua atau setiap orang. 253 00:12:05,050 --> 00:12:07,060 Ditambah berarti memberikan izin untuk. 254 00:12:07,060 --> 00:12:09,112 Dan kemudian x berarti dieksekusi. 255 00:12:09,112 --> 00:12:11,070 Jadi ada dua perintah sebenarnya identik. 256 00:12:11,070 --> 00:12:12,903 Jadi jika Anda ingin menjalankan ini di dalam terminal, 257 00:12:12,903 --> 00:12:15,830 Anda lakukan chmod 111, nama direktori atau file Anda. 258 00:12:15,830 --> 00:12:18,520 Atau Anda dapat melakukan chmod plus x, nama file direktori Anda. 259 00:12:18,520 --> 00:12:22,150 Hal yang sama, hanya cara yang lebih mudah, mungkin, untuk beberapa untuk mewakili atau perubahan 260 00:12:22,150 --> 00:12:24,280 hak akses file. 261 00:12:24,280 --> 00:12:28,806 >> Setiap satu OK dengan chmod sebelum kita melanjutkan? 262 00:12:28,806 --> 00:12:31,700 Keren. 263 00:12:31,700 --> 00:12:35,336 Jadi sekarang kita akan menuju ke beberapa slide konsep yang sangat abstrak 264 00:12:35,336 --> 00:12:37,210 bahwa aku cukup banyak akan angin melalui. 265 00:12:37,210 --> 00:12:39,530 Dan itu benar-benar OK jika Anda tidak mengerti segalanya. 266 00:12:39,530 --> 00:12:42,330 >> Bahkan sekarang, aku masih tidak benar-benar memahami segala sesuatu sepenuhnya. 267 00:12:42,330 --> 00:12:44,640 Tapi lebih untuk mendapatkan pemahaman tingkat atas 268 00:12:44,640 --> 00:12:47,280 bagaimana beberapa hal bekerja. 269 00:12:47,280 --> 00:12:50,490 Jadi kita akan berbicara cepat tentang TCP / IP, 270 00:12:50,490 --> 00:12:54,880 yang hanya Transmission Control Protokol memangkas Internet Protocol. 271 00:12:54,880 --> 00:12:57,135 >> Ingat dari kuliah, David, dia mengajarkan 272 00:12:57,135 --> 00:13:00,700 contoh di mana ia lulus catatan dalam amplop 273 00:13:00,700 --> 00:13:02,790 up seperti bagian atas ruang kuliah? 274 00:13:02,790 --> 00:13:06,990 Jadi di auditorium sekolah hukum David menunjukkan dasarnya 275 00:13:06,990 --> 00:13:10,370 bagaimana TCP / IP bekerja di arti bahwa semua itu 276 00:13:10,370 --> 00:13:14,300 adalah adalah cara untuk memastikan bahwa data telah disampaikan di server 277 00:13:14,300 --> 00:13:15,870 atau di internet. 278 00:13:15,870 --> 00:13:22,270 Jadi dalam contoh amplop dan pesan, pengguna di akhir 279 00:13:22,270 --> 00:13:26,410 bisa melihat bahwa, oh, saya perlu menerima empat paket informasi. 280 00:13:26,410 --> 00:13:28,096 >> Tapi saya sebenarnya hanya menerima tiga. 281 00:13:28,096 --> 00:13:29,470 Itu berarti saya harus kehilangan satu. 282 00:13:29,470 --> 00:13:30,760 Dan satu tidak disampaikan. 283 00:13:30,760 --> 00:13:33,990 Dan TCP / IP di internet, melalui komputer Anda dan server, 284 00:13:33,990 --> 00:13:35,500 melakukan hal yang sama persis. 285 00:13:35,500 --> 00:13:38,900 Semua hal ini adalah menentukan kerangka di mana data yang hilang 286 00:13:38,900 --> 00:13:41,100 paket dapat membenci dan diterima. 287 00:13:41,100 --> 00:13:44,760 >> Seperti di internet ketika Anda mencoba untuk mengakses file secara online atau mengirim file 288 00:13:44,760 --> 00:13:48,210 ke teman Anda atau melihat web browser, ribuan 289 00:13:48,210 --> 00:13:50,440 miliaran dan miliaran dari byte informasi 290 00:13:50,440 --> 00:13:52,840 ditransfer per milidetik. 291 00:13:52,840 --> 00:13:54,560 Dan itu benar-benar, benar-benar membingungkan. 292 00:13:54,560 --> 00:13:57,110 Dan itu benar-benar sulit untuk benar-benar tahu apa yang telah dikirim 293 00:13:57,110 --> 00:13:58,270 dan apa yang belum dikirim. 294 00:13:58,270 --> 00:14:02,210 >> Dan TCP / IP hanya menetapkan kerangka kohesif 295 00:14:02,210 --> 00:14:04,115 di mana web Anda browser dan server Anda 296 00:14:04,115 --> 00:14:05,990 dapat jenis berkomunikasi satu sama lain, hanya 297 00:14:05,990 --> 00:14:08,550 memastikan bahwa paket yang semua di sini dan tidak ada yang hilang 298 00:14:08,550 --> 00:14:12,700 dan semua data yang Anda minta sebenarnya tampil sebagaimana mestinya. 299 00:14:12,700 --> 00:14:16,350 Semua orang OK pada hal itu sangat tingkat tinggi singkat mengerti? 300 00:14:16,350 --> 00:14:18,510 Keren. 301 00:14:18,510 --> 00:14:21,550 >> Jadi kita akan pindah dalam berbicara tentang HTTP, yang 302 00:14:21,550 --> 00:14:24,610 hanya Hypertext Transfer Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, semua itu adalah apa setiap halaman atau file diakses di website Anda, 304 00:14:32,550 --> 00:14:35,810 server mengembalikan sebuah HTTP kode status respon 305 00:14:35,810 --> 00:14:39,869 permintaan tersebut memastikan bahwa baik, oh, permintaan ini pergi melalui. 306 00:14:39,869 --> 00:14:41,410 Dan semuanya ditampilkan dengan benar. 307 00:14:41,410 --> 00:14:43,500 Atau, oh, tidak, 404. 308 00:14:43,500 --> 00:14:44,730 Ada yang salah. 309 00:14:44,730 --> 00:14:45,940 Oh, aku tidak bisa ditampilkan. 310 00:14:45,940 --> 00:14:50,370 >> Semua itu adalah bahwa apa pun Anda mencoba untuk mengakses, 311 00:14:50,370 --> 00:14:55,160 digunakan sebagai pengguna mencoba untuk mengakses, pada internet-- hanya memastikan 312 00:14:55,160 --> 00:15:00,080 bahwa Anda juga harus berhasil diakses apa pun itu atau tidak 313 00:15:00,080 --> 00:15:02,080 berhasil diakses apa pun itu. 314 00:15:02,080 --> 00:15:05,120 Dan status HTTP kode hanya menyediakan 315 00:15:05,120 --> 00:15:09,910 sarana untuk dapat mengetahui apakah atau tidak itu berhasil atau tidak. 316 00:15:09,910 --> 00:15:13,440 Jadi misalnya, permintaan contoh. 317 00:15:13,440 --> 00:15:16,050 >> Anda bisa lihat di sini itu biasanya biasanya empat baris. 318 00:15:16,050 --> 00:15:22,530 Kami memiliki GET HTTP 1.1, yang hanya URL permintaan metode, protokol 319 00:15:22,530 --> 00:15:24,490 versi, nama field, dan nilai lapangan. 320 00:15:24,490 --> 00:15:26,810 Jadi tidak perlu benar-benar menghafal apa pun di sini. 321 00:15:26,810 --> 00:15:29,960 Hanya jenis membiasakan diri Anda dengan cara ini terlihat. 322 00:15:29,960 --> 00:15:34,060 >> Dalam contoh ini, permintaan metode URL hanya permintaan apapun 323 00:15:34,060 --> 00:15:35,620 Anda mengirim server. 324 00:15:35,620 --> 00:15:40,710 Seperti, hey, server, saya benar-benar ingin Akses yadda, yadda, yadda, halaman HTTP. 325 00:15:40,710 --> 00:15:43,785 Versi protokol hanya apa pun versi host atau server Anda 326 00:15:43,785 --> 00:15:45,490 menggunakan untuk mengakses informasi. 327 00:15:45,490 --> 00:15:49,510 >> Nama field adalah situs atau URL yang Anda mencoba untuk mengakses, 328 00:15:49,510 --> 00:15:52,610 dalam kasus ini, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Dan nilai lapangan hanya biasanya nama, nilai. 330 00:15:56,110 --> 00:15:59,540 Dan dapat apapun kombinasi huruf atau angka atau apa pun. 331 00:15:59,540 --> 00:16:02,890 >> Jadi permintaan yang khas, sehingga apa komputer Anda benar-benar 332 00:16:02,890 --> 00:16:08,400 mengirimkan ke server yang mengatakan, hei, Anda tahu apa yang saya butuhkan ini ditampilkan, 333 00:16:08,400 --> 00:16:13,000 itulah jenis permintaan bahwa mereka benar-benar menerima. 334 00:16:13,000 --> 00:16:16,760 Respon contoh dari apa yang Server akan mengirimkan kembali kepada Anda 335 00:16:16,760 --> 00:16:20,320 akan cukup banyak hal yang sama, kecuali dengan kode status di bagian atas. 336 00:16:20,320 --> 00:16:24,550 Jadi 200, 2 0 0 selalu status kode untuk OK. 337 00:16:24,550 --> 00:16:26,050 Seperti, OK, permintaan ini pergi melalui. 338 00:16:26,050 --> 00:16:27,980 Anda dapat mengakses semuanya dengan benar. 339 00:16:27,980 --> 00:16:28,810 Hidup adalah baik. 340 00:16:28,810 --> 00:16:29,990 Hidup baik-baik saja. 341 00:16:29,990 --> 00:16:32,150 Semuanya benar-benar baik. 342 00:16:32,150 --> 00:16:36,050 >> Dan jadi ini hanya memberitahu browser Anda dan server Anda, hey, semuanya baik. 343 00:16:36,050 --> 00:16:37,470 Aku punya semua informasi yang saya butuhkan. 344 00:16:37,470 --> 00:16:39,160 Keren. 345 00:16:39,160 --> 00:16:41,790 Tapi masalahnya adalah kadang-kadang masalah muncul 346 00:16:41,790 --> 00:16:46,850 ketika Anda have-- bertahan saya pikir Saya berbicara tentang duplikat. 347 00:16:46,850 --> 00:16:48,870 Anda memiliki tanggapan kurang bagus. 348 00:16:48,870 --> 00:16:52,660 >> Jadi misalnya, 404 adalah Halaman Tidak Ditemukan. 349 00:16:52,660 --> 00:16:54,897 Anda kadang-kadang memiliki akses Terlarang. 350 00:16:54,897 --> 00:16:56,730 Anda memiliki berbagai lainnya kode status bahwa aku 351 00:16:56,730 --> 00:16:59,688 Pastikan Anda semua pernah melihat ketika Anda mencoba untuk melakukan penelitian di internet. 352 00:16:59,688 --> 00:17:02,300 Dan browser Anda memberi Anda , tidak ada, tidak dapat mengakses. 353 00:17:02,300 --> 00:17:04,190 Dan Anda seperti, baik, omong kosong. 354 00:17:04,190 --> 00:17:09,260 >> Jadi hanya cukup banyak, ada beberapa kode status yang cukup umum. 355 00:17:09,260 --> 00:17:14,109 Mungkin membiasakan diri dengan yang mana saja itu. 356 00:17:14,109 --> 00:17:16,000 Satu paling lucu yang Saya pikir saya sudah pernah mendengar 357 00:17:16,000 --> 00:17:18,040 of-- jika Anda kebetulan mencari semua dari mereka 358 00:17:18,040 --> 00:17:21,490 online, untuk beberapa alasan ada sebenarnya kode status real 359 00:17:21,490 --> 00:17:26,619 disebut 418 Aku teko. 360 00:17:26,619 --> 00:17:29,610 >> Aku googled mana asal ini dari. 361 00:17:29,610 --> 00:17:33,150 Dan rupanya April Fools satu ' Hari beberapa dekade yang lalu, 362 00:17:33,150 --> 00:17:36,415 seseorang berpikir akan lucu untuk membuat kode status baru yang disebut 418 363 00:17:36,415 --> 00:17:37,380 Aku teko. 364 00:17:37,380 --> 00:17:40,760 Sah, nama ini Kode disebut aku teko. 365 00:17:40,760 --> 00:17:43,670 >> Saya lupa apa halaman Anda harus pergi untuk benar-benar membuat tampilan ini. 366 00:17:43,670 --> 00:17:47,955 Tapi rupanya, Anda benar-benar bisa mendapatkan kode status saya 367 00:17:47,955 --> 00:17:51,400 Poci entah bagaimana melalui melakukan sesuatu. 368 00:17:51,400 --> 00:17:54,480 Jadi ada ratusan dan ratusan kode status. 369 00:17:54,480 --> 00:17:56,730 >> Beberapa dari mereka membuat lebih banyak akal daripada yang lain. 370 00:17:56,730 --> 00:18:01,430 Tapi cukup banyak hanya membiasakan diri dengan yang paling umum. 371 00:18:01,430 --> 00:18:04,090 Tubuh entitas yang diminta pendek dan gemuk, rupanya. 372 00:18:04,090 --> 00:18:07,990 >> Jadi kadang-kadang ada lebih kesalahan menakutkan daripada aku teko. 373 00:18:07,990 --> 00:18:11,210 Tapi ini adalah salah satu yang saya kira Anda jenis berharap untuk memukul. 374 00:18:11,210 --> 00:18:14,130 Tapi saya tidak berpikir Anda akan. 375 00:18:14,130 --> 00:18:17,260 Semua orang baik hanya pada Status Kode, permintaan, proses, pembuatan 376 00:18:17,260 --> 00:18:19,155 Informasi yakin disampaikan benar? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Jadi sekarang kita akan transisi menjadi dari bagian yang menyenangkan dari bagian hari ini, 379 00:18:26,120 --> 00:18:28,500 di mana kita berbicara sedikit tentang HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, semua itu adalah HyperText Bahasa markup. 381 00:18:32,580 --> 00:18:35,160 Itu hanya bahasa standar Anda gunakan untuk membuat semua web 382 00:18:35,160 --> 00:18:36,690 halaman di internet. 383 00:18:36,690 --> 00:18:39,560 >> Jadi setiap halaman web, apa Halaman web favorit Anda? 384 00:18:39,560 --> 00:18:40,855 Apa halaman web favorit Anda? 385 00:18:40,855 --> 00:18:41,771 >> AUDIENCE: [tidak terdengar]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: Maaf? 388 00:18:43,090 --> 00:18:43,980 >> AUDIENCE: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI PENG: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Jadi Tumblr ditulis dalam HTML. 391 00:18:46,800 --> 00:18:50,700 Dan jadi kita benar-benar akan pergi melalui dan bermain-main dengan beberapa hal-hal ini 392 00:18:50,700 --> 00:18:51,980 kemudian. 393 00:18:51,980 --> 00:18:54,980 Hampir semua yang Anda perlu belajar, tahu, 394 00:18:54,980 --> 00:18:58,540 untuk menulis HTML Anda mungkin bisa hanya Google di internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, itu bukan program seperti C di mana Anda dapat membuat variabel dan melakukan 396 00:19:04,490 --> 00:19:05,600 hal keren dengan itu. 397 00:19:05,600 --> 00:19:08,747 Ini lebih dari hanya, oh, ini adalah bagaimana saya ingin hal yang muncul di website saya. 398 00:19:08,747 --> 00:19:10,080 Dan aku hanya akan memasukkannya ke dalam. 399 00:19:10,080 --> 00:19:12,160 Dan itu akan gaya itu. 400 00:19:12,160 --> 00:19:15,650 >> Jadi HTML, dalam arti, itu hanya seperti suatu format atau template bahasa. 401 00:19:15,650 --> 00:19:16,680 Ini jauh lebih mudah. 402 00:19:16,680 --> 00:19:19,030 Ini jauh lebih mudah untuk belajar, banyak lebih mudah untuk menulis di 403 00:19:19,030 --> 00:19:21,450 dari pemrograman khas Anda bahasa, sangat mudah, 404 00:19:21,450 --> 00:19:24,310 sangat user diakses dan ramah. 405 00:19:24,310 --> 00:19:29,040 >> Jadi kita benar-benar akan memainkan sekitar, menulis halaman kita sendiri hari ini. 406 00:19:29,040 --> 00:19:32,900 Tapi sebelum kita mulai, saya hanya ingin membahas beberapa praktek terbaik yang singkat. 407 00:19:32,900 --> 00:19:35,660 Karena HTML adalah sebuah mudah bahasa dan karena bahkan 408 00:19:35,660 --> 00:19:39,012 jika Anda melakukan beberapa hal yang salah, kadang-kadang mungkin tidak melihat, 409 00:19:39,012 --> 00:19:41,970 kami ingin memastikan bahwa kami sebenarnya mengikuti praktik terbaik kami 410 00:19:41,970 --> 00:19:44,490 memastikan bahwa hal-hal yang bisa terjadi di sekitar tapi 411 00:19:44,490 --> 00:19:49,660 tidak selalu akan tidak pergi ke kanan memastikan bahwa mereka diminimalkan. 412 00:19:49,660 --> 00:19:53,570 >> Jadi cukup banyak, pastikan menutup semua tag Anda Anda 413 00:19:53,570 --> 00:19:54,737 ketika Anda sedang menulis dalam HTML. 414 00:19:54,737 --> 00:19:56,486 Jika Anda membuka tubuh, pastikan Anda 415 00:19:56,486 --> 00:19:58,015 menutupnya dengan tubuh suatu tempat. 416 00:19:58,015 --> 00:20:00,720 Anda ingin memastikan bahwa Anda Halaman web memvalidasi dengan menggunakan 417 00:20:00,720 --> 00:20:02,070 apa yang disebut W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Anda bisa hanya Google yang online, dan ada link untuk itu. 419 00:20:05,460 --> 00:20:07,820 >> Dan kemudian Anda ingin terpisah HTML, yang 420 00:20:07,820 --> 00:20:13,060 adalah bahasa markup Anda dari gaya Anda, yang merupakan bahasa CSS yang David 421 00:20:13,060 --> 00:20:17,510 menunjukkan bahwa kita juga akan bermain sedikit dengan kuliah. 422 00:20:17,510 --> 00:20:19,120 Keren. 423 00:20:19,120 --> 00:20:23,500 Jadi kapan saja Anda ingin menjalankan HTML pada alat CS50, 424 00:20:23,500 --> 00:20:26,240 kita akan menjalankan program yang disebut apache, 425 00:20:26,240 --> 00:20:29,810 yang semua itu hanya dibangun di web server yang semua orang di CS50 426 00:20:29,810 --> 00:20:31,410 memiliki akses ke. 427 00:20:31,410 --> 00:20:35,700 Kami menyebutnya apache50 hanya karena kita suka menyebutnya semuanya 50 di CS50. 428 00:20:35,700 --> 00:20:39,610 >> Jadi cara yang Anda memulai web CS50 server dengan mengetikkan pada perintah Anda 429 00:20:39,610 --> 00:20:42,860 baris apache50 mulai dot. 430 00:20:42,860 --> 00:20:46,665 Dan jika Anda ingin mengakhirinya setiap waktu, Anda apache50 berakhir tidak ada dot. 431 00:20:46,665 --> 00:20:47,910 Dan Anda hanya tekan Enter. 432 00:20:47,910 --> 00:20:50,810 Dan itu harus menuju ke sini segera. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Oke. 435 00:20:54,130 --> 00:20:58,110 Jadi aku hanya akan cepat pergi contoh halaman web yang benar-benar singkat. 436 00:20:58,110 --> 00:21:00,280 Dan kita akan menghabiskan seperti 10, 15 menit bermain 437 00:21:00,280 --> 00:21:04,008 sekitar menulis halaman web kita sendiri. 438 00:21:04,008 --> 00:21:05,320 OKE. 439 00:21:05,320 --> 00:21:07,841 Jadi di sini di IDE-- yang bisa semua orang melihat itu? 440 00:21:07,841 --> 00:21:08,340 Tidak juga. 441 00:21:08,340 --> 00:21:11,400 Di sini, saya akan memperbesar. 442 00:21:11,400 --> 00:21:15,850 >> Aku hanya punya template yang singkat ini di sini dengan tidak benar-benar di dalamnya. 443 00:21:15,850 --> 00:21:20,660 Kami hanya akan cepat menulis program HTML di mana kita hanya 444 00:21:20,660 --> 00:21:22,050 menyapa dunia. 445 00:21:22,050 --> 00:21:24,970 Hal sehingga sama seperti di C, sekarang kita hanya akan melakukannya dalam HTML. 446 00:21:24,970 --> 00:21:28,250 Apakah ada yang ingin benar-benar hanya mencoba memberi saya hal pertama yang Anda 447 00:21:28,250 --> 00:21:31,870 harus dimasukkan ke dalam dokumen HTML? 448 00:21:31,870 --> 00:21:32,850 Ya. 449 00:21:32,850 --> 00:21:35,965 >> AUDIENCE: The kurung, yang [tidak terdengar]. 450 00:21:35,965 --> 00:21:36,590 ANDI PENG: Yep. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Jadi sesuatu yang sangat unik untuk HTML yang kita biasanya secara tradisional 453 00:21:50,930 --> 00:21:56,080 tidak menemukan dalam perintah lainnya bahasa pemrograman tingkat baris 454 00:21:56,080 --> 00:21:59,890 adalah bahwa kita benar-benar untuk menentukan jenis file 455 00:21:59,890 --> 00:22:01,987 bahwa ini akan menjadi di bagian atas kode kita. 456 00:22:01,987 --> 00:22:04,570 Jadi dalam instance-- ini saya pikir itulah perintah yang tepat, benar? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Oke. 459 00:22:10,550 --> 00:22:14,860 Di bagian atas, Anda hanya ingin memasukkan Bang DOCTYPE html dalam kurung hanya 460 00:22:14,860 --> 00:22:17,670 untuk memberitahu komputer Anda, hey, melihat keluar. 461 00:22:17,670 --> 00:22:20,050 Dan dokumen HTML akan datang. 462 00:22:20,050 --> 00:22:22,250 Dan kemudian bagaimana kita ingin untuk memulai file kita? 463 00:22:22,250 --> 00:22:25,540 Jika kita hanya ingin menyapa, memiliki Halaman web yang menyapa dunia, 464 00:22:25,540 --> 00:22:26,915 bagaimana kita pergi tentang membangun ini? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> Sebenarnya, mari kita beralih ke Google. 467 00:22:35,300 --> 00:22:36,910 Dan kita benar-benar bisa melakukan ini. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Oke. 470 00:22:43,670 --> 00:22:44,840 Di sana kami pergi. 471 00:22:44,840 --> 00:22:47,630 Jadi HTML. 472 00:22:47,630 --> 00:22:52,390 Seperti yang Anda lihat, browser saya sebenarnya otomatis styling ini bagi saya. 473 00:22:52,390 --> 00:22:56,010 >> Hal yang sama seperti di C, ketika Anda membuat penjepit keriting terbuka, 474 00:22:56,010 --> 00:22:59,020 browser Anda secara otomatis menambahkan dalam penjepit keriting dekat. 475 00:22:59,020 --> 00:23:02,210 Untungnya, IDE kami suka melakukan ini untuk kita juga. 476 00:23:02,210 --> 00:23:05,490 Jadi sekarang kita bisa jenis mengetik awal tag, 477 00:23:05,490 --> 00:23:09,139 dan itu akan selalu memberitahu kita untuk ingat untuk mengetik akhir tag. 478 00:23:09,139 --> 00:23:10,680 Saya pikir ini perlu dikapitalisasi. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Dan kemudian kita ingin menambahkan, selalu, kepala di yang judul. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Kami hanya ingin mungkin memanggil halo ini, dan kemudian tubuh. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Dan di sana Anda pergi. 485 00:23:36,310 --> 00:23:39,650 Itu sebenarnya dokumen HTML kita. 486 00:23:39,650 --> 00:23:45,030 Jadi cara bahwa setiap dokumen HTML selalu bergaya in-- hal yang sama 487 00:23:45,030 --> 00:23:46,720 dengan int void main. 488 00:23:46,720 --> 00:23:49,600 Anda selalu ingin memiliki HTML tag membuka dan menutup 489 00:23:49,600 --> 00:23:52,100 di bagian atas dan bawah dari kode Anda. 490 00:23:52,100 --> 00:23:56,900 >> Anda ingin memiliki kepala di dalam yang berisi judul, hanya apa pun 491 00:23:56,900 --> 00:24:01,430 akan menampilkan tab dari web Anda Halaman, dan kemudian tubuh dalam yang 492 00:24:01,430 --> 00:24:04,120 benar-benar akan menampilkan konten dari apa pun yang Anda ingin lakukan. 493 00:24:04,120 --> 00:24:08,220 Jadi jika Anda ingin benar-benar menjalankan ini, saya akan tampilannya kembali keluar. 494 00:24:08,220 --> 00:24:12,740 Anda benar-benar dapat mulai apache50 mulai dot. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Keren. 497 00:24:16,150 --> 00:24:18,980 Dan seperti yang Anda lihat, sekarang link ini telah muncul. 498 00:24:18,980 --> 00:24:21,940 Ia mengatakan situs Anda sekarang tersedia di beberapa link di bawah ini. 499 00:24:21,940 --> 00:24:25,910 Jadi semua IDE kami memiliki done-- tidak IDE, sorry-- yeah, 500 00:24:25,910 --> 00:24:33,280 IDE kami telah dilakukan adalah membuat web Link yang di atasnya semua halaman web kami 501 00:24:33,280 --> 00:24:35,407 dapat diakses pada server. 502 00:24:35,407 --> 00:24:36,490 Jadi mari kita lihat di sini. 503 00:24:36,490 --> 00:24:40,240 >> Mari klik ini, pergi ke hello.html. 504 00:24:40,240 --> 00:24:42,895 Dan Anda melihat sangat sederhana Halaman web untuk hello world. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 OKE. 507 00:24:47,420 --> 00:24:50,513 Kami benar-benar akan hanya memiliki everyone-- ya, ada apa? 508 00:24:50,513 --> 00:24:52,353 >> AUDIENCE: Saya punya pertanyaan dasar. 509 00:24:52,353 --> 00:24:52,978 ANDI PENG: Yup. 510 00:24:52,978 --> 00:24:58,064 AUDIENCE: Bagaimana Anda menyimpan file Anda sebagai HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI PENG: Ya. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Jadi jika saya harus membuat file baru, jika saya lakukan New File, Untittle, jika saya lakukan, 514 00:25:10,820 --> 00:25:14,390 section.html, booming, itu semua saya harus lakukan. 515 00:25:14,390 --> 00:25:15,363 >> AUDIENCE: [tidak terdengar]? 516 00:25:15,363 --> 00:25:15,946 ANDI PENG: No. 517 00:25:15,946 --> 00:25:16,660 AUDIENCE: [tidak terdengar]. 518 00:25:16,660 --> 00:25:17,240 ANDI PENG: No. 519 00:25:17,240 --> 00:25:18,156 AUDIENCE: [tidak terdengar]. 520 00:25:18,156 --> 00:25:19,110 ANDI PENG: Ya. 521 00:25:19,110 --> 00:25:24,300 Cukup banyak, ekstensi pada file yang ada di dalam IDE Anda, 522 00:25:24,300 --> 00:25:27,840 yang memberitahu komputer, yang memberitahu browser, hey, melihat keluar. 523 00:25:27,840 --> 00:25:30,480 Ini akan menjadi kode ditulis dalam bahasa ini. 524 00:25:30,480 --> 00:25:34,240 Jadi misalnya, di Microsoft Kata, apa yang dilakukan semua dokumen Word 525 00:25:34,240 --> 00:25:37,070 diakhiri dengan, ekstensi apa? 526 00:25:37,070 --> 00:25:39,830 .doc atau .docx, kan? 527 00:25:39,830 --> 00:25:42,299 >> Semua yang dilakukan adalah menspesifikasikan untuk Anda sistem operasi, hey, 528 00:25:42,299 --> 00:25:43,840 Anda punya dokumen Word datang. 529 00:25:43,840 --> 00:25:44,940 Buka dengan Word. 530 00:25:44,940 --> 00:25:46,955 Hal yang sama dengan PDF. 531 00:25:46,955 --> 00:25:49,650 Ia tahu, oh, saya perlu untuk membuka file ini 532 00:25:49,650 --> 00:25:52,020 dengan Adobe Reader atau Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Dan ekstensi mengoperasikan cara yang sama seperti di komputer Anda. 534 00:25:56,130 --> 00:26:00,750 Jika Anda menentukan halaman kode Anda diberi nama HTML, maka ia tahu, 535 00:26:00,750 --> 00:26:01,880 oh, Anda punya kode HTML. 536 00:26:01,880 --> 00:26:04,890 Aku akan memperlakukannya sebagai kode html. 537 00:26:04,890 --> 00:26:06,600 Jadi itu super pintar dalam arti itu. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Jadi semua orang, mari kita seperti 10 menit dan hanya membuat website kita sendiri. 540 00:26:18,730 --> 00:26:21,020 Mari kita tambahkan dalam hal indah. 541 00:26:21,020 --> 00:26:23,440 Jangan ragu untuk mengatakan apa pun yang Anda inginkan. 542 00:26:23,440 --> 00:26:27,890 Aku hanya ingin memastikan bahwa server semua orang yang berjalan dengan benar 543 00:26:27,890 --> 00:26:31,220 sebelum kita membebaskan Anda ke pset tersebut. 544 00:26:31,220 --> 00:26:33,490 Karena jika server Anda tidak menjalankan untuk pset tersebut, 545 00:26:33,490 --> 00:26:34,847 yang akan benar-benar, benar-benar buruk. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Aku hanya akan melayang dan melihat apa semua orang bekerja pada. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Bagaimana kabarmu? 550 00:27:27,590 --> 00:27:29,048 >> AUDIENCE: Saya hanya menyalakan komputer saya. 551 00:27:29,048 --> 00:27:29,923 >> ANDI PENG: Itu OK. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> AUDIENCE: [tidak terdengar]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI PENG: Hanya IDE Anda. 555 00:27:44,284 --> 00:27:44,784 Ya. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> AUDIENCE: [tidak terdengar]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI PENG: Ini OK. 559 00:27:57,590 --> 00:27:59,491 >> AUDIENCE: [tidak terdengar]. 560 00:27:59,491 --> 00:28:00,490 ANDI PENG: Benar-benar baik-baik saja. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Apakah semua orang mengakses web server mereka OK? 563 00:28:51,530 --> 00:28:52,970 Apakah apache50 berjalan OK? 564 00:28:52,970 --> 00:28:54,700 Saya pikir di beberapa bagian lain, kita 565 00:28:54,700 --> 00:28:58,790 memiliki masalah dengan orang-orang tidak dapat mengakses server. 566 00:28:58,790 --> 00:28:59,290 Ya. 567 00:28:59,290 --> 00:29:05,764 Jadi Anda hanya menjalankan apache50 ruang mulai periode ruang. 568 00:29:05,764 --> 00:29:06,680 AUDIENCE: [tidak terdengar]. 569 00:29:06,680 --> 00:29:07,610 ANDI PENG: Yup. 570 00:29:07,610 --> 00:29:08,294 Baik? 571 00:29:08,294 --> 00:29:09,210 >> AUDIENCE: [tidak terdengar]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI PENG: Oh, OK. 574 00:29:13,350 --> 00:29:14,808 Jadi Anda seharusnya memiliki ruang. 575 00:29:14,808 --> 00:29:15,425 Jadi apache50-- 576 00:29:15,425 --> 00:29:16,115 >> AUDIENCE: saya lakukan. 577 00:29:16,115 --> 00:29:17,661 >> ANDI PENG: ruang --start. 578 00:29:17,661 --> 00:29:18,660 AUDIENCE: Oh, ruang dot. 579 00:29:18,660 --> 00:29:20,110 ANDI PENG: Yup, ruang dot. 580 00:29:20,110 --> 00:29:23,230 Ini dia. 581 00:29:23,230 --> 00:29:25,490 Jadi jika Anda memiliki halaman HTML dibuat, 582 00:29:25,490 --> 00:29:28,560 maka Anda hanya dapat pergi langsung untuk link yang menentukan. 583 00:29:28,560 --> 00:29:30,539 Dan Anda harus dapat mengaksesnya. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Semua orang bisa mengakses halaman web mereka OK? 586 00:29:37,876 --> 00:29:39,339 >> AUDIENCE: [tidak terdengar]. 587 00:29:39,339 --> 00:29:40,380 ANDI PENG: Oh, itu OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> AUDIENCE: [tidak terdengar]. 590 00:29:44,964 --> 00:29:45,630 ANDI PENG: Ya. 591 00:29:45,630 --> 00:29:48,171 Saya pikir Anda benar-benar dapat membuka itu dalam browser Anda, peramban 592 00:29:48,171 --> 00:29:49,955 dan tidak hanya browser IDE Anda. 593 00:29:49,955 --> 00:29:51,580 Ya, saya pikir jika Anda copy dan paste. 594 00:29:51,580 --> 00:29:53,920 >> AUDIENCE: Dan kemudian bagaimana kita mematikannya? 595 00:29:53,920 --> 00:29:54,590 [Tidak terdengar] 596 00:29:54,590 --> 00:29:58,720 >> ANDI PENG: Ya, Anda lakukan apache50 berhenti tanpa periode. 597 00:29:58,720 --> 00:29:59,220 Oke. 598 00:29:59,220 --> 00:30:01,180 >> AUDIENCE: [tidak terdengar]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI PENG: Dengan tidak periode. 600 00:30:02,768 --> 00:30:04,051 Ya. 601 00:30:04,051 --> 00:30:04,550 Di sana kami pergi. 602 00:30:04,550 --> 00:30:05,050 Oke. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Kami membuat halaman web kita sendiri. 605 00:30:09,855 --> 00:30:10,646 >> AUDIENCE: Oh, keren. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI PENG: Ya. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> AUDIENCE: Saya punya pertanyaan. 610 00:30:22,420 --> 00:30:25,294 Jadi apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI PENG: 50, ya. 612 00:30:26,731 --> 00:30:28,168 >> AUDIENCE: [tidak terdengar]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI PENG: Apa? 614 00:30:29,130 --> 00:30:29,750 Itu aneh. 615 00:30:29,750 --> 00:30:32,244 Lihat, itu semacam masalah yang terjadi sebelumnya. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 OKE. 618 00:30:38,730 --> 00:30:39,800 Lihat saya setelah bagian. 619 00:30:39,800 --> 00:30:42,320 Karena kita memiliki beberapa masalah dengan server. 620 00:30:42,320 --> 00:30:44,325 >> Dan Anda ingin Pastikan bahwa server Anda 621 00:30:44,325 --> 00:30:45,700 berjalan sebelum memulai pset tersebut. 622 00:30:45,700 --> 00:30:47,800 Karena Anda akan membutuhkannya. 623 00:30:47,800 --> 00:30:48,300 Ya. 624 00:30:48,300 --> 00:30:51,299 Apakah ada orang lain yang belum bisa mendapatkan server mereka untuk memulai? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Bagi Anda yang ingin menambah gaya tambahan untuk halaman web Anda, 627 00:31:17,840 --> 00:31:20,450 kita benar-benar bisa melakukan apa Daud dalam kuliah juga, 628 00:31:20,450 --> 00:31:24,070 yang membuat gaya tambahan lembar, yang merupakan titik CSS, Cascading 629 00:31:24,070 --> 00:31:30,080 Style Sheet dan benar-benar hanya menambahkannya di. 630 00:31:30,080 --> 00:31:33,550 Jadi misalnya, Aku baru saja menciptakan cukup banyak hampir satu sama 631 00:31:33,550 --> 00:31:37,180 David lakukan di perkuliahan. 632 00:31:37,180 --> 00:31:39,220 Anda dapat cukup banyak hanya melakukan tubuh. 633 00:31:39,220 --> 00:31:45,980 >> Anda memiliki apa yang disebut tag di mana Anda dapat mengajukan permohonan untuk IDE bagian apapun 634 00:31:45,980 --> 00:31:48,650 Anda inginkan dalam Anda sebenarnya untuk halaman HTML. 635 00:31:48,650 --> 00:31:54,890 Jadi tubuh halaman, Anda dapat melakukan pusat menyelaraskan teks. 636 00:31:54,890 --> 00:31:58,110 Dan kemudian aku akan kreatif tag disebut top dalam 637 00:31:58,110 --> 00:32:01,860 yang saya ingin hal ini terjadi, menetapkan ukuran piksel yang lebih besar 638 00:32:01,860 --> 00:32:03,104 untuk font. 639 00:32:03,104 --> 00:32:04,520 Saya ingin berat font untuk berani. 640 00:32:04,520 --> 00:32:06,478 Dan saya ingin warna untuk biru, hanya sewenang-wenang 641 00:32:06,478 --> 00:32:08,570 nilai-nilai yang saya memutuskan untuk memilih. 642 00:32:08,570 --> 00:32:10,870 Saya dapat membuat tag lain yang disebut tengah. 643 00:32:10,870 --> 00:32:12,640 Ukuran font, membuatnya sedikit lebih kecil. 644 00:32:12,640 --> 00:32:17,730 Dan kemudian saya dapat membuat tag lain disebut bawah di mana saya ingin ukuran font 645 00:32:17,730 --> 00:32:20,900 menjadi lebih kecil masih. 646 00:32:20,900 --> 00:32:25,630 >> Dan jadi cukup banyak ini hanya contoh kode sumber atau sumber style sheets 647 00:32:25,630 --> 00:32:27,400 bahwa itu sangat mudah untuk hanya Google. 648 00:32:27,400 --> 00:32:31,560 Jika Anda mengatakan, oh, saya ingin font yang saya harus dicetak miring dan hijau tua, 649 00:32:31,560 --> 00:32:33,980 mungkin Anda bisa Google, dan kemudian akan memberitahu Anda 650 00:32:33,980 --> 00:32:37,590 tag atau ID yang tepat untuk membuat. 651 00:32:37,590 --> 00:32:41,670 Dan cara yang Anda lakukan benar-benar jenis memiliki ini dalam dokumen HTML 652 00:32:41,670 --> 00:32:45,660 atau menggunakannya adalah semua yang Anda miliki lakukan di sini adalah di kepala 653 00:32:45,660 --> 00:32:48,560 menambahkan link ke style sheet. 654 00:32:48,560 --> 00:32:53,600 >> Jadi Anda hanya dapat menghubungkan equals href apapun namanya dari style sheet Anda 655 00:32:53,600 --> 00:32:54,590 aku s. 656 00:32:54,590 --> 00:32:56,740 Dan kemudian hubungan adalah sebuah style sheet. 657 00:32:56,740 --> 00:33:00,700 Jadi dalam setiap dokumen HTML, selama Anda memasukkan ini lembar CSS dot, 658 00:33:00,700 --> 00:33:07,140 Anda harus dapat mengakses dan memiliki properti di sana. 659 00:33:07,140 --> 00:33:10,370 >> Jadi misalnya, di sini saya baru saja membuat halaman web contoh lain. 660 00:33:10,370 --> 00:33:15,680 Ini dipersilahkan untuk bagian CS50 Selasa 2:00-03:30 dengan saya. 661 00:33:15,680 --> 00:33:20,300 Dan kemudian saya telah menambahkan gambar indah yang kita berpotensi harus dapat melihat. 662 00:33:20,300 --> 00:33:24,620 >> Jadi, jika Anda lihat di sini, jika Anda pergi ke style.html, 663 00:33:24,620 --> 00:33:26,310 kami menciptakan sebuah halaman web dengan anak kucing. 664 00:33:26,310 --> 00:33:29,420 Karena kucing mengagumkan. 665 00:33:29,420 --> 00:33:33,570 Jadi menambahkan gambar hanya img Link SRC. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Cukup banyak, jika ada apapun fitur 668 00:33:38,310 --> 00:33:40,268 Anda ingin menambahkan untuk Anda website-- sehingga katakanlah, 669 00:33:40,268 --> 00:33:43,290 Anda ingin menambahkan menu atau bar pencarian atau seperti 670 00:33:43,290 --> 00:33:46,450 sebuah image-- hanya Google bagaimana untuk melakukan itu. 671 00:33:46,450 --> 00:33:48,277 Dan Anda hanya celepuk dalam format tersebut. 672 00:33:48,277 --> 00:33:50,110 Hanya dan Anda dapat cukup banyak hanya menambahkannya di. 673 00:33:50,110 --> 00:33:52,670 Ini benar-benar, benar-benar mudah. 674 00:33:52,670 --> 00:33:55,014 >> Kami menciptakan kita sendiri halaman web sekarang. 675 00:33:55,014 --> 00:33:55,680 Jika kamu bersedia-- 676 00:33:55,680 --> 00:33:56,580 >> AUDIENCE: [tidak terdengar] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: Maaf? 678 00:33:57,470 --> 00:33:59,310 >> AUDIENCE: [tidak terdengar]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI PENG: Oh, yang div hanya divisi 680 00:34:01,340 --> 00:34:04,370 mengatakan bahwa, oh, saya harus bagian tertentu yang disebut 681 00:34:04,370 --> 00:34:07,480 tengah di mana aku menerapkan tag CSS saya, dan kemudian 682 00:34:07,480 --> 00:34:09,619 divisi lain saya dengan bagian bawah. 683 00:34:09,619 --> 00:34:10,785 Itu semua ia memberi tahu Anda. 684 00:34:10,785 --> 00:34:12,743 Karena itu bagus untuk menjaga hal-hal rapi dalam rangka, 685 00:34:12,743 --> 00:34:16,304 sehingga program tahu bagaimana tepatnya untuk menjalankan. 686 00:34:16,304 --> 00:34:18,929 Dan berpikir saya bisa copy paste ini ke browser yang sebenarnya juga. 687 00:34:18,929 --> 00:34:21,110 Ini harus baik-baik. 688 00:34:21,110 --> 00:34:21,610 Ya. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Hore. 691 00:34:25,989 --> 00:34:29,380 Jadi jika semua orang ingin hanya mencoba membuat halaman web, 692 00:34:29,380 --> 00:34:32,169 kami akan mengambil dua atau tiga menit. 693 00:34:32,169 --> 00:34:34,460 Aku hanya ingin memastikan server semua orang berjalan 694 00:34:34,460 --> 00:34:36,941 dan setiap orang memiliki ide tentang bagaimana untuk melakukan itu. 695 00:34:36,941 --> 00:34:38,774 Jika kalian ingin mengambil komputer Anda. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Masih tidak bekerja? 698 00:34:45,635 --> 00:34:47,420 >> AUDIENCE: Aku hanya [tidak terdengar]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: Mungkin mencoba memperbarui 50 juga. 700 00:34:49,838 --> 00:34:51,392 Ya. 701 00:34:51,392 --> 00:34:52,308 AUDIENCE: [tidak terdengar]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI PENG: Ya. 704 00:35:18,990 --> 00:35:23,750 Jadi cara yang Anda memulai baru web server pada IDE hanya 705 00:35:23,750 --> 00:35:27,889 melakukan apache50 ruang awal ruang dot. 706 00:35:27,889 --> 00:35:30,430 Aku hanya ingin memastikan server semua orang berjalan OK. 707 00:35:30,430 --> 00:35:31,763 >> AUDIENCE: Di sini, di terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI PENG: Ya. 709 00:35:33,334 --> 00:35:34,250 AUDIENCE: [tidak terdengar]. 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI PENG: Apache. 712 00:35:38,985 --> 00:35:42,010 Sebenarnya, saya pikir Anda menjalankan sesuatu yang sudah. 713 00:35:42,010 --> 00:35:43,145 Ya, Anda benar-benar menjalankan server yang berbeda. 714 00:35:43,145 --> 00:35:43,830 Ya, Anda baik. 715 00:35:43,830 --> 00:35:45,085 Selama yang bekerja, Anda OK. 716 00:35:45,085 --> 00:35:45,626 >> AUDIENCE: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI PENG: Ada dua cara untuk menjalankan server. 718 00:35:47,615 --> 00:35:49,990 Jadi selama salah satu cara bekerja, itu semua benar. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Kami akan mengambil satu menit hanya untuk jenis menyelesaikan 721 00:36:21,680 --> 00:36:25,280 sentuhan akhir dari apa pun Halaman web kalian ingin membuat. 722 00:36:25,280 --> 00:36:26,830 >> Apakah semua orang yang bekerja dengan cara? 723 00:36:26,830 --> 00:36:30,910 Server semua orang yang berjalan selain untuk Anda? 724 00:36:30,910 --> 00:36:32,210 Kami akan mencari tahu. 725 00:36:32,210 --> 00:36:34,137 Dan HTML cukup sederhana. 726 00:36:34,137 --> 00:36:35,220 Jadi saya pikir kita semua baik. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Ya. 729 00:36:38,760 --> 00:36:41,070 Saya akan kembali. 730 00:36:41,070 --> 00:36:42,797 >> AUDIENCE: [tidak terdengar]. 731 00:36:42,797 --> 00:36:43,380 ANDI PENG: OK. 732 00:36:43,380 --> 00:36:44,770 AUDIENCE: Jadi itu hanya mulai memuat. 733 00:36:44,770 --> 00:36:45,686 ANDI PENG: Jangan khawatir. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Jadi HTML, ada kode sumber yang akan online setelah bagian. 736 00:36:52,680 --> 00:36:54,810 Juga, David memiliki keseluruhan sekelompok online juga. 737 00:36:54,810 --> 00:36:58,190 Hanya jenis melirik ke melihat bagaimana halaman HTML ditulis. 738 00:36:58,190 --> 00:36:59,920 Itu cukup mudah. 739 00:36:59,920 --> 00:37:03,979 Apa pun yang Anda tidak tahu, Anda cukup banyak hanya Google dan Anda baik. 740 00:37:03,979 --> 00:37:06,270 Aku hanya ingin memastikan bahwa server Anda berjalan. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> AUDIENCE: Apakah sering melakukan ini? 743 00:37:14,880 --> 00:37:16,421 >> ANDI PENG: Ini tidak terjadi pada saya. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Saya tidak tahu itu bahkan bisa hibernate. 746 00:37:20,782 --> 00:37:22,516 >> AUDIENCE: [tidak terdengar]. 747 00:37:22,516 --> 00:37:25,140 ANDI PENG: Saya pikir everyone-- saya tidak pernah hibernated sebelumnya. 748 00:37:25,140 --> 00:37:26,860 Dan aku tidak tahu mengapa. 749 00:37:26,860 --> 00:37:27,566 Itu aneh. 750 00:37:27,566 --> 00:37:29,310 >> AUDIENCE: [tidak terdengar]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: Apakah Anda berhibernasi? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> AUDIENCE: [tidak terdengar]. 754 00:37:33,669 --> 00:37:34,335 ANDI PENG: Ya. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 AUDIENCE: Ini OK. 757 00:37:39,872 --> 00:37:40,622 Jadi setelah itu terbuka. 758 00:37:40,622 --> 00:37:41,760 ANDI PENG: OK. 759 00:37:41,760 --> 00:37:43,940 Kami akan menangani beberapa server yang masalah setelah bagian. 760 00:37:43,940 --> 00:37:44,860 Anda harus baik-baik. 761 00:37:44,860 --> 00:37:47,950 Meskipun, Anda ingin memastikan Anda mendapatkan mereka diselesaikan sebelum Anda pergi. 762 00:37:47,950 --> 00:37:49,380 Karena jika server Anda tidak berjalan, maka Anda 763 00:37:49,380 --> 00:37:52,004 tidak akan dapat melakukan pset, seperti bagian dari pset tersebut. 764 00:37:52,004 --> 00:37:54,200 Jadi Anda ingin memastikan bahwa bekerja. 765 00:37:54,200 --> 00:37:54,831 Keren. 766 00:37:54,831 --> 00:37:55,330 Baiklah. 767 00:37:55,330 --> 00:37:56,490 Mengatakan anak kucing selamat tinggal. 768 00:37:56,490 --> 00:37:59,670 Saya menghabiskan waktu yang lama mencari yang gambar kucing untuk memakai. 769 00:37:59,670 --> 00:38:02,272 Jadi, lagian. 770 00:38:02,272 --> 00:38:04,950 >> AUDIENCE: [tidak terdengar]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: Maaf? 772 00:38:05,770 --> 00:38:07,345 >> AUDIENCE: [tidak terdengar]. 773 00:38:07,345 --> 00:38:08,970 ANDI PENG: Saya pikir itu di website. 774 00:38:08,970 --> 00:38:11,064 Seperti spec? 775 00:38:11,064 --> 00:38:12,020 >> AUDIENCE: [tidak terdengar]. 776 00:38:12,020 --> 00:38:16,080 Saya pikir spec hanya online minggu tujuh. 777 00:38:16,080 --> 00:38:18,850 Saya pikir itu disebut pset6, bahkan meskipun kami berada di minggu tujuh, yang 778 00:38:18,850 --> 00:38:19,641 adalah komputasi bit. 779 00:38:19,641 --> 00:38:23,130 AUDIENCE: Tapi maksud saya jika Anda ingin melihat at-- jika Anda 780 00:38:23,130 --> 00:38:28,666 ingin menarik versi kami situs web dari memutuskan kami? 781 00:38:28,666 --> 00:38:31,820 Jadi seperti server.c adalah pset, kan? 782 00:38:31,820 --> 00:38:36,514 Jika Anda ingin melihat ini, seperti bagaimana melakukan check out? 783 00:38:36,514 --> 00:38:38,680 ANDI PENG: Oh, jadi sebenarnya pset, semua yang kita lakukan 784 00:38:38,680 --> 00:38:41,405 di sini adalah implementing-- sini, Aku akan pergi sebentar ini. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Jadi untuk semua orang yang baru saja untuk bagian, kalian beruntung. 787 00:38:47,020 --> 00:38:49,340 Ada bahan yang sangat sedikit untuk benar-benar menutupi hari ini. 788 00:38:49,340 --> 00:38:52,585 >> Aku hanya akan menghabiskan berikutnya 20 menit akan lebih pset bantuan. 789 00:38:52,585 --> 00:38:55,210 Karena ada beberapa yang berguna fungsi yang akan membantu hidup Anda. 790 00:38:55,210 --> 00:38:57,501 Dan mudah-mudahan, kita akan keluar dari sini di seperti 20 menit. 791 00:38:57,501 --> 00:38:58,360 OKE. 792 00:38:58,360 --> 00:39:00,252 >> Jadi pset7 salah. 793 00:39:00,252 --> 00:39:02,460 Meskipun kami berada di minggu tujuh, itu sebenarnya pset6. 794 00:39:02,460 --> 00:39:04,220 Saya akan mengubah itu. 795 00:39:04,220 --> 00:39:07,550 Semua yang kita lakukan di pset6 adalah menciptakan server web. 796 00:39:07,550 --> 00:39:09,010 Kedengarannya menakutkan yang super. 797 00:39:09,010 --> 00:39:11,010 >> Dan terutama bagi mereka Anda yang sudah 798 00:39:11,010 --> 00:39:14,530 melihat kode distribusi, ada banyak kode, banyak kode. 799 00:39:14,530 --> 00:39:15,570 Tapi benar-benar OK. 800 00:39:15,570 --> 00:39:17,750 Karena sepele bagian dari benar-benar menciptakan 801 00:39:17,750 --> 00:39:20,140 server dilakukan oleh kami. 802 00:39:20,140 --> 00:39:22,090 Semua Anda benar-benar bertanya dilakukan di pset ini 803 00:39:22,090 --> 00:39:25,350 hanya untuk melakukan beberapa manipulasi string yang di file I / O. Ini sebenarnya 804 00:39:25,350 --> 00:39:27,570 seperti cukup sederhana. 805 00:39:27,570 --> 00:39:30,830 >> Jadi, ketika Anda pertama kali men-download itu-- yang di sini sebenarnya sudah didownload 806 00:39:30,830 --> 00:39:32,540 yang pset dan diambil melihat? 807 00:39:32,540 --> 00:39:33,040 Baiklah. 808 00:39:33,040 --> 00:39:33,540 Ya. 809 00:39:33,540 --> 00:39:36,042 Ada seperti 500 baris kode bahwa Anda akan menjadi seperti, 810 00:39:36,042 --> 00:39:36,750 apa yang sedang terjadi? 811 00:39:36,750 --> 00:39:38,177 Dan itu benar-benar baik-baik saja. 812 00:39:38,177 --> 00:39:39,760 Pastikan Anda menonton berjalan-through. 813 00:39:39,760 --> 00:39:41,610 Karena David dan-- Aku tidak tahu. 814 00:39:41,610 --> 00:39:43,870 Saya tidak berpikir itu Zamyla ini, yang satu ini. 815 00:39:43,870 --> 00:39:47,040 Tapi saya pikir beberapa lainnya berjalan-through cukup 816 00:39:47,040 --> 00:39:49,510 membantu dalam hal hanya membiarkan Anda tahu 817 00:39:49,510 --> 00:39:51,780 apa yang terjadi di dalam kode Anda. 818 00:39:51,780 --> 00:39:53,330 >> Dan itu benar-benar OK. 819 00:39:53,330 --> 00:39:57,860 Karena empat fungsi yang Anda diminta untuk menerapkan telah benar-benar 820 00:39:57,860 --> 00:39:59,720 nol hubungannya dengan server yang sebenarnya. 821 00:39:59,720 --> 00:40:02,590 Yang harus mereka lakukan adalah hanya parsing string yang berbeda, 822 00:40:02,590 --> 00:40:05,780 mencari melalui string, memastikan hal melakukan 823 00:40:05,780 --> 00:40:07,750 apa yang mereka seharusnya lakukan. 824 00:40:07,750 --> 00:40:11,200 >> Jadi untuk efek itu, ada beberapa fungsi yang sangat, sangat berguna, 825 00:40:11,200 --> 00:40:13,630 terutama untuk tali manipulasi, bahwa kita semua harus 826 00:40:13,630 --> 00:40:15,879 pergi yang saya pikir saya akan sangat berguna bagi kalian 827 00:40:15,879 --> 00:40:19,130 untuk belajar sebelum mencoba pset tersebut. 828 00:40:19,130 --> 00:40:23,350 Dan mereka semua yang terkandung dalam perpustakaan string.h Anda. 829 00:40:23,350 --> 00:40:25,980 Ada mungkin lebih berguna fungsi saya tidak termasuk di sini, 830 00:40:25,980 --> 00:40:30,740 karena saya baik tidak pernah menggunakannya atau mungkin aku hanya tidak tahu mereka ada. 831 00:40:30,740 --> 00:40:32,440 >> Jangan ragu untuk sekilas melalui student.h. 832 00:40:32,440 --> 00:40:36,460 Karena ada akan menjadi banyak fungsi yang sangat berguna. 833 00:40:36,460 --> 00:40:43,050 Jadi enam yang saya gunakan paling di saya pset ketika saya melakukannya minggu terakhir ini 834 00:40:43,050 --> 00:40:49,620 yang strtok, strchr, strrcher, strstr, strcasecmp, dan strcpy. 835 00:40:49,620 --> 00:40:53,060 Dan dua terakhir mungkin tampak cukup akrab bagi sebagian besar dari Anda. 836 00:40:53,060 --> 00:40:56,910 Kasus str membandingkan, semua hal ini adalah membandingkan string untuk memeriksa mereka untuk kesetaraan, 837 00:40:56,910 --> 00:40:58,110 termasuk kasus. 838 00:40:58,110 --> 00:41:01,430 Dan strcpy hanya salinan satu string ke dalam buffer. 839 00:41:01,430 --> 00:41:04,430 >> Dan kedua harus tampak sangat akrab bagi kalian pada saat ini. 840 00:41:04,430 --> 00:41:07,100 Karena kita telah menggunakan mereka banyak, terutama untuk psets terakhir. 841 00:41:07,100 --> 00:41:10,734 Tapi empat pertama mungkin Anda belum melihat sampai sekarang. 842 00:41:10,734 --> 00:41:12,400 Tapi aku akan hanya berjalan melalui mereka. 843 00:41:12,400 --> 00:41:15,620 Karena mereka akan membuat hidup Anda benar-benar, benar-benar mudah for-- tidak mudah, 844 00:41:15,620 --> 00:41:19,830 tapi jauh lebih mudah untuk pset mendatang. 845 00:41:19,830 --> 00:41:20,420 >> OKE. 846 00:41:20,420 --> 00:41:27,720 Jadi char * strtok, ini adalah fungsi definisi untuk fungsi ini terkandung 847 00:41:27,720 --> 00:41:31,050 dalam string, h perpustakaan. 848 00:41:31,050 --> 00:41:34,340 Jika Anda diberi masukan char * string, yang hanya string, 849 00:41:34,340 --> 00:41:38,220 atau char konstan * deliminator, delim untuk jangka pendek, 850 00:41:38,220 --> 00:41:42,410 semua itu lakukan adalah melanggar lebih besar string ke dalam serangkaian apa yang kita sebut 851 00:41:42,410 --> 00:41:45,730 token dipisahkan oleh nilai tertentu. 852 00:41:45,730 --> 00:42:03,340 Jadi dalam arti, jika saya harus memberikan Anda section.7.php, ini adalah sebuah string. 853 00:42:03,340 --> 00:42:09,520 >> Sehingga akan menjadi jika saya lulus dalam hal ini sebagai str saya, char saya * str, 854 00:42:09,520 --> 00:42:18,870 jika deliminator saya dot, semua ini akan lakukan adalah pencarian melalui tali. 855 00:42:18,870 --> 00:42:22,790 Dan pertama kali melihat sebuah titik, itu hanya akan kembali ke pointer 856 00:42:22,790 --> 00:42:25,830 untuk token terakhir ditemukan dalam string sebelum ini. 857 00:42:25,830 --> 00:42:27,230 Jadi itu akan pergi di sini. 858 00:42:27,230 --> 00:42:30,580 >> Dan itu hanya akan memberi saya 7.php. 859 00:42:30,580 --> 00:42:34,070 Dan jika saya harus memanggil berfungsi sekali lagi, 860 00:42:34,070 --> 00:42:37,580 itu akan memberi saya hanya php tersebut. 861 00:42:37,580 --> 00:42:41,540 Dan sehingga semua fungsi ini melakukan adalah mogok string yang lebih besar 862 00:42:41,540 --> 00:42:44,620 ke string yang lebih kecil tergantung pada apa yang Anda cari. 863 00:42:44,620 --> 00:42:46,670 >> Dan jadi misalnya, di Penampilan up Anda fungsi 864 00:42:46,670 --> 00:42:49,895 jika Anda ingin melihat apa yang karakter tertentu terjadi 865 00:42:49,895 --> 00:42:54,280 atau jika titik terjadi atau ekstensi terjadi, fungsi ini akan cukup berguna. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Ya. 868 00:42:59,010 --> 00:42:59,510 Jangan khawatir. 869 00:42:59,510 --> 00:43:01,339 Ini semua akan be-- ya, ada apa? 870 00:43:01,339 --> 00:43:07,087 >> AUDIENCE: Jadi di baris pertama, jika kita menggunakan contoh ini, 871 00:43:07,087 --> 00:43:09,504 apa yang akan kita masukkan ke dalam? 872 00:43:09,504 --> 00:43:10,170 ANDI PENG: Ya. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Anda hanya akan memanggil strtok delim tali koma. 875 00:43:25,640 --> 00:43:30,260 Dan string sama dengan section.7.php. 876 00:43:30,260 --> 00:43:35,244 Dan kemudian Anda delim bisa sama dengan hanya dot. 877 00:43:35,244 --> 00:43:36,654 >> AUDIENCE: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI PENG: Ya. 879 00:43:39,010 --> 00:43:41,266 Seperti itu. 880 00:43:41,266 --> 00:43:43,890 Semua fungsi-fungsi ini cukup sama ketika kita pergi melalui mereka. 881 00:43:43,890 --> 00:43:45,514 Mereka hanya melakukan hal-hal yang sedikit berbeda. 882 00:43:45,514 --> 00:43:49,530 Tapi mereka semua akan membuat hidup Anda jauh lebih mudah. 883 00:43:49,530 --> 00:43:53,940 Fungsi kedua, satu ini seperti super, super, super penting, 884 00:43:53,940 --> 00:43:58,254 adalah the-- tahan. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Ups. 887 00:44:08,730 --> 00:44:13,810 Pencarian strchr untuk pertama occurrence-- sebenarnya, ya. 888 00:44:13,810 --> 00:44:16,385 Strchr adalah fungsi yang Saya pasti hanya pergi. 889 00:44:16,385 --> 00:44:18,260 Sehingga mengabaikan apa yang saya katakan untuk fungsi pertama. 890 00:44:18,260 --> 00:44:20,980 Ini benar-benar disebut strchr. 891 00:44:20,980 --> 00:44:24,840 >> Jadi apa yang akan terjadi di sini adalah jika Anda diberi string dalam char c, 892 00:44:24,840 --> 00:44:28,660 itu hanya akan memberikan Anda apa pun itu. 893 00:44:28,660 --> 00:44:29,230 Ya. 894 00:44:29,230 --> 00:44:33,700 Jadi menganggapnya sebagai str, yang adalah string, dan chr sebagai char. 895 00:44:33,700 --> 00:44:38,621 Jadi semua yang Anda coba lakukan adalah pencarian untuk mana char adalah dalam string. 896 00:44:38,621 --> 00:44:41,120 Dan sehingga pencarian untuk pertama terjadinya karakter 897 00:44:41,120 --> 00:44:43,601 c dalam string str. 898 00:44:43,601 --> 00:44:46,463 >> AUDIENCE: [tidak terdengar]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI PENG: Yup. 900 00:44:48,380 --> 00:44:51,230 Dan kemudian jika tidak menemukan itu, itu akan kembali NULL. 901 00:44:51,230 --> 00:44:54,313 Jadi sesuatu yang akan sangat berguna untuk kalian dalam melakukan pset yang 902 00:44:54,313 --> 00:44:59,030 jika, mengatakan, Anda sedang mencari ekstensi seperti .docx untuk Word 903 00:44:59,030 --> 00:45:04,740 dokumen atau .pdf untuk dokumen PDF, Anda dapat jenis menggunakannya untuk melihat 904 00:45:04,740 --> 00:45:08,720 untuk apa pun yang setelah itu setiap kali Anda melihat titik, kan? 905 00:45:08,720 --> 00:45:11,880 Dan jadi cukup banyak, jika Anda menjalankan bahwa melalui fungsi, 906 00:45:11,880 --> 00:45:13,610 jika ia mengembalikan NULL, maka Anda tahu bahwa itu 907 00:45:13,610 --> 00:45:17,292 tidak menemukan titik, yang berarti ini jelas bukan ekstensi file yang valid. 908 00:45:17,292 --> 00:45:19,000 Atau jika kembali sesuatu, maka Anda tahu 909 00:45:19,000 --> 00:45:21,940 itu akan kembali apa yang sebenarnya setelah ekstensi. 910 00:45:21,940 --> 00:45:24,190 Jadi bagi anda yang memiliki mulai melihat melalui lookup 911 00:45:24,190 --> 00:45:28,640 dan mengurai, fungsi ini akan menjadi super berguna. 912 00:45:28,640 --> 00:45:32,010 Jadi kita benar-benar akan untuk menunjukkan menggunakan ini. 913 00:45:32,010 --> 00:45:36,670 >> Kenapa tidak kalian mencoba menulis fungsi bool kalimat char * s yang 914 00:45:36,670 --> 00:45:39,610 hanya mengembalikan nilai true jika s adalah kalimat dan palsu sebaliknya. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Jadi petunjuk, Anda akan untuk mungkin menggunakan strchr. 917 00:45:46,830 --> 00:45:50,420 Atau Anda hanya mencari di string untuk karakter tertentu. 918 00:45:50,420 --> 00:45:54,950 Dan dalam sebuah kalimat, apa yang memisahkan kalimat 919 00:45:54,950 --> 00:45:57,510 dari non-kalimat, apa karakter tertentu? 920 00:45:57,510 --> 00:45:58,260 AUDIENCE: Sebuah ruang. 921 00:45:58,260 --> 00:45:59,343 ANDI PENG: ruang A, kan? 922 00:45:59,343 --> 00:46:03,354 Dan jadi apa yang kita mungkin akan ingin dilakukan dalam fungsi ini di sini? 923 00:46:03,354 --> 00:46:04,290 >> AUDIENCE: [tidak terdengar]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI PENG: Kami akan ingin strchr string untuk penampilan ruang. 925 00:46:07,623 --> 00:46:11,330 Karena jika ia mengembalikan sesuatu, maka kita tahu bahwa ini harus menjadi sebuah kalimat. 926 00:46:11,330 --> 00:46:14,510 Itu berarti bahwa kita harus memiliki ruang dalam string ini. 927 00:46:14,510 --> 00:46:17,660 >> Jika tidak ada ruang, maka kita tahu bahwa, hei, rasa itu bukan string. 928 00:46:17,660 --> 00:46:20,060 Ini mungkin hanya sebuah kata yang sangat panjang. 929 00:46:20,060 --> 00:46:23,242 Jadi saya akan memberikan kalian beberapa menit untuk menulis fungsi ini. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Ya. 932 00:46:45,874 --> 00:46:47,970 >> AUDIENCE: Apakah Anda mendapatkan string ini dari pengguna? 933 00:46:47,970 --> 00:46:48,440 >> ANDI PENG: Ya. 934 00:46:48,440 --> 00:46:49,565 Jadi ini hanya fungsi. 935 00:46:49,565 --> 00:46:54,586 Jadi bayangkan dalam fungsi utama Anda Anda sudah have-- mari kita pergi di sini. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 OKE. 938 00:47:00,540 --> 00:47:05,270 Jadi saya telah menulis program ini di mana Saya memiliki fungsi utama saya di mana 939 00:47:05,270 --> 00:47:07,432 Aku baru saja menciptakan dua string. 940 00:47:07,432 --> 00:47:09,890 Yang pertama adalah Hai, nama saya adalah Andi-- jelas, kalimat. 941 00:47:09,890 --> 00:47:13,240 Kedua saya hanya Andi, jelas bukan kalimat. 942 00:47:13,240 --> 00:47:18,390 >> Dan jadi aku berjalan baik dari orang string melalui fungsi ini. 943 00:47:18,390 --> 00:47:20,540 Aku ingin kalian menulis kalimat dingin. 944 00:47:20,540 --> 00:47:23,380 Dan aku menyimpan nilai-nilai, dan kemudian hanya mencetak mereka keluar. 945 00:47:23,380 --> 00:47:26,549 Jadi berpikir bahwa pengguna adalah akan lulus dalam string. 946 00:47:26,549 --> 00:47:29,590 Dan kemudian Anda akan dasarnya mencari tahu apakah itu kalimat atau tidak 947 00:47:29,590 --> 00:47:31,131 dan kembali benar atau salah sesuai. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Jika kalian ingin memberikan thumbs up atau kepala, kepala mengangguk, 950 00:48:45,200 --> 00:48:49,080 adalah siapa pun siap untuk memulai ini, yang akan menjadi baik. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Mungkin seperti 30 detik lebih? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Baiklah. 955 00:50:50,070 --> 00:50:52,870 Mari kita lihat apakah Anda dapat mencoba menulis fungsi ini. 956 00:50:52,870 --> 00:50:57,480 >> Jadi semu coding-- aku hanya akan jenis berjalan melalui ini sekarang. 957 00:50:57,480 --> 00:51:00,570 Cukup banyak, kita tahu fungsi yang kita perlu menggunakan. 958 00:51:00,570 --> 00:51:04,390 Kita akan memanggil fungsi yang pada string kita dan mencari ruang. 959 00:51:04,390 --> 00:51:08,682 Jika kembali sesuatu, maka kita harus tahu bahwa, jelas, ini adalah kalimat. 960 00:51:08,682 --> 00:51:09,640 Karena ada ruang. 961 00:51:09,640 --> 00:51:10,930 Kemudian kita akan kembali benar. 962 00:51:10,930 --> 00:51:12,310 Lain, kita akan kembali palsu. 963 00:51:12,310 --> 00:51:14,393 Apakah ada yang ingin memberikan saya baris pertama kode 964 00:51:14,393 --> 00:51:16,890 bahwa kita benar-benar akan digunakan untuk menulis ini? 965 00:51:16,890 --> 00:51:19,680 Ini sebenarnya yang paling sulit baris kode juga. 966 00:51:19,680 --> 00:51:21,026 Ya. 967 00:51:21,026 --> 00:51:28,942 >> AUDIENCE: Jika strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: Hanya strchr. 969 00:51:29,900 --> 00:51:35,354 AUDIENCE: [interposing SUARA] ruang tidak sama dengan nol. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI PENG: Cool. 972 00:51:40,710 --> 00:51:41,470 Tepat. 973 00:51:41,470 --> 00:51:43,200 Semua orang memahami bahwa baris pertama? 974 00:51:43,200 --> 00:51:46,110 Kita akan memanggil strstr, yang merupakan fungsi yang mencari 975 00:51:46,110 --> 00:51:51,830 string s untuk char ruang. 976 00:51:51,830 --> 00:51:56,010 Dan jika menemukan itu, itu akan kembali pointer ke mana itu. 977 00:51:56,010 --> 00:51:58,500 >> Jika tidak menemukannya, itu akan kembali NULL. 978 00:51:58,500 --> 00:52:02,530 Jadi jika ia mengembalikan apa pun selain NULL, maka kita tahu itu menemukan ruang. 979 00:52:02,530 --> 00:52:03,553 Apakah itu masuk akal? 980 00:52:03,553 --> 00:52:04,090 Keren. 981 00:52:04,090 --> 00:52:04,590 Baiklah. 982 00:52:04,590 --> 00:52:08,246 Jadi jika kita tahu itu menemukan ruang, apa yang kita ingin lakukan? 983 00:52:08,246 --> 00:52:09,162 AUDIENCE: Kembali benar. 984 00:52:09,162 --> 00:52:09,787 ANDI PENG: Yup. 985 00:52:09,787 --> 00:52:11,940 Kembali benar. 986 00:52:11,940 --> 00:52:15,034 Dan kemudian, seseorang ingin menyelesaikan fungsi untuk saya? 987 00:52:15,034 --> 00:52:16,300 Ya. 988 00:52:16,300 --> 00:52:19,720 Lain, hanya seperti itu. 989 00:52:19,720 --> 00:52:20,780 Dan coba kompilasi ini. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Oke. 992 00:52:28,000 --> 00:52:33,099 Sehingga kalian bisa melihat dari output, ingat boolean di C 993 00:52:33,099 --> 00:52:34,390 selalu dinyatakan dalam biner. 994 00:52:34,390 --> 00:52:35,100 1 adalah benar. 995 00:52:35,100 --> 00:52:36,350 0 adalah palsu. 996 00:52:36,350 --> 00:52:39,720 >> Jika kita menjalankan ini fungsi pada string satu, yang 997 00:52:39,720 --> 00:52:42,900 adalah Hi, nama saya Andi-- jelas, sebuah sentence-- hasilnya 998 00:52:42,900 --> 00:52:45,700 dicetak ke 1 yang benar. 999 00:52:45,700 --> 00:52:48,420 Yang kedua, yang hanya kata, hasil yang dicetak 1000 00:52:48,420 --> 00:52:50,630 dengan 0, yang palsu. 1001 00:52:50,630 --> 00:52:54,820 Semua orang semacam jelas tentang bagaimana fungsi ini ditulis? 1002 00:52:54,820 --> 00:52:55,800 Ya. 1003 00:52:55,800 --> 00:52:59,770 >> AUDIENCE: Bisakah kita juga lakukan, bukan tidak sama tidak ada, sama sama 0, 1004 00:52:59,770 --> 00:53:03,677 sehingga itu sama dengan? 1005 00:53:03,677 --> 00:53:04,260 ANDI PENG: No. 1006 00:53:04,260 --> 00:53:07,480 Karena strchr adalah fungsi. 1007 00:53:07,480 --> 00:53:09,940 Aku akan kembali ke ini. 1008 00:53:09,940 --> 00:53:14,624 Jadi apa jenis kembali fungsi strchr kami? 1009 00:53:14,624 --> 00:53:15,332 AUDIENCE: Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 Atau NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI PENG: Ya. 1012 00:53:16,466 --> 00:53:20,890 Ini char * yang memberitahu saya bahwa apa pun Fungsi ini akan kembali, 1013 00:53:20,890 --> 00:53:22,090 itu akan menjadi pointer. 1014 00:53:22,090 --> 00:53:24,860 Entah pointer akan menjadi menunjuk ke mana itu ditemukan itu, 1015 00:53:24,860 --> 00:53:27,550 atau itu akan kembali pointer ke NULL. 1016 00:53:27,550 --> 00:53:30,930 Dalam keadaan baik, itu akan untuk kembali pointer ke sesuatu. 1017 00:53:30,930 --> 00:53:34,354 >> Dan jika Anda adalah untuk menyamakan ini sama, sama, 0, 1018 00:53:34,354 --> 00:53:36,020 Anda akan mendapatkan error kompilasi. 1019 00:53:36,020 --> 00:53:37,645 Karena itu akan kembali pointer. 1020 00:53:37,645 --> 00:53:40,240 Dan Anda akan mencoba untuk membandingkan pointer ke integer. 1021 00:53:40,240 --> 00:53:42,515 Dan komputer tidak akan seperti itu. 1022 00:53:42,515 --> 00:53:45,630 Ya, persis. 1023 00:53:45,630 --> 00:53:46,540 Keren. 1024 00:53:46,540 --> 00:53:47,525 Semua orang baik? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Dan kedua, kita akan pergi lebih fungsi yang disebut strstr. 1027 00:53:59,770 --> 00:54:02,020 Jangan khawatir jika ini fungsi membingungkan Anda. 1028 00:54:02,020 --> 00:54:03,750 Mereka membingungkan saya. 1029 00:54:03,750 --> 00:54:07,250 Dengan demikian, kalian bisa melihat, mereka semua suara hampir sama. 1030 00:54:07,250 --> 00:54:10,400 Hanya setiap kali Anda bingung, menarik perpustakaan string.h. 1031 00:54:10,400 --> 00:54:13,290 Dan kalian bisa memilah melalui mana seseorang yang. 1032 00:54:13,290 --> 00:54:18,910 >> Jadi strstr, semua yang dilakukan adalah pencarian string untuk seluruh string lainnya. 1033 00:54:18,910 --> 00:54:21,980 Jadi mana strchr hanya pencarian untuk satu karakter, 1034 00:54:21,980 --> 00:54:24,090 pencarian strstr untuk seluruh string. 1035 00:54:24,090 --> 00:54:30,440 Jadi saya ingin melihat, saya tidak tahu, Hi, nama saya Andi. 1036 00:54:30,440 --> 00:54:32,490 Dan nama sahabat saya juga Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Jika saya ingin mencari ini kalimat untuk seluruh kata Andi, 1038 00:54:37,180 --> 00:54:39,930 jarum saya akan apa pun yang Anda cari. 1039 00:54:39,930 --> 00:54:43,440 Dan tumpukan jerami Anda adalah apa pun Anda sedang mencari dalam. 1040 00:54:43,440 --> 00:54:47,050 Jadi jika Anda sedang mencari kata tertentu dalam kalimat, 1041 00:54:47,050 --> 00:54:48,800 kata yang akan menjadi jarum Anda. 1042 00:54:48,800 --> 00:54:51,397 Dan kemudian kalimat itu sendiri akan menjadi tumpukan jerami Anda. 1043 00:54:51,397 --> 00:54:53,230 Dan sehingga hanya mencari kejadian pertama 1044 00:54:53,230 --> 00:54:55,063 jarum tali dalam string tumpukan jerami. 1045 00:54:55,063 --> 00:54:57,140 Ia mengembalikan pointer untuk kejadian pertama. 1046 00:54:57,140 --> 00:55:00,510 Kecuali, ingat dalam hal ini, itu adalah kejadian pertama dari seluruh string 1047 00:55:00,510 --> 00:55:02,510 yang Anda cari untuk, bukan hanya karakter. 1048 00:55:02,510 --> 00:55:04,676 >> Dan jadi ini adalah hampir hal yang sama seperti fungsi 1049 00:55:04,676 --> 00:55:09,100 kami hanya melakukan, hanya dengan sedikit lebih spesifisitas. 1050 00:55:09,100 --> 00:55:12,730 Karena Anda sedang mencari lebih dari satu karakter. 1051 00:55:12,730 --> 00:55:16,310 Dan penggunaan adalah sama persis sebagai salah satu yang baru saja kita lakukan. 1052 00:55:16,310 --> 00:55:18,070 Semua orang OK dengan ini? 1053 00:55:18,070 --> 00:55:20,250 OKE. 1054 00:55:20,250 --> 00:55:23,560 >> Yang terakhir kita akan pergi lebih adalah strrchr, yang tidak 1055 00:55:23,560 --> 00:55:26,320 bingung dengan strstr atau dengan strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr memiliki r tambahan di sana. 1057 00:55:27,890 --> 00:55:29,140 Hati-hati saat Anda mengetik. 1058 00:55:29,140 --> 00:55:33,851 Anda mungkin menemukan diri termasuk r tambahan atau tidak termasuk r, 1059 00:55:33,851 --> 00:55:35,850 dan kemudian fungsi Anda adalah punya tidak akan bekerja. 1060 00:55:35,850 --> 00:55:37,183 Dan Anda akan menjadi bingung. 1061 00:55:37,183 --> 00:55:40,150 Hati-hati bahwa Anda ejaan semua fungsi yang tepat. 1062 00:55:40,150 --> 00:55:43,770 >> Jadi strrchr adalah tepat hal yang sama seperti strchr 1063 00:55:43,770 --> 00:55:47,480 kecuali mencari bukan pertama terjadinya karakter tertentu, 1064 00:55:47,480 --> 00:55:49,350 melainkan kejadian terakhir. 1065 00:55:49,350 --> 00:55:52,800 Dan, dalam arti bahwa, itu hampir sama persis. 1066 00:55:52,800 --> 00:55:54,620 Tapi bukannya bergerak maju dalam sebuah string, 1067 00:55:54,620 --> 00:55:57,230 Anda akan bergerak mundur dalam string. 1068 00:55:57,230 --> 00:56:00,510 Hal yang sama persis, Anda hanya mencari dalam urutan yang berbeda. 1069 00:56:00,510 --> 00:56:04,690 >> Dan ini bisa menjadi super, Super berguna untuk pencarian Anda 1070 00:56:04,690 --> 00:56:07,490 fungsi, yang pertama fungsi pada pset Anda. 1071 00:56:07,490 --> 00:56:12,710 Mari kita berpura-pura bahwa kita perlu untuk menulis fungsi kekosongan ekstensi di mana kita 1072 00:56:12,710 --> 00:56:17,850 lulus char konstan nama file *, hanya string, nama file, 1073 00:56:17,850 --> 00:56:21,370 yang mengambil dalam nama dan cetakan keluar ekstensi dari file itu. 1074 00:56:21,370 --> 00:56:26,520 Jadi misalnya, jika saya harus lulus dalam serangkaian pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 itu akan mencetak hanya ekstensi, yang .zip. 1076 00:56:30,004 --> 00:56:31,920 Dan ini akan bekerja untuk apapun ekstensi, 1077 00:56:31,920 --> 00:56:38,290 .docx untuk Word atau .pdf untuk PDF mengajukan atau .html untuk file HTML. 1078 00:56:38,290 --> 00:56:40,425 Cukup banyak, menulis fungsi yang dapat melakukan itu. 1079 00:56:40,425 --> 00:56:42,300 Aku benar-benar akan beralih ke IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Hal ini tidak load-- ada kita pergi. 1082 00:56:56,740 --> 00:57:00,990 >> Jadi semua yang telah saya lakukan di sini adalah menciptakan char *, string pertama, 1083 00:57:00,990 --> 00:57:01,930 disebut pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Aku akan memperbesar. 1085 00:57:04,530 --> 00:57:08,520 Saya telah membuat sebuah string kedua disebut finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Dan menulis saya fungsi bahwa ketika disebut akan hanya mencetak 1087 00:57:12,649 --> 00:57:13,690 ekstensi nama file. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Mungkin mengambil beberapa menit untuk berpikir tentang bagaimana Anda akan melakukan hal ini. 1090 00:57:19,660 --> 00:57:22,510 Sedikit lebih menantang daripada yang terakhir, 1091 00:57:22,510 --> 00:57:24,770 namun penggunaan hampir persis sama. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Ya. 1094 00:57:30,170 --> 00:57:37,540 Jadi menulis ekstensi fungsi yang disebut bahwa, jika saya memberikan nama file, 1095 00:57:37,540 --> 00:57:41,340 jika saya harus memberikan pset7.zip-- Saya Anda ingin mencetak hanya .zip tersebut. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Jika saya memberi Anda seperti finalpaper.docx, hanya mencetak docx itu, 1098 00:57:49,890 --> 00:57:51,538 hanya ekstensi file apapun. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Ini sebenarnya hanya mengambil dua baris kode. 1101 00:59:07,790 --> 00:59:10,692 Jadi cobalah untuk melihat apakah Anda mungkin bisa melakukannya dalam. 1102 00:59:10,692 --> 00:59:12,400 Sebenarnya, itu hanya Dibutuhkan satu baris kode. 1103 00:59:12,400 --> 00:59:14,074 Tapi dua baris mungkin lebih standar. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Fungsi apa kita mungkin akan ingin menelepon? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> AUDIENCE: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI PENG: strrchr, benar. 1109 00:59:27,343 --> 00:59:29,570 Karena kita sedang mencari dari kiri kanan. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Aku tidak memberikan kalian contoh seperti ini, 1112 00:59:33,940 --> 00:59:38,870 tetapi jika saya memberi Anda sebuah contoh seperti www.apple.com dan saya hanya ingin 1113 00:59:38,870 --> 00:59:43,005 com, itu akan menjadi contoh di mana Anda ingin menyebutnya contoh terakhir 1114 00:59:43,005 --> 00:59:44,630 periode dan bukan yang pertama, kan? 1115 00:59:44,630 --> 00:59:47,470 Jika Anda strchr panggilan, itu akan sudah memberikan apple.com tersebut. 1116 00:59:47,470 --> 00:59:49,966 >> Jika Anda disebut strrchr, itu akan memberikan Anda com. 1117 00:59:49,966 --> 00:59:53,062 Dan jadi hati-hati di mana ways-- dalam contoh saya, 1118 00:59:53,062 --> 00:59:55,520 Anda mungkin bisa bisa memiliki hanya ditulis menggunakan strchr, 1119 00:59:55,520 --> 00:59:57,130 karena hanya ada satu titik. 1120 00:59:57,130 --> 00:59:59,790 Namun dalam kasus lain, yang mungkin tidak terjadi. 1121 00:59:59,790 --> 01:00:04,960 Dan selalu mencoba untuk merancang kode Anda dengan baik, sehingga itu-- ya? 1122 01:00:04,960 --> 01:00:07,365 >> AUDIENCE: Jadi dalam Misalnya Anda hanya berkata, 1123 01:00:07,365 --> 01:00:11,760 ketika Anda strrchr itu akan memberikan .com atau hanya datang? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI PENG: Ini akan memberi Anda com. 1125 01:00:13,960 --> 01:00:14,794 >> AUDIENCE: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI PENG: Ya. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Menunjuk ke mana menemukannya. 1129 01:00:19,744 --> 01:00:20,244 Ya. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 detik mungkin? 1132 01:00:25,188 --> 01:00:25,688 Ya. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Semua orang baik atau mungkin sedikit lebih banyak waktu? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Menunjukkan tangan? 1137 01:01:01,640 --> 01:01:02,320 Tampilkan kepala? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Keren. 1140 01:01:05,300 --> 01:01:07,924 Siapapun ingin memberikan yang pertama baris kode untuk program ini? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 AUDIENCE: [tidak terdengar]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: Jadi pertama-tama, mari kita mungkin istirahat ini turun. 1145 01:01:20,160 --> 01:01:24,370 Jadi apa jenis kembalinya strrchr? 1146 01:01:24,370 --> 01:01:26,150 Ayo kembali. 1147 01:01:26,150 --> 01:01:29,015 strrchr, apa jenis kembali? 1148 01:01:29,015 --> 01:01:29,640 AUDIENCE: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI PENG: Ini char *, kan? 1150 01:01:31,270 --> 01:01:35,760 Yang berarti bahwa Anda mungkin akan ingin membuat arang lain * untuk jenis 1151 01:01:35,760 --> 01:01:40,400 toko setiap kali itu kembali ke, kan? 1152 01:01:40,400 --> 01:01:43,200 Karena jika Anda menelepon fungsi strrchr, 1153 01:01:43,200 --> 01:01:47,030 itu akan memberi Anda pointer ke di mana pun menemukan bahwa periode terakhir, 1154 01:01:47,030 --> 01:01:47,580 kanan? 1155 01:01:47,580 --> 01:01:49,913 >> Tapi Anda akan ingin menyimpan suatu tempat itu, kan? 1156 01:01:49,913 --> 01:01:52,612 Dan bagaimana kita kode ini ke dalam program kami? 1157 01:01:52,612 --> 01:01:54,320 AUDIENCE: Anda membuat char * [tidak terdengar]. 1158 01:01:54,320 --> 01:01:55,240 ANDI PENG: Yep. 1159 01:01:55,240 --> 01:01:57,120 AUDIENCE: [tidak terdengar]. 1160 01:01:57,120 --> 01:01:58,000 ANDI PENG: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Ya. 1162 01:01:58,390 --> 01:01:59,306 Oh, melewatkan r ada. 1163 01:01:59,306 --> 01:02:02,877 AUDIENCE: Nama file [tidak terdengar]. 1164 01:02:02,877 --> 01:02:03,376 Apa itu? 1165 01:02:03,376 --> 01:02:04,420 Oh, Ini hanya s. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI PENG: Oh, itu hanya s. 1167 01:02:04,940 --> 01:02:05,610 Yup, maaf. 1168 01:02:05,610 --> 01:02:06,330 Kesalahanku. 1169 01:02:06,330 --> 01:02:08,370 Contoh tidak cocok. 1170 01:02:08,370 --> 01:02:12,130 >> AUDIENCE: Dan kemudian dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI PENG: Yup. 1172 01:02:13,970 --> 01:02:16,570 Hati-hati saat kalian are-- sini, biarkan aku memperbesar. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Di sana kami pergi. 1175 01:02:24,400 --> 01:02:26,770 Hati-hati saat kalian mengetik, terutama ketika 1176 01:02:26,770 --> 01:02:27,920 Anda melakukan hanya char. 1177 01:02:27,920 --> 01:02:32,480 Ini sangat mudah untuk sengaja hanya melakukan tanda kutip ganda daripada satu. 1178 01:02:32,480 --> 01:02:35,212 >> Itu tidak akan bekerja. 1179 01:02:35,212 --> 01:02:36,670 Compiler Anda akan mengeluh. 1180 01:02:36,670 --> 01:02:38,790 Dan fungsi Anda hanya tidak akan berjalan. 1181 01:02:38,790 --> 01:02:40,540 Dan jadi hati-hati ketika Anda melakukan hal-hal 1182 01:02:40,540 --> 01:02:42,622 dengan karakter bahwa itu tanda kutip tunggal. 1183 01:02:42,622 --> 01:02:44,830 Dan begitu juga lini kode masuk akal untuk semua orang? 1184 01:02:44,830 --> 01:02:46,810 Kami menciptakan char * pointer. 1185 01:02:46,810 --> 01:02:50,310 Karena pengembalian strrchr sesuatu jenis pointer. 1186 01:02:50,310 --> 01:02:53,440 >> Dan kita akan memanggil strchr pada s, yang merupakan string, file 1187 01:02:53,440 --> 01:02:55,140 nama, bahwa kita lewat di. 1188 01:02:55,140 --> 01:02:59,750 Dan kami sedang mencari yang terakhir Misalnya dari periode, yang merupakan 1189 01:02:59,750 --> 01:03:02,200 hanya kutipan tunggal dot kutip tunggal. 1190 01:03:02,200 --> 01:03:02,700 Ya. 1191 01:03:02,700 --> 01:03:05,180 >> AUDIENCE: Kapan kita menggunakan tanda kutip ganda dan ketika kita menggunakan tanda kutip tunggal? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI PENG: Ya. 1193 01:03:05,320 --> 01:03:07,180 Kutipan Jadi ganda selalu digunakan ketika Anda 1194 01:03:07,180 --> 01:03:10,120 memiliki string lebih dari satu. 1195 01:03:10,120 --> 01:03:13,070 Jadi jika Anda melakukan strstr, yang merupakan salah satu yang Anda 1196 01:03:13,070 --> 01:03:16,320 mencari string string, Anda akan lulus dalam tanda kutip ganda. 1197 01:03:16,320 --> 01:03:18,070 Tapi setiap saat itu hanya satu karakter, 1198 01:03:18,070 --> 01:03:19,870 Anda ingin melakukan tanda kutip tunggal. 1199 01:03:19,870 --> 01:03:22,880 >> Ini adalah hal yang baik untuk diingat. 1200 01:03:22,880 --> 01:03:25,864 Jadi sekarang kita memiliki kita pointer, apa yang kita lakukan dengan itu? 1201 01:03:25,864 --> 01:03:27,780 Saya meminta kalian untuk pencetakan itu, kan? 1202 01:03:27,780 --> 01:03:30,940 Jadi [tidak terdengar], Anda ingin memberi saya baris kode? 1203 01:03:30,940 --> 01:03:31,780 >> AUDIENCE: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI PENG: Ya. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 AUDIENCE: --you membutuhkan tempat dudukan. 1207 01:03:36,843 --> 01:03:37,340 ANDI PENG: Yup. 1208 01:03:37,340 --> 01:03:38,334 AUDIENCE: Cetak pemegang tempat. 1209 01:03:38,334 --> 01:03:40,322 Aku tidak tahu apa tempat Pemegang hanyalah titik untuk itu. 1210 01:03:40,322 --> 01:03:40,819 >> OKE. 1211 01:03:40,819 --> 01:03:42,027 Mari kita mengabaikan bahwa untuk saat kemudian. 1212 01:03:42,027 --> 01:03:44,556 AUDIENCE: Dan kemudian comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI PENG: Pointer, kan? 1214 01:03:45,720 --> 01:03:47,970 >> AUDIENCE: Pointer, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: Jadi semacam pertanyaan jebakan, hubungannya dengan pointer dan string 1216 01:03:51,140 --> 01:03:53,130 bahwa kita sudah semacam berbicara tentang sudah. 1217 01:03:53,130 --> 01:03:57,766 Apa jenis tempat dudukan kita butuhkan untuk pointer untuk char *? 1218 01:03:57,766 --> 01:03:59,574 >> AUDIENCE: [tidak terdengar]. 1219 01:03:59,574 --> 01:04:00,240 ANDI PENG: Ya. 1220 01:04:00,240 --> 01:04:02,522 Ini lebih mudah daripada kalian pikirkan. 1221 01:04:02,522 --> 01:04:03,230 AUDIENCE: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI PENG: Ini hanya sebuah string, persis. 1223 01:04:04,730 --> 01:04:06,595 Karena ingat string tidak benar-benar ada. 1224 01:04:06,595 --> 01:04:09,430 Sebuah char * adalah tepat hal yang sama sebagai string. 1225 01:04:09,430 --> 01:04:14,461 Dan sehingga benar-benar ini adalah apa s harus telah digunakan selama ini. 1226 01:04:14,461 --> 01:04:14,960 OKE. 1227 01:04:14,960 --> 01:04:17,810 >> Mari kita lihat apakah kita dapat mencoba menjalankan ini. 1228 01:04:17,810 --> 01:04:19,450 Mari kita melakukan ekstensi make. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Keren. 1231 01:04:23,396 --> 01:04:28,830 Kalian melihat bagaimana saya lulus dalam psset7.zip dan finalpaper.docx itu, 1232 01:04:28,830 --> 01:04:32,500 dan hanya mencetak .zip dan .docx itu? 1233 01:04:32,500 --> 01:04:34,150 Masuk akal? 1234 01:04:34,150 --> 01:04:36,660 >> OK Jadi saya pikir dalam melihat Anda up fungsi dalam pset Anda Anda 1235 01:04:36,660 --> 01:04:41,050 akan ditanya apakah string yang memiliki akhir tertentu, 1236 01:04:41,050 --> 01:04:42,800 Anda harus memberikan kode kesalahan tertentu. 1237 01:04:42,800 --> 01:04:44,820 Dan ini akan menjadi cukup mengerikan. 1238 01:04:44,820 --> 01:04:47,350 Karena jika Anda bisa mencari apa ekstensi adalah, 1239 01:04:47,350 --> 01:04:49,810 Anda kemudian dapat membandingkan bahwa ekstensi untuk melihat apakah itu cocok 1240 01:04:49,810 --> 01:04:51,251 dengan ekstensi tertentu. 1241 01:04:51,251 --> 01:04:53,250 Dan kemudian Anda dapat kembali pesan kesalahan, kan? 1242 01:04:53,250 --> 01:04:53,860 Ya. 1243 01:04:53,860 --> 01:04:55,370 >> AUDIENCE: Jadi kita tidak harus menambahkan 1 atau apa? 1244 01:04:55,370 --> 01:04:56,530 Pointer akan pergi ke the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI PENG: Tidak. 1246 01:04:56,660 --> 01:04:57,530 >> AUDIENCE: --point setelah. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI PENG: Ya. 1248 01:04:58,196 --> 01:05:00,650 Menunjuk persis ke di mana terjadinya itu. 1249 01:05:00,650 --> 01:05:04,010 Jadi misalnya di sini, kami mencari periode. 1250 01:05:04,010 --> 01:05:06,597 Jadi itu akan kembali pointer ke periode. 1251 01:05:06,597 --> 01:05:08,930 Dan kemudian itu akan mencetak keluar mulai periode. 1252 01:05:08,930 --> 01:05:10,260 >> Jadi Anda tidak perlu menambahkan 1. 1253 01:05:10,260 --> 01:05:15,000 Meskipun, itu benar-benar baik untuk, jika Anda pernah yakin, hanya jenis 1254 01:05:15,000 --> 01:05:16,070 dari menguji itu sendiri. 1255 01:05:16,070 --> 01:05:17,590 Membangun program sampel. 1256 01:05:17,590 --> 01:05:20,240 Menguji itu sendiri dan melihat di mana itu mencetak. 1257 01:05:20,240 --> 01:05:23,380 Itu juga bukan cara yang buruk untuk melakukannya. 1258 01:05:23,380 --> 01:05:26,040 >> Keren. 1259 01:05:26,040 --> 01:05:28,880 Dan itu cukup banyak semua Aku punya untuk kalian hari ini. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Kami melakukan banyak hal pset hari ini. 1262 01:05:33,300 --> 01:05:35,720 Jadi bila ragu, seperti Aku berkata, selalu melihat ke atas 1263 01:05:35,720 --> 01:05:37,620 perpustakaan string.h untuk pset ini. 1264 01:05:37,620 --> 01:05:40,370 Ada akan menjadi banyak fungsi dalam sana yang mungkin berguna. 1265 01:05:40,370 --> 01:05:41,300 Beberapa mungkin tidak berguna. 1266 01:05:41,300 --> 01:05:42,133 Saya tidak benar-benar tahu. 1267 01:05:42,133 --> 01:05:44,370 Wade melalui itu, ada sejumlah dari mereka. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, strrchr adalah super, super membantu, serta 1269 01:05:49,100 --> 01:05:52,080 yang strcpys dan strcasecmps bahwa kita sudah digunakan. 1270 01:05:52,080 --> 01:05:56,510 >> Hanya saja banyak main-main dengan string, menentukan apakah mereka sama, 1271 01:05:56,510 --> 01:05:59,960 mendapatkan barang-barang keluar dari string, dan mampu membuka file dengan benar. 1272 01:05:59,960 --> 01:06:02,252 Ini banyak file I / O. pset benar-benar tidak buruk. 1273 01:06:02,252 --> 01:06:04,210 Anda akan mengambil melihat itu, men-download, 1274 01:06:04,210 --> 01:06:05,590 dan melihat sejumlah besar kode. 1275 01:06:05,590 --> 01:06:09,220 Jangan khawatir, kode Anda benar-benar menulis tidak buruk sama sekali. 1276 01:06:09,220 --> 01:06:12,870 Jika seseorang memiliki masalah dengan mereka Server, datang menemui saya setelah bagian. 1277 01:06:12,870 --> 01:06:16,040 >> Maaf sekali lagi untuk tidak membawa permen untuk Halloween. 1278 01:06:16,040 --> 01:06:18,790 Aku tidak tahu apa yang salah dengan saya. 1279 01:06:18,790 --> 01:06:20,800 Tapi kami akan memiliki dua kali lipat permen waktu berikutnya. 1280 01:06:20,800 --> 01:06:25,620 Dan keberuntungan dalam pset Anda minggu ini. 1281 01:06:25,620 --> 01:06:27,170 Oke. 1282 01:06:27,170 --> 01:06:28,722