1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Tere, igaüks, et 10. nädalal. 3 00:00:09,810 --> 00:00:15,130 See on põnev nädal, sest homme on Quiz 1, mis me võtame 4 00:00:15,130 --> 00:00:16,400 et teine. 5 00:00:16,400 --> 00:00:21,770 Täna jaos, me ei lähe üle mõned võimalused viktoriin ja 6 00:00:21,770 --> 00:00:24,890 siis ma vastan igasugusest küsimused, mida kutid on. 7 00:00:24,890 --> 00:00:27,880 Ja me lõpuks lõppema mõned praktikas probleeme. 8 00:00:27,880 --> 00:00:30,940 >> Me ei saa kulutada kogu lõik küsimustele vastamist. 9 00:00:30,940 --> 00:00:33,240 Me ei saa kulutada kogu lõik läheb üle praktikas probleeme. 10 00:00:33,240 --> 00:00:36,890 Me lihtsalt laiendada, et täita aeg ja ruum on meil. 11 00:00:36,890 --> 00:00:40,590 >> Nii panin selle nimekirja iga nädal, kuid see on eriti oluline sel nädalal. 12 00:00:40,590 --> 00:00:44,980 Õppimiseks, kui te ei ole algas juba, oh boy. 13 00:00:44,980 --> 00:00:46,400 Aga loodetavasti olete alustanud juba. 14 00:00:46,400 --> 00:00:50,710 Ja teil on läbimas materjalide ja vahendeid loetletud siin. 15 00:00:50,710 --> 00:00:54,300 Ma väga soovitada Mitmed neist. 16 00:00:54,300 --> 00:00:58,780 >> Eelkõige loengumaterjalid on väga oluline ja kasulik. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net annab suur krunt on palju 18 00:01:02,880 --> 00:01:04,250 teemad läbisime. 19 00:01:04,250 --> 00:01:07,810 Samuti on mõned väga harjutada probleeme. 20 00:01:07,810 --> 00:01:11,260 Ja siis Google on suur, liiga. 21 00:01:11,260 --> 00:01:12,360 Ma ei tea, mida saate kasutada seda. 22 00:01:12,360 --> 00:01:14,090 Aga Google, samuti. 23 00:01:14,090 --> 00:01:16,680 >> Jõuda mulle, kui teil on küsimusi, kommentaare või muresid. 24 00:01:16,680 --> 00:01:19,420 Vaata üle läbivaatamise istung slaide eile. 25 00:01:19,420 --> 00:01:21,540 Või kui teil on aega, Selle video vaatamiseks. 26 00:01:21,540 --> 00:01:24,930 Need annavad palju kasulikke materjali ja informatsiooni. 27 00:01:24,930 --> 00:01:29,730 Ja püüda katta, kui mitte kõik, paljud teemasid oleme kaetud ja et sa 28 00:01:29,730 --> 00:01:32,610 võib näha viktoriini. 29 00:01:32,610 --> 00:01:35,590 >> Rääkides viktoriin, et homme. 30 00:01:35,590 --> 00:01:37,260 See on 75 minutit pikk. 31 00:01:37,260 --> 00:01:40,740 Paljud teist on selle võtmine 1 kella ja mõned teist on 32 00:01:40,740 --> 00:01:42,740 võttes see 5:30. 33 00:01:42,740 --> 00:01:45,300 Sest ajast te kasutate seda ja kus te võtate seda, veenduge, et 34 00:01:45,300 --> 00:01:49,400 teil vaadata läbi dokumendid edasi CS50.net kodulehel. 35 00:01:49,400 --> 00:01:54,340 >> Pea meeles, et saad ühe 8 1/2 11 lehe kaasa võtta. 36 00:01:54,340 --> 00:01:57,310 Sageli inimesed ei kasuta seda leht üldse viktoriini ajal. 37 00:01:57,310 --> 00:01:59,740 Aga tõesti, see on uskumatult kasulik uuring vahend. 38 00:01:59,740 --> 00:02:04,370 Nii koondades et leht on see, mida Veetsin tõenäoliselt kolm või neli tundi 39 00:02:04,370 --> 00:02:07,110 teed, kui olin õpib CS50 ja See oli lihtsalt kõige kasulikum 40 00:02:07,110 --> 00:02:08,740 kuidas ma saaks õppida viktoriini. 41 00:02:08,740 --> 00:02:10,949 Nii et isegi kui teil on mõned teiste inimeste uuring juhendid vaadata ja 42 00:02:10,949 --> 00:02:14,740 kasutada viiteid, ma väga soovitada teha oma uuringu juhend, pannes 43 00:02:14,740 --> 00:02:15,490 et asjad kokku. 44 00:02:15,490 --> 00:02:17,335 See tõesti aitab teil õppida kõik materjalid. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Last but not least käesolevas paragrahvis pärast viktoriini homme seal on üks 47 00:02:24,810 --> 00:02:25,940 rohkem loeng - 48 00:02:25,940 --> 00:02:26,960 järgmisel esmaspäeval. 49 00:02:26,960 --> 00:02:30,430 Seal on veel üks lõik, mitte järgmine Teisipäev enne Thanksgiving, kuid 50 00:02:30,430 --> 00:02:31,630 Teisipäeval pärast seda. 51 00:02:31,630 --> 00:02:36,600 Me kohtume koos lõpliku hüvasti poole ja teeme ka mõned lahedad 52 00:02:36,600 --> 00:02:41,530 Asjad teid põnevil täiendavaid uuringuid arvutiteadus. 53 00:02:41,530 --> 00:02:45,040 >> Seal on veel üks projekt, rohkem aus, üks rohkem hackathon. 54 00:02:45,040 --> 00:02:47,900 Me lõpusirgel CS50, mis on põnev - 55 00:02:47,900 --> 00:02:50,950 aga ka, kui sa oled nagu mulle natuke kurb. 56 00:02:50,950 --> 00:02:53,950 Enne kui ma edasi minna, kas keegi on küsimusi, mida 57 00:02:53,950 --> 00:02:55,200 oleme kaetud nii kaugele? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> OK, hästi lähme üle mõned küsimused et teil on viktoriin ja teemad 60 00:03:08,730 --> 00:03:09,960 me võiksime katta. 61 00:03:09,960 --> 00:03:11,540 Nii et see on nimekiri, mis ma kokku panna. 62 00:03:11,540 --> 00:03:15,500 See ei ole kaugeltki ammendav, kuid loodetavasti jog oma mälu, kui sa 63 00:03:15,500 --> 00:03:20,310 on mõned küsimused selle kohta ühtegi neist teemasid, või kui teil on küsimusi 64 00:03:20,310 --> 00:03:23,260 praktikas probleeme viktoriinid aasta varem. 65 00:03:23,260 --> 00:03:27,470 >> Mul oli paar küsimust, mis olid saadetakse mulle, aga ma tahan, et hoida ära 66 00:03:27,470 --> 00:03:29,490 nende jaoks teine. 67 00:03:29,490 --> 00:03:34,570 Kas kellelgi on küsimusi, probleemidele, mida nad ei saanud aru, 68 00:03:34,570 --> 00:03:38,100 vastuseid, mida nad ei saanud aru, saada meile hakkas? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> Publik: Kas sa lihtsalt minna üle DOM ja Ajax tõesti kiire? 71 00:03:41,585 --> 00:03:46,540 Nagu, mida me peame teadma või peaks mõista neid? 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: ma lähen vastata üldiselt see küsimus, mida ma 73 00:03:49,750 --> 00:03:52,100 vaja teada antud teemal x? 74 00:03:52,100 --> 00:03:55,280 Sest mul on tunne, et paljud teist lähed küsi mis või kes on 75 00:03:55,280 --> 00:03:56,570 uudishimulik, et. 76 00:03:56,570 --> 00:04:02,920 Nii et sel määral, et teema oli kaetud loeng või lõik, või 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, probleem määratud, peaks olema tuttav. 78 00:04:06,460 --> 00:04:10,580 >> Nii et sa ei pea teadma igat liiki tag, mis on saadaval HTML-või 79 00:04:10,580 --> 00:04:15,950 iga tüüpi atribuuti või vara saate anda midagi CSS. 80 00:04:15,950 --> 00:04:20,204 Aga kui sa nägid seda loengut näiteks kui sa nägid seda probleemi 81 00:04:20,204 --> 00:04:23,290 set, siis peaks ilmselt olema tuttav seda eriti asju nägid 82 00:04:23,290 --> 00:04:24,260 loeng. 83 00:04:24,260 --> 00:04:28,510 Nii me arutasime dokumendi objekti mudeli natuke 84 00:04:28,510 --> 00:04:30,530 jagu, seda enam, et loeng. 85 00:04:30,530 --> 00:04:32,990 Sa peaksid olema tuttavad et palju ta. 86 00:04:32,990 --> 00:04:34,750 >> Ja sa peaksid olema tuttavad Ajax samal määral. 87 00:04:34,750 --> 00:04:38,105 Me ei ole kunagi näinud uskumatult arenenud või keeruline näiteid Ajax, nii 88 00:04:38,105 --> 00:04:40,920 sa ei kavatse paluda teha midagi uskumatult keeruline. 89 00:04:40,920 --> 00:04:45,180 Aga te võite küsida, kuidas ma teha Ajax kõne kasutades jQuery? 90 00:04:45,180 --> 00:04:47,350 Mis on midagi, mida sa oled näinud number korda enne, nii 91 00:04:47,350 --> 00:04:51,370 vaadata nõupidamisel loeng ja see on ainult kaks-ish rida koodi. 92 00:04:51,370 --> 00:04:53,190 >> Nii et on midagi, mida peaks olema tuttav. 93 00:04:53,190 --> 00:04:55,550 Aga jälle, et kõik need teemad, Kui olete näinud seda 94 00:04:55,550 --> 00:04:59,220 enne, see on aus mäng. 95 00:04:59,220 --> 00:05:01,540 Ja me võime paluda teil - Ilmselt oleme küsin teilt, mida te 96 00:05:01,540 --> 00:05:02,340 ei ole varem näinud. 97 00:05:02,340 --> 00:05:04,240 Kodeerimise midagi sa ei ole näinud. 98 00:05:04,240 --> 00:05:06,570 Mis ei tähenda, te ei ole näha vahendid, et lahendada 99 00:05:06,570 --> 00:05:08,120 et probleem enne. 100 00:05:08,120 --> 00:05:09,200 Olete näinud neid vahendeid. 101 00:05:09,200 --> 00:05:11,160 >> Näiteks, Quiz 1, kui sa pead koodi strlen. 102 00:05:11,160 --> 00:05:12,790 Me ei ole kodeeritud strlen enne. 103 00:05:12,790 --> 00:05:14,980 Aga sa tead, kuidas kasutada silmus, sa tead, kuidas seda kasutada, kui tingimusi. 104 00:05:14,980 --> 00:05:18,570 Sa tead, kuidas kirjutada muutujate C. See saab olema sama asja siin. 105 00:05:18,570 --> 00:05:22,350 Sa ei kavatse paluda teha midagi sa ei ole näinud, kuid 106 00:05:22,350 --> 00:05:25,150 võite paluda, nagu panna midagi koos uudse või 107 00:05:25,150 --> 00:05:27,650 lahendada eri tüüpi probleem. 108 00:05:27,650 --> 00:05:30,830 >> Vabandust, see ei olnud konkreetselt teie küsimus, kuid ma ei saa vastata umbes 109 00:05:30,830 --> 00:05:34,390 iga teema, mida või ei pea teadma. 110 00:05:34,390 --> 00:05:36,830 Aga ka, vabandust, viimane asi, mis. 111 00:05:36,830 --> 00:05:42,900 Oleme veetnud oluliselt rohkem aega link nimekirjad kui meil on Ajax. 112 00:05:42,900 --> 00:05:46,160 Te ei kasutanud Ajax probleem komplekti. 113 00:05:46,160 --> 00:05:48,510 Üks keskne omadused, mis lahendamist mis oli link nimekirjad. 114 00:05:48,510 --> 00:05:50,370 Ja me veetsime palju aega loeng ja lõik kasutamist. 115 00:05:50,370 --> 00:05:57,080 >> Niisiis, koefitsiendid on link nimekirja tulla veel sageli viktoriin kui Ajax. 116 00:05:57,080 --> 00:06:00,390 Või küsimused, millel on pistmist link nimekiri on väärt rohkem punkte. 117 00:06:00,390 --> 00:06:03,520 Nii saab kindlasti keskenduda ja kitsad aastal on asjad, mis on rohkem 118 00:06:03,520 --> 00:06:06,720 tõenäoliselt tulla, sest meil on kulutada rohkem aega neile. 119 00:06:06,720 --> 00:06:08,700 >> OK muid küsimusi? 120 00:06:08,700 --> 00:06:09,890 Jah. 121 00:06:09,890 --> 00:06:13,660 >> Publik: Kas me minema kasutamise üle Anonüümsete funktsioonide JavaScript? 122 00:06:13,660 --> 00:06:17,140 Mul on natuke segane, et. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Nii JavaScript - 124 00:06:20,180 --> 00:06:24,400 Ma üritan mõelda, kuidas ma võiks kirjutada selle kohta - 125 00:06:24,400 --> 00:06:27,590 niiet tegelikult avada see kood. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Nii et see on kood, mis me tegime eelmisel nädalal. 128 00:06:36,030 --> 00:06:41,400 Ja sa oled näinud seda enne, kui te olid siin punktis eelmisel nädalal. 129 00:06:41,400 --> 00:06:43,180 Või olete näinud midagi sarnane sellele enne. 130 00:06:43,180 --> 00:06:44,800 >> Aga sa võid vaadata seda esimest rida. 131 00:06:44,800 --> 00:06:46,950 See, kuidas sa alustada - 132 00:06:46,950 --> 00:06:48,010 kõik on näinud seda enne. 133 00:06:48,010 --> 00:06:51,930 Kui sa tahad lisada mõned JavaScript koodi, paned ta sees, eeldades 134 00:06:51,930 --> 00:06:53,520 te kasutate jQuery. 135 00:06:53,520 --> 00:06:56,940 Seda öeldes ei tee midagi kuni dokumendi koormatud. 136 00:06:56,940 --> 00:06:59,940 >> Ja siis, Curt, näed siin me teeme midagi sellist - 137 00:06:59,940 --> 00:07:02,560 funktsioon avatud paren, suletud paren. 138 00:07:02,560 --> 00:07:05,250 Nii et me ei anna see toimida nimi. 139 00:07:05,250 --> 00:07:09,160 Me ei kavatse määratleda seda funktsiooni peaks sõitma ja siis 140 00:07:09,160 --> 00:07:10,830 nimetame seda mitu korda. 141 00:07:10,830 --> 00:07:15,140 Me lihtsalt öelda, et see dokument juba võtab funktsiooni. 142 00:07:15,140 --> 00:07:16,690 Paar asja, mida teha. 143 00:07:16,690 --> 00:07:20,670 >> Ja me ei taha kulutada aega andes talle nime või salvestada see 144 00:07:20,670 --> 00:07:21,650 andma. 145 00:07:21,650 --> 00:07:24,150 Me lihtsalt tahame käivitada mõned asjad. 146 00:07:24,150 --> 00:07:27,500 Nii anonüümne funktsioon sort ning täidab selle eesmärgi. 147 00:07:27,500 --> 00:07:30,280 Kui te ei kavatse kasutada midagi ikka ja jälle, nii et sa ei pea 148 00:07:30,280 --> 00:07:32,420 anda sellele nime - te lihtsalt soovite kasutada seda üks kord - 149 00:07:32,420 --> 00:07:36,720 siis oleks lihtsalt öelda funktsiooni jaoks Näiteks sel juhul, ja sa oled lihtsalt 150 00:07:36,720 --> 00:07:38,280 määratlemisel midagi, sa võiks anda nime. 151 00:07:38,280 --> 00:07:40,920 >> Nagu, et saame selle funktsiooni välja ja anda talle nimi ja seejärel kõne, mis 152 00:07:40,920 --> 00:07:41,760 toimi siin. 153 00:07:41,760 --> 00:07:44,270 Aga me ei vaja, sest me ei taha raisata aega andes talle nime või 154 00:07:44,270 --> 00:07:46,240 raiska midagi meie nimi ruumi. 155 00:07:46,240 --> 00:07:47,530 Ja te näete, et palju. 156 00:07:47,530 --> 00:07:52,810 Näiteks näeme, et palju see kood, kuid sa oled näinud seda enne, kui 157 00:07:52,810 --> 00:07:54,010 Klõpsates midagi - 158 00:07:54,010 --> 00:07:55,980 käivitada seda tüüpi koodi. 159 00:07:55,980 --> 00:07:59,850 >> Me võiks määratleda kood, mida me tahame joosta kui me kliki, sel juhul 160 00:07:59,850 --> 00:08:03,450 Selle ID, eraldi funktsioon ja seejärel käivitada selle funktsiooni. 161 00:08:03,450 --> 00:08:07,940 Aga sel juhul, me lihtsalt vahele et samm ja liigub see siin ja 162 00:08:07,940 --> 00:08:10,340 lihtsalt määratleda kõik et me tahame ellu viia ja 163 00:08:10,340 --> 00:08:12,450 ei anna see nimi. 164 00:08:12,450 --> 00:08:15,550 See ikka ei pruugi olla vastas oma küsimusele. 165 00:08:15,550 --> 00:08:15,960 >> Publik: Ei, ei. 166 00:08:15,960 --> 00:08:18,290 Ma mõtlen, et ma arvan, et ma lihtsalt tõesti ei saan aru, miks see oleks 167 00:08:18,290 --> 00:08:20,800 tööta üldse, kuigi. 168 00:08:20,800 --> 00:08:21,590 Sest see ei ole tegelikult kutsutakse. 169 00:08:21,590 --> 00:08:23,170 See ei ole tegelikult veel nime. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: See funktsioon selles mõttes, et see on rida samme, 171 00:08:25,510 --> 00:08:28,460 nagu te paneks funktsioon. 172 00:08:28,460 --> 00:08:29,970 Ja siis, et põhjus, miks me nimetame see anonüümne funktsioon. 173 00:08:29,970 --> 00:08:30,815 Me ei kavatse anda talle nimi. 174 00:08:30,815 --> 00:08:33,159 Me ei kavatse raisata üritab nimetada, aga saime. 175 00:08:33,159 --> 00:08:34,890 >> Anonymous funktsioone, siis võib alati anda nimi. 176 00:08:34,890 --> 00:08:37,620 Nii näiteks, on see kood siin, me võiks seda koodi sees 177 00:08:37,620 --> 00:08:39,929 funktsioon ja seejärel kõne see funktsioon siin. 178 00:08:39,929 --> 00:08:41,600 Selle asemel, me ütleme, et me ei kavatse vaeva nägema, et. 179 00:08:41,600 --> 00:08:44,390 Me lihtsalt kirjutada see kõik siin. 180 00:08:44,390 --> 00:08:49,840 >> See on nagu mõnikord, kui olete kirjalikult nelja silmuse C - poisid 181 00:08:49,840 --> 00:08:51,630 olen näinud seda enne - võib-olla oled iterating läbi forloop 182 00:08:51,630 --> 00:08:53,090 arvesse i on 0. 183 00:08:53,090 --> 00:08:54,830 I on vähem kui strlen. 184 00:08:54,830 --> 00:08:59,520 Või sa lähed läbi mõned array, saate salvestada massiivi 185 00:08:59,520 --> 00:09:01,580 indeks i mõnel muutuja. 186 00:09:01,580 --> 00:09:02,830 Ja sa kasutad, et muutuja. 187 00:09:02,830 --> 00:09:06,550 Nii et sa ei pea uuesti kirjutada array sulg i üle ja üle ja üle. 188 00:09:06,550 --> 00:09:08,160 >> Ja see on omamoodi nagu Fiktiivne muutuja. 189 00:09:08,160 --> 00:09:10,790 See ei kanna palju muud eesmärki kui teha oma koodi veidi puhtamaks 190 00:09:10,790 --> 00:09:12,120 ja lihtsam lugeda. 191 00:09:12,120 --> 00:09:13,290 Sarnast funktsiooni siin. 192 00:09:13,290 --> 00:09:15,665 Lihtsalt muudab veidi lihtsamaks, kuid funktsionaalselt vahet pole. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Kas see vastab su küsimusele? 195 00:09:19,330 --> 00:09:19,970 >> Publik: Jah. 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 >> Publik: Eile nad sageli pannakse funktsiooni sulgudes sündmus. 199 00:09:25,380 --> 00:09:26,420 Kas see tähendab midagi? 200 00:09:26,420 --> 00:09:30,500 Või on see asjad et nad teeksid 201 00:09:30,500 --> 00:09:35,100 document.ready funktsiooni korral. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Me oleme näinud seda, ja Jällegi on need väiksemad asjad, 203 00:09:37,130 --> 00:09:39,590 ilmselt ma ei taha kulutavad liiga palju aega. 204 00:09:39,590 --> 00:09:43,200 Sest mõnikord ma ei taha, et inimesed saada närvis läbi, et nad ei ole 205 00:09:43,200 --> 00:09:44,220 kuulnud neid asju nii palju. 206 00:09:44,220 --> 00:09:46,200 Aga me rääkisime natuke sündmuseohjurite. 207 00:09:46,200 --> 00:09:50,360 Nii juhtub midagi, ja siis seda funktsiooni täita. 208 00:09:50,360 --> 00:09:53,210 Ja siis me tahame ka teada, mõned üksikasjad selle kohta, mida 209 00:09:53,210 --> 00:09:54,450 juhtus see sündmus. 210 00:09:54,450 --> 00:09:55,730 >> Seega arvan, et tagasi probleem komplekt 4. 211 00:09:55,730 --> 00:09:58,390 See on ilmselt kõige lihtsam viis aru, et murda välja. 212 00:09:58,390 --> 00:09:59,740 Seal oli mingi kood - 213 00:09:59,740 --> 00:10:01,980 nagu sündmus juhtuks, kuid sündmus võib tähendada palju asju. 214 00:10:01,980 --> 00:10:06,240 Kui võib tähendada hiir on klõpsatud, siis võib tähendada vajutad nooleklahvi, et 215 00:10:06,240 --> 00:10:07,190 ja nii edasi, ja nii edasi. 216 00:10:07,190 --> 00:10:09,800 >> Aga see kõik on salvestatud selle geneerilise asi nimega üritusi. 217 00:10:09,800 --> 00:10:12,340 Ja siis me ei saa öelda, kas Sel juhul see asi? 218 00:10:12,340 --> 00:10:13,640 Või on see sündmus see asi? 219 00:10:13,640 --> 00:10:15,500 Või millist juhtus selle sündmusega? 220 00:10:15,500 --> 00:10:18,660 Nii et miks te luua, et muutuja seal salvestada et pildi info 221 00:10:18,660 --> 00:10:21,420 kohta, mis täpselt juhtus, et sa lähed tahan 222 00:10:21,420 --> 00:10:24,840 kasutada ka funktsiooni. 223 00:10:24,840 --> 00:10:28,200 Aga jälle, see on ilmselt üks vähem olulised asjad on super 224 00:10:28,200 --> 00:10:29,450 tuttav. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, mida teised küsimused on inimesed oli või komistuskive nad 227 00:10:36,110 --> 00:10:37,360 puutus vaadates? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Me tagasi, et nimekirja. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Aga ajal praktikas viktoriinid, kui inimesed on võtnud juba? 232 00:10:56,080 --> 00:10:59,110 Millised olid mõned probleemid, mis rakendunud teid üleval? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Ma tean tegelikult, et eelmise aasta Küsimustele oli tõesti raske. 235 00:11:12,720 --> 00:11:15,670 >> Publik: Kas oskate selgitada, mida SQL süst rünnak on? 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: OK, tore. 237 00:11:18,970 --> 00:11:20,440 Nii et me rääkisime sellest natuke. 238 00:11:20,440 --> 00:11:22,050 Seal loengu turvalisust. 239 00:11:22,050 --> 00:11:25,670 Ja jälle, nagu ma varem mainisin, see kõrvale. 240 00:11:25,670 --> 00:11:30,010 Aga siis pettunud kohta viktoriin kui sa loed mõned väikesed kaks punkti 241 00:11:30,010 --> 00:11:33,040 küsimus, ja sa oled nagu, kui ma kunagi teada, et? 242 00:11:33,040 --> 00:11:35,560 >> Kõik need asjad on need loengud et sa ei arvanud, et sa vaja 243 00:11:35,560 --> 00:11:38,290 tea, või siis võiks ilustada sest neil ei ole pistmist 244 00:11:38,290 --> 00:11:41,860 Ülesanded, nende tahe tõenäoliselt tulla uuesti tegema. 245 00:11:41,860 --> 00:11:45,030 Nii lahe, lõbus asju, mida sa lihtsalt arvasin David rääkis teile 246 00:11:45,030 --> 00:11:49,070 meeldib, ta ütleb, et sa meeldib ja et sa lihtsalt super 247 00:11:49,070 --> 00:11:50,550 põnevil õppe kõike on õppida 248 00:11:50,550 --> 00:11:51,670 arvutiteaduse. 249 00:11:51,670 --> 00:11:53,680 Need asjad ka tulla on viktoriine. 250 00:11:53,680 --> 00:11:56,440 Seega, isegi need väikesed asjad, mis ei ole otseselt seotud teie probleem 251 00:11:56,440 --> 00:11:59,630 määrata, kui te olete tuttav alates Quiz 0, ilmselt tulla. 252 00:11:59,630 --> 00:12:01,530 Ja see on hea näide midagi. 253 00:12:01,530 --> 00:12:10,140 >> Nii SQL süst rünnakud on siis, kui natuke infot kasutaja ja 254 00:12:10,140 --> 00:12:15,090 soovite lisada see tabel kasutades SQL lisada avaldus, kuid te 255 00:12:15,090 --> 00:12:17,680 ei puhasta sisend enne tähtaega. 256 00:12:17,680 --> 00:12:21,560 Niisiis, ilmselt oleme näinud SQL avaldused. 257 00:12:21,560 --> 00:12:22,810 Ma lihtsalt avada - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 lähme - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 läheme läbi - 262 00:12:31,960 --> 00:12:35,180 Ma arvan, kes kaetud on? 263 00:12:35,180 --> 00:12:36,350 Arvan Samala tegi. 264 00:12:36,350 --> 00:12:39,292 Nii saame - 265 00:12:39,292 --> 00:12:41,270 >> Publik: Kust sa selle leidsid? 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Nii et kui te lähete CS50.net, viktoriinid, ja siis saab 267 00:12:44,990 --> 00:12:47,170 leidke üle ja saada liumäed läbivaatamisest istungil. 268 00:12:47,170 --> 00:12:49,860 Aga näete, et see on hea näide ja SQL süst rünnak. 269 00:12:49,860 --> 00:12:53,690 Võtame mõned andmed kasutajale ja nad annavad meile string, ja siis me 270 00:12:53,690 --> 00:12:55,780 soovite lisada, et string viiakse andmebaasi. 271 00:12:55,780 --> 00:12:59,780 Üldiselt me ​​Puhas et sisend, mis tähendab, et seal on mõned 272 00:12:59,780 --> 00:13:01,050 märgid, mis on ohtlik. 273 00:13:01,050 --> 00:13:04,000 >> Näiteks SQL stringid, need jutumärgid - 274 00:13:04,000 --> 00:13:05,000 ülakoma või jutumärkide - 275 00:13:05,000 --> 00:13:05,620 tähenda midagi. 276 00:13:05,620 --> 00:13:08,380 Nad tähendavad lõpetada see string siin. 277 00:13:08,380 --> 00:13:13,090 Ja nii, kui kasutaja annab ühe või jutumärke, need võiksid olla 278 00:13:13,090 --> 00:13:18,970 püüdes reis oma SQL päringu ja sisestada halbu asju ta. 279 00:13:18,970 --> 00:13:23,130 Ja kui nad seda teevad, võivad nad saada kontrolli oma andmebaasi või teha mõned 280 00:13:23,130 --> 00:13:24,760 asju, mida sa ei taha neid teha. 281 00:13:24,760 --> 00:13:28,300 >> Nii et miks siis, kui me võtame SQL päringuid, me Puhas sisend enne 282 00:13:28,300 --> 00:13:31,090 paneb ta andmebaasi, mis tähendab, et me põgeneda tegelastele. 283 00:13:31,090 --> 00:13:32,590 Me räägime, et teine. 284 00:13:32,590 --> 00:13:35,820 Aga pikk lugu lühike, SQL süst rünnak on, kui te ei saa seda teha - 285 00:13:35,820 --> 00:13:39,760 kui te ei hoolitsen sisend nad annavad sulle, enne kui panete 286 00:13:39,760 --> 00:13:46,830 andmebaasi, nad saavad, nagu näete alla siin käivitada päringu, et tegelikult - 287 00:13:46,830 --> 00:13:52,470 nad panna oma koodi alla ja Selle valige rea siin valib 288 00:13:52,470 --> 00:13:56,360 kõik laualt sõltumata mis parool on antud. 289 00:13:56,360 --> 00:13:58,960 Kuna teil on või 1 võrdub 1. 290 00:13:58,960 --> 00:14:02,750 >> Nii et see on põhimõtteliselt, pikk lugu lühike, võimalus võtta üle andmebaasi. 291 00:14:02,750 --> 00:14:07,570 Küsimus siis, kutid, on kus p komplekti 7 sa puhasta kõik 292 00:14:07,570 --> 00:14:10,010 sisendite teie SQL päringuid? 293 00:14:10,010 --> 00:14:11,230 Kust see samm juhtus? 294 00:14:11,230 --> 00:14:14,150 Kus te vältida SQL süst rünnakuid toimub p seatud 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Jah. 297 00:14:20,490 --> 00:14:21,870 >> Publik: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Nii et see ei olnud krüpt. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Me ei tee sa seda sel eriti probleem määrata, kuid seda juhtub 301 00:14:55,380 --> 00:14:58,190 aastal päringu funktsiooni. 302 00:14:58,190 --> 00:15:00,930 Me tegelikult kirjutas ta teile ja me hoolitses 303 00:15:00,930 --> 00:15:03,040 desinfitseerimist sisendite eest. 304 00:15:03,040 --> 00:15:07,790 Aga aasta varem, õpilased on olnud tüüpi sisendid oma. 305 00:15:07,790 --> 00:15:10,020 P komplekti 7, palju sa - 306 00:15:10,020 --> 00:15:11,270 Lubage mul avada veel ühe faili. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Nii märkad siin palju inimesed, et lahendamist 7, ei helistanud 309 00:15:22,590 --> 00:15:25,240 See funktsioon on stringid. 310 00:15:25,240 --> 00:15:27,880 Seda funktsiooni htmlspecialchars, uuesti - 311 00:15:27,880 --> 00:15:31,410 see string võib olla mõned asjad et HTML tähendab midagi muud. 312 00:15:31,410 --> 00:15:36,160 Nagu traksidega, kandiline, või nurk sulg tähenda midagi HTML. 313 00:15:36,160 --> 00:15:38,980 >> Ja kui teil on vaja printida, et välja ekraan või kui sa lihtsalt võtta see ja 314 00:15:38,980 --> 00:15:42,260 prindi see välja oma HTML, mis võivad teha midagi, mida sa ei oota. 315 00:15:42,260 --> 00:15:45,180 Nii htmlspecialchars läheb üle kõik need tähed, mis on eriline 316 00:15:45,180 --> 00:15:47,030 Koosoleku-ja põgeneb neid. 317 00:15:47,030 --> 00:15:51,450 Seega saab välja trükkida teksti tahad näha, selle asemel 318 00:15:51,450 --> 00:15:53,280 kruvimiseks kuni oma HTML. 319 00:15:53,280 --> 00:15:55,040 Me kutsusime seda funktsiooni päises. 320 00:15:55,040 --> 00:15:57,390 Ja palju inimesi unustasin nimetame seda funktsiooni 321 00:15:57,390 --> 00:15:58,700 koodi sa olid kirjalikult. 322 00:15:58,700 --> 00:16:03,970 >> Nii, näiteks, kui aktsia nimi oli nurksulgu seda ja sa unustasid 323 00:16:03,970 --> 00:16:06,675 nimetame seda funktsiooni, et nurk sulg oleks visati välja, mida 324 00:16:06,675 --> 00:16:08,250 HTML tundus. 325 00:16:08,250 --> 00:16:11,810 Aga kutsudes seda funktsiooni pääseb et nii see tegelikult prindib välja 326 00:16:11,810 --> 00:16:15,870 nurksulgu ja ei viska ära oma HTML koodi. 327 00:16:15,870 --> 00:16:18,760 >> Samal põhjusel oleme näinud, vahel, kaldkriipsud enne topeltjutumärgi 328 00:16:18,760 --> 00:16:22,310 printf line, sest me ei taha, jutumärgid alla string. 329 00:16:22,310 --> 00:16:24,050 Me tahame, et neid printida välja ekraan. 330 00:16:24,050 --> 00:16:26,920 Nii see kõik on sama mõte. 331 00:16:26,920 --> 00:16:28,260 Kas see vastab su küsimusele? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> Publik: objekti. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: Kas sulle on järelkontroll? 335 00:16:35,300 --> 00:16:43,252 >> Publik: Ma arvan, et SQL süst rünnak on pistmist on? 336 00:16:43,252 --> 00:16:45,720 Ma ei mõista, kuidas kaks on omavahel seotud. 337 00:16:45,720 --> 00:16:47,610 Miks sa seda specialchars? 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: OK, nii SQL süst rünnak on, kui te süstite 339 00:16:51,200 --> 00:16:59,180 mõned pahatahtlikud stringid kellegi programmi ning nad lihtsalt võtavad seda ja töötab 340 00:16:59,180 --> 00:17:01,230 SQL päringu string sa andsid neile. 341 00:17:01,230 --> 00:17:04,220 Nagu näete siin, et võiks olla problemaatiline. 342 00:17:04,220 --> 00:17:07,480 Niisiis, kuidas sa vältida vastu, mis on te võtate oma string, et nad annavad 343 00:17:07,480 --> 00:17:09,220 sa - nii et see string siin - 344 00:17:09,220 --> 00:17:11,240 ja sa puhasta see. 345 00:17:11,240 --> 00:17:14,305 Sa põgeneda kõik asjad, mis on potentsiaalselt problemaatiline. 346 00:17:14,305 --> 00:17:18,626 Nii et sa ei tohi neid tõlgendada kui midagi mis tähendab midagi. 347 00:17:18,626 --> 00:17:23,390 >> Ja näide, et koos HTML on seda funktsiooni. 348 00:17:23,390 --> 00:17:26,060 Nii et see on sama mõte siin. 349 00:17:26,060 --> 00:17:27,579 Ja ma lihtsalt näitab teile, muu näiteid, kui olete 350 00:17:27,579 --> 00:17:29,030 näinud seda mõtet enne. 351 00:17:29,030 --> 00:17:33,913 Pääseda kasutaja sisend enne printimist seda läbi ekraani või kasutusele 352 00:17:33,913 --> 00:17:36,782 sees SQL. 353 00:17:36,782 --> 00:17:40,790 >> Publik: Nii et sel juhul on kasutajal on jama programmeerija. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Jah. 355 00:17:41,240 --> 00:17:44,800 Kõigi nende julgeoleku rünnakud, see on alati üldiselt kasutaja või 356 00:17:44,800 --> 00:17:47,470 keegi, üritab jama sinuga, programmeerija. 357 00:17:47,470 --> 00:17:51,038 Ja need on võimalusi saate vältida nende vastu. 358 00:17:51,038 --> 00:17:54,280 >> Publik: Nii et mul on küsimus umbes hash funktsioonid. 359 00:17:54,280 --> 00:17:59,340 Viktoriin 1 alates 2011, on kaks küsimusi ühepoolne hashes. 360 00:17:59,340 --> 00:18:02,540 Ja ma just mõtlesin, mida see tähendab. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, mis tegema? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> Publik: Jah. 364 00:18:04,705 --> 00:18:06,720 >> Publik: Quiz 1? 365 00:18:06,720 --> 00:18:08,620 >> Publik: [kuuldamatu]. 366 00:18:08,620 --> 00:18:09,940 See on nagu segamist salasõna. 367 00:18:09,940 --> 00:18:12,220 See ei hakanud asjad - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Mis lehekülg see oli? 369 00:18:13,440 --> 00:18:15,720 >> Publik: Ma arvan, et see oli 9 või 10, või mõlemad. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: Olgu, minna, Curt. 371 00:18:16,720 --> 00:18:17,780 Te võite vastata, kui me vaatame. 372 00:18:17,780 --> 00:18:19,540 >> Publik: Ma arvan, et see räägib umbes hashing salasõna. 373 00:18:19,540 --> 00:18:24,430 Meeldib, kui keegi siseneb parool sa muuta see krüpteeritud asi. 374 00:18:24,430 --> 00:18:27,395 See on parool räsi, mis on erineb räsifunktsiooni et 375 00:18:27,395 --> 00:18:30,900 paneb midagi sisse hash tabel. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Vaatame. 377 00:18:31,610 --> 00:18:33,930 Lubage mul tõmme, mida nad anda võimalikult vastus. 378 00:18:33,930 --> 00:18:35,440 Ja siis läbi minema. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Nii Curt andis hea näide on ühesuunaline räsi. 381 00:18:45,400 --> 00:18:48,800 Kui oleme näinud seda enne, me võta parool ja lülita - 382 00:18:48,800 --> 00:18:53,040 mäletate, lk kogum 7, keegi võiks on parool, mis on lihtsalt parool 383 00:18:53,040 --> 00:18:55,300 aga siis saab krüpteeritud sisse mõned tõesti pikk asi. 384 00:18:55,300 --> 00:18:59,830 Ühesuunaline hash tähendab, see on väga lihtne minna ühest tee teistele, kuid 385 00:18:59,830 --> 00:19:02,800 see on väga raske minna teistpidi tagasi. 386 00:19:02,800 --> 00:19:05,230 >> Ja, et sa tead, kui sa olid kontrollimise inimeste paroolid probleem 387 00:19:05,230 --> 00:19:08,820 seatud 7, siis oleks võtta oma - 388 00:19:08,820 --> 00:19:11,953 Nii näiteks, et nad tahtsid muuta oma salasõna, siis paluge neil 389 00:19:11,953 --> 00:19:13,130 oma vana parool. 390 00:19:13,130 --> 00:19:13,910 Sa võtsid oma vana parool. 391 00:19:13,910 --> 00:19:15,150 Sa krüptimist. 392 00:19:15,150 --> 00:19:19,240 Ja siis võrreldes kaks encryptions mitte unencrypting originaal 393 00:19:19,240 --> 00:19:20,780 üks, sest see on tõesti raske minna nii. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Jah. 396 00:19:28,035 --> 00:19:31,430 >> Publik: Kuidas sügavuti ei meie arusaamist Telnet olema? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: kui seda on mainitud lühidalt loeng, vaid lühike 399 00:19:41,360 --> 00:19:43,260 mõistmist. 400 00:19:43,260 --> 00:19:45,585 Taas tagasi vastus Avi küsimusele - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 rohkem asju tulla, seda tõenäolisemalt seda sa pead olema super 403 00:19:50,430 --> 00:19:51,530 tuttav. 404 00:19:51,530 --> 00:19:54,730 Kui nad ainult tulla loengut see on ainult üks koht. 405 00:19:54,730 --> 00:19:57,180 Aga kui nad tulevad loeng, lõik, ja lahendamist, siis 406 00:19:57,180 --> 00:19:58,710 ilmselt olema super tuttav. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Pidin küsimus varem, - 409 00:20:03,960 --> 00:20:06,950 infosüsteemist oli sügisel 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, lähme tõmba - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 Sellele küsimusele on korstnad ja järjekorrad mis me tegime kulutama õiglase natuke aega 413 00:20:21,790 --> 00:20:23,720 räägime loeng, isegi kuigi me ei ole tegelikult 414 00:20:23,720 --> 00:20:26,020 kunagi tabanud jaos. 415 00:20:26,020 --> 00:20:33,190 Nii et see küsimus annab teile seeria Käskude ja teilt mis 416 00:20:33,190 --> 00:20:35,560 saab trükkida antud juhul. 417 00:20:35,560 --> 00:20:40,180 Nii et see on täiesti põhjendatud küsimus et võiks küsida teist 418 00:20:40,180 --> 00:20:43,090 poisid, ja siis te peaksite suutma vastata. 419 00:20:43,090 --> 00:20:50,020 >> Miks sa ei vaata seda 30 sekundit ja siis kui keegi tahab 420 00:20:50,020 --> 00:20:52,140 ettepaneku vastused mind ja siis me läbi minema. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Olgu, kes on vastus küsimusele 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Jah. 425 00:21:33,860 --> 00:21:40,250 >> PUBLIKULE: Kas 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: Just nii. 427 00:21:40,780 --> 00:21:42,570 27 on 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Seega vaatame, kuidas me saime selle. 429 00:21:44,510 --> 00:21:48,930 >> Esiteks, me ütleme, kui te ei järjekorda, mida saab trükkida? 430 00:21:48,930 --> 00:21:53,360 Nii q on esimene, esimene välja. 431 00:21:53,360 --> 00:21:54,680 Me oleme näinud, et enne. 432 00:21:54,680 --> 00:21:56,820 Nägime pildi inimesed ootamas Apple 433 00:21:56,820 --> 00:21:58,400 Poest osta mõned toode. 434 00:21:58,400 --> 00:22:00,900 Esimesed inimesed on Esimesed inimesed välja. 435 00:22:00,900 --> 00:22:02,940 Esimesi asju järjekorras on esimesed asjad. 436 00:22:02,940 --> 00:22:08,320 >> Nii et kui me push midagi võtta järjekorda, surute 1, siis pop 1. 437 00:22:08,320 --> 00:22:09,630 Pop tähendab lihtsalt välja võtta. 438 00:22:09,630 --> 00:22:11,080 Sel juhul võtke midagi välja. 439 00:22:11,080 --> 00:22:12,910 Võtame välja esimese asi, mis on 1. 440 00:22:12,910 --> 00:22:15,200 Nii et me paneme asjad, mida me prindi maha siia. 441 00:22:15,200 --> 00:22:18,110 See ei ole enam meie järjekorda. 442 00:22:18,110 --> 00:22:23,500 >> Siis rühkima 2 ja 3 ning me pop off esimene asi. 443 00:22:23,500 --> 00:22:25,030 Jällegi, kuna see on järjekorda. 444 00:22:25,030 --> 00:22:33,320 Nii saame 2, siis pane teine 3 ja kõne pop uuesti. 445 00:22:33,320 --> 00:22:34,980 Meie 3 on esimene. 446 00:22:34,980 --> 00:22:40,940 >> Ja siis oli meil terve hunnik muud asjad ja kõne pop. 447 00:22:40,940 --> 00:22:43,740 Aga jälle, sest see on järjekorda, esimene, esimene välja. 448 00:22:43,740 --> 00:22:45,980 Võtame läbi esimene asi mis oli kunagi panna sisse 449 00:22:45,980 --> 00:22:47,100 See on meie 3. 450 00:22:47,100 --> 00:22:50,060 Ja sel juhul me ei muretse Aga kõik need muud asjad. 451 00:22:50,060 --> 00:22:51,310 Nii et kui see on järjekorda. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Küsimusi järjekorda? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Stack on erinevad. 456 00:23:04,040 --> 00:23:07,782 Mis on lühend meil mõistmiseks korstnat? 457 00:23:07,782 --> 00:23:08,750 >> Publik: viimane esimene välja. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, ma arvan. 459 00:23:10,130 --> 00:23:11,830 Viimane esimene välja. 460 00:23:11,830 --> 00:23:15,630 Me nägime, näiteks korstnat plaate söögisaalis. 461 00:23:15,630 --> 00:23:17,590 Ükskõik salv on peal saab kiirenenud. 462 00:23:17,590 --> 00:23:19,550 Ja siis, kui uus kandikud tulla aastal, nad saavad panna peal. 463 00:23:19,550 --> 00:23:21,070 Ja siis kõik, mis on edasi top saab kiirenenud. 464 00:23:21,070 --> 00:23:24,010 Nii et need alused on põhja võiks seal mõnda aega. 465 00:23:24,010 --> 00:23:28,480 >> Sellisel juhul jälle näitame me juhtida seda. 466 00:23:28,480 --> 00:23:31,770 Me push üks, nii et üks on esimene rida. 467 00:23:31,770 --> 00:23:32,790 Ja me pop midagi välja. 468 00:23:32,790 --> 00:23:37,280 Ja seal on ainult üks asi on, nii me liigume 1 siin. 469 00:23:37,280 --> 00:23:41,940 Siis pane 2 ja 3 ning me pop midagi välja. 470 00:23:41,940 --> 00:23:43,650 >> Aga jälle, sest see on järjekorras - 471 00:23:43,650 --> 00:23:45,010 või see on virnas, pigem - 472 00:23:45,010 --> 00:23:47,480 võtame iganes oli viimane. 473 00:23:47,480 --> 00:23:49,300 Kõik, mis on viimane väljub esimene. 474 00:23:49,300 --> 00:23:50,890 Ja 3 on viimane. 475 00:23:50,890 --> 00:23:56,110 Seega me paneme 3 seal, siis paneme veel 3 ja me 476 00:23:56,110 --> 00:23:57,360 pop midagi uuesti. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Lõpuks pane 4, 5, 6 ja 7, ja siin me pop. 479 00:24:05,710 --> 00:24:09,060 Ja kuna see on virnas, võtame olenemata pandi viimane ja kirjutada 480 00:24:09,060 --> 00:24:10,240 et siia alla. 481 00:24:10,240 --> 00:24:14,256 Nii me lõpuks 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Kas kellelgi on küsimusi korstnad või järjekorrad või see näide? 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 Lähme tagasi teemade nimekirja. 487 00:24:30,440 --> 00:24:32,510 Mitte, et nii, nii. 488 00:24:32,510 --> 00:24:34,280 Mis muud küsimused inimesed on? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> Publik: Ma ei tea, kui oluline see on, aga ma olin segaduses 491 00:24:39,480 --> 00:24:43,550 vahet eri liiki keeltes nagu juurdehindlus, mis on koostatud, 492 00:24:43,550 --> 00:24:45,980 tõlgendada. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: See on hea küsimus. 494 00:24:46,750 --> 00:24:50,500 Ma arvan, et see on mõnevõrra tähtis, nii lähme üle kiiresti. 495 00:24:50,500 --> 00:24:56,850 Suurte keelte oleme näinud siiani on C, PHP ja JavaScript, poolest 496 00:24:56,850 --> 00:24:58,330 programmeerimiskeeli. 497 00:24:58,330 --> 00:25:01,060 HTML, nagu te mainisite, ei ole programmeerimiskeelt. 498 00:25:01,060 --> 00:25:02,260 See on märgistuskeel. 499 00:25:02,260 --> 00:25:05,700 Ja siis on meil CSS, mis on ka ei programmeerimiskeelt. 500 00:25:05,700 --> 00:25:10,330 >> Oleme näinud ka SQL, mis ei ole programmeerimiskeelt kas. 501 00:25:10,330 --> 00:25:15,695 Nii SQL võimaldab teil kirjutada päringuid andmebaasi. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML on märgistuskeel. 504 00:25:20,140 --> 00:25:22,570 See määrab, kuidas asjad on üles ehitatud. 505 00:25:22,570 --> 00:25:26,250 Ja CSS võimaldab teil stiilis asju. 506 00:25:26,250 --> 00:25:28,520 See on ilmselt ulatust, mida sa vaja teada neid kolme. 507 00:25:28,520 --> 00:25:32,920 Aga see on huvitav tegelane välja erinevused C, PHP 508 00:25:32,920 --> 00:25:34,320 ja JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Nii üks suuremaid erinevusi, nagu te mainisite, on see, kuidas nad 510 00:25:37,900 --> 00:25:40,550 koostatud, või mis iganes samaväärne on. 511 00:25:40,550 --> 00:25:42,580 Nii C koostatakse. 512 00:25:42,580 --> 00:25:43,950 Soovime alati joosta tõlkija. 513 00:25:43,950 --> 00:25:51,100 Ja siis, kui on oma vigu kui sa jooksed C kompilaator? 514 00:25:51,100 --> 00:25:55,740 Kui see näitab teile, Vead oma koodi? 515 00:25:55,740 --> 00:25:57,860 Kuidas sa tead, seal on viga oma koodi C? 516 00:25:57,860 --> 00:25:58,770 >> Publik: See näitab, terminalis. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: See näitab, et terminali sa koostamiseks. 518 00:26:00,410 --> 00:26:02,620 Ja kui seal on vigu, see tegelikult ei kompileerida. 519 00:26:02,620 --> 00:26:04,830 Nii et sa tead, et seal on vigu õigus ära, enne tähtaega, enne kui 520 00:26:04,830 --> 00:26:06,050 isegi käivitada oma koodi. 521 00:26:06,050 --> 00:26:10,010 >> Muidugi, võite esitada oma kood ja saada killustatust süü, kuid see oli 522 00:26:10,010 --> 00:26:12,350 ilmselt sellepärast, et sa tegid mõned rumal loogika asi. 523 00:26:12,350 --> 00:26:15,770 Aga oma koodi tehniliselt kõik õige ja võib minna. 524 00:26:15,770 --> 00:26:18,210 Nii C-koodi saab koostada enne tähtaega. 525 00:26:18,210 --> 00:26:19,760 Aga PHP kood? 526 00:26:19,760 --> 00:26:21,430 Kus olid vead oma PHP kood? 527 00:26:21,430 --> 00:26:23,170 Kuidas sa tead, et sul oli vigu Sinu PHP kood? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> Publik: Run aeg? 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Jah, kui sa läheks see, siis läheks 531 00:26:31,230 --> 00:26:32,180 PHP koodi taga. 532 00:26:32,180 --> 00:26:33,300 Ja siis oleks kuvada ekraanile. 533 00:26:33,300 --> 00:26:35,260 Võite näha mõned asjad peal, aga siis sa näeksid, nagu mõned 534 00:26:35,260 --> 00:26:36,710 oranž, inetu tabelis. 535 00:26:36,710 --> 00:26:41,420 Ja see oleks sulle line number ja ütleme, blaa, blaa, blaa, seda kraami 536 00:26:41,420 --> 00:26:42,400 ei tööta. 537 00:26:42,400 --> 00:26:48,730 >> Nii PHP tõlgendatakse rida-realt ja teostatakse serveris. 538 00:26:48,730 --> 00:26:52,380 Ja seejärel tulemus saadetakse teile üle anda. 539 00:26:52,380 --> 00:26:53,340 Suur. 540 00:26:53,340 --> 00:26:56,410 Hukati server rida-realt ning seejärel saadetakse teile üle anda. 541 00:26:56,410 --> 00:26:59,010 Ja kui seal on viga, saadan sa viga, kuid teil võib olla 542 00:26:59,010 --> 00:27:00,400 õppinud mõned asjad enne tähtaega. 543 00:27:00,400 --> 00:27:02,730 Nii mõned oleks sellest kasu olnud, kuid hiljem, mõned asjad ei pruugi olla 544 00:27:02,730 --> 00:27:03,890 ei töötanud. 545 00:27:03,890 --> 00:27:04,600 >> Aga JavaScript? 546 00:27:04,600 --> 00:27:06,065 Kus te nägite JavaScript vead? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 P seatud 8, kui sul viga, kuidas sa teadsid? 549 00:27:12,870 --> 00:27:13,710 Kuhu see ilmub? 550 00:27:13,710 --> 00:27:15,900 >> Publik: In konsooli, allosas. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: In konsoolis põhjale. 552 00:27:17,650 --> 00:27:20,160 See annab teile ka line number, ja see oleks 553 00:27:20,160 --> 00:27:21,330 näitab allosas. 554 00:27:21,330 --> 00:27:24,320 Ja JavaScript ei ole täidetud serveris. 555 00:27:24,320 --> 00:27:27,800 JavaScript saadeti teie arvutisse, ja siis, kui see oli aeg joosta 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript oli käivitada rea ​​kaupa edasi 557 00:27:31,670 --> 00:27:33,410 klient, teie poolel. 558 00:27:33,410 --> 00:27:35,570 Mitte server, kliendi poolel. 559 00:27:35,570 --> 00:27:37,690 >> Sarnases oli käivitada rida-realt. 560 00:27:37,690 --> 00:27:40,630 Ja siis, kui sa saaksid viga, see näitaks üles allosas. 561 00:27:40,630 --> 00:27:44,580 Sarnaselt PHP, mõned see võiks täita ning seejärel võite saada 562 00:27:44,580 --> 00:27:46,310 viga hiljem. 563 00:27:46,310 --> 00:27:49,910 >> Ka veidi erinevalt PHP, kui sul JavaScript viga - 564 00:27:49,910 --> 00:27:52,780 öelda, et sa ei tee õigust kood alert box - 565 00:27:52,780 --> 00:27:55,800 võid hoida jooksvate oma programmi. 566 00:27:55,800 --> 00:27:58,180 Hoiatus kasti ei tööta, kuid Teie programm oleks trahvi. 567 00:27:58,180 --> 00:28:00,490 Lihtsalt olla, et funktsioon ei aita. 568 00:28:00,490 --> 00:28:02,610 >> Nii et seal on mõned suuremad Erinevus poolest, kuidas need 569 00:28:02,610 --> 00:28:09,230 keeltes või kuidas programmi koodi sa kirjutad on tegelikult hinnata. 570 00:28:09,230 --> 00:28:11,970 On ka teisi erinevusi poolest - suurim erinevus 571 00:28:11,970 --> 00:28:15,590 oleme näinud nii muutujad erinevates keeltes. 572 00:28:15,590 --> 00:28:19,660 Nii saab keegi mulle erinevus muutujate vahel 573 00:28:19,660 --> 00:28:20,910 kolmes keeles? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Jah. 576 00:28:25,770 --> 00:28:27,130 >> Publik: In C, nad on rangelt trükitud. 577 00:28:27,130 --> 00:28:28,550 Ülejäänud kaks, nad lõdvalt kirjutatud. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn Ja Mida see tähendab? 579 00:28:30,040 --> 00:28:31,775 >> Publik: See on C, siis tuleb tunnistada tüüpi muutuja 580 00:28:31,775 --> 00:28:36,140 sa kuulutada muutuja, nagu interbool või char. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Suurepärane. 582 00:28:36,990 --> 00:28:39,780 In C, oleme alati olnud panna tüüpi muutuja. 583 00:28:39,780 --> 00:28:41,360 Ja me ei saa tõesti segada tüübid. 584 00:28:41,360 --> 00:28:45,750 Sa ei saa teha täisarv pluss string. 585 00:28:45,750 --> 00:28:48,760 Aga nagu oleme näinud neid teisi keelt, siis tegelikult võib segada tüübid, 586 00:28:48,760 --> 00:28:51,230 ja sa kunagi ei pea andma midagi tüüp, kunagi. 587 00:28:51,230 --> 00:28:53,905 >> Niisiis, kuidas me teame, mida on muutujad PHP ja JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> Publik: PHP, nad hakkavad koos dollari märk. 590 00:28:58,685 --> 00:29:00,810 Javascript, kui te deklareerite neid, sa pead olema bar. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Õigus. 592 00:29:01,760 --> 00:29:03,535 Nii PHP, nad hakkavad koos dollari märk. 593 00:29:03,535 --> 00:29:06,300 Javascript, et nad peavad olema bar, kuigi mõnikord nad ei ole tegelikult 594 00:29:06,300 --> 00:29:07,520 pead olema bar. 595 00:29:07,520 --> 00:29:09,240 Aga see on õige. 596 00:29:09,240 --> 00:29:13,300 >> Nii et on suur vahe muutujate vahel. 597 00:29:13,300 --> 00:29:16,140 Ma arvan, et need on ilmselt ära mu peas, kahe suurima 598 00:29:16,140 --> 00:29:19,250 Erinevused nende kolmes keeles. 599 00:29:19,250 --> 00:29:20,594 Aga jah. 600 00:29:20,594 --> 00:29:24,720 >> Publik: Ja ulatust C muutujate piirdub lokkis traksid, 601 00:29:24,720 --> 00:29:27,760 kus teised need, see on nagu, ta sureb, kui see on funktsioon ainult 602 00:29:27,760 --> 00:29:29,650 aga muidu, See on - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Õigus. 604 00:29:30,240 --> 00:29:36,780 Nii ulatus on pisut erinev C. Mäletatavasti looksulg määratleda 605 00:29:36,780 --> 00:29:37,710 ulatust muutujad. 606 00:29:37,710 --> 00:29:41,680 Nii et kui see on määratletud sees kui tingimus, mis on sees silmus, 607 00:29:41,680 --> 00:29:44,290 muutuja eksisteerib ainult seal. 608 00:29:44,290 --> 00:29:47,760 >> Javascript, kui muutuja on defineeritud sees kui tingimus - 609 00:29:47,760 --> 00:29:50,750 sees loop - siis see on olemas et funktsioon, kuid see ei eksisteeri 610 00:29:50,750 --> 00:29:52,330 väljaspool seda funktsiooni. 611 00:29:52,330 --> 00:29:59,250 Nii ulatus on natuke paindlikum JavaScript ja PHP. 612 00:29:59,250 --> 00:30:00,500 Et vastata küsimusele? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, muid küsimusi? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Me saame seda teha veel neli minutit Küsimuste, siis 617 00:30:08,865 --> 00:30:10,740 me hüpata kodeerimine. 618 00:30:10,740 --> 00:30:12,645 >> Publik: Kas me minna Ajax ja rääkida, mis see on? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Räägi Avi pärast. 621 00:30:17,800 --> 00:30:19,170 Ta palus, et küsimus varem. 622 00:30:19,170 --> 00:30:19,630 >> Publik: My bad. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Ära muretse. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> Publik: Mis täpselt on JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Mis on JSON? 628 00:30:28,900 --> 00:30:29,930 Mis su küsimus? 629 00:30:29,930 --> 00:30:31,350 >> Publik: Just tõesti kiiresti, vahe 630 00:30:31,350 --> 00:30:32,870 print ja echo PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON Hirschhorn: Miks te ei google vahe print ja echo? 633 00:30:38,490 --> 00:30:40,670 Väike erinevus. 634 00:30:40,670 --> 00:30:42,020 Mitte, et suur ja lahendamiseks. 635 00:30:42,020 --> 00:30:44,960 Aga siis tuleb kindlasti google, ja mis annab sulle hea vastus. 636 00:30:44,960 --> 00:30:46,910 >> JSON, ilmselt suurem on palju. 637 00:30:46,910 --> 00:30:49,300 Kastid JavaScript Object märke. 638 00:30:49,300 --> 00:30:51,865 Ja kui me oleme näinud JSON kasutatakse? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Kui olete näinud - 641 00:30:55,900 --> 00:30:57,400 Miks sa üldse tead sõna JSON? 642 00:30:57,400 --> 00:30:59,140 Kui sa oled seda näinud? 643 00:30:59,140 --> 00:31:02,200 >> Publik: Kui me ei saada börsikursid rahandusminister. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Nii nägid see, kui sa ei saada 645 00:31:02,690 --> 00:31:04,830 börsikursid rahandusminister. 646 00:31:04,830 --> 00:31:07,340 Ja miks sa seda näed? 647 00:31:07,340 --> 00:31:09,000 >> Publik: Kui olime allalaadimise kogu teabe, mida 648 00:31:09,000 --> 00:31:10,400 tuli selles formaadis. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Nii et sa saaksid - 650 00:31:11,700 --> 00:31:12,540 jah. 651 00:31:12,540 --> 00:31:13,020 Lase käia. 652 00:31:13,020 --> 00:31:15,210 >> Publik: [kuuldamatu] andmed välja objekti? 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: need mõlemad kokku on vastus 654 00:31:17,170 --> 00:31:18,100 me otsime. 655 00:31:18,100 --> 00:31:21,240 Soovite infot Selle muu veebilehe. 656 00:31:21,240 --> 00:31:23,790 Ja siis oleks lootust, et kui sa oled saada, et info oleks 657 00:31:23,790 --> 00:31:26,720 Teile esitatud teatud tüüpi standarditud vormingus. 658 00:31:26,720 --> 00:31:29,530 >> Kõik on ilmselt tuttav komadega eraldatud väärtused. 659 00:31:29,530 --> 00:31:32,970 Saate eksportida Exceli tabeli või mistahes arvutustabeli nimekirja 660 00:31:32,970 --> 00:31:34,540 komadega eraldatud väärtused. 661 00:31:34,540 --> 00:31:37,370 Ja komad jaotame erinevates valdkondades. 662 00:31:37,370 --> 00:31:38,780 JavaScript Object esitust - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 on teist tüüpi standardiseeritud paigutus asju. 665 00:31:43,540 --> 00:31:49,010 Ja see on sageli, kuidas me otsida teavet meie Ajax päringutele. 666 00:31:49,010 --> 00:31:51,770 >> Nii sel juhul, saime seda alates Yahoo kohas. 667 00:31:51,770 --> 00:31:53,600 Nad tagasi asju meid JSON objekti. 668 00:31:53,600 --> 00:31:56,790 Ja siis me teame, sest see on standard, mis on 669 00:31:56,790 --> 00:31:57,250 hakkab välja nägema. 670 00:31:57,250 --> 00:32:00,760 Nii saame kinnitada, läbi massiivi mis on meile tagasi, massiiv 671 00:32:00,760 --> 00:32:03,180 objektid, mis on meile tagasi. 672 00:32:03,180 --> 00:32:07,770 >> Me ilmselt vaja teada, võtmed, kuid nad tavaliselt teile 673 00:32:07,770 --> 00:32:11,370 dokumentatsiooni veebilehel, kui lasete mõned JSON 674 00:32:11,370 --> 00:32:12,170 märke neist. 675 00:32:12,170 --> 00:32:16,940 Samuti saate JSON kodeerida objekti. 676 00:32:16,940 --> 00:32:19,900 Nii et seal on funktsioon JSON rõhutada kodeerida. 677 00:32:19,900 --> 00:32:22,970 Ja nii saab võtta objekti, mis olete loonud, JSON kodeerida, ja 678 00:32:22,970 --> 00:32:26,390 andke seda kellelegi midagi muud, kui soovite. 679 00:32:26,390 --> 00:32:30,770 Ja JSON dekodeerida ka olemas sarnane eesmärk või 680 00:32:30,770 --> 00:32:31,780 vastupidisel eesmärgil. 681 00:32:31,780 --> 00:32:36,570 >> Publik: Kas meil on vaja teada, mis kodeerivad räsi tabelid ja üritab? 682 00:32:36,570 --> 00:32:40,300 Või me lihtsalt peame mõistma, kuidas nad kasutada kontseptuaalselt? 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Niisiis, tõsta oma käsi kui sa hash tabelit p komplekt 4 684 00:32:44,570 --> 00:32:46,920 koos link nimekirja. 685 00:32:46,920 --> 00:32:47,960 Või p seatud 5. 686 00:32:47,960 --> 00:32:49,060 Nii et oli enamik inimesi. 687 00:32:49,060 --> 00:32:50,390 P seatud 5, 6, kes teab. 688 00:32:50,390 --> 00:32:51,240 Kaua aega tagasi. 689 00:32:51,240 --> 00:32:54,140 >> Seega enamik sa tegid hash tabeleid link nimekirjad. 690 00:32:54,140 --> 00:32:56,525 Ja kuna see on ilmselt rohkem ühise lähenemisviisi ja kuna me veetsime 691 00:32:56,525 --> 00:32:59,460 palju aega tehes link nimekirjad ja hash tabeleid, siis peaks ilmselt olema 692 00:32:59,460 --> 00:33:02,600 päris tuttav, kuidas kood hash tabelit ja link nimekirja. 693 00:33:02,600 --> 00:33:05,060 >> Ja kui te arvate tagasi, et probleem määratud, see ei olnud tegelikult 694 00:33:05,060 --> 00:33:06,410 nii raske, kui sa oodata. 695 00:33:06,410 --> 00:33:08,120 Ja seal oli palju väiksem kood kui sa oodata. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Ütleksin sa peaksid teadma, kuidas koodi hash tabel või link nimekirja. 698 00:33:14,650 --> 00:33:17,010 Mitte, et sa küsida, et tingimata, aga sa peaksid 699 00:33:17,010 --> 00:33:19,730 kindlasti teadma. 700 00:33:19,730 --> 00:33:21,860 >> Samuti, kui teil vaadata läbi mineviku viktoriinid seal on palju 701 00:33:21,860 --> 00:33:26,450 küsimusi kirjalikult ülesandeid link nimekirjad või kahekordselt seotud nimekirju. 702 00:33:26,450 --> 00:33:28,370 See tundub tulla iga aasta. 703 00:33:28,370 --> 00:33:31,940 Õigus lisada linki nimekirja, õigus kustuta link nimekiri, õigus lisada 704 00:33:31,940 --> 00:33:33,610 jaoks kahekordselt seotud nimekirja, jne. 705 00:33:33,610 --> 00:33:36,170 Nii, et ma tunnen üsna mugav öelda, et sa peaksid seda teadma. 706 00:33:36,170 --> 00:33:40,600 >> Sest proovida, ma ütleksin, peaksite Kindlasti tead, kuidas see töötab, ja võib-olla 707 00:33:40,600 --> 00:33:43,570 anda mõned pseudokoodi kuidas koodi ta ja ehita. 708 00:33:43,570 --> 00:33:45,600 Aga see ei oleks kõige hullem asi maailmas, kui sa ei tea, kuidas 709 00:33:45,600 --> 00:33:48,870 kodeerida seda C. Oleks tore, kui te teadis, kuidas koodi seda C, kuid ma arvan, 710 00:33:48,870 --> 00:33:52,516 ilmselt pseudokoodi eest proovida oleks kõige, mida oleks vaja 711 00:33:52,516 --> 00:33:53,270 et teada proovida. 712 00:33:53,270 --> 00:33:53,930 >> Publik: Extra laenu võtta? 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn Ja sama, kui me minna binaarne otsing puud, siis võib 714 00:33:58,290 --> 00:34:02,320 pea - ja sa oled näinud ka varem, oleme teinud palju - sa tead, kuidas 715 00:34:02,320 --> 00:34:03,380 Kahendotsingupuu toimib. 716 00:34:03,380 --> 00:34:07,150 Sa peaksid ilmselt saama moodustage pseudo kood. 717 00:34:07,150 --> 00:34:10,510 Aga sellepärast, et enamik inimesi ei teinud seda probleemi 718 00:34:10,510 --> 00:34:13,880 set, ma ütleks, et see on ilmselt vähem oluline, et sa tead, kuidas koodi 719 00:34:13,880 --> 00:34:17,380 ja luua puu niimoodi. 720 00:34:17,380 --> 00:34:19,679 >> Muid küsimusi? 721 00:34:19,679 --> 00:34:23,234 Ka meil on võimalik neid esitada kogu kui me läheme läbi mõned probleemid. 722 00:34:23,234 --> 00:34:27,170 OK, me läheme edasi liikuda. 723 00:34:27,170 --> 00:34:28,230 Jäta et slide nüüd. 724 00:34:28,230 --> 00:34:32,449 >> Rääkides puud, mis on esimene küsimus on mul teile poisid. 725 00:34:32,449 --> 00:34:34,270 Kuna see on probleem. 726 00:34:34,270 --> 00:34:37,380 Ütleksin, et see on väga tõenäoline, teid saada probleemi niimoodi oma viktoriin 727 00:34:37,380 --> 00:34:43,659 palume teil kodeerida teatud tüüpi andmete sisestamine, kustutada, otsida, sest üks tüüp 728 00:34:43,659 --> 00:34:45,270 andmete struktuuri oleme näinud. 729 00:34:45,270 --> 00:34:47,719 >> See on igal aastal ja me veetsime palju aega teisel poolel 730 00:34:47,719 --> 00:34:50,270 semester läheb üle need andmetüübid. 731 00:34:50,270 --> 00:34:54,170 Nii et just nüüd, ma olen määratletud sõlme aastal Kahendotsingupuu. 732 00:34:54,170 --> 00:34:58,490 Ja see, mida ma tahaksin, et sa ei andnud Kahendotsingupuu mis algab 733 00:34:58,490 --> 00:35:05,450 selles sõlme star root, lõpule rakendamise funktsioon allpool 734 00:35:05,450 --> 00:35:07,430 mis juhtub olema find funktsioon. 735 00:35:07,430 --> 00:35:09,260 Ja seda koos ja ilma recursions. 736 00:35:09,260 --> 00:35:10,860 >> Nii et ma tahan, et sa kirjutada kaks ülesannet. 737 00:35:10,860 --> 00:35:14,310 Üks teeb seda rekursioon, üks seda teha ilma rekursiooni. 738 00:35:14,310 --> 00:35:18,050 Ja ei saa eeldada, et juur on mitte-null. 739 00:35:18,050 --> 00:35:21,790 Nii me otsime täisarv i tree alates root ja me peame 740 00:35:21,790 --> 00:35:25,280 kirjutada selle rekursiivselt ja korduvalt. 741 00:35:25,280 --> 00:35:26,300 Jah. 742 00:35:26,300 --> 00:35:29,730 >> Publik: Nii et sa tahad, et me tagasi true kui me leiame ta, ja false, kui me 743 00:35:29,730 --> 00:35:30,480 ei leia seda. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: Kuidas sa seda teadsid? 745 00:35:32,160 --> 00:35:33,100 Kuidas sa seda tead? 746 00:35:33,100 --> 00:35:36,500 >> Publik: ma küsisin esimesena, aga ma olin eeldades, sest see ütleb bool juures 747 00:35:36,500 --> 00:35:37,490 alguses funktsiooni. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Õigus. 749 00:35:37,880 --> 00:35:41,020 Ta ütleb, bool, nii et ma ei pea isegi öelda, mida ma loodan, et sa tagasi 750 00:35:41,020 --> 00:35:41,350 sest ta ütleb seal. 751 00:35:41,350 --> 00:35:42,280 Aga see on õige. 752 00:35:42,280 --> 00:35:43,510 Tagasi, õige või vale. 753 00:35:43,510 --> 00:35:47,630 >> Nii et enne kui alustame, ma soovitaks, kui te ei tea, 754 00:35:47,630 --> 00:35:51,300 binaarne otsing puud kiiresti joonistamine pilt, et saada oma 755 00:35:51,300 --> 00:35:51,750 arusaam, eks. 756 00:35:51,750 --> 00:35:54,720 See aitab ka, kui kirjalikult oma koodi ning nende kontrollimiseks. 757 00:35:54,720 --> 00:35:57,830 Jällegi, sa ka ei ole, et palju aega viktoriini teha kõik asjad 758 00:35:57,830 --> 00:35:59,030 et me palume sul teha. 759 00:35:59,030 --> 00:36:02,350 Nii kirjalikult pseudo kood on väga kasulik. 760 00:36:02,350 --> 00:36:05,310 >> Ja me tavaliselt annab umbes - 761 00:36:05,310 --> 00:36:06,820 kui pseudokoodi on täiesti õige, see on 762 00:36:06,820 --> 00:36:08,910 üldiselt 50% võrra alla. 763 00:36:08,910 --> 00:36:11,410 Nii see ei ole raske ja kiire reegel, aga kui sa lihtsalt kirjutada pseudokoodi ja see on 764 00:36:11,410 --> 00:36:13,460 õige, see on tavaliselt 50%. 765 00:36:13,460 --> 00:36:14,970 Nii et ma soovitan alati - 766 00:36:14,970 --> 00:36:16,870 kui sa oled vähe aega, või isegi siis, kui sa oled lihtsalt üritan aru saada - 767 00:36:16,870 --> 00:36:18,290 alustades pseudokoodi. 768 00:36:18,290 --> 00:36:24,840 Ja lõpuks, kui sa võiksid kirjutada selle kõik C, et oleks fantastiline. 769 00:36:24,840 --> 00:36:29,010 >> Võtame kolm minutit tööd selles programmis. 770 00:36:29,010 --> 00:36:33,120 Ja siis me kirjutada pseudokoodi seda ainult üks kord, ja siis 771 00:36:33,120 --> 00:36:35,455 me koodi see rekursiivselt ja siis korduvalt. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Kui teil on küsimusi, võid tasuta tõstke käsi. 774 00:37:30,760 --> 00:37:34,270 Palju jalutada ja neile vastata enne kui hakkame rühmana. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Olgem jätkata, ja me ei kavatse Pseudocode rekursiivne versioon 777 00:39:27,200 --> 00:39:29,830 seda, ja siis me kodeerida seda. 778 00:39:29,830 --> 00:39:33,380 Nii rekursiivne funktsioon vaja kahte asja. 779 00:39:33,380 --> 00:39:35,960 See võib olla küsimus, mis sa võiks küsida. 780 00:39:35,960 --> 00:39:37,950 Vajab kahte asja. 781 00:39:37,950 --> 00:39:40,610 Kes saab tõsta oma käsi ja öelge Mida need kaks asja rekursiivne 782 00:39:40,610 --> 00:39:43,680 funktsioon vajab? 783 00:39:43,680 --> 00:39:45,030 Definitsiooni järgi on kaks asja. 784 00:39:45,030 --> 00:39:46,280 Mis on need kaks asja? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Uus kätes. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Jah, Alden. 789 00:39:56,390 --> 00:39:57,980 >> Publik: et ma ei ole päris kindel, kas see on terminoloogia, kuid - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Mul on hea meel sa tõsta oma käsi. 791 00:39:59,715 --> 00:40:03,380 >> Publik: See vajab tugipunkti, ja ta vajab kirjutan samm. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 See vajab tugipunkti ja kirjutan samm. 794 00:40:06,340 --> 00:40:10,430 Mis on meie baasi asjas? 795 00:40:10,430 --> 00:40:12,950 >> Publik: F root võrdub võrdub null. 796 00:40:12,950 --> 00:40:15,110 Vabandame, igaks pseudokoodi, kui see on null. 797 00:40:15,110 --> 00:40:16,360 Kui juur on null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn Kui juur on null. 800 00:40:23,540 --> 00:40:23,850 See on suurepärane. 801 00:40:23,850 --> 00:40:24,610 See on meie tugipunkti. 802 00:40:24,610 --> 00:40:25,910 See, mida me kontrollida igal ajal. 803 00:40:25,910 --> 00:40:28,000 Ja alus juhul Esimene asi, mida teha. 804 00:40:28,000 --> 00:40:29,720 Kui põrkad tugipunkti, sa oled teinud. 805 00:40:29,720 --> 00:40:34,140 >> Nüüd peame meie rekursiivne kõne, ja ma valmis kihla peame paar 806 00:40:34,140 --> 00:40:35,440 rekursiivne nõuab siin. 807 00:40:35,440 --> 00:40:39,630 Sest see on puu, ja me võiks minna mitmel moel. 808 00:40:39,630 --> 00:40:43,190 Nii et kui juur on null, me oleme head. 809 00:40:43,190 --> 00:40:44,970 >> Mida sa soovitad? 810 00:40:44,970 --> 00:40:49,640 Ja nüüd ma hakkan hüüdma on teid, sest ma tean, et te 811 00:40:49,640 --> 00:40:50,540 kõik teavad seda. 812 00:40:50,540 --> 00:40:52,610 Aga Annie, mida peaks Järgmine rida olema? 813 00:40:52,610 --> 00:40:53,570 Mis siis, kui me leidsime selle? 814 00:40:53,570 --> 00:40:55,526 Mida me siis teeme? 815 00:40:55,526 --> 00:40:57,300 >> Publik: Kui me leidsime selle? 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Või mis peaks olema, et - 817 00:40:59,160 --> 00:41:02,124 mulle pseudokoodi eest line, kus me leidsime selle. 818 00:41:02,124 --> 00:41:04,700 >> Publik: Kui ma võrdub root i? 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn Ja siis mida me teeme? 820 00:41:06,650 --> 00:41:07,590 >> Publik: Tagasi tõsi. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Suur. 822 00:41:08,530 --> 00:41:16,890 Nii et kui ma ei i - 823 00:41:16,890 --> 00:41:17,400 oh, nad mõlemad kutsutud i. 824 00:41:17,400 --> 00:41:18,470 See saab segane. 825 00:41:18,470 --> 00:41:23,830 Aga kui ma ei i tagasi tõsi. 826 00:41:23,830 --> 00:41:25,620 See on ilmselt järgmine asi, mida me peaksime tegema. 827 00:41:25,620 --> 00:41:27,300 Mõtet. 828 00:41:27,300 --> 00:41:30,610 >> OK, nüüd me ei ole teinud meie rekursiivne helistada veel, aga kuna rekursiivne 829 00:41:30,610 --> 00:41:32,300 kõne kutsuksin seda funktsiooni uuesti. 830 00:41:32,300 --> 00:41:41,460 Mis siis järgmiseks rida pseudokoodi olema? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> Publik: vasak külg. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Ole konkreetne, kuigi. 835 00:41:47,590 --> 00:41:50,600 See on Kahendotsingupuu, siis millised ei kontrolliks vasakul poolel kaasa toob? 836 00:41:50,600 --> 00:41:51,890 >> Publik: Nii sõlme - 837 00:41:51,890 --> 00:41:53,342 Mul on kahju, root. 838 00:41:53,342 --> 00:41:55,306 Ja siis nool vasakule. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Sõlme, sõlm, sorry. 841 00:42:00,720 --> 00:42:01,978 Ma ei loe seda korralikult. 842 00:42:01,978 --> 00:42:05,700 Seda nimetatakse sõlm, eks? 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: Seda nimetatakse root selle funktsiooni, kuid kas nii. 844 00:42:09,270 --> 00:42:10,925 Vasakul küljel - jah? 845 00:42:10,925 --> 00:42:13,780 >> Publik: Kui see ei ole võrdne i, siis me nimetame 846 00:42:13,780 --> 00:42:15,130 funktsioon uuesti? 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: Just nii. 848 00:42:15,490 --> 00:42:17,870 Kui see ei ole võrdne i, me helistada funktsioon uuesti. 849 00:42:17,870 --> 00:42:21,435 Aga mida pool puud me helistada funktsioon uuesti? 850 00:42:21,435 --> 00:42:22,685 >> Publik: Vasakul pool. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Me ei ole alati kutsun ta vasakule, kui see 853 00:42:27,670 --> 00:42:29,190 ei võrdu see. 854 00:42:29,190 --> 00:42:29,610 >> Publik: Oh, vabandust. 855 00:42:29,610 --> 00:42:31,200 Helista paremal. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Tahame teada Konkreetsemalt kuigi - mäletate, 857 00:42:33,680 --> 00:42:37,700 Kahendotsingupuu, kõike Vasakul pool on väiksem. 858 00:42:37,700 --> 00:42:40,460 Kõik paremale pool on suurem. 859 00:42:40,460 --> 00:42:43,990 Nii see lihtsalt ei ole - Jah, lase käia. 860 00:42:43,990 --> 00:42:46,805 >> Publik: Kui see on väiksem kui i, siis - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 kui see on vasakul - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Nii et kui ri on väiksem - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 Nii et kui meie number on väiksem kui i, mida pool me tahame minna? 867 00:43:09,110 --> 00:43:15,120 >> Publik: Me tahame minna paremal poolel. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Me tahame minna - 869 00:43:16,250 --> 00:43:19,210 las ma joonistan kiire puu. 870 00:43:19,210 --> 00:43:23,850 Kui see on 5, see on 3. 871 00:43:23,850 --> 00:43:29,410 Nii et kui ri on väiksem kui viis, mida pool me tahame minna? 872 00:43:29,410 --> 00:43:30,390 >> Publik: Vabandust, mida? 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: Meie number on vähem, kui me oleme 874 00:43:33,190 --> 00:43:34,710 praegu vaatan. 875 00:43:34,710 --> 00:43:35,890 >> Publik: Oh, siis me tahame minna vasakule küljele. 876 00:43:35,890 --> 00:43:36,240 Jah. 877 00:43:36,240 --> 00:43:36,920 Vabandust. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Täpselt. 879 00:43:37,230 --> 00:43:38,480 Ära muretse. 880 00:43:38,480 --> 00:43:41,020 In Kahendotsingupuu, kõik madalam on vasakul 881 00:43:41,020 --> 00:43:42,110 suurem on parem. 882 00:43:42,110 --> 00:43:46,700 Nii et kui meie number on vähem kui i me kontrollime - 883 00:43:46,700 --> 00:43:48,790 sest sa näed sõlme, tal on i - 884 00:43:48,790 --> 00:43:50,040 siis sa tahad minna vasakule. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> Ja see on lihtne. 887 00:43:56,720 --> 00:44:01,700 Mis see on teine ​​rida pseudokoodi meil on vaja kirjutada? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> Publik: Sama asi, sa lihtsalt sisse seda suurem siseneda 890 00:44:05,970 --> 00:44:07,420 ja minna paremale. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Kas te ütlen seda veel kord? 892 00:44:08,350 --> 00:44:11,640 >> Publik: Kui meie number on suurem kui ma minna paremale. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Suurepärane tööd pseudokoodi. 895 00:44:26,690 --> 00:44:28,700 Tehkem seda reaalses kood. 896 00:44:28,700 --> 00:44:33,280 Ja jälle see pseudokoodi tahe ilmselt sulle, sest see on 897 00:44:33,280 --> 00:44:35,480 õige, 50% sellele küsimusele. 898 00:44:35,480 --> 00:44:39,720 Aga see pseudokoodi kajastub ka üks ühe sisuliselt koodi. 899 00:44:39,720 --> 00:44:44,380 >> Seega tehkem seda C. Kes saab anda minu esimene rida koodi? 900 00:44:44,380 --> 00:44:48,390 Tegelikult, enne ma teen et lubage mul peatuda - 901 00:44:48,390 --> 00:44:49,260 >> Publik: mul on üks küsimus. 902 00:44:49,260 --> 00:44:52,430 Miks sa taane line ma sulle andsin? 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Kuna Ma ei saanud kirjutada. 904 00:44:54,160 --> 00:44:55,240 Ma ei tea. 905 00:44:55,240 --> 00:44:55,650 Sul on õigus. 906 00:44:55,650 --> 00:44:57,780 See joon peab olema seal. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, siin on meie ülesanne. 909 00:45:14,480 --> 00:45:18,090 Ja lubage mul peatuda, samuti meie mõiste sõlme. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Mis juhtub, kui me ei kirjuta typedef? 912 00:45:27,180 --> 00:45:30,240 Kas keegi teab? 913 00:45:30,240 --> 00:45:32,570 >> Publik: See ei kompileerida. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Oleks koguma, jah. 915 00:45:33,860 --> 00:45:37,120 >> Publik: Kas lihtsalt kuulutada üks Näiteks selle asemel, et see uus 916 00:45:37,120 --> 00:45:39,840 tüüp, mida võiks tunnistada mitmekordse juhtumeid? 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: nii et see ei tea - see ei oleks 918 00:45:41,700 --> 00:45:43,120 lihtsalt kuulutada ühte tüüpi. 919 00:45:43,120 --> 00:45:46,150 Sa võiksid ikka teha palju tippe. 920 00:45:46,150 --> 00:45:48,070 >> Publik: Aga kas me peame kirjuta struct tipp iga kord? 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: Just nii. 922 00:45:48,640 --> 00:45:50,960 Sa oleks pidanud kirjutama struct sõlme iga kord, selle asemel, et lihtsalt sõlme. 923 00:45:50,960 --> 00:45:55,270 Aga typedef saate lihtsalt kirjuta sõlme iga kord. 924 00:45:55,270 --> 00:45:58,240 OK, kes ei andnud - jah, Avica. 925 00:45:58,240 --> 00:46:01,520 >> Publik: Kui root võrdne võrdsete null, tagastab false. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Suur ja see on meie tugipunkti. 928 00:46:09,490 --> 00:46:11,200 Järgmine rida koodi. 929 00:46:11,200 --> 00:46:13,999 Keegi, kes ei ole andnud mulle koodirida veel? 930 00:46:13,999 --> 00:46:14,945 Jah. 931 00:46:14,945 --> 00:46:23,360 >> Publik: Juur nool i on võrdne võrdne i. 932 00:46:23,360 --> 00:46:27,260 Siis tagasi tõsi. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Suur. 934 00:46:29,162 --> 00:46:32,048 Järgmine rida? 935 00:46:32,048 --> 00:46:32,790 Jah. 936 00:46:32,790 --> 00:46:34,010 Keegi teine? 937 00:46:34,010 --> 00:46:36,774 Ja siis saate minna järgmisele. 938 00:46:36,774 --> 00:46:44,820 >> Publik: Else kui root nool i on väiksem kui i tagasi 939 00:46:44,820 --> 00:46:47,737 funktsiooni nimetatakse find root - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Vabandust. 941 00:46:50,611 --> 00:46:56,272 >> Publik: Tagasi find root osutab vasakule komaga i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Nii et kui ri on suurem kui asi puus tahame 944 00:47:08,440 --> 00:47:09,573 minna vasakule? 945 00:47:09,573 --> 00:47:11,790 >> Publik: Ei, mul oli see sisse. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Kumb? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> Publik: No, jah. 949 00:47:16,950 --> 00:47:19,050 Mul on vähem kui alla kirjutada. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Right, kui ri on vähem kui see, mida on root - 951 00:47:22,890 --> 00:47:25,660 meie praegune root - siis me tahan minna vasakule. 952 00:47:25,660 --> 00:47:26,960 Ja mis on viimane rida, siis? 953 00:47:26,960 --> 00:47:30,930 >> Publik: põhimõtteliselt sama asi, va lülituda suurem või 954 00:47:30,930 --> 00:47:34,690 võrdne alla ja vasakult paremale. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Suurepärane. 957 00:47:43,680 --> 00:47:48,430 Kas kellelgi on küsimusi Aga see? 958 00:47:48,430 --> 00:47:52,560 Nii mõned muud asjad, mis oleks on õige, et 959 00:47:52,560 --> 00:47:53,810 võiks-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Arva, tehniliselt ei ole ükski neist tõesti tuleb ka-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Ka seal on ilmselt alles Ühel juhul siin. 963 00:48:00,950 --> 00:48:02,380 Nii et ilmselt oma viimase juhtumi. 964 00:48:02,380 --> 00:48:04,000 Sa ei pea isegi, et-ltiff. 965 00:48:04,000 --> 00:48:06,160 Aga ilmselt hea kirjutada see, et oleks selge. 966 00:48:06,160 --> 00:48:06,660 Jah. 967 00:48:06,660 --> 00:48:09,200 >> Publik: Nii et te ei usu, viktoriin - kui teeme vigu, näiteks 968 00:48:09,200 --> 00:48:11,725 süntaksis - 969 00:48:11,725 --> 00:48:13,990 vähe süntaksi vigu - 970 00:48:13,990 --> 00:48:17,810 kuidas see saada võetud viktoriin? 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: Üldiselt on viktoriin, väike süntaksi vigu või väike 972 00:48:21,300 --> 00:48:24,010 stiili vigu ei kaota sa punkte. 973 00:48:24,010 --> 00:48:26,610 Nii et kui sa unustasid semikooloniga Siit oleks OK. 974 00:48:26,610 --> 00:48:30,290 Kui oled unustanud sulgeda see sulgudes et oleks OK. 975 00:48:30,290 --> 00:48:34,880 >> Hiiglaslik süntaksi vigu, mis muudavad funktsionaalne tähendus teie kood 976 00:48:34,880 --> 00:48:37,600 järsult, võivad teil tekkida maha võetud punkti. 977 00:48:37,600 --> 00:48:40,330 Või üldiselt, vaid liigitamise te selle kohta, kas teie 978 00:48:40,330 --> 00:48:42,150 kood funktsioone, isegi - 979 00:48:42,150 --> 00:48:44,830 ei oma disain nii palju, ja ei oma stiili. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Vaatame nüüd koodi korduv versioon leid. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Nii et see saab olema üsna sarnane, kuid seal on kindlasti kavatse olla 984 00:49:03,450 --> 00:49:06,250 mõned olulised erinevused. 985 00:49:06,250 --> 00:49:09,160 Kuid meie pseudokoodi võib ilmselt minna - 986 00:49:09,160 --> 00:49:11,610 saame ikkagi üks rida pseudokoodi ja aru saada, mis 987 00:49:11,610 --> 00:49:14,160 line on ka käesoleval juhul. 988 00:49:14,160 --> 00:49:18,010 >> Nii korduv versioon, mida Mis sa arvad, Julia, peaks 989 00:49:18,010 --> 00:49:19,260 esimene rida? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> Publik: Jällegi iteratiivne tõeväärtus, sa pead looma jaoks loop, eks? 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> Publik: Nii nagu, k, x võrdub 0, x on väiksem kui i. 994 00:49:38,480 --> 00:49:42,260 Või ei, x on väiksem kui suurus puu. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: puu. 996 00:49:42,760 --> 00:49:46,660 Nii et me tõesti ei tea suurus puust ja me tõesti ei tea 997 00:49:46,660 --> 00:49:48,900 Mitu korda me saame minna, siis millised eri tüüpi loop, mis võivad olla 998 00:49:48,900 --> 00:49:50,150 parem sel juhul? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> Publik: Kui veel? 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: kui muidu saa olla silmus. 1002 00:49:57,070 --> 00:49:58,935 Mis siis ahelat me lihtsalt minna kuni mõnel juhul on täidetud? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Milline on ainult muud tüüpi loop C peale loop? 1005 00:50:11,560 --> 00:50:11,930 >> Publik: Kuigi. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: Kuigi täpselt. 1007 00:50:13,380 --> 00:50:16,430 Aastal samal ajal loop, ärge pead teadma, kuidas - 1008 00:50:16,430 --> 00:50:18,450 samas silmus ja silmus saab teha täpselt sama asi, aga tore asi 1009 00:50:18,450 --> 00:50:21,500 umbes samal ajal kui silmus on meil ei ole vaja teada, kui suur on meie puu. 1010 00:50:21,500 --> 00:50:23,060 Nii et me lähme enne mida? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> Publik: Kuni see võrdub suurus - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: Noh, see on väga sarnane meie rekursiivne puhul. 1014 00:50:32,320 --> 00:50:33,360 Niisiis - 1015 00:50:33,360 --> 00:50:36,470 >> Publik: Kuigi root i ei võrdu i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: See on tõesti lähedal. 1017 00:50:37,620 --> 00:50:39,430 Kuigi root i - 1018 00:50:39,430 --> 00:50:40,610 Proovime seda. 1019 00:50:40,610 --> 00:50:41,180 Ma ei usu, et [kuuldamatu] 1020 00:50:41,180 --> 00:50:43,026 kus root i ei võrdu i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Meil võib olla vaja muuta, kui vähe natuke, aga see kõlab nagu see on päris 1023 00:50:49,460 --> 00:50:50,160 hea, nüüd. 1024 00:50:50,160 --> 00:50:51,710 Nii et me teeme seda. 1025 00:50:51,710 --> 00:50:55,660 >> Samuti pidage meeles, et me ei saa eeldada, kohta küsimus. 1026 00:50:55,660 --> 00:50:57,880 Sa ei saa eeldada, et juur on mitte-null. 1027 00:50:57,880 --> 00:51:01,914 Mis sa arvad, väga Esimene asi, mida me peaksime tegema, on? 1028 00:51:01,914 --> 00:51:02,770 >> Publik: Just sedasama asi nagu enne. 1029 00:51:02,770 --> 00:51:05,260 Kui juur on võrdne võrdsete null, tagastab false. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Suur. 1032 00:51:12,130 --> 00:51:13,820 Nii et see võib olla null. 1033 00:51:13,820 --> 00:51:15,810 Nii et me tahame lahti saada IT kohe. 1034 00:51:15,810 --> 00:51:19,560 Ja siis me kontrollida, kas root i ei võrdu i. 1035 00:51:19,560 --> 00:51:24,480 Niisiis, ütle, et me otsivad selles tree 3, root i ei võrdu i, nüüd 1036 00:51:24,480 --> 00:51:25,950 oleme meie samas silmus. 1037 00:51:25,950 --> 00:51:27,500 Mida me tahame teha? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 Ja veel, et see saab olema ilus sarnane meie rekursiivne versiooni. 1040 00:51:35,430 --> 00:51:36,230 Jah. 1041 00:51:36,230 --> 00:51:40,470 >> Publik: Nii et sa tahad, et kinnitada, või hoida allakäik puu niikaua 1042 00:51:40,470 --> 00:51:42,400 root ei ole võrdne null. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: Niikaua root ei ole võrdne null? 1045 00:51:46,640 --> 00:51:50,200 >> Publik: root kriips i ei ole võrdne null. 1046 00:51:50,200 --> 00:51:51,220 Just just, jah. 1047 00:51:51,220 --> 00:51:52,920 Nagu kaua kui juur on ei võrdu tühjaks. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Nii et sa tahad muuta seda arvesse root 1049 00:51:54,240 --> 00:51:56,590 ei võrdu null? 1050 00:51:56,590 --> 00:51:59,020 >> Publik: Jah. 1051 00:51:59,020 --> 00:52:00,800 >> Publik: Me võiks ühendada neid, eks? 1052 00:52:00,800 --> 00:52:02,990 Me ei pea, kui algselt. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: OK, nii et kui me ei saa - 1054 00:52:05,180 --> 00:52:08,140 kui me ühendame need, et me teeme kui root ei võrdu null ja 1055 00:52:08,140 --> 00:52:10,800 kui root juhtub olema null at hakanud, mida me teeme siin? 1056 00:52:10,800 --> 00:52:11,450 >> Publik: tagasi false. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Suur. 1058 00:52:12,730 --> 00:52:14,110 Nii et mõlemad viisid ilmselt oleks töötanud. 1059 00:52:14,110 --> 00:52:15,645 See on teistmoodi ja see ühendab ta. 1060 00:52:15,645 --> 00:52:18,950 Aga jälle, kui sa nii teed, et me oleme ei kavatse maha disain 1061 00:52:18,950 --> 00:52:19,800 punktid viktoriini. 1062 00:52:19,800 --> 00:52:21,020 Aga see tundub hea. 1063 00:52:21,020 --> 00:52:23,940 >> Niisiis, kui juur ei võrdu null, mis on esimene 1064 00:52:23,940 --> 00:52:25,400 asi, mida me tahame, et kontrollida? 1065 00:52:25,400 --> 00:52:26,330 Keegi teine? 1066 00:52:26,330 --> 00:52:29,720 Null, mis on esimene asi, mida? 1067 00:52:29,720 --> 00:52:32,850 >> Publik: Kui ri alla - 1068 00:52:32,850 --> 00:52:36,140 oh, ma arvan, et kui me juba Leidsin selle juur. 1069 00:52:36,140 --> 00:52:40,830 Nii et kui root nool i on võrdne i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Vabandust? 1071 00:52:40,990 --> 00:52:45,840 >> Publik: Kui root nool i võrdub võrdub i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Mida me siis teeme? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> Publik: Tagasi tõsi. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Suur. 1077 00:52:59,280 --> 00:53:00,530 Ja mis edasi? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, mis toimub järgmise koodirida? 1080 00:53:06,843 --> 00:53:16,190 >> Publik: Kui ma alla root nool i, siis root võrdub root Vasakule. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: Juur võrdsete root nool vasakule. 1082 00:53:21,550 --> 00:53:24,530 Nii et ilmselt suurim erinevus siin iteratiivne 1083 00:53:24,530 --> 00:53:26,600 versioon erinevalt rekursiivne versioon. 1084 00:53:26,600 --> 00:53:28,970 Rekursiivne versioon, me helistada funktsioon uuesti. 1085 00:53:28,970 --> 00:53:32,640 Uuendame root kui me nimetame uue funktsiooni. 1086 00:53:32,640 --> 00:53:34,170 Siin me ei kutsu uus funktsioon. 1087 00:53:34,170 --> 00:53:37,610 Me lihtsalt lihtsalt ajakohastamine juur selles funktsioonis. 1088 00:53:37,610 --> 00:53:38,880 See on suurepärane. 1089 00:53:38,880 --> 00:53:40,730 Ja mis on viimane rida koodi? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Jah, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> Publik: Else root võrdsete root nool paremale. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Vabandust? 1094 00:53:49,492 --> 00:53:52,340 >> Publik: Juur võrdsete root nool paremale. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Kas te ka kirjutada midagi sellist? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> Publik: Mul pole õrna aimugi. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: sa ei saa. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Sa ei saa teha pluss võrdsete. 1102 00:54:08,270 --> 00:54:10,780 OK, nii et see näeb hea välja. 1103 00:54:10,780 --> 00:54:13,620 Miks me ei võiks seda teha puhastada see üles. 1104 00:54:13,620 --> 00:54:15,220 See tundub hea, ja see töö. 1105 00:54:15,220 --> 00:54:16,920 Ja me välja murda. 1106 00:54:16,920 --> 00:54:21,460 >> Kui juur vasak oli null või root õigus oli null, oleksime siia tulla. 1107 00:54:21,460 --> 00:54:22,470 Root on võrdne null. 1108 00:54:22,470 --> 00:54:24,270 Me tahame murda meie loop, ja me tahaks tagasi false. 1109 00:54:24,270 --> 00:54:26,280 Nii et kui me välja murda loop, me tagasi false. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> Ja veel, kui loop oli täiuslik siin, sest me ei tea, kuidas 1112 00:54:32,793 --> 00:54:33,850 suur meie puu. 1113 00:54:33,850 --> 00:54:36,460 Oleme püüdnud kirjutada silmus, kuid me mõistsin sul välja selgitada, kuidas 1114 00:54:36,460 --> 00:54:37,410 suur see on enne tähtaega. 1115 00:54:37,410 --> 00:54:38,720 Jah. 1116 00:54:38,720 --> 00:54:41,790 >> Publik: Kui see poleks binaarne search tree, see oleks tõeline matemaatika-y 1117 00:54:41,790 --> 00:54:44,220 kirjutada see korduvalt, eks? 1118 00:54:44,220 --> 00:54:47,170 Like, kui see oli puu, kuid mitte tingimata - 1119 00:54:47,170 --> 00:54:49,730 nii ei olnud kõik väiksema vasakult ja kõik suuremad paremal. 1120 00:54:49,730 --> 00:54:52,540 Oleks tõesti raske itereerima üle, eks? 1121 00:54:52,540 --> 00:54:55,720 Meil oleks salvestada, mis oli varem on puus ja tagasi minna, 1122 00:54:55,720 --> 00:54:56,970 ja värki. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: Kui see ei olnud binaarne search tree, kui see oli lihtsalt 1125 00:55:02,010 --> 00:55:04,740 puud ja asjad ei olnud järjestatud niimoodi - 1126 00:55:04,740 --> 00:55:07,440 ja mõistsime varem kui Anna aitas meid, et muuta see 1127 00:55:07,440 --> 00:55:08,800 Sorteeritud aitab meid palju - 1128 00:55:08,800 --> 00:55:12,610 meil oleks vaja, jah, alati säästa kus me olime varem. 1129 00:55:12,610 --> 00:55:14,430 Aga seal võib olla palju kus me olime previouslys. 1130 00:55:14,430 --> 00:55:17,730 Seal võib olla palju vanem sõlmed. 1131 00:55:17,730 --> 00:55:22,530 >> Tõenäoliselt parim viis seda teha oleks olema hoida surudes asju peale mõned 1132 00:55:22,530 --> 00:55:24,170 tüüpi korstna või järjekorda. 1133 00:55:24,170 --> 00:55:26,030 Sa ei pea kunagi kood Siin , sest see on raske probleem. 1134 00:55:26,030 --> 00:55:30,820 Aga sa suruda asju peale virna või järjekorda ja siis pop need ära, ja 1135 00:55:30,820 --> 00:55:31,890 siis neid hinnata. 1136 00:55:31,890 --> 00:55:34,200 >> Ja siis on mõned asi, kus sa oled tegelikult paneb sõlmede ja 1137 00:55:34,200 --> 00:55:36,090 seejärel luua seda, ja siis Otsige seda. 1138 00:55:36,090 --> 00:55:38,700 See võib olla parim viis seda teha. 1139 00:55:38,700 --> 00:55:42,410 OK, küsimusi selle probleemi? 1140 00:55:42,410 --> 00:55:44,670 >> Publik: See on seotud märkus. 1141 00:55:44,670 --> 00:55:50,460 Kas meil võrrelda run korda räsi lauad, binaarne 1142 00:55:50,460 --> 00:55:52,160 Otsi puud, jne? 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Arvatavasti. 1144 00:55:54,310 --> 00:55:56,150 Teeme, mis tõesti kiiresti. 1145 00:55:56,150 --> 00:55:58,490 Run aeg hash table - 1146 00:55:58,490 --> 00:55:59,090 mida teised on? 1147 00:55:59,090 --> 00:56:00,050 Kahendpuud? 1148 00:56:00,050 --> 00:56:02,920 >> Publik: Link nimekirjad. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: OK, teeme lisada. 1150 00:56:04,780 --> 00:56:09,980 Mis on suur O sisestada on hash tabel? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Millised on eeldused sa teed? 1153 00:56:15,285 --> 00:56:17,760 >> Publik: Sa sisestamist juures alguses link nimekirja. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Ilmselt esimene Eelduseks on, ei ole kokkupõrkeid. 1155 00:56:19,860 --> 00:56:22,340 Kui ei ole kokkupõrkeid, seejärel sisestamise ajal on üks. 1156 00:56:22,340 --> 00:56:26,560 Kui on kokkupõrkeid, ja sa oled teeme eraldi ühendamine ja lisades 1157 00:56:26,560 --> 00:56:31,880 alguses link loendis siis sisestamisel on ka pidev. 1158 00:56:31,880 --> 00:56:34,700 >> Kui sa teed hash tabelis aga te on erinev meetod tegelevad 1159 00:56:34,700 --> 00:56:36,040 koos kokkupõrked, mis on teistsugust meetodit? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Mis on on teine ​​meetod tegelevad 1162 00:56:42,960 --> 00:56:44,205 kokkupõrge, hash tabel? 1163 00:56:44,205 --> 00:56:44,915 >> Publik: Linear programming. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: Linear programming. 1165 00:56:45,540 --> 00:56:47,770 Nii et me ei kavatse hoida otsin Järgmise avatud koht. 1166 00:56:47,770 --> 00:56:50,390 See ei ole pidev sisestamise ajal. 1167 00:56:50,390 --> 00:56:52,266 Sa oleks võinud läbi minna kogu tabel, nii et 1168 00:56:52,266 --> 00:56:53,936 võiks olla suur O n. 1169 00:56:53,936 --> 00:56:54,740 Jah. 1170 00:56:54,740 --> 00:56:57,690 >> Publik: Muidu lihtsalt ühendamisel? 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Me tegime eraldi ühendamine. 1172 00:57:00,160 --> 00:57:00,720 See oli esimene. 1173 00:57:00,720 --> 00:57:01,560 Seda link nimekirja. 1174 00:57:01,560 --> 00:57:03,720 Väljamõeldud nimi on eraldi ühendamine. 1175 00:57:03,720 --> 00:57:06,880 See võib olla mis tahes tüüpi loendi struktuuri me juhtumisi teha link nimekirja. 1176 00:57:06,880 --> 00:57:10,490 >> Nii et taas, lisamiseks hash tabel võib olla pidev aega. 1177 00:57:10,490 --> 00:57:13,160 Aga sisestamise edasi virnastaja järjekorda? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> Publik: Kas see ei ole konstantne? 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: See on pidevalt aega. 1181 00:57:21,530 --> 00:57:23,420 Sa lihtsalt surudes seda. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Täiendus, mis olid teiste ones? 1184 00:57:25,380 --> 00:57:27,100 On proovida? 1185 00:57:27,100 --> 00:57:30,252 Mis on suur O lisamiseks proovida? 1186 00:57:30,252 --> 00:57:32,808 >> Publik: pikkus on konstantne. 1187 00:57:32,808 --> 00:57:34,560 Pikkus pikim - 1188 00:57:34,560 --> 00:57:36,998 pikkus sõna sa sisestamist. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Vabandust? 1190 00:57:38,210 --> 00:57:39,120 Oota, mida ma kuulen? 1191 00:57:39,120 --> 00:57:40,260 Sa ütlesid, et - mida sa ütlesid? 1192 00:57:40,260 --> 00:57:41,650 Milline oli teie vastus, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> Publik: pikkus sõna sa sisestamist tähtedega, 1194 00:57:43,640 --> 00:57:45,480 eeldades, et see on märk proovida. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: OK, nii pikkus sõna. 1196 00:57:46,840 --> 00:57:49,500 Me teha oletuse, et see on tähekombinatsiooni. 1197 00:57:49,500 --> 00:57:51,930 Sa ütlesid, et midagi siiski. 1198 00:57:51,930 --> 00:57:55,490 Sa ütlesid, et pikkus pikim sõna. 1199 00:57:55,490 --> 00:57:57,600 >> Publik: See on lihtsalt konstant, eks? 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: Miks see on pidev? 1201 00:57:58,440 --> 00:58:00,970 >> Publik: Meeldib, kui te kasutate suur O märke, siis see ei varieeruda 1202 00:58:00,970 --> 00:58:04,680 on mitmeid asju, mida juba proovida. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Nii et me oleks öelda, et see on pidevalt aega. 1204 00:58:07,344 --> 00:58:11,840 See on pidev sisestamisel ja see on, sest see idee - 1205 00:58:11,840 --> 00:58:14,820 et meil on sõna, mis on 45, või sõna, mis on 60, mis 1206 00:58:14,820 --> 00:58:16,800 on konstant. 1207 00:58:16,800 --> 00:58:21,050 Ja see oleks lihtsalt sisestatud konstantse ajaga. 1208 00:58:21,050 --> 00:58:26,060 >> Praktikas on aga see ei oleks, Ilmselt juhtub ühe millisekundi 1209 00:58:26,060 --> 00:58:26,590 näiteks. 1210 00:58:26,590 --> 00:58:28,880 Aga me ütleks suur O on konstantne proovida. 1211 00:58:28,880 --> 00:58:31,330 Ja see on üks tema suuremaid eeliseid. 1212 00:58:31,330 --> 00:58:33,330 >> Aga sisestamine link nimekirja? 1213 00:58:33,330 --> 00:58:37,220 Just üldnimetuseks, sorteeritud link nimekirja? 1214 00:58:37,220 --> 00:58:37,700 Jah. 1215 00:58:37,700 --> 00:58:38,530 >> Publik: mul oli küsimus. 1216 00:58:38,530 --> 00:58:42,670 On test, mis nad kunagi küsida meile sisestamise aja, mis on neli etappi, 1217 00:58:42,670 --> 00:58:43,270 või midagi? 1218 00:58:43,270 --> 00:58:44,300 Või on see lihtsalt - 1219 00:58:44,300 --> 00:58:47,670 kui sa ütled sisestamise aeg on üks, see tähendab lihtsalt pidevalt aega? 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Jah, nad oleksid alati küsida, kas see on suur O n? 1221 00:58:49,770 --> 00:58:51,440 Big O log n? 1222 00:58:51,440 --> 00:58:53,960 N ruuduline konstantne. 1223 00:58:53,960 --> 00:58:56,520 Need on tõesti ainult need, mida vaja teada. 1224 00:58:56,520 --> 00:58:58,420 Aga sisestamise peale sorteeritud link nimekirja? 1225 00:58:58,420 --> 00:58:59,440 >> Publik: mul oli küsimus - 1226 00:58:59,440 --> 00:58:59,980 küsimus - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Milline on vastus sellele küsimusele, kuigi? 1228 00:59:01,060 --> 00:59:02,120 >> Publik: Oota, mida sa küsid? 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Mis on suur O sisestamine sorteeritud link nimekirja? 1230 00:59:06,750 --> 00:59:07,070 >> Publik: Üks? 1231 00:59:07,070 --> 00:59:09,400 Ei, oota, Ei, oota, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. Lisaks link nimekirja. 1233 00:59:11,420 --> 00:59:12,706 Ja mis oli teie küsimuse? 1234 00:59:12,706 --> 00:59:16,440 >> Publik: Nii sa kirjutada o k või O 1 - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Oh. 1236 00:59:18,150 --> 00:59:21,830 Tahan kirjutada o 1, ilmselt. 1237 00:59:21,830 --> 00:59:24,160 Seal oli üks muu andmete struktuuri et oleks olnud hea. 1238 00:59:24,160 --> 00:59:25,730 Tree, Kahendotsingupuu. 1239 00:59:25,730 --> 00:59:27,510 Mis on lisamiseks Kahendotsingupuu? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> Publik: sisse. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: Niisiis, mis on halvim juhul Kahendotsingupuu? 1243 00:59:39,260 --> 00:59:45,350 Nii et kui me juhtumisi algavad 5, ja iga arv on suurem kui 5, siis 1244 00:59:45,350 --> 00:59:48,760 meil 5, 7, 9, 11, jne. 1245 00:59:48,760 --> 00:59:52,255 Sel juhul see on põhimõtteliselt ainult link nimekirja ja me peame lisada kõik 1246 00:59:52,255 --> 00:59:52,680 tee lõpus. 1247 00:59:52,680 --> 00:59:54,350 Nii et see on suur O n. 1248 00:59:54,350 --> 00:59:57,720 >> See võiks olla meie mustema edasi Kahendotsingupuu. 1249 00:59:57,720 --> 01:00:00,890 Ilmselt sa ei oleks kunagi ehitada Kahendotsingupuu koos 5 1250 01:00:00,890 --> 01:00:04,270 keskel, teades 5 oleks madalaim number. 1251 01:00:04,270 --> 01:00:08,030 Aga see võib olla, kui sa oled alustades nullist. 1252 01:00:08,030 --> 01:00:10,980 Kõik küsimused selle kohta enne kui ma liikuda teisele küsimusele? 1253 01:00:10,980 --> 01:00:11,560 See oli hea küsimus. 1254 01:00:11,560 --> 01:00:15,100 Ma tean, suur O - 1255 01:00:15,100 --> 01:00:18,620 >> Publik: Kuidas otsida need neli? 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Kindlasti me Kas otsimine ja sorteerimine. 1257 01:00:20,400 --> 01:00:22,160 Me tegime kõik need algoritmid, eks. 1258 01:00:22,160 --> 01:00:23,390 Oota, oli see, et ette Quiz 1? 1259 01:00:23,390 --> 01:00:23,980 Kas see oli kaetud - 1260 01:00:23,980 --> 01:00:25,860 Kas teil juba on, et küsimus Quiz 1? 1261 01:00:25,860 --> 01:00:29,650 Suur O runtime binaarne otsing, sisestamise sorteerida, mull sort? 1262 01:00:29,650 --> 01:00:30,160 >> Publik: Jah. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Kui teil oli, et küsimus viktoriin 0 koefitsiendid sa ei 1264 01:00:32,790 --> 01:00:35,180 saada täpselt sama küsimus Quiz 1. 1265 01:00:35,180 --> 01:00:36,300 Võiks ikka hea teada need. 1266 01:00:36,300 --> 01:00:38,520 Sa peaksid loodetavasti teavad gh juba. 1267 01:00:38,520 --> 01:00:40,740 >> Aga teised logaritmiline runtimes Tõenäoliselt on hea teada. 1268 01:00:40,740 --> 01:00:42,890 Asjad, mis ei ole kaetud Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Nagu kõik need operaatorid need abstraktsed andmetüübid. 1270 01:00:47,300 --> 01:00:50,760 >> OK, liigume edasi. 1271 01:00:50,760 --> 01:00:52,190 See üks peaks olema päris kiire. 1272 01:00:52,190 --> 01:00:56,170 Ja see on uus keel meil ei tegelikult kodeeritakse enne. 1273 01:00:56,170 --> 01:00:59,300 See on küsimus, paludes koodi PHP. 1274 01:00:59,300 --> 01:01:01,950 Nii leiavad PHP massiivi allpool. 1275 01:01:01,950 --> 01:01:06,150 Kirjutada PHP ja / või HTML koodid selline, et seda väljundid kahe tabelina koos TF 1276 01:01:06,150 --> 01:01:08,810 nimed ja maju. 1277 01:01:08,810 --> 01:01:11,600 >> Sa pole seda varem, see konkreetne probleem. 1278 01:01:11,600 --> 01:01:16,270 Aga see peaks olema väga tuttav mida tegite lahendamist 7. 1279 01:01:16,270 --> 01:01:21,250 Nii et ma oleks valmis kihla teil on küsis koodi midagi PHP et 1280 01:01:21,250 --> 01:01:23,880 on väga sarnane sellega, mida tegi lahendamist 7. 1281 01:01:23,880 --> 01:01:26,300 >> Esiteks massiivi ei ole nii konkreetne. 1282 01:01:26,300 --> 01:01:28,140 Mis tüüpi massiiv on? 1283 01:01:28,140 --> 01:01:29,080 >> Publik: assotsiatiivne. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: On assotsiatiivne massiiv. 1285 01:01:31,250 --> 01:01:33,750 Ja mis on vahe assotsiatiivne massiiv ja eesmärk? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> Publik: objekt massiivi indeks täisarvud, ja assotsiatiivne massiiv 1288 01:01:44,857 --> 01:01:47,814 on indeks string, või midagi sellist. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Nii massiivi objektide oleks indeksid 1291 01:01:54,880 --> 01:01:57,090 täisarvud, kuid objekt on väljad. 1292 01:01:57,090 --> 01:02:01,590 See on nende väljade nimed nagu Nime, maja, üliõpilane. 1293 01:02:01,590 --> 01:02:03,720 Kas teil on idee? 1294 01:02:03,720 --> 01:02:06,630 >> Publik: Noh, assotsiatiivne massiiv on PHP, eks? 1295 01:02:06,630 --> 01:02:07,880 Ja objekt on JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Ausalt, ei ole tõeline erinevus nende kahe vahel. 1298 01:02:14,820 --> 01:02:19,540 Mõlemad on stringe nagu võtmeid ja saate on põhimõtteliselt midagi, sest nende väärtus. 1299 01:02:19,540 --> 01:02:21,250 Erinevad keeled helistada üks asi assotsiatiivne massiiv, 1300 01:02:21,250 --> 01:02:22,750 üks asi objekti. 1301 01:02:22,750 --> 01:02:25,960 Nii ausalt, ei ole reaalne erinevus, kuid seal on kindlasti mõned 1302 01:02:25,960 --> 01:02:27,730 süntaktiline erinevused vahel kaks. 1303 01:02:27,730 --> 01:02:28,200 Jah. 1304 01:02:28,200 --> 01:02:33,580 >> Publik: Nii on objekt ka kodeeritud vastavalt kapuuts kui hash tabel, siis? 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Mida sa Tähendab, kodeeritud kapoti alla? 1306 01:02:35,796 --> 01:02:38,017 >> Publik: Meile öeldi, et assotsiatiivne array oli tehniliselt 1307 01:02:38,017 --> 01:02:39,960 hash tabelit. 1308 01:02:39,960 --> 01:02:44,510 Seega on eesmärk ka tehniliselt hash tabel? 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: ma ei kavatse Sellele küsimusele vastamiseks. 1310 01:02:45,350 --> 01:02:46,600 Ma saan tagasi teile, et. 1311 01:02:46,600 --> 01:02:48,980 Aga ma ei usu, kas need niimoodi. 1312 01:02:48,980 --> 01:02:53,790 Aga kuidagi, assotsiatiivne massiiv ja objekt, üldiselt, inimesed kasutavad neid 1313 01:02:53,790 --> 01:02:54,910 tingimustel vaheldumisi. 1314 01:02:54,910 --> 01:02:57,630 Sel juhul cool osa on saate kasutada klahve. 1315 01:02:57,630 --> 01:03:00,580 Strings võtmed, mitte lihtsalt lihtne numbrid. 1316 01:03:00,580 --> 01:03:02,070 >> Nii et ma olen rääkinud see mõnda aega. 1317 01:03:02,070 --> 01:03:04,090 Loodetavasti mõned inimesed on saanud alustada seda. 1318 01:03:04,090 --> 01:03:08,050 Me kirjutada mõned PHP ja HTML kood, nii et me saame kaks veergu 1319 01:03:08,050 --> 01:03:11,830 tabel TF nimesid ja maju. 1320 01:03:11,830 --> 01:03:15,380 >> OK, ma tahaks kaudu rida selles tabelis. 1321 01:03:15,380 --> 01:03:18,410 Nii et ma lähen otse sellesse. 1322 01:03:18,410 --> 01:03:20,770 Me läheme faili, uus, ja me läheme - 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 Kuidas alustada tabeli? 1326 01:03:29,970 --> 01:03:32,090 Mis on silt, Michael, alustada tabeli? 1327 01:03:32,090 --> 01:03:32,890 >> Publik: Table. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Tabel. 1329 01:03:34,020 --> 01:03:37,870 Ja kui ma avan tag, mida muidu ma vajan? 1330 01:03:37,870 --> 01:03:39,810 >> Publik: pea? 1331 01:03:39,810 --> 01:03:41,040 Või ma arvan, klass. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Nii kahju. 1333 01:03:41,730 --> 01:03:45,430 Oletame, et me oleme juba kirjutanud doctab, HTML, kõik see kraam. 1334 01:03:45,430 --> 01:03:50,230 Aga kui ma avan selle tabeli tag, mida muidu ma pean kirjutama? 1335 01:03:50,230 --> 01:03:53,450 jaoks kinnitatavad HTML? 1336 01:03:53,450 --> 01:03:55,000 >> Publik: sulgeda. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn Sulgege tag. 1338 01:03:56,050 --> 01:03:57,575 Kuidas kirjutada lähedal laua tag? 1339 01:03:57,575 --> 01:03:59,580 >> Publik: Dot kärpida tabelis. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash tabeli suur. 1341 01:04:00,960 --> 01:04:02,730 Tõenäoliselt on mõtet kirjutada nii need kokku, sest 1342 01:04:02,730 --> 01:04:03,870 sa pead seda tegema. 1343 01:04:03,870 --> 01:04:08,575 OK, kui ma tahan Päisrida, kuidas teha Ma kirjutan Päisrida tiitlitega? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> Publik: Kas see on vähem kui 10 tundi kinni - 1346 01:04:19,290 --> 01:04:21,550 TR, jah. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR? 1348 01:04:22,100 --> 01:04:25,080 >> Publik: Siis sama asi, slash, jah. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, ja Anna mulle kaks veergu. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> Publik: 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 Ma tahan kahte veergu. 1355 01:04:39,520 --> 01:04:40,960 Kas see annab mulle kaks veergu? 1356 01:04:40,960 --> 01:04:43,880 Mitu veergu on? 1357 01:04:43,880 --> 01:04:45,920 One. 1358 01:04:45,920 --> 01:04:47,170 Teeme kopeeri ja kleebi see. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Seega tegelikult on viktoriin, kõik see kood et me oleme kirjutanud seni oli 1361 01:05:03,390 --> 01:05:04,710 tegelikult antud teile. 1362 01:05:04,710 --> 01:05:06,200 Aga siis tuleb ilmselt veel tea, kuidas seda kirjutada. 1363 01:05:06,200 --> 01:05:06,470 Jah. 1364 01:05:06,470 --> 01:05:10,636 >> Publik: Teie maja vahemikus kaks. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 See peaks minema sinna, eks? 1367 01:05:12,720 --> 01:05:14,600 Hea kõne. 1368 01:05:14,600 --> 01:05:17,760 Nii et taas, kõik see kood on tegelikult antakse teile tegelik viktoriin. 1369 01:05:17,760 --> 01:05:19,570 Aga see on lõbus seda kirjutada, ja sa peaksid teadma, kuidas seda kirjutada. 1370 01:05:19,570 --> 01:05:23,640 Nii et see on koht, kus sa pead alustada oma kood. 1371 01:05:23,640 --> 01:05:25,150 Mida me vajame, et kirjutada siin? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Vabandust, mul on vaja muuta Selle faili nimi. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Nii et me salvestada see. HTML-faili, mitte. PHP faili. 1376 01:05:44,270 --> 01:05:47,030 Need asjad ei tähenda midagi aastal. PHP faili. 1377 01:05:47,030 --> 01:05:48,500 Nii et me oleme. HTML faili. 1378 01:05:48,500 --> 01:05:50,090 Mis on esimene asi, Mul on vaja kirjutada? 1379 01:05:50,090 --> 01:05:52,990 Ma tahan, et mõned PHP koodi HTML. 1380 01:05:52,990 --> 01:05:57,300 >> Publik: PHP, nagu teise porgand ja küsimärk PHP, eks? 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Suur. 1382 01:05:58,310 --> 01:05:59,360 Ja kuidas ma lõpuks on? 1383 01:05:59,360 --> 01:06:02,510 >> Publik: küsimärgiga. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: See on tore. 1385 01:06:03,120 --> 01:06:07,090 See on esimene asi, mida ma vajan, kui ma tahan panna mõned PHP koodi siin. 1386 01:06:07,090 --> 01:06:11,210 >> Publik: Ma arvasin. PHP fail võib võtta HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Jah. 1388 01:06:12,290 --> 01:06:15,330 . PHP fail võib võtta HTML ja kuvada. 1389 01:06:15,330 --> 01:06:16,450 See oli minu viga. 1390 01:06:16,450 --> 01:06:18,300 Ma üritasin lihtsalt matkivad Mis see oli viktoriin. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, sorry, et sind segadusse ajada. 1393 01:06:24,720 --> 01:06:25,550 Jah, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Nüüd me ei kavatse panna mõned PHP kood sisse 1395 01:06:27,340 --> 01:06:30,530 Mis on esimene rida PHP koodi ma peaksin kirjutama? 1396 01:06:30,530 --> 01:06:33,360 Ma lähen läbi selle massiivi ja teha see tabel. 1397 01:06:33,360 --> 01:06:34,600 Jah. 1398 01:06:34,600 --> 01:06:37,160 >> Publik: Võite kasutada H loop või silmus. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: OK, mis sa tahad kasutada? 1400 01:06:38,415 --> 01:06:40,720 >> Publik: tahaksin kasutada silmus. 1401 01:06:40,720 --> 01:06:48,700 Sest siis sa dollari märk i on 0 semikoolon dollar 1402 01:06:48,700 --> 01:06:51,580 allkirjastama i alla 2. 1403 01:06:51,580 --> 01:06:55,455 Ja siis semikoolon i dollar allkirjastama i pluss pluss. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Kuidas teha tead kasutada 2? 1406 01:07:03,880 --> 01:07:10,444 >> Publik: Kuna tegemist on kahe assotsiatiivne massiivid jooksul suurem 1407 01:07:10,444 --> 01:07:11,960 assotsiatiivne massiiv. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Nii suur asi on ei sidusettevõtte massiivi. 1409 01:07:13,610 --> 01:07:15,500 Suur asi on lihtsalt tavaline massiiv. 1410 01:07:15,500 --> 01:07:17,380 Aga sul on õigus, on kaks assotsiatiivne massiivid 1411 01:07:17,380 --> 01:07:18,910 sees meie suurem massiiv. 1412 01:07:18,910 --> 01:07:20,310 Sellepärast sa kasutada kaks. 1413 01:07:20,310 --> 01:07:24,270 Ma tunnen ebamugav, eeldades, et nad 2, Mis on viis kirjutada 1414 01:07:24,270 --> 01:07:26,810 see eeldamata, et nad on 2? 1415 01:07:26,810 --> 01:07:27,507 >> Publik: [kuuldamatu]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: OK, kuidas sa kirjutasid? 1417 01:07:29,165 --> 01:07:35,262 >> Publik: foreach dollari märk TFS või nagu dollari märk tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: OK, nii et iga TFS nagu TFS tahan nüüd 1420 01:07:41,960 --> 01:07:43,650 jälle mu lauale. 1421 01:07:43,650 --> 01:07:45,250 Seega, kes saab anda mulle Järgmine rida koodi? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> Publik: Print ja seejärel tsitaadid, sulg tr lõpuni 1424 01:07:59,810 --> 01:08:02,670 klambri end tsiteerida. 1425 01:08:02,670 --> 01:08:05,300 End sulgudes semikooloniga. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, ja mida see tegema hakkad? 1427 01:08:07,135 --> 01:08:08,610 >> Publik: See saab öelda uue rea. 1428 01:08:08,610 --> 01:08:11,070 See saab panna Tag uus rida. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Just, see PHP, nagu me rääkisime varem - see 1430 01:08:13,000 --> 01:08:22,160 PHP saab hinnata, ja seejärel see läheb välja printida, et seda pilti 1431 01:08:22,160 --> 01:08:26,350 tabel takud, ning teiseks, et HTML hinnatakse. 1432 01:08:26,350 --> 01:08:27,810 Me lihtsalt kopeerides HTML oli meil siin. 1433 01:08:27,810 --> 01:08:28,120 Jah. 1434 01:08:28,120 --> 01:08:29,470 >> Publik: [kuuldamatu]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Vabandust? 1436 01:08:30,290 --> 01:08:31,240 See on siinsamas. 1437 01:08:31,240 --> 01:08:33,590 Fall 2012. 1438 01:08:33,590 --> 01:08:35,970 Ära vaata vastuseid Lahendame selle kokku. 1439 01:08:35,970 --> 01:08:37,330 Nii me printida tabeli rida. 1440 01:08:37,330 --> 01:08:38,550 Nii et sa oled ilmselt kiik asju. 1441 01:08:38,550 --> 01:08:41,060 Mis on järgmine rida kood peame kirjutama? 1442 01:08:41,060 --> 01:08:42,926 Assam, anna järgmine rida koodi. 1443 01:08:42,926 --> 01:08:46,290 >> Publik: Sa pead tf nimi. 1444 01:08:46,290 --> 01:08:54,319 TF avatud sulgudes jutumärk nimi suletud sulgudes. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Anna mulle oma nimi. 1446 01:08:57,310 --> 01:08:58,540 >> Publik: Sa pead trükkima. 1447 01:08:58,540 --> 01:08:59,790 >> [Astudes VOICES] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, kuidas ma seda trükkida? 1450 01:09:03,430 --> 01:09:04,680 >> [Astudes VOICES] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: ma olen kadunud midagi nüüd. 1453 01:09:10,350 --> 01:09:12,470 Mida ma kadunud? 1454 01:09:12,470 --> 01:09:13,720 >> Publik: Sa pead dollari märk. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Mis muidu ma kadunud? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Kõik me oleme trükitud seni on tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> Publik: Sulgege tr pärast seda. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Seega on meil vaja sulgeda tr pärast. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Kes näeb, mis meil puuduvad on line 16? 1464 01:09:37,906 --> 01:09:39,340 Jah, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> Publik: Sa pead avama td ja lokkis traksid. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: Ja kus Kas paneme lokkis traksid? 1467 01:09:49,380 --> 01:09:51,790 >> Publik: Around tf nimi. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Asjalik? 1469 01:09:53,080 --> 01:09:55,420 >> Publik: Jah. 1470 01:09:55,420 --> 01:09:59,000 Ja sulgege td. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Niimoodi? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> Publik: Kas teil on vaja topeltjutumärgid kaubamärkide kõrval lokkis traksid? 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Right here? 1475 01:10:07,460 --> 01:10:08,710 Ei, sa ei tee seda. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Nii see on täpselt õige. 1478 01:10:12,550 --> 01:10:12,940 Jah. 1479 01:10:12,940 --> 01:10:15,290 >> Publik: Nii vahe, mis ja encatenating täppidega on, kui 1480 01:10:15,290 --> 01:10:18,420 kasutate dots, siis pean olema jutumärkidega siis dot, 1481 01:10:18,420 --> 01:10:20,370 siis dot - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Õige. 1483 01:10:20,520 --> 01:10:23,800 Nii et sa tahad öelda, seal on ülim viis kirjalikult seda niimoodi. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Mida konkatenatsioonioperaator JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> Publik: plussmärgiga. 1487 01:10:31,200 --> 01:10:34,710 Sa unustasid panna lokkis traksidega tagasi. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Suur. 1489 01:10:35,760 --> 01:10:38,850 Ja seal on veel üks rida Koodi puudu. 1490 01:10:38,850 --> 01:10:40,130 Kes saab mulle viimane rida Koodi meil puuduvad? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> Publik: Just täpselt sama asi, ainult koos maja asemel nimi. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Suur 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Suur. 1496 01:10:54,390 --> 01:10:59,320 Ja oma süntaks on täpselt õige asju sidusettevõttesse massiivi. 1497 01:10:59,320 --> 01:11:04,450 Nii et tegelik test, siis on tegelikult antud kuni siin. 1498 01:11:04,450 --> 01:11:05,710 Nii et see kood on antud teile. 1499 01:11:05,710 --> 01:11:07,750 Kõik, mida pidin kirjutama olid need nelja ja pidage meeles, et 1500 01:11:07,750 --> 01:11:09,190 sulgege tabel tag. 1501 01:11:09,190 --> 01:11:11,370 Te tegelikult ei kõik see ja palju muud. 1502 01:11:11,370 --> 01:11:11,810 Jah. 1503 01:11:11,810 --> 01:11:14,850 >> Publik: Seega oleks funktsionaalselt samas kui sa lihtsalt pidin selle kõik 1504 01:11:14,850 --> 01:11:17,250 üks suur print kõne, eks? 1505 01:11:17,250 --> 01:11:19,630 Ja siis lihtsalt märge on see on, jne? 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Niimoodi? 1507 01:11:20,730 --> 01:11:21,980 >> Publik: Jah. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 See lihtsalt ei ole hea, kui sa olid Vaadates seda, kui sa oled kontrollimise 1510 01:11:26,940 --> 01:11:28,550 element oma veebilehel, eks? 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Nõustun. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Kui ma laaditud kodulehel, ma siis oleks võimalik näha seda PHP kood, kunagi? 1514 01:11:38,710 --> 01:11:39,240 >> Publik: Ei. 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: Ei 1516 01:11:40,080 --> 01:11:42,240 Ja tegelikult, ma ei teeks seda. 1517 01:11:42,240 --> 01:11:43,920 >> Publik: See ei ole HTML, eks? 1518 01:11:43,920 --> 01:11:45,000 Nii et sa võiksid - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: Nii et see PHP oleks hinnatakse serveripoolne. 1520 01:11:46,780 --> 01:11:51,020 PHP on alati hinnanud serveripoolne, nii sa oled kunagi näha PHP koodi. 1521 01:11:51,020 --> 01:11:52,980 >> Publik: Kuid see oleks võimalik vaata tulemus väljatrükke. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Õigus. 1523 01:11:53,480 --> 01:11:55,510 Ja ausalt, ei pruugi pane see kõik real. 1524 01:11:55,510 --> 01:11:59,740 See võib vormindada kenasti sinu jaoks, või see võib panna ühele reale. 1525 01:11:59,740 --> 01:12:01,521 Ebaselge. 1526 01:12:01,521 --> 01:12:03,596 Aga jah, hea punkt. 1527 01:12:03,596 --> 01:12:06,470 >> Publik: Miks seal pole teksti esiletõstmine 1528 01:12:06,470 --> 01:12:07,550 ükskõik PHP käske? 1529 01:12:07,550 --> 01:12:09,370 Kuna ma nägin seda. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Sest see on . HTML faili siia üles ülaosas. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Seal sa lähed. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> Publik: Kui me tegime esialgse meetod koos jaoks silmuseid, parem, kui me 1535 01:12:28,800 --> 01:12:33,500 tahtis pääseda TFS, oleks meil teha TFS sulg 0 sulg, siis 1536 01:12:33,500 --> 01:12:35,180 [Kuuldamatu]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Sa ei teeks - 1538 01:12:35,970 --> 01:12:40,560 Sa tahad öelda, et loop, siis teeks dollari märk TFS sulg 1 1539 01:12:40,560 --> 01:12:41,850 või i, eks. 1540 01:12:41,850 --> 01:12:46,780 Või dollari märk i sulg ja siis nurksulg 1541 01:12:46,780 --> 01:12:49,600 jutumärgid, jah. 1542 01:12:49,600 --> 01:12:50,640 >> OK, väga hea. 1543 01:12:50,640 --> 01:12:53,020 Meil on veel üks kiire üks. 1544 01:12:53,020 --> 01:12:55,090 Seitse minutit, nii et ma tahan minna üle selle. 1545 01:12:55,090 --> 01:12:56,160 See on teine ​​näide. 1546 01:12:56,160 --> 01:12:58,740 Oleme nüüd täiesti teist keelt. 1547 01:12:58,740 --> 01:12:59,990 >> Meil on mõned HTML-koodi. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 See on selline väike ekraanil, kuid Ma tahan, et sa vaatad läbi see tõesti 1550 01:13:07,460 --> 01:13:11,140 kiiresti ja saab keegi mulle öelda, kui ma laadige see veebileht, 1551 01:13:11,140 --> 01:13:12,390 Mida ma näen? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Kirjelda kõike Selle veebilehe. 1554 01:13:26,450 --> 01:13:28,630 Noah? 1555 01:13:28,630 --> 01:13:30,450 Mida ma näen? 1556 01:13:30,450 --> 01:13:38,140 >> Publik: Code on esiots Google'i tunne teksti ja 1557 01:13:38,140 --> 01:13:39,190 submit nuppu. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: Ja mis oleks nupp öelda? 1559 01:13:41,180 --> 01:13:42,430 >> Publik: Edasta. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, otsing. 1562 01:13:45,160 --> 01:13:45,840 Vabandust. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: See ütleksin otsing. 1564 01:13:46,830 --> 01:13:47,520 Pea meeles, et nimi. 1565 01:13:47,520 --> 01:13:50,550 Mida me kasutame nime? 1566 01:13:50,550 --> 01:13:53,774 See nimi atribuut, mis on et kasutatakse? 1567 01:13:53,774 --> 01:13:55,470 >> [Astudes VOICES] 1568 01:13:55,470 --> 01:13:59,300 >> Publik: See on tema nimi eest, kui see on klõpsatud? 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: See võiks olla. 1570 01:14:00,160 --> 01:14:02,690 Aga mida me tavaliselt näha - miks me anda selle nime järjekorda? 1571 01:14:02,690 --> 01:14:03,830 Miks me seda? 1572 01:14:03,830 --> 01:14:05,220 Jah. 1573 01:14:05,220 --> 01:14:08,600 >> Publik: Kas see ei saanud indeks super globaalne muutuja? 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Jah, enamasti see vorm oleks esitama, ja siis, kui 1575 01:14:12,740 --> 01:14:13,500 oleks see esitada? 1576 01:14:13,500 --> 01:14:14,750 Mis lehekülg? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Noah, mida leht peaks see alluma? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> Publik: Ma ei ole kindel. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: Kus kas me ei leia seda? 1582 01:14:28,920 --> 01:14:31,025 Kust leida see, mida Lehekülg esitatavate? 1583 01:14:31,025 --> 01:14:32,850 Mida koodirida? 1584 01:14:32,850 --> 01:14:34,040 >> Publik: Form action. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Täpselt. 1586 01:14:34,650 --> 01:14:35,130 Action. 1587 01:14:35,130 --> 01:14:37,100 Nii väidab ta, et otsingu lehele. 1588 01:14:37,100 --> 01:14:38,630 Längkriipsu otsing. 1589 01:14:38,630 --> 01:14:40,140 Nii see on täpselt õige. 1590 01:14:40,140 --> 01:14:40,680 Mis meetod? 1591 01:14:40,680 --> 01:14:42,090 >> Publik: Saa. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: saada. 1593 01:14:42,490 --> 01:14:43,420 Täpselt. 1594 01:14:43,420 --> 01:14:44,490 Nii et me lugeda. 1595 01:14:44,490 --> 01:14:45,180 See saab olema kujul. 1596 01:14:45,180 --> 01:14:45,910 Sa oled täpselt õige. 1597 01:14:45,910 --> 01:14:50,340 Kaks asja vormi, tiitli lehele ja top oleks Google. 1598 01:14:50,340 --> 01:14:54,270 >> Nii et siin on kaks küsimust siis suutma vastata selle lehe kohta. 1599 01:14:54,270 --> 01:15:01,760 Kui HTML elab sellel veebilehel ja kasutaja sisestab bug sellesse teksti 1600 01:15:01,760 --> 01:15:06,900 valdkonnas siinsamas, mida URL kasutaja leida enda peale 1601 01:15:06,900 --> 01:15:08,150 esitamise vormi? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Nii et meil on see siin. 1604 01:15:12,510 --> 01:15:13,720 Ma lähen, et minna tagasi Selle lehe küll. 1605 01:15:13,720 --> 01:15:16,980 Ma kirjutan üles see esimene osa. 1606 01:15:16,980 --> 01:15:18,230 Kas kõik võivad näha siin? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, sa arvad, et tead? 1609 01:15:32,906 --> 01:15:34,700 Mis lehekülg? 1610 01:15:34,700 --> 01:15:37,630 >> Publik: Längkriipsu otsing. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: ma lähen liikuda siin. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, kurakriips otsing küsimus märk q võrdub viga. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Igaüks on erinev soovitus? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Jah. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Niisiis, kuidas me saame seda? 1620 01:16:03,740 --> 01:16:05,520 Noh, me oleme seda varem näinud. 1621 01:16:05,520 --> 01:16:07,170 Ja sa tulid seda varem. 1622 01:16:07,170 --> 01:16:08,870 Sul oli õigus, Noah, et hagi räägib meile, mida 1623 01:16:08,870 --> 01:16:11,700 Lehekülg me läheme. 1624 01:16:11,700 --> 01:16:12,820 >> Me teame ka seda, millist meetodit. 1625 01:16:12,820 --> 01:16:13,420 Me teeme get. 1626 01:16:13,420 --> 01:16:17,040 Ja vahest get ja post on see, et saad kuvatakse URL 1627 01:16:17,040 --> 01:16:18,490 ja post ei ole. 1628 01:16:18,490 --> 01:16:22,760 Nii et kui ma kirjutasin post sealsamas meetod, mis oleks teistsugune? 1629 01:16:22,760 --> 01:16:24,250 >> Publik: See oleks lihtsalt olema kaldkriips otsing. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Oleks lihtsalt tuleb kärpida otsing. 1631 01:16:25,400 --> 01:16:27,400 Miski siin juhtuks. 1632 01:16:27,400 --> 01:16:30,030 Aga kuna see on saada, URL kuvatakse järgmine. 1633 01:16:30,030 --> 01:16:35,140 Esiteks näeme küsimärk ja näeme nimi ja väärtus. 1634 01:16:35,140 --> 01:16:42,730 Ütle, seal oli veel üks tekstiväli ja Andsin selle nimi r ja ma sisend 1635 01:16:42,730 --> 01:16:45,220 väärtus, Caterpillar. 1636 01:16:45,220 --> 01:16:48,560 Mida see nüüd välja näeb? 1637 01:16:48,560 --> 01:16:52,040 Mul on veel üks tekstiväli, annan nimi r ja väärtust röövik. 1638 01:16:52,040 --> 01:16:56,990 >> Publik: Pärast baar on teil ampersand röövik. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: See on ei ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> Publik: Või lihtsalt mida iganes ja sümbol. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Jah, ei. 1642 01:17:01,330 --> 01:17:03,700 Sul oli õigus, ma eksisin. 1643 01:17:03,700 --> 01:17:05,660 See on nagu g. 1644 01:17:05,660 --> 01:17:06,910 >> Publik: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r võrdub röövik, sorry. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Kas ei r seal? 1649 01:17:14,700 --> 01:17:16,680 >> Publik: Ei, ei. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Me räägime umbes, et peale tunde. 1651 01:17:18,030 --> 01:17:18,930 See on täpselt õige. 1652 01:17:18,930 --> 01:17:20,530 Nii ja on õige. 1653 01:17:20,530 --> 01:17:23,430 Ja siis võiks olla palju neid, ja nad kõik olema märge on 1654 01:17:23,430 --> 01:17:24,950 koos, et ja. 1655 01:17:24,950 --> 01:17:25,900 Nii see on täpselt õige. 1656 01:17:25,900 --> 01:17:27,700 >> Seal on veel üks küsimus. 1657 01:17:27,700 --> 01:17:30,676 Joonistage see HTML DOM, alustades koos dokumendiga. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Me võiksime seda teha kahe minuti. 1660 01:17:34,570 --> 01:17:36,790 Me teeme seda siin. 1661 01:17:36,790 --> 01:17:38,040 Ma lähen tagasi selle veebilehe. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, hakkame koos dokumendiga. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Mis edasi? 1666 01:17:52,090 --> 01:17:53,910 Nii et kui sa loed läbi - 1667 01:17:53,910 --> 01:17:54,540 >> Publik: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML on järgmine. 1669 01:17:55,790 --> 01:17:57,850 Me läheme tag tag. 1670 01:17:57,850 --> 01:18:00,890 Mis on pärast HTML? 1671 01:18:00,890 --> 01:18:01,550 >> Publik: Head. 1672 01:18:01,550 --> 01:18:02,800 >> JASON Hirschhorn: Head. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Mis pärast pea? 1675 01:18:08,520 --> 01:18:09,770 >> Publik: Pealkiri. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: Pealkiri. 1678 01:18:12,560 --> 01:18:14,740 Ja pealkiri on väärtus Google, aga ma ei kavatse 1679 01:18:14,740 --> 01:18:16,240 kirjutada, et nüüd. 1680 01:18:16,240 --> 01:18:18,750 OK, kui ei keha minna? 1681 01:18:18,750 --> 01:18:20,890 >> Publik: Ka maha tulemata HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Täpselt. 1683 01:18:21,490 --> 01:18:22,820 Keha tuleb maha siin. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Kas igaüks aru, miks see on nii? 1686 01:18:30,330 --> 01:18:32,970 Sa peaksid ilmselt olema võimalik aru seda ka välja, isegi kui ma ei ole 1687 01:18:32,970 --> 01:18:33,665 see kena taandus. 1688 01:18:33,665 --> 01:18:37,680 >> Taandus omamoodi annab selle ära, aga näete, et pea tag on 1689 01:18:37,680 --> 01:18:41,240 suletud, mis tähendab, et me ilmselt ei saa minna siia alla. 1690 01:18:41,240 --> 01:18:43,460 Me peame minema tagasi kuni iganes oli vahetult enne pea 1691 01:18:43,460 --> 01:18:44,730 tag, või alla seda. 1692 01:18:44,730 --> 01:18:46,720 Oleme isegi pea tag. 1693 01:18:46,720 --> 01:18:48,560 >> Ja all keha läheb vorm. 1694 01:18:48,560 --> 01:18:50,300 Vastavalt vorm, on kaks sisendit. 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 See on kõik, mis mul on. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 on homme. 1699 01:18:56,980 --> 01:18:58,350 Ma olen nii põnevil, kutid. 1700 01:18:58,350 --> 01:18:59,690 See saab olema lööklaine. 1701 01:18:59,690 --> 01:19:00,250 >> Kui teil on - 1702 01:19:00,250 --> 01:19:00,600 >> Publik: [APLAUS] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: Oh stop, stop. 1704 01:19:02,460 --> 01:19:04,520 Aga ei, ma teen nalja. 1705 01:19:04,520 --> 01:19:07,220 Kui teil on küsimusi, õigus Pärast punkti, ma ootan väljas. 1706 01:19:07,220 --> 01:19:11,700 Kui teil on küsimusi täna julgelt helistada, meili gchat, 1707 01:19:11,700 --> 01:19:12,740 kyyhkynen mind. 1708 01:19:12,740 --> 01:19:13,950 Õnn homme. 1709 01:19:13,950 --> 01:19:16,220 Kas suurepärane Thanksgiving break, kui ma ei näe sind enne seda. 1710 01:19:16,220 --> 01:19:19,320 Ja ma näen sind pärast Thanksgiving Teisipäeval meie lõplik 1711 01:19:19,320 --> 01:19:20,295 lõik pool kunagi. 1712 01:19:20,295 --> 01:19:21,545 >> Publik: [kuuldamatu]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Suur. 1715 01:19:25,790 --> 01:19:28,900 OK, ma näen, et te järgmine nädala või kahe nädala järel. 1716 01:19:28,900 --> 01:19:30,150 Ja õnne homme. 1717 01:19:30,150 --> 01:19:32,203