1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Welcome, semua orang, untuk minggu 10. 3 00:00:09,810 --> 00:00:15,130 Ini adalah satu minggu menarik kerana esok adalah Kuiz 1, yang kita akan mendapat 4 00:00:15,130 --> 00:00:16,400 dalam satu saat. 5 00:00:16,400 --> 00:00:21,770 Hari ini dalam seksyen, kita akan pergi atas beberapa sumber untuk kuiz, dan 6 00:00:21,770 --> 00:00:24,890 maka saya akan menjawab apa-apa dan semua soalan yang anda lelaki itu mempunyai. 7 00:00:24,890 --> 00:00:27,880 Dan kita akhirnya akan berakhir dengan beberapa masalah amalan. 8 00:00:27,880 --> 00:00:30,940 >> Kita boleh menghabiskan seluruh bahagian itu menjawab soalan-soalan. 9 00:00:30,940 --> 00:00:33,240 Kita boleh menghabiskan seluruh bahagian itu akan lebih masalah amalan. 10 00:00:33,240 --> 00:00:36,890 Kami hanya akan berkembang untuk mengisi ruang dan masa yang kita ada. 11 00:00:36,890 --> 00:00:40,590 >> Jadi saya meletakkan senarai ini setiap minggu, tetapi ia penting minggu ini. 12 00:00:40,590 --> 00:00:44,980 Untuk belajar, jika anda tidak mempunyai bermula sudah, oh lelaki. 13 00:00:44,980 --> 00:00:46,400 Tetapi diharapkan anda telah memulakan sudah. 14 00:00:46,400 --> 00:00:50,710 Dan anda akan melalui bahan-bahan dan sumber-sumber yang disenaraikan di sini. 15 00:00:50,710 --> 00:00:54,300 Saya sangat akan mengesyorkan beberapa ini. 16 00:00:54,300 --> 00:00:58,780 >> Khususnya, nota kuliah adalah amat penting dan membantu. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net ini menyediakan buku asas yang besar kepada banyak 18 00:01:02,880 --> 00:01:04,250 topik yang kita dilindungi. 19 00:01:04,250 --> 00:01:07,810 Ia juga mempunyai beberapa besar mengamalkan masalah. 20 00:01:07,810 --> 00:01:11,260 Dan kemudian, Google adalah besar juga. 21 00:01:11,260 --> 00:01:12,360 Saya tidak tahu apa yang anda akan menggunakannya untuk. 22 00:01:12,360 --> 00:01:14,090 Tetapi menggunakan Google, juga. 23 00:01:14,090 --> 00:01:16,680 >> Hulurkanlah kepada saya jika anda mempunyai sebarang soalan, komen, atau kebimbangan. 24 00:01:16,680 --> 00:01:19,420 Melihat ke atas sesi kajian semula itu slaid daripada malam semalam. 25 00:01:19,420 --> 00:01:21,540 Atau, jika anda mempunyai masa, menonton video. 26 00:01:21,540 --> 00:01:24,930 Mereka menyediakan banyak membantu bahan dan maklumat. 27 00:01:24,930 --> 00:01:29,730 Dan cuba menutup jika tidak semua, kebanyakan topik yang kita telah dilindungi dan anda 28 00:01:29,730 --> 00:01:32,610 mungkin melihat kuiz. 29 00:01:32,610 --> 00:01:35,590 >> Bercakap kuiz, yang akan esok. 30 00:01:35,590 --> 00:01:37,260 Ia 75 minit. 31 00:01:37,260 --> 00:01:40,740 Ramai daripada anda mengambil ia pada 1 pukul, dan di antara kamu adalah 32 00:01:40,740 --> 00:01:42,740 mengambilnya pada 5:30. 33 00:01:42,740 --> 00:01:45,300 Untuk masa yang anda mengambil ia dan lokasi anda mengambil, pastikan 34 00:01:45,300 --> 00:01:49,400 anda menyemak dokumen itu pada laman utama CS50.net itu. 35 00:01:49,400 --> 00:01:54,340 >> Ingatlah bahawa anda boleh mendapatkan satu 8 1/2 sebanyak 11 kunci untuk mengambil dengan anda. 36 00:01:54,340 --> 00:01:57,310 Sering kali, orang tidak menggunakan ini kunci di semua semasa kuiz. 37 00:01:57,310 --> 00:01:59,740 Tetapi benar-benar, ia adalah satu yang amat alat kajian membantu. 38 00:01:59,740 --> 00:02:04,370 Jadi bersama-sama meletakkan kunci yang apa Saya menghabiskan mungkin tiga atau empat jam 39 00:02:04,370 --> 00:02:07,110 melakukan apabila saya belajar untuk CS50, dan yang mudah yang paling berguna 40 00:02:07,110 --> 00:02:08,740 cara yang saya boleh belajar untuk kuiz. 41 00:02:08,740 --> 00:02:10,949 Jadi, walaupun anda mempunyai beberapa anak dia kajian panduan untuk melihat dan 42 00:02:10,949 --> 00:02:14,740 digunakan sebagai rujukan, saya sangat mengesyorkan membuat kajian panduan anda sendiri, meletakkan 43 00:02:14,740 --> 00:02:15,490 barangan yang bersama-sama. 44 00:02:15,490 --> 00:02:17,335 Yang benar-benar membantu anda belajar semua bahan. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Akhir sekali dalam seksyen ini, selepas kuiz esok ada satu 47 00:02:24,810 --> 00:02:25,940 lebih kuliah - 48 00:02:25,940 --> 00:02:26,960 Isnin depan. 49 00:02:26,960 --> 00:02:30,430 Ada satu bahagian lagi, tidak akan datang Selasa sebelum Kesyukuran, tetapi 50 00:02:30,430 --> 00:02:31,630 Selasa selepas itu. 51 00:02:31,630 --> 00:02:36,600 Kami akan bertemu bersama-sama untuk akhir parti selamat tinggal dan juga melakukan beberapa sejuk 52 00:02:36,600 --> 00:02:41,530 perkara untuk anda semua teruja kira-kira melanjutkan pelajaran dalam bidang sains komputer. 53 00:02:41,530 --> 00:02:45,040 >> Ada satu projek yang lebih, satu lagi adil, satu lagi hackathon. 54 00:02:45,040 --> 00:02:47,900 Kami menghampiri akhir CS50, yang menarik - 55 00:02:47,900 --> 00:02:50,950 tetapi juga, jika anda seperti saya, sedikit sedih. 56 00:02:50,950 --> 00:02:53,950 Sebelum saya bergerak, adakah sesiapa yang mempunyai sebarang soalan mengenai apa yang 57 00:02:53,950 --> 00:02:55,200 kami telah dilindungi setakat ini? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> OK, baik mari kita pergi ke beberapa soalan yang anda ada untuk kuiz dan topik 60 00:03:08,730 --> 00:03:09,960 kita mungkin menutup. 61 00:03:09,960 --> 00:03:11,540 Jadi ini adalah senarai yang saya bersama-sama. 62 00:03:11,540 --> 00:03:15,500 Ia bukanlah lengkap, tetapi diharap akan berjoging memori anda jika anda 63 00:03:15,500 --> 00:03:20,310 mempunyai beberapa soalan tentang mana-mana topik, atau jika anda mempunyai soalan mengenai 64 00:03:20,310 --> 00:03:23,260 masalah amalan dari kuiz pada tahun-tahun yang lepas. 65 00:03:23,260 --> 00:03:27,470 >> Saya mempunyai beberapa soalan yang melalui e-mel kepada saya, tetapi saya mahu bertahan 66 00:03:27,470 --> 00:03:29,490 kepada orang-orang untuk kali kedua. 67 00:03:29,490 --> 00:03:34,570 Adakah sesiapa mempunyai apa-apa soalan, masalah yang mereka tidak faham, 68 00:03:34,570 --> 00:03:38,100 jawapan yang mereka tidak faham untuk kita bermula? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> PENONTON: Bolehkah anda hanya pergi ke atas DOM dan Ajax benar-benar cepat? 71 00:03:41,585 --> 00:03:46,540 Seperti, apa yang kita perlu tahu atau sepatutnya memahami tentang mereka? 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: saya akan menjawab biasanya soalan ini, apa yang saya 73 00:03:49,750 --> 00:03:52,100 perlu tahu tentang topik yang diberikan x? 74 00:03:52,100 --> 00:03:55,280 Kerana saya mempunyai perasaan ramai daripada anda akan bertanya kepada saya itu, atau adalah 75 00:03:55,280 --> 00:03:56,570 ingin tahu tentang itu. 76 00:03:56,570 --> 00:04:02,920 Jadi setakat mana topik itu dibincangkan dalam kuliah, atau seksyen, atau pada 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, masalah ditetapkan, anda perlu biasa dengan ia. 78 00:04:06,460 --> 00:04:10,580 >> Jadi anda tidak perlu tahu setiap jenis tag yang boleh didapati dalam HTML atau 79 00:04:10,580 --> 00:04:15,950 setiap jenis sifat atau harta anda boleh memberikan sesuatu dalam CSS. 80 00:04:15,950 --> 00:04:20,204 Tetapi jika anda melihat dalam contoh kuliah, jika anda melihat ia dalam masalah 81 00:04:20,204 --> 00:04:23,290 set, anda mungkin perlu membiasakan diri dengan itu, terutamanya perkara yang anda nampak 82 00:04:23,290 --> 00:04:24,260 dalam kuliah. 83 00:04:24,260 --> 00:04:28,510 Jadi kita membincangkan dokumen itu membantah model sedikit dalam 84 00:04:28,510 --> 00:04:30,530 seksyen, lebih-lebih lagi dalam kuliah. 85 00:04:30,530 --> 00:04:32,990 Anda perlu membiasakan diri dengan yang banyak daripadanya. 86 00:04:32,990 --> 00:04:34,750 >> Dan anda perlu biasa dengan Ajax ke tahap yang sama. 87 00:04:34,750 --> 00:04:38,105 Kita tidak pernah melihat sangat maju atau contoh rumit Ajax, jadi 88 00:04:38,105 --> 00:04:40,920 anda tidak akan diminta melakukan sesuatu yang sangat rumit. 89 00:04:40,920 --> 00:04:45,180 Tetapi anda mungkin bertanya, bagaimana saya membuat panggilan Ajax menggunakan jQuery? 90 00:04:45,180 --> 00:04:47,350 Yang merupakan sesuatu yang anda telah melihat sebilangan kali sebelum ini, kedua-dua dalam 91 00:04:47,350 --> 00:04:51,370 sesi dan dalam syarahan mengkaji semula, dan ia hanya garis dua ish kod. 92 00:04:51,370 --> 00:04:53,190 >> Jadi itu adalah sesuatu yang anda perlu membiasakan diri dengan. 93 00:04:53,190 --> 00:04:55,550 Tetapi sekali lagi, untuk semua topik-topik ini, jika anda telah melihat ia 94 00:04:55,550 --> 00:04:59,220 sebelum ini, adalah permainan yang adil. 95 00:04:59,220 --> 00:05:01,540 Dan kita akan bertanya - jelas, kami akan meminta anda perkara yang anda 96 00:05:01,540 --> 00:05:02,340 tidak pernah melihat sebelum ini. 97 00:05:02,340 --> 00:05:04,240 Coding sesuatu yang anda tidak mempunyai lihat sebelum ini. 98 00:05:04,240 --> 00:05:06,570 Yang tidak bermakna anda tidak mempunyai melihat alat untuk menyelesaikan 99 00:05:06,570 --> 00:05:08,120 masalah yang sebelum ini. 100 00:05:08,120 --> 00:05:09,200 Anda telah melihat orang-orang alat. 101 00:05:09,200 --> 00:05:11,160 >> Sebagai contoh, pada Kuiz 1, jika anda perlu memberi kod strlen. 102 00:05:11,160 --> 00:05:12,790 Kami tidak dikodkan strlen sebelum ini. 103 00:05:12,790 --> 00:05:14,980 Tetapi anda tahu bagaimana untuk menggunakan untuk gelung, anda tahu bagaimana untuk menggunakan jika keadaan. 104 00:05:14,980 --> 00:05:18,570 Anda tahu bagaimana untuk menulis pembolehubah dalam C. Ia akan menjadi perkara yang sama di sini. 105 00:05:18,570 --> 00:05:22,350 Anda tidak akan diminta untuk melakukan apa sahaja yang anda tidak pernah melihat sebelum ini, tetapi 106 00:05:22,350 --> 00:05:25,150 anda mungkin akan diminta untuk, seperti, meletakkan sesuatu bersama-sama dengan cara yang baru, atau 107 00:05:25,150 --> 00:05:27,650 menyelesaikan berlainan jenis masalah. 108 00:05:27,650 --> 00:05:30,830 >> Maaf, itu bukan khusus untuk anda soalan, tetapi saya tidak boleh menjawab kira-kira 109 00:05:30,830 --> 00:05:34,390 setiap topik tunggal apa yang anda lakukan atau tidak perlu tahu. 110 00:05:34,390 --> 00:05:36,830 Tetapi juga, maaf, Perkara terakhir pada itu. 111 00:05:36,830 --> 00:05:42,900 Kami telah menghabiskan lebih banyak masa pada senarai pautan daripada kita mempunyai di Ajax. 112 00:05:42,900 --> 00:05:46,160 Anda tidak menggunakan Ajax dalam satu set masalah. 113 00:05:46,160 --> 00:05:48,510 Salah satu ciri utama yang masalah menetapkan bahawa adalah senarai link. 114 00:05:48,510 --> 00:05:50,370 Dan kita menghabiskan banyak masa dalam kuliah dan seksyen menggunakannya. 115 00:05:50,370 --> 00:05:57,080 >> Jadi, kemungkinan adalah senarai Pautan akan datang lebih sering kuiz daripada Ajax akan. 116 00:05:57,080 --> 00:06:00,390 Atau soalan-soalan yang mempunyai kaitan dengan link senarai akan bernilai lebih banyak mata. 117 00:06:00,390 --> 00:06:03,520 Jadi, anda sudah tentu boleh memberi tumpuan dan sempit di atas perkara-perkara yang lebih 118 00:06:03,520 --> 00:06:06,720 mungkin datang kerana kami mempunyai menghabiskan lebih banyak masa kepada mereka. 119 00:06:06,720 --> 00:06:08,700 >> OK apa-apa soalan lain? 120 00:06:08,700 --> 00:06:09,890 Yeah. 121 00:06:09,890 --> 00:06:13,660 >> PENONTON: Bolehkah kita pergi ke atas penggunaan fungsi tanpa nama dalam JavaScript? 122 00:06:13,660 --> 00:06:17,140 Saya adalah sedikit keliru tentang itu. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Jadi dalam JavaScript - 124 00:06:20,180 --> 00:06:24,400 Saya cuba untuk berfikir bagaimana saya boleh menulis ini pada - 125 00:06:24,400 --> 00:06:27,590 jadi mari kita sebenarnya membuka kod ini. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Jadi ini adalah kod yang kita lakukan minggu lepas. 128 00:06:36,030 --> 00:06:41,400 Dan anda telah melihat sebelum ini jika anda berada di sini dalam bahagian minggu lepas. 129 00:06:41,400 --> 00:06:43,180 Atau anda telah melihat sesuatu serupa dengan ini sebelum ini. 130 00:06:43,180 --> 00:06:44,800 >> Tetapi anda boleh melihat garis pertama ini. 131 00:06:44,800 --> 00:06:46,950 Ini adalah bagaimana anda mula - 132 00:06:46,950 --> 00:06:48,010 semua orang melihat ini sebelum ini. 133 00:06:48,010 --> 00:06:51,930 Jika anda ingin meletakkan beberapa kod JavaScript, anda meletakkan ia di dalam ini, dengan andaian 134 00:06:51,930 --> 00:06:53,520 anda menggunakan JQuery. 135 00:06:53,520 --> 00:06:56,940 Ini berkata, tidak berbuat apa-apa sehingga dimuatkan dokumen itu. 136 00:06:56,940 --> 00:06:59,940 >> Dan kemudian, Curt, anda lihat di sini kita melakukan sesuatu seperti ini - 137 00:06:59,940 --> 00:07:02,560 fungsi paren terbuka, tertutup paren. 138 00:07:02,560 --> 00:07:05,250 Oleh itu, kita tidak memberikan ini berfungsi nama. 139 00:07:05,250 --> 00:07:09,160 Kami tidak akan menentukan fungsi ini sepatutnya untuk menjalankan dan kemudian 140 00:07:09,160 --> 00:07:10,830 memanggilnya sekumpulan kali. 141 00:07:10,830 --> 00:07:15,140 Kami hanya mengatakan dokumen ini sudah mengambil fungsi. 142 00:07:15,140 --> 00:07:16,690 Beberapa perkara yang perlu dilakukan. 143 00:07:16,690 --> 00:07:20,670 >> Dan kita tidak mahu menghabiskan masa yang memberikan nama atau simpan untuk 144 00:07:20,670 --> 00:07:21,650 lamanya. 145 00:07:21,650 --> 00:07:24,150 Kami hanya mahu menjalankan beberapa perkara. 146 00:07:24,150 --> 00:07:27,500 Jadi fungsi jenis tanpa nama daripada berfungsi maksud itu. 147 00:07:27,500 --> 00:07:30,280 Apabila anda tidak akan menggunakan sesuatu yang berulang-ulang kali, jadi anda tidak perlu 148 00:07:30,280 --> 00:07:32,420 untuk memberikan nama yang - anda hanya mahu menggunakannya sekali - 149 00:07:32,420 --> 00:07:36,720 anda hanya akan berkata fungsi, untuk Sebagai contoh, dalam kes ini, dan anda hanya 150 00:07:36,720 --> 00:07:38,280 menentukan sesuatu yang anda boleh memberi nama. 151 00:07:38,280 --> 00:07:40,920 >> Seperti, kita boleh tarik fungsi ini keluar dan memberikan nama dan kemudian memanggil bahawa 152 00:07:40,920 --> 00:07:41,760 berfungsi di sini. 153 00:07:41,760 --> 00:07:44,270 Tetapi kita tidak perlu kerana kita tidak mahu membuang masa memberikan nama atau 154 00:07:44,270 --> 00:07:46,240 membuang sesuatu di ruang nama kami. 155 00:07:46,240 --> 00:07:47,530 Dan anda akan melihat bahawa banyak. 156 00:07:47,530 --> 00:07:52,810 Sebagai contoh, kita lihat bahawa banyak dalam ini kod, tetapi anda telah melihat ini sebelum ini apabila 157 00:07:52,810 --> 00:07:54,010 anda klik sesuatu - 158 00:07:54,010 --> 00:07:55,980 menjalankan jenis ini kod. 159 00:07:55,980 --> 00:07:59,850 >> Kita boleh menentukan kod yang kita mahu untuk menjalankan apabila kita klik, dalam kes ini, 160 00:07:59,850 --> 00:08:03,450 ID ini, sebagai fungsi yang berasingan dan kemudian berjalan fungsi itu. 161 00:08:03,450 --> 00:08:07,940 Tetapi dalam kes ini, kami hanya ponteng langkah dan bergerak ke sini dan 162 00:08:07,940 --> 00:08:10,340 hanya untuk menentukan segala-galanya yang kita mahu berlaku dan 163 00:08:10,340 --> 00:08:12,450 tidak memberikan nama. 164 00:08:12,450 --> 00:08:15,550 Yang masih mungkin tidak mempunyai menjawab soalan anda. 165 00:08:15,550 --> 00:08:15,960 >> PENONTON: Tidak, ia tidak. 166 00:08:15,960 --> 00:08:18,290 Maksud saya, saya rasa saya hanya tidak benar-benar mendapatkan mengapa ia akan menjadi 167 00:08:18,290 --> 00:08:20,800 berfungsi pada semua, walaupun. 168 00:08:20,800 --> 00:08:21,590 Kerana ia tidak benar-benar dipanggil. 169 00:08:21,590 --> 00:08:23,170 Ia tidak benar-benar mempunyai nama. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: Ia adalah satu fungsi dalam akal bahawa ia adalah satu siri langkah-langkah, 171 00:08:25,510 --> 00:08:28,460 seperti anda akan dimasukkan ke dalam satu majlis. 172 00:08:28,460 --> 00:08:29,970 Dan kemudian itulah sebabnya kita panggil ia berfungsi tanpa nama. 173 00:08:29,970 --> 00:08:30,815 Kami tidak akan memberikan nama. 174 00:08:30,815 --> 00:08:33,159 Kami tidak akan membazirkan cuba untuk menamakan ia, tetapi kita boleh. 175 00:08:33,159 --> 00:08:34,890 >> Fungsi tanpa nama, anda sentiasa boleh memberi nama. 176 00:08:34,890 --> 00:08:37,620 Sebagai contoh, kod ini di sini, kita boleh meletakkan kod ini di dalam 177 00:08:37,620 --> 00:08:39,929 fungsi dan kemudian memanggil fungsi ini di sini. 178 00:08:39,929 --> 00:08:41,600 Sebaliknya, kita katakan, kita tidak akan bersusah payah dengan itu. 179 00:08:41,600 --> 00:08:44,390 Kami hanya akan menulis ia semua di sini. 180 00:08:44,390 --> 00:08:49,840 >> Ia seperti kadang-kadang apabila anda menulis gelung empat C - anda semua 181 00:08:49,840 --> 00:08:51,630 telah melihat ini sebelum - mungkin anda iterating melalui forloop yang 182 00:08:51,630 --> 00:08:53,090 ke i sama dengan 0. 183 00:08:53,090 --> 00:08:54,830 Saya adalah kurang daripada strlen. 184 00:08:54,830 --> 00:08:59,520 Atau anda akan melalui beberapa pelbagai, anda boleh menyimpan pelbagai 185 00:08:59,520 --> 00:09:01,580 indeks i dalam beberapa pembolehubah. 186 00:09:01,580 --> 00:09:02,830 Dan anda menggunakan pembolehubah yang. 187 00:09:02,830 --> 00:09:06,550 Jadi anda tidak perlu untuk menulis semula pelbagai kurungan i berulang-ulang. 188 00:09:06,550 --> 00:09:08,160 >> Dan itulah jenis seperti pembolehubah dummy. 189 00:09:08,160 --> 00:09:10,790 Ia tidak berkhidmat tujuan banyak selain untuk membuat kod anda lebih bersih sedikit 190 00:09:10,790 --> 00:09:12,120 dan lebih mudah untuk dibaca. 191 00:09:12,120 --> 00:09:13,290 Fungsi yang serupa di sini. 192 00:09:13,290 --> 00:09:15,665 Hanya menjadikannya lebih mudah, tetapi fungsi tidak ada perbezaan. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Adakah yang menjawab soalan anda? 195 00:09:19,330 --> 00:09:19,970 >> PENONTON: Ya. 196 00:09:19,970 --> 00:09:20,720 >> JASON Hirschhorn: OK .. 197 00:09:20,720 --> 00:09:21,880 Mario? 198 00:09:21,880 --> 00:09:25,380 >> PENONTON: Semalam mereka sering meletakkan fungsi kurungan acara. 199 00:09:25,380 --> 00:09:26,420 Adakah ini bermakna sesuatu? 200 00:09:26,420 --> 00:09:30,500 Atau adalah untuk perkara-perkara seperti bahawa mereka akan melakukan 201 00:09:30,500 --> 00:09:35,100 document.ready acara fungsi. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Kami telah melihat ini, dan lagi, ini adalah perkara-perkara yang lebih kecil yang 203 00:09:37,130 --> 00:09:39,590 mungkin saya tidak mahu menghabiskan terlalu banyak masa di. 204 00:09:39,590 --> 00:09:43,200 Kerana kadang-kadang saya tidak mahu orang mendapatkan yg ditandai keluar bahawa mereka tidak mempunyai 205 00:09:43,200 --> 00:09:44,220 mendengar tentang perkara-perkara yang banyak. 206 00:09:44,220 --> 00:09:46,200 Tetapi kita bercakap sedikit tentang pengendali acara. 207 00:09:46,200 --> 00:09:50,360 Jadi sesuatu berlaku, dan kemudian fungsi ini dilaksanakan. 208 00:09:50,360 --> 00:09:53,210 Dan kemudian kita juga mahu tahu beberapa maklumat tentang apa yang 209 00:09:53,210 --> 00:09:54,450 berlaku dalam acara ini. 210 00:09:54,450 --> 00:09:55,730 >> Jadi berfikir kembali kepada masalah yang ditetapkan 4. 211 00:09:55,730 --> 00:09:58,390 Itu mungkin cara paling mudah untuk faham bahawa dalam pecah keluar. 212 00:09:58,390 --> 00:09:59,740 Terdapat beberapa kod - 213 00:09:59,740 --> 00:10:01,980 seperti peristiwa yang akan berlaku, tetapi acara boleh bermaksud banyak perkara. 214 00:10:01,980 --> 00:10:06,240 Jika boleh bermakna tetikus diklik, ia bermakna anda memukul kunci anak panah, et 215 00:10:06,240 --> 00:10:07,190 sebagainya, dan sebagainya. 216 00:10:07,190 --> 00:10:09,800 >> Tetapi itu semua disimpan di dalam ini generik perkara dipanggil acara. 217 00:10:09,800 --> 00:10:12,340 Dan kemudian kita boleh berkata, adalah acara ini perkara ini? 218 00:10:12,340 --> 00:10:13,640 Atau ini acara perkara ini? 219 00:10:13,640 --> 00:10:15,500 Atau, apakah yang berlaku dengan acara itu? 220 00:10:15,500 --> 00:10:18,660 Jadi itulah sebabnya anda membuat pembolehubah yang di sana untuk menyelamatkan maklumat tambahan 221 00:10:18,660 --> 00:10:21,420 mengenai apa sebenarnya yang berlaku yang anda akan mahu 222 00:10:21,420 --> 00:10:24,840 menggunakan dalam majlis itu. 223 00:10:24,840 --> 00:10:28,200 Tetapi sekali lagi, itu mungkin salah satu perkara kurang penting untuk super 224 00:10:28,200 --> 00:10:29,450 biasa dengan. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, apa soalan lain mempunyai orang mempunyai, atau halangan mereka telah 227 00:10:36,110 --> 00:10:37,360 dihadapi semasa mengkaji? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Kami akan menyokong ke dalam senarai itu. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Bagaimana pula dalam amalan kuiz, jika orang telah mengambil mereka yang sudah? 232 00:10:56,080 --> 00:10:59,110 Apa beberapa masalah yang tersandung kalian sehingga? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Saya tahu hakikatnya bahawa tahun lepas kuiz adalah benar-benar keras. 235 00:11:12,720 --> 00:11:15,670 >> PENONTON: Bolehkah anda menjelaskan apa yang serangan suntikan SQL adalah? 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: OK, hebat. 237 00:11:18,970 --> 00:11:20,440 Oleh itu, kita bercakap tentang ini sedikit. 238 00:11:20,440 --> 00:11:22,050 Ada syarahan mengenai keselamatan. 239 00:11:22,050 --> 00:11:25,670 Dan sekali lagi, seperti yang saya nyatakan sebelum ini, ini adalah diketepikan. 240 00:11:25,670 --> 00:11:30,010 Tetapi anda akan kecewa kuiz apabila anda membaca kira-kira dua titik kecil 241 00:11:30,010 --> 00:11:33,040 soalan, dan anda seperti, apabila yang saya pernah belajar itu? 242 00:11:33,040 --> 00:11:35,560 >> Semua perkara-perkara dalam mereka kuliah yang anda tidak berfikir anda diperlukan untuk 243 00:11:35,560 --> 00:11:38,290 tahu, atau anda boleh menyembunyikan kerana mereka tidak mempunyai kaitan dengan 244 00:11:38,290 --> 00:11:41,860 set masalah, mereka akan mungkin datang sekali lagi pada kuiz. 245 00:11:41,860 --> 00:11:45,030 Jadi, sejuk, perkara yang menyeronokkan yang anda hanya fikir Daud memberitahu untuk anda 246 00:11:45,030 --> 00:11:49,070 menikmati, beliau telah memberitahu anda untuk anda menikmati dan untuk membuat anda hanya menjadi super 247 00:11:49,070 --> 00:11:50,550 teruja pembelajaran semua ada untuk belajar 248 00:11:50,550 --> 00:11:51,670 tentang sains komputer. 249 00:11:51,670 --> 00:11:53,680 Perkara-perkara yang juga datang pada kuiz. 250 00:11:53,680 --> 00:11:56,440 Jadi, walaupun perkara-perkara ini kecil yang tidak langsung berkaitan dengan masalah anda 251 00:11:56,440 --> 00:11:59,630 ditetapkan, sebagai anda semua biasa dengan dari Kuiz 0, mungkin akan datang. 252 00:11:59,630 --> 00:12:01,530 Dan ini adalah contoh yang baik sesuatu. 253 00:12:01,530 --> 00:12:10,140 >> Jadi serangan suntikan SQL adalah apabila anda mendapatkan maklumat dari pengguna dan 254 00:12:10,140 --> 00:12:15,090 anda mahu masukkan ke dalam jadual yang menggunakan kenyataan memasukkan SQL, tetapi anda 255 00:12:15,090 --> 00:12:17,680 tidak membersihkan input lebih awal daripada masa. 256 00:12:17,680 --> 00:12:21,560 Jadi, jelas kita lihat Pernyataan SQL. 257 00:12:21,560 --> 00:12:22,810 Saya hanya akan membuka - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 mari kita pergi - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 kami akan pergi ke kajian - 262 00:12:31,960 --> 00:12:35,180 Saya fikir, yang menutupinya? 263 00:12:35,180 --> 00:12:36,350 Saya rasa Samala lakukan. 264 00:12:36,350 --> 00:12:39,292 Oleh itu, kita boleh mendapatkan - 265 00:12:39,292 --> 00:12:41,270 >> PENONTON: Di manakah anda mendapati ini? 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Jadi, jika anda pergi ke CS50.net, kuiz, dan kemudian anda boleh 267 00:12:44,990 --> 00:12:47,170 tatal ke atas dan mendapatkan slaid dari sesi kajian. 268 00:12:47,170 --> 00:12:49,860 Tetapi anda boleh melihat ini adalah satu contoh yang baik serangan suntikan SQL. 269 00:12:49,860 --> 00:12:53,690 Kami mengambil beberapa maklumat daripada pengguna dan mereka memberi kita tali, dan kemudian kita 270 00:12:53,690 --> 00:12:55,780 ingin memasukkan tali yang ke dalam pangkalan data. 271 00:12:55,780 --> 00:12:59,780 Secara umumnya kita akan membersihkan bahawa input, yang bermakna terdapat beberapa 272 00:12:59,780 --> 00:13:01,050 watak-watak yang berbahaya. 273 00:13:01,050 --> 00:13:04,000 >> Sebagai contoh, dalam rentetan SQL, sebut harga ini - 274 00:13:04,000 --> 00:13:05,000 petikan tunggal atau sebut harga dua kali ganda - 275 00:13:05,000 --> 00:13:05,620 bermakna sesuatu. 276 00:13:05,620 --> 00:13:08,380 Mereka bermakna berakhir rentetan ini di sini. 277 00:13:08,380 --> 00:13:13,090 Dan jadi jika pengguna memberi anda satu atau petikan berganda, mereka boleh 278 00:13:13,090 --> 00:13:18,970 cuba untuk perjalanan sehingga pertanyaan SQL anda dan memasukkan beberapa perkara yang tidak baik ke dalamnya. 279 00:13:18,970 --> 00:13:23,130 Dan jika mereka berbuat demikian, mereka boleh mendapat kawalan pangkalan data anda atau melakukan 280 00:13:23,130 --> 00:13:24,760 perkara-perkara yang anda tidak mahu mereka lakukan. 281 00:13:24,760 --> 00:13:28,300 >> Jadi itulah sebabnya apabila kita mengambil SQL pertanyaan, kami membersihkan input sebelum 282 00:13:28,300 --> 00:13:31,090 memasukkannya ke dalam pangkalan data yang bermakna kita melarikan diri mereka watak-watak. 283 00:13:31,090 --> 00:13:32,590 Kami akan bercakap tentang itu dalam satu saat. 284 00:13:32,590 --> 00:13:35,820 Tetapi cerita panjang pendek, suntikan SQL serangan adalah jika anda tidak berbuat demikian - 285 00:13:35,820 --> 00:13:39,760 jika anda tidak menjaga input mereka memberi anda sebelum meletakkan anda 286 00:13:39,760 --> 00:13:46,830 pangkalan data, mereka boleh, seperti yang anda lihat ke bawah di sini, jalankan pertanyaan itu, sebenarnya - 287 00:13:46,830 --> 00:13:52,470 mereka dimasukkan ke dalam kod mereka turun di sini dan line pilih ini turun di sini akan memilih 288 00:13:52,470 --> 00:13:56,360 segala-galanya dari meja tanpa mengira apa kata laluan yang diberikan. 289 00:13:56,360 --> 00:13:58,960 Kerana anda mempunyai atau 1 sama 1. 290 00:13:58,960 --> 00:14:02,750 >> Jadi ia pada dasarnya, cerita panjang pendek, satu cara untuk mengambil alih pangkalan data. 291 00:14:02,750 --> 00:14:07,570 Persoalannya, maka, untuk anda semua, adalah di mana dalam p set 7 adakah anda membersihkan semua 292 00:14:07,570 --> 00:14:10,010 input kepada pertanyaan SQL anda? 293 00:14:10,010 --> 00:14:11,230 Di mana langkah yang berlaku? 294 00:14:11,230 --> 00:14:14,150 Di manakah anda mencegah suntikan SQL serangan daripada berlaku dalam p menetapkan 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Yeah. 297 00:14:20,490 --> 00:14:21,870 >> PENONTON: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Jadi ia tidak crypt. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Kami tidak membuat anda melakukan ini untuk ini masalah tertentu ditetapkan, tetapi ia berlaku 301 00:14:55,380 --> 00:14:58,190 dalam fungsi pertanyaan. 302 00:14:58,190 --> 00:15:00,930 Kami sebenarnya menulis untuk anda, dan kami menjaga yang 303 00:15:00,930 --> 00:15:03,040 sanitasi input untuk anda. 304 00:15:03,040 --> 00:15:07,790 Tetapi pada tahun-tahun yang lepas, pelajar mempunyai menaip input sendiri. 305 00:15:07,790 --> 00:15:10,020 Dalam p set 7, banyak anda - 306 00:15:10,020 --> 00:15:11,270 biarlah saya membuka satu fail lain. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Jadi, anda akan melihat di sini banyak orang, dalam masalah menetapkan 7, tidak memanggil 309 00:15:22,590 --> 00:15:25,240 fungsi ini pada tali. 310 00:15:25,240 --> 00:15:27,880 Fungsi ini, htmlspecialchars, lagi - 311 00:15:27,880 --> 00:15:31,410 tali ini mungkin mempunyai beberapa perkara yang bahawa dalam HTML maksud sesuatu yang berlainan. 312 00:15:31,410 --> 00:15:36,160 Seperti pendakap, persegi, atau sudut kurungan bermakna sesuatu dalam HTML. 313 00:15:36,160 --> 00:15:38,980 >> Dan jadi jika anda mencetak bahawa daripada kepada skrin atau jika anda hanya mengambil itu dan 314 00:15:38,980 --> 00:15:42,260 mencetak tersebut kepada HTML anda, kekuatan yang melakukan sesuatu yang anda tidak jangkakan. 315 00:15:42,260 --> 00:15:45,180 Jadi htmlspecialchars pergi lebih semua orang watak-watak yang mempunyai khas 316 00:15:45,180 --> 00:15:47,030 mesyuarat dan melarikan diri mereka. 317 00:15:47,030 --> 00:15:51,450 Jadi ia mendapat dicetak sebagai teks yang anda mahu melihat, daripada 318 00:15:51,450 --> 00:15:53,280 merenyukkan HTML anda. 319 00:15:53,280 --> 00:15:55,040 Kami dipanggil fungsi yang dalam pengepala. 320 00:15:55,040 --> 00:15:57,390 Dan ramai orang terlupa untuk memanggil fungsi dalam 321 00:15:57,390 --> 00:15:58,700 kod anda telah menulis. 322 00:15:58,700 --> 00:16:03,970 >> Jadi, sebagai contoh, jika nama saham mempunyai kurungan sudut di dalamnya dan anda terlupa 323 00:16:03,970 --> 00:16:06,675 untuk memanggil fungsi ini, sudut yang kurungan boleh dibuang dari apa yang 324 00:16:06,675 --> 00:16:08,250 HTML anda kelihatan seperti. 325 00:16:08,250 --> 00:16:11,810 Tetapi memanggil fungsi ini akan melarikan diri yang jadi ia sebenarnya akan paparkan sebagai 326 00:16:11,810 --> 00:16:15,870 kurungan sudut dan tidak membuang off kod HTML anda. 327 00:16:15,870 --> 00:16:18,760 >> Sebab sama kita lihat, kadang-kadang, garis condong sebelum sebut harga berganda dalam 328 00:16:18,760 --> 00:16:22,310 printf talian kerana kita tidak mahu petikan berganda turun tali. 329 00:16:22,310 --> 00:16:24,050 Kami mahu mencetak mereka keluar ke skrin. 330 00:16:24,050 --> 00:16:26,920 Jadi semua ini adalah idea yang sama. 331 00:16:26,920 --> 00:16:28,260 Adakah yang menjawab soalan anda? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> PENONTON: Jenis. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: Adakah anda mempunyai susulan? 335 00:16:35,300 --> 00:16:43,252 >> PENONTON: Saya rasa suntikan SQL serangan mempunyai kaitan dengan itu? 336 00:16:43,252 --> 00:16:45,720 Saya tidak faham bagaimana kedua-dua adalah berkaitan. 337 00:16:45,720 --> 00:16:47,610 Mengapa anda akan melakukan perkara yang specialchars? 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: OK, jadi SQL serangan suntikan adalah apabila anda menyuntik 339 00:16:51,200 --> 00:16:59,180 beberapa tali yang berniat jahat ke dalam seseorang itu program, dan mereka hanya mengambil dan menjalankan 340 00:16:59,180 --> 00:17:01,230 pertanyaan SQL dengan tali anda berikan kepada mereka. 341 00:17:01,230 --> 00:17:04,220 Seperti yang anda boleh melihat ke bawah di sini, bahawa boleh menimbulkan masalah. 342 00:17:04,220 --> 00:17:07,480 Jadi cara yang anda mengelakkan daripada yang anda mengambil tali mereka yang mereka berikan 343 00:17:07,480 --> 00:17:09,220 anda - jadi tali ini di sini - 344 00:17:09,220 --> 00:17:11,240 dan anda membersihkan ia. 345 00:17:11,240 --> 00:17:14,305 Anda melarikan diri semua perkara yang berpotensi bermasalah. 346 00:17:14,305 --> 00:17:18,626 Jadi anda tidak mentafsirkan mereka sebagai sesuatu yang yang bermaksud sesuatu. 347 00:17:18,626 --> 00:17:23,390 >> Dan satu contoh bahawa dengan HTML adalah fungsi ini. 348 00:17:23,390 --> 00:17:26,060 Jadi ia adalah idea yang sama di sini. 349 00:17:26,060 --> 00:17:27,579 Dan saya hanya menunjukkan anda yang lain contoh apabila anda telah 350 00:17:27,579 --> 00:17:29,030 melihat idea ini sebelum ini. 351 00:17:29,030 --> 00:17:33,913 Melepaskan diri input pengguna sebelum mencetak ia keluar ke skrin atau meletakkannya 352 00:17:33,913 --> 00:17:36,782 di dalam satu kenyataan SQL. 353 00:17:36,782 --> 00:17:40,790 >> PENONTON: Jadi dalam kes ini, pengguna adalah kerunsingan dengan pengaturcara. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Ya. 355 00:17:41,240 --> 00:17:44,800 Dengan semua serangan ini keselamatan, yang sentiasa umumnya pengguna, atau 356 00:17:44,800 --> 00:17:47,470 seseorang, cuba untuk mes dengan anda, pengaturcara. 357 00:17:47,470 --> 00:17:51,038 Dan ini adalah cara anda boleh mencegah terhadap mereka. 358 00:17:51,038 --> 00:17:54,280 >> PENONTON: Jadi saya mempunyai satu soalan tentang fungsi hash. 359 00:17:54,280 --> 00:17:59,340 Dalam Kuiz 1 dari tahun 2011, terdapat dua soalan mengenai Hash berat sebelah. 360 00:17:59,340 --> 00:18:02,540 Dan saya hanya tertanya-tanya apa yang dimaksudkan. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, yang kuiz? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> PENONTON: Yeah. 364 00:18:04,705 --> 00:18:06,720 >> PENONTON: Kuiz 1? 365 00:18:06,720 --> 00:18:08,620 >> PENONTON: [didengar]. 366 00:18:08,620 --> 00:18:09,940 Itu seperti sambil berbincang kata laluan. 367 00:18:09,940 --> 00:18:12,220 Itu tidak meletakkan sesuatu - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Apa halaman maklumat itu? 369 00:18:13,440 --> 00:18:15,720 >> PENONTON: Saya rasa ia adalah 9 atau 10, atau kedua-duanya. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: Baiklah, teruskan, Curt. 371 00:18:16,720 --> 00:18:17,780 Anda boleh menjawab manakala kita melihat. 372 00:18:17,780 --> 00:18:19,540 >> PENONTON: Saya rasa ia bercakap kira-kira sambil berbincang kata laluan. 373 00:18:19,540 --> 00:18:24,430 Seperti, apabila seseorang memasuki kata laluan, anda mengubahnya menjadi satu perkara yang disulitkan. 374 00:18:24,430 --> 00:18:27,395 Itulah kata laluan hash, yang berbeza daripada fungsi hash yang 375 00:18:27,395 --> 00:18:30,900 meletakkan sesuatu ke dalam jadual hash. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Mari kita lihat. 377 00:18:31,610 --> 00:18:33,930 Biar saya tarik sehingga apa yang mereka memberikan sebagai jawapan. 378 00:18:33,930 --> 00:18:35,440 Dan kemudian kita akan berjalan melaluinya. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Jadi Curt memberikan contoh yang baik seorang sehala hash. 381 00:18:45,400 --> 00:18:48,800 Apabila kita telah melihat ini sebelum ini, kami mengambil kata laluan dan bertukar - 382 00:18:48,800 --> 00:18:53,040 ingat, dalam p set 7, seseorang mungkin mempunyai kata laluan itulah kata laluan hanya, 383 00:18:53,040 --> 00:18:55,300 tetapi kemudian ia mendapat disulitkan ke dalam beberapa perkara benar-benar panjang. 384 00:18:55,300 --> 00:18:59,830 Sehala hash bermakna ia adalah sangat mudah pergi dari satu cara untuk yang lain, tetapi 385 00:18:59,830 --> 00:19:02,800 ia amat sukar untuk pergi dari sebaliknya kembali. 386 00:19:02,800 --> 00:19:05,230 >> Dan supaya anda tahu, apabila anda telah memeriksa kata laluan rakyat dalam masalah 387 00:19:05,230 --> 00:19:08,820 menetapkan 7, anda akan mengambil mereka - 388 00:19:08,820 --> 00:19:11,953 jadi, sebagai contoh, berkata mereka mahu menukar kata laluan mereka, anda bertanya kepada mereka 389 00:19:11,953 --> 00:19:13,130 kata laluan lama mereka. 390 00:19:13,130 --> 00:19:13,910 Anda telah mengambil kata laluan lama mereka. 391 00:19:13,910 --> 00:19:15,150 Anda disulitkan ia. 392 00:19:15,150 --> 00:19:19,240 Dan kemudian membandingkan dua encryptions bukannya unencrypting asal 393 00:19:19,240 --> 00:19:20,780 satu, kerana ia benar-benar sukar untuk pergi dengan cara itu. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Yeah. 396 00:19:28,035 --> 00:19:31,430 >> PENONTON: Bagaimana mendalam tidak kami pemahaman telnet perlu? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: Jika ia telah disebut secara ringkas di dalam kuliah, hanya ringkas 399 00:19:41,360 --> 00:19:43,260 pemahaman. 400 00:19:43,260 --> 00:19:45,585 Sekali lagi, kembali kepada jawapan yang kepada soalan ini Avi - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 perkara yang lebih datang, semakin besar kemungkinan ia anda perlu super 403 00:19:50,430 --> 00:19:51,530 biasa dengan mereka. 404 00:19:51,530 --> 00:19:54,730 Jika mereka telah hanya datang dalam kuliah, itu hanya satu tempat. 405 00:19:54,730 --> 00:19:57,180 Tetapi jika mereka datang dalam kuliah, seksyen, dan masalah yang ditetapkan, maka anda 406 00:19:57,180 --> 00:19:58,710 mungkin perlu super biasa dengan mereka. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Jadi saya terpaksa soalan daripada awal tentang - 409 00:20:03,960 --> 00:20:06,950 Adakah adalah kejatuhan 2010 - 410 00:20:06,950 --> 00:20:08,520 Kuiz 1, mari kita tarik ke atas - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 soalan ini pada susunan dan beratur, yang kita lakukan menghabiskan sedikit saksama masa 413 00:20:21,790 --> 00:20:23,720 bercakap tentang dalam kuliah, walaupun walaupun kita tidak benar-benar 414 00:20:23,720 --> 00:20:26,020 pernah memukul di bahagian. 415 00:20:26,020 --> 00:20:33,190 Jadi soalan ini memberikan anda satu siri arahan dan meminta anda apa yang 416 00:20:33,190 --> 00:20:35,560 mendapat dicetak dalam kes ini. 417 00:20:35,560 --> 00:20:40,180 Jadi ini adalah soalan yang benar-benar munasabah yang boleh diminta daripada anda 418 00:20:40,180 --> 00:20:43,090 lelaki, dan kemudian anda perlu lelaki dapat menjawabnya. 419 00:20:43,090 --> 00:20:50,020 >> Jadi mengapa tidak anda melihat ia selama 30 saat, dan kemudian jika ada sesiapa yang mahu 420 00:20:50,020 --> 00:20:52,140 mencadangkan jawapan kepada saya, dan maka kita akan berjalan melaluinya. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Baiklah, yang mempunyai jawapan mempersoalkan 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Yeah. 425 00:21:33,860 --> 00:21:40,250 >> PENONTON: Adakah 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: Betul. 427 00:21:40,780 --> 00:21:42,570 27 adalah 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Jadi mari kita lihat bagaimana kita mendapat itu. 429 00:21:44,510 --> 00:21:48,930 >> Pertama, kita akan berkata, jika s adalah barisan, apa yang akan dicetak? 430 00:21:48,930 --> 00:21:53,360 Jadi q adalah pertama dalam, mula-mula keluar. 431 00:21:53,360 --> 00:21:54,680 Kami telah melihat yang sebelum ini. 432 00:21:54,680 --> 00:21:56,820 Kami melihat gambar orang menunggu di Apple 433 00:21:56,820 --> 00:21:58,400 Menyimpan untuk membeli produk tertentu. 434 00:21:58,400 --> 00:22:00,900 Orang pertama di adalah orang pertama keluar. 435 00:22:00,900 --> 00:22:02,940 Perkara pertama dalam barisan adalah perkara pertama yang keluar. 436 00:22:02,940 --> 00:22:08,320 >> Jadi, jika kita menolak sesuatu ke dalam barisan, anda menolak 1, maka kita pop 1. 437 00:22:08,320 --> 00:22:09,630 Pop hanya bermakna mengambil. 438 00:22:09,630 --> 00:22:11,080 Dalam kes ini, hanya mengambil sesuatu yang keluar. 439 00:22:11,080 --> 00:22:12,910 Kami mengambil yang pertama perkara, itu adalah satu 1. 440 00:22:12,910 --> 00:22:15,200 Oleh itu, kita akan meletakkan perkara yang kita mencetak turun di sini. 441 00:22:15,200 --> 00:22:18,110 Ini tidak lagi dalam barisan kami. 442 00:22:18,110 --> 00:22:23,500 >> Maka kita menolak pada 2 dan 3, dan kita meninggal perkara pertama. 443 00:22:23,500 --> 00:22:25,030 Sekali lagi, kerana ia adalah barisan. 444 00:22:25,030 --> 00:22:33,320 Jadi kita akan mendapat 2, maka kita memakai satu lagi 3 dan panggilan pop lagi. 445 00:22:33,320 --> 00:22:34,980 3 kami adalah pertama. 446 00:22:34,980 --> 00:22:40,940 >> Dan kemudian kami mempunyai sejumlah besar perkara-perkara lain dan panggilan pop. 447 00:22:40,940 --> 00:22:43,740 Tetapi sekali lagi, kerana ini adalah barisan, masuk dahulu, keluar dahulu. 448 00:22:43,740 --> 00:22:45,980 Kami mengambil perkara pertama yang pernah meletakkan masuk 449 00:22:45,980 --> 00:22:47,100 Itulah 3 kami. 450 00:22:47,100 --> 00:22:50,060 Dan, dalam kes ini, kita tidak bimbang kira-kira semua perkara-perkara lain. 451 00:22:50,060 --> 00:22:51,310 Jadi, itu jika ini adalah barisan. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Apa-apa soalan mengenai barisan? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> A timbunan itu berbeza. 456 00:23:04,040 --> 00:23:07,782 Apakah singkatan yang kita ada untuk memahami timbunan? 457 00:23:07,782 --> 00:23:08,750 >> PENONTON: Terakhir dalam, mula-mula keluar. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, saya fikir. 459 00:23:10,130 --> 00:23:11,830 Terakhir dalam, mula-mula keluar. 460 00:23:11,830 --> 00:23:15,630 Oleh itu, kita melihat satu contoh timbunan dulang di dewan makan. 461 00:23:15,630 --> 00:23:17,590 Apa sahaja dulang adalah di atas mendapat meningkat. 462 00:23:17,590 --> 00:23:19,550 Dan kemudian jika dulang baru datang dalam, mereka mendapatkan meletakkan di atas. 463 00:23:19,550 --> 00:23:21,070 Dan kemudian apa yang ada pada atas mendapat meningkat. 464 00:23:21,070 --> 00:23:24,010 Maka orang-orang dulang pada kekuatan bahagian bawah tinggal di sana untuk seketika. 465 00:23:24,010 --> 00:23:28,480 >> Dalam kes itu, sekali lagi, kita akan menarik ini keluar. 466 00:23:28,480 --> 00:23:31,770 Kami menolak satu, jadi satu adalah pertama dalam talian. 467 00:23:31,770 --> 00:23:32,790 Dan kita pop sesuatu dari. 468 00:23:32,790 --> 00:23:37,280 Dan terdapat hanya satu perkara di sana, jadi kita bergerak 1 di sini. 469 00:23:37,280 --> 00:23:41,940 Kemudian kami meletakkan pada 2 dan 3 dan kita pop sesuatu dari. 470 00:23:41,940 --> 00:23:43,650 >> Tetapi sekali lagi, kerana ini adalah barisan - 471 00:23:43,650 --> 00:23:45,010 atau ini adalah timbunan, dan bukan - 472 00:23:45,010 --> 00:23:47,480 kita mengambil apa sahaja yang di lepas. 473 00:23:47,480 --> 00:23:49,300 Segala yang ada di lepas keluar pertama. 474 00:23:49,300 --> 00:23:50,890 Dan 3 adalah lepas. 475 00:23:50,890 --> 00:23:56,110 Oleh itu, kita meletakkan 3 di bawah sana, maka kita memakai 3 lain dan kita 476 00:23:56,110 --> 00:23:57,360 pop sesuatu lagi. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Akhir sekali, kami meletakkan pada 4, 5, 6, dan 7, dan di sini kita pop. 479 00:24:05,710 --> 00:24:09,060 Dan kerana ia adalah timbunan, kami mengambil apa sahaja yang telah dimasukkan ke dalam lalu dan menulis 480 00:24:09,060 --> 00:24:10,240 yang turun di sini. 481 00:24:10,240 --> 00:24:14,256 Oleh itu, kita berakhir dengan 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Adakah sesiapa mempunyai sebarang soalan mengenai susunan atau beratur, atau contoh ini? 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> OK. 486 00:24:29,030 --> 00:24:30,440 Mari kita kembali ke senarai topik. 487 00:24:30,440 --> 00:24:32,510 Tidak dengan cara itu, dengan cara ini. 488 00:24:32,510 --> 00:24:34,280 Apa soalan-soalan lain yang orang ada? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> PENONTON: Saya tidak tahu betapa pentingnya ini, tetapi saya keliru dengan 491 00:24:39,480 --> 00:24:43,550 Perbezaan antara jenis bahasa seperti markup, disusun, 492 00:24:43,550 --> 00:24:45,980 ditafsirkan. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: Itu satu soalan yang baik. 494 00:24:46,750 --> 00:24:50,500 Saya rasa itu adalah agak penting, jadi mari kita pergi lebih cepat. 495 00:24:50,500 --> 00:24:56,850 Bahasa-bahasa yang besar yang kita lihat setakat ini adalah C, PHP, dan JavaScript, dari segi 496 00:24:56,850 --> 00:24:58,330 pengaturcaraan bahasa. 497 00:24:58,330 --> 00:25:01,060 HTML, seperti yang anda nyatakan, tidak bahasa pengaturcaraan. 498 00:25:01,060 --> 00:25:02,260 Ia adalah satu bahasa markup. 499 00:25:02,260 --> 00:25:05,700 Dan maka kita mempunyai CSS, yang juga bukan bahasa pengaturcaraan. 500 00:25:05,700 --> 00:25:10,330 >> Kami juga telah melihat SQL, yang tidak bahasa pengaturcaraan sama ada. 501 00:25:10,330 --> 00:25:15,695 Jadi SQL membolehkan anda menulis pertanyaan untuk database. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML adalah bahasa markup. 504 00:25:20,140 --> 00:25:22,570 Ia mentakrifkan bagaimana perkara-perkara yang berstruktur. 505 00:25:22,570 --> 00:25:26,250 Dan CSS membolehkan anda untuk gaya sesuatu. 506 00:25:26,250 --> 00:25:28,520 Itu mungkin setakat untuk apa yang anda perlu tahu tentang ketiga-tiga. 507 00:25:28,520 --> 00:25:32,920 Tetapi ia adalah lebih menarik kepada angka daripada perbezaan antara C, PHP, 508 00:25:32,920 --> 00:25:34,320 dan JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Jadi salah satu perbezaan terbesar, kerana anda disebut, ialah bagaimana mereka 510 00:25:37,900 --> 00:25:40,550 disusun, atau apa sahaja bersamaan itu. 511 00:25:40,550 --> 00:25:42,580 Jadi C disusun. 512 00:25:42,580 --> 00:25:43,950 Kami akan sentiasa menjalankan pengkompil. 513 00:25:43,950 --> 00:25:51,100 Dan kemudian di mana kesilapan anda apabila anda menjalankan pengkompil C? 514 00:25:51,100 --> 00:25:55,740 Di manakah ia menunjukkan kepada anda ralat Dalam kod anda? 515 00:25:55,740 --> 00:25:57,860 Bagaimana anda tahu terdapat satu kesilapan dalam kod anda dalam C? 516 00:25:57,860 --> 00:25:58,770 >> PENONTON: Ia menunjukkan anda di terminal. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: Ia menunjukkan anda dalam terminal seperti yang anda sedang menyusun. 518 00:26:00,410 --> 00:26:02,620 Dan jika ada kesilapan, ia tidak akan benar-benar menyusun ia. 519 00:26:02,620 --> 00:26:04,830 Jadi anda tahu bahawa terdapat kesilapan betul jauh, lebih awal daripada masa, sebelum anda 520 00:26:04,830 --> 00:26:06,050 walaupun menjalankan kod anda. 521 00:26:06,050 --> 00:26:10,010 >> Sudah tentu, anda mungkin menjalankan kod anda dan mendapatkan kesalahan segmentasi, tetapi itu 522 00:26:10,010 --> 00:26:12,350 mungkin kerana anda lakukan beberapa perkara logik bodoh. 523 00:26:12,350 --> 00:26:15,770 Tetapi kod anda dengan teknikal semuanya betul dan boleh berjalan. 524 00:26:15,770 --> 00:26:18,210 Jadi kod C mendapat disusun lebih awal daripada masa. 525 00:26:18,210 --> 00:26:19,760 Bagaimana pula kod PHP? 526 00:26:19,760 --> 00:26:21,430 Di manakah kesilapan dalam kod PHP anda? 527 00:26:21,430 --> 00:26:23,170 Bagaimana anda tahu anda mempunyai ralat dalam kod PHP anda? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> PENONTON: masa Jalankan? 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Ya, apabila anda akan menjalankannya, anda akan menjalankan 531 00:26:31,230 --> 00:26:32,180 Kod PHP di belakang. 532 00:26:32,180 --> 00:26:33,300 Dan kemudian anda akan memaparkan skrin. 533 00:26:33,300 --> 00:26:35,260 Anda mungkin melihat beberapa perkara yang di atas, tetapi anda akan melihat, seperti, beberapa 534 00:26:35,260 --> 00:26:36,710 oren, meja hodoh. 535 00:26:36,710 --> 00:26:41,420 Dan ia akan memberi anda nombor talian dan katakan, blah, blah, blah, barangan ini 536 00:26:41,420 --> 00:26:42,400 tidak berjaya. 537 00:26:42,400 --> 00:26:48,730 >> Jadi PHP talian ditafsirkan oleh garis dan dilaksanakan pada pelayan. 538 00:26:48,730 --> 00:26:52,380 Dan kemudian hasilnya adalah dihantar kepada anda. 539 00:26:52,380 --> 00:26:53,340 Besar. 540 00:26:53,340 --> 00:26:56,410 Dilaksanakan selaras pelayan dengan garis dan kemudian dihantar kepada anda. 541 00:26:56,410 --> 00:26:59,010 Dan jika ada kesilapan, ia akan menghantar anda kesilapan itu, tetapi anda mungkin mempunyai 542 00:26:59,010 --> 00:27:00,400 mendapat beberapa perkara terlebih dahulu. 543 00:27:00,400 --> 00:27:02,730 Jadi sebahagian daripada ia mungkin telah bekerja, tetapi kemudian, beberapa barangan mungkin tidak mempunyai 544 00:27:02,730 --> 00:27:03,890 tidak bekerja. 545 00:27:03,890 --> 00:27:04,600 >> Bagaimana pula JavaScript? 546 00:27:04,600 --> 00:27:06,065 Dari mana kamu melihat JavaScript kesilapan? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 Dalam p menetapkan 8, apabila anda mendapat kesilapan, bagaimana adakah anda tahu? 549 00:27:12,870 --> 00:27:13,710 Di mana ia akan muncul? 550 00:27:13,710 --> 00:27:15,900 >> PENONTON: Dalam konsol, di bahagian bawah. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: Dalam konsol, di bahagian bawah. 552 00:27:17,650 --> 00:27:20,160 Ia juga akan memberi anda nombor talian, dan ia akan 553 00:27:20,160 --> 00:27:21,330 muncul di bahagian bawah. 554 00:27:21,330 --> 00:27:24,320 Dan JavaScript telah tidak dilaksanakan pada pelayan. 555 00:27:24,320 --> 00:27:27,800 JavaScript dihantar ke komputer anda, dan kemudian apabila ia adalah masa untuk menjalankan 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript adalah menjalankan baris demi baris atas 557 00:27:31,670 --> 00:27:33,410 pelanggan, di sebelah anda. 558 00:27:33,410 --> 00:27:35,570 Tidak pelayan, sebelah pelanggan. 559 00:27:35,570 --> 00:27:37,690 >> Begitu juga, ia adalah menjalankan baris demi baris. 560 00:27:37,690 --> 00:27:40,630 Dan kemudian apabila anda akan mendapat kesilapan, ia akan muncul di bahagian bawah. 561 00:27:40,630 --> 00:27:44,580 Begitu juga dengan PHP, ada yang mungkin melaksanakan, dan kemudian anda mungkin akan 562 00:27:44,580 --> 00:27:46,310 kesilapan di kemudian hari. 563 00:27:46,310 --> 00:27:49,910 >> Juga, tidak seperti PHP sedikit, jika anda mendapat ralat JavaScript - 564 00:27:49,910 --> 00:27:52,780 mengatakan anda tidak melakukan hak kod untuk kotak amaran - 565 00:27:52,780 --> 00:27:55,800 anda boleh terus berjalan program anda. 566 00:27:55,800 --> 00:27:58,180 Kotak amaran tidak akan bekerja, tetapi program anda akan denda. 567 00:27:58,180 --> 00:28:00,490 Hanya mungkin fungsi yang akan gagal. 568 00:28:00,490 --> 00:28:02,610 >> Jadi ada beberapa yang terbesar perbezaan dari segi bagaimana 569 00:28:02,610 --> 00:28:09,230 bahasa, atau bagaimana kod pengaturcaraan anda menulis sebenarnya dinilai. 570 00:28:09,230 --> 00:28:11,970 Terdapat juga perbezaan lain di segi - perbezaan yang paling besar 571 00:28:11,970 --> 00:28:15,590 yang kita lihat dari segi pembolehubah dalam bahasa-bahasa berbeza. 572 00:28:15,590 --> 00:28:19,660 Jadi sesiapa sahaja boleh memberi saya perbezaan antara pembolehubah 573 00:28:19,660 --> 00:28:20,910 dalam tiga bahasa? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Ya. 576 00:28:25,770 --> 00:28:27,130 >> PENONTON: Dalam C, mereka ketat ditaip. 577 00:28:27,130 --> 00:28:28,550 Dalam dua yang lain, mereka longgar ditaip. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn: Dan apa maksudnya? 579 00:28:30,040 --> 00:28:31,775 >> PENONTON: Bahawa dalam C, anda perlu mengisytiharkan jenis pembolehubah apabila 580 00:28:31,775 --> 00:28:36,140 anda mengisytiharkan pembolehubah, seperti interbool atau char. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Cemerlang. 582 00:28:36,990 --> 00:28:39,780 Dalam C, kami sentiasa terpaksa meletakkan sejenis pembolehubah. 583 00:28:39,780 --> 00:28:41,360 Dan kita tidak boleh benar-benar campuran jenis. 584 00:28:41,360 --> 00:28:45,750 Anda tidak boleh melakukan integer ditambah rentetan. 585 00:28:45,750 --> 00:28:48,760 Tetapi seperti yang kita lihat dalam ini lain bahasa, anda sebenarnya boleh mencampurkan jenis, 586 00:28:48,760 --> 00:28:51,230 dan anda tidak benar-benar perlu memberi sesuatu jenis yang, pernah. 587 00:28:51,230 --> 00:28:53,905 >> Jadi bagaimana kita mengetahui perkara-perkara adalah pembolehubah dalam PHP dan JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> PENONTON: Dalam PHP, mereka mula dengan tanda dolar. 590 00:28:58,685 --> 00:29:00,810 Dalam JavaScript, apabila anda mengisytiharkan mereka, anda perlu mempunyai bar. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Betul. 592 00:29:01,760 --> 00:29:03,535 Jadi dalam PHP, mereka mula dengan tanda dolar. 593 00:29:03,535 --> 00:29:06,300 Dalam JavaScript, mereka perlu mempunyai bar, walaupun kadang-kadang mereka tidak sebenarnya 594 00:29:06,300 --> 00:29:07,520 perlu mempunyai bar. 595 00:29:07,520 --> 00:29:09,240 Tetapi itu betul. 596 00:29:09,240 --> 00:29:13,300 >> Jadi itu adalah satu perbezaan yang besar antara pembolehubah. 597 00:29:13,300 --> 00:29:16,140 Saya fikir mungkin, di luar atas kepala saya, kedua-dua terbesar 598 00:29:16,140 --> 00:29:19,250 perbezaan antara kedua- tiga bahasa. 599 00:29:19,250 --> 00:29:20,594 Tetapi, yeah. 600 00:29:20,594 --> 00:29:24,720 >> PENONTON: Dan skop pembolehubah C adalah terhad kepada pendakap kerinting, 601 00:29:24,720 --> 00:29:27,760 di mana orang-orang yang lain, ia hanya suka, ia mati jika ia dalam fungsi sahaja, 602 00:29:27,760 --> 00:29:29,650 tetapi jika tidak, it's - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Betul. 604 00:29:30,240 --> 00:29:36,780 Jadi skop adalah sedikit berbeza dalam C. Sebagai anda masih ingat, pendakap kerinting menentukan 605 00:29:36,780 --> 00:29:37,710 skop pembolehubah. 606 00:29:37,710 --> 00:29:41,680 Jadi, jika ia ditakrifkan di dalam jika keadaan, yang di dalam gelung, 607 00:29:41,680 --> 00:29:44,290 pembolehubah hanya wujud di sana. 608 00:29:44,290 --> 00:29:47,760 >> Dalam JavaScript, jika pembolehubah ditakrifkan di dalam jika keadaan - 609 00:29:47,760 --> 00:29:50,750 di dalam untuk gelung - ia akan wujud untuk fungsi itu, tetapi ia tidak akan wujud 610 00:29:50,750 --> 00:29:52,330 di luar fungsi itu. 611 00:29:52,330 --> 00:29:59,250 Jadi skop adalah sedikit lebih fleksibel dalam JavaScript dan PHP. 612 00:29:59,250 --> 00:30:00,500 Yang menjawab soalan? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, mana-mana soalan-soalan lain? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Kita boleh melakukan empat minit lagi soalan, maka 617 00:30:08,865 --> 00:30:10,740 kami akan melompat ke dalam pengkodan. 618 00:30:10,740 --> 00:30:12,645 >> PENONTON: Bolehkah kita pergi ke Ajax dan bercakap tentang apa yang? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Berbincang dengan Avi selepas. 621 00:30:17,800 --> 00:30:19,170 Dia bertanya soalan yang lebih awal. 622 00:30:19,170 --> 00:30:19,630 >> PENONTON: buruk saya. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Tidak perlu risau. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> PENONTON: Apa sebenarnya JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Apakah JSON? 628 00:30:28,900 --> 00:30:29,930 Apakah soalan anda? 629 00:30:29,930 --> 00:30:31,350 >> PENONTON: Hanya benar-benar cepat, perbezaan di antara 630 00:30:31,350 --> 00:30:32,870 cetak dan gema dalam PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON Hirschhorn: Mengapa tidak anda google perbezaan antara cetak dan echo? 633 00:30:38,490 --> 00:30:40,670 Sedikit perbezaan. 634 00:30:40,670 --> 00:30:42,020 Tidak bahawa besar perjanjian. 635 00:30:42,020 --> 00:30:44,960 Tetapi anda pasti perlu google ia, dan yang akan memberikan jawapan yang baik. 636 00:30:44,960 --> 00:30:46,910 >> JSON, mungkin lebih besar daripada perjanjian. 637 00:30:46,910 --> 00:30:49,300 Bermaksud JavaScript Objek notation. 638 00:30:49,300 --> 00:30:51,865 Dan apabila kita melihat JSON digunakan? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Apabila telah anda melihat - 641 00:30:55,900 --> 00:30:57,400 mengapa anda juga tahu JSON perkataan? 642 00:30:57,400 --> 00:30:59,140 Apabila telah anda melihat ia? 643 00:30:59,140 --> 00:31:02,200 >> PENONTON: Apabila kita telah mendapat saham memetik bagi kewangan. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Jadi anda melihat apabila anda telah mendapat 645 00:31:02,690 --> 00:31:04,830 saham memetik bagi kewangan. 646 00:31:04,830 --> 00:31:07,340 Dan mengapa kamu melihatnya? 647 00:31:07,340 --> 00:31:09,000 >> PENONTON: Apabila kita telah mendapatkan semula semua maklumat yang 648 00:31:09,000 --> 00:31:10,400 datang dalam format tersebut. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Jadi, anda akan mendapat - 650 00:31:11,700 --> 00:31:12,540 yeah. 651 00:31:12,540 --> 00:31:13,020 Teruskan. 652 00:31:13,020 --> 00:31:15,210 >> PENONTON: [didengar] Maklumat daripada objek? 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: Kedua-dua mereka meletakkan bersama-sama adalah jawapannya 654 00:31:17,170 --> 00:31:18,100 kita cari. 655 00:31:18,100 --> 00:31:21,240 Anda mahu maklumat daripada laman web lain ini. 656 00:31:21,240 --> 00:31:23,790 Dan anda akan berharap bahawa apabila anda mendapatkan maklumat itu, ia akan menjadi 657 00:31:23,790 --> 00:31:26,720 yang diberikan kepada anda dalam beberapa jenis format yang seragam. 658 00:31:26,720 --> 00:31:29,530 >> Semua orang mungkin biasa dengan nilai-nilai yang dipisahkan dengan koma. 659 00:31:29,530 --> 00:31:32,970 Anda boleh mengeksport spreadsheet Excel atau apa-apa jenis spreadsheet sebagai senarai 660 00:31:32,970 --> 00:31:34,540 nilai dipisahkan koma. 661 00:31:34,540 --> 00:31:37,370 Dan koma membahagikan semua bidang yang berbeza. 662 00:31:37,370 --> 00:31:38,780 JavaScript Objek Notasi - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 satu lagi jenis standard susun atur perkara. 665 00:31:43,540 --> 00:31:49,010 Dan itu sering bagaimana kita mendapatkan maklumat dari pertanyaan Ajax kami. 666 00:31:49,010 --> 00:31:51,770 >> Jadi dalam kes ini, kami mendapat ia dari laman Yahoo. 667 00:31:51,770 --> 00:31:53,600 Mereka kembali perkara yang perlu kami dalam objek JSON. 668 00:31:53,600 --> 00:31:56,790 Dan kemudian kita tahu, kerana ia standard, apa yang ia 669 00:31:56,790 --> 00:31:57,250 akan kelihatan seperti. 670 00:31:57,250 --> 00:32:00,760 Jadi kita boleh melelar melalui array itu dikembalikan kepada kita, yang pelbagai 671 00:32:00,760 --> 00:32:03,180 objek yang dikembalikan kepada kami. 672 00:32:03,180 --> 00:32:07,770 >> Kami mungkin perlu tahu kunci, tetapi mereka biasanya memberikan 673 00:32:07,770 --> 00:32:11,370 dokumentasi dalam laman web apabila anda semasa mengambil beberapa JSON 674 00:32:11,370 --> 00:32:12,170 notasi untuk mereka. 675 00:32:12,170 --> 00:32:16,940 Begitu juga, anda boleh JSON mengekod objek. 676 00:32:16,940 --> 00:32:19,900 Jadi ada fungsi JSON menekankan mengekod. 677 00:32:19,900 --> 00:32:22,970 Dan supaya anda boleh mengambil objek yang Anda buat, JSON mengekod, dan 678 00:32:22,970 --> 00:32:26,390 serahkan kepada sesuatu lagi, jika anda mahu. 679 00:32:26,390 --> 00:32:30,770 Dan JSON decode juga wujud untuk tujuan yang sama, atau bagi 680 00:32:30,770 --> 00:32:31,780 tujuan bertentangan. 681 00:32:31,780 --> 00:32:36,570 >> PENONTON: Adakah kita perlu tahu pengekodan untuk jadual hash dan cuba? 682 00:32:36,570 --> 00:32:40,300 Atau adakah kita hanya perlu memahami bagaimana ia digunakan dari segi konsep? 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Jadi, mengangkat tangan anda jika anda melakukan jadual hash untuk p yang ditetapkan 4 684 00:32:44,570 --> 00:32:46,920 dengan senarai link. 685 00:32:46,920 --> 00:32:47,960 Atau p menetapkan 5. 686 00:32:47,960 --> 00:32:49,060 Sehingga adalah majoriti besar rakyat. 687 00:32:49,060 --> 00:32:50,390 P menetapkan 5, 6, yang tahu. 688 00:32:50,390 --> 00:32:51,240 Satu masa dahulu. 689 00:32:51,240 --> 00:32:54,140 >> Jadi majoriti yang anda lakukan hash jadual dengan senarai link. 690 00:32:54,140 --> 00:32:56,525 Dan kerana itulah mungkin yang lebih pendekatan yang sama, dan kerana kami menghabiskan 691 00:32:56,525 --> 00:32:59,460 banyak masa melakukan senarai link dan hash jadual, anda mungkin perlu 692 00:32:59,460 --> 00:33:02,600 agak biasa dengan bagaimana untuk kod jadual hash dan senarai link. 693 00:33:02,600 --> 00:33:05,060 >> Dan jika anda berfikir kembali kepada masalah yang ditetapkan, ia tidak benar-benar 694 00:33:05,060 --> 00:33:06,410 keras seperti yang anda harapkan. 695 00:33:06,410 --> 00:33:08,120 Dan ada banyak yang kurang kod daripada yang anda harapkan. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Saya akan mengatakan anda perlu tahu bagaimana untuk kod jadual hash atau senarai link. 698 00:33:14,650 --> 00:33:17,010 Tidak bahawa anda akan meminta, semestinya, tetapi anda perlu 699 00:33:17,010 --> 00:33:19,730 pasti tahu bahawa. 700 00:33:19,730 --> 00:33:21,860 >> Juga, jika anda melihat melalui masa lalu kuiz, terdapat banyak 701 00:33:21,860 --> 00:33:26,450 soalan tentang menulis fungsi pada senarai pautan atau senarai duanya adalah terpakai berkaitan. 702 00:33:26,450 --> 00:33:28,370 Yang seolah-olah datang setiap tahun satu. 703 00:33:28,370 --> 00:33:31,940 Memasukkan kanan pada senarai link, betul memotong daripada senarai pautan, memasukkan hak 704 00:33:31,940 --> 00:33:33,610 untuk senarai duanya adalah terpakai berkaitan, dan sebagainya. 705 00:33:33,610 --> 00:33:36,170 Jadi itu, saya berasa cukup selesa mengatakan anda perlu tahu bahawa. 706 00:33:36,170 --> 00:33:40,600 >> Untuk mencuba, saya akan berkata anda harus tentu tahu bagaimana ia berfungsi, dan mungkin 707 00:33:40,600 --> 00:33:43,570 memberikan beberapa kod pseudo untuk bagaimana kod dan membinanya. 708 00:33:43,570 --> 00:33:45,600 Tetapi ia tidak akan menjadi perkara yang paling buruk dalam dunia jika anda tidak tahu bagaimana untuk 709 00:33:45,600 --> 00:33:48,870 kod dalam C. Ia akan menjadi besar jika anda tahu bagaimana untuk kod dalam C, tetapi saya fikir 710 00:33:48,870 --> 00:33:52,516 mungkin kod pseudo untuk mencuba akan yang paling anda perlu 711 00:33:52,516 --> 00:33:53,270 tahu untuk mencuba. 712 00:33:53,270 --> 00:33:53,930 >> PENONTON: Kredit tambahan? 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn: Dan sama dengan, jika kita pergi ke dalam pokok-pokok carian binari, anda mungkin 714 00:33:58,290 --> 00:34:02,320 perlu - dan anda telah melihat pada masa lalu, kami telah melakukan banyak - anda tahu bagaimana 715 00:34:02,320 --> 00:34:03,380 pokok carian binari berfungsi. 716 00:34:03,380 --> 00:34:07,150 Anda mungkin akan dapat menetapkan satu dalam kod pseudo. 717 00:34:07,150 --> 00:34:10,510 Tetapi kerana majoriti orang tidak berbuat demikian pada masalah 718 00:34:10,510 --> 00:34:13,880 set, saya rasa ia mungkin kurang penting bahawa anda tahu bagaimana untuk kod 719 00:34:13,880 --> 00:34:17,380 dan menubuhkan sebuah pokok seperti itu. 720 00:34:17,380 --> 00:34:19,679 >> Apa-apa soalan lain? 721 00:34:19,679 --> 00:34:23,234 Juga, kita boleh bertanya kepada mereka di seluruh seperti yang kita pergi melalui beberapa masalah. 722 00:34:23,234 --> 00:34:27,170 OK, kita akan bergerak ke atas. 723 00:34:27,170 --> 00:34:28,230 Langkau slaid yang sekarang. 724 00:34:28,230 --> 00:34:32,449 >> Bercakap pokok, yang pertama soalan saya untuk anda semua. 725 00:34:32,449 --> 00:34:34,270 Kerana ini adalah satu masalah. 726 00:34:34,270 --> 00:34:37,380 Saya akan berkata ia kemungkinan besar anda akan mendapat masalah seperti ini di kuiz anda 727 00:34:37,380 --> 00:34:43,659 meminta anda untuk memberi kod kepada beberapa jenis memasukkan, memadam, carian, untuk satu jenis 728 00:34:43,659 --> 00:34:45,270 struktur data yang kita lihat. 729 00:34:45,270 --> 00:34:47,719 >> Yang datang setiap tahun dan kami menghabiskan banyak masa separuh kedua ini 730 00:34:47,719 --> 00:34:50,270 semester akan lebih jenis data. 731 00:34:50,270 --> 00:34:54,170 Jadi sekarang, saya telah ditakrifkan nod dalam pokok carian binari. 732 00:34:54,170 --> 00:34:58,490 Dan apa yang saya ingin anda lakukan adalah diberikan pokok carian binari yang bermula 733 00:34:58,490 --> 00:35:05,450 di ini akar nod bintang, melengkapkan pelaksanaan fungsi di bawah, 734 00:35:05,450 --> 00:35:07,430 yang berlaku sebagai fungsi find. 735 00:35:07,430 --> 00:35:09,260 Dan melakukannya dengan dan tanpa recursions. 736 00:35:09,260 --> 00:35:10,860 >> Jadi saya mahu anda untuk menulis dua fungsi. 737 00:35:10,860 --> 00:35:14,310 Satu melakukan ini dengan rekursi, satu melakukan ini tanpa rekursi. 738 00:35:14,310 --> 00:35:18,050 Dan jangan menganggap bahawa akar akan bukan nol. 739 00:35:18,050 --> 00:35:21,790 Jadi kita cari integer i dalam pokok itu bermula di akar, dan kita perlu 740 00:35:21,790 --> 00:35:25,280 untuk menulis ini secara rekursif dan iterative. 741 00:35:25,280 --> 00:35:26,300 Yeah. 742 00:35:26,300 --> 00:35:29,730 >> PENONTON: Jadi anda mahu kita kembali benar jika kita merasa, dan palsu jika kita 743 00:35:29,730 --> 00:35:30,480 tidak menemuinya. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: Bagaimana anda tahu? 745 00:35:32,160 --> 00:35:33,100 Bagaimana anda tahu bahawa? 746 00:35:33,100 --> 00:35:36,500 >> PENONTON: Saya meminta pertama, tetapi saya dengan andaian, kerana ia berkata di bool 747 00:35:36,500 --> 00:35:37,490 permulaan majlis itu. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Betul. 749 00:35:37,880 --> 00:35:41,020 Ia mengatakan bool, jadi saya tidak perlu memberitahu anda apa yang saya mengharapkan anda untuk kembali 750 00:35:41,020 --> 00:35:41,350 kerana ia berkata di sana. 751 00:35:41,350 --> 00:35:42,280 Tetapi itu betul. 752 00:35:42,280 --> 00:35:43,510 Kembali, benar atau palsu. 753 00:35:43,510 --> 00:35:47,630 >> Jadi sebelum anda bermula, saya akan mengesyorkan, jika anda tidak biasa dengan 754 00:35:47,630 --> 00:35:51,300 pokok carian binari, dengan cepat menarik gambar itu untuk mendapatkan anda 755 00:35:51,300 --> 00:35:51,750 pemahaman, betul. 756 00:35:51,750 --> 00:35:54,720 Yang juga akan membantu anda semasa menulis kod anda dan memeriksa ia. 757 00:35:54,720 --> 00:35:57,830 Sekali lagi, anda juga tidak mempunyai banyak masa kuiz untuk melakukan semua perkara-perkara yang 758 00:35:57,830 --> 00:35:59,030 yang kami meminta anda lakukan. 759 00:35:59,030 --> 00:36:02,350 Jadi menulis kod pseudo sangat membantu. 760 00:36:02,350 --> 00:36:05,310 >> Dan kita secara amnya memberikan tentang - 761 00:36:05,310 --> 00:36:06,820 jika kod pseudo adalah betul-betul betul, itu 762 00:36:06,820 --> 00:36:08,910 biasanya 50% soalan. 763 00:36:08,910 --> 00:36:11,410 Jadi ia bukan satu peraturan yang keras dan cepat, tetapi jika anda hanya menulis kod pseudo dan ia 764 00:36:11,410 --> 00:36:13,460 betul, ia biasanya 50%. 765 00:36:13,460 --> 00:36:14,970 Jadi saya selalu mengesyorkan - 766 00:36:14,970 --> 00:36:16,870 jika anda tertekan dengan masa, atau jika anda hanya cuba untuk mencari penyelesaiannya - 767 00:36:16,870 --> 00:36:18,290 bermula dengan kod pseudo yang. 768 00:36:18,290 --> 00:36:24,840 Dan akhirnya, jika anda boleh menulis ini semua dalam C, yang akan menjadi hebat. 769 00:36:24,840 --> 00:36:29,010 >> Jadi mari kita mengambil masa tiga minit bekerja pada program ini. 770 00:36:29,010 --> 00:36:33,120 Dan kemudian kita akan menulis kod pseudo untuk itu hanya sekali, dan kemudian 771 00:36:33,120 --> 00:36:35,455 kita akan kod ia secara rekursif dan kemudian secara berulang. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Jika anda mempunyai sebarang pertanyaan, sila percuma mengangkat tangan anda. 774 00:37:30,760 --> 00:37:34,270 Selamat berjalan-jalan dan menjawab mereka sebelum kita mula sebagai satu kumpulan. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Marilah kita menyambung semula, dan kita akan pseudokod versi rekursi daripada 777 00:39:27,200 --> 00:39:29,830 ini, dan kemudian kami akan kod itu. 778 00:39:29,830 --> 00:39:33,380 Jadi fungsi rekursi memerlukan dua perkara. 779 00:39:33,380 --> 00:39:35,960 Ini mungkin soalan yang anda boleh ditanya. 780 00:39:35,960 --> 00:39:37,950 Keperluan dua perkara. 781 00:39:37,950 --> 00:39:40,610 Siapakah yang boleh mengangkat tangan mereka dan beritahu saya apa yang kedua-dua perkara yang rekursi 782 00:39:40,610 --> 00:39:43,680 fungsi memerlukan? 783 00:39:43,680 --> 00:39:45,030 Mengikut definisi ia mempunyai dua perkara. 784 00:39:45,030 --> 00:39:46,280 Apakah kedua-dua perkara? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Tangan baru. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Ya, Alden. 789 00:39:56,390 --> 00:39:57,980 >> PENONTON: Jadi saya tidak betul-betul pasti jika ini adalah istilah, tetapi - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Saya gembira anda mengangkat tangan anda. 791 00:39:59,715 --> 00:40:03,380 >> PENONTON: Ia memerlukan kes asas, dan ia memerlukan satu langkah rekursif. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 Ia memerlukan kes asas dan langkah rekursif. 794 00:40:06,340 --> 00:40:10,430 Jadi apa kes asas kami di sini? 795 00:40:10,430 --> 00:40:12,950 >> PENONTON: F akar sama sama null. 796 00:40:12,950 --> 00:40:15,110 Maaf, hanya dalam kod pseudo, jika ia null. 797 00:40:15,110 --> 00:40:16,360 Jika akar adalah null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn: Jika akar adalah null. 800 00:40:23,540 --> 00:40:23,850 Itulah yang sangat baik. 801 00:40:23,850 --> 00:40:24,610 Itulah kes asas kami. 802 00:40:24,610 --> 00:40:25,910 Itulah apa yang kita akan untuk memeriksa setiap masa. 803 00:40:25,910 --> 00:40:28,000 Dan kes asas adalah Perkara pertama yang anda lakukan. 804 00:40:28,000 --> 00:40:29,720 Jika anda memukul kes asas, anda selesai. 805 00:40:29,720 --> 00:40:34,140 >> Sekarang kita perlu panggilan rekursif kami, dan saya bersedia untuk bertaruh kita perlu pasangan 806 00:40:34,140 --> 00:40:35,440 rekursif panggilan di sini. 807 00:40:35,440 --> 00:40:39,630 Kerana ia adalah pokok, dan kami boleh pergi pelbagai cara. 808 00:40:39,630 --> 00:40:43,190 Jadi, jika akar adalah batal, kita pandai. 809 00:40:43,190 --> 00:40:44,970 >> Apa yang anda cadangkan? 810 00:40:44,970 --> 00:40:49,640 Dan sekarang saya akan mula memanggil pada anda semua, kerana saya tahu anda semua 811 00:40:49,640 --> 00:40:50,540 semua tahu ini. 812 00:40:50,540 --> 00:40:52,610 Tetapi Annie, apa yang perlu baris seterusnya menjadi? 813 00:40:52,610 --> 00:40:53,570 Bagaimana jika kita mendapati ia? 814 00:40:53,570 --> 00:40:55,526 Apa yang kami lakukan? 815 00:40:55,526 --> 00:40:57,300 >> PENONTON: Jika kami mendapati ia? 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Atau apa perlu bahawa - 817 00:40:59,160 --> 00:41:02,124 memberi saya kod pseudo untuk talian di mana kami mendapati ia. 818 00:41:02,124 --> 00:41:04,700 >> PENONTON: Jika saya sama akar i? 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn: Dan maka apa yang kita lakukan? 820 00:41:06,650 --> 00:41:07,590 >> PENONTON: Kembali benar. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Great. 822 00:41:08,530 --> 00:41:16,890 Jadi, jika i adalah i - 823 00:41:16,890 --> 00:41:17,400 oh, mereka kedua-dua dipanggil i. 824 00:41:17,400 --> 00:41:18,470 Yang mendapat mengelirukan. 825 00:41:18,470 --> 00:41:23,830 Tetapi jika i adalah i kembali benar. 826 00:41:23,830 --> 00:41:25,620 Itu mungkin seterusnya perkara yang kita perlu lakukan. 827 00:41:25,620 --> 00:41:27,300 Masuk akal. 828 00:41:27,300 --> 00:41:30,610 >> OK, sekarang kita tidak melakukan rekursif kami memanggil lagi, walaupun, kerana rekursif yang 829 00:41:30,610 --> 00:41:32,300 panggilan akan memanggil fungsi ini sekali lagi. 830 00:41:32,300 --> 00:41:41,460 Jadi apa yang perlu seterusnya garis kod pseudo menjadi? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> PENONTON: Sisi kiri. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Khusus, walaupun. 835 00:41:47,590 --> 00:41:50,600 Ini adalah pokok carian binari, jadi apa tidak memeriksa sebelah kiri memerlukan? 836 00:41:50,600 --> 00:41:51,890 >> PENONTON: Jadi nod - 837 00:41:51,890 --> 00:41:53,342 Saya minta maaf, akar. 838 00:41:53,342 --> 00:41:55,306 Dan kemudian arrow kiri. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Nod, nod, maaf. 841 00:42:00,720 --> 00:42:01,978 Saya tidak membaca dengan betul. 842 00:42:01,978 --> 00:42:05,700 Ia dipanggil nod, bukan? 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: Ia akan dipanggil akar dalam fungsi, tetapi cara sama ada. 844 00:42:09,270 --> 00:42:10,925 Sebelah kiri - yeah? 845 00:42:10,925 --> 00:42:13,780 >> PENONTON: Jika tidak sama i, maka kita akan memanggil 846 00:42:13,780 --> 00:42:15,130 fungsi sekali lagi? 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: Betul. 848 00:42:15,490 --> 00:42:17,870 Jika ia tidak sama i, kita akan untuk memanggil fungsi sekali lagi. 849 00:42:17,870 --> 00:42:21,435 Tetapi apa yang tepi pokok itu kita akan untuk memanggil fungsi sekali lagi? 850 00:42:21,435 --> 00:42:22,685 >> PENONTON: Di sebelah kiri. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Kami tidak sentiasa akan memanggilnya kiri, jika ia 853 00:42:27,670 --> 00:42:29,190 tidak sama ia. 854 00:42:29,190 --> 00:42:29,610 >> PENONTON: Oh, maaf. 855 00:42:29,610 --> 00:42:31,200 Panggilan di sebelah kanan. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Kami mahu tahu secara spesifik, walaupun - ingat, dalam 857 00:42:33,680 --> 00:42:37,700 pokok carian binari, segala-galanya kepada sebelah kiri adalah lebih kecil. 858 00:42:37,700 --> 00:42:40,460 Semua ke kanan sebelah adalah lebih besar. 859 00:42:40,460 --> 00:42:43,990 Jadi ia hanya tidak - yeah, teruskan. 860 00:42:43,990 --> 00:42:46,805 >> PENONTON: Jika ia kurang dari i, maka - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 jika ia di sebelah kiri - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Jadi, jika ri adalah kurang daripada - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 jadi jika bilangan kami adalah kurang daripada i, apa yang pihak kita ingin pergi ke? 867 00:43:09,110 --> 00:43:15,120 >> PENONTON: Kami mahu pergi ke sebelah kanan. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Kami mahu pergi - 869 00:43:16,250 --> 00:43:19,210 biarlah saya menarik pokok yang cepat. 870 00:43:19,210 --> 00:43:23,850 Jika ini adalah 5, ini akan menjadi 3. 871 00:43:23,850 --> 00:43:29,410 Jadi jika ri kurang daripada lima, apa sebelah kita mahu pergi ke? 872 00:43:29,410 --> 00:43:30,390 >> PENONTON: Maaf, apa? 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: bilangan kami adalah kurang daripada bilangan kami 874 00:43:33,190 --> 00:43:34,710 melihat sekarang. 875 00:43:34,710 --> 00:43:35,890 >> PENONTON: Oh, maka kita mahu untuk pergi ke sebelah kiri. 876 00:43:35,890 --> 00:43:36,240 Yeah. 877 00:43:36,240 --> 00:43:36,920 Maaf. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Tepat sekali. 879 00:43:37,230 --> 00:43:38,480 Tidak perlu risau. 880 00:43:38,480 --> 00:43:41,020 Dalam binari pokok carian, segala-galanya yang lebih rendah adalah di sebelah kiri, 881 00:43:41,020 --> 00:43:42,110 lebih besar adalah ke kanan. 882 00:43:42,110 --> 00:43:46,700 Jadi, jika bilangan kami adalah kurang daripada i kita memeriksa - 883 00:43:46,700 --> 00:43:48,790 kerana anda melihat dalam nod, ia mempunyai i - 884 00:43:48,790 --> 00:43:50,040 maka anda mahu pergi ke kiri. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> Dan ini adalah sesuatu yang mudah. 887 00:43:56,720 --> 00:44:01,700 Apakah garis lain pseudokod kita perlu menulis? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> PENONTON: Perkara yang sama, anda hanya menukar kepada yang lebih besar daripada tanda 890 00:44:05,970 --> 00:44:07,420 dan pergi ke kanan. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Bolehkah anda berkata ia masa yang lebih? 892 00:44:08,350 --> 00:44:11,640 >> PENONTON: Jika bilangan kami adalah lebih besar dari i, pergi ke kanan. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Cemerlang kerja pada kod pseudo yang. 895 00:44:26,690 --> 00:44:28,700 Marilah kita melakukan ini dalam kod sebenar. 896 00:44:28,700 --> 00:44:33,280 Dan sekali lagi, kod pseudo ini akan mungkin mendapat anda, kerana ia 897 00:44:33,280 --> 00:44:35,480 betul, 50% ke atas soalan ini. 898 00:44:35,480 --> 00:44:39,720 Tetapi kod pseudo ini juga diterjemahkan satu kepada satu, pada dasarnya, ke dalam kod. 899 00:44:39,720 --> 00:44:44,380 >> Jadi marilah kita melakukan ini dalam C. Siapakah yang boleh memberi saya baris pertama kod? 900 00:44:44,380 --> 00:44:48,390 Sebenarnya, pertama, sebelum saya melakukan ini, biarlah saya ketepikan - 901 00:44:48,390 --> 00:44:49,260 >> PENONTON: Saya mempunyai satu soalan. 902 00:44:49,260 --> 00:44:52,430 Mengapa anda inden line aku telah memberi? 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Kerana Saya tidak boleh menulis. 904 00:44:54,160 --> 00:44:55,240 Saya tidak tahu. 905 00:44:55,240 --> 00:44:55,650 Anda betul. 906 00:44:55,650 --> 00:44:57,780 Garis yang perlu di sana. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, di sini adalah fungsi kami. 909 00:45:14,480 --> 00:45:18,090 Dan biarlah saya ketepikan, juga, definisi kita satu nod. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Apakah yang akan berlaku jika kita tidak menulis typedef? 912 00:45:27,180 --> 00:45:30,240 Musuh? 913 00:45:30,240 --> 00:45:32,570 >> PENONTON: Ia tidak akan mengumpulkannya. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Ia akan menyusun, yeah. 915 00:45:33,860 --> 00:45:37,120 >> PENONTON: Adakah ia hanya mengisytiharkan satu contoh dan bukannya menjadikannya baru 916 00:45:37,120 --> 00:45:39,840 jenis anda boleh mengisytiharkan berganda contoh? 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: Jadi ia tidak akan tahu - ia tidak akan 918 00:45:41,700 --> 00:45:43,120 hanya mengisytiharkan satu jenis. 919 00:45:43,120 --> 00:45:46,150 Anda masih boleh membuat banyak nod. 920 00:45:46,150 --> 00:45:48,070 >> PENONTON: Tetapi tidak kita perlu menulis nod struct setiap kali? 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: Betul. 922 00:45:48,640 --> 00:45:50,960 Anda harus menulis nod struct setiap kali, bukan hanya nod. 923 00:45:50,960 --> 00:45:55,270 Tetapi dengan typedef, anda boleh hanya menulis nod setiap kali tunggal. 924 00:45:55,270 --> 00:45:58,240 OK, yang tidak diberikan - yeah, Avica. 925 00:45:58,240 --> 00:46:01,520 >> PENONTON: Jika akar sama setaraf batal, pulangan palsu. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Besar, dan itulah kes asas kami. 928 00:46:09,490 --> 00:46:11,200 Barisan seterusnya kod. 929 00:46:11,200 --> 00:46:13,999 Seseorang yang telah tidak diberi saya garis kod lagi? 930 00:46:13,999 --> 00:46:14,945 Yeah. 931 00:46:14,945 --> 00:46:23,360 >> PENONTON: Akar arrow i sama sama dengan i. 932 00:46:23,360 --> 00:46:27,260 Kemudian kembali benar. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Great. 934 00:46:29,162 --> 00:46:32,048 Line Seterusnya? 935 00:46:32,048 --> 00:46:32,790 Yeah. 936 00:46:32,790 --> 00:46:34,010 Orang lain? 937 00:46:34,010 --> 00:46:36,774 Dan kemudian anda boleh pergi selepas ini. 938 00:46:36,774 --> 00:46:44,820 >> PENONTON: Else jika akar arrow i adalah kurang daripada i kembali 939 00:46:44,820 --> 00:46:47,737 fungsi dipanggil find akar - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Maaf. 941 00:46:50,611 --> 00:46:56,272 >> PENONTON: Pulang find akar mata ke kiri koma i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Jadi jika ri adalah lebih besar daripada perkara yang di pokok itu, kita mahu 944 00:47:08,440 --> 00:47:09,573 pergi ke kiri? 945 00:47:09,573 --> 00:47:11,790 >> PENONTON: Tidak, saya mempunyai yang dihidupkan. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Yang mana satu? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> PENONTON: Tidak, yeah. 949 00:47:16,950 --> 00:47:19,050 Saya mempunyai kurang daripada menandatangani sana. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Betul, jika ri adalah kurang daripada apa yang di dalam akar - 951 00:47:22,890 --> 00:47:25,660 akar semasa kami - maka kita mahu pergi ke kiri. 952 00:47:25,660 --> 00:47:26,960 Dan apa yang barisan terakhir, anda? 953 00:47:26,960 --> 00:47:30,930 >> PENONTON: Pada dasarnya perkara yang sama, kecuali menukar lebih besar daripada atau 954 00:47:30,930 --> 00:47:34,690 sama dengan kurang daripada dan kiri ke kanan. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Cemerlang. 957 00:47:43,680 --> 00:47:48,430 Adakah sesiapa mempunyai apa-apa soalan tentang perkara ini? 958 00:47:48,430 --> 00:47:52,560 Jadi beberapa perkara lain yang akan telah betul ialah 959 00:47:52,560 --> 00:47:53,810 boleh menjadi-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Guess, secara teknikal, ini tidak benar-benar juga perlu-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Juga, ada mungkin hanya satu kes di sini. 963 00:48:00,950 --> 00:48:02,380 Jadi, itu mungkin kes terakhir anda. 964 00:48:02,380 --> 00:48:04,000 Anda tidak perlu bahawa-ltiff. 965 00:48:04,000 --> 00:48:06,160 Tetapi mungkin baik untuk menulis , untuk jelas. 966 00:48:06,160 --> 00:48:06,660 Yeah. 967 00:48:06,660 --> 00:48:09,200 >> PENONTON: Jadi anda tidak berfikir kuiz - jika kita membuat kesilapan, sebagai contoh, 968 00:48:09,200 --> 00:48:11,725 dalam sintaks - 969 00:48:11,725 --> 00:48:13,990 ralat sintaks sedikit - 970 00:48:13,990 --> 00:48:17,810 bagaimana yang dapat diambil dalam kuiz? 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: Secara umumnya kuiz, kecil ralat sintaks atau kecil 972 00:48:21,300 --> 00:48:24,010 ralat gaya tidak kehilangan anda mata. 973 00:48:24,010 --> 00:48:26,610 Jadi, jika anda terlupa dengan koma bernoktah di sini, ia akan menjadi OK. 974 00:48:26,610 --> 00:48:30,290 Jika anda terlupa untuk menutup kurungan ini, adakah itu ok. 975 00:48:30,290 --> 00:48:34,880 >> Ralat sintaks besar yang mengubah makna fungsi kod anda 976 00:48:34,880 --> 00:48:37,600 secara mendadak, anda mungkin akan mendapat diambil kira mata untuk. 977 00:48:37,600 --> 00:48:40,330 Atau secara amnya, hanya penggredan anda sama ada atau tidak anda 978 00:48:40,330 --> 00:48:42,150 fungsi kod, walaupun - 979 00:48:42,150 --> 00:48:44,830 tidak reka bentuk begitu banyak, dan tidak gaya. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Mari kita kini kod satu lelaran versi find. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Jadi ia akan menjadi agak sama, tetapi ada pasti akan menjadi 984 00:49:03,450 --> 00:49:06,250 beberapa perbezaan utama. 985 00:49:06,250 --> 00:49:09,160 Walau bagaimanapun, kod pseudo kami mungkin boleh pergi - 986 00:49:09,160 --> 00:49:11,610 kita masih boleh mengambil satu baris yang kod pseudo dan angka apa yang 987 00:49:11,610 --> 00:49:14,160 line adalah dalam kes ini. 988 00:49:14,160 --> 00:49:18,010 >> Jadi dalam versi lelaran, apa yang anda fikir, Julia, sekiranya 989 00:49:18,010 --> 00:49:19,260 menjadi baris pertama? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> PENONTON: Sekali lagi, dalam boolean lelaran, anda perlu menubuhkan sebuah untuk gelung, bukan? 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> PENONTON: Jadi untuk seperti, k, untuk x sama dengan 0, x kurang dari i. 994 00:49:38,480 --> 00:49:42,260 Atau tidak, x adalah kurang daripada saiz pokok itu. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: Pokok itu. 996 00:49:42,760 --> 00:49:46,660 Oleh itu, kita tidak benar-benar tahu saiz pokok, dan kita tidak tahu 997 00:49:46,660 --> 00:49:48,900 berapa kali kita boleh pergi, jadi apa yang berlainan jenis gelung yang mungkin 998 00:49:48,900 --> 00:49:50,150 lebih baik dalam kes ini? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> PENONTON: Jika yang berlainan? 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: Jika lain tidak boleh gelung. 1002 00:49:57,070 --> 00:49:58,935 Jadi apa yang sejenis gelung kita boleh hanya pergi sehingga kes beberapa dipenuhi? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Apa yang hanya jenis lain gelung dalam C selain untuk gelung? 1005 00:50:11,560 --> 00:50:11,930 >> PENONTON: Walaupun. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: Walaupun, betul-betul. 1007 00:50:13,380 --> 00:50:16,430 Dalam gelung sementara, tidak perlu tahu bagaimana - 1008 00:50:16,430 --> 00:50:18,450 gelung sementara dan untuk gelung boleh melakukan Perkara yang sama yang tepat, tetapi perkara yang bagus 1009 00:50:18,450 --> 00:50:21,500 kira-kira satu gelung sementara ini adalah kita tidak perlu tahu berapa besar pokok kita. 1010 00:50:21,500 --> 00:50:23,060 Jadi, kita akan pergi sehingga apa? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> PENONTON: Sehingga ia sama saiz - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: Nah, itu sangat sama dengan kes rekursif kami. 1014 00:50:32,320 --> 00:50:33,360 Jadi - 1015 00:50:33,360 --> 00:50:36,470 >> PENONTON: Walaupun akar i tidak sama i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: Itu benar-benar dekat. 1017 00:50:37,620 --> 00:50:39,430 Walaupun akar i - 1018 00:50:39,430 --> 00:50:40,610 mari kita mencubanya. 1019 00:50:40,610 --> 00:50:41,180 Saya tidak fikir [didengar] 1020 00:50:41,180 --> 00:50:43,026 di mana akar i tidak sama i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Kita mungkin perlu mengubahnya dalam sedikit sedikit, tetapi yang berbunyi seperti ia cukup 1023 00:50:49,460 --> 00:50:50,160 baik, untuk sekarang. 1024 00:50:50,160 --> 00:50:51,710 Oleh itu, kita akan melakukan itu. 1025 00:50:51,710 --> 00:50:55,660 >> Juga, ingat, kita tidak boleh menganggap setiap soalan. 1026 00:50:55,660 --> 00:50:57,880 Anda tidak menganggap bahawa akar akan bukan nol. 1027 00:50:57,880 --> 00:51:01,914 Jadi, apa yang anda berfikir yang Perkara pertama yang kita harus lakukan adalah? 1028 00:51:01,914 --> 00:51:02,770 >> PENONTON: Hanya melakukan perkara yang sama perkara seperti sebelum ini. 1029 00:51:02,770 --> 00:51:05,260 Jika akar sama setaraf batal, pulangan palsu. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Great. 1032 00:51:12,130 --> 00:51:13,820 Jadi ia boleh menjadi null. 1033 00:51:13,820 --> 00:51:15,810 Jadi, kami ingin menghilangkan IT merta. 1034 00:51:15,810 --> 00:51:19,560 Dan kemudian kita akan cek jika akar i tidak sama i. 1035 00:51:19,560 --> 00:51:24,480 Jadi, katakan kita mencari di pokok ini untuk 3, akar i tidak sama i, kini 1036 00:51:24,480 --> 00:51:25,950 kita berada dalam gelung sementara kami. 1037 00:51:25,950 --> 00:51:27,500 Apa yang kita mahu lakukan? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 Dan sekali lagi, ia akan menjadi agak serupa dengan versi rekursif kami. 1040 00:51:35,430 --> 00:51:36,230 Yeah. 1041 00:51:36,230 --> 00:51:40,470 >> PENONTON: Jadi, anda akan ingin melelar, atau menyimpan akan turun pokok itu selagi 1042 00:51:40,470 --> 00:51:42,400 akar tidak sama dengan nol. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: Selagi akar tidak sama dengan nol? 1045 00:51:46,640 --> 00:51:50,200 >> PENONTON: The sengkang akar i tidak sama dengan nol. 1046 00:51:50,200 --> 00:51:51,220 Hanya akar, yeah. 1047 00:51:51,220 --> 00:51:52,920 Sebagai selagi akar tidak sama dengan nol. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Jadi anda mahu untuk mengubah ini ke dalam akar 1049 00:51:54,240 --> 00:51:56,590 tidak sama null? 1050 00:51:56,590 --> 00:51:59,020 >> PENONTON: Yeah. 1051 00:51:59,020 --> 00:52:00,800 >> PENONTON: Kami boleh menggabungkan ini, bukan? 1052 00:52:00,800 --> 00:52:02,990 Kita tidak perlu jika, pada mulanya. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: OK, jadi jika kita tidakkah ibu - 1054 00:52:05,180 --> 00:52:08,140 jika kita menggabungkan mereka, jadi kita akan melakukan manakala akar tidak sama batal, dan 1055 00:52:08,140 --> 00:52:10,800 jika akar itu benar batal di permulaan, apa yang kita lakukan ke bawah di sini? 1056 00:52:10,800 --> 00:52:11,450 >> PENONTON: Kembali palsu. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Great. 1058 00:52:12,730 --> 00:52:14,110 Jadi kedua-dua cara mungkin akan bekerja. 1059 00:52:14,110 --> 00:52:15,645 Ini adalah cara yang berbeza, dan ini menggabungkan ia. 1060 00:52:15,645 --> 00:52:18,950 Tetapi sekali lagi, jika anda lakukan cara sama ada, kita tidak akan mengambil kira reka bentuk 1061 00:52:18,950 --> 00:52:19,800 menunjukkan kuiz. 1062 00:52:19,800 --> 00:52:21,020 Tetapi ini kelihatan baik. 1063 00:52:21,020 --> 00:52:23,940 >> Jadi sementara akar tidak sama batal, apa yang pertama 1064 00:52:23,940 --> 00:52:25,400 perkara yang kami mahu menyemak? 1065 00:52:25,400 --> 00:52:26,330 Orang lain? 1066 00:52:26,330 --> 00:52:29,720 Batal, apa perkara pertama? 1067 00:52:29,720 --> 00:52:32,850 >> PENONTON: Jika ri adalah kurang daripada - 1068 00:52:32,850 --> 00:52:36,140 oh, saya rasa, jika kita sudah mendapati ia dalam akar. 1069 00:52:36,140 --> 00:52:40,830 Jadi, jika akar arrow i ialah i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Maaf? 1071 00:52:40,990 --> 00:52:45,840 >> PENONTON: Jika akar arrow i sama sama i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Apa yang kami lakukan? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> PENONTON: Kembali benar. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Great. 1077 00:52:59,280 --> 00:53:00,530 Dan apa yang akan datang? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, apa baris berikutnya kod? 1080 00:53:06,843 --> 00:53:16,190 >> PENONTON: Jika saya adalah kurang daripada akar arrow i, maka akar sama akar arrow kiri. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: setaraf Akar akar arrow kiri. 1082 00:53:21,550 --> 00:53:24,530 Jadi, itu mungkin yang terbesar perbezaan di sini di ini lelaran 1083 00:53:24,530 --> 00:53:26,600 versi bertentangan dengan versi rekursif. 1084 00:53:26,600 --> 00:53:28,970 Versi rekursif, kami memanggil fungsi sekali lagi. 1085 00:53:28,970 --> 00:53:32,640 Kami akan mengemaskini akar apabila kita panggil fungsi baru. 1086 00:53:32,640 --> 00:53:34,170 Di sini kita tidak memanggil fungsi baru. 1087 00:53:34,170 --> 00:53:37,610 Kami hanya sekadar mengemas kini akar dalam fungsi ini. 1088 00:53:37,610 --> 00:53:38,880 Itulah yang sangat baik. 1089 00:53:38,880 --> 00:53:40,730 Dan apa yang barisan terakhir kod? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Ya, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> PENONTON: setaraf akar Lagi akar anak panah kanan. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Maaf? 1094 00:53:49,492 --> 00:53:52,340 >> Setaraf Akar: PENONTON akar anak panah kanan. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Bolehkah anda juga menulis sesuatu seperti ini? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> PENONTON: Saya tidak mempunyai idea. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: Anda tidak boleh. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Anda tidak boleh melakukannya sama setaraf ditambah. 1102 00:54:08,270 --> 00:54:10,780 OK, jadi ini kelihatan baik. 1103 00:54:10,780 --> 00:54:13,620 Mengapa kita tidak hanya melakukan yang untuk membersihkannya sehingga. 1104 00:54:13,620 --> 00:54:15,220 Ini kelihatan besar, dan ini akan bekerja. 1105 00:54:15,220 --> 00:54:16,920 Dan kita akan keluar. 1106 00:54:16,920 --> 00:54:21,460 >> Jika akar kiri adalah batal atau akar betul adalah batal, kita akan datang di sini. 1107 00:54:21,460 --> 00:54:22,470 Akar akan sama dengan null. 1108 00:54:22,470 --> 00:54:24,270 Kita akan keluar daripada gelung kami, dan kita akan kembali palsu. 1109 00:54:24,270 --> 00:54:26,280 Oleh itu, apabila kita keluar daripada gelung, kita kembali palsu. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> Dan sekali lagi, gelung sementara adalah sempurna di sini kerana kita tidak tahu bagaimana 1112 00:54:32,793 --> 00:54:33,850 besar pokok kita. 1113 00:54:33,850 --> 00:54:36,460 Kami cuba untuk menulis untuk gelung, tetapi kita sedar anda perlu memikirkan bagaimana 1114 00:54:36,460 --> 00:54:37,410 besar ia adalah lebih awal daripada masa. 1115 00:54:37,410 --> 00:54:38,720 Yeah. 1116 00:54:38,720 --> 00:54:41,790 >> PENONTON: Jika ini tidak binari pokok carian, ia akan menjadi sebenar matematik-y 1117 00:54:41,790 --> 00:54:44,220 menulisnya secara berulang, bukan? 1118 00:54:44,220 --> 00:54:47,170 Seperti, jika ia adalah pokok, tetapi tidak semestinya - 1119 00:54:47,170 --> 00:54:49,730 jadi ia tidak semua yang lebih kecil di sebelah kiri, dan semua yang lebih besar di sebelah kanan. 1120 00:54:49,730 --> 00:54:52,540 Ia akan menjadi benar-benar sukar untuk melelar ke atasnya, bukan? 1121 00:54:52,540 --> 00:54:55,720 Kita akan mempunyai untuk menyelamatkan apa yang sebelum ini pada di pokok itu dan kembali, 1122 00:54:55,720 --> 00:54:56,970 dan barangan seperti itu. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: Jika ia bukan binari pokok carian, jika ia hanya 1125 00:55:02,010 --> 00:55:04,740 pokok dan perkara-perkara tidak disusun seperti ini - 1126 00:55:04,740 --> 00:55:07,440 dan kami menyedari lebih awal apabila Anna telah membantu kami yang menjadikannya 1127 00:55:07,440 --> 00:55:08,800 disusun membantu kita banyak - 1128 00:55:08,800 --> 00:55:12,610 kita perlu, ya, sentiasa menyelamatkan di mana kita sebelum ini. 1129 00:55:12,610 --> 00:55:14,430 Tetapi mungkin ada banyak di mana kami previouslys. 1130 00:55:14,430 --> 00:55:17,730 Mungkin ada banyak nod induk. 1131 00:55:17,730 --> 00:55:22,530 >> Mungkin cara terbaik untuk melakukannya akan adalah untuk memastikan perkara-perkara menolak ke beberapa 1132 00:55:22,530 --> 00:55:24,170 jenis timbunan atau beratur. 1133 00:55:24,170 --> 00:55:26,030 Anda tidak perlu memberi kod ini kerana ia adalah satu masalah yang sukar. 1134 00:55:26,030 --> 00:55:30,820 Tetapi anda menolak beberapa perkara ke timbunan atau beratur dan kemudian pop mereka luar, dan 1135 00:55:30,820 --> 00:55:31,890 kemudian menilai mereka. 1136 00:55:31,890 --> 00:55:34,200 >> Dan kemudian mempunyai beberapa perkara lain di mana anda sebenarnya sedang meletakkan nod, dan 1137 00:55:34,200 --> 00:55:36,090 kemudian buat itu, dan kemudian mencari melalui itu. 1138 00:55:36,090 --> 00:55:38,700 Yang mungkin menjadi cara terbaik untuk melakukannya. 1139 00:55:38,700 --> 00:55:42,410 OK, apa-apa soalan tentang masalah ini? 1140 00:55:42,410 --> 00:55:44,670 >> PENONTON: Ini adalah pada nota yang berkaitan. 1141 00:55:44,670 --> 00:55:50,460 Adakah kita akan perlu membandingkan kali jangka untuk jadual hash, perduaan 1142 00:55:50,460 --> 00:55:52,160 pokok carian, dan sebagainya? 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Mungkin. 1144 00:55:54,310 --> 00:55:56,150 Jadi mari kita buat yang benar-benar cepat. 1145 00:55:56,150 --> 00:55:58,490 Menjalankan masa untuk jadual hash - 1146 00:55:58,490 --> 00:55:59,090 apa yang lain? 1147 00:55:59,090 --> 00:56:00,050 Pokok binari? 1148 00:56:00,050 --> 00:56:02,920 >> PENONTON: Senarai Link. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: OK, mari kita buat memasukkan. 1150 00:56:04,780 --> 00:56:09,980 Apakah O besar insert di atas meja hash? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Apakah andaian anda membuat? 1153 00:56:15,285 --> 00:56:17,760 >> PENONTON: Anda memasukkan di permulaan senarai pautan. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Mungkin yang pertama andaian adalah tidak ada pertembungan. 1155 00:56:19,860 --> 00:56:22,340 Jika tidak ada perlanggaran, maka masa kemasukan adalah satu. 1156 00:56:22,340 --> 00:56:26,560 Jika terdapat perlanggaran, dan anda melakukan chaining berasingan dan memasukkan 1157 00:56:26,560 --> 00:56:31,880 pada awal senarai pautan, kemudian memasukkan juga berterusan. 1158 00:56:31,880 --> 00:56:34,700 >> Jika anda lakukan jadual hash tetapi anda mempunyai kaedah yang berbeza untuk berurusan 1159 00:56:34,700 --> 00:56:36,040 dengan perlanggaran, apa yang kaedah yang berbeza? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Apa adalah kaedah yang berbeza berurusan dengan 1162 00:56:42,960 --> 00:56:44,205 perlanggaran dalam jadual hash? 1163 00:56:44,205 --> 00:56:44,915 >> PENONTON: pengaturcaraan linear. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: pengaturcaraan linear. 1165 00:56:45,540 --> 00:56:47,770 Jadi, kita akan terus mencari untuk tempat terbuka yang akan datang. 1166 00:56:47,770 --> 00:56:50,390 Itu bukan masa kemasukan berterusan. 1167 00:56:50,390 --> 00:56:52,266 Anda boleh perlu melalui keseluruhan jadual, supaya 1168 00:56:52,266 --> 00:56:53,936 boleh O besar n. 1169 00:56:53,936 --> 00:56:54,740 Yeah. 1170 00:56:54,740 --> 00:56:57,690 >> PENONTON: Jika tidak hanya chaining? 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Kami telah chaining berasingan. 1172 00:57:00,160 --> 00:57:00,720 Itu adalah yang pertama. 1173 00:57:00,720 --> 00:57:01,560 Itulah yang senarai pautan. 1174 00:57:01,560 --> 00:57:03,720 Nama mewah adalah chaining berasingan. 1175 00:57:03,720 --> 00:57:06,880 Ia boleh mana-mana jenis struktur senarai kita berlaku untuk melakukan dalam senarai link. 1176 00:57:06,880 --> 00:57:10,490 >> Jadi sekali lagi, sisipan di atas meja hash boleh menjadi masa yang berterusan. 1177 00:57:10,490 --> 00:57:13,160 Bagaimana pula memasukkan pada baris gilir Stacker? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> PENONTON: Bukankah itu berterusan? 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: Ia masa yang sama. 1181 00:57:21,530 --> 00:57:23,420 Anda hanya menolak ia. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Insertion, apa yang adalah orang-orang lain? 1184 00:57:25,380 --> 00:57:27,100 Pada mencuba? 1185 00:57:27,100 --> 00:57:30,252 Apakah O besar sisipan di cuba? 1186 00:57:30,252 --> 00:57:32,808 >> PENONTON: Panjang adalah tetap. 1187 00:57:32,808 --> 00:57:34,560 Panjang yang paling lama - 1188 00:57:34,560 --> 00:57:36,998 panjang perkataan anda memasukkan. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Maaf? 1190 00:57:38,210 --> 00:57:39,120 Tunggu, jadi apa yang saya dengar? 1191 00:57:39,120 --> 00:57:40,260 Anda berkata - apa yang kamu katakan? 1192 00:57:40,260 --> 00:57:41,650 Apakah jawapan anda, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> PENONTON: Panjang perkataan anda memasukkan dalam huruf, 1194 00:57:43,640 --> 00:57:45,480 menganggap ia adalah satu watak cuba. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: OK, jadi panjang perkataan. 1196 00:57:46,840 --> 00:57:49,500 Kami akan membuat andaian bahawa ia adalah rentetan aksara. 1197 00:57:49,500 --> 00:57:51,930 Anda mengatakan sesuatu yang berbeza, walaupun. 1198 00:57:51,930 --> 00:57:55,490 Anda berkata panjang perkataan terpanjang. 1199 00:57:55,490 --> 00:57:57,600 >> PENONTON: Itu hanya berterusan, bukan? 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: Mengapa akan ia menjadi berterusan? 1201 00:57:58,440 --> 00:58:00,970 >> PENONTON: Seperti, jika anda menggunakan O besar notasi, maka ia tidak berbeza-beza berdasarkan 1202 00:58:00,970 --> 00:58:04,680 kepada bilangan perkara-perkara yang sudah dalam cuba yang. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Oleh itu, kita akan berkata ia masa yang sama. 1204 00:58:07,344 --> 00:58:11,840 Ia adalah sisipan yang berterusan, dan itu kerana idea ini - 1205 00:58:11,840 --> 00:58:14,820 katakan kita ada perkataan itu 45, atau perkataan itu 60, yang 1206 00:58:14,820 --> 00:58:16,800 mempunyai beberapa berterusan. 1207 00:58:16,800 --> 00:58:21,050 Dan ia akan hanya dimasukkan dalam masa yang sama. 1208 00:58:21,050 --> 00:58:26,060 >> Dalam amalan walaupun, ia tidak akan, jelas, berlaku dalam satu milisaat, 1209 00:58:26,060 --> 00:58:26,590 sebagai contoh. 1210 00:58:26,590 --> 00:58:28,880 Tetapi kita akan berkata Wahai besar adalah berterusan untuk mencuba. 1211 00:58:28,880 --> 00:58:31,330 Dan itulah salah satu yang kelebihan terbesar. 1212 00:58:31,330 --> 00:58:33,330 >> Apa kira-kira kemasukan ke dalam senarai link? 1213 00:58:33,330 --> 00:58:37,220 Hanya generik, disusun pautan senarai? 1214 00:58:37,220 --> 00:58:37,700 Yeah. 1215 00:58:37,700 --> 00:58:38,530 >> PENONTON: Saya mempunyai satu soalan. 1216 00:58:38,530 --> 00:58:42,670 Pada ujian, akan mereka pernah meminta kami yang masa kemasukan itu empat langkah, 1217 00:58:42,670 --> 00:58:43,270 atau sesuatu? 1218 00:58:43,270 --> 00:58:44,300 Atau adakah ia hanya - 1219 00:58:44,300 --> 00:58:47,670 apabila anda mengatakan masa kemasukan adalah satu, yang hanya bermakna masa berterusan? 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Ya, mereka akan sentiasa bertanya, adakah O besar n? 1221 00:58:49,770 --> 00:58:51,440 O Big log n? 1222 00:58:51,440 --> 00:58:53,960 N kuasa dua yang berterusan. 1223 00:58:53,960 --> 00:58:56,520 Mereka benar-benar satu-satunya yang anda perlu tahu. 1224 00:58:56,520 --> 00:58:58,420 Apa kira-kira kemasukan ke disusun senarai Pautan? 1225 00:58:58,420 --> 00:58:59,440 >> PENONTON: Saya mempunyai satu soalan - 1226 00:58:59,440 --> 00:58:59,980 satu soalan - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Apakah jawapan kepada soalan itu, walaupun? 1228 00:59:01,060 --> 00:59:02,120 >> PENONTON: Tunggu, apa yang anda bertanya? 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Apakah O besar kemasukan ke dalam senarai Pautan disusun? 1230 00:59:06,750 --> 00:59:07,070 >> PENONTON: Satu? 1231 00:59:07,070 --> 00:59:09,400 Tiada menunggu, No tunggu, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. Selain senarai link. 1233 00:59:11,420 --> 00:59:12,706 Dan apa yang soalan anda? 1234 00:59:12,706 --> 00:59:16,440 >> PENONTON: Jadi akan anda menulis o k o atau daripada 1 untuk - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Oh. 1236 00:59:18,150 --> 00:59:21,830 Saya akan menulis o 1, mungkin. 1237 00:59:21,830 --> 00:59:24,160 Ada satu struktur data lain yang akan menjadi baik. 1238 00:59:24,160 --> 00:59:25,730 Pokok, pokok carian binari. 1239 00:59:25,730 --> 00:59:27,510 Apakah kemasukan pada pokok carian binari? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> PENONTON: Login. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: Jadi, apa yang paling teruk kes di pokok carian binari? 1243 00:59:39,260 --> 00:59:45,350 Jadi jika kita berlaku untuk memulakan pada 5, dan tiap-tiap nombor adalah lebih besar daripada 5, maka 1244 00:59:45,350 --> 00:59:48,760 kami mempunyai 5, 7, 9, 11, dan sebagainya. 1245 00:59:48,760 --> 00:59:52,255 Dalam kes ini, ia pada dasarnya hanya pautan yang senarai, dan kita perlu untuk memasukkan semua 1246 00:59:52,255 --> 00:59:52,680 jalan di akhirnya. 1247 00:59:52,680 --> 00:59:54,350 Jadi ia O besar n. 1248 00:59:54,350 --> 00:59:57,720 >> Itu boleh menjadi kes kami yang paling teruk di atas pokok carian binari. 1249 00:59:57,720 --> 01:00:00,890 Jelas sekali, anda tidak akan membina pokok carian binari dengan 5 di 1250 01:00:00,890 --> 01:00:04,270 pertengahan, mengetahui 5 akan menjadi nombor yang terendah. 1251 01:00:04,270 --> 01:00:08,030 Tetapi ia boleh, jika anda bermula dari awal. 1252 01:00:08,030 --> 01:00:10,980 Sebarang pertanyaan mengenai perkara ini sebelum saya beralih kepada soalan lain? 1253 01:00:10,980 --> 01:00:11,560 Itu adalah satu soalan yang baik. 1254 01:00:11,560 --> 01:00:15,100 Saya tahu O besar - 1255 01:00:15,100 --> 01:00:18,620 >> PENONTON: Bagaimana mencari bagi mereka empat? 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Sudah pasti kami tidak mencari dan menyusun. 1257 01:00:20,400 --> 01:00:22,160 Kami telah semua algoritma, betul. 1258 01:00:22,160 --> 01:00:23,390 Tunggu, adalah bahawa untuk Kuiz 1? 1259 01:00:23,390 --> 01:00:23,980 Telah yang dilindungi - 1260 01:00:23,980 --> 01:00:25,860 adakah anda sudah mempunyai yang soalan pada Kuiz 1? 1261 01:00:25,860 --> 01:00:29,650 The O runtime besar carian binari, jenis kemasukan, jenis gelembung? 1262 01:00:29,650 --> 01:00:30,160 >> PENONTON: Yeah. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Jika anda mempunyai yang soalan pada Kuiz 0, kemungkinan adalah anda tidak akan 1264 01:00:32,790 --> 01:00:35,180 mendapat soalan yang tepat yang sama pada Kuiz 1. 1265 01:00:35,180 --> 01:00:36,300 Mungkin masih baik untuk mengetahui mereka. 1266 01:00:36,300 --> 01:00:38,520 Anda diharapkan perlu tahu gh sudah. 1267 01:00:38,520 --> 01:00:40,740 >> Tetapi runtimes logaritma lain mungkin baik untuk mengetahui. 1268 01:00:40,740 --> 01:00:42,890 Perkara-perkara yang tidak dilindungi di Kuiz 0. 1269 01:00:42,890 --> 01:00:47,300 Seperti semua pengusaha di jenis data abstrak. 1270 01:00:47,300 --> 01:00:50,760 >> OK, mari kita bergerak ke atas. 1271 01:00:50,760 --> 01:00:52,190 Yang ini harus cukup cepat. 1272 01:00:52,190 --> 01:00:56,170 Dan ini adalah bahasa baru yang tidak mempunyai sebenarnya dikodkan dalam sebelum ini. 1273 01:00:56,170 --> 01:00:59,300 Ini adalah meminta soalan kod dalam PHP. 1274 01:00:59,300 --> 01:01:01,950 Oleh itu fikirkanlah pelbagai PHP di bawah. 1275 01:01:01,950 --> 01:01:06,150 Tulis PHP dan / atau HTML Kod itu bahawa ia output jadual dua lajur dengan TFS 1276 01:01:06,150 --> 01:01:08,810 nama dan rumah-rumah. 1277 01:01:08,810 --> 01:01:11,600 >> Anda tidak pernah dilakukan sebelum ini, masalah ini tertentu. 1278 01:01:11,600 --> 01:01:16,270 Tetapi ini harus sangat biasa kepada apa yang anda lakukan dalam masalah menetapkan 7. 1279 01:01:16,270 --> 01:01:21,250 Jadi saya akan bersedia untuk bertaruh anda akan diminta untuk memberi kod kepada sesuatu dalam PHP yang 1280 01:01:21,250 --> 01:01:23,880 adalah hampir sama dengan apa yang anda lakukan dalam masalah menetapkan 7. 1281 01:01:23,880 --> 01:01:26,300 >> Pertama, array tidak begitu khusus. 1282 01:01:26,300 --> 01:01:28,140 Apakah jenis array ini? 1283 01:01:28,140 --> 01:01:29,080 >> PENONTON: bersekutu. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: Ia pelbagai bersekutu. 1285 01:01:31,250 --> 01:01:33,750 Dan apa perbezaan antara array bersekutu dan objek? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> PENONTON: Pelbagai objek mempunyai indeks integer, dan pelbagai bersekutu 1288 01:01:44,857 --> 01:01:47,814 adalah indeks tali, atau sesuatu seperti itu. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Jadi pelbagai objek akan mempunyai indeks 1291 01:01:54,880 --> 01:01:57,090 integer, tetapi sesuatu objek mempunyai bidang. 1292 01:01:57,090 --> 01:02:01,590 Ia mempunyai bidang-bidang nama-nama seperti menamakan, rumah, pelajar. 1293 01:02:01,590 --> 01:02:03,720 Adakah anda mempunyai idea? 1294 01:02:03,720 --> 01:02:06,630 >> PENONTON: Nah, bersekutu array adalah dalam PHP, bukan? 1295 01:02:06,630 --> 01:02:07,880 Dan objek adalah dalam JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Secara jujur, tidak ada Perbezaan sebenar antara kedua-dua. 1298 01:02:14,820 --> 01:02:19,540 Kedua-duanya mempunyai tali sebagai kunci, dan boleh mempunyai apa-apa kerana pada dasarnya nilai. 1299 01:02:19,540 --> 01:02:21,250 Bahasa yang berbeza panggilan satu perkara array bersekutu, 1300 01:02:21,250 --> 01:02:22,750 satu perkara objek. 1301 01:02:22,750 --> 01:02:25,960 Jadi jujur, tidak ada sebenar perbezaan, tetapi ada pasti beberapa 1302 01:02:25,960 --> 01:02:27,730 perbezaan sintaksis antara kedua-dua. 1303 01:02:27,730 --> 01:02:28,200 Yeah. 1304 01:02:28,200 --> 01:02:33,580 >> PENONTON: Jadi adalah objek juga berkod di bawah hud sebagai meja hash, maka? 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Apa yang anda bermakna, dikodkan di bawah hud? 1306 01:02:35,796 --> 01:02:38,017 >> PENONTON: Kami telah diberitahu bahawa bersekutu array secara teknikal yang 1307 01:02:38,017 --> 01:02:39,960 hash meja. 1308 01:02:39,960 --> 01:02:44,510 Begitu juga objek dari segi teknikal jadual hash? 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: Saya tidak akan untuk menjawab soalan itu. 1310 01:02:45,350 --> 01:02:46,600 Saya akan kembali kepada anda pada itu. 1311 01:02:46,600 --> 01:02:48,980 Tetapi saya tidak akan memikirkan sama ada dari orang-orang seperti itu. 1312 01:02:48,980 --> 01:02:53,790 Tetapi, dalam apa-apa cara, array bersekutu dan objek, secara amnya, orang menggunakan mereka 1313 01:02:53,790 --> 01:02:54,910 Terma silih berganti. 1314 01:02:54,910 --> 01:02:57,630 Dalam kes ini, bahagian yang sejuk ialah anda boleh menggunakan kunci. 1315 01:02:57,630 --> 01:03:00,580 Rentetan kunci, dan bukannya hanya nombor mudah. 1316 01:03:00,580 --> 01:03:02,070 >> Jadi saya telah bercakap tentang ini untuk seketika. 1317 01:03:02,070 --> 01:03:04,090 Mudah-mudahan, sesetengah orang mempunyai mendapat bermula pada ini. 1318 01:03:04,090 --> 01:03:08,050 Kami akan menulis beberapa PHP dan HTML kod, seperti yang kita akan mendapat dua ruangan 1319 01:03:08,050 --> 01:03:11,830 meja dengan nama-nama TFS dan rumah-rumah. 1320 01:03:11,830 --> 01:03:15,380 >> OK, saya juga ingin tandukan baris di atas meja ini. 1321 01:03:15,380 --> 01:03:18,410 Jadi saya akan mendapat lurus ke dalam ini. 1322 01:03:18,410 --> 01:03:20,770 Kami akan memfailkan, baru, dan kita akan - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> OK. 1325 01:03:28,320 --> 01:03:29,970 Bagaimana saya bermula meja? 1326 01:03:29,970 --> 01:03:32,090 Apa yang tag, Michael, untuk memulakan meja? 1327 01:03:32,090 --> 01:03:32,890 >> PENONTON: Jadual-jadual. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Jadual-jadual. 1329 01:03:34,020 --> 01:03:37,870 Dan jika saya membuka tag, apa lagi yang saya perlukan? 1330 01:03:37,870 --> 01:03:39,810 >> PENONTON: kepala A? 1331 01:03:39,810 --> 01:03:41,040 Atau, saya rasa, kelas. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Jadi, maaf. 1333 01:03:41,730 --> 01:03:45,430 Andaikan bahawa kita sudah menulis doctab, HTML, semua barangan itu. 1334 01:03:45,430 --> 01:03:50,230 Tetapi jika saya membuka tag jadual ini, apa yang lagi yang saya perlu untuk menulis? 1335 01:03:50,230 --> 01:03:53,450 untuk mengesahkan HTML? 1336 01:03:53,450 --> 01:03:55,000 >> PENONTON: menutupnya. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn: Tutup tag itu. 1338 01:03:56,050 --> 01:03:57,575 Bagaimana saya menulis tag dekat meja? 1339 01:03:57,575 --> 01:03:59,580 >> PENONTON: Dot mengurangkan meja. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash meja, hebat. 1341 01:04:00,960 --> 01:04:02,730 Mungkin masuk akal untuk menulis kedua-dua dari orang-orang bersama-sama kerana 1342 01:04:02,730 --> 01:04:03,870 anda perlu melakukannya. 1343 01:04:03,870 --> 01:04:08,575 OK, jika saya mahu baris pengepala, bagaimana Saya menulis baris pengepala dengan tajuk? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> PENONTON: Adakah ia kurang daripada 10 jam dekat - 1346 01:04:19,290 --> 01:04:21,550 TR, yeah. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR? 1348 01:04:22,100 --> 01:04:25,080 >> PENONTON: Kemudian perkara yang sama, slash, yeah. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, dan beri saya dua tiang. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> PENONTON: T D? 1352 01:04:33,210 --> 01:04:34,460 >> JASON Hirschhorn: OK. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 Saya mahu dua tiang. 1355 01:04:39,520 --> 01:04:40,960 Adakah ini memberi saya dua tiang? 1356 01:04:40,960 --> 01:04:43,880 Berapa banyak ruangan ini? 1357 01:04:43,880 --> 01:04:45,920 Satu. 1358 01:04:45,920 --> 01:04:47,170 Jadi mari kita copy dan paste ini. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Jadi sebenarnya, kuiz, semua kod ini bahawa kita telah menulis setakat ini adalah 1361 01:05:03,390 --> 01:05:04,710 sebenarnya diberikan kepada anda. 1362 01:05:04,710 --> 01:05:06,200 Tetapi anda mungkin masih perlu tahu bagaimana untuk menulisnya. 1363 01:05:06,200 --> 01:05:06,470 Yeah. 1364 01:05:06,470 --> 01:05:10,636 >> PENONTON: Rumah anda adalah di antara kedua-dua. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 Ia harus pergi di sana, bukan? 1367 01:05:12,720 --> 01:05:14,600 Panggilan yang baik. 1368 01:05:14,600 --> 01:05:17,760 Jadi sekali lagi, semua kod ini sebenarnya diberikan kepada anda pada kuiz sebenar. 1369 01:05:17,760 --> 01:05:19,570 Tetapi ia menyeronokkan untuk menulis, dan anda perlu tahu bagaimana untuk menulisnya. 1370 01:05:19,570 --> 01:05:23,640 Jadi ini adalah di mana anda perlu untuk memulakan kod anda. 1371 01:05:23,640 --> 01:05:25,150 Apa yang kita perlu menulis di sini? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Maaf, saya perlu menukar nama fail ini. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Oleh itu, kita disimpan dalam fail. HTML, tidak dalam. fail PHP. 1376 01:05:44,270 --> 01:05:47,030 Perkara-perkara ini akan bermakna apa-apa dalam. fail PHP. 1377 01:05:47,030 --> 01:05:48,500 Oleh itu, kita berada dalam. Fail HTML. 1378 01:05:48,500 --> 01:05:50,090 Apakah perkara pertama yang Saya perlu untuk menulis? 1379 01:05:50,090 --> 01:05:52,990 Saya mahu meletakkan PHP kod dalam HTML. 1380 01:05:52,990 --> 01:05:57,300 >> PENONTON: PHP, seperti lobak merah lagi dan tanda tanya PHP, bukan? 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Great. 1382 01:05:58,310 --> 01:05:59,360 Dan bagaimana saya berakhir itu? 1383 01:05:59,360 --> 01:06:02,510 >> PENONTON: Dengan tanda tanya. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: Itu yang besar. 1385 01:06:03,120 --> 01:06:07,090 Itulah perkara pertama yang saya perlu jika saya ingin untuk meletakkan beberapa kod PHP di sini. 1386 01:06:07,090 --> 01:06:11,210 >> PENONTON:. Saya fikir PHP Fail boleh mengambil HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Yeah. 1388 01:06:12,290 --> 01:06:15,330 A. Fail PHP boleh mengambil beberapa HTML dan dipaparkan. 1389 01:06:15,330 --> 01:06:16,450 Yang buruk saya. 1390 01:06:16,450 --> 01:06:18,300 Saya hanya mencuba untuk meniru apa yang ia adalah kuiz. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, maaf untuk mengelirukan anda. 1393 01:06:24,720 --> 01:06:25,550 Ya, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Sekarang kita akan meletakkan beberapa kod PHP masuk 1395 01:06:27,340 --> 01:06:30,530 Apakah baris pertama Kod PHP yang perlu saya menulis? 1396 01:06:30,530 --> 01:06:33,360 Saya akan melalui pelbagai ini dan membuat ke dalam jadual. 1397 01:06:33,360 --> 01:06:34,600 Yeah. 1398 01:06:34,600 --> 01:06:37,160 >> PENONTON: Anda boleh sama ada menggunakan untuk gelung H atau untuk gelung. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: OK, apa yang yang anda mahu untuk digunakan? 1400 01:06:38,415 --> 01:06:40,720 >> PENONTON: Saya akan menggunakan untuk gelung. 1401 01:06:40,720 --> 01:06:48,700 Untuk, dan kemudian anda melakukan tanda dollar i sama dengan 0 koma bertitik dolar 1402 01:06:48,700 --> 01:06:51,580 menandatangani i kurang daripada 2. 1403 01:06:51,580 --> 01:06:55,455 Dan kemudian koma bertitik i dolar menandatangani i plus plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Bagaimana anda tahu untuk menggunakan 2? 1406 01:07:03,880 --> 01:07:10,444 >> PENONTON: Kerana terdapat dua array bersekutu dalam yang lebih besar 1407 01:07:10,444 --> 01:07:11,960 array bersekutu. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Jadi perkara yang besar itu tidak pelbagai bersekutu. 1409 01:07:13,610 --> 01:07:15,500 Perkara yang besar hanya array biasa. 1410 01:07:15,500 --> 01:07:17,380 Tetapi anda betul, terdapat dua tatasusunan bersekutu 1411 01:07:17,380 --> 01:07:18,910 di dalam pelbagai kami yang lebih besar. 1412 01:07:18,910 --> 01:07:20,310 Itulah sebabnya anda menggunakan dua. 1413 01:07:20,310 --> 01:07:24,270 Saya berasa tidak selesa dengan anggapan bahawa mereka 2, jadi apa cara untuk menulis 1414 01:07:24,270 --> 01:07:26,810 ini tanpa menganggap bahawa mereka 2? 1415 01:07:26,810 --> 01:07:27,507 >> PENONTON: [didengar]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: OK, bagaimana anda menulis bahawa? 1417 01:07:29,165 --> 01:07:35,262 >> PENONTON: foreach tanda dollar TFS atau dolar seperti tanda tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: OK, jadi untuk setiap TFS sebagai TFS, saya mahu, kini 1420 01:07:41,960 --> 01:07:43,650 sekali lagi, mempunyai jadual saya. 1421 01:07:43,650 --> 01:07:45,250 Jadi yang boleh memberi saya Barisan seterusnya kod? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> PENONTON: Cetak, dan kemudian di petikan, kurungan tr akhir 1424 01:07:59,810 --> 01:08:02,670 kurungan, quote akhir. 1425 01:08:02,670 --> 01:08:05,300 Kurungan End, koma bertitik. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, dan apa yang yang akan lakukan? 1427 01:08:07,135 --> 01:08:08,610 >> PENONTON: Ia akan berkata, barisan baru. 1428 01:08:08,610 --> 01:08:11,070 Ia akan meletakkan tag untuk barisan baru. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Betul, PHP ini, seperti kita bercakap tentang awal - ini 1430 01:08:13,000 --> 01:08:22,160 PHP akan dinilai, dan kemudian ia akan mencetak ke fail ini 1431 01:08:22,160 --> 01:08:26,350 jadual tunda, dan kemudian HTML akan dinilai. 1432 01:08:26,350 --> 01:08:27,810 Kami hanya menyalin ini HTML kami di sini. 1433 01:08:27,810 --> 01:08:28,120 Yeah. 1434 01:08:28,120 --> 01:08:29,470 >> PENONTON: [didengar]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Maaf? 1436 01:08:30,290 --> 01:08:31,240 Ia adalah hak di sini. 1437 01:08:31,240 --> 01:08:33,590 Kejatuhan 2012. 1438 01:08:33,590 --> 01:08:35,970 Jangan melihat jawapan, mari kita menyelesaikannya bersama-sama. 1439 01:08:35,970 --> 01:08:37,330 Oleh itu, kita mencetak baris jadual. 1440 01:08:37,330 --> 01:08:38,550 Jadi anda mungkin dalam dalam buaian perkara. 1441 01:08:38,550 --> 01:08:41,060 Apakah barisan seterusnya pada kod kita perlu menulis? 1442 01:08:41,060 --> 01:08:42,926 Assam, memberi saya baris berikutnya kod. 1443 01:08:42,926 --> 01:08:46,290 >> PENONTON: Anda perlu nama tf ini. 1444 01:08:46,290 --> 01:08:54,319 Tf terbuka kurungan tanda petikan menamakan kurungan tertutup. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Berikan saya nama mereka. 1446 01:08:57,310 --> 01:08:58,540 >> PENONTON: Anda perlu mencetak itu. 1447 01:08:58,540 --> 01:08:59,790 >> [Suara INTERPOSING] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, bagaimana saya cetak? 1450 01:09:03,430 --> 01:09:04,680 >> [Suara INTERPOSING] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: saya hilang sesuatu sekarang. 1453 01:09:10,350 --> 01:09:12,470 Apa yang saya hilang? 1454 01:09:12,470 --> 01:09:13,720 >> PENONTON: Anda perlu tanda dolar. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Apa lagi saya hilang? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Semua kita telah dicetak setakat ini adalah tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> PENONTON: Tutup tr selepas ia. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Oleh itu, kita perlu untuk menutup tr selepas. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Yang melihat apa yang kita hilang pada baris 16? 1464 01:09:37,906 --> 01:09:39,340 Ya, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> PENONTON: Anda perlu membuka yang td dan pendakap kerinting. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: Dan di mana adakah kita meletakkan pendakap kerinting? 1467 01:09:49,380 --> 01:09:51,790 >> PENONTON: Sekitar nama tf itu. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Seperti ini? 1469 01:09:53,080 --> 01:09:55,420 >> PENONTON: Yeah. 1470 01:09:55,420 --> 01:09:59,000 Dan kemudian tutup td itu. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Seperti yang? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> PENONTON: Adakah anda memerlukan petikan berganda tanda bersebelahan dengan penyokong gigi kerinting? 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Hak di sini? 1475 01:10:07,460 --> 01:10:08,710 Tidak, anda tidak. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Jadi itulah betul. 1478 01:10:12,550 --> 01:10:12,940 Yeah. 1479 01:10:12,940 --> 01:10:15,290 >> PENONTON: Jadi perbezaan di antara yang dan encatenating dengan titik, jika 1480 01:10:15,290 --> 01:10:18,420 anda menggunakan titik, anda akan perlu mempunyai tanda petikan berganda, maka titik, 1481 01:10:18,420 --> 01:10:20,370 maka titik - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Betul. 1483 01:10:20,520 --> 01:10:23,800 Jadi anda mengatakan ada sebuah muktamad cara menulis ini seperti itu. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Apa pengendali keadaan jalin-menjalin dalam JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> PENONTON: Satu tanda tambah. 1487 01:10:31,200 --> 01:10:34,710 Anda terlupa untuk meletakkan kerinting bersedia kembali. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Great. 1489 01:10:35,760 --> 01:10:38,850 Dan ada satu baris lebih kod hilang. 1490 01:10:38,850 --> 01:10:40,130 Yang boleh memberikan saya barisan terakhir kod kita hilang? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> PENONTON: Hanya perkara yang sama, hanya dengan rumah dan bukannya nama. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Besar 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Great. 1496 01:10:54,390 --> 01:10:59,320 Dan sintaks anda adalah betul-betul tepat untuk mendapatkan perkara dalam pelbagai bersekutu. 1497 01:10:59,320 --> 01:11:04,450 Jadi dalam kuiz sebenar, anda sebenarnya diberikan sehingga di sini. 1498 01:11:04,450 --> 01:11:05,710 Jadi kod ini telah diberikan kepada anda. 1499 01:11:05,710 --> 01:11:07,750 Apa yang anda perlu menulis mereka ini empat baris dan ingat untuk 1500 01:11:07,750 --> 01:11:09,190 menutup tag meja. 1501 01:11:09,190 --> 01:11:11,370 Anda lelaki sebenarnya tidak semua itu dan banyak lagi. 1502 01:11:11,370 --> 01:11:11,810 Yeah. 1503 01:11:11,810 --> 01:11:14,850 >> PENONTON: Jadi ia akan menjadi fungsi yang sama jika anda hanya mempunyai semua di 1504 01:11:14,850 --> 01:11:17,250 satu panggilan cetak besar, bukan? 1505 01:11:17,250 --> 01:11:19,630 Dan kemudian hanya concatenated pada, dan sebagainya? 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Seperti yang? 1507 01:11:20,730 --> 01:11:21,980 >> PENONTON: Yeah. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Ia hanya tidak akan kelihatan baik jika anda melihat ia apabila anda memeriksa 1510 01:11:26,940 --> 01:11:28,550 elemen di laman web anda, bukan? 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Saya bersetuju. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Jika saya dimuatkan laman web ini, saya akan dapat melihat kod PHP ini, yang pernah? 1514 01:11:38,710 --> 01:11:39,240 >> PENONTON: No 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: No 1516 01:11:40,080 --> 01:11:42,240 Dan sebenarnya, saya tidak akan. 1517 01:11:42,240 --> 01:11:43,920 >> PENONTON: Ini bukan HTML, bukan? 1518 01:11:43,920 --> 01:11:45,000 Jadi, anda mungkin boleh - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: Jadi PHP ini akan dinilai sebelah pelayan. 1520 01:11:46,780 --> 01:11:51,020 PHP ia selalu dinilai sebelah pelayan, jadi anda tidak akan dapat melihat kod PHP. 1521 01:11:51,020 --> 01:11:52,980 >> PENONTON: Tetapi anda akan dapat melihat hasil cetakan. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Betul. 1523 01:11:53,480 --> 01:11:55,510 Dan ia jujur ​​tidak mungkin meletakkan semuanya pada baris. 1524 01:11:55,510 --> 01:11:59,740 Ia mungkin memformat ia baik untuk anda, atau ia mungkin meletakkannya di satu baris. 1525 01:11:59,740 --> 01:12:01,521 Tidak jelas. 1526 01:12:01,521 --> 01:12:03,596 Tetapi ya, perkara yang baik. 1527 01:12:03,596 --> 01:12:06,470 >> PENONTON: Bagaimana datang ada tidak penyerlahan teks untuk 1528 01:12:06,470 --> 01:12:07,550 arahan-arahan PHP? 1529 01:12:07,550 --> 01:12:09,370 Kerana saya ingat melihat itu. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Kerana ia adalah satu . HTML memfailkan di sini di bahagian atas. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Terdapat anda pergi. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> PENONTON: Jika kita lakukan kaedah awal dengan untuk gelung, betul, jika kita 1535 01:12:28,800 --> 01:12:33,500 mahu mengakses TFS satu, akan kita melakukan TFS kurungan 0 kurungan, maka 1536 01:12:33,500 --> 01:12:35,180 [Didengar]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Anda akan - 1538 01:12:35,970 --> 01:12:40,560 jadi anda katakan untuk untuk gelung, anda akan melakukan dalam dolar tanda TFS kurungan 1 1539 01:12:40,560 --> 01:12:41,850 atau i, betul. 1540 01:12:41,850 --> 01:12:46,780 Atau tanda dolar i menutup kurungan dan kemudian kurungan persegi 1541 01:12:46,780 --> 01:12:49,600 petik, ya. 1542 01:12:49,600 --> 01:12:50,640 >> OK, yang sangat baik. 1543 01:12:50,640 --> 01:12:53,020 Kami mempunyai satu lagi satu cepat. 1544 01:12:53,020 --> 01:12:55,090 Tujuh minit, jadi saya ingin untuk pergi ke satu ini. 1545 01:12:55,090 --> 01:12:56,160 Ini adalah contoh yang lain. 1546 01:12:56,160 --> 01:12:58,740 Kami kini sama sekali bahasa lain. 1547 01:12:58,740 --> 01:12:59,990 >> Kami mempunyai beberapa kod HTML. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Ia adalah jenis kecil pada skrin, tetapi Saya mahu anda untuk melihat melalui ia benar-benar 1550 01:13:07,460 --> 01:13:11,140 dengan cepat, dan boleh tolong beritahu aku, jika saya memuatkan halaman web ini, 1551 01:13:11,140 --> 01:13:12,390 apa yang saya akan lihat? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Menggambarkan segala-galanya mengenai laman web ini. 1554 01:13:26,450 --> 01:13:28,630 Nuh? 1555 01:13:28,630 --> 01:13:30,450 Apa yang saya lihat? 1556 01:13:30,450 --> 01:13:38,140 >> PENONTON: Kod di akhir hadapan Google dengan rasa untuk teks dan 1557 01:13:38,140 --> 01:13:39,190 butang submit. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: Dan apa akan butang katakan? 1559 01:13:41,180 --> 01:13:42,430 >> PENONTON: Hantar. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, carian. 1562 01:13:45,160 --> 01:13:45,840 Saya minta maaf. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: Ia akan berkata carian. 1564 01:13:46,830 --> 01:13:47,520 Ingat, nama. 1565 01:13:47,520 --> 01:13:50,550 Apa yang kita menggunakan nama untuk? 1566 01:13:50,550 --> 01:13:53,774 Ini sifat nama, apa yang yang digunakan untuk? 1567 01:13:53,774 --> 01:13:55,470 >> [Suara INTERPOSING] 1568 01:13:55,470 --> 01:13:59,300 >> PENONTON: Itu namanya apabila ia diklik? 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: Itu boleh. 1570 01:14:00,160 --> 01:14:02,690 Tetapi apa yang kita biasanya lihat - mengapa kita memberi giliran nama ini? 1571 01:14:02,690 --> 01:14:03,830 Mengapa kita melihat bahawa? 1572 01:14:03,830 --> 01:14:05,220 Yeah. 1573 01:14:05,220 --> 01:14:08,600 >> PENONTON: Tidak yang menjadi indeks pembolehubah super global? 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Ya, secara amnya apabila borang ini akan mengemukakan, dan kemudian di mana 1575 01:14:12,740 --> 01:14:13,500 ini akan mengemukakan kepada? 1576 01:14:13,500 --> 01:14:14,750 Apa halaman? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Nuh, apa yang laman ini akan mengemukakan kepada? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> PENONTON: Saya tidak pasti. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: Di mana boleh kita dapat mencarinya? 1582 01:14:28,920 --> 01:14:31,025 Di mana kamu melihat apa yang Laman ia mengemukakan kepada? 1583 01:14:31,025 --> 01:14:32,850 Apakah bidang kod? 1584 01:14:32,850 --> 01:14:34,040 >> PENONTON: Borang tindakan. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Tepat sekali. 1586 01:14:34,650 --> 01:14:35,130 Tindakan. 1587 01:14:35,130 --> 01:14:37,100 Jadi ia mengemukakan kepada halaman carian. 1588 01:14:37,100 --> 01:14:38,630 Carian garis sendeng terbalik. 1589 01:14:38,630 --> 01:14:40,140 Jadi itulah betul. 1590 01:14:40,140 --> 01:14:40,680 Apa kaedah? 1591 01:14:40,680 --> 01:14:42,090 >> PENONTON: Dapatkan. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: Dapatkan. 1593 01:14:42,490 --> 01:14:43,420 Tepat sekali. 1594 01:14:43,420 --> 01:14:44,490 Oleh itu, kita membaca ini. 1595 01:14:44,490 --> 01:14:45,180 Ini akan menjadi bentuk yang. 1596 01:14:45,180 --> 01:14:45,910 Anda betul-betul betul. 1597 01:14:45,910 --> 01:14:50,340 Dua perkara pada borang tersebut, tajuk yang halaman dan bahagian atas akan menjadi Google. 1598 01:14:50,340 --> 01:14:54,270 >> Jadi di sini adalah dua soalan yang anda perlu dapat menjawab tentang halaman ini. 1599 01:14:54,270 --> 01:15:01,760 Jika HTML ini tinggal di laman web ini dan pengguna input bug ke dalam teks ini 1600 01:15:01,760 --> 01:15:06,900 bidang di sini, apa yang URL akan pengguna mencari dirinya apabila 1601 01:15:06,900 --> 01:15:08,150 mengemukakan borang? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Oleh itu, kita mempunyai ini di sini. 1604 01:15:12,510 --> 01:15:13,720 Saya akan kembali ke halaman ini, walaupun. 1605 01:15:13,720 --> 01:15:16,980 Saya akan menulis bahagian pertama ini. 1606 01:15:16,980 --> 01:15:18,230 Bolehkah semua orang melihat di sini? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, anda fikir anda tahu? 1609 01:15:32,906 --> 01:15:34,700 Apa halaman? 1610 01:15:34,700 --> 01:15:37,630 >> PENONTON: carian garis sendeng terbalik. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: Saya akan untuk bergerak di sini. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, garis sendeng terbalik soalan carian tanda q sama pepijat. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Sesiapa mempunyai cadangan yang berbeza? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Yeah. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Jadi bagaimana kita mendapatkan ini? 1620 01:16:03,740 --> 01:16:05,520 Nah, kita telah melihat ini sebelum ini. 1621 01:16:05,520 --> 01:16:07,170 Dan anda datang dengan ini lebih awal. 1622 01:16:07,170 --> 01:16:08,870 Anda betul, Nuh, bahawa tindakan memberitahu kita apa yang 1623 01:16:08,870 --> 01:16:11,700 halaman kita akan. 1624 01:16:11,700 --> 01:16:12,820 >> Kita juga tahu apa kaedah. 1625 01:16:12,820 --> 01:16:13,420 Kami lakukan mendapatkan. 1626 01:16:13,420 --> 01:16:17,040 Dan perbezaan antara mendapat dan pasca adalah bahawa mendapatkan memaparkan di URL 1627 01:16:17,040 --> 01:16:18,490 dan pasca tidak. 1628 01:16:18,490 --> 01:16:22,760 Jadi, jika saya menulis post di sana dalam kaedah, apa yang akan menjadi berbeza? 1629 01:16:22,760 --> 01:16:24,250 >> PENONTON: Ia akan hanya menjadi carian slash. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Ia akan hanya akan mengurangkan carian. 1631 01:16:25,400 --> 01:16:27,400 Tiada apa-apa di sini akan berlaku. 1632 01:16:27,400 --> 01:16:30,030 Tetapi kerana ia adalah mendapatkan, URL dipaparkan seperti berikut. 1633 01:16:30,030 --> 01:16:35,140 Pertama kita lihat tanda tanya dan kita lihat nama dan nilai. 1634 01:16:35,140 --> 01:16:42,730 Katakanlah terdapat satu medan teks lain dan Saya berikan nama r dan saya input yang 1635 01:16:42,730 --> 01:16:45,220 nilai, ulat. 1636 01:16:45,220 --> 01:16:48,560 Apa yang akan ini kini kelihatan seperti? 1637 01:16:48,560 --> 01:16:52,040 Saya mempunyai satu medan teks lagi, saya memberikan menamakan r dan nilai ulat. 1638 01:16:52,040 --> 01:16:56,990 >> PENONTON: Selepas bar anda akan mempunyai yang ulat Ampersand. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: Itu tidak Ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> PENONTON: Atau hanya apa sahaja dan simbol. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Ya, tidak. 1642 01:17:01,330 --> 01:17:03,700 Anda betul, saya salah. 1643 01:17:03,700 --> 01:17:05,660 Itu seperti g a. 1644 01:17:05,660 --> 01:17:06,910 >> PENONTON: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r sama ulat, maaf. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Adakah terdapat ada r di sana? 1649 01:17:14,700 --> 01:17:16,680 >> PENONTON: Tidak, ada. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Kami akan bercakap tentang itu selepas kelas. 1651 01:17:18,030 --> 01:17:18,930 Itu betul-betul betul. 1652 01:17:18,930 --> 01:17:20,530 Oleh itu dan adalah betul. 1653 01:17:20,530 --> 01:17:23,430 Dan kemudian anda boleh mempunyai banyak ini, dan mereka semua akan concatenated 1654 01:17:23,430 --> 01:17:24,950 bersama-sama dengan itu dan. 1655 01:17:24,950 --> 01:17:25,900 Jadi itulah betul. 1656 01:17:25,900 --> 01:17:27,700 >> Ada satu lagi soalan. 1657 01:17:27,700 --> 01:17:30,676 Lakarkan DOM ini HTML, bermula dengan dokumen. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Kita boleh melakukannya dalam dua minit. 1660 01:17:34,570 --> 01:17:36,790 Kami akan melakukannya di sini. 1661 01:17:36,790 --> 01:17:38,040 Saya akan kembali ke laman web ini. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, kita mulakan dengan dokumen. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Apa yang akan datang? 1666 01:17:52,090 --> 01:17:53,910 Oleh itu, apabila anda membaca melalui - 1667 01:17:53,910 --> 01:17:54,540 >> PENONTON: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML tidak akan datang. 1669 01:17:55,790 --> 01:17:57,850 Kami akan pergi tag mengikut label. 1670 01:17:57,850 --> 01:18:00,890 Apa selepas HTML? 1671 01:18:00,890 --> 01:18:01,550 >> PENONTON: Ketua. 1672 01:18:01,550 --> 01:18:02,800 >> JASON Hirschhorn: Ketua. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Apakah selepas kepala? 1675 01:18:08,520 --> 01:18:09,770 >> PENONTON: Tajuk. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: Tajuk. 1678 01:18:12,560 --> 01:18:14,740 Dan hak milik mempunyai nilai Google, tetapi saya tidak akan 1679 01:18:14,740 --> 01:18:16,240 menulis bahawa dalam untuk sekarang. 1680 01:18:16,240 --> 01:18:18,750 OK, di manakah badan pergi? 1681 01:18:18,750 --> 01:18:20,890 >> PENONTON: Juga datang kira HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Tepat sekali. 1683 01:18:21,490 --> 01:18:22,820 Badan datang kira dari sini. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Adakah semua orang melihat mengapa itu berlaku? 1686 01:18:30,330 --> 01:18:32,970 Anda mungkin akan dapat memikirkan keluar ini, juga, walaupun saya tidak mempunyai 1687 01:18:32,970 --> 01:18:33,665 lekukan bagus ini. 1688 01:18:33,665 --> 01:18:37,680 >> Lekukan jenis memberikan ia jauh, tetapi anda boleh melihat bahawa tag kepala mempunyai 1689 01:18:37,680 --> 01:18:41,240 telah ditutup, yang bermakna kita mungkin tidak boleh turun di sini. 1690 01:18:41,240 --> 01:18:43,460 Kita perlu kembali sehingga apa sahaja betul sebelum kepala 1691 01:18:43,460 --> 01:18:44,730 tag, atau di bawah itu. 1692 01:18:44,730 --> 01:18:46,720 Kami walaupun dengan tag kepala. 1693 01:18:46,720 --> 01:18:48,560 >> Dan di bawah badan pergi bentuk. 1694 01:18:48,560 --> 01:18:50,300 Di bawah bentuk, terdapat dua input. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 OK. 1697 01:18:54,420 --> 01:18:55,490 Itu sahaja yang saya mendapat. 1698 01:18:55,490 --> 01:18:56,980 Kuiz 1 adalah esok. 1699 01:18:56,980 --> 01:18:58,350 Saya begitu teruja untuk anda semua. 1700 01:18:58,350 --> 01:18:59,690 Ia akan menjadi letupan. 1701 01:18:59,690 --> 01:19:00,250 >> Jika anda mempunyai - 1702 01:19:00,250 --> 01:19:00,600 >> PENONTON: [Tepuk tangan] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: Oh berhenti, berhenti. 1704 01:19:02,460 --> 01:19:04,520 Tetapi tidak, saya bergurau. 1705 01:19:04,520 --> 01:19:07,220 Jika anda mempunyai sebarang soalan, hak selepas seksyen, saya akan berada di luar. 1706 01:19:07,220 --> 01:19:11,700 Jika anda mempunyai sebarang soalan pada malam ini, sila hubungi, e-mel, GChat, 1707 01:19:11,700 --> 01:19:12,740 Merpati pos saya. 1708 01:19:12,740 --> 01:19:13,950 Nasib baik esok. 1709 01:19:13,950 --> 01:19:16,220 Bahagikan Kesyukuran yang indah, jika saya tidak melihat anda sebelum kemudian. 1710 01:19:16,220 --> 01:19:19,320 Dan saya akan melihat anda selepas Kesyukuran pada Selasa untuk terakhir kami 1711 01:19:19,320 --> 01:19:20,295 seksyen parti sebelum ini. 1712 01:19:20,295 --> 01:19:21,545 >> PENONTON: [didengar]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Great. 1715 01:19:25,790 --> 01:19:28,900 OK, saya akan melihat anda semua seterusnya minggu atau dua minggu. 1716 01:19:28,900 --> 01:19:30,150 Dan baik nasib esok. 1717 01:19:30,150 --> 01:19:32,203