1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON HIRSCHHORN: Welkom, iedereen, tot en met week 10. 3 00:00:09,810 --> 00:00:15,130 Dit is een spannende week omdat morgen is Quiz 1, die we zullen krijgen 4 00:00:15,130 --> 00:00:16,400 om in een tweede. 5 00:00:16,400 --> 00:00:21,770 Vandaag in doorsnede, we gaan om te gaan over een aantal middelen voor de quiz, en 6 00:00:21,770 --> 00:00:24,890 dan zal ik alle antwoorden vragen jullie te hebben. 7 00:00:24,890 --> 00:00:27,880 Uiteindelijk zullen we eindigen met enige oefening problemen. 8 00:00:27,880 --> 00:00:30,940 >> We kunnen de hele sectie door te brengen het beantwoorden van vragen. 9 00:00:30,940 --> 00:00:33,240 We kunnen de hele sectie door te brengen gaan over de praktijk problemen. 10 00:00:33,240 --> 00:00:36,890 We zullen alleen uitbreiden in te vullen de ruimte en tijd hebben we. 11 00:00:36,890 --> 00:00:40,590 >> Dus zette ik deze lijst iedere week, maar Het is bijzonder belangrijk deze week. 12 00:00:40,590 --> 00:00:44,980 Voor het bestuderen, als je niet begon al, oh boy. 13 00:00:44,980 --> 00:00:46,400 Maar hopelijk heb je al begonnen. 14 00:00:46,400 --> 00:00:50,710 En je gaat door de materialen en middelen hier vermeld. 15 00:00:50,710 --> 00:00:54,300 Ik zou sterk aanbevelen een aantal van deze. 16 00:00:54,300 --> 00:00:58,780 >> In het bijzonder, dictaten zijn ongelooflijk belangrijk en nuttig. 17 00:00:58,780 --> 00:01:02,880 De study.cs50.net biedt een grote primer op een hoop 18 00:01:02,880 --> 00:01:04,250 de onderwerpen die we behandeld. 19 00:01:04,250 --> 00:01:07,810 Het heeft ook een aantal grote praktijk problemen. 20 00:01:07,810 --> 00:01:11,260 En dan, Google is ook geweldig. 21 00:01:11,260 --> 00:01:12,360 Ik weet niet hoe je het zou gebruiken voor. 22 00:01:12,360 --> 00:01:14,090 Maar Google, als goed. 23 00:01:14,090 --> 00:01:16,680 >> Reik uit naar me op als u een vragen, opmerkingen of problemen. 24 00:01:16,680 --> 00:01:19,420 Kijk over de beoordeling sessie dia's van gisteravond. 25 00:01:19,420 --> 00:01:21,540 Of, als je wat tijd, bekijk de video. 26 00:01:21,540 --> 00:01:24,930 Ze bieden een heleboel nuttige materiaal en informatie. 27 00:01:24,930 --> 00:01:29,730 En probeer dekken zo niet alle, veel de onderwerpen die we hebben behandeld en dat u 28 00:01:29,730 --> 00:01:32,610 zou kunnen zien op de quiz. 29 00:01:32,610 --> 00:01:35,590 >> Spreken van de quiz, die zal morgen. 30 00:01:35,590 --> 00:01:37,260 Het is 75 minuten lang. 31 00:01:37,260 --> 00:01:40,740 Velen van jullie nemen het op 1 uur, en sommige van jullie zijn 32 00:01:40,740 --> 00:01:42,740 nemen het op 5:30. 33 00:01:42,740 --> 00:01:45,300 Voor de tijd die je neemt het en de locatie je neemt, zorg ervoor dat 34 00:01:45,300 --> 00:01:49,400 u kijken op de document op de CS50.net homepage. 35 00:01:49,400 --> 00:01:54,340 >> Vergeet niet dat je kunt krijgen een 8 1/2 met 11 vel om mee te nemen. 36 00:01:54,340 --> 00:01:57,310 Vaak hebben mensen niet dit gebruiken sheet helemaal tijdens de quiz. 37 00:01:57,310 --> 00:01:59,740 Maar echt, het is een ongelooflijk behulpzaam studie instrument. 38 00:01:59,740 --> 00:02:04,370 Zo samenstellen dat blad is wat Ik bracht waarschijnlijk drie of vier uur 39 00:02:04,370 --> 00:02:07,110 doen toen ik studeerde voor CS50 en dat was gemakkelijk de meest behulpzame 40 00:02:07,110 --> 00:02:08,740 manier kon ik studeren voor de quiz. 41 00:02:08,740 --> 00:02:10,949 Dus zelfs als je sommige andere mensen hebben studiegidsen om naar te kijken en 42 00:02:10,949 --> 00:02:14,740 gebruiken als verwijzingen, ik beveel maken van uw eigen studiegids, waardoor 43 00:02:14,740 --> 00:02:15,490 dat spul bij elkaar. 44 00:02:15,490 --> 00:02:17,335 Dat helpt echt je leren al het materiaal. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Last but not least in deze rubriek, na de quiz morgen is er een 47 00:02:24,810 --> 00:02:25,940 meer lezing - 48 00:02:25,940 --> 00:02:26,960 volgende week maandag. 49 00:02:26,960 --> 00:02:30,430 Er is nog een gedeelte, niet naast Dinsdag voor Thanksgiving, maar de 50 00:02:30,430 --> 00:02:31,630 Dinsdag daarna. 51 00:02:31,630 --> 00:02:36,600 We gaan samen een ontmoeting voor een laatste afscheidsfeest en doen ook een aantal leuke 52 00:02:36,600 --> 00:02:41,530 dingen te krijgen jullie enthousiast over verdere studies in de informatica. 53 00:02:41,530 --> 00:02:45,040 >> Er is nog een project, een meer eerlijk, nog een Hackathon. 54 00:02:45,040 --> 00:02:47,900 We naderen het einde van CS50, die is spannend - 55 00:02:47,900 --> 00:02:50,950 maar ook, als je net als me, een beetje verdrietig. 56 00:02:50,950 --> 00:02:53,950 Voordat ik verder gaan, heeft iemand nog Voor vragen over wat 57 00:02:53,950 --> 00:02:55,200 we tot nu toe gedekt? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> OK, goed laten we gaan over een aantal vragen die je hebt voor de quiz en onderwerpen 60 00:03:08,730 --> 00:03:09,960 we zouden kunnen dekken. 61 00:03:09,960 --> 00:03:11,540 Dus dit is een lijst die ik in elkaar gezet. 62 00:03:11,540 --> 00:03:15,500 Het is niet uitputtend, maar hopelijk zal uw geheugen op te frissen als je 63 00:03:15,500 --> 00:03:20,310 hebben een aantal vragen over een van deze onderwerpen, of als u vragen hebt over 64 00:03:20,310 --> 00:03:23,260 praktijk problemen van quizzen in de afgelopen jaren. 65 00:03:23,260 --> 00:03:27,470 >> Ik had een paar vragen die waren gemaild om mij, maar ik wil af te houden 66 00:03:27,470 --> 00:03:29,490 op die even. 67 00:03:29,490 --> 00:03:34,570 Heeft iemand nog vragen hebben, problemen die zij niet begrijpen, 68 00:03:34,570 --> 00:03:38,100 antwoorden ze niet begrepen om ons begonnen? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> PUBLIEK: Kun je alleen gaan over DOM en Ajax echt snel? 71 00:03:41,585 --> 00:03:46,540 Zoals, wat we moeten weten of moet begrijpen over hen? 72 00:03:46,540 --> 00:03:49,750 >> JASON HIRSCHHORN: Ik ga om te beantwoorden algemeen deze vraag, wat doe ik 73 00:03:49,750 --> 00:03:52,100 moet weten over bepaald onderwerp x? 74 00:03:52,100 --> 00:03:55,280 Want ik heb het gevoel dat velen van u gaan om te vragen dat, of zijn 75 00:03:55,280 --> 00:03:56,570 nieuwsgierig naar. 76 00:03:56,570 --> 00:04:02,920 Dus voor zover het onderwerp was bedekt met lezing, of sectie, of op 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, een probleem stellen, je vertrouwd zijn met het zou moeten zijn. 78 00:04:06,460 --> 00:04:10,580 >> Dus je hoeft niet op elk type weten van de tag die beschikbaar zijn in HTML is of 79 00:04:10,580 --> 00:04:15,950 elk type attribuut of eigendom kun je iets in CSS geven. 80 00:04:15,950 --> 00:04:20,204 Maar als je zag het in een lezing voorbeeld, als je het zag in een probleem 81 00:04:20,204 --> 00:04:23,290 set, moet u waarschijnlijk bekend zijn met het, vooral dingen die je zag 82 00:04:23,290 --> 00:04:24,260 in collegezaal. 83 00:04:24,260 --> 00:04:28,510 Dus hebben we het document besproken object model een beetje in 84 00:04:28,510 --> 00:04:30,530 sectie, meer dus in collegezalen. 85 00:04:30,530 --> 00:04:32,990 Je moet bekend zijn met dat veel van. 86 00:04:32,990 --> 00:04:34,750 >> En je moet bekend zijn met Ajax dezelfde mate. 87 00:04:34,750 --> 00:04:38,105 We zagen nooit ongelooflijk gevorderde of gecompliceerde voorbeelden van Ajax, dus 88 00:04:38,105 --> 00:04:40,920 je bent niet van plan om te worden gevraagd doen iets ontzettend gecompliceerd. 89 00:04:40,920 --> 00:04:45,180 Maar je zou worden gevraagd, hoe kan ik een Ajax bellen met behulp van jQuery? 90 00:04:45,180 --> 00:04:47,350 Dat is iets wat je hebt een aantal gezien keer voor, zowel in de 91 00:04:47,350 --> 00:04:51,370 beoordelen sessie en in collegezalen en het is slechts twee-ish regels code. 92 00:04:51,370 --> 00:04:53,190 >> Dus dat is iets wat je moet bekend te zijn met. 93 00:04:53,190 --> 00:04:55,550 Maar nogmaals, voor al deze onderwerpen, als je het hebt gezien 94 00:04:55,550 --> 00:04:59,220 voor, het is eerlijk spel. 95 00:04:59,220 --> 00:05:01,540 En we kunnen je vragen - uiteraard, we zijn ga je je dingen vragen 96 00:05:01,540 --> 00:05:02,340 nog niet eerder gezien. 97 00:05:02,340 --> 00:05:04,240 Coding iets wat je niet eerder gezien. 98 00:05:04,240 --> 00:05:06,570 Wat niet wil zeggen dat je niet gezien de instrumenten op te lossen 99 00:05:06,570 --> 00:05:08,120 dat probleem voor. 100 00:05:08,120 --> 00:05:09,200 Je hebt deze tools gezien. 101 00:05:09,200 --> 00:05:11,160 >> Bijvoorbeeld, op quiz 1, indien je nodig hebt om strlen coderen. 102 00:05:11,160 --> 00:05:12,790 We hebben niet eerder gecodeerd strlen. 103 00:05:12,790 --> 00:05:14,980 Maar je weet hoe je een te gebruiken voor loop, je weet hoe te gebruiken als de omstandigheden. 104 00:05:14,980 --> 00:05:18,570 Je weet hoe je variabelen in C. schrijven Het gaat om het zelfde ding hier te zijn. 105 00:05:18,570 --> 00:05:22,350 Je bent niet van plan om te worden gevraagd om te doen alles wat je nog niet eerder gezien, maar 106 00:05:22,350 --> 00:05:25,150 je kan gevraagd worden om, zoals, zet samen iets op een nieuwe manier, of 107 00:05:25,150 --> 00:05:27,650 oplossen van een ander soort problemen. 108 00:05:27,650 --> 00:05:30,830 >> Sorry, dat was niet specifiek voor uw vraag, maar ik kan geen antwoord geven over 109 00:05:30,830 --> 00:05:34,390 elk onderwerp wat je wel of niet te weten. 110 00:05:34,390 --> 00:05:36,830 Maar ook, sorry, laatste ding op dat. 111 00:05:36,830 --> 00:05:42,900 We hebben aanzienlijk meer tijd besteed op lijsten met links dan wij op Ajax. 112 00:05:42,900 --> 00:05:46,160 Je hebt Ajax niet in een probleem set. 113 00:05:46,160 --> 00:05:48,510 Een van de hoofdkenmerken van deze probleem stellen dat was lijsten met links. 114 00:05:48,510 --> 00:05:50,370 En we brachten veel tijd in college en punt gebruiken. 115 00:05:50,370 --> 00:05:57,080 >> Dus kansen zijn lijst met links zal meer komen vaak op de quiz dan Ajax wil. 116 00:05:57,080 --> 00:06:00,390 Of de vragen die te maken hebben met een link lijst zal meer punten waard zijn. 117 00:06:00,390 --> 00:06:03,520 Dus je kan zeker focussen en smalle in op dingen die meer 118 00:06:03,520 --> 00:06:06,720 waarschijnlijk op de proppen komen, want we hebben besteed meer tijd aan hen. 119 00:06:06,720 --> 00:06:08,700 >> OK andere vragen? 120 00:06:08,700 --> 00:06:09,890 Yeah. 121 00:06:09,890 --> 00:06:13,660 >> PUBLIEK: Kunnen we gaan over het gebruik van anonieme functies in JavaScript? 122 00:06:13,660 --> 00:06:17,140 Ik ben een beetje in de war zijn over. 123 00:06:17,140 --> 00:06:20,180 >> JASON HIRSCHHORN: Dus in JavaScript - 124 00:06:20,180 --> 00:06:24,400 Ik probeer te bedenken hoe ik zou dit kunnen schrijven over - 125 00:06:24,400 --> 00:06:27,590 dus laten we daadwerkelijk openen van deze code. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Dus dit is code die we vorige week. 128 00:06:36,030 --> 00:06:41,400 En je hebt dit eerder gezien als je waren hier in paragraaf vorige week. 129 00:06:41,400 --> 00:06:43,180 Of je hebt iets gezien Soortgelijke eerder. 130 00:06:43,180 --> 00:06:44,800 >> Maar je kunt kijken naar deze eerste lijn. 131 00:06:44,800 --> 00:06:46,950 Dit is hoe je begint - 132 00:06:46,950 --> 00:06:48,010 iedereen eerder gezien dit. 133 00:06:48,010 --> 00:06:51,930 Als u wilt wat JavaScript-code te zetten, je zet het in deze, in de veronderstelling 134 00:06:51,930 --> 00:06:53,520 u gebruikt jQuery. 135 00:06:53,520 --> 00:06:56,940 Dit zegt, doe niets totdat het document geladen. 136 00:06:56,940 --> 00:06:59,940 >> En dan, Curt, hier zie je we iets als dit te doen - 137 00:06:59,940 --> 00:07:02,560 functie geopend Paren, gesloten Paren. 138 00:07:02,560 --> 00:07:05,250 Dus we zijn dit niet geven functie een naam. 139 00:07:05,250 --> 00:07:09,160 We zijn niet van plan om deze functie te definiëren hoort te lopen en vervolgens 140 00:07:09,160 --> 00:07:10,830 noem het een paar keer. 141 00:07:10,830 --> 00:07:15,140 We zijn net dit document zeggen vindt reeds een functie. 142 00:07:15,140 --> 00:07:16,690 Een paar dingen te doen. 143 00:07:16,690 --> 00:07:20,670 >> En we willen niet om de tijd door te brengen het geven van een naam of opslaan voor 144 00:07:20,670 --> 00:07:21,650 eeuwigheid. 145 00:07:21,650 --> 00:07:24,150 We willen gewoon een aantal dingen uit te voeren. 146 00:07:24,150 --> 00:07:27,500 Dus een anonieme functie sort van dient dat doel. 147 00:07:27,500 --> 00:07:30,280 Als je niet van plan om iets te gebruiken over en weer, dus je hoeft niet 148 00:07:30,280 --> 00:07:32,420 om het een naam geven - je gewoon willen gebruiken eenmaal - 149 00:07:32,420 --> 00:07:36,720 zou je gewoon zeggen functie, voor Bijvoorbeeld, in dit geval, en je bent gewoon 150 00:07:36,720 --> 00:07:38,280 het definiëren van iets dat kon je een naam te geven. 151 00:07:38,280 --> 00:07:40,920 >> Zoals, we konden deze functie uit te trekken en geef het een naam en dan roepen dat 152 00:07:40,920 --> 00:07:41,760 functioneren hier. 153 00:07:41,760 --> 00:07:44,270 Maar we hoeven niet omdat we niet tijd wil verspillen het geven van een naam of 154 00:07:44,270 --> 00:07:46,240 iets verspillen in onze naam de ruimte. 155 00:07:46,240 --> 00:07:47,530 En je zult zien dat veel. 156 00:07:47,530 --> 00:07:52,810 Zo zien we dat veel in deze code, maar je hebt dit eerder gezien bij 157 00:07:52,810 --> 00:07:54,010 je iets op - 158 00:07:54,010 --> 00:07:55,980 lopen dit soort code. 159 00:07:55,980 --> 00:07:59,850 >> We kunnen de code die we willen definiëren worden uitgevoerd wanneer we klikken, in dit geval, 160 00:07:59,850 --> 00:08:03,450 deze ID, als een aparte functie en voer die functie. 161 00:08:03,450 --> 00:08:07,940 Maar in dit geval, zijn we gewoon overslaan die stap en het in te bewegen hier en 162 00:08:07,940 --> 00:08:10,340 alleen maar om het definiëren van alles dat we willen dat er gebeurt en 163 00:08:10,340 --> 00:08:12,450 niet het geven van een naam. 164 00:08:12,450 --> 00:08:15,550 Die nog misschien niet uw vraag beantwoord. 165 00:08:15,550 --> 00:08:15,960 >> PUBLIEK: Nee, het doet. 166 00:08:15,960 --> 00:08:18,290 Ik bedoel, ik denk dat ik gewoon niet echt krijgen waarom het een zou zijn 167 00:08:18,290 --> 00:08:20,800 functioneren helemaal niet, hoor. 168 00:08:20,800 --> 00:08:21,590 Omdat het niet echt geroepen. 169 00:08:21,590 --> 00:08:23,170 Het heeft niet echt een naam. 170 00:08:23,170 --> 00:08:25,510 >> JASON HIRSCHHORN: Het is een functie in de zin dat het een aantal stappen, 171 00:08:25,510 --> 00:08:28,460 zoals je zou in een functie te zetten. 172 00:08:28,460 --> 00:08:29,970 En dan is dat de reden waarom we noemen het anonieme functie. 173 00:08:29,970 --> 00:08:30,815 We gaan niet om het een naam geven. 174 00:08:30,815 --> 00:08:33,159 We gaan niet proberen te verspillen om het te noemen, maar we konden. 175 00:08:33,159 --> 00:08:34,890 >> Anoniem functies, u kan altijd een naam geven. 176 00:08:34,890 --> 00:08:37,620 Dus bijvoorbeeld, deze code hier, konden we deze code in een zet 177 00:08:37,620 --> 00:08:39,929 functie en dan bellen deze functie hier. 178 00:08:39,929 --> 00:08:41,600 In plaats daarvan, zeggen wij, we gaan niet lastig te vallen met dat. 179 00:08:41,600 --> 00:08:44,390 We gaan gewoon schrijven het allemaal hier. 180 00:08:44,390 --> 00:08:49,840 >> Het is net als soms, als je wilt schrijven een vier lus in C - jullie 181 00:08:49,840 --> 00:08:51,630 hebben dit eerder gezien - misschien ben je itereren door een forloop 182 00:08:51,630 --> 00:08:53,090 in i gelijk is aan 0. 183 00:08:53,090 --> 00:08:54,830 Ik minder dan strlen. 184 00:08:54,830 --> 00:08:59,520 Of je gaat door een aantal array, kunt u matrix opslaan 185 00:08:59,520 --> 00:09:01,580 index i in bepaalde variabele. 186 00:09:01,580 --> 00:09:02,830 En u die variabele gebruiken. 187 00:09:02,830 --> 00:09:06,550 Dus je hoeft niet te matrix herschrijven bracket ik over en over en voorbij. 188 00:09:06,550 --> 00:09:08,160 >> En dat is een soort als een dummy variabele. 189 00:09:08,160 --> 00:09:10,790 Het is niet het dienen van veel ander doel dan uw code een beetje schoner te maken 190 00:09:10,790 --> 00:09:12,120 en makkelijker te lezen. 191 00:09:12,120 --> 00:09:13,290 Soortgelijke functie hier. 192 00:09:13,290 --> 00:09:15,665 Alleen maakt het een stuk makkelijker, maar functioneel is er geen verschil. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Is dat een antwoord op je vraag? 195 00:09:19,330 --> 00:09:19,970 >> PUBLIEK: Ja. 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 >> PUBLIEK: Gisteren ze zetten vaak functie haakjes evenement. 199 00:09:25,380 --> 00:09:26,420 Betekent dat iets? 200 00:09:26,420 --> 00:09:30,500 Of is het voor zaken als zullen doen 201 00:09:30,500 --> 00:09:35,100 document.ready functie evenement. 202 00:09:35,100 --> 00:09:37,130 >> JASON HIRSCHHORN: We hebben dit gezien, en Nogmaals, dit zijn kleine dingen 203 00:09:37,130 --> 00:09:39,590 Waarschijnlijk Ik wil niet besteden te veel tijd aan. 204 00:09:39,590 --> 00:09:43,200 Want soms Ik wil niet dat mensen krijgen hysterisch dat ze niet 205 00:09:43,200 --> 00:09:44,220 gehoord over deze dingen dat veel. 206 00:09:44,220 --> 00:09:46,200 Maar we spraken een beetje over event handlers. 207 00:09:46,200 --> 00:09:50,360 Dus iets gebeurt, en vervolgens Deze functie wordt uitgevoerd. 208 00:09:50,360 --> 00:09:53,210 En dan willen we ook weten sommige details over wat 209 00:09:53,210 --> 00:09:54,450 gebeurde aan dit evenement. 210 00:09:54,450 --> 00:09:55,730 >> Dus denk terug om probleem set 4. 211 00:09:55,730 --> 00:09:58,390 Dat is waarschijnlijk de makkelijkste manier om begrijpen dat in break out. 212 00:09:58,390 --> 00:09:59,740 Er was een code - 213 00:09:59,740 --> 00:10:01,980 als een gebeurtenis zou gebeuren, maar evenement kan veel dingen betekenen. 214 00:10:01,980 --> 00:10:06,240 Als zou kunnen betekenen van de muis wordt geklikt, zou kunnen betekenen dat je een pijl toets in te drukken, et 215 00:10:06,240 --> 00:10:07,190 cetera, et cetera. 216 00:10:07,190 --> 00:10:09,800 >> Maar het is allemaal opgeslagen in deze generieke ding genaamd evenementen. 217 00:10:09,800 --> 00:10:12,340 En dan kunnen we zeggen, is dit evenement dit ding? 218 00:10:12,340 --> 00:10:13,640 Of is dit evenement dit ding? 219 00:10:13,640 --> 00:10:15,500 Of, wat voor soort gebeurd met die gebeurtenis? 220 00:10:15,500 --> 00:10:18,660 Dus dat is de reden waarom je die variabele creëren er om die extra informatie op te slaan 221 00:10:18,660 --> 00:10:21,420 over wat er precies gebeurd is dat je gaat te willen 222 00:10:21,420 --> 00:10:24,840 gebruiken in de functie. 223 00:10:24,840 --> 00:10:28,200 Maar nogmaals, dat is waarschijnlijk een van de minder belangrijke dingen super te zijn 224 00:10:28,200 --> 00:10:29,450 vertrouwd zijn. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, wat andere vragen die mensen hebben hadden, of struikelblokken die ze hebben 227 00:10:36,110 --> 00:10:37,360 ondervonden tijdens het bekijken? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 We komen terug aan die lijst. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Hoe zit het tijdens de training quizzen, indien mensen al hebben genomen die? 232 00:10:56,080 --> 00:10:59,110 Wat waren enkele problemen die struikelde jullie op? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Ik weet voor een feit dat vorig jaar quiz was echt moeilijk. 235 00:11:12,720 --> 00:11:15,670 >> Publiek: Kunt u uitleggen wat een SQL-injectie aanval is? 236 00:11:15,670 --> 00:11:18,970 >> JASON HIRSCHHORN: OK, geweldig. 237 00:11:18,970 --> 00:11:20,440 Dus we spraken over dit een beetje. 238 00:11:20,440 --> 00:11:22,050 Er is een lezing over de veiligheid. 239 00:11:22,050 --> 00:11:25,670 En nogmaals, zoals ik al eerder zei, dit is een terzijde. 240 00:11:25,670 --> 00:11:30,010 Maar u zal worden gefrustreerd op de quiz als je wat kleine twee punt gelezen 241 00:11:30,010 --> 00:11:33,040 vraag, en je bent zoals, wanneer heb ik ooit leren dat? 242 00:11:33,040 --> 00:11:35,560 >> Al die dingen in die lezingen dat je niet denkt dat je die nodig zijn om 243 00:11:35,560 --> 00:11:38,290 weet, of je zou kunnen verdoezelen omdat ze hebben niet te maken met de 244 00:11:38,290 --> 00:11:41,860 probleem set, die zal waarschijnlijk komen weer op de quiz. 245 00:11:41,860 --> 00:11:45,030 Dus, koel, leuke dingen die je gewoon dacht David vertelde voor u om 246 00:11:45,030 --> 00:11:49,070 genieten, vertelde hij u voor u om genieten en om je gewoon super zijn 247 00:11:49,070 --> 00:11:50,550 enthousiast over het leren van alles er leren 248 00:11:50,550 --> 00:11:51,670 over informatica. 249 00:11:51,670 --> 00:11:53,680 Die dingen komen ook op quizzen. 250 00:11:53,680 --> 00:11:56,440 Dus, zelfs deze kleine dingen die dat niet deden rechtstreeks betrekking hebben op uw probleem 251 00:11:56,440 --> 00:11:59,630 ingesteld, zoals jullie zijn bekend met uit Quiz 0, zal waarschijnlijk komen. 252 00:11:59,630 --> 00:12:01,530 En dit is een goed voorbeeld van iets. 253 00:12:01,530 --> 00:12:10,140 >> Dus een SQL injectie aanvallen is wanneer u nog wat informatie van de gebruiker en 254 00:12:10,140 --> 00:12:15,090 u wilt invoegen in een tabel met behulp van een SQL-insert statement, maar je 255 00:12:15,090 --> 00:12:17,680 heeft de ingang niet ontsmetten van tevoren. 256 00:12:17,680 --> 00:12:21,560 Dus, natuurlijk we hebben gezien SQL-instructies. 257 00:12:21,560 --> 00:12:22,810 Ik zal gewoon open te stellen - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 laten we gaan - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 gaan we naar de review - 262 00:12:31,960 --> 00:12:35,180 Ik denk, dat het bedekt? 263 00:12:35,180 --> 00:12:36,350 Ik denk Samala deed. 264 00:12:36,350 --> 00:12:39,292 Dus we kunnen krijgen - 265 00:12:39,292 --> 00:12:41,270 >> Publiek: Waar heb je dit gevonden? 266 00:12:41,270 --> 00:12:44,990 >> JASON HIRSCHHORN: Dus als je naar CS50.net, quizzen, en dan kun je 267 00:12:44,990 --> 00:12:47,170 scroll over en krijg slides uit de evaluatie sessie. 268 00:12:47,170 --> 00:12:49,860 Maar je kunt zien is dit een goed voorbeeld van een SQL-injectie aanval. 269 00:12:49,860 --> 00:12:53,690 We nemen wat informatie van de gebruiker en ze geven ons een string, en dan hebben we 270 00:12:53,690 --> 00:12:55,780 willen die string voegen in een database. 271 00:12:55,780 --> 00:12:59,780 Over het algemeen gaan we saneren dat ingang, waardoor er enkele 272 00:12:59,780 --> 00:13:01,050 personages die gevaarlijk zijn. 273 00:13:01,050 --> 00:13:04,000 >> Bijvoorbeeld, in SQL strings, deze citaten - 274 00:13:04,000 --> 00:13:05,000 enkele aanhalingstekens of dubbele aanhalingstekens - 275 00:13:05,000 --> 00:13:05,620 iets betekenen. 276 00:13:05,620 --> 00:13:08,380 Ze betekenen eindigen deze string hier. 277 00:13:08,380 --> 00:13:13,090 En dus als de gebruiker geeft u een of een dubbel aanhalingsteken, zouden zij 278 00:13:13,090 --> 00:13:18,970 proberen te struikelen uw SQL query en Steek wat slechte dingen in. 279 00:13:18,970 --> 00:13:23,130 En als ze dat doen, kunnen ze krijgen controle van de database of doe wat 280 00:13:23,130 --> 00:13:24,760 dingen die je niet wilt dat ze doen. 281 00:13:24,760 --> 00:13:28,300 >> Dus dat is waarom wanneer we nemen SQL queries, ontsmetten we de invoer voor 282 00:13:28,300 --> 00:13:31,090 schoot de database, die betekent ontsnappen we deze tekens. 283 00:13:31,090 --> 00:13:32,590 We praten over dat in een tweede. 284 00:13:32,590 --> 00:13:35,820 Maar lang verhaal kort, een SQL-injectie aanval is als je dat niet doet - 285 00:13:35,820 --> 00:13:39,760 als je geen zorgen voor de ingang gaven ze je, voordat je je 286 00:13:39,760 --> 00:13:46,830 databank, kunnen ze, zoals je ziet neer hier, een query dat, in feite - 287 00:13:46,830 --> 00:13:52,470 ze in hun code hier beneden en deze selecte lijn hier zal selecteren 288 00:13:52,470 --> 00:13:56,360 alles van de tafel, ongeacht van wat het wachtwoord is gegeven. 289 00:13:56,360 --> 00:13:58,960 Want je hebt het of 1 is gelijk aan 1. 290 00:13:58,960 --> 00:14:02,750 >> Dus het is eigenlijk, lang verhaal kort, een manier om over te nemen in de database. 291 00:14:02,750 --> 00:14:07,570 De vraag is dan, voor jullie, is waar in p sets 7 heb je alles ontsmetten 292 00:14:07,570 --> 00:14:10,010 de ingangen om uw SQL-query? 293 00:14:10,010 --> 00:14:11,230 Waar kwam die stap gebeuren? 294 00:14:11,230 --> 00:14:14,150 Waar moet je voorkomen dat SQL-injectie aanvallen gebeuren in p set 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Yeah. 297 00:14:20,490 --> 00:14:21,870 >> PUBLIEK: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON HIRSCHHORN: Dus het was niet encrypten. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 We hebben niet te maken je dit voor deze bijzonder probleem stellen, maar het gebeurt 301 00:14:55,380 --> 00:14:58,190 in de query functie. 302 00:14:58,190 --> 00:15:00,930 We eigenlijk schreef het voor u, en wij zorgden voor de 303 00:15:00,930 --> 00:15:03,040 desinfecterende ingangen voor jou. 304 00:15:03,040 --> 00:15:07,790 Maar in de afgelopen jaren, de studenten hebben gehad met de ingangen van hun eigen soort. 305 00:15:07,790 --> 00:15:10,020 In p set 7, veel van jullie - 306 00:15:10,020 --> 00:15:11,270 laat me open te stellen een ander bestand. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Dus je zult hier merken een hoop mensen, in probleemwijken plaats 7, heeft niet gebeld 309 00:15:22,590 --> 00:15:25,240 deze functie op strings. 310 00:15:25,240 --> 00:15:27,880 Deze functie htmlspecialchars, opnieuw - 311 00:15:27,880 --> 00:15:31,410 deze string kunnen sommige dingen hebben dat in HTML iets anders. 312 00:15:31,410 --> 00:15:36,160 Net als een brace, een vierkant, of een hoek beugel iets betekenen in HTML. 313 00:15:36,160 --> 00:15:38,980 >> En dus als je afdrukt dat uit naar de scherm of als je gewoon dat en 314 00:15:38,980 --> 00:15:42,260 drukken dat uit aan uw HTML, dat macht iets wat je niet verwacht te doen. 315 00:15:42,260 --> 00:15:45,180 Dus htmlspecialchars gaat over al die personages die speciale hebben 316 00:15:45,180 --> 00:15:47,030 vergader-en ontsnapt ze. 317 00:15:47,030 --> 00:15:51,450 Dus het wordt afgedrukt als de tekst u wilt zien, in plaats van 318 00:15:51,450 --> 00:15:53,280 verknalt uw HTML. 319 00:15:53,280 --> 00:15:55,040 We noemden die functie in de header. 320 00:15:55,040 --> 00:15:57,390 En veel mensen vergeten te noemen functie in de 321 00:15:57,390 --> 00:15:58,700 code die je aan het schrijven was. 322 00:15:58,700 --> 00:16:03,970 >> Dus, bijvoorbeeld, als een aandeel naam had een hoeksteun erin en je bent vergeten 323 00:16:03,970 --> 00:16:06,675 Om deze functie, die hoek noemen beugel kon hebben afgeworpen wat 324 00:16:06,675 --> 00:16:08,250 HTML eruit zag. 325 00:16:08,250 --> 00:16:11,810 Maar oproepen van deze functie zal ontsnappen dat dus het daadwerkelijk wordt afgedrukt als een 326 00:16:11,810 --> 00:16:15,870 hoeksteun en niet gooien van uw HTML-code. 327 00:16:15,870 --> 00:16:18,760 >> Dezelfde reden die we hebben gezien, soms, slashes voor dubbele aanhalingstekens in een 328 00:16:18,760 --> 00:16:22,310 printf lijn omdat we niet willen dat de dubbele aanhalingstekens Down the string. 329 00:16:22,310 --> 00:16:24,050 We willen ze af te drukken naar het scherm. 330 00:16:24,050 --> 00:16:26,920 Dus dit alles is hetzelfde idee. 331 00:16:26,920 --> 00:16:28,260 Is dat een antwoord op je vraag? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> PUBLIEK: Zoiets. 334 00:16:33,870 --> 00:16:35,300 >> JASON HIRSCHHORN: Heeft u een follow-up? 335 00:16:35,300 --> 00:16:43,252 >> Publiek: Ik denk dat de SQL-injectie aanval heeft te maken met dat? 336 00:16:43,252 --> 00:16:45,720 Ik begrijp niet hoe de twee zijn gerelateerd. 337 00:16:45,720 --> 00:16:47,610 Waarom zou je de specialChars? 338 00:16:47,610 --> 00:16:51,200 >> JASON HIRSCHHORN: OK, dus de SQL injectie aanval is wanneer u injecteert 339 00:16:51,200 --> 00:16:59,180 sommige kwaadaardige strings in iemands programma, en ze nemen het gewoon en lopen 340 00:16:59,180 --> 00:17:01,230 de SQL-query met een string je ze gaf. 341 00:17:01,230 --> 00:17:04,220 Zoals je hier kunt zien, dat problemen zou kunnen opleveren. 342 00:17:04,220 --> 00:17:07,480 Dus de manier waarop je voorkomen dat tegen die je hun snaar te nemen dat ze geven 343 00:17:07,480 --> 00:17:09,220 u - zo deze string hier - 344 00:17:09,220 --> 00:17:11,240 en je ontsmetten het. 345 00:17:11,240 --> 00:17:14,305 Je ontsnappen aan alle dingen die zijn potentieel problematisch. 346 00:17:14,305 --> 00:17:18,626 Dus je hoeft ze niet te interpreteren als iets dat betekent iets. 347 00:17:18,626 --> 00:17:23,390 >> En een voorbeeld van die met HTML is deze functie. 348 00:17:23,390 --> 00:17:26,060 Dus het is hetzelfde idee hier. 349 00:17:26,060 --> 00:17:27,579 En ik was gewoon tonen u andere voorbeelden van wanneer je hebt 350 00:17:27,579 --> 00:17:29,030 eerder gezien dit idee. 351 00:17:29,030 --> 00:17:33,913 Ontsnappen input van de gebruiker voordat u afdrukt het uit aan een scherm of zetten het 352 00:17:33,913 --> 00:17:36,782 in een SQL-instructie. 353 00:17:36,782 --> 00:17:40,790 >> Publiek: Dus in dit geval, de gebruiker wordt knoeien met de programmeur. 354 00:17:40,790 --> 00:17:41,240 >> JASON HIRSCHHORN: Ja. 355 00:17:41,240 --> 00:17:44,800 Met al deze aanvallen op de beveiliging, dat is altijd het algemeen de gebruiker, of 356 00:17:44,800 --> 00:17:47,470 iemand, probeert te knoeien met u, de programmeur. 357 00:17:47,470 --> 00:17:51,038 En dit zijn manieren waarop u kunt voorkomen dat tegen hen. 358 00:17:51,038 --> 00:17:54,280 >> Publiek: Dus ik heb een vraag over hash functies. 359 00:17:54,280 --> 00:17:59,340 In Quiz 1 uit 2011, zijn er twee vragen over eenzijdige hashes. 360 00:17:59,340 --> 00:18:02,540 En ik vroeg me af wat dat betekende. 361 00:18:02,540 --> 00:18:03,660 >> JASON HIRSCHHORN: OK, die quiz? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> PUBLIEK: Ja. 364 00:18:04,705 --> 00:18:06,720 >> PUBLIEK: Quiz 1? 365 00:18:06,720 --> 00:18:08,620 >> PUBLIEK: [onverstaanbaar]. 366 00:18:08,620 --> 00:18:09,940 Dat is hetzelfde als hash een wachtwoord. 367 00:18:09,940 --> 00:18:12,220 Dat is niet om de dingen - 368 00:18:12,220 --> 00:18:13,440 >> JASON HIRSCHHORN: welke pagina het was? 369 00:18:13,440 --> 00:18:15,720 >> Publiek: Ik denk dat het 9 of 10, of beide. 370 00:18:15,720 --> 00:18:16,720 >> JASON HIRSCHHORN: Oke, ga je gang, Curt. 371 00:18:16,720 --> 00:18:17,780 U kunt beantwoorden terwijl we kijken. 372 00:18:17,780 --> 00:18:19,540 >> Publiek: Ik denk dat het praten over hashing een wachtwoord. 373 00:18:19,540 --> 00:18:24,430 Zoals, als iemand een wachtwoord invoert, u deze in een versleuteld ding. 374 00:18:24,430 --> 00:18:27,395 Dat is het wachtwoord hash, dat is verschillend van een hash functie die 375 00:18:27,395 --> 00:18:30,900 zet iets in een hash table. 376 00:18:30,900 --> 00:18:31,610 >> JASON HIRSCHHORN: Eens kijken. 377 00:18:31,610 --> 00:18:33,930 Laat me omhoog te trekken wat ze geven als het antwoord. 378 00:18:33,930 --> 00:18:35,440 En dan zullen we er doorheen lopen. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Dus Curt gaf een goed voorbeeld van een one-way hash. 381 00:18:45,400 --> 00:18:48,800 Als we dit eerder gezien, we neem het wachtwoord en draai - 382 00:18:48,800 --> 00:18:53,040 herinneren, in p set 7, iemand zou hebben een wachtwoord dat is gewoon vergeten, 383 00:18:53,040 --> 00:18:55,300 maar dan wordt het gecodeerd in sommige echt lang ding. 384 00:18:55,300 --> 00:18:59,830 De one-way hash betekent dat het zeer eenvoudig om van de ene naar de andere, maar 385 00:18:59,830 --> 00:19:02,800 het is heel moeilijk om van de andere weg terug. 386 00:19:02,800 --> 00:19:05,230 >> En dus weet je, toen je het controleren wachtwoorden van de mensen in probleemwijken 387 00:19:05,230 --> 00:19:08,820 set 7, zou je hun te nemen - 388 00:19:08,820 --> 00:19:11,953 Dus, bijvoorbeeld, zeggen ze wilden hun wachtwoord te wijzigen, vraag je hen 389 00:19:11,953 --> 00:19:13,130 voor hun oude wachtwoord. 390 00:19:13,130 --> 00:19:13,910 Je nam hun oude wachtwoord. 391 00:19:13,910 --> 00:19:15,150 Je versleuteld zijn. 392 00:19:15,150 --> 00:19:19,240 En vergeleken de twee coderingen plaats unencrypting de oorspronkelijke 393 00:19:19,240 --> 00:19:20,780 een, want het is echt moeilijk om op die manier gaan. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Yeah. 396 00:19:28,035 --> 00:19:31,430 >> Publiek: Hoe in de diepte werkt onze begrip van TelNet zijn? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON HIRSCHHORN: Als het werd genoemd kort in collegezaal, op slechts een korte 399 00:19:41,360 --> 00:19:43,260 begrip. 400 00:19:43,260 --> 00:19:45,585 Ook hier weer het antwoord Avi's vraag - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 hoe meer dingen komen, hoe groter de kans het is je moet super zijn 403 00:19:50,430 --> 00:19:51,530 vertrouwd zijn met hen. 404 00:19:51,530 --> 00:19:54,730 Als ze alleen al komen in collegezaal, dat is slechts een plaats. 405 00:19:54,730 --> 00:19:57,180 Maar als ze komen in collegezaal, sectie, en een probleem stellen, je dan 406 00:19:57,180 --> 00:19:58,710 waarschijnlijk super te zijn vertrouwd zijn met hen. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Dus ik had een vraag van eerder over - 409 00:20:03,960 --> 00:20:06,950 is was najaar 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, laten we trekken - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 deze vraag op stapels en wachtrijen, die hadden we nogal wat tijd door te brengen 413 00:20:21,790 --> 00:20:23,720 het over in collegezalen, zelfs hoewel we niet echt 414 00:20:23,720 --> 00:20:26,020 ooit raakte het in paragraaf. 415 00:20:26,020 --> 00:20:33,190 Dus deze vraag geeft u een reeks van opdrachten en vragen wat 416 00:20:33,190 --> 00:20:35,560 wordt afgedrukt in dit geval. 417 00:20:35,560 --> 00:20:40,180 Dus dit is een volstrekt redelijke vraag die zouden kunnen worden van u gevraagd 418 00:20:40,180 --> 00:20:43,090 jongens, en dan moeten jullie in staat zijn om het te beantwoorden. 419 00:20:43,090 --> 00:20:50,020 >> Dus waarom niet je kijkt naar het voor 30 seconden, en dan als iemand wil 420 00:20:50,020 --> 00:20:52,140 voorstellen de antwoorden op mij, en dan lopen we er doorheen. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Oke, die een antwoord heeft naar vraag 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Yeah. 425 00:21:33,860 --> 00:21:40,250 >> PUBLIEK: Is het 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON HIRSCHHORN: Dat klopt. 427 00:21:40,780 --> 00:21:42,570 27 is 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Dus laten we eens kijken hoe we dat kregen. 429 00:21:44,510 --> 00:21:48,930 >> Ten eerste, zeggen we, als s een wachtrij, wat wordt afgedrukt? 430 00:21:48,930 --> 00:21:53,360 Dus een q first in, first out. 431 00:21:53,360 --> 00:21:54,680 We hebben eerder gezien dat. 432 00:21:54,680 --> 00:21:56,820 We zagen het beeld van de mensen wachten bij de Apple 433 00:21:56,820 --> 00:21:58,400 Slaan om wat product te kopen. 434 00:21:58,400 --> 00:22:00,900 De eerste mensen in zijn de eerste mensen. 435 00:22:00,900 --> 00:22:02,940 De eerste dingen die in een wachtrij zijn de eerste dingen uit. 436 00:22:02,940 --> 00:22:08,320 >> Dus als we iets te duwen in een wachtrij, u op de 1, dan pop we de 1. 437 00:22:08,320 --> 00:22:09,630 Pop betekent gewoon nemen. 438 00:22:09,630 --> 00:22:11,080 In dit geval, gewoon iets nemen. 439 00:22:11,080 --> 00:22:12,910 We nemen de eerste ding, dat is een 1. 440 00:22:12,910 --> 00:22:15,200 Dus we dingen die we zetten drukken hier neer. 441 00:22:15,200 --> 00:22:18,110 Dit is niet langer in onze wachtrij. 442 00:22:18,110 --> 00:22:23,500 >> Duw we een 2 en 3, en We knallen het eerste ding. 443 00:22:23,500 --> 00:22:25,030 Opnieuw, omdat het een rij. 444 00:22:25,030 --> 00:22:33,320 Dus krijgen we een 2, dan zetten we op een andere 3 en bel opnieuw pop. 445 00:22:33,320 --> 00:22:34,980 Onze 3 is eerste. 446 00:22:34,980 --> 00:22:40,940 >> En dan hadden we een hele hoop andere dingen en gesprek pop. 447 00:22:40,940 --> 00:22:43,740 Maar nogmaals, aangezien dit een wachtrij first in, first out. 448 00:22:43,740 --> 00:22:45,980 We nemen het eerste wat dat ooit werd gezet inch 449 00:22:45,980 --> 00:22:47,100 Dat is onze 3. 450 00:22:47,100 --> 00:22:50,060 En in dit geval hebben we geen zorgen over al die andere dingen. 451 00:22:50,060 --> 00:22:51,310 Dus dat is als dit een wachtrij. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Heeft u vragen over een wachtrij? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Een stapel is anders. 456 00:23:04,040 --> 00:23:07,782 Wat is de afkorting we voor het begrijpen van een stapel? 457 00:23:07,782 --> 00:23:08,750 >> PUBLIEK: last in, first out. 458 00:23:08,750 --> 00:23:10,130 >> JASON HIRSCHHORN: LIFO, denk ik. 459 00:23:10,130 --> 00:23:11,830 Last in, first out. 460 00:23:11,830 --> 00:23:15,630 Dus een voorbeeld van een stapel zagen trays in een eetzaal. 461 00:23:15,630 --> 00:23:17,590 Wat lade is op de top wordt opgepikt. 462 00:23:17,590 --> 00:23:19,550 En dan als nieuwe trays komen in, krijgen ze bovenop. 463 00:23:19,550 --> 00:23:21,070 En dan wat er op top wordt opgepikt. 464 00:23:21,070 --> 00:23:24,010 Dus die bakken op de bodem macht blijf daar voor een tijdje. 465 00:23:24,010 --> 00:23:28,480 >> In dat geval geldt weer dat we trekken dit uit. 466 00:23:28,480 --> 00:23:31,770 We duwen op een, zodat men is de eerste in de rij. 467 00:23:31,770 --> 00:23:32,790 En we knallen iets af. 468 00:23:32,790 --> 00:23:37,280 En er is maar een ding daar, dus we verplaatsen 1 hier beneden. 469 00:23:37,280 --> 00:23:41,940 Dan zetten we op 2 en 3 en we pop iets af. 470 00:23:41,940 --> 00:23:43,650 >> Maar nogmaals, aangezien dit een wachtrij - 471 00:23:43,650 --> 00:23:45,010 of dit is een stapel, in plaats van - 472 00:23:45,010 --> 00:23:47,480 we nemen wat in de laatste was. 473 00:23:47,480 --> 00:23:49,300 Wat er ook in de laatste komt eerst. 474 00:23:49,300 --> 00:23:50,890 En 3 is in de laatste. 475 00:23:50,890 --> 00:23:56,110 Dus hebben we de 3 daar beneden, dan we op een andere 3 en we 476 00:23:56,110 --> 00:23:57,360 pop weer iets. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Tot slot, we op de 4, 5, 6, en 7, en hier knallen we. 479 00:24:05,710 --> 00:24:09,060 En omdat het een stapel, we nemen wat er ook was in de laatste te zetten en schrijven 480 00:24:09,060 --> 00:24:10,240 dat hier beneden. 481 00:24:10,240 --> 00:24:14,256 Dus komen we uit op 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Heeft iemand nog vragen hebben over stacks of wachtrijen, of dit voorbeeld? 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 Laten we teruggaan naar de lijst met onderwerpen gaan. 487 00:24:30,440 --> 00:24:32,510 Niet op die manier, op deze manier. 488 00:24:32,510 --> 00:24:34,280 Welke andere vragen hebben mensen? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> Publiek: Ik weet niet hoe belangrijk dit is, maar ik was in de war door de 491 00:24:39,480 --> 00:24:43,550 verschil tussen de verschillende soorten talen zoals markup, samengesteld, 492 00:24:43,550 --> 00:24:45,980 geïnterpreteerd. 493 00:24:45,980 --> 00:24:46,750 >> JASON HIRSCHHORN: Dat is een goede vraag. 494 00:24:46,750 --> 00:24:50,500 Ik denk dat dat een beetje belangrijk, dus laten we gaan over het snel. 495 00:24:50,500 --> 00:24:56,850 De grote talen die we hebben gezien tot nu toe zijn C, PHP en JavaScript, in termen 496 00:24:56,850 --> 00:24:58,330 van programmeertalen. 497 00:24:58,330 --> 00:25:01,060 HTML, zoals u al zei, is het niet een programmeertaal. 498 00:25:01,060 --> 00:25:02,260 Het is een opmaaktaal. 499 00:25:02,260 --> 00:25:05,700 Dan hebben we CSS, die ook geen programmeertaal. 500 00:25:05,700 --> 00:25:10,330 >> We hebben ook gezien SQL, die niet een programmeertaal niet. 501 00:25:10,330 --> 00:25:15,695 Dus SQL kunt u schrijven query's voor een database. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML is een opmaaktaal. 504 00:25:20,140 --> 00:25:22,570 Het bepaalt hoe de dingen zijn gestructureerd. 505 00:25:22,570 --> 00:25:26,250 En CSS kun je dingen stylen. 506 00:25:26,250 --> 00:25:28,520 Dat is waarschijnlijk de omvang voor wat je moet weten over deze drie. 507 00:25:28,520 --> 00:25:32,920 Maar het is meer interessant figuur de verschillen tussen C, PHP, 508 00:25:32,920 --> 00:25:34,320 en JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Dus een van de grootste verschillen, zoals u al zei, is hoe ze 510 00:25:37,900 --> 00:25:40,550 gecompileerd, of wat het equivalent is. 511 00:25:40,550 --> 00:25:42,580 Dus C is samengesteld. 512 00:25:42,580 --> 00:25:43,950 We zouden altijd lopen een compiler. 513 00:25:43,950 --> 00:25:51,100 En waar zijn dan je fouten wanneer u de C-compiler draaien? 514 00:25:51,100 --> 00:25:55,740 Waar komt het je het laten zien fouten in je code? 515 00:25:55,740 --> 00:25:57,860 Hoe weet je dat er een fout in uw code in C? 516 00:25:57,860 --> 00:25:58,770 >> Publiek: Het toont u in de terminal. 517 00:25:58,770 --> 00:26:00,410 >> JASON HIRSCHHORN: Het toont u in de terminal als u samenstellen. 518 00:26:00,410 --> 00:26:02,620 En als er fouten, het daadwerkelijk zal niet compileren. 519 00:26:02,620 --> 00:26:04,830 Dus je weet dat er fouten recht weg, van tevoren, voordat je 520 00:26:04,830 --> 00:26:06,050 zelfs uw code uit te voeren. 521 00:26:06,050 --> 00:26:10,010 >> Natuurlijk zou u uw code uitvoeren en krijgen een segmentatie fout, maar dat was 522 00:26:10,010 --> 00:26:12,350 waarschijnlijk omdat je deed sommige domme logica ding. 523 00:26:12,350 --> 00:26:15,770 Maar de code in met technisch allemaal correct en kon lopen. 524 00:26:15,770 --> 00:26:18,210 Dus C-code wordt van tevoren samengesteld. 525 00:26:18,210 --> 00:26:19,760 Hoe zit het met PHP code? 526 00:26:19,760 --> 00:26:21,430 Waar waren fouten in uw PHP-code? 527 00:26:21,430 --> 00:26:23,170 Hoe wist je dat je fouten had in je PHP-code? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> PUBLIEK: Run time? 530 00:26:28,430 --> 00:26:31,230 >> JASON HIRSCHHORN: Ja, als je zou draaien, zou je loopt de 531 00:26:31,230 --> 00:26:32,180 PHP code in de rug. 532 00:26:32,180 --> 00:26:33,300 En dan zou je een scherm weer te geven. 533 00:26:33,300 --> 00:26:35,260 Je zou een aantal dingen op de bovenkant te zien, maar dan zou je zien, zoals sommige 534 00:26:35,260 --> 00:26:36,710 oranje, lelijke tafel. 535 00:26:36,710 --> 00:26:41,420 En het zou een lijnnummer geven en zeg, blah, blah, blah, dit spul 536 00:26:41,420 --> 00:26:42,400 werkte niet. 537 00:26:42,400 --> 00:26:48,730 >> Dus PHP wordt regel voor regel en uitgevoerd op de server. 538 00:26:48,730 --> 00:26:52,380 En dan is het resultaat gestuurd aan u. 539 00:26:52,380 --> 00:26:53,340 Geweldig. 540 00:26:53,340 --> 00:26:56,410 Uitgevoerd in de server lijn per lijn en vervolgens verstuurd naar je. 541 00:26:56,410 --> 00:26:59,010 En als er een fout, zal het stuur u de fout, maar je zou kunnen hebben 542 00:26:59,010 --> 00:27:00,400 gekregen een aantal dingen van tevoren. 543 00:27:00,400 --> 00:27:02,730 Dus een deel van het zou hebben gewerkt, maar later, kunnen sommige dingen niet hebben 544 00:27:02,730 --> 00:27:03,890 niet gewerkt. 545 00:27:03,890 --> 00:27:04,600 >> Hoe zit het met JavaScript? 546 00:27:04,600 --> 00:27:06,065 Waar zag je JavaScript-fouten? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 In p set 8, toen je een fout, hoe wist je dat? 549 00:27:12,870 --> 00:27:13,710 Waar zou opdagen? 550 00:27:13,710 --> 00:27:15,900 >> PUBLIEK: In de console, onderaan. 551 00:27:15,900 --> 00:27:17,650 >> JASON HIRSCHHORN: In de console op de bodem. 552 00:27:17,650 --> 00:27:20,160 Het zou je het ook geven lijnnummer, en het zou 553 00:27:20,160 --> 00:27:21,330 weergegeven op de bodem. 554 00:27:21,330 --> 00:27:24,320 En JavaScript is niet uitgevoerd op de server. 555 00:27:24,320 --> 00:27:27,800 JavaScript werd verzonden naar uw computer, en toen was het tijd om te draaien de 556 00:27:27,800 --> 00:27:31,670 JavaScript, de JavaScript-was lopen per regel over de 557 00:27:31,670 --> 00:27:33,410 opdrachtgever, aan uw kant. 558 00:27:33,410 --> 00:27:35,570 Niet de server, de client. 559 00:27:35,570 --> 00:27:37,690 >> En evenzo, was gerund regel voor regel. 560 00:27:37,690 --> 00:27:40,630 En dan wanneer je zou een foutmelding krijgt, het zou opdagen op de bodem. 561 00:27:40,630 --> 00:27:44,580 Net als in PHP, een deel ervan zou kunnen uit te voeren, en dan krijg je misschien een 562 00:27:44,580 --> 00:27:46,310 fout later. 563 00:27:46,310 --> 00:27:49,910 >> Ook, wat anders PHP, indien je hebt een JavaScript-fout - 564 00:27:49,910 --> 00:27:52,780 zeggen dat je het recht niet code voor een waarschuwingsvenster - 565 00:27:52,780 --> 00:27:55,800 je zou kunnen blijven draaien uw programma. 566 00:27:55,800 --> 00:27:58,180 De doos waarschuwing niet zou werken, maar uw programma zou fijn zijn. 567 00:27:58,180 --> 00:28:00,490 Heel misschien die functie zou mislukken. 568 00:28:00,490 --> 00:28:02,610 >> Dus er is een aantal van de grootste verschil in termen van hoe deze 569 00:28:02,610 --> 00:28:09,230 talen, of hoe de programmeercode je schrijft eigenlijk geëvalueerd. 570 00:28:09,230 --> 00:28:11,970 Er zijn ook andere verschillen termen van - het grootste verschil 571 00:28:11,970 --> 00:28:15,590 we hebben gezien in termen van variabelen in de verschillende talen. 572 00:28:15,590 --> 00:28:19,660 Dus kan iemand mij een verschil tussen variabelen 573 00:28:19,660 --> 00:28:20,910 in de drie talen? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Ja. 576 00:28:25,770 --> 00:28:27,130 >> PUBLIEK: In C, ze zijn strikt getypt. 577 00:28:27,130 --> 00:28:28,550 In de andere twee, ze zijn losjes getypt. 578 00:28:28,550 --> 00:28:30,040 >> JASON HIRSCHHORN: En Wat betekent dat? 579 00:28:30,040 --> 00:28:31,775 >> PUBLIEK: Dat in C, moet u aangeven het type van de variabele als 580 00:28:31,775 --> 00:28:36,140 u verklaren dat de variabele, zoals interbool of char. 581 00:28:36,140 --> 00:28:36,990 >> JASON HIRSCHHORN: Excellent. 582 00:28:36,990 --> 00:28:39,780 In C, we moesten altijd te zetten een type variabele. 583 00:28:39,780 --> 00:28:41,360 En we konden niet echt type. 584 00:28:41,360 --> 00:28:45,750 Je kon een geheel getal niet doen plus een string. 585 00:28:45,750 --> 00:28:48,760 Maar zoals we hebben gezien in deze andere talen, je eigenlijk kunt mixen types, 586 00:28:48,760 --> 00:28:51,230 en je nooit echt hoeft te geven iets wat een soort, ooit. 587 00:28:51,230 --> 00:28:53,905 >> Dus hoe weten we dingen zijn variabelen in PHP en JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> PUBLIEK: In PHP, ze beginnen met een dollar teken. 590 00:28:58,685 --> 00:29:00,810 In JavaScript, wanneer u verklaren hen, moet je een bar. 591 00:29:00,810 --> 00:29:01,760 >> JASON HIRSCHHORN: Juist. 592 00:29:01,760 --> 00:29:03,535 Dus in PHP, ze beginnen met een dollar teken. 593 00:29:03,535 --> 00:29:06,300 In JavaScript moeten zij bar, hoewel soms ook niet echt 594 00:29:06,300 --> 00:29:07,520 moeten bar. 595 00:29:07,520 --> 00:29:09,240 Maar dat is juist. 596 00:29:09,240 --> 00:29:13,300 >> Dus dat is een groot verschil tussen variabelen. 597 00:29:13,300 --> 00:29:16,140 Ik denk dat die zijn waarschijnlijk, uit de bovenkant van mijn hoofd, de twee grootste 598 00:29:16,140 --> 00:29:19,250 verschillen tussen deze drie talen. 599 00:29:19,250 --> 00:29:20,594 Maar, ja. 600 00:29:20,594 --> 00:29:24,720 >> PUBLIEK: En de omvang van C variabelen beperkt tot de accolades, 601 00:29:24,720 --> 00:29:27,760 waar de anderen, het is net als, hij sterft als het in slechts een functie, 602 00:29:27,760 --> 00:29:29,650 maar anders, is - 603 00:29:29,650 --> 00:29:30,240 >> JASON HIRSCHHORN: Juist. 604 00:29:30,240 --> 00:29:36,780 Dus scope is iets anders in C. Als Herinnert u zich, accolades definiëren 605 00:29:36,780 --> 00:29:37,710 de reikwijdte van variabelen. 606 00:29:37,710 --> 00:29:41,680 Dus als het is gedefinieerd binnen een if aandoening, die zich in een lus, 607 00:29:41,680 --> 00:29:44,290 de variabele bestaat alleen daar. 608 00:29:44,290 --> 00:29:47,760 >> In JavaScript, wordt als een variabele gedefinieerd binnen een if staat - 609 00:29:47,760 --> 00:29:50,750 in een lus - het zal er voor die functie, maar het zal niet bestaan 610 00:29:50,750 --> 00:29:52,330 buiten die functie. 611 00:29:52,330 --> 00:29:59,250 Dus scope is een beetje flexibeler in JavaScript en PHP. 612 00:29:59,250 --> 00:30:00,500 Dat antwoord op de vraag? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, andere vragen? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 We kunnen doen nog vier minuten van vragen, dan 617 00:30:08,865 --> 00:30:10,740 we springen in codering. 618 00:30:10,740 --> 00:30:12,645 >> PUBLIEK: Kunnen we gaan naar Ajax en praten over wat dat is? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON HIRSCHHORN: Praat met Avi na. 621 00:30:17,800 --> 00:30:19,170 Hij vroeg die vraag eerder. 622 00:30:19,170 --> 00:30:19,630 >> PUBLIEK: My bad. 623 00:30:19,630 --> 00:30:20,880 >> JASON HIRSCHHORN: Geen zorgen. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> Publiek: Wat is JSON precies? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON HIRSCHHORN: Wat is JSON? 628 00:30:28,900 --> 00:30:29,930 Wat is je vraag? 629 00:30:29,930 --> 00:30:31,350 >> PUBLIEK: Gewoon heel snel, het verschil tussen 630 00:30:31,350 --> 00:30:32,870 print en echo in PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON HIRSCHHORN: Waarom ga je niet google het verschil tussen print en echo? 633 00:30:38,490 --> 00:30:40,670 Klein verschil. 634 00:30:40,670 --> 00:30:42,020 Niet zo groot van een deal. 635 00:30:42,020 --> 00:30:44,960 Maar je moet zeker google het, en dat geef je een goed antwoord. 636 00:30:44,960 --> 00:30:46,910 >> JSON, waarschijnlijk groter van een deal. 637 00:30:46,910 --> 00:30:49,300 Staat voor JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 En toen hebben we gezien JSON gebruikt? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Wanneer heb je gezien - 641 00:30:55,900 --> 00:30:57,400 waarom heb je wel het woord JSON? 642 00:30:57,400 --> 00:30:59,140 Wanneer heb je het gezien? 643 00:30:59,140 --> 00:31:02,200 >> PUBLIEK: Toen we kregen aandelenkoersen voor financiën. 644 00:31:02,200 --> 00:31:02,690 >> JASON HIRSCHHORN: Dus je zag het wanneer je krijgt 645 00:31:02,690 --> 00:31:04,830 aandelenkoersen voor financiën. 646 00:31:04,830 --> 00:31:07,340 En waarom heb je het gezien? 647 00:31:07,340 --> 00:31:09,000 >> PUBLIEK: Toen we het ophalen alle informatie die 648 00:31:09,000 --> 00:31:10,400 kwam in dat formaat. 649 00:31:10,400 --> 00:31:11,700 >> JASON HIRSCHHORN: Dus zou je krijgt - 650 00:31:11,700 --> 00:31:12,540 ja. 651 00:31:12,540 --> 00:31:13,020 Ga je gang. 652 00:31:13,020 --> 00:31:15,210 >> PUBLIEK: [onverstaanbaar] informatie van een object? 653 00:31:15,210 --> 00:31:17,170 >> JASON HIRSCHHORN: Allebei van die samen te stellen is het antwoord 654 00:31:17,170 --> 00:31:18,100 we zoeken. 655 00:31:18,100 --> 00:31:21,240 U wilt informatie van deze andere webpagina. 656 00:31:21,240 --> 00:31:23,790 En je zou hopen dat als je krijgen van die informatie, zou het 657 00:31:23,790 --> 00:31:26,720 aan u gepresenteerd in een soort van standaardformaat. 658 00:31:26,720 --> 00:31:29,530 >> Iedereen is waarschijnlijk bekend met door komma's gescheiden waarden. 659 00:31:29,530 --> 00:31:32,970 U kunt een Excel-spreadsheet of exporteren elk type spreadsheet als een lijst van 660 00:31:32,970 --> 00:31:34,540 komma's gescheiden waarden. 661 00:31:34,540 --> 00:31:37,370 En de komma's verdelen alle de verschillende gebieden. 662 00:31:37,370 --> 00:31:38,780 JavaScript Object Notation - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 is een ander standaardapparaat lay-out van de dingen. 665 00:31:43,540 --> 00:31:49,010 En dat is vaak hoe wij zoeken informatie uit onze Ajax queries. 666 00:31:49,010 --> 00:31:51,770 >> Dus in dit geval, we hebben het van de Yahoo website. 667 00:31:51,770 --> 00:31:53,600 Zij dingen terug te keren naar ons in een JSON object. 668 00:31:53,600 --> 00:31:56,790 En dan weten we, want het is een standaard, wat het is 669 00:31:56,790 --> 00:31:57,250 eruit gaat zien. 670 00:31:57,250 --> 00:32:00,760 Dus we kunnen doorlopen de array dat is teruggestuurd naar ons, de reeks van 671 00:32:00,760 --> 00:32:03,180 objecten die worden teruggestuurd naar ons. 672 00:32:03,180 --> 00:32:07,770 >> We hoeven waarschijnlijk nodig om de sleutels te weten, maar ze over het algemeen geven je 673 00:32:07,770 --> 00:32:11,370 documentatie in de website wanneer je halen wat JSON 674 00:32:11,370 --> 00:32:12,170 notatie voor hen. 675 00:32:12,170 --> 00:32:16,940 Ook kunt u JSON coderen van een object. 676 00:32:16,940 --> 00:32:19,900 Dus er is een functie JSON onderstrepen coderen. 677 00:32:19,900 --> 00:32:22,970 En zo kunt u een object dat je hebt gemaakt, JSON coderen, en 678 00:32:22,970 --> 00:32:26,390 door aan iets anders, als je wilt. 679 00:32:26,390 --> 00:32:30,770 En JSON decode bestaat ook voor een soortgelijk doel, of voor 680 00:32:30,770 --> 00:32:31,780 het tegenovergestelde doel. 681 00:32:31,780 --> 00:32:36,570 >> PUBLIEK: Moeten we weten codering voor hash tabellen en probeert? 682 00:32:36,570 --> 00:32:40,300 Of moeten we gewoon om te begrijpen hoe ze gebruikt worden, conceptueel? 683 00:32:40,300 --> 00:32:44,570 >> JASON HIRSCHHORN: Dus, steek uw hand als je wel een hash table voor p set 4 684 00:32:44,570 --> 00:32:46,920 met een link lijst. 685 00:32:46,920 --> 00:32:47,960 Of p set 5. 686 00:32:47,960 --> 00:32:49,060 Dus dat was een overgrote meerderheid van de mensen. 687 00:32:49,060 --> 00:32:50,390 P set 5, 6, wie weet. 688 00:32:50,390 --> 00:32:51,240 Een lange tijd geleden. 689 00:32:51,240 --> 00:32:54,140 >> Dus de overgrote meerderheid van je deed hash tabellen met lijsten met links. 690 00:32:54,140 --> 00:32:56,525 En omdat dat is waarschijnlijk de meer gemeenschappelijke aanpak, en omdat we brachten 691 00:32:56,525 --> 00:32:59,460 veel tijd doen lijsten met links en hasj tabellen, moet u waarschijnlijk 692 00:32:59,460 --> 00:33:02,600 redelijk bekend is met hoe de code een hash table en een link lijst. 693 00:33:02,600 --> 00:33:05,060 >> En als je terugdenkt aan dat probleem set was niet echt 694 00:33:05,060 --> 00:33:06,410 zo hard als je verwacht. 695 00:33:06,410 --> 00:33:08,120 En er was een stuk minder code dan je verwacht. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Ik zou zeggen dat je moet weten hoe te coderen een hash tabel of een lijst met links. 698 00:33:14,650 --> 00:33:17,010 Niet dat je zou worden gevraagd dat, se, maar je moet 699 00:33:17,010 --> 00:33:19,730 zeker weten dat. 700 00:33:19,730 --> 00:33:21,860 >> Ook als je kijkt door het verleden quizzen, zijn er veel geweest 701 00:33:21,860 --> 00:33:26,450 vragen over het schrijven van functies op lijsten met links of dubbel-gelinkte lijsten. 702 00:33:26,450 --> 00:33:28,370 Dat lijkt te komen elk jaar. 703 00:33:28,370 --> 00:33:31,940 Rechts invoegen op een lijst met links, rechts verwijderen uit een lijst met links, rechts invoegen 704 00:33:31,940 --> 00:33:33,610 voor een dubbel-gelinkte lijst, et cetera. 705 00:33:33,610 --> 00:33:36,170 Dus dat, ik voel me vrij comfortabel zeggen dat je moet weten dat. 706 00:33:36,170 --> 00:33:40,600 >> Voor proberen, zou ik zeggen dat je moet zeker weten hoe het werkt, en misschien 707 00:33:40,600 --> 00:33:43,570 geven een pseudocode voor hoe om het code en het op te zetten. 708 00:33:43,570 --> 00:33:45,600 Maar het zou de ergste niet in de wereld als je niet weet hoe je 709 00:33:45,600 --> 00:33:48,870 coderen in C. Het zou geweldig zijn als je wist hoe om het code in C, maar ik denk dat 710 00:33:48,870 --> 00:33:52,516 waarschijnlijk pseudocode voor een try zou het meest je nodig zou hebben 711 00:33:52,516 --> 00:33:53,270 om te weten voor een try. 712 00:33:53,270 --> 00:33:53,930 >> PUBLIEK: Extra krediet? 713 00:33:53,930 --> 00:33:58,290 >> JASON HIRSCHHORN: En hetzelfde met, als we gaan in binary search bomen, zou je 714 00:33:58,290 --> 00:34:02,320 nodig hebt - en je hebt gezien in het verleden, we hebben veel gedaan - je weet hoe 715 00:34:02,320 --> 00:34:03,380 binaire zoekboom werkt. 716 00:34:03,380 --> 00:34:07,150 U moet waarschijnlijk in staat zijn om een maken in pseudo-code. 717 00:34:07,150 --> 00:34:10,510 Maar omdat de overgrote meerderheid van mensen deed dat niet op het probleem 718 00:34:10,510 --> 00:34:13,880 set, ik zou zeggen dat het waarschijnlijk minder belangrijk dat u weet hoe de code 719 00:34:13,880 --> 00:34:17,380 en het opzetten van een boom als dat. 720 00:34:17,380 --> 00:34:19,679 >> Andere vragen? 721 00:34:19,679 --> 00:34:23,234 Ook kunnen we hen gedurende vragen als we door een aantal problemen. 722 00:34:23,234 --> 00:34:27,170 OK, we gaan om verder te gaan. 723 00:34:27,170 --> 00:34:28,230 Sla die glijbaan voor nu. 724 00:34:28,230 --> 00:34:32,449 >> Spreken van bomen, dat is de eerste vraag die ik heb voor jullie. 725 00:34:32,449 --> 00:34:34,270 Omdat dit een probleem is. 726 00:34:34,270 --> 00:34:37,380 Ik zou zeggen dat het zeer waarschijnlijk dat je je krijg je een probleem als dit op uw quiz 727 00:34:37,380 --> 00:34:43,659 waarin u wordt gevraagd om een ​​soort van inzetstuk te coderen, verwijderen, zoeken, voor een bepaald type 728 00:34:43,659 --> 00:34:45,270 van data structuur die we hebben gezien. 729 00:34:45,270 --> 00:34:47,719 >> Die komt elk jaar en we brachten een veel tijd de tweede helft van dit 730 00:34:47,719 --> 00:34:50,270 semester gaan over deze gegevenstypen. 731 00:34:50,270 --> 00:34:54,170 Dus nu, ik heb een knooppunt gedefinieerd in een binaire zoekboom. 732 00:34:54,170 --> 00:34:58,490 En wat ik zou willen dat je doet is gegeven een binaire zoekboom die begint 733 00:34:58,490 --> 00:35:05,450 op dit knooppunt ster wortel, vul het uitvoering van de volgende functie 734 00:35:05,450 --> 00:35:07,430 die toevallig een vondst functie zijn. 735 00:35:07,430 --> 00:35:09,260 En doe het met en zonder recursies. 736 00:35:09,260 --> 00:35:10,860 >> Dus ik wil dat je twee functies te schrijven. 737 00:35:10,860 --> 00:35:14,310 Een dit te doen met recursie, een dit te doen zonder recursie. 738 00:35:14,310 --> 00:35:18,050 En ga er niet vanuit dat de wortel zal niet null. 739 00:35:18,050 --> 00:35:21,790 Dus we zijn op zoek naar het gehele getal i in de boom te beginnen bij de wortel, en we moeten 740 00:35:21,790 --> 00:35:25,280 deze recursief schrijven en iteratief. 741 00:35:25,280 --> 00:35:26,300 Yeah. 742 00:35:26,300 --> 00:35:29,730 >> PUBLIEK: Dus je wilt dat we return true als we het vinden, en onwaar als we 743 00:35:29,730 --> 00:35:30,480 vinden het niet. 744 00:35:30,480 --> 00:35:32,160 >> JASON HIRSCHHORN: Hoe wist je dat? 745 00:35:32,160 --> 00:35:33,100 Hoe wist je dat? 746 00:35:33,100 --> 00:35:36,500 >> Publiek: Ik was eerst te vragen, maar ik was veronderstelling, omdat hij zegt bool bij 747 00:35:36,500 --> 00:35:37,490 het begin van de functie. 748 00:35:37,490 --> 00:35:37,880 >> JASON HIRSCHHORN: Juist. 749 00:35:37,880 --> 00:35:41,020 Het zegt bool, dus ik hoef niet eens te je vertellen wat ik verwacht u om terug te keren 750 00:35:41,020 --> 00:35:41,350 want er staat daar. 751 00:35:41,350 --> 00:35:42,280 Maar dat klopt. 752 00:35:42,280 --> 00:35:43,510 Terug, waar of onwaar. 753 00:35:43,510 --> 00:35:47,630 >> Dus voordat je begint, zou ik adviseren, als je niet bekend bent met 754 00:35:47,630 --> 00:35:51,300 binary search bomen, snel tekenen een foto van om uw 755 00:35:51,300 --> 00:35:51,750 begrip, rechts. 756 00:35:51,750 --> 00:35:54,720 Dat zal u ook helpen bij het schrijven uw code en het controleren van het. 757 00:35:54,720 --> 00:35:57,830 Nogmaals, je hoeft ook niet zoveel tijd op de quiz om alle dingen te doen 758 00:35:57,830 --> 00:35:59,030 vragen we jullie te doen. 759 00:35:59,030 --> 00:36:02,350 Dus het schrijven van pseudo-code is zeer behulpzaam. 760 00:36:02,350 --> 00:36:05,310 >> En wij in het algemeen te geven over - 761 00:36:05,310 --> 00:36:06,820 Als de pseudocode perfect juist, dat is 762 00:36:06,820 --> 00:36:08,910 over het algemeen 50% op een vraag. 763 00:36:08,910 --> 00:36:11,410 Dus het is niet een vaste regel, maar als je schrijft pseudocode en het is 764 00:36:11,410 --> 00:36:13,460 correct, het is over het algemeen 50%. 765 00:36:13,460 --> 00:36:14,970 Dus ik zou altijd aanraden - 766 00:36:14,970 --> 00:36:16,870 Als je weinig tijd ingedrukt, of zelfs als je bent gewoon proberen te achterhalen - 767 00:36:16,870 --> 00:36:18,290 te beginnen met de pseudocode. 768 00:36:18,290 --> 00:36:24,840 En tenslotte, als je dit kon schrijven allemaal in C, zou dat fantastisch zijn. 769 00:36:24,840 --> 00:36:29,010 >> Dus laten we eens drie minuten werken over dit programma. 770 00:36:29,010 --> 00:36:33,120 En dan gaan we schrijven pseudocode voor het gewoon een keer, en dan 771 00:36:33,120 --> 00:36:35,455 we gaan het recursief coderen en vervolgens iteratief. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Als u vragen hebt, voel gratis steek je hand op. 774 00:37:30,760 --> 00:37:34,270 Blij om rond te lopen en ze te beantwoorden voordat we beginnen als groep. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Laten we hervatten, en we gaan pseudocode de recursieve versie 777 00:39:27,200 --> 00:39:29,830 dit, en dan zullen we het coderen. 778 00:39:29,830 --> 00:39:33,380 Dus een recursieve functie moet twee dingen. 779 00:39:33,380 --> 00:39:35,960 Dit kan een vraag worden geantwoord dat je zou gevraagd worden. 780 00:39:35,960 --> 00:39:37,950 Moet twee dingen. 781 00:39:37,950 --> 00:39:40,610 Wie kan hun hand opsteken en vertel me wat de twee dingen die een recursieve 782 00:39:40,610 --> 00:39:43,680 functie nodig heeft? 783 00:39:43,680 --> 00:39:45,030 Per definitie heeft het twee dingen. 784 00:39:45,030 --> 00:39:46,280 Wat zijn die twee dingen? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Nieuwe handen. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Ja, Alden. 789 00:39:56,390 --> 00:39:57,980 >> Publiek: Dus ik weet niet precies wanneer Dit is de terminologie, maar - 790 00:39:57,980 --> 00:39:59,715 >> JASON HIRSCHHORN: Ik ben blij je bent het verhogen van uw hand. 791 00:39:59,715 --> 00:40:03,380 >> Publiek: Er moet een base case, en het moet een recursieve stap. 792 00:40:03,380 --> 00:40:03,960 >> JASON HIRSCHHORN: Perfect. 793 00:40:03,960 --> 00:40:06,340 Het moet een base case en een recursieve stap. 794 00:40:06,340 --> 00:40:10,430 Dus wat is ons basisscenario hier? 795 00:40:10,430 --> 00:40:12,950 >> PUBLIEK: F wortel gelijk is gelijk aan nul. 796 00:40:12,950 --> 00:40:15,110 Sorry, alleen in pseudocode, als het null. 797 00:40:15,110 --> 00:40:16,360 Als wortel is null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON HIRSCHHORN: Als wortel is null. 800 00:40:23,540 --> 00:40:23,850 Dat is uitstekend. 801 00:40:23,850 --> 00:40:24,610 Dat is ons basisscenario. 802 00:40:24,610 --> 00:40:25,910 Dat is wat we gaan om elke keer te controleren. 803 00:40:25,910 --> 00:40:28,000 En nulalternatief is de eerste wat je doet. 804 00:40:28,000 --> 00:40:29,720 Als u de base case hit, je bent klaar. 805 00:40:29,720 --> 00:40:34,140 >> Nu moeten we onze recursieve aanroep, en ik zou zijn bereid om te wedden dat we een paar nodig 806 00:40:34,140 --> 00:40:35,440 recursieve oproepen hier. 807 00:40:35,440 --> 00:40:39,630 Omdat het een boom, en we kon gaan meerdere manieren. 808 00:40:39,630 --> 00:40:43,190 Dus als wortel is null, we zijn goed. 809 00:40:43,190 --> 00:40:44,970 >> Wat stel je voor? 810 00:40:44,970 --> 00:40:49,640 En nu ga ik om te beginnen roepen op jullie, want ik weet dat jullie 811 00:40:49,640 --> 00:40:50,540 weten dit allemaal. 812 00:40:50,540 --> 00:40:52,610 Maar Annie, wat moet de volgende regel zijn? 813 00:40:52,610 --> 00:40:53,570 Wat als we het gevonden? 814 00:40:53,570 --> 00:40:55,526 Wat doen wij? 815 00:40:55,526 --> 00:40:57,300 >> PUBLIEK: Als we het gevonden? 816 00:40:57,300 --> 00:40:59,160 >> JASON HIRSCHHORN: Of wat moet zijn dat - 817 00:40:59,160 --> 00:41:02,124 geef me de pseudocode voor de lijn waar we vonden het. 818 00:41:02,124 --> 00:41:04,700 >> PUBLIEK: Als ik gelijk wortel i? 819 00:41:04,700 --> 00:41:06,650 >> JASON HIRSCHHORN: En dan wat doen we? 820 00:41:06,650 --> 00:41:07,590 >> PUBLIEK: return true. 821 00:41:07,590 --> 00:41:08,530 >> JASON HIRSCHHORN: Great. 822 00:41:08,530 --> 00:41:16,890 Dus als ik is i - 823 00:41:16,890 --> 00:41:17,400 oh, ze i beiden genoemd. 824 00:41:17,400 --> 00:41:18,470 Dat wordt verwarrend. 825 00:41:18,470 --> 00:41:23,830 Maar als ik is i return true. 826 00:41:23,830 --> 00:41:25,620 Dat is waarschijnlijk de volgende wat we moeten doen. 827 00:41:25,620 --> 00:41:27,300 Zinvol. 828 00:41:27,300 --> 00:41:30,610 >> OK, we hebben niet onze recursieve gedaan al gebeld, maar, omdat een recursieve 829 00:41:30,610 --> 00:41:32,300 oproep zou deze functie opnieuw bellen. 830 00:41:32,300 --> 00:41:41,460 Dus wat moet de volgende lijn van pseudocode zijn? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> Publiek: De linker kant. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON HIRSCHHORN: Wees specifiek, dat wel. 835 00:41:47,590 --> 00:41:50,600 Dit is een binaire zoekboom, dus wat doet het controleren van de linkerzijde in? 836 00:41:50,600 --> 00:41:51,890 >> PUBLIEK: Dus knoop - 837 00:41:51,890 --> 00:41:53,342 Het spijt me, wortel. 838 00:41:53,342 --> 00:41:55,306 En arrow dan links. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Node, knooppunt, sorry. 841 00:42:00,720 --> 00:42:01,978 Ik doe het niet goed lezen. 842 00:42:01,978 --> 00:42:05,700 Het heet knooppunt, toch? 843 00:42:05,700 --> 00:42:09,270 >> JASON HIRSCHHORN: Het zal wortel worden genoemd in die functie, maar hoe dan ook. 844 00:42:09,270 --> 00:42:10,925 De linkerzijde - ja? 845 00:42:10,925 --> 00:42:13,780 >> PUBLIEK: Als het niet gelijk i, dan gaan we bellen 846 00:42:13,780 --> 00:42:15,130 weer de functie? 847 00:42:15,130 --> 00:42:15,490 >> JASON HIRSCHHORN: Dat klopt. 848 00:42:15,490 --> 00:42:17,870 Als het niet gelijk ik, we gaan de functie opnieuw te bellen. 849 00:42:17,870 --> 00:42:21,435 Maar welke kant van de boom gaan we om de functie weer bellen? 850 00:42:21,435 --> 00:42:22,685 >> PUBLIEK: Aan de linkerkant. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON HIRSCHHORN: We zijn niet altijd gaan noemen links, als het 853 00:42:27,670 --> 00:42:29,190 niet evenaren. 854 00:42:29,190 --> 00:42:29,610 >> PUBLIEK: Oh, sorry. 855 00:42:29,610 --> 00:42:31,200 Doe een beroep op de rechter. 856 00:42:31,200 --> 00:42:33,680 >> JASON HIRSCHHORN: We willen weten specifiek, maar - vergeet niet, in een 857 00:42:33,680 --> 00:42:37,700 binaire zoekboom, alles te de linkerkant is kleiner. 858 00:42:37,700 --> 00:42:40,460 Alles rechts kant is groter. 859 00:42:40,460 --> 00:42:43,990 Dus het is gewoon niet - ja, ga je gang. 860 00:42:43,990 --> 00:42:46,805 >> PUBLIEK: Als het minder dan ik, dan - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 als het op de linker - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON HIRSCHHORN: Dus als ri is minder dan - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 dus als onze nummer is minder dan ik, welke kant willen we naar toe? 867 00:43:09,110 --> 00:43:15,120 >> PUBLIEK: We willen gaan naar rechts. 868 00:43:15,120 --> 00:43:16,250 >> JASON HIRSCHHORN: We willen gaan - 869 00:43:16,250 --> 00:43:19,210 laat mij trekken snel een boom. 870 00:43:19,210 --> 00:43:23,850 Als dit 5 zal dit 3. 871 00:43:23,850 --> 00:43:29,410 Dus als ri is minder dan vijf, wat kant willen we gaan? 872 00:43:29,410 --> 00:43:30,390 >> PUBLIEK: Sorry, wat? 873 00:43:30,390 --> 00:43:33,190 >> JASON HIRSCHHORN: Ons nummer is minder dan het aantal dat we 874 00:43:33,190 --> 00:43:34,710 kijken naar dit moment. 875 00:43:34,710 --> 00:43:35,890 >> PUBLIEK: Oh, dan willen we te gaan naar de linkerkant. 876 00:43:35,890 --> 00:43:36,240 Yeah. 877 00:43:36,240 --> 00:43:36,920 Sorry. 878 00:43:36,920 --> 00:43:37,230 >> JASON HIRSCHHORN: Precies. 879 00:43:37,230 --> 00:43:38,480 Geen zorgen. 880 00:43:38,480 --> 00:43:41,020 In de binaire zoekboom, alles lager is naar links, 881 00:43:41,020 --> 00:43:42,110 groter is aan de rechterkant. 882 00:43:42,110 --> 00:43:46,700 Dus als onze nummer lager is dan de i we controleren - 883 00:43:46,700 --> 00:43:48,790 want je ziet in de knooppunt heeft een i - 884 00:43:48,790 --> 00:43:50,040 dan wil je naar links. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> En dit is een gemakkelijke. 887 00:43:56,720 --> 00:44:01,700 Wat is er de andere lijn van pseudocode we nodig hebben om te schrijven? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> PUBLIEK: Hetzelfde, je gewoon overschakelen het naar een groter dan teken 890 00:44:05,970 --> 00:44:07,420 en ga naar rechts. 891 00:44:07,420 --> 00:44:08,350 >> JASON HIRSCHHORN: Kunt u zeg het nog een keer? 892 00:44:08,350 --> 00:44:11,640 >> PUBLIEK: Als onze getal groter dan ik, ga naar rechts. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON HIRSCHHORN: Excellent baan op de pseudocode. 895 00:44:26,690 --> 00:44:28,700 Laten we dit doen in het echte code. 896 00:44:28,700 --> 00:44:33,280 En nogmaals, dit pseudocode zal Waarschijnlijk krijg je, want het is 897 00:44:33,280 --> 00:44:35,480 correct, 50% op deze vraag. 898 00:44:35,480 --> 00:44:39,720 Maar deze pseudocode vertaalt zich ook een naar een, in wezen, in code. 899 00:44:39,720 --> 00:44:44,380 >> Dus laten we dit doen in C. Wie kan geven mij de eerste regel van de code? 900 00:44:44,380 --> 00:44:48,390 Eigenlijk, de eerste, voordat ik dat doe dat laat ik aan de kant - 901 00:44:48,390 --> 00:44:49,260 >> Publiek: Ik heb een vraag. 902 00:44:49,260 --> 00:44:52,430 Waarom heb je het inspringen lijn die ik je gaf? 903 00:44:52,430 --> 00:44:54,160 >> JASON HIRSCHHORN: Omdat Ik kon niet schrijven. 904 00:44:54,160 --> 00:44:55,240 Ik weet het niet. 905 00:44:55,240 --> 00:44:55,650 Je hebt gelijk. 906 00:44:55,650 --> 00:44:57,780 Die lijn moet daar zijn. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, hier is onze functie. 909 00:45:14,480 --> 00:45:18,090 En laat me stoppen, ook, onze definitie van een knoop. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Wat gebeurt er als we niet schrijven typedef? 912 00:45:27,180 --> 00:45:30,240 Weet iemand dat? 913 00:45:30,240 --> 00:45:32,570 >> Publiek: Het zou niet compileren. 914 00:45:32,570 --> 00:45:33,860 >> JASON HIRSCHHORN: Het zou compileren, ja. 915 00:45:33,860 --> 00:45:37,120 >> Publiek: Zou het slechts een verklaren Bijvoorbeeld in plaats van het maken van het een nieuwe 916 00:45:37,120 --> 00:45:39,840 Typ je kon verklaren meerdere gevallen van? 917 00:45:39,840 --> 00:45:41,700 >> JASON HIRSCHHORN: Dus het zou niet weten - het zou niet 918 00:45:41,700 --> 00:45:43,120 slechts verklaren een type. 919 00:45:43,120 --> 00:45:46,150 Je kon nog steeds maken veel knooppunten. 920 00:45:46,150 --> 00:45:48,070 >> Publiek: Maar zouden we niet moeten schrijven struct knoop elke keer? 921 00:45:48,070 --> 00:45:48,640 >> JASON HIRSCHHORN: Dat klopt. 922 00:45:48,640 --> 00:45:50,960 U zou hebben om struct knooppunt schrijven telkens in plaats van alleen knooppunt. 923 00:45:50,960 --> 00:45:55,270 Maar met typedef, kunt u gewoon schrijf knooppunt elke keer weer. 924 00:45:55,270 --> 00:45:58,240 OK, die heeft niet - ja, Avica. 925 00:45:58,240 --> 00:46:01,520 >> PUBLIEK: Als wortel gelijk gelijken null, return false. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON HIRSCHHORN: Great, en dat is ons basisscenario. 928 00:46:09,490 --> 00:46:11,200 Volgende regel code. 929 00:46:11,200 --> 00:46:13,999 Iemand die niet heeft gegeven me een regel code nog? 930 00:46:13,999 --> 00:46:14,945 Yeah. 931 00:46:14,945 --> 00:46:23,360 >> PUBLIEK: Root pijl i gelijk gelijk aan i. 932 00:46:23,360 --> 00:46:27,260 Dan terug waar. 933 00:46:27,260 --> 00:46:29,162 >> JASON HIRSCHHORN: Great. 934 00:46:29,162 --> 00:46:32,048 Volgende regel? 935 00:46:32,048 --> 00:46:32,790 Yeah. 936 00:46:32,790 --> 00:46:34,010 Iemand anders? 937 00:46:34,010 --> 00:46:36,774 En dan kun je de volgende te gaan. 938 00:46:36,774 --> 00:46:44,820 >> PUBLIEK: Else als wortel pijl i is kleiner dan ik terugkeer 939 00:46:44,820 --> 00:46:47,737 functie genaamd vondst wortel - 940 00:46:47,737 --> 00:46:50,611 >> JASON HIRSCHHORN: Sorry. 941 00:46:50,611 --> 00:46:56,272 >> PUBLIEK: Return vondst wortel wijst naar links komma i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON HIRSCHHORN: Dus als ri groter dan het ding in de boom, we willen 944 00:47:08,440 --> 00:47:09,573 ga naar links? 945 00:47:09,573 --> 00:47:11,790 >> PUBLIEK: Nee, ik had dat geschakeld. 946 00:47:11,790 --> 00:47:13,040 >> JASON HIRSCHHORN: Welke? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> PUBLIEK: Nee, ja. 949 00:47:16,950 --> 00:47:19,050 Ik heb een minder dan ondertekenen daar. 950 00:47:19,050 --> 00:47:22,890 >> JASON HIRSCHHORN: Rechts, als ri is minder dan wat er in de wortel - 951 00:47:22,890 --> 00:47:25,660 onze huidige wortel - dan we wil naar links. 952 00:47:25,660 --> 00:47:26,960 En wat is de laatste regel, je? 953 00:47:26,960 --> 00:47:30,930 >> PUBLIEK: In principe is het zelfde ding, behalve schakelaar groter dan of 954 00:47:30,930 --> 00:47:34,690 gelijk aan minder dan en van links naar rechts. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON HIRSCHHORN: Excellent. 957 00:47:43,680 --> 00:47:48,430 Heeft iemand enig vragen hierover? 958 00:47:48,430 --> 00:47:52,560 Dus sommige andere dingen die zouden hebben juist geweest is dat 959 00:47:52,560 --> 00:47:53,810 de ltiff zijn. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Guess, technisch gezien, geen van deze echt moeten ook-ltiff zijn. 962 00:47:59,520 --> 00:48:00,950 >> Ook is er waarschijnlijk alleen een geval hier beneden. 963 00:48:00,950 --> 00:48:02,380 Dus dat is waarschijnlijk je laatste geval. 964 00:48:02,380 --> 00:48:04,000 Je hoeft niet eens dat-ltiff nodig. 965 00:48:04,000 --> 00:48:06,160 Maar waarschijnlijk goed om te schrijven het, om duidelijk te zijn. 966 00:48:06,160 --> 00:48:06,660 Yeah. 967 00:48:06,660 --> 00:48:09,200 >> PUBLIEK: Dus je denkt niet dat de quiz - als wij fouten maken, bijvoorbeeld, 968 00:48:09,200 --> 00:48:11,725 in syntax - 969 00:48:11,725 --> 00:48:13,990 kleine fouten in de syntaxis - 970 00:48:13,990 --> 00:48:17,810 hoe werkt dat krijgen genomen in de quiz? 971 00:48:17,810 --> 00:48:21,300 >> JASON HIRSCHHORN: Over het algemeen op de quiz, kleine fouten in de syntaxis of kleine 972 00:48:21,300 --> 00:48:24,010 stijlfouten niet verlies je punten. 973 00:48:24,010 --> 00:48:26,610 Dus als je een puntkomma vergeten hier, zou het OK zijn. 974 00:48:26,610 --> 00:48:30,290 Als je vergeten bent om dit haakje sluiten, dat OK zou zijn. 975 00:48:30,290 --> 00:48:34,880 >> Enorme syntax fouten die het veranderen functionele betekenis van je code 976 00:48:34,880 --> 00:48:37,600 dramatisch, misschien krijg je gehaald punten voor. 977 00:48:37,600 --> 00:48:40,330 Of in het algemeen, maar de indeling van je over het al dan niet uw 978 00:48:40,330 --> 00:48:42,150 code functies, zelfs - 979 00:48:42,150 --> 00:48:44,830 niet het ontwerp zo veel, en niet zijn stijl. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Laten we nu de code van een iteratief versie van find. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Dus het gaat redelijk vergelijkbaar zijn, maar Er zijn zeker gaan worden 984 00:49:03,450 --> 00:49:06,250 enkele belangrijke verschillen. 985 00:49:06,250 --> 00:49:09,160 Echter, onze pseudocode kan waarschijnlijk gaan - 986 00:49:09,160 --> 00:49:11,610 kunnen we nog wel een regel van de pseudocode en uitzoeken wat de 987 00:49:11,610 --> 00:49:14,160 lijn is in dit geval. 988 00:49:14,160 --> 00:49:18,010 >> Dus een iteratieve versie, welke denk je, Julia, moet 989 00:49:18,010 --> 00:49:19,260 zijn de eerste lijn? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> PUBLIEK: Nogmaals, in iteratieve boolean, je moet het opzetten van een lus, toch? 992 00:49:26,920 --> 00:49:27,660 >> JASON HIRSCHHORN: OK. 993 00:49:27,660 --> 00:49:38,480 >> PUBLIEK: Dus voor als, k, voor x gelijk is aan 0, x is kleiner dan ik. 994 00:49:38,480 --> 00:49:42,260 Of geen, x is dan de grootte van de boom. 995 00:49:42,260 --> 00:49:42,760 >> JASON HIRSCHHORN: The tree. 996 00:49:42,760 --> 00:49:46,660 Dus we weten niet echt de grootte van de boom, en we weten niet echt voor 997 00:49:46,660 --> 00:49:48,900 hoe vaak we kunnen gaan, dus wat is een ander type lus die misschien 998 00:49:48,900 --> 00:49:50,150 beter in dit geval? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> PUBLIEK: Indien anders? 1001 00:49:55,244 --> 00:49:57,070 >> JASON HIRSCHHORN: Indien anders kan een lus niet. 1002 00:49:57,070 --> 00:49:58,935 Dus wat is een soort lus kunnen we gewoon gaan tot sommige gevallen wordt voldaan? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Wat is de enige andere soort lus in C naast een lus? 1005 00:50:11,560 --> 00:50:11,930 >> PUBLIEK: Hoewel. 1006 00:50:11,930 --> 00:50:13,380 >> JASON HIRSCHHORN: Terwijl, precies. 1007 00:50:13,380 --> 00:50:16,430 In een while loop, niet moet weten hoe - 1008 00:50:16,430 --> 00:50:18,450 een while lus voor lus kan doen de precies hetzelfde, maar het leuke 1009 00:50:18,450 --> 00:50:21,500 over een tijdje lus die we niet nodig om te weten hoe groot onze boom. 1010 00:50:21,500 --> 00:50:23,060 Dus we gaan te gaan tot wat? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> PUBLIEK: Totdat het gelijk de grootte van - 1013 00:50:28,032 --> 00:50:32,320 >> JASON HIRSCHHORN: Nou, het is heel Soortgelijke onze recursief case. 1014 00:50:32,320 --> 00:50:33,360 Dus - 1015 00:50:33,360 --> 00:50:36,470 >> PUBLIEK: Terwijl wortel i is niet gelijk aan i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON HIRSCHHORN: Dat is echt dicht. 1017 00:50:37,620 --> 00:50:39,430 Terwijl wortel i - 1018 00:50:39,430 --> 00:50:40,610 laten we het proberen. 1019 00:50:40,610 --> 00:50:41,180 Ik denk niet dat [onverstaanbaar] 1020 00:50:41,180 --> 00:50:43,026 waar wortel i is niet gelijk aan i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 We moeten kunnen om het in een beetje veranderen beetje, maar dat klinkt alsof het is vrij 1023 00:50:49,460 --> 00:50:50,160 goed, voor nu. 1024 00:50:50,160 --> 00:50:51,710 Dus zullen we dat doen. 1025 00:50:51,710 --> 00:50:55,660 >> Vergeet ook niet, kunnen we niet aannemen per de vraag. 1026 00:50:55,660 --> 00:50:57,880 Je hoeft er niet van uit dat de wortel zal niet null. 1027 00:50:57,880 --> 00:51:01,914 Dus wat denk je dat het zeer eerste wat we moeten doen is? 1028 00:51:01,914 --> 00:51:02,770 >> PUBLIEK: Doe hetzelfde ding als voorheen. 1029 00:51:02,770 --> 00:51:05,260 Als de wortel gelijk is aan gelijken null, return false. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON HIRSCHHORN: Great. 1032 00:51:12,130 --> 00:51:13,820 Dus het zou kunnen zijn null. 1033 00:51:13,820 --> 00:51:15,810 Dus we willen om zich te ontdoen van het meteen. 1034 00:51:15,810 --> 00:51:19,560 En dan gaan we controleren of wortel i is niet gelijk aan i. 1035 00:51:19,560 --> 00:51:24,480 Dus zeggen dat we op zoek in deze boom voor 3, wortel ik niet gelijk ik, nu 1036 00:51:24,480 --> 00:51:25,950 we in onze while lus. 1037 00:51:25,950 --> 00:51:27,500 Wat willen we doen? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 En nogmaals, het zal mooi zijn Soortgelijke onze recursieve versie. 1040 00:51:35,430 --> 00:51:36,230 Yeah. 1041 00:51:36,230 --> 00:51:40,470 >> PUBLIEK: Dus je zou willen herhalen, of blijf naar beneden de boom zolang 1042 00:51:40,470 --> 00:51:42,400 de wortel is niet gelijk aan nul. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON HIRSCHHORN: Zolang de wortel is niet gelijk aan nul? 1045 00:51:46,640 --> 00:51:50,200 >> Publiek: De wortel dash i is niet gelijk aan nul. 1046 00:51:50,200 --> 00:51:51,220 Alleen de wortel, ja. 1047 00:51:51,220 --> 00:51:52,920 Als een lange als de wortel is niet gelijk aan null. 1048 00:51:52,920 --> 00:51:54,240 >> JASON HIRSCHHORN: Dus je wilt om dit te veranderen in de root 1049 00:51:54,240 --> 00:51:56,590 is niet gelijk aan nul? 1050 00:51:56,590 --> 00:51:59,020 >> PUBLIEK: Ja. 1051 00:51:59,020 --> 00:52:00,800 >> PUBLIEK: We kunnen combineren deze, toch? 1052 00:52:00,800 --> 00:52:02,990 We hoeven niet de als, in eerste instantie. 1053 00:52:02,990 --> 00:52:05,180 >> JASON HIRSCHHORN: OK, dus als we Niet doen - 1054 00:52:05,180 --> 00:52:08,140 als we ze combineren, dus we gaan doen terwijl de wortel is niet gelijk aan nul, en 1055 00:52:08,140 --> 00:52:10,800 indien de wortel gebeurt nul op het te zijn begin, wat doen we hier beneden doen? 1056 00:52:10,800 --> 00:52:11,450 >> PUBLIEK: return false. 1057 00:52:11,450 --> 00:52:12,730 >> JASON HIRSCHHORN: Great. 1058 00:52:12,730 --> 00:52:14,110 Dus beide manieren waarschijnlijk zou hebben gewerkt. 1059 00:52:14,110 --> 00:52:15,645 Dit is een andere manier en dit combineert het. 1060 00:52:15,645 --> 00:52:18,950 Maar nogmaals, als je hoe dan ook deed, we zijn niet van plan af te nemen ontwerp 1061 00:52:18,950 --> 00:52:19,800 wijst op de quiz. 1062 00:52:19,800 --> 00:52:21,020 Maar dit ziet er goed uit. 1063 00:52:21,020 --> 00:52:23,940 >> Dus terwijl wortel is niet gelijk null, wat is de eerste 1064 00:52:23,940 --> 00:52:25,400 wat willen we controleren? 1065 00:52:25,400 --> 00:52:26,330 Iemand anders? 1066 00:52:26,330 --> 00:52:29,720 Null, wat is het eerste ding? 1067 00:52:29,720 --> 00:52:32,850 >> PUBLIEK: Als ri lager is dan - 1068 00:52:32,850 --> 00:52:36,140 oh, ik denk dat, als we al vond het in de wortel. 1069 00:52:36,140 --> 00:52:40,830 Dus als wortel pijl i gelijk aan i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON HIRSCHHORN: Sorry? 1071 00:52:40,990 --> 00:52:45,840 >> PUBLIEK: Als wortel pijl i is gelijk aan gelijk aan i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON HIRSCHHORN: Wat doen we? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> PUBLIEK: return true. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON HIRSCHHORN: Great. 1077 00:52:59,280 --> 00:53:00,530 En wat is het volgende? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, wat is de volgende regel code? 1080 00:53:06,843 --> 00:53:16,190 >> PUBLIEK: Als ik minder dan wortel pijl i, dan wortel gelijk is aan wortel pijl links. 1081 00:53:16,190 --> 00:53:21,550 >> JASON HIRSCHHORN: Root gelijken wortel pijl naar links. 1082 00:53:21,550 --> 00:53:24,530 Dus dat is waarschijnlijk de grootste verschil is hier in dit iteratieve 1083 00:53:24,530 --> 00:53:26,600 versie in tegenstelling tot de recursieve versie. 1084 00:53:26,600 --> 00:53:28,970 De recursieve versie, we roepen nogmaals op de functietoets. 1085 00:53:28,970 --> 00:53:32,640 We zullen updaten wortel wanneer we de nieuwe functie aan te roepen. 1086 00:53:32,640 --> 00:53:34,170 Hier hebben we het niet een nieuwe functie te bellen. 1087 00:53:34,170 --> 00:53:37,610 We zijn gewoon updaten wortel in deze functie. 1088 00:53:37,610 --> 00:53:38,880 Dat is uitstekend. 1089 00:53:38,880 --> 00:53:40,730 En wat is de laatste regel van de code? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Ja, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> PUBLIEK: Else wortel gelijken wortel pijl rechts. 1093 00:53:48,290 --> 00:53:49,492 >> JASON HIRSCHHORN: Sorry? 1094 00:53:49,492 --> 00:53:52,340 >> PUBLIEK: Root gelijken wortel pijl rechts. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON HIRSCHHORN: Kunt u ook schrijf iets als dit? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> Publiek: Ik heb geen idee. 1099 00:54:03,890 --> 00:54:05,140 >> JASON HIRSCHHORN: Je kunt niet. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Je kunt niet doen plus gelijken. 1102 00:54:08,270 --> 00:54:10,780 OK, dus dit ziet er goed uit. 1103 00:54:10,780 --> 00:54:13,620 Waarom gaan we niet gewoon doen dat om het op te ruimen. 1104 00:54:13,620 --> 00:54:15,220 Dit ziet er geweldig uit, en dit zou werken. 1105 00:54:15,220 --> 00:54:16,920 En we zouden uitbreken. 1106 00:54:16,920 --> 00:54:21,460 >> Als wortel links nietig was of de wortel rechts nietig was, zouden we hier te komen. 1107 00:54:21,460 --> 00:54:22,470 Root zou gelijk zijn aan nul zijn. 1108 00:54:22,470 --> 00:54:24,270 We willen van onze lus te breken, en we zouden valse terugkeren. 1109 00:54:24,270 --> 00:54:26,280 Dus toen we uit te breken van de lus, we return false. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> En nogmaals, het een tijdje loop was perfect hier omdat we niet weten hoe 1112 00:54:32,793 --> 00:54:33,850 grote onze boom is. 1113 00:54:33,850 --> 00:54:36,460 We hebben geprobeerd om het te schrijven voor de loop, maar we realiseerde je hebt om erachter te komen hoe 1114 00:54:36,460 --> 00:54:37,410 groot het is van tevoren. 1115 00:54:37,410 --> 00:54:38,720 Yeah. 1116 00:54:38,720 --> 00:54:41,790 >> PUBLIEK: Als dit niet een binaire zoekboom, zou het echt wiskunde-y zijn 1117 00:54:41,790 --> 00:54:44,220 om het iteratief schrijven, toch? 1118 00:54:44,220 --> 00:54:47,170 Zoals, als was het een boom, maar niet noodzakelijkerwijs - 1119 00:54:47,170 --> 00:54:49,730 dus het was niet kleiner links, en al groter aan de rechterkant. 1120 00:54:49,730 --> 00:54:52,540 Het zou wel heel moeilijk zijn te itereren over, toch? 1121 00:54:52,540 --> 00:54:55,720 We zouden moeten redden wat er eerder was op in de boom en ga terug, 1122 00:54:55,720 --> 00:54:56,970 en dat soort dingen. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON HIRSCHHORN: Als het niet een binair zoekboom, al was het maar een 1125 00:55:02,010 --> 00:55:04,740 boom en dingen waren niet gesorteerd als dit - 1126 00:55:04,740 --> 00:55:07,440 en we eerder realiseerde toen Anna was ons te helpen dat het maken van het 1127 00:55:07,440 --> 00:55:08,800 gesorteerde helpt ons veel - 1128 00:55:08,800 --> 00:55:12,610 we zouden moeten, ja, altijd sparen waar we eerder waren. 1129 00:55:12,610 --> 00:55:14,430 Maar veel kan waar we waren previouslys. 1130 00:55:14,430 --> 00:55:17,730 Er zou een veel ouder knooppunten. 1131 00:55:17,730 --> 00:55:22,530 >> Waarschijnlijk de beste manier om dat te doen zou zijn om te houden dingen duwen op sommige 1132 00:55:22,530 --> 00:55:24,170 type stack of wachtrij. 1133 00:55:24,170 --> 00:55:26,030 Je zou nooit moeten deze code want het is een moeilijk probleem. 1134 00:55:26,030 --> 00:55:30,820 Maar je sommige dingen te duwen op een stapel of wachtrij en dan knallen ze af, en 1135 00:55:30,820 --> 00:55:31,890 vervolgens te evalueren. 1136 00:55:31,890 --> 00:55:34,200 >> En dan hebben enkele ander ding waar je eigenlijk zetten de knooppunten, en 1137 00:55:34,200 --> 00:55:36,090 maak dan dat, en dan zoeken door dat. 1138 00:55:36,090 --> 00:55:38,700 Dat zou de beste manier om het te doen. 1139 00:55:38,700 --> 00:55:42,410 OK, vragen over dit probleem? 1140 00:55:42,410 --> 00:55:44,670 >> PUBLIEK: Dit is op een verwante nota. 1141 00:55:44,670 --> 00:55:50,460 Zullen we moeten doorlooptijden vergelijken voor hash tables, binaire 1142 00:55:50,460 --> 00:55:52,160 zoekbomen, et cetera? 1143 00:55:52,160 --> 00:55:54,310 >> JASON HIRSCHHORN: Waarschijnlijk. 1144 00:55:54,310 --> 00:55:56,150 Dus laten we dat doen heel snel. 1145 00:55:56,150 --> 00:55:58,490 Run tijd voor hash table - 1146 00:55:58,490 --> 00:55:59,090 wat zijn de anderen? 1147 00:55:59,090 --> 00:56:00,050 Binaire boom? 1148 00:56:00,050 --> 00:56:02,920 >> PUBLIEK: Link lijsten. 1149 00:56:02,920 --> 00:56:04,780 >> JASON HIRSCHHORN: OK, laten we het doen insert. 1150 00:56:04,780 --> 00:56:09,980 Wat is de big O van insert op een hash table? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Wat zijn de uitgangspunten je maakt? 1153 00:56:15,285 --> 00:56:17,760 >> PUBLIEK: Je invoegen op de het begin van de link lijst. 1154 00:56:17,760 --> 00:56:19,860 >> JASON HIRSCHHORN: Waarschijnlijk de eerste aanname is er geen botsingen. 1155 00:56:19,860 --> 00:56:22,340 Als er geen botsingen, dan het inbrengen is een. 1156 00:56:22,340 --> 00:56:26,560 Als er botsingen, en je bent doet aparte chaining en invoegen 1157 00:56:26,560 --> 00:56:31,880 aan het begin van de koppellijst, dan is insertie constant. 1158 00:56:31,880 --> 00:56:34,700 >> Als je doet een hash table, maar je bent een andere methode om 1159 00:56:34,700 --> 00:56:36,040 met botsingen, wat is een andere methode? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Wat is een andere methode om met 1162 00:56:42,960 --> 00:56:44,205 botsing in een hash table? 1163 00:56:44,205 --> 00:56:44,915 >> PUBLIEK: Lineair programmeren. 1164 00:56:44,915 --> 00:56:45,540 >> JASON HIRSCHHORN: Lineair programmeren. 1165 00:56:45,540 --> 00:56:47,770 Dus we gaan om te blijven kijken voor de volgende open plek. 1166 00:56:47,770 --> 00:56:50,390 Dat is niet constant inbrengen tijd. 1167 00:56:50,390 --> 00:56:52,266 Je zou kunnen hebben om door te gaan de hele tabel, zodat 1168 00:56:52,266 --> 00:56:53,936 grote O van n zou kunnen zijn. 1169 00:56:53,936 --> 00:56:54,740 Yeah. 1170 00:56:54,740 --> 00:56:57,690 >> PUBLIEK: Anders gewoon koppelen? 1171 00:56:57,690 --> 00:57:00,160 >> JASON HIRSCHHORN: We deden aparte chaining. 1172 00:57:00,160 --> 00:57:00,720 Dat was de eerste. 1173 00:57:00,720 --> 00:57:01,560 Dat is wat de link lijst. 1174 00:57:01,560 --> 00:57:03,720 De fantasienaam is gescheiden chaining. 1175 00:57:03,720 --> 00:57:06,880 Het kan elk type lijst structuur we toevallig om te doen in verband lijst. 1176 00:57:06,880 --> 00:57:10,490 >> Dus nogmaals, de plaatsing op een hash table constant kon zijn. 1177 00:57:10,490 --> 00:57:13,160 Hoe zit het inbrengen op een stapelaar wachtrij? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> PUBLIEK: Is dat niet constant? 1180 00:57:20,640 --> 00:57:21,530 >> JASON HIRSCHHORN: Het is constante tijd. 1181 00:57:21,530 --> 00:57:23,420 Je bent gewoon erop te drukken. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Inbrengen, wat waren de anderen? 1184 00:57:25,380 --> 00:57:27,100 Op een keer te proberen? 1185 00:57:27,100 --> 00:57:30,252 Wat is big O van plaatsing op een keer te proberen? 1186 00:57:30,252 --> 00:57:32,808 >> PUBLIEK: Lengte is constant. 1187 00:57:32,808 --> 00:57:34,560 Lengte van de langste - 1188 00:57:34,560 --> 00:57:36,998 de lengte van het woord je invoegt. 1189 00:57:36,998 --> 00:57:38,210 >> JASON HIRSCHHORN: Sorry? 1190 00:57:38,210 --> 00:57:39,120 Wacht, dus wat heb ik gehoord? 1191 00:57:39,120 --> 00:57:40,260 Je zei - wat zeg je? 1192 00:57:40,260 --> 00:57:41,650 Wat was uw antwoord, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> Publiek: De lengte van het woord je invoegt in karakters, 1194 00:57:43,640 --> 00:57:45,480 de veronderstelling dat het een teken proberen. 1195 00:57:45,480 --> 00:57:46,840 >> JASON HIRSCHHORN: OK, dus de lengte van het woord. 1196 00:57:46,840 --> 00:57:49,500 We zullen een veronderstelling maken dat het is een reeks tekens. 1197 00:57:49,500 --> 00:57:51,930 Je zei iets anders, dat wel. 1198 00:57:51,930 --> 00:57:55,490 Je zei dat de lengte van langste woord. 1199 00:57:55,490 --> 00:57:57,600 >> PUBLIEK: Dat is gewoon een constante, toch? 1200 00:57:57,600 --> 00:57:58,440 >> JASON HIRSCHHORN: Waarom zou het zijn constant? 1201 00:57:58,440 --> 00:58:00,970 >> PUBLIEK: Zoals, als je grote O gebruiken notatie, dan is het niet variëren op basis 1202 00:58:00,970 --> 00:58:04,680 het aantal dingen zijn al in de try. 1203 00:58:04,680 --> 00:58:07,344 >> JASON HIRSCHHORN: Dus zouden we zeggen dat het constante tijd. 1204 00:58:07,344 --> 00:58:11,840 Het constant insertie en dat komt omdat dit idee - 1205 00:58:11,840 --> 00:58:14,820 zeggen dat we een woord dat is 45, of een woord dat is 60, dat 1206 00:58:14,820 --> 00:58:16,800 een constant aantal. 1207 00:58:16,800 --> 00:58:21,050 En het zou gewoon ingevoegd constant in de tijd. 1208 00:58:21,050 --> 00:58:26,060 >> In de praktijk echter, zou het niet, uiteraard gebeuren in een milliseconde, 1209 00:58:26,060 --> 00:58:26,590 bijvoorbeeld. 1210 00:58:26,590 --> 00:58:28,880 Maar we zouden zeggen grote O is constante voor een try. 1211 00:58:28,880 --> 00:58:31,330 En dat is een van haar grootste voordelen. 1212 00:58:31,330 --> 00:58:33,330 >> Hoe zit het met het inbrengen in een lijst met links? 1213 00:58:33,330 --> 00:58:37,220 Gewoon een generieke, gesorteerd lijst met links? 1214 00:58:37,220 --> 00:58:37,700 Yeah. 1215 00:58:37,700 --> 00:58:38,530 >> Publiek: Ik had een vraag. 1216 00:58:38,530 --> 00:58:42,670 Op de test, zouden ze ons de steeds vragen invoegtijd dat is vier stappen, 1217 00:58:42,670 --> 00:58:43,270 of zoiets? 1218 00:58:43,270 --> 00:58:44,300 Of is het gewoon - 1219 00:58:44,300 --> 00:58:47,670 als je zegt invoegtijd is een, dat betekent constante tijd? 1220 00:58:47,670 --> 00:58:49,770 >> JASON HIRSCHHORN: Ja, zouden ze altijd vragen, is het grote O van n? 1221 00:58:49,770 --> 00:58:51,440 Big O van log n? 1222 00:58:51,440 --> 00:58:53,960 N kwadraat constant. 1223 00:58:53,960 --> 00:58:56,520 Dat zijn echt de enige die je moet weten. 1224 00:58:56,520 --> 00:58:58,420 Hoe zit het inbrengen op gesorteerd lijst met links? 1225 00:58:58,420 --> 00:58:59,440 >> Publiek: Ik had een vraag - 1226 00:58:59,440 --> 00:58:59,980 een vraag - 1227 00:58:59,980 --> 00:59:01,060 >> JASON HIRSCHHORN: Wat is het antwoord op die vraag, hoewel? 1228 00:59:01,060 --> 00:59:02,120 >> PUBLIEK: Wacht, wat heb je vragen? 1229 00:59:02,120 --> 00:59:06,750 >> JASON HIRSCHHORN: Wat is big O van inbrengen in een gesorteerde lijst met links? 1230 00:59:06,750 --> 00:59:07,070 >> PUBLIEK: One? 1231 00:59:07,070 --> 00:59:09,400 Nee wacht, Nee wacht, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON HIRSCHHORN: N. Naast de link lijst. 1233 00:59:11,420 --> 00:59:12,706 En wat was je vraag? 1234 00:59:12,706 --> 00:59:16,440 >> PUBLIEK: Dus zou je schrijft o van k of o van 1 voor de - 1235 00:59:16,440 --> 00:59:18,150 >> JASON HIRSCHHORN: Oh. 1236 00:59:18,150 --> 00:59:21,830 Ik zou schrijven o van 1, waarschijnlijk. 1237 00:59:21,830 --> 00:59:24,160 Er was een andere gegevensstructuur zo goed zou zijn. 1238 00:59:24,160 --> 00:59:25,730 Boom, binaire zoekboom. 1239 00:59:25,730 --> 00:59:27,510 Wat is de plaatsing op een binaire zoekboom? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> PUBLIEK: Login. 1242 00:59:33,900 --> 00:59:39,260 >> JASON HIRSCHHORN: Dus, wat is het ergste geval in een binaire zoekboom? 1243 00:59:39,260 --> 00:59:45,350 Dus als we toevallig beginnen bij 5, en elke nummer groter is dan 5, dan 1244 00:59:45,350 --> 00:59:48,760 we hebben 5, 7, 9, 11, et cetera. 1245 00:59:48,760 --> 00:59:52,255 In dit geval, het is eigenlijk gewoon een link lijst, en we moeten allemaal in te voegen 1246 00:59:52,255 --> 00:59:52,680 helemaal aan het einde. 1247 00:59:52,680 --> 00:59:54,350 Dus het is big O van n. 1248 00:59:54,350 --> 00:59:57,720 >> Dat zou onze slechtste geval zijn op een binaire zoekboom. 1249 00:59:57,720 --> 01:00:00,890 Uiteraard, zou je nooit bouwen een binaire zoekboom met 5 in de 1250 01:00:00,890 --> 01:00:04,270 midden, wetende 5 zou als laagste nummer. 1251 01:00:04,270 --> 01:00:08,030 Maar het zou kunnen zijn, als je vanaf nul te beginnen. 1252 01:00:08,030 --> 01:00:10,980 Eventuele vragen over deze voordat ik verhuizen naar een andere vraag? 1253 01:00:10,980 --> 01:00:11,560 Dat was een goede vraag. 1254 01:00:11,560 --> 01:00:15,100 Ik zou grote O van weten - 1255 01:00:15,100 --> 01:00:18,620 >> Publiek: Hoe zit het met het zoeken voor deze vier? 1256 01:00:18,620 --> 01:00:20,400 >> JASON HIRSCHHORN: Zeker wij had zoeken en sorteren. 1257 01:00:20,400 --> 01:00:22,160 We deden al die algoritmes, rechts. 1258 01:00:22,160 --> 01:00:23,390 Wacht, was dat voor Quiz 1? 1259 01:00:23,390 --> 01:00:23,980 Werd dat gedekt - 1260 01:00:23,980 --> 01:00:25,860 heb je al dat vraag op Quiz 1? 1261 01:00:25,860 --> 01:00:29,650 De grote O runtime van binary search, insertion sort, bubble sort? 1262 01:00:29,650 --> 01:00:30,160 >> PUBLIEK: Ja. 1263 01:00:30,160 --> 01:00:32,790 >> JASON HIRSCHHORN: Als je had dat vraag op Quiz 0, is de kans groot dat u niet 1264 01:00:32,790 --> 01:00:35,180 krijgen exact dezelfde vraag op Quiz 1. 1265 01:00:35,180 --> 01:00:36,300 Zou nog steeds goed zijn om die te leren kennen. 1266 01:00:36,300 --> 01:00:38,520 U moet hopelijk weten gh reeds. 1267 01:00:38,520 --> 01:00:40,740 >> Maar andere logaritmische runtimes zijn waarschijnlijk goed om te weten. 1268 01:00:40,740 --> 01:00:42,890 Dingen die niet waren gedekt op Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Net als al deze actoren op deze abstracte data types. 1270 01:00:47,300 --> 01:00:50,760 >> OK, laten we verder gaan. 1271 01:00:50,760 --> 01:00:52,190 Dit moet men vrij snel zijn. 1272 01:00:52,190 --> 01:00:56,170 En dit is een nieuwe taal hebben we niet eigenlijk gecodeerd voor. 1273 01:00:56,170 --> 01:00:59,300 Dit is een vraag te stellen om code in PHP. 1274 01:00:59,300 --> 01:01:01,950 Dus overweeg onder de PHP array. 1275 01:01:01,950 --> 01:01:06,150 Schrijf PHP en / of HTML codes zodanig dat voert een tabel met twee kolommen met TFs 1276 01:01:06,150 --> 01:01:08,810 namen en huizen. 1277 01:01:08,810 --> 01:01:11,600 >> Je hebt nog nooit eerder gedaan, dit specifieke probleem. 1278 01:01:11,600 --> 01:01:16,270 Maar dit moet zeer vertrouwd te zijn wat u in probleem deed set 7. 1279 01:01:16,270 --> 01:01:21,250 Dus ik zou bereid zijn om wed dat je zal zijn gevraagd om iets in PHP code die 1280 01:01:21,250 --> 01:01:23,880 is zeer vergelijkbaar met wat je deed in opdracht gesteld 7. 1281 01:01:23,880 --> 01:01:26,300 >> Ten eerste array is niet specifiek. 1282 01:01:26,300 --> 01:01:28,140 Welk type array is dit? 1283 01:01:28,140 --> 01:01:29,080 >> PUBLIEK: Associatieve. 1284 01:01:29,080 --> 01:01:31,250 >> JASON HIRSCHHORN: Het is een associatieve array. 1285 01:01:31,250 --> 01:01:33,750 En wat is het verschil tussen een associatieve array en een object? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> PUBLIEK: een object array heeft een index van gehele getallen, en een associatieve array 1288 01:01:44,857 --> 01:01:47,814 is een index van een string, of iets dergelijks. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON HIRSCHHORN: Dus een array van objecten zou indices van hebben 1291 01:01:54,880 --> 01:01:57,090 gehele getallen, maar een object velden. 1292 01:01:57,090 --> 01:02:01,590 Het heeft die velden namen als naam, huis, student. 1293 01:02:01,590 --> 01:02:03,720 Heeft u een idee? 1294 01:02:03,720 --> 01:02:06,630 >> PUBLIEK: Nou, associatieve array in PHP, toch? 1295 01:02:06,630 --> 01:02:07,880 En object in JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON HIRSCHHORN: Eerlijk gezegd, er is geen verschil tussen de twee. 1298 01:02:14,820 --> 01:02:19,540 Beide hebben snaren als de toetsen, en kan hebben eigenlijk alles als waarde. 1299 01:02:19,540 --> 01:02:21,250 Verschillende talen bel een ding associatieve array, 1300 01:02:21,250 --> 01:02:22,750 een ding een object. 1301 01:02:22,750 --> 01:02:25,960 Dus eerlijk gezegd, is er geen echte verschil, maar er is zeker een aantal 1302 01:02:25,960 --> 01:02:27,730 syntactische verschillen tussen de twee. 1303 01:02:27,730 --> 01:02:28,200 Yeah. 1304 01:02:28,200 --> 01:02:33,580 >> PUBLIEK: Dus is object ook gecodeerd onder de kap als een hash table, dan? 1305 01:02:33,580 --> 01:02:35,796 >> JASON HIRSCHHORN: Wat doe je bedoel, gecodeerd onder de motorkap? 1306 01:02:35,796 --> 01:02:38,017 >> PUBLIEK: We kregen te horen dat associatieve serie was technisch een 1307 01:02:38,017 --> 01:02:39,960 hash table. 1308 01:02:39,960 --> 01:02:44,510 Dus is ook technisch object een hash table? 1309 01:02:44,510 --> 01:02:45,350 >> JASON HIRSCHHORN: Ik ga niet om die vraag te beantwoorden. 1310 01:02:45,350 --> 01:02:46,600 Ik kom terug om je op dat. 1311 01:02:46,600 --> 01:02:48,980 Maar ik zou niet denken van een van beide van hen als dat. 1312 01:02:48,980 --> 01:02:53,790 Maar in elk geval, associatieve array en object, in het algemeen, mensen gebruiken die 1313 01:02:53,790 --> 01:02:54,910 termen door elkaar. 1314 01:02:54,910 --> 01:02:57,630 In dit geval, de koele deel is dat je kunt toetsen. 1315 01:02:57,630 --> 01:03:00,580 Snaren sleutels, dan gewoon simpele nummers. 1316 01:03:00,580 --> 01:03:02,070 >> Dus ik heb het over dit voor een tijdje. 1317 01:03:02,070 --> 01:03:04,090 Hopelijk hebben sommige mensen gekregen begon op dit punt. 1318 01:03:04,090 --> 01:03:08,050 We gaan een aantal PHP en HTML te schrijven code, zodanig dat we een twee-koloms 1319 01:03:08,050 --> 01:03:11,830 tafel met TFs namen en huizen. 1320 01:03:11,830 --> 01:03:15,380 >> OK, ik zou ook graag een header rij op deze tafel. 1321 01:03:15,380 --> 01:03:18,410 Dus ik ga maar meteen in deze. 1322 01:03:18,410 --> 01:03:20,770 We gaan naar bestand, nieuw, en we gaan - 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 Hoe start ik een tafel? 1326 01:03:29,970 --> 01:03:32,090 Wat is de tag, Michael, een tafel beginnen? 1327 01:03:32,090 --> 01:03:32,890 >> PUBLIEK: Tabel. 1328 01:03:32,890 --> 01:03:34,020 >> JASON HIRSCHHORN: Tabel. 1329 01:03:34,020 --> 01:03:37,870 En als ik een tag opent, is wat anders heb ik nodig? 1330 01:03:37,870 --> 01:03:39,810 >> PUBLIEK: Een hoofd? 1331 01:03:39,810 --> 01:03:41,040 Of, denk ik, klasse. 1332 01:03:41,040 --> 01:03:41,730 >> JASON HIRSCHHORN: Dus, sorry. 1333 01:03:41,730 --> 01:03:45,430 Neem aan dat we al geschreven doctab, HTML, al dat spul. 1334 01:03:45,430 --> 01:03:50,230 Maar als ik deze tabel tag opent, is wat anders moet ik schrijven? 1335 01:03:50,230 --> 01:03:53,450 voor valideren van HTML? 1336 01:03:53,450 --> 01:03:55,000 >> PUBLIEK: Sluit het. 1337 01:03:55,000 --> 01:03:56,050 >> JASON HIRSCHHORN: Sluit de tag. 1338 01:03:56,050 --> 01:03:57,575 Hoe schrijf ik een close-table tag? 1339 01:03:57,575 --> 01:03:59,580 >> PUBLIEK: Dot slash tafel. 1340 01:03:59,580 --> 01:04:00,960 >> JASON HIRSCHHORN: Slash tafel, geweldig. 1341 01:04:00,960 --> 01:04:02,730 Waarschijnlijk zinvol om zowel te schrijven van die samen omdat 1342 01:04:02,730 --> 01:04:03,870 je hebt om het te doen. 1343 01:04:03,870 --> 01:04:08,575 OK, als ik wil een kopregel, hoe Ik schrijf een kopregel met titels? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> PUBLIEK: Is het minder dan 10 uur in de buurt - 1346 01:04:19,290 --> 01:04:21,550 TR, ja. 1347 01:04:21,550 --> 01:04:22,100 >> JASON HIRSCHHORN: TR? 1348 01:04:22,100 --> 01:04:25,080 >> PUBLIEK: Dan hetzelfde, de slash, ja. 1349 01:04:25,080 --> 01:04:26,610 >> JASON HIRSCHHORN: OK, en geef me twee kolommen. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> PUBLIEK: 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 Ik wil twee kolommen. 1355 01:04:39,520 --> 01:04:40,960 Geeft dit me twee kolommen? 1356 01:04:40,960 --> 01:04:43,880 Hoeveel kolommen is dit? 1357 01:04:43,880 --> 01:04:45,920 One. 1358 01:04:45,920 --> 01:04:47,170 Dus laten we kopieer en plak deze. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Dus eigenlijk, op de quiz, al deze code dat we tot nu toe was heb geschreven 1361 01:05:03,390 --> 01:05:04,710 eigenlijk aan u gegeven. 1362 01:05:04,710 --> 01:05:06,200 Maar je moet waarschijnlijk nog weten hoe het te schrijven. 1363 01:05:06,200 --> 01:05:06,470 Yeah. 1364 01:05:06,470 --> 01:05:10,636 >> PUBLIEK: Je huis is tussen de twee. 1365 01:05:10,636 --> 01:05:11,130 >> JASON HIRSCHHORN: Boom. 1366 01:05:11,130 --> 01:05:12,720 Het moet daar gaan, toch? 1367 01:05:12,720 --> 01:05:14,600 Goed gesprek. 1368 01:05:14,600 --> 01:05:17,760 Dus nogmaals, al die code is eigenlijk aan u gegeven op de werkelijke quiz. 1369 01:05:17,760 --> 01:05:19,570 Maar het is leuk om het te schrijven, en je moet weten hoe om het te schrijven. 1370 01:05:19,570 --> 01:05:23,640 Dus dit is waar je moet om uw code te starten. 1371 01:05:23,640 --> 01:05:25,150 Wat hebben we nodig om hier te schrijven? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Sorry, ik moet veranderen de naam van dit bestand. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Dus we opgeslagen in een. HTML-bestand, niet in een. PHP-bestand. 1376 01:05:44,270 --> 01:05:47,030 Deze dingen zou niets betekenen in een. PHP-bestand. 1377 01:05:47,030 --> 01:05:48,500 Dus we zitten in een. HTML-bestand. 1378 01:05:48,500 --> 01:05:50,090 Wat is het eerste wat Ik moet schrijven? 1379 01:05:50,090 --> 01:05:52,990 Ik wil een aantal PHP zetten code in een HTML. 1380 01:05:52,990 --> 01:05:57,300 >> PUBLIEK: PHP, zoals een andere wortel en vraagteken PHP, toch? 1381 01:05:57,300 --> 01:05:58,310 >> JASON HIRSCHHORN: Great. 1382 01:05:58,310 --> 01:05:59,360 En hoe kan ik uiteindelijk dat? 1383 01:05:59,360 --> 01:06:02,510 >> PUBLIEK: Met een vraagteken. 1384 01:06:02,510 --> 01:06:03,120 >> JASON HIRSCHHORN: Dat is geweldig. 1385 01:06:03,120 --> 01:06:07,090 Dat is het eerste wat ik nodig als ik wil sommige PHP-code zetten hier. 1386 01:06:07,090 --> 01:06:11,210 >> PUBLIEK:. Ik dacht dat een PHP bestand kon HTML nemen. 1387 01:06:11,210 --> 01:06:12,290 >> JASON HIRSCHHORN: Yeah. 1388 01:06:12,290 --> 01:06:15,330 Een. PHP bestand kan sommige nemen HTML en worden getoond. 1389 01:06:15,330 --> 01:06:16,450 Dat was mijn fout. 1390 01:06:16,450 --> 01:06:18,300 Ik probeerde na te bootsen wat het was op de quiz. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, sorry om u te verwarren. 1393 01:06:24,720 --> 01:06:25,550 Ja, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Nu gaan we zetten sommige PHP-code in 1395 01:06:27,340 --> 01:06:30,530 Wat is de eerste regel van PHP code die ik moet schrijven? 1396 01:06:30,530 --> 01:06:33,360 Ik ga om te gaan door deze array en maken het in een tabel. 1397 01:06:33,360 --> 01:06:34,600 Yeah. 1398 01:06:34,600 --> 01:06:37,160 >> PUBLIEK: U kunt gebruik maken van een voor H lus of een lus. 1399 01:06:37,160 --> 01:06:38,415 >> JASON HIRSCHHORN: OK, wat wilt u gebruiken? 1400 01:06:38,415 --> 01:06:40,720 >> Publiek: Ik zou gebruiken voor lus. 1401 01:06:40,720 --> 01:06:48,700 Voor, en dan moet je doen dollarteken i gelijk is aan 0 puntkomma dollar 1402 01:06:48,700 --> 01:06:51,580 teken dat ik minder dan 2. 1403 01:06:51,580 --> 01:06:55,455 En dan puntkomma i dollar ondertekenen i plus plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON HIRSCHHORN: Hoe u weet dat een 2 te gebruiken? 1406 01:07:03,880 --> 01:07:10,444 >> PUBLIEK: Omdat er twee associatieve arrays binnen de grotere 1407 01:07:10,444 --> 01:07:11,960 associatieve array. 1408 01:07:11,960 --> 01:07:13,610 >> JASON HIRSCHHORN: Dus de grote ding is niet een associate array. 1409 01:07:13,610 --> 01:07:15,500 Het grote ding is gewoon een normale array. 1410 01:07:15,500 --> 01:07:17,380 Maar je hebt gelijk, er zijn twee associatieve arrays 1411 01:07:17,380 --> 01:07:18,910 in onze grotere array. 1412 01:07:18,910 --> 01:07:20,310 Dat is waarom je twee gebruiken. 1413 01:07:20,310 --> 01:07:24,270 Ik voel me ongemakkelijk in de veronderstelling dat ze zijn 2, dus wat is een manier om te schrijven 1414 01:07:24,270 --> 01:07:26,810 dit zonder de veronderstelling dat ze 2? 1415 01:07:26,810 --> 01:07:27,507 >> PUBLIEK: [onverstaanbaar]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON HIRSCHHORN: OK, hoe denk je dat schrijven? 1417 01:07:29,165 --> 01:07:35,262 >> PUBLIEK: Foreach dollarteken tfs of als dollarteken tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON HIRSCHHORN: OK, dus voor elk tfs als tfs, ik wil, nu 1420 01:07:41,960 --> 01:07:43,650 weer, heb mijn tafel. 1421 01:07:43,650 --> 01:07:45,250 Dus wie kan mij de volgende regel code? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> PUBLIEK: Afdrukken en vervolgens in citaten, beugel tr einde 1424 01:07:59,810 --> 01:08:02,670 bracket, einde citaat. 1425 01:08:02,670 --> 01:08:05,300 Eind haakjes, puntkomma. 1426 01:08:05,300 --> 01:08:07,135 >> JASON HIRSCHHORN: OK, en wat dat gaat doen? 1427 01:08:07,135 --> 01:08:08,610 >> PUBLIEK: Het gaat om te zeggen, nieuwe rij. 1428 01:08:08,610 --> 01:08:11,070 Het gaat zet de taggen voor een nieuwe rij. 1429 01:08:11,070 --> 01:08:13,000 >> JASON HIRSCHHORN: Rechts, dit PHP, zoals we het eerder over had - dit 1430 01:08:13,000 --> 01:08:22,160 PHP zal worden geëvalueerd, en vervolgens het gaat om uit te printen om dit bestand een 1431 01:08:22,160 --> 01:08:26,350 tafel slepen, en dan is dat HTML wordt geëvalueerd. 1432 01:08:26,350 --> 01:08:27,810 We zijn dit gewoon kopiëren HTML we hadden hier. 1433 01:08:27,810 --> 01:08:28,120 Yeah. 1434 01:08:28,120 --> 01:08:29,470 >> PUBLIEK: [onverstaanbaar]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON HIRSCHHORN: Sorry? 1436 01:08:30,290 --> 01:08:31,240 Het is hier. 1437 01:08:31,240 --> 01:08:33,590 Herfst 2012. 1438 01:08:33,590 --> 01:08:35,970 Kijk niet naar de antwoorden, laten we lossen het samen. 1439 01:08:35,970 --> 01:08:37,330 Dus drukken we tabelrij. 1440 01:08:37,330 --> 01:08:38,550 Dus ben je waarschijnlijk in de swing van de dingen. 1441 01:08:38,550 --> 01:08:41,060 Wat is de volgende regel van code moeten we om te schrijven? 1442 01:08:41,060 --> 01:08:42,926 Assam, geef me de volgende regel code. 1443 01:08:42,926 --> 01:08:46,290 >> PUBLIEK: U moet de naam van de tf's. 1444 01:08:46,290 --> 01:08:54,319 Tf open haakjes, aanhalingsteken noem gesloten beugels. 1445 01:08:54,319 --> 01:08:57,310 >> JASON HIRSCHHORN: Geef me hun naam. 1446 01:08:57,310 --> 01:08:58,540 >> PUBLIEK: Je moet drukken dat. 1447 01:08:58,540 --> 01:08:59,790 >> [Onderbreekt hem VOICES] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON HIRSCHHORN: OK, Hoe druk ik het? 1450 01:09:03,430 --> 01:09:04,680 >> [Onderbreekt hem VOICES] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON HIRSCHHORN: ik mis iets nu. 1453 01:09:10,350 --> 01:09:12,470 Wat mis ik? 1454 01:09:12,470 --> 01:09:13,720 >> PUBLIEK: Je hebt een dollarteken. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON HIRSCHHORN: Wat anders mis ik? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Alles wat we tot nu toe hebben gedrukt is de tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> PUBLIEK: Sluit de tr na het. 1461 01:09:27,470 --> 01:09:28,720 >> JASON HIRSCHHORN: Dus moeten we de tr na sluiten. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Wie ziet wat we missen op lijn 16? 1464 01:09:37,906 --> 01:09:39,340 Ja, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> PUBLIEK: Je moet openen een td en accolades. 1466 01:09:47,050 --> 01:09:49,380 >> JASON HIRSCHHORN: En waar zetten we accolades? 1467 01:09:49,380 --> 01:09:51,790 >> PUBLIEK: Rond de naam tf. 1468 01:09:51,790 --> 01:09:53,080 >> JASON HIRSCHHORN: Zo? 1469 01:09:53,080 --> 01:09:55,420 >> PUBLIEK: Ja. 1470 01:09:55,420 --> 01:09:59,000 En sluit de td. 1471 01:09:59,000 --> 01:10:00,250 >> JASON HIRSCHHORN: Net als dat? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> PUBLIEK: Heeft u dubbele aanhalingstekens nodig streepjes op de accolades? 1474 01:10:06,950 --> 01:10:07,460 >> JASON HIRSCHHORN: Right here? 1475 01:10:07,460 --> 01:10:08,710 Nee, dat doe je niet. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Dus dat is precies goed. 1478 01:10:12,550 --> 01:10:12,940 Yeah. 1479 01:10:12,940 --> 01:10:15,290 >> PUBLIEK: Dus het verschil tussen deze en encatenating met stippen, indien 1480 01:10:15,290 --> 01:10:18,420 je punten gebruiken, zou je moeten hebben de dubbele aanhalingstekens, dan een punt, 1481 01:10:18,420 --> 01:10:20,370 vervolgens de stip - 1482 01:10:20,370 --> 01:10:20,520 >> JASON HIRSCHHORN: Correct. 1483 01:10:20,520 --> 01:10:23,800 Dus je zegt dat er een ultieme manier van schrijven van dit als dat. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Wat de samenvoegingsoperator in JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> PUBLIEK: Een plusteken. 1487 01:10:31,200 --> 01:10:34,710 Je vergat te zetten de accolade terug. 1488 01:10:34,710 --> 01:10:35,760 >> JASON HIRSCHHORN: Great. 1489 01:10:35,760 --> 01:10:38,850 En er is nog een regel van code ontbreekt. 1490 01:10:38,850 --> 01:10:40,130 Wie kan mij de laatste regel geven van code die we mist? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> PUBLIEK: Gewoon precies hetzelfde, gewoon met huis in plaats van de naam. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Groot 1495 01:10:53,450 --> 01:10:54,390 >> JASON HIRSCHHORN: Great. 1496 01:10:54,390 --> 01:10:59,320 En je syntax is precies goed voor om dingen in een geassocieerde array. 1497 01:10:59,320 --> 01:11:04,450 Dus in de eigenlijke quiz, je bent eigenlijk opgegeven tot hier. 1498 01:11:04,450 --> 01:11:05,710 Dus deze code werd gegeven aan u. 1499 01:11:05,710 --> 01:11:07,750 Het enige wat je moest schrijven waren deze vier lijnen en vergeet niet om 1500 01:11:07,750 --> 01:11:09,190 Sluit de tabel tag. 1501 01:11:09,190 --> 01:11:11,370 Jullie eigenlijk deed dat alles en meer. 1502 01:11:11,370 --> 01:11:11,810 Yeah. 1503 01:11:11,810 --> 01:11:14,850 >> Publiek: Dus het zou praktisch zijn hetzelfde als je gewoon had dat al in 1504 01:11:14,850 --> 01:11:17,250 een grote druk gesprek, toch? 1505 01:11:17,250 --> 01:11:19,630 En dan gewoon aaneengeschakeld het op, et cetera? 1506 01:11:19,630 --> 01:11:20,730 >> JASON HIRSCHHORN: Net als dat? 1507 01:11:20,730 --> 01:11:21,980 >> PUBLIEK: Ja. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Het zou gewoon niet goed uitzien als je naar te kijken als je het inspecteren 1510 01:11:26,940 --> 01:11:28,550 het element op uw website, toch? 1511 01:11:28,550 --> 01:11:29,800 >> JASON HIRSCHHORN: Ik ga akkoord. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Als ik geladen deze webpagina, zou ik zijn in staat om deze PHP code te zien, ooit? 1514 01:11:38,710 --> 01:11:39,240 >> PUBLIEK: Nee 1515 01:11:39,240 --> 01:11:40,080 >> JASON HIRSCHHORN: Nee. 1516 01:11:40,080 --> 01:11:42,240 En eigenlijk, zou ik niet doen. 1517 01:11:42,240 --> 01:11:43,920 >> PUBLIEK: Dit is geen HTML, toch? 1518 01:11:43,920 --> 01:11:45,000 Dus je zou in staat zijn om - 1519 01:11:45,000 --> 01:11:46,780 >> JASON HIRSCHHORN: Dus dit PHP zou geëvalueerd worden server-side. 1520 01:11:46,780 --> 01:11:51,020 PHP wordt altijd geëvalueerd server-side, dus je bent nooit in staat om PHP code te zien. 1521 01:11:51,020 --> 01:11:52,980 >> Publiek: Maar je zou in staat zijn om het resultaat zien van de prints. 1522 01:11:52,980 --> 01:11:53,480 >> JASON HIRSCHHORN: Juist. 1523 01:11:53,480 --> 01:11:55,510 En eerlijk gezegd zou niet zet het allemaal op de lijn. 1524 01:11:55,510 --> 01:11:59,740 Het kan formatteren mooi voor jou, of het zou het op een lijn. 1525 01:11:59,740 --> 01:12:01,521 Onduidelijk. 1526 01:12:01,521 --> 01:12:03,596 Maar ja, goed punt. 1527 01:12:03,596 --> 01:12:06,470 >> Publiek: Hoe komt het dat er geen tekst markeren voor 1528 01:12:06,470 --> 01:12:07,550 een van de PHP-opdrachten? 1529 01:12:07,550 --> 01:12:09,370 Want ik herinner me dat. 1530 01:12:09,370 --> 01:12:11,620 >> JASON HIRSCHHORN: Omdat het een . HTML-bestand hier aan de top. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Daar ga je. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> PUBLIEK: Als we de eerste methode met de voor loops, rechts, als we 1535 01:12:28,800 --> 01:12:33,500 wilde toegang tot een TFS, zouden we doen tfs beugel 0 beugel, dan 1536 01:12:33,500 --> 01:12:35,180 [Onverstaanbaar]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON HIRSCHHORN: U zou - 1538 01:12:35,970 --> 01:12:40,560 dus je zegt voor de lus, u zou doen in dollarteken TFS beugel 1 1539 01:12:40,560 --> 01:12:41,850 of i, rechts. 1540 01:12:41,850 --> 01:12:46,780 Of dollarteken i sluiten beugel en dan vierkante haken 1541 01:12:46,780 --> 01:12:49,600 dubbele aanhalingstekens, ja. 1542 01:12:49,600 --> 01:12:50,640 >> OK, uitstekend. 1543 01:12:50,640 --> 01:12:53,020 We hebben nog snel een. 1544 01:12:53,020 --> 01:12:55,090 Zeven minuten, dus ik wil te gaan over deze. 1545 01:12:55,090 --> 01:12:56,160 Dit is een ander voorbeeld. 1546 01:12:56,160 --> 01:12:58,740 We zijn nu een totaal andere taal. 1547 01:12:58,740 --> 01:12:59,990 >> We hebben een aantal HTML-code. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Het is een beetje klein op het scherm, maar Ik wil dat je echt doorheen kijken 1550 01:13:07,460 --> 01:13:11,140 snel, en kan iemand mij vertellen, als ik naar deze webpagina te laden, 1551 01:13:11,140 --> 01:13:12,390 wat ik zou zien? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Beschrijf alles over deze webpagina. 1554 01:13:26,450 --> 01:13:28,630 Noah? 1555 01:13:28,630 --> 01:13:30,450 Wat zou ik zien? 1556 01:13:30,450 --> 01:13:38,140 >> PUBLIEK: Code aan de voorkant van Google met gevoel voor tekst en een 1557 01:13:38,140 --> 01:13:39,190 submit knop. 1558 01:13:39,190 --> 01:13:41,180 >> JASON HIRSCHHORN: En wat zou de knop zeggen? 1559 01:13:41,180 --> 01:13:42,430 >> PUBLIEK: Indienen. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, zoeken. 1562 01:13:45,160 --> 01:13:45,840 Het spijt me. 1563 01:13:45,840 --> 01:13:46,830 >> JASON HIRSCHHORN: Het zou zoeken zeggen. 1564 01:13:46,830 --> 01:13:47,520 Vergeet niet, de naam. 1565 01:13:47,520 --> 01:13:50,550 Wat doen we de naam voor? 1566 01:13:50,550 --> 01:13:53,774 Deze naam attribuut, wat is dat wordt gebruikt voor? 1567 01:13:53,774 --> 01:13:55,470 >> [Onderbreekt hem VOICES] 1568 01:13:55,470 --> 01:13:59,300 >> PUBLIEK: Dat is zijn naam voor wanneer het klikte? 1569 01:13:59,300 --> 01:14:00,160 >> JASON HIRSCHHORN: Dat kan. 1570 01:14:00,160 --> 01:14:02,690 Maar wat weten we over het algemeen zien - waarom geven we deze naam van de wachtrij? 1571 01:14:02,690 --> 01:14:03,830 Waarom doen we dat? 1572 01:14:03,830 --> 01:14:05,220 Yeah. 1573 01:14:05,220 --> 01:14:08,600 >> PUBLIEK: Is dat niet indexeren geworden van de super globale variabele? 1574 01:14:08,600 --> 01:14:12,740 >> JASON HIRSCHHORN: Ja, in het algemeen als deze vorm zou voorleggen, en vervolgens waar 1575 01:14:12,740 --> 01:14:13,500 zou dit voorleggen aan? 1576 01:14:13,500 --> 01:14:14,750 Welke pagina? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Noah, welke pagina zou dit voorleggen aan? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> Publiek: Ik ben niet zeker. 1581 01:14:27,700 --> 01:14:28,920 >> JASON HIRSCHHORN: Waar konden we het kunnen vinden? 1582 01:14:28,920 --> 01:14:31,025 Waar vind je wat pagina hij aan? 1583 01:14:31,025 --> 01:14:32,850 Welke regel code? 1584 01:14:32,850 --> 01:14:34,040 >> PUBLIEK: Vorm actie. 1585 01:14:34,040 --> 01:14:34,650 >> JASON HIRSCHHORN: Precies. 1586 01:14:34,650 --> 01:14:35,130 Actie. 1587 01:14:35,130 --> 01:14:37,100 Zodat hij aan de zoekpagina. 1588 01:14:37,100 --> 01:14:38,630 Backslash zoeken. 1589 01:14:38,630 --> 01:14:40,140 Dus dat is precies goed. 1590 01:14:40,140 --> 01:14:40,680 Welke methode? 1591 01:14:40,680 --> 01:14:42,090 >> PUBLIEK: Get. 1592 01:14:42,090 --> 01:14:42,490 >> JASON HIRSCHHORN: Get. 1593 01:14:42,490 --> 01:14:43,420 Precies. 1594 01:14:43,420 --> 01:14:44,490 Dus we dit lezen. 1595 01:14:44,490 --> 01:14:45,180 Dit gaat om een ​​vorm te zijn. 1596 01:14:45,180 --> 01:14:45,910 Je hebt helemaal gelijk. 1597 01:14:45,910 --> 01:14:50,340 Twee dingen over de vorm, de titel van de pagina en de top zou zijn van Google. 1598 01:14:50,340 --> 01:14:54,270 >> Dus hier zijn twee vragen die u moet kunnen beantwoorden over deze pagina. 1599 01:14:54,270 --> 01:15:01,760 Als deze HTML leeft op deze website en de gebruiker invoert bug in deze tekst 1600 01:15:01,760 --> 01:15:06,900 hier veld, wat URL de gebruiker zichzelf te vinden op 1601 01:15:06,900 --> 01:15:08,150 het indienen van het formulier? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Dus we hebben dit hier. 1604 01:15:12,510 --> 01:15:13,720 Ik ga terug naar deze pagina, dat wel. 1605 01:15:13,720 --> 01:15:16,980 Ik zie je schrijven dit eerste deel. 1606 01:15:16,980 --> 01:15:18,230 Kan iedereen zien hier? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, je denkt te weten? 1609 01:15:32,906 --> 01:15:34,700 Welke pagina? 1610 01:15:34,700 --> 01:15:37,630 >> PUBLIEK: Backslash zoeken. 1611 01:15:37,630 --> 01:15:38,880 >> JASON HIRSCHHORN: Ik ga om hier naar beneden te verplaatsen. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, backslash zoekvraag mark q gelijk bug. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Iemand een andere suggestie? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Yeah. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Dus hoe krijgen we dit? 1620 01:16:03,740 --> 01:16:05,520 Nou, we hebben dit eerder gezien. 1621 01:16:05,520 --> 01:16:07,170 En je kwam met dit eerder. 1622 01:16:07,170 --> 01:16:08,870 Je had gelijk, Noach, dat de actie is ons te vertellen wat 1623 01:16:08,870 --> 01:16:11,700 pagina gaan we. 1624 01:16:11,700 --> 01:16:12,820 >> We weten ook welke methode. 1625 01:16:12,820 --> 01:16:13,420 We doen krijgen. 1626 01:16:13,420 --> 01:16:17,040 En het verschil tussen GET en POST is dat displays krijgen in de URL 1627 01:16:17,040 --> 01:16:18,490 en post niet. 1628 01:16:18,490 --> 01:16:22,760 Dus als ik schreef na daar in de methode, wat zou anders zijn? 1629 01:16:22,760 --> 01:16:24,250 >> Publiek: Het zou gewoon zijn slash zoeken. 1630 01:16:24,250 --> 01:16:25,400 >> JASON HIRSCHHORN: Het zou gewoon slash zoeken. 1631 01:16:25,400 --> 01:16:27,400 Niets dan hier zou gebeuren. 1632 01:16:27,400 --> 01:16:30,030 Maar omdat het een te krijgen, de URL wordt als volgt weergegeven. 1633 01:16:30,030 --> 01:16:35,140 Eerst zien we een vraagteken en zien we de naam en de waarde. 1634 01:16:35,140 --> 01:16:42,730 Zeggen dat er een andere tekst veld en Ik gaf het een naam van r en I-ingang een 1635 01:16:42,730 --> 01:16:45,220 waarde, rups. 1636 01:16:45,220 --> 01:16:48,560 Wat zou dit nu eruit? 1637 01:16:48,560 --> 01:16:52,040 Ik heb nog een tekstveld, geef ik een naam van r en een waarde heeft van rups. 1638 01:16:52,040 --> 01:16:56,990 >> PUBLIEK: Nadat bar je zou moeten de ampersand rups. 1639 01:16:56,990 --> 01:16:58,380 >> JASON HIRSCHHORN: Dat is niet ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> PUBLIEK: Of gewoon wat de en het symbool. 1641 01:17:00,500 --> 01:17:01,330 >> JASON HIRSCHHORN: Ja, nee. 1642 01:17:01,330 --> 01:17:03,700 Je had gelijk, ik had het mis. 1643 01:17:03,700 --> 01:17:05,660 Dat is hetzelfde als een g. 1644 01:17:05,660 --> 01:17:06,910 >> PUBLIEK: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r gelijk rups, sorry. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON HIRSCHHORN: Is er geen r daar? 1649 01:17:14,700 --> 01:17:16,680 >> PUBLIEK: Nee, er is. 1650 01:17:16,680 --> 01:17:18,030 >> JASON HIRSCHHORN: We praten over dat na de les. 1651 01:17:18,030 --> 01:17:18,930 Zo is het precies. 1652 01:17:18,930 --> 01:17:20,530 Dus de en correct is. 1653 01:17:20,530 --> 01:17:23,430 En dan kon je veel van deze hebben, en ze zouden allemaal worden samengevoegd 1654 01:17:23,430 --> 01:17:24,950 samen met die en. 1655 01:17:24,950 --> 01:17:25,900 Dus dat is precies goed. 1656 01:17:25,900 --> 01:17:27,700 >> Er is nog een vraag. 1657 01:17:27,700 --> 01:17:30,676 Schets DOM deze HTML, te beginnen met document. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 We kunnen dat doen in twee minuten. 1660 01:17:34,570 --> 01:17:36,790 We zullen het hier doen. 1661 01:17:36,790 --> 01:17:38,040 Ik kom terug naar deze webpagina te gaan. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, we beginnen met een document. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Wat is het volgende? 1666 01:17:52,090 --> 01:17:53,910 Dus als je het lezen van - 1667 01:17:53,910 --> 01:17:54,540 >> PUBLIEK: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON HIRSCHHORN: HTML is de volgende. 1669 01:17:55,790 --> 01:17:57,850 We gaan tag gaan tag. 1670 01:17:57,850 --> 01:18:00,890 Wat is er na HTML? 1671 01:18:00,890 --> 01:18:01,550 >> PUBLIEK: 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 Wat is na het hoofd? 1675 01:18:08,520 --> 01:18:09,770 >> PUBLIEK: Titel. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON HIRSCHHORN: Titel. 1678 01:18:12,560 --> 01:18:14,740 En titel heeft een waarde van Google, maar ik ga niet 1679 01:18:14,740 --> 01:18:16,240 schrijft dat voor nu. 1680 01:18:16,240 --> 01:18:18,750 OK, waar gaat het lichaam heen? 1681 01:18:18,750 --> 01:18:20,890 >> PUBLIEK: Ook loskomen van de HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON HIRSCHHORN: Precies. 1683 01:18:21,490 --> 01:18:22,820 Lichaam komt off van hier. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Heeft iedereen zien waarom dat het geval is? 1686 01:18:30,330 --> 01:18:32,970 U zou waarschijnlijk in staat zijn om erachter te dit uit, ook, zelfs als ik niet hoefde 1687 01:18:32,970 --> 01:18:33,665 deze mooie inspringen. 1688 01:18:33,665 --> 01:18:37,680 >> De inspringen geeft het soort weg, maar je kunt zien dat het hoofd-tag heeft 1689 01:18:37,680 --> 01:18:41,240 gesloten, wat waarschijnlijk betekent dat we kan hier niet naar beneden gaan. 1690 01:18:41,240 --> 01:18:43,460 We moeten terug naar wat was vlak voor het hoofd 1691 01:18:43,460 --> 01:18:44,730 tag, of onder dat. 1692 01:18:44,730 --> 01:18:46,720 We zijn zelfs met het hoofd tag. 1693 01:18:46,720 --> 01:18:48,560 >> En onder het lichaam gaat vormen. 1694 01:18:48,560 --> 01:18:50,300 Onder vorm, zijn er twee ingangen. 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 Dat is alles wat ik heb. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 is morgen. 1699 01:18:56,980 --> 01:18:58,350 Ik ben zo blij voor jullie. 1700 01:18:58,350 --> 01:18:59,690 Het gaat om een ​​ontploffing te zijn. 1701 01:18:59,690 --> 01:19:00,250 >> Als u - 1702 01:19:00,250 --> 01:19:00,600 >> PUBLIEK: [applaus] 1703 01:19:00,600 --> 01:19:02,460 >> JASON HIRSCHHORN: Oh stop, stop. 1704 01:19:02,460 --> 01:19:04,520 Maar nee, ik maak een grapje. 1705 01:19:04,520 --> 01:19:07,220 Als u vragen heeft, recht na sectie, zal ik buiten. 1706 01:19:07,220 --> 01:19:11,700 Als u vragen heeft vanavond, voel je vrij om te bellen, e-mail, Gchat, 1707 01:19:11,700 --> 01:19:12,740 Postduif me. 1708 01:19:12,740 --> 01:19:13,950 Veel succes morgen. 1709 01:19:13,950 --> 01:19:16,220 Heb een prachtige Thanksgiving break, als ik zie je niet voor die tijd. 1710 01:19:16,220 --> 01:19:19,320 En ik zie je na Thanksgiving op dinsdag voor onze laatste 1711 01:19:19,320 --> 01:19:20,295 sectie feest ooit. 1712 01:19:20,295 --> 01:19:21,545 >> PUBLIEK: [onverstaanbaar]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON HIRSCHHORN: Great. 1715 01:19:25,790 --> 01:19:28,900 OK, ik zie jullie volgende week of twee weken. 1716 01:19:28,900 --> 01:19:30,150 En veel succes morgen. 1717 01:19:30,150 --> 01:19:32,203