1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Bine ai venit, toată lumea, la saptamana 10. 3 00:00:09,810 --> 00:00:15,130 Aceasta este o saptamana interesanta, deoarece mâine este Quiz 1, pe care le va primi 4 00:00:15,130 --> 00:00:16,400 la un al doilea. 5 00:00:16,400 --> 00:00:21,770 Astăzi, în secțiune, vom merge peste unele resurse pentru testul, și 6 00:00:21,770 --> 00:00:24,890 atunci voi răspunde la orice și toate întrebări voi avea. 7 00:00:24,890 --> 00:00:27,880 Și vom termina în cele din urmă cu unele probleme practice. 8 00:00:27,880 --> 00:00:30,940 >> Ne putem petrece întreaga secțiune răspunzând la întrebări. 9 00:00:30,940 --> 00:00:33,240 Ne putem petrece întreaga secțiune trecând peste problemele de practică. 10 00:00:33,240 --> 00:00:36,890 Vom extinde doar pentru a umple spațiu și timp avem. 11 00:00:36,890 --> 00:00:40,590 >> Așa că am pus această listă în fiecare săptămână, dar este deosebit de important în această săptămână. 12 00:00:40,590 --> 00:00:44,980 Pentru a studia, dacă nu aveți a început deja, oh boy. 13 00:00:44,980 --> 00:00:46,400 Dar sperăm că le-ați început deja. 14 00:00:46,400 --> 00:00:50,710 Și aveți de gând prin intermediul materialelor și resurse enumerate aici. 15 00:00:50,710 --> 00:00:54,300 Mi-ar recomanda foarte un număr dintre acestea. 16 00:00:54,300 --> 00:00:58,780 >> În special, note de curs sunt extrem de important și util. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net oferă o mare primer pe un lot de 18 00:01:02,880 --> 00:01:04,250 subiectele pe care le acoperit. 19 00:01:04,250 --> 00:01:07,810 Ea are, de asemenea, unele de mare practica probleme. 20 00:01:07,810 --> 00:01:11,260 Și apoi, Google este mare, prea. 21 00:01:11,260 --> 00:01:12,360 Nu știu ce ți-ar folosi pentru. 22 00:01:12,360 --> 00:01:14,090 Dar folosesc Google, de asemenea. 23 00:01:14,090 --> 00:01:16,680 >> Ajunge la mine dacă aveți orice întrebări, comentarii, sau nelămuriri. 24 00:01:16,680 --> 00:01:19,420 Uită-te peste sesiunea de revizuire slide-uri din noaptea trecută. 25 00:01:19,420 --> 00:01:21,540 Sau, dacă aveți ceva timp, viziona clipul video. 26 00:01:21,540 --> 00:01:24,930 Ele oferă o mulțime de ajutor materiale și informații. 27 00:01:24,930 --> 00:01:29,730 Și să încerce și să acopere, dacă nu toate, multe dintre subiectele pe care le-am acoperit și pe care le 28 00:01:29,730 --> 00:01:32,610 s-ar putea vedea pe testul. 29 00:01:32,610 --> 00:01:35,590 >> Vorbind de test, care va fi mâine. 30 00:01:35,590 --> 00:01:37,260 E 75 minute lung. 31 00:01:37,260 --> 00:01:40,740 Mulți dintre voi luați-o la 1 ora, iar unii dintre voi sunt 32 00:01:40,740 --> 00:01:42,740 lua-o la 5:30. 33 00:01:42,740 --> 00:01:45,300 Pentru moment, o iei și Locul de amplasare esti o luați, asigurați-vă că 34 00:01:45,300 --> 00:01:49,400 să verificați documentul pe pagina de pornire CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> Amintiți-vă că puteți obține un 8 1/2 de 11 de coli pentru a lua cu tine. 36 00:01:54,340 --> 00:01:57,310 Deseori, oamenii nu folosesc acest foaie la toate în timpul testului. 37 00:01:57,310 --> 00:01:59,740 Dar, de fapt, acesta este un incredibil instrument de studiu util. 38 00:01:59,740 --> 00:02:04,370 Astfel a pune împreună că foaia este ceea ce Mi-am petrecut, probabil, trei sau patru ore 39 00:02:04,370 --> 00:02:07,110 fac atunci când am fost studiat pentru CS50, și că a fost ușor de cele mai utile 40 00:02:07,110 --> 00:02:08,740 modul în care am putea studia pentru testul. 41 00:02:08,740 --> 00:02:10,949 Deci, chiar dacă aveți un alt de persoane ghiduri de studiu sa se uite la și 42 00:02:10,949 --> 00:02:14,740 folosesc ca trimiteri, am foarte recomanda face propriul ghid de studiu, punând 43 00:02:14,740 --> 00:02:15,490 chestia asta împreună. 44 00:02:15,490 --> 00:02:17,335 Care vă ajută într-adevăr să învețe tot materialul. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Ultimul, dar nu cel mai puțin în această secțiune, după mâine test există un 47 00:02:24,810 --> 00:02:25,940 mai prelegere - 48 00:02:25,940 --> 00:02:26,960 lunea viitoare. 49 00:02:26,960 --> 00:02:30,430 Există mai mult de o secțiune, nu viitoare Marți înainte de Ziua Recunostintei, dar 50 00:02:30,430 --> 00:02:31,630 Marți după aceea. 51 00:02:31,630 --> 00:02:36,600 Ne vom întâlni împreună pentru o finala la revedere de partid și de a face, de asemenea, unele rece 52 00:02:36,600 --> 00:02:41,530 lucruri pentru a obține voi incantati studii suplimentare în informatică. 53 00:02:41,530 --> 00:02:45,040 >> E mai mult un proiect, unul mai mult echitabil, unul mai Hackathon. 54 00:02:45,040 --> 00:02:47,900 Suntem aproape de sfârșitul lui CS50, ceea ce este interesant - 55 00:02:47,900 --> 00:02:50,950 dar, de asemenea, daca esti ca mine, un pic trist. 56 00:02:50,950 --> 00:02:53,950 Înainte de a merge mai departe, nimeni nu avea întrebări cu privire la ceea ce 57 00:02:53,950 --> 00:02:55,200 ne-am acoperit până acum? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> OK, bine să mergem peste câteva întrebări pe care le au pentru testul și subiecte 60 00:03:08,730 --> 00:03:09,960 am putea acoperi. 61 00:03:09,960 --> 00:03:11,540 Deci, aceasta este o listă care am pus împreună. 62 00:03:11,540 --> 00:03:15,500 Este în nici un caz exhaustivă, dar sperăm că va împrospăta memoria dumneavoastră dacă 63 00:03:15,500 --> 00:03:20,310 au unele întrebări cu privire la oricare dintre aceste subiecte, sau dacă aveți întrebări cu privire la 64 00:03:20,310 --> 00:03:23,260 probleme de practică de la concursuri în ultimii ani. 65 00:03:23,260 --> 00:03:27,470 >> Am avut câteva întrebări care au fost prin e-mail la mine, dar vreau să dețină în afara 66 00:03:27,470 --> 00:03:29,490 pe cele pentru o secundă. 67 00:03:29,490 --> 00:03:34,570 Are cineva întrebări, problemele ei nu au înțeles, 68 00:03:34,570 --> 00:03:38,100 răspunsurile ei nu au înțeles pentru a obține noi a început? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> Audiența: Poți să te duci peste DOM și Ajax foarte repede? 71 00:03:41,585 --> 00:03:46,540 Cum ar fi, ceea ce avem nevoie să știm sau să să înțeleagă despre ei? 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: am de gând să răspundă la în general, această întrebare a, ceea ce fac eu 73 00:03:49,750 --> 00:03:52,100 trebuie să știți despre un subiect dat x? 74 00:03:52,100 --> 00:03:55,280 Pentru că am un sentiment multi dintre voi sunt de gând să mă întrebi asta, sau sunt 75 00:03:55,280 --> 00:03:56,570 curios despre asta. 76 00:03:56,570 --> 00:04:02,920 Deci, în măsura în care subiectul a fost acoperite în curs, sau secțiune, sau pe 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, o problemă de set, tu ar trebui să fie familiarizat cu ea. 78 00:04:06,460 --> 00:04:10,580 >> Deci, nu aveți nevoie să știți fiecare tip de de tag-ul, care este disponibil în HTML sau 79 00:04:10,580 --> 00:04:15,950 fiecare tip de atribut sau de proprietate vă pot da ceva în CSS. 80 00:04:15,950 --> 00:04:20,204 Dar dacă ați văzut-o într-un exemplu de curs, dacă ați văzut într-o problemă 81 00:04:20,204 --> 00:04:23,290 set, ar trebui să fie, probabil, familiarizat cu ea, în special lucruri ai văzut 82 00:04:23,290 --> 00:04:24,260 în curs. 83 00:04:24,260 --> 00:04:28,510 Așa că am discutat documentul Object Model un pic în 84 00:04:28,510 --> 00:04:30,530 secțiune, cu atât mai mult în curs. 85 00:04:30,530 --> 00:04:32,990 Ar trebui să fie familiar cu care o mare parte din ea. 86 00:04:32,990 --> 00:04:34,750 >> Și ar trebui să fie familiarizat cu Ajax în aceeași măsură. 87 00:04:34,750 --> 00:04:38,105 Nu am vazut incredibil de avansat sau exemple complicate de Ajax, astfel încât 88 00:04:38,105 --> 00:04:40,920 tu nu vei fi întrebat facă ceva incredibil de complicat. 89 00:04:40,920 --> 00:04:45,180 Dar s-ar putea fi întrebat, cum fac eu face un apel Ajax folosind jQuery? 90 00:04:45,180 --> 00:04:47,350 Care este ceva ce ai văzut un număr de ori înainte, atât în 91 00:04:47,350 --> 00:04:51,370 revizui sesiune și în curs, și e doar linii două-ish de cod. 92 00:04:51,370 --> 00:04:53,190 >> Astfel că este ceva ce ar trebui să să fie familiarizat cu. 93 00:04:53,190 --> 00:04:55,550 Dar, din nou, pentru toate aceste subiecte, dacă le-ați văzut 94 00:04:55,550 --> 00:04:59,220 înainte, acesta este un joc cinstit. 95 00:04:59,220 --> 00:05:01,540 Și am putea să vă întreb - în mod evident, suntem de gând să ceară Tine lucruri 96 00:05:01,540 --> 00:05:02,340 nu s-au văzut înainte. 97 00:05:02,340 --> 00:05:04,240 Codificare ceva ce nu avea văzut înainte. 98 00:05:04,240 --> 00:05:06,570 Care nu este de a spune că nu aveți văzut instrumentele necesare pentru a rezolva 99 00:05:06,570 --> 00:05:08,120 această problemă înainte. 100 00:05:08,120 --> 00:05:09,200 Ați văzut aceste instrumente. 101 00:05:09,200 --> 00:05:11,160 >> De exemplu, la testul 1, dacă aveți nevoie de codul de strlen. 102 00:05:11,160 --> 00:05:12,790 Noi nu am codat strlen înainte. 103 00:05:12,790 --> 00:05:14,980 Dar știi cum să folosească o pentru buclă, știi cum să folosească în cazul în care condițiile. 104 00:05:14,980 --> 00:05:18,570 Știi cum să scrie variabile în C. O să fie același lucru aici. 105 00:05:18,570 --> 00:05:22,350 Nu sunteți de gând să se cere să facă ceva ce nu am mai văzut înainte, dar 106 00:05:22,350 --> 00:05:25,150 s-ar putea fi rugat sa, cum ar fi, pune ceva împreună într-un mod nou, sau 107 00:05:25,150 --> 00:05:27,650 rezolva un alt tip de problemă. 108 00:05:27,650 --> 00:05:30,830 >> Ne pare rău, că nu a fost specific pentru dvs. întrebare, dar eu nu pot răspunde cu privire la 109 00:05:30,830 --> 00:05:34,390 fiecare subiect ceea ce face sau nu trebuie să știe. 110 00:05:34,390 --> 00:05:36,830 Dar, de asemenea, îmi pare rău, ultimul lucru pe care. 111 00:05:36,830 --> 00:05:42,900 Am petrecut mult mai mult timp pe liste de link decât avem pe Ajax. 112 00:05:42,900 --> 00:05:46,160 Nu ați folosit Ajax într-un set de probleme. 113 00:05:46,160 --> 00:05:48,510 Una dintre caracteristicile principale ale care problema stabilit că a fost liste de link-uri. 114 00:05:48,510 --> 00:05:50,370 Și am petrecut o mulțime de timp în curs secțiune și folosind-o. 115 00:05:50,370 --> 00:05:57,080 >> Deci, șansele sunt lista de link-ul va veni mai mult de multe ori cu privire la testul de Ajax voință. 116 00:05:57,080 --> 00:06:00,390 Sau întrebările au de a face cu link-ul Lista va fi în valoare de mai multe puncte. 117 00:06:00,390 --> 00:06:03,520 Astfel, puteți cu siguranță, concentrându-și îngustă în pe lucruri care sunt mai mult 118 00:06:03,520 --> 00:06:06,720 probabil să vină pentru că avem a petrecut mai mult timp pe ele. 119 00:06:06,720 --> 00:06:08,700 >> OK orice alte întrebări? 120 00:06:08,700 --> 00:06:09,890 Da. 121 00:06:09,890 --> 00:06:13,660 >> Audiența: Putem merge cu privire la utilizarea funcții anonime în JavaScript? 122 00:06:13,660 --> 00:06:17,140 Sunt o sunt puțin confuz despre asta. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Deci, in JavaScript - 124 00:06:20,180 --> 00:06:24,400 Încerc să mă gândesc cum m-am ar putea scrie aceasta pe - 125 00:06:24,400 --> 00:06:27,590 asa ca hai sa deschidem de fapt, acest cod. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Deci, aceasta este codul pe care am făcut-o săptămâna trecută. 128 00:06:36,030 --> 00:06:41,400 Și ați văzut acest lucru înainte, dacă au fost aici, în secțiunea săptămâna trecută. 129 00:06:41,400 --> 00:06:43,180 Sau ați văzut ceva similar cu acesta înainte. 130 00:06:43,180 --> 00:06:44,800 >> Dar poti sa te uiti la aceasta prima linie. 131 00:06:44,800 --> 00:06:46,950 Acesta este modul de a începe - 132 00:06:46,950 --> 00:06:48,010 toată lumea a văzut acest lucru înainte. 133 00:06:48,010 --> 00:06:51,930 Dacă doriți să puneți un cod JavaScript, l-ai pus în acest, presupunând 134 00:06:51,930 --> 00:06:53,520 sunteți folosind JQuery. 135 00:06:53,520 --> 00:06:56,940 Acest lucru se spune, nu face nimic până încărcat documentului. 136 00:06:56,940 --> 00:06:59,940 >> Și apoi, Curt, tu vezi aici facem ceva de genul asta - 137 00:06:59,940 --> 00:07:02,560 funcție paren deschise, închise paren. 138 00:07:02,560 --> 00:07:05,250 Deci, noi nu se dau acest funcționeze un nume. 139 00:07:05,250 --> 00:07:09,160 Noi nu vom defini această funcție ar trebui să ruleze și apoi 140 00:07:09,160 --> 00:07:10,830 numesc o grămadă de ori. 141 00:07:10,830 --> 00:07:15,140 Ne spui doar acest document are deja o funcție. 142 00:07:15,140 --> 00:07:16,690 Un cuplu de lucruri de făcut. 143 00:07:16,690 --> 00:07:20,670 >> Și nu vrem să-și petreacă timpul dându-i un nume sau salvați-l pentru 144 00:07:20,670 --> 00:07:21,650 eternitate. 145 00:07:21,650 --> 00:07:24,150 Vrem doar să facem niște lucruri. 146 00:07:24,150 --> 00:07:27,500 Deci, o funcție de sortare anonim de servește în acest scop. 147 00:07:27,500 --> 00:07:30,280 Când nu sunteți de gând să folosiți ceva de peste si peste din nou, astfel încât nu aveți nevoie 148 00:07:30,280 --> 00:07:32,420 să-i dea un nume - trebuie doar doriți să-l utilizați o dată - 149 00:07:32,420 --> 00:07:36,720 v-ar spune doar funcția, pentru exemplu, în acest caz, iar tu esti doar 150 00:07:36,720 --> 00:07:38,280 definirea ceva care ai putea da un nume. 151 00:07:38,280 --> 00:07:40,920 >> Cum ar fi, am putea scoate această funcție din și da un nume și apoi apel care 152 00:07:40,920 --> 00:07:41,760 funcționează aici. 153 00:07:41,760 --> 00:07:44,270 Dar noi nu trebuie să facem pentru că noi nu vreau să pierd timpul dându-i un nume sau 154 00:07:44,270 --> 00:07:46,240 pierdem ceva în spațiu numele nostru. 155 00:07:46,240 --> 00:07:47,530 Și veți vedea că o mulțime. 156 00:07:47,530 --> 00:07:52,810 De exemplu, vom vedea că o mulțime în acest cod, dar ați văzut acest lucru înainte, atunci când 157 00:07:52,810 --> 00:07:54,010 faceți clic pe ceva - 158 00:07:54,010 --> 00:07:55,980 rula acest tip de cod. 159 00:07:55,980 --> 00:07:59,850 >> Am putea defini codul pe care ne-o dorim pentru a rula atunci când faceți clic, în acest caz, 160 00:07:59,850 --> 00:08:03,450 acest ID, ca o funcție separată și apoi executați această funcție. 161 00:08:03,450 --> 00:08:07,940 Dar, în acest caz, ne-am doar sărind peste acest pas și de ao muta în aici și 162 00:08:07,940 --> 00:08:10,340 doar la definirea totul pe care ne-o dorim să se întâmple și 163 00:08:10,340 --> 00:08:12,450 nu dându-i un nume. 164 00:08:12,450 --> 00:08:15,550 Că încă nu s-ar putea avea răspuns la întrebarea dumneavoastră. 165 00:08:15,550 --> 00:08:15,960 >> Audiența: Nu, nu. 166 00:08:15,960 --> 00:08:18,290 Vreau să spun, cred că pur și simplu nu fac într-adevăr Înțeleg de ce ar fi o 167 00:08:18,290 --> 00:08:20,800 funcționeze la toate, totuși. 168 00:08:20,800 --> 00:08:21,590 Pentru că nu se fi într-adevăr numit. 169 00:08:21,590 --> 00:08:23,170 Ea nu are într-adevăr un nume. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: Este o funcție în sentimentul că este o serie de etape, 171 00:08:25,510 --> 00:08:28,460 ca și cum te-ar pune într-o funcție. 172 00:08:28,460 --> 00:08:29,970 Și atunci de ce noi numim o funcție anonim. 173 00:08:29,970 --> 00:08:30,815 Noi nu mergem să-i dea un nume. 174 00:08:30,815 --> 00:08:33,159 Noi nu vom pierde încercând de nume, dar am putut. 175 00:08:33,159 --> 00:08:34,890 >> Funcții anonime, te poate oferi întotdeauna un nume. 176 00:08:34,890 --> 00:08:37,620 Deci, de exemplu, acest cod de aici, am putea pune acest cod în interiorul unui 177 00:08:37,620 --> 00:08:39,929 funcția și apoi apel această funcție aici. 178 00:08:39,929 --> 00:08:41,600 În schimb, spunem noi, nu ne vom să se ocupe cu asta. 179 00:08:41,600 --> 00:08:44,390 Suntem doar de gând să scrie totul chiar aici. 180 00:08:44,390 --> 00:08:49,840 >> E ca si cum, uneori, atunci când scrii o buclă în patru C - voi 181 00:08:49,840 --> 00:08:51,630 au văzut acest lucru înainte - poate ai iterarea prin forloop 182 00:08:51,630 --> 00:08:53,090 în i este egal cu 0. 183 00:08:53,090 --> 00:08:54,830 I este mai mică de strlen. 184 00:08:54,830 --> 00:08:59,520 Sau te duci prin unele array, puteți salva matrice 185 00:08:59,520 --> 00:09:01,580 indicele i în unele variabile. 186 00:09:01,580 --> 00:09:02,830 Și utilizați acea variabilă. 187 00:09:02,830 --> 00:09:06,550 Deci, nu aveți nevoie pentru a rescrie matrice suport i de peste si peste si peste. 188 00:09:06,550 --> 00:09:08,160 >> Și asta e un fel de o variabilă. 189 00:09:08,160 --> 00:09:10,790 Nu se servesc mult alt scop decât pentru a face codul un pic mai curat 190 00:09:10,790 --> 00:09:12,120 și mai ușor de citit. 191 00:09:12,120 --> 00:09:13,290 Funcție similară aici. 192 00:09:13,290 --> 00:09:15,665 Doar face un pic mai ușor, dar funcțional nu e nici o diferență. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Asta răspunde la întrebarea dvs.? 195 00:09:19,330 --> 00:09:19,970 >> Publicul: Da. 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 >> Audiența: Ieri au pus de multe ori Funcția paranteze eveniment. 199 00:09:25,380 --> 00:09:26,420 Asta înseamnă ceva? 200 00:09:26,420 --> 00:09:30,500 Sau este pentru lucruri cum ar fi pe care le-ar face 201 00:09:30,500 --> 00:09:35,100 document.ready eveniment funcție. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Am văzut acest lucru, și din nou, acestea sunt lucruri mici, care 203 00:09:37,130 --> 00:09:39,590 probabil că nu vreau să petrec prea mult timp pe. 204 00:09:39,590 --> 00:09:43,200 Pentru că, uneori, eu nu vreau ca oamenii te speriat că ei nu au 205 00:09:43,200 --> 00:09:44,220 a auzit despre aceste lucruri atât de mult. 206 00:09:44,220 --> 00:09:46,200 Dar am vorbit un pic despre Stivuitoare eveniment. 207 00:09:46,200 --> 00:09:50,360 Așa se întâmplă ceva, și apoi această funcție este executată. 208 00:09:50,360 --> 00:09:53,210 Și apoi ne-am, de asemenea, vreau să știu cateva detalii despre ceea ce 209 00:09:53,210 --> 00:09:54,450 sa întâmplat în acest caz. 210 00:09:54,450 --> 00:09:55,730 >> Deci, cred că înapoi la problema stabili 4. 211 00:09:55,730 --> 00:09:58,390 Asta e, probabil, cel mai simplu mod de a înțelege că în pauza afară. 212 00:09:58,390 --> 00:09:59,740 Nu a fost un cod - 213 00:09:59,740 --> 00:10:01,980 ca un eveniment se va întâmpla, dar eveniment poate însemna multe lucruri. 214 00:10:01,980 --> 00:10:06,240 Dacă ar putea însemna mouse-ul se face clic, se ar putea însemna te-a lovit o tastă săgeată, et 215 00:10:06,240 --> 00:10:07,190 cetera, et cetera. 216 00:10:07,190 --> 00:10:09,800 >> Dar totul este salvat în acest generic lucru numit de evenimente. 217 00:10:09,800 --> 00:10:12,340 Și atunci putem spune, este acest eveniment chestia asta? 218 00:10:12,340 --> 00:10:13,640 Sau este acest eveniment chestia asta? 219 00:10:13,640 --> 00:10:15,500 Sau, ce fel de sa întâmplat cu acest eveniment? 220 00:10:15,500 --> 00:10:18,660 Deci, de aceea vă creați că variabila acolo pentru a salva aceste informații suplimentare 221 00:10:18,660 --> 00:10:21,420 despre ceea ce sa întâmplat exact asta ai de gând să doriți să 222 00:10:21,420 --> 00:10:24,840 utiliza în funcție. 223 00:10:24,840 --> 00:10:28,200 Dar, din nou, asta e, probabil, una dintre lucruri mai puțin importante pentru a fi super- 224 00:10:28,200 --> 00:10:29,450 familiarizat cu. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, ce alte întrebări au oameni a avut, sau pietre de poticnire care le-au 227 00:10:36,110 --> 00:10:37,360 întâlnit în timp ce revizuirea? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Vom reveni la această listă. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Ce despre timpul testelor de practică, în cazul în care oamenii s-au luat pe cei deja? 232 00:10:56,080 --> 00:10:59,110 Care au fost unele probleme care împiedicat voi up? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Știu că pentru un fapt că anul trecut test a fost foarte greu. 235 00:11:12,720 --> 00:11:15,670 >> Audiența: Puteți explica ce un atac SQL injection este? 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: OK, mare. 237 00:11:18,970 --> 00:11:20,440 Așa că am vorbit despre asta un pic. 238 00:11:20,440 --> 00:11:22,050 Există o prelegere pe securitate. 239 00:11:22,050 --> 00:11:25,670 Și, din nou, așa cum am menționat mai devreme, aceasta este o parte. 240 00:11:25,670 --> 00:11:30,010 Dar va fi frustrat pe testul atunci când ai citit unele mici două puncte 241 00:11:30,010 --> 00:11:33,040 întrebare, iar tu esti ca, atunci când am învățat vreodată asta? 242 00:11:33,040 --> 00:11:35,560 >> Toate aceste lucruri în aceste prelegeri că tu nu cred că ai nevoie de 243 00:11:35,560 --> 00:11:38,290 stiu, sau ai putea luciu peste, deoarece ei nu au avut de a face cu 244 00:11:38,290 --> 00:11:41,860 set problemă, cei care probabil se va veni din nou la testul. 245 00:11:41,860 --> 00:11:45,030 Deci, rece, lucruri amuzante pe care tocmai ați crezut că David a fost spus pentru a vă 246 00:11:45,030 --> 00:11:49,070 bucurați-vă, el a fost vă spun pentru a vă se bucura si de a face doar să fii super- 247 00:11:49,070 --> 00:11:50,550 incantati de a învăța totul nu este de a învăța 248 00:11:50,550 --> 00:11:51,670 cu privire la informatică. 249 00:11:51,670 --> 00:11:53,680 Acele lucruri, de asemenea, veni la teste. 250 00:11:53,680 --> 00:11:56,440 Deci, chiar și aceste lucruri mici, care nu au direct legate de problema dumneavoastră 251 00:11:56,440 --> 00:11:59,630 stabilit, ca voi sunt familiarizați cu de la Quiz 0, va veni probabil în sus. 252 00:11:59,630 --> 00:12:01,530 Și acest lucru este un exemplu bun de ceva. 253 00:12:01,530 --> 00:12:10,140 >> Deci, un atacuri SQL injection este atunci când a lua niște informații de la utilizator și 254 00:12:10,140 --> 00:12:15,090 pe care doriți să-l inserați într-un tabel cu ajutorul o inserție SQL declarație, dar tu 255 00:12:15,090 --> 00:12:17,680 nu a igieniza de intrare înainte de timp. 256 00:12:17,680 --> 00:12:21,560 Deci, în mod evident, am văzut Instrucțiuni SQL. 257 00:12:21,560 --> 00:12:22,810 Voi deschide doar în sus - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 să mergem - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 vom merge la revizuirea - 262 00:12:31,960 --> 00:12:35,180 Cred că, cine a acoperit? 263 00:12:35,180 --> 00:12:36,350 Cred că Samala făcut. 264 00:12:36,350 --> 00:12:39,292 Astfel încât să putem obține - 265 00:12:39,292 --> 00:12:41,270 >> Audiența: Unde ai găsit asta? 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Deci, dacă te duci la CS50.net, teste, iar apoi puteți 267 00:12:44,990 --> 00:12:47,170 derulați peste și să obțină diapozitive din sesiunea de reexaminare. 268 00:12:47,170 --> 00:12:49,860 Dar puteți vedea acest lucru este un exemplu bun de un atac SQL Injection. 269 00:12:49,860 --> 00:12:53,690 Vom lua niște informații de la utilizator și ei ne dau un șir, și apoi ne-am 270 00:12:53,690 --> 00:12:55,780 doriți să îl inserați ca șir într-o bază de date. 271 00:12:55,780 --> 00:12:59,780 În general, vom steriliza că intrare, ceea ce înseamnă că există unele 272 00:12:59,780 --> 00:13:01,050 caractere care sunt periculoase. 273 00:13:01,050 --> 00:13:04,000 >> De exemplu, în șiruri SQL, aceste citate - 274 00:13:04,000 --> 00:13:05,000 ghilimele simple sau ghilimele - 275 00:13:05,000 --> 00:13:05,620 înseamnă ceva. 276 00:13:05,620 --> 00:13:08,380 Ei spun capăt acestui șir de aici. 277 00:13:08,380 --> 00:13:13,090 Și astfel, dacă utilizatorul vă oferă un singur sau un citat dublu, acestea ar putea fi 278 00:13:13,090 --> 00:13:18,970 încearcă să excursie la interogare SQL și introduce unele lucruri rele în ea. 279 00:13:18,970 --> 00:13:23,130 Și dacă ei fac asta, ei ar putea castiga de control al bazei de date sau de a face ceva 280 00:13:23,130 --> 00:13:24,760 lucruri pe care nu doriți să le facă. 281 00:13:24,760 --> 00:13:28,300 >> De aceea ori de câte ori ne-am lua SQL interogări, vom steriliza de intrare înainte de 282 00:13:28,300 --> 00:13:31,090 inscrie in baza de date, care inseamna ca scapa de aceste caractere. 283 00:13:31,090 --> 00:13:32,590 Vom vorbi despre asta într-o secundă. 284 00:13:32,590 --> 00:13:35,820 Dar pe scurt, o injecție SQL atac este dacă nu faci asta - 285 00:13:35,820 --> 00:13:39,760 dacă nu aveți grijă de intrare te-au dat înainte de a pune dvs. 286 00:13:39,760 --> 00:13:46,830 baze de date, ele pot, așa cum veți vedea în jos aici, executați o interogare care, de fapt - 287 00:13:46,830 --> 00:13:52,470 au pus în codul lor de aici și această linie selectați aici vor selecta 288 00:13:52,470 --> 00:13:56,360 totul, de la masă, indiferent de ceea ce este dat parola. 289 00:13:56,360 --> 00:13:58,960 Pentru că aveți sau 1 este egal cu 1. 290 00:13:58,960 --> 00:14:02,750 >> Deci, practic, pe scurt, o modalitate de a prelua baza de date. 291 00:14:02,750 --> 00:14:07,570 Întrebarea, apoi, pentru voi, este în cazul în care în seturi p 7-ai steriliza toate 292 00:14:07,570 --> 00:14:10,010 intrările la întrebările dumneavoastră SQL? 293 00:14:10,010 --> 00:14:11,230 În cazul în care sa întâmplat acest pas? 294 00:14:11,230 --> 00:14:14,150 În cazul în care nu vă împiedică SQL injection Atacurile de la întâmplă în p set 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Da. 297 00:14:20,490 --> 00:14:21,870 >> Audiența: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Deci nu a fost cripta. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Noi nu am face asta pentru acest special problema stabilit, dar se întâmplă 301 00:14:55,380 --> 00:14:58,190 în funcția de interogare. 302 00:14:58,190 --> 00:15:00,930 Noi de fapt am scris pentru tine, și am avut grijă de 303 00:15:00,930 --> 00:15:03,040 igienizarea intrări pentru tine. 304 00:15:03,040 --> 00:15:07,790 Dar, în ultimii ani, elevii au avut să tastați intrările pe cont propriu. 305 00:15:07,790 --> 00:15:10,020 În p set 7, o mulțime de tine - 306 00:15:10,020 --> 00:15:11,270 lasa-ma sa deschid un alt fișier. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Deci, veți observa aici o mulțime de oameni, în problema stabilit 7, nu a sunat 309 00:15:22,590 --> 00:15:25,240 această funcție pe siruri de caractere. 310 00:15:25,240 --> 00:15:27,880 Această funcție, htmlspecialchars, din nou - 311 00:15:27,880 --> 00:15:31,410 acest șir ar putea avea unele lucruri că în HTML însemna altceva. 312 00:15:31,410 --> 00:15:36,160 Ca o bretele, un pătrat, sau un unghi suport înseamnă ceva în HTML. 313 00:15:36,160 --> 00:15:38,980 >> Și așa că, dacă imprimați că, din partea ecran sau dacă luați doar că și 314 00:15:38,980 --> 00:15:42,260 imprima că pentru a HTML-ul, care ar putea faci ceva ce nu se aștepta. 315 00:15:42,260 --> 00:15:45,180 Astfel htmlspecialchars trece peste toți cei personaje care au speciale 316 00:15:45,180 --> 00:15:47,030 întâlnire și-i scapă. 317 00:15:47,030 --> 00:15:51,450 Deci, acesta devine imprimate ca textul vrei sa vezi, mai degrabă decât 318 00:15:51,450 --> 00:15:53,280 înșurubare HTML dumneavoastră. 319 00:15:53,280 --> 00:15:55,040 Am sunat ca funcție în antet. 320 00:15:55,040 --> 00:15:57,390 Și o mulțime de oameni a uitat să apel care funcționează în 321 00:15:57,390 --> 00:15:58,700 Codul scriai. 322 00:15:58,700 --> 00:16:03,970 >> Astfel, de exemplu, dacă un nume de stoc a avut un Suport de unghi în ea și ați uitat 323 00:16:03,970 --> 00:16:06,675 pentru a apela această funcție, că unghiul suport ar fi aruncat de pe ce 324 00:16:06,675 --> 00:16:08,250 HTML-ul arata ca. 325 00:16:08,250 --> 00:16:11,810 Dar de asteptare această funcție va scăpa că așa este de fapt imprimă ca o 326 00:16:11,810 --> 00:16:15,870 Suport de unghi și nu arunca off codul HTML. 327 00:16:15,870 --> 00:16:18,760 >> Din același motiv, ne-am văzut, uneori, slash înainte de ghilimele duble într-o 328 00:16:18,760 --> 00:16:22,310 linie printf pentru că nu vrem ghilimele duble jos șir. 329 00:16:22,310 --> 00:16:24,050 Vrem să le imprimați dovedit a ecranului. 330 00:16:24,050 --> 00:16:26,920 Deci, toate acestea este aceeași idee. 331 00:16:26,920 --> 00:16:28,260 Asta răspunde la întrebarea dvs.? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> Audiența: Un fel de. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: Îți au un follow-up? 335 00:16:35,300 --> 00:16:43,252 >> Audiența: Cred ca injecție SQL atac are de a face cu asta? 336 00:16:43,252 --> 00:16:45,720 Nu înțeleg cum cele două sunt legate. 337 00:16:45,720 --> 00:16:47,610 De ce ai face specialchars? 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: OK, deci SQL atac de injectare este atunci când vă injectați 339 00:16:51,200 --> 00:16:59,180 niște sfori malware în cuiva programul, și ei doar l ia si fugi 340 00:16:59,180 --> 00:17:01,230 interogarea SQL cu un șir le-ai dat. 341 00:17:01,230 --> 00:17:04,220 După cum puteți vedea aici, că ar putea fi problematică. 342 00:17:04,220 --> 00:17:07,480 Deci, modul în care a preveni împotriva care este luați șir lor, pe care le dau 343 00:17:07,480 --> 00:17:09,220 tu - deci acest șir de aici - 344 00:17:09,220 --> 00:17:11,240 și tu-l steriliza. 345 00:17:11,240 --> 00:17:14,305 Să scape de toate lucrurile pe care sunt potențial problematice. 346 00:17:14,305 --> 00:17:18,626 Astfel încât să nu le interpreta ca pe ceva asta înseamnă ceva. 347 00:17:18,626 --> 00:17:23,390 >> Și un exemplu de care cu HTML este această funcție. 348 00:17:23,390 --> 00:17:26,060 Deci, este aceeași idee aici. 349 00:17:26,060 --> 00:17:27,579 Și am fost doar aratandu-va alte exemple de când ați 350 00:17:27,579 --> 00:17:29,030 văzut această idee înainte. 351 00:17:29,030 --> 00:17:33,913 De a scăpa de intrare de utilizator înainte de imprimare l la un ecran sau punerea 352 00:17:33,913 --> 00:17:36,782 în interiorul o declarație SQL. 353 00:17:36,782 --> 00:17:40,790 >> Audiența: Deci, în acest caz, utilizatorul se joacă cu programator. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Da. 355 00:17:41,240 --> 00:17:44,800 Cu toate aceste atacuri de securitate, care este mereu în general utilizatorului, sau 356 00:17:44,800 --> 00:17:47,470 cineva, încearcă să te pui cu tine, programator. 357 00:17:47,470 --> 00:17:51,038 Și acestea sunt moduri în care puteți preveni împotriva lor. 358 00:17:51,038 --> 00:17:54,280 >> Audiența: Deci, am o întrebare despre funcții hash. 359 00:17:54,280 --> 00:17:59,340 În Quiz 1 din 2011, există două întrebări despre hash cu o singură față. 360 00:17:59,340 --> 00:18:02,540 Și mă întrebam ceea ce a însemnat. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, care test? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> Audienta: Da. 364 00:18:04,705 --> 00:18:06,720 >> Audiența: Quiz 1? 365 00:18:06,720 --> 00:18:08,620 >> Audiența: [inaudibil]. 366 00:18:08,620 --> 00:18:09,940 E ca și cum hashing o parolă. 367 00:18:09,940 --> 00:18:12,220 Asta nu se pune lucrurile - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Ce pagină a fost? 369 00:18:13,440 --> 00:18:15,720 >> Audiența: Cred că a fost 9 sau 10, sau ambele. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: Bine, merge mai departe, Curt. 371 00:18:16,720 --> 00:18:17,780 Puteți răspunde în timp ce ne uitam. 372 00:18:17,780 --> 00:18:19,540 >> Audiența: Cred că vorbește despre hashing o parolă. 373 00:18:19,540 --> 00:18:24,430 Ca, atunci când cineva intră într-o parolă, te transforma într-un lucru criptat. 374 00:18:24,430 --> 00:18:27,395 Asta e hash parola, care este diferită de o funcție hash care 375 00:18:27,395 --> 00:18:30,900 pune ceva într-un tabel hash. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Să vedem. 377 00:18:31,610 --> 00:18:33,930 Lasă-mă să trageți în sus ceea ce au da ca raspunsul. 378 00:18:33,930 --> 00:18:35,440 Și apoi vom plimba prin ea. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Deci, Curt a dat un exemplu foarte bun unui-un singur sens hash. 381 00:18:45,400 --> 00:18:48,800 Când am văzut asta, am ia parola și rotiți - 382 00:18:48,800 --> 00:18:53,040 amintiți-vă, în p set 7, cineva s-ar putea au o parolă care este doar o parolă, 383 00:18:53,040 --> 00:18:55,300 dar apoi devine criptate în ceva foarte lung. 384 00:18:55,300 --> 00:18:59,830 -Un fel hash înseamnă că este foarte ușor pentru a trece de la un mod la altul, dar 385 00:18:59,830 --> 00:19:02,800 este foarte greu pentru a merge de la alt mod spate. 386 00:19:02,800 --> 00:19:05,230 >> Și ca să știi, atunci când au fost de verificare parolele oamenilor în problema 387 00:19:05,230 --> 00:19:08,820 set 7, v-ar lua lor - 388 00:19:08,820 --> 00:19:11,953 astfel, de exemplu, spun ei a vrut să schimba parola lor, să le cereți 389 00:19:11,953 --> 00:19:13,130 pentru lor parola vechi. 390 00:19:13,130 --> 00:19:13,910 Ai luat lor parola vechi. 391 00:19:13,910 --> 00:19:15,150 Ai criptat. 392 00:19:15,150 --> 00:19:19,240 Si apoi a comparat cele două encryptions mai degrabă decât unencrypting originalul 393 00:19:19,240 --> 00:19:20,780 o, pentru că este într-adevăr greu pentru a merge în acest fel. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Da. 396 00:19:28,035 --> 00:19:31,430 >> Audiența: Cât de în profunzime are noastră înțelegere de TelNet trebuie să fie? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: În cazul în care a fost menționat scurt în curs, doar o scurtă 399 00:19:41,360 --> 00:19:43,260 înțelegere. 400 00:19:43,260 --> 00:19:45,585 Din nou, înapoi la răspunsul la întrebarea lui Avi - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 mai multe lucruri vin, cu atât mai probabil se va trebui să fie super- 403 00:19:50,430 --> 00:19:51,530 familiarizat cu ele. 404 00:19:51,530 --> 00:19:54,730 În cazul în care au venit doar în curs, asta e doar un singur loc. 405 00:19:54,730 --> 00:19:57,180 Dar în cazul în care au venit în curs, secțiune, și o problemă de set, atunci 406 00:19:57,180 --> 00:19:58,710 probabil trebuie să fie super- familiarizat cu ele. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Deci, am avut o întrebare de la mai devreme despre - 409 00:20:03,960 --> 00:20:06,950 este a fost toamna anului 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, să trageți în sus - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 această întrebare pe stive și cozile, pe care am făcut-și petreacă un pic echitabil de timp 413 00:20:21,790 --> 00:20:23,720 vorbesc despre în curs, chiar deși nu am făcut-o cu adevărat 414 00:20:23,720 --> 00:20:26,020 a lovit vreodată în secțiune. 415 00:20:26,020 --> 00:20:33,190 Deci, această întrebare este oferindu-vă o serie de de comenzi și care vă solicită ce 416 00:20:33,190 --> 00:20:35,560 se imprimă în acest caz. 417 00:20:35,560 --> 00:20:40,180 Deci, aceasta este o chestiune cu totul rezonabil care ar putea fi întrebat de tine 418 00:20:40,180 --> 00:20:43,090 baieti, și apoi voi ar trebui să să fie capabil să răspundă. 419 00:20:43,090 --> 00:20:50,020 >> Deci, de ce nu te uiți la el pentru 30 de secunde, iar apoi, dacă cineva vrea să 420 00:20:50,020 --> 00:20:52,140 propune răspunsurile la mine, și apoi ne vom plimba prin ea. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 În regulă, care are un răspuns la întrebarea 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Da. 425 00:21:33,860 --> 00:21:40,250 >> Audiența: Este 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: Asta-i drept. 427 00:21:40,780 --> 00:21:42,570 27 este 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Așa că haideți să ne uităm la modul în care ne-am înțeles. 429 00:21:44,510 --> 00:21:48,930 >> În primul rând, noi spunem, în cazul în care s este o coadă, ceea ce se imprimă? 430 00:21:48,930 --> 00:21:53,360 Deci, o q este primul intrat, primul ieșit. 431 00:21:53,360 --> 00:21:54,680 Am mai văzut asta înainte. 432 00:21:54,680 --> 00:21:56,820 Am văzut imaginea poporului așteptare la Apple 433 00:21:56,820 --> 00:21:58,400 Magazin pentru a cumpăra unele produse. 434 00:21:58,400 --> 00:22:00,900 Primii oameni din sunt primii oameni afară. 435 00:22:00,900 --> 00:22:02,940 Primele lucruri pe care într-o coadă sunt primele lucruri afară. 436 00:22:02,940 --> 00:22:08,320 >> Deci, dacă am împinge ceva într-o coadă, vă împinge o, apoi am pop 1. 437 00:22:08,320 --> 00:22:09,630 Pop înseamnă doar scoate. 438 00:22:09,630 --> 00:22:11,080 În acest caz, să ia doar ceva. 439 00:22:11,080 --> 00:22:12,910 Ne scoate primul lucru, care este un 1. 440 00:22:12,910 --> 00:22:15,200 Deci, vom pune lucrurile pe care le imprima pe aici. 441 00:22:15,200 --> 00:22:18,110 Acest lucru nu mai este în coada noastră. 442 00:22:18,110 --> 00:22:23,500 >> Apoi am împinge pe un 2 si un 3, și am pop de pe primul lucru. 443 00:22:23,500 --> 00:22:25,030 Din nou, pentru că este o coadă. 444 00:22:25,030 --> 00:22:33,320 Așa că am obține un 2, apoi am pus pe un alt 3 și suna din nou pop. 445 00:22:33,320 --> 00:22:34,980 3 noastră este în primul rând. 446 00:22:34,980 --> 00:22:40,940 >> Și apoi am avut o grămadă de alte lucruri si de apel pop. 447 00:22:40,940 --> 00:22:43,740 Dar, din nou, din moment ce aceasta este o coadă, primul intrat, primul ieșit. 448 00:22:43,740 --> 00:22:45,980 Ne scoate primul lucru care a fost pus vreodată inch 449 00:22:45,980 --> 00:22:47,100 Asta e 3 noastră. 450 00:22:47,100 --> 00:22:50,060 Și, în acest caz, noi nu vă faceți griji despre toate aceste lucruri. 451 00:22:50,060 --> 00:22:51,310 Deci, asta e, dacă acest lucru este o coadă. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Orice întrebări cu privire la o coadă? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Un teanc de diferit. 456 00:23:04,040 --> 00:23:07,782 Care este acronimul avem pentru a înțelege o stivă? 457 00:23:07,782 --> 00:23:08,750 >> AUDIENTA: Ultimul intrat, primul ieșit. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, cred. 459 00:23:10,130 --> 00:23:11,830 Ultimul intrat, primul ieșit. 460 00:23:11,830 --> 00:23:15,630 Așa că am văzut un exemplu de o stivă de tăvi într-o sală de mese. 461 00:23:15,630 --> 00:23:17,590 Oricare ar fi tava este pe partea de sus devine crescut. 462 00:23:17,590 --> 00:23:19,550 Și apoi, dacă noi tăvi venit in, ele se pune pe partea de sus. 463 00:23:19,550 --> 00:23:21,070 Și apoi tot ce este pe top devine ridicat. 464 00:23:21,070 --> 00:23:24,010 Deci, aceste tăvi pe puterea de jos sta acolo pentru o vreme. 465 00:23:24,010 --> 00:23:28,480 >> În acest caz, din nou, vom trage asta. 466 00:23:28,480 --> 00:23:31,770 Ne împinge pe unul, așa o este prima în linie. 467 00:23:31,770 --> 00:23:32,790 Și ne-am pop ceva off. 468 00:23:32,790 --> 00:23:37,280 Și nu există decât un singur lucru acolo, așa că ne-am muta o aici. 469 00:23:37,280 --> 00:23:41,940 Apoi ne-am pus pe 2 și 3 și am pop ceva off. 470 00:23:41,940 --> 00:23:43,650 >> Dar, din nou, din moment ce aceasta este o coadă - 471 00:23:43,650 --> 00:23:45,010 sau aceasta este o stivă, mai degrabă - 472 00:23:45,010 --> 00:23:47,480 vom lua tot ce a fost în trecut. 473 00:23:47,480 --> 00:23:49,300 Tot ce este în ultimul iese primul. 474 00:23:49,300 --> 00:23:50,890 Și 3 este în trecut. 475 00:23:50,890 --> 00:23:56,110 Așa că am pus trei acolo jos, apoi ne-am pus pe un alt 3 și noi 476 00:23:56,110 --> 00:23:57,360 pop din nou ceva. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 În cele din urmă, ne-am pus pe 4, 5, 6, și 7, și aici ne-am pop. 479 00:24:05,710 --> 00:24:09,060 Și pentru că este o stivă, vom lua tot ce a fost pus în trecut și scrie 480 00:24:09,060 --> 00:24:10,240 că aici. 481 00:24:10,240 --> 00:24:14,256 Așa că am termina cu 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Are cineva întrebări despre stive sau cozi, sau acest exemplu? 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 Să ne întoarcem la lista de subiecte. 487 00:24:30,440 --> 00:24:32,510 Nu pe acolo, în acest fel. 488 00:24:32,510 --> 00:24:34,280 Ce alte întrebări oamenii au? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> Audiența: Nu stiu cat de important acest lucru este, dar am fost confundat de către 491 00:24:39,480 --> 00:24:43,550 diferență între diferitele tipuri de limbi, cum ar fi marcare, compilate, 492 00:24:43,550 --> 00:24:45,980 interpretate. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: Asta-i o întrebare bună. 494 00:24:46,750 --> 00:24:50,500 Cred că este destul de importantă, asa ca hai sa trecem peste ea repede. 495 00:24:50,500 --> 00:24:56,850 Mari limbile pe care le-am vazut pana acum sunt C, PHP, JavaScript și, din punct de vedere 496 00:24:56,850 --> 00:24:58,330 de limbaje de programare. 497 00:24:58,330 --> 00:25:01,060 HTML, așa cum ați menționat, nu este un limbaj de programare. 498 00:25:01,060 --> 00:25:02,260 Este un limbaj de marcare. 499 00:25:02,260 --> 00:25:05,700 Și apoi ne-am CSS, care este, de asemenea, nu un limbaj de programare. 500 00:25:05,700 --> 00:25:10,330 >> Am văzut, de asemenea, SQL, care nu este un limbaj de programare, fie. 501 00:25:10,330 --> 00:25:15,695 Deci, SQL vă permite să scrie interogări pentru o bază de date. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML este un limbaj de marcare. 504 00:25:20,140 --> 00:25:22,570 Acesta definește modul în care sunt structurate lucrurile. 505 00:25:22,570 --> 00:25:26,250 Și CSS vă permite să stilizați lucruri. 506 00:25:26,250 --> 00:25:28,520 Asta e, probabil, în măsura în ceea ce trebuie să știți despre cei trei. 507 00:25:28,520 --> 00:25:32,920 Dar este mult mai interesant de a figura diferențele dintre C, PHP, 508 00:25:32,920 --> 00:25:34,320 și JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Deci, una dintre cele mai mari diferențe, așa cum ați menționat, este modul în care acestea sunt 510 00:25:37,900 --> 00:25:40,550 compilat, sau orice echivalentul este. 511 00:25:40,550 --> 00:25:42,580 Astfel încât C este compilat. 512 00:25:42,580 --> 00:25:43,950 Ne-ar fi mereu un compilator. 513 00:25:43,950 --> 00:25:51,100 Și atunci unde sunt erorile când executați compilatorul C? 514 00:25:51,100 --> 00:25:55,740 În cazul în care nu vă arată erori în codul dvs.? 515 00:25:55,740 --> 00:25:57,860 De unde știi că e un eroare în codul in C? 516 00:25:57,860 --> 00:25:58,770 >> Audiența: Acesta vă arată în terminal. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: Acesta vă arată în terminale ca esti compilarea. 518 00:26:00,410 --> 00:26:02,620 Și dacă există erori, ea nu va compila de fapt. 519 00:26:02,620 --> 00:26:04,830 Astfel încât să știți că există erori corecte departe, înainte de timp, înainte de a 520 00:26:04,830 --> 00:26:06,050 chiar rula codul. 521 00:26:06,050 --> 00:26:10,010 >> Desigur, s-ar putea rula cod și a obține o eroare de segmentare, dar care a fost 522 00:26:10,010 --> 00:26:12,350 probabil pentru că ați făcut ceva logică prostie. 523 00:26:12,350 --> 00:26:15,770 Dar codul dvs. cu punct de vedere tehnic toate corecte și ar putea rula. 524 00:26:15,770 --> 00:26:18,210 Deci, cod C se compilat înainte de timp. 525 00:26:18,210 --> 00:26:19,760 Ce zici de cod PHP? 526 00:26:19,760 --> 00:26:21,430 În cazul în care au fost erori în codul PHP? 527 00:26:21,430 --> 00:26:23,170 Cum ai stiut ca ai avut erori în codul PHP? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> Audiența: Timpul de execuție? 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Da, atunci când ar fugi, ar fi 531 00:26:31,230 --> 00:26:32,180 Cod PHP în spate. 532 00:26:32,180 --> 00:26:33,300 Și atunci ar afișa un ecran. 533 00:26:33,300 --> 00:26:35,260 S-ar putea vedea unele lucruri pe partea de sus, dar apoi te-ar vedea, cum ar fi, unele 534 00:26:35,260 --> 00:26:36,710 , masă urât portocaliu. 535 00:26:36,710 --> 00:26:41,420 Și vă va oferi un număr de linie și să zicem, bla, bla, bla, chestia asta 536 00:26:41,420 --> 00:26:42,400 nu au de lucru. 537 00:26:42,400 --> 00:26:48,730 >> Deci, PHP este interpretat linie cu linie și executat pe server. 538 00:26:48,730 --> 00:26:52,380 Iar atunci rezultatul este trimis la tine. 539 00:26:52,380 --> 00:26:53,340 Mare. 540 00:26:53,340 --> 00:26:56,410 Executat în linia de servere de linie și apoi trimis la tine. 541 00:26:56,410 --> 00:26:59,010 Și dacă există o eroare, va trimite tu eroarea, dar s-ar putea avea 542 00:26:59,010 --> 00:27:00,400 ajuns niște lucruri înainte de timp. 543 00:27:00,400 --> 00:27:02,730 Deci, o parte din ea s-ar putea au lucrat, dar mai târziu, unele lucruri nu s-ar putea avea 544 00:27:02,730 --> 00:27:03,890 nu a lucrat. 545 00:27:03,890 --> 00:27:04,600 >> Ce despre JavaScript? 546 00:27:04,600 --> 00:27:06,065 Unde ai vedea erori JavaScript? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 În p set de 8, atunci când ai o eroare, cum ai știut? 549 00:27:12,870 --> 00:27:13,710 În cazul în care ar apărea? 550 00:27:13,710 --> 00:27:15,900 >> Audiența: În consola, în partea de jos. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: în consolă, pe partea de jos. 552 00:27:17,650 --> 00:27:20,160 Acesta vă va oferi, de asemenea, număr de linie, și că ar fi 553 00:27:20,160 --> 00:27:21,330 apar pe partea de jos. 554 00:27:21,330 --> 00:27:24,320 Și JavaScript nu a fost executat pe server. 555 00:27:24,320 --> 00:27:27,800 JavaScript a fost trimis la computer, și apoi când a fost timp pentru a rula 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript a fost rula linie cu linie pe 557 00:27:31,670 --> 00:27:33,410 client, pe partea ta. 558 00:27:33,410 --> 00:27:35,570 Nu server, partea de client. 559 00:27:35,570 --> 00:27:37,690 >> Și în mod similar, a fost rula linie cu linie. 560 00:27:37,690 --> 00:27:40,630 Și atunci când v-ar lua o eroare, ar apărea în partea de jos. 561 00:27:40,630 --> 00:27:44,580 Ca și PHP, o parte din ea ar putea executa, și apoi s-ar putea obține o 562 00:27:44,580 --> 00:27:46,310 erori mai târziu. 563 00:27:46,310 --> 00:27:49,910 >> De asemenea, un pic PHP, spre deosebire, dacă ai o eroare de JavaScript - 564 00:27:49,910 --> 00:27:52,780 spune că nu a făcut dreapta cod pentru o cutie de alertă - 565 00:27:52,780 --> 00:27:55,800 ai putea continua să fie difuzate program. 566 00:27:55,800 --> 00:27:58,180 Caseta de avertizare nu ar funcționa, dar programul ar fi bine. 567 00:27:58,180 --> 00:28:00,490 Doar poate că funcția nu ar reuși. 568 00:28:00,490 --> 00:28:02,610 >> Deci, există unele dintre cele mai mari diferență în ceea ce privește modul în care acestea 569 00:28:02,610 --> 00:28:09,230 limbile, sau modul în care codul de programare scrieți sunt evaluate de fapt. 570 00:28:09,230 --> 00:28:11,970 Există și alte diferențe în punct de vedere - cea mai mare diferență 571 00:28:11,970 --> 00:28:15,590 am văzut în termeni de variabile în diferite limbi. 572 00:28:15,590 --> 00:28:19,660 Deci, poate cineva să-mi dea o diferență între variabile 573 00:28:19,660 --> 00:28:20,910 în cele trei limbi? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Da. 576 00:28:25,770 --> 00:28:27,130 >> Audiența: In C, sunt strict tastat. 577 00:28:27,130 --> 00:28:28,550 În celelalte două, sunt vag tastat. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn: Și Ce înseamnă asta? 579 00:28:30,040 --> 00:28:31,775 >> Audienta: Asta în C, trebuie să declare tipul variabilei când 580 00:28:31,775 --> 00:28:36,140 declarați variabila, cum ar fi interbool sau char. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Excelent. 582 00:28:36,990 --> 00:28:39,780 În C, mereu am avut de a pune un tip de o variabilă. 583 00:28:39,780 --> 00:28:41,360 Și nu am putut amesteca cu adevărat tipuri. 584 00:28:41,360 --> 00:28:45,750 Nu ai putea face un întreg plus un șir. 585 00:28:45,750 --> 00:28:48,760 Dar, așa cum am văzut în alte limbi, de fapt, se poate amesteca tipuri, 586 00:28:48,760 --> 00:28:51,230 și nu aveți cu adevărat să dea ceva un tip, vreodată. 587 00:28:51,230 --> 00:28:53,905 >> Deci, cum știm lucrurile sunt variabile în PHP și JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> Audiența: În PHP, încep să cu un semn dolar. 590 00:28:58,685 --> 00:29:00,810 În JavaScript, atunci când declara ei, trebuie să aveți un bar. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Corect. 592 00:29:01,760 --> 00:29:03,535 Deci, în PHP, care începe cu un semn dolar. 593 00:29:03,535 --> 00:29:06,300 În JavaScript, ei trebuie să aibă bar, deși, uneori, ei nu fac de fapt, 594 00:29:06,300 --> 00:29:07,520 trebuie să aibă bar. 595 00:29:07,520 --> 00:29:09,240 Dar asta e corect. 596 00:29:09,240 --> 00:29:13,300 >> Astfel că este o mare diferență între variabile. 597 00:29:13,300 --> 00:29:16,140 Cred că acestea sunt, probabil, de pe partea de sus a capul meu, cele două cele mai mari 598 00:29:16,140 --> 00:29:19,250 diferențele dintre acestea trei limbi. 599 00:29:19,250 --> 00:29:20,594 Dar, da. 600 00:29:20,594 --> 00:29:24,720 >> Audiența: Și domeniul de aplicare al variabilelor C este limitată la acolade, 601 00:29:24,720 --> 00:29:27,760 în cazul în care celelalte, e doar ca, moare daca este doar o funcție, 602 00:29:27,760 --> 00:29:29,650 dar altfel, e - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Corect. 604 00:29:30,240 --> 00:29:36,780 Deci, domeniul de aplicare este ușor diferită în C. Ca vă aduceți aminte, acolade defini 605 00:29:36,780 --> 00:29:37,710 Domeniul de aplicare al variabilelor. 606 00:29:37,710 --> 00:29:41,680 Deci, dacă acesta a fost definit în interiorul unei dacă condiție, care este în interiorul o pentru buclă, 607 00:29:41,680 --> 00:29:44,290 variabila există doar acolo. 608 00:29:44,290 --> 00:29:47,760 >> În JavaScript, dacă o variabilă este definită în interiorul o condiție în cazul în care - 609 00:29:47,760 --> 00:29:50,750 intr-o pentru buclă - va exista pentru această funcție, dar nu va exista 610 00:29:50,750 --> 00:29:52,330 în afara funcției. 611 00:29:52,330 --> 00:29:59,250 Deci, domeniul de aplicare este un pic mai flexibil în JavaScript și PHP. 612 00:29:59,250 --> 00:30:00,500 Care răspunde la întrebare? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, orice alte întrebări? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Putem face mai mult de patru minute de întrebări, atunci 617 00:30:08,865 --> 00:30:10,740 vom sari în codificare. 618 00:30:10,740 --> 00:30:12,645 >> Audiența: Putem merge în Ajax și vorbesc despre ceea ce este asta? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Vorbeste după la Avi. 621 00:30:17,800 --> 00:30:19,170 El a cerut această întrebare mai devreme. 622 00:30:19,170 --> 00:30:19,630 >> Audiența: Greșeala mea. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Nu vă faceți griji. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> Audiența: Ce este mai exact JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Ce este JSON? 628 00:30:28,900 --> 00:30:29,930 Care este întrebarea dvs.? 629 00:30:29,930 --> 00:30:31,350 >> Audiența: Doar foarte repede, diferența dintre 630 00:30:31,350 --> 00:30:32,870 imprimare și ecou în PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON Hirschhorn: De ce nu te google diferența dintre imprimare și ecou? 633 00:30:38,490 --> 00:30:40,670 Diferență ușoară. 634 00:30:40,670 --> 00:30:42,020 Nu că mare lucru. 635 00:30:42,020 --> 00:30:44,960 Dar ar trebui să-l Google cu siguranta, și că voi da un răspuns bun. 636 00:30:44,960 --> 00:30:46,910 >> JSON, probabil, mai mare de o afacere. 637 00:30:46,910 --> 00:30:49,300 Standuri pentru JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 Și când am văzut JSON folosit? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Când l-ai văzut - 641 00:30:55,900 --> 00:30:57,400 de ce nu te cunosc cuvântul JSON? 642 00:30:57,400 --> 00:30:59,140 Când l-ai văzut? 643 00:30:59,140 --> 00:31:02,200 >> Audiența: Când am fost obtinerea stoc citează pentru finanțare. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Deci ai văzut ea când au fost obtinerea de 645 00:31:02,690 --> 00:31:04,830 stoc citează pentru finanțare. 646 00:31:04,830 --> 00:31:07,340 Și de ce l-ai văzut? 647 00:31:07,340 --> 00:31:09,000 >> Audiența: Când am fost preluarea toate informațiile pe care 648 00:31:09,000 --> 00:31:10,400 a venit în acel format. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Deci, v-ar lua - 650 00:31:11,700 --> 00:31:12,540 Da. 651 00:31:12,540 --> 00:31:13,020 Dă-i drumul. 652 00:31:13,020 --> 00:31:15,210 >> Audiența: [inaudibil] informație dintr-un obiect? 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: Ambele celor pune împreună este răspunsul 654 00:31:17,170 --> 00:31:18,100 căutăm. 655 00:31:18,100 --> 00:31:21,240 Aveți nevoie de informații de la acest alt pagina de web. 656 00:31:21,240 --> 00:31:23,790 Și v-ar spera că atunci când ești obtinerea că de informații, ar fi 657 00:31:23,790 --> 00:31:26,720 prezentat la tine la un anumit tip a format standardizat. 658 00:31:26,720 --> 00:31:29,530 >> Toată lumea este, probabil, familiarizat cu valori separate prin virgulă. 659 00:31:29,530 --> 00:31:32,970 Puteți exporta o foaie de calcul Excel sau orice tip de foaie de calcul ca o listă de 660 00:31:32,970 --> 00:31:34,540 Valori separate prin virgulă. 661 00:31:34,540 --> 00:31:37,370 Și virgulele împărți toate diferite domenii. 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 este un alt tip de standardizat aspectul de lucruri. 665 00:31:43,540 --> 00:31:49,010 Și asta e de multe ori cum am prelua informații de la interogări noastre Ajax. 666 00:31:49,010 --> 00:31:51,770 >> Deci, în acest caz, am luat- de pe site-ul Yahoo. 667 00:31:51,770 --> 00:31:53,600 Ei se întorc la lucrurile ne într-un obiect JSON. 668 00:31:53,600 --> 00:31:56,790 Și atunci știm, pentru că e un standard, ce e 669 00:31:56,790 --> 00:31:57,250 O să arate ca. 670 00:31:57,250 --> 00:32:00,760 Deci, putem repeta prin matrice care a revenit la noi, gama de 671 00:32:00,760 --> 00:32:03,180 obiecte care sunt returnate la noi. 672 00:32:03,180 --> 00:32:07,770 >> Avem nevoie, probabil, să știe cheile, dar, în general, vă dau 673 00:32:07,770 --> 00:32:11,370 documentație în site-ul, atunci când te preluarea unele JSON 674 00:32:11,370 --> 00:32:12,170 notație pentru ei. 675 00:32:12,170 --> 00:32:16,940 De asemenea, puteți JSON codifica un obiect. 676 00:32:16,940 --> 00:32:19,900 Deci, există o funcție JSON subliniere codifica. 677 00:32:19,900 --> 00:32:22,970 Și astfel încât să puteți lua un obiect care care le-ați creat, JSON se codifica, și 678 00:32:22,970 --> 00:32:26,390 trece-l pe la ceva altfel, dacă doriți să. 679 00:32:26,390 --> 00:32:30,770 Și JSON decodare există, de asemenea, pentru un scop similar, sau pentru 680 00:32:30,770 --> 00:32:31,780 scop opus. 681 00:32:31,780 --> 00:32:36,570 >> Audiența: Nu avem nevoie să știm de codificare pentru tabele de dispersie și încearcă? 682 00:32:36,570 --> 00:32:40,300 Sau avem nevoie doar pentru a înțelege modul în care acestea sunt utilizate, conceptual? 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Deci, ridica mana dacă ai făcut un tabel hash pentru p set 4 684 00:32:44,570 --> 00:32:46,920 cu o listă de link. 685 00:32:46,920 --> 00:32:47,960 Sau p set 5. 686 00:32:47,960 --> 00:32:49,060 Astfel că a fost o mare majoritate de oameni. 687 00:32:49,060 --> 00:32:50,390 P set 5, 6, cine știe. 688 00:32:50,390 --> 00:32:51,240 Acum o lungă perioadă de timp. 689 00:32:51,240 --> 00:32:54,140 >> Deci, marea majoritate a ai făcut hash tabele cu liste de link-uri. 690 00:32:54,140 --> 00:32:56,525 Și pentru că asta e, probabil, mai mult abordare comună, și pentru că am petrecut 691 00:32:56,525 --> 00:32:59,460 o mulțime de timp a face liste de link-uri și hash mese, ar trebui să fie, probabil, 692 00:32:59,460 --> 00:33:02,600 destul de familiarizați cu modul de cod un tabel hash și o listă de link-ul. 693 00:33:02,600 --> 00:33:05,060 >> Și dacă vă gândiți la această problemă stabilit, nu a fost într-adevăr 694 00:33:05,060 --> 00:33:06,410 la fel de tare ca v-ați așteptat. 695 00:33:06,410 --> 00:33:08,120 Și acolo a fost mult mai puțin cod decât v-ați așteptat. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Aș spune că ar trebui să știi cum să cod un tabel hash sau o listă de link-ul. 698 00:33:14,650 --> 00:33:17,010 Nu că ai fi cerut ca, în mod necesar, dar ar trebui să 699 00:33:17,010 --> 00:33:19,730 știu cu siguranță că. 700 00:33:19,730 --> 00:33:21,860 >> De asemenea, dacă te uiți prin teste trecute, au existat o mulțime de 701 00:33:21,860 --> 00:33:26,450 întrebări cu privire la scrierea funcții pe liste de link-uri sau liste de dublu-legate. 702 00:33:26,450 --> 00:33:28,370 Care pare să vină în sus în fiecare an. 703 00:33:28,370 --> 00:33:31,940 Introduce dreapta pe o listă de link-ul, chiar șterge dintr-o listă de link-ul, introduceți corect 704 00:33:31,940 --> 00:33:33,610 pentru o listă dublu-legate, etc. 705 00:33:33,610 --> 00:33:36,170 Așa că, mă simt destul de confortabil să spui că ar trebui să știi asta. 706 00:33:36,170 --> 00:33:40,600 >> Pentru încercare, aș spune că ar trebui să cu siguranță știu cum funcționează, și poate 707 00:33:40,600 --> 00:33:43,570 da unele pseudocod pentru modul în care să-l cod și a pus-o. 708 00:33:43,570 --> 00:33:45,600 Dar nu ar fi cel mai rău lucru în în lume, dacă nu știi cum să 709 00:33:45,600 --> 00:33:48,870 cod se în C. Ar fi minunat dacă ați știut cum să-l cod în C, dar cred că 710 00:33:48,870 --> 00:33:52,516 probabil pseudocod pentru a încerca ar fi fi cel mai mult ar avea nevoie 711 00:33:52,516 --> 00:33:53,270 să cunoască pentru a încerca. 712 00:33:53,270 --> 00:33:53,930 >> Audiența: credit Extra? 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn: Și același cu, dacă ne-am du-te în copaci binar de căutare, s-ar putea 714 00:33:58,290 --> 00:34:02,320 nevoie - și le-ați văzut în trecut, am făcut o mulțime de - știți cum 715 00:34:02,320 --> 00:34:03,380 arbore binar de căutare de lucrări. 716 00:34:03,380 --> 00:34:07,150 Ar trebui să fie, probabil, posibilitatea de a stabilit o în cod pseudo. 717 00:34:07,150 --> 00:34:10,510 Dar, pentru că marea majoritate a oamenilor nu a făcut asta pe problema 718 00:34:10,510 --> 00:34:13,880 set, aș spune că e, probabil, mai puțin important să știți cum să codul 719 00:34:13,880 --> 00:34:17,380 și a înființat un copac de genul asta. 720 00:34:17,380 --> 00:34:19,679 >> Orice alte întrebări? 721 00:34:19,679 --> 00:34:23,234 De asemenea, le putem cere de-a lungul așa cum am trece prin unele probleme. 722 00:34:23,234 --> 00:34:27,170 OK, ne vom muta pe. 723 00:34:27,170 --> 00:34:28,230 Skip că diapozitiv pentru acum. 724 00:34:28,230 --> 00:34:32,449 >> Vorbind de copaci, care este primul intrebare am pentru voi. 725 00:34:32,449 --> 00:34:34,270 Pentru că aceasta este o problemă. 726 00:34:34,270 --> 00:34:37,380 Aș spune că e foarte probabil veți a obține o problemă ca acest test pe dvs. 727 00:34:37,380 --> 00:34:43,659 vă cer să cod anumit tip de insert, șterge, de căutare, pentru un tip de 728 00:34:43,659 --> 00:34:45,270 din structura de date care le-am văzut. 729 00:34:45,270 --> 00:34:47,719 >> Care vine în fiecare an, și am petrecut o mulțime de timp de-a doua jumătate a acestui 730 00:34:47,719 --> 00:34:50,270 semestru merge peste aceste tipuri de date. 731 00:34:50,270 --> 00:34:54,170 Deci, chiar acum, am definit un nod într-un arbore binar de căutare. 732 00:34:54,170 --> 00:34:58,490 Și ceea ce aș dori să faceți este dat un arbore binar de căutare care începe 733 00:34:58,490 --> 00:35:05,450 la această rădăcină stea nod, finaliza punerea în aplicare a funcției de mai jos, 734 00:35:05,450 --> 00:35:07,430 care se întâmplă să fie o funcție de descoperire. 735 00:35:07,430 --> 00:35:09,260 Și-l face cu și fără recursions. 736 00:35:09,260 --> 00:35:10,860 >> Așa că vreau să scrie două funcții. 737 00:35:10,860 --> 00:35:14,310 O face acest lucru cu recursivitate, un face acest lucru fără recursivitate. 738 00:35:14,310 --> 00:35:18,050 Și nu presupune că rădăcină va fi non-nul. 739 00:35:18,050 --> 00:35:21,790 Deci, suntem în căutarea pentru întreg i în arborele începând de la rădăcină, și avem nevoie de 740 00:35:21,790 --> 00:35:25,280 pentru a scrie acest recursiv și iterativ. 741 00:35:25,280 --> 00:35:26,300 Da. 742 00:35:26,300 --> 00:35:29,730 >> Audiența: Deci, vrei să ne întoarcem adevărat dacă vom găsi, și fals în cazul în care ne-am 743 00:35:29,730 --> 00:35:30,480 nu-l găsesc. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: De unde știi? 745 00:35:32,160 --> 00:35:33,100 Cum ai știut asta? 746 00:35:33,100 --> 00:35:36,500 >> Audiența: am întrebat în primul rând, dar am fost presupunând, deoarece se spune bool la 747 00:35:36,500 --> 00:35:37,490 începutul funcției. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Corect. 749 00:35:37,880 --> 00:35:41,020 Se spune bool, așa că nici măcar nu trebuie să vă spun ceea ce mă aștept să vă mai întoarceți 750 00:35:41,020 --> 00:35:41,350 deoarece se spune acolo. 751 00:35:41,350 --> 00:35:42,280 Dar asta e drept. 752 00:35:42,280 --> 00:35:43,510 Reveni, adevărat sau fals. 753 00:35:43,510 --> 00:35:47,630 >> Deci, înainte de a începe, aș recomanda, dacă nu sunteți familiarizat cu 754 00:35:47,630 --> 00:35:51,300 arbori de căutare binare, desen rapid o imagine de ea pentru a obține dvs. 755 00:35:51,300 --> 00:35:51,750 înțelegere, corect. 756 00:35:51,750 --> 00:35:54,720 Care vă va ajuta, de asemenea, atunci când scrieți codul și verificarea-l. 757 00:35:54,720 --> 00:35:57,830 Din nou, de asemenea, nu au atât de mult timp pe testul pentru a face toate lucrurile 758 00:35:57,830 --> 00:35:59,030 vă cerem să facem. 759 00:35:59,030 --> 00:36:02,350 Deci, scrierea de cod pseudo este de foarte mare ajutor. 760 00:36:02,350 --> 00:36:05,310 >> Și, în general, ne-am da de - 761 00:36:05,310 --> 00:36:06,820 în cazul în pseudocod este perfect corect, că este 762 00:36:06,820 --> 00:36:08,910 în general, de 50% pe o întrebare. 763 00:36:08,910 --> 00:36:11,410 Deci, nu este o regulă greu și rapid, dar în cazul în care scrii doar pseudocod și este 764 00:36:11,410 --> 00:36:13,460 corect, este, în general de 50%. 765 00:36:13,460 --> 00:36:14,970 Așa că aș recomanda mereu - 766 00:36:14,970 --> 00:36:16,870 daca esti presat de timp, sau chiar dacă esti doar încercarea de a-mi dau seama - 767 00:36:16,870 --> 00:36:18,290 începând cu pseudocod. 768 00:36:18,290 --> 00:36:24,840 Și, în sfârșit, dacă ai putea scrie acest toate în C, care ar fi fantastic. 769 00:36:24,840 --> 00:36:29,010 >> Așa că haideți să luăm trei minute pentru a lucra la acest program. 770 00:36:29,010 --> 00:36:33,120 Și apoi ne-am de gând să scrie pseudocod pentru el doar o dată, și apoi 771 00:36:33,120 --> 00:36:35,455 am de gând să-l cod recursiv și apoi iterativ. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Dacă aveți întrebări, simt ridica gratuit mâna. 774 00:37:30,760 --> 00:37:34,270 Fericit să se plimbe și să le răspundă înainte de a începe ca un grup. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Să ne relua, și vom pseudocod versiunea recursiv de 777 00:39:27,200 --> 00:39:29,830 acest lucru, iar apoi o vom cod. 778 00:39:29,830 --> 00:39:33,380 Deci, o functie recursiv are nevoie de două lucruri. 779 00:39:33,380 --> 00:39:35,960 Acest lucru ar putea fi o întrebare care ai putea fi întrebat. 780 00:39:35,960 --> 00:39:37,950 Are nevoie de două lucruri. 781 00:39:37,950 --> 00:39:40,610 Cine poate ridica mâna și spune-mi ceea ce cele două lucruri o recursive 782 00:39:40,610 --> 00:39:43,680 Funcția are nevoie? 783 00:39:43,680 --> 00:39:45,030 Prin definiție, are două lucruri. 784 00:39:45,030 --> 00:39:46,280 Care sunt cele două lucruri? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Noi mâini. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Da, Alden. 789 00:39:56,390 --> 00:39:57,980 >> Audiența: Deci, eu nu sunt sigur dacă aceasta este terminologia, dar - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Mă bucur că te ridica mana. 791 00:39:59,715 --> 00:40:03,380 >> Audiența: Este nevoie de un caz de bază, și are nevoie de un pas recursiv. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 Este nevoie de un caz de bază și un pas recursiv. 794 00:40:06,340 --> 00:40:10,430 Deci, ceea ce este cazul bazei noastre de aici? 795 00:40:10,430 --> 00:40:12,950 >> Audiența: F rădăcină egal este egal cu zero. 796 00:40:12,950 --> 00:40:15,110 Îmi pare rău, doar în pseudocod, daca este nul. 797 00:40:15,110 --> 00:40:16,360 În cazul în care rădăcină este nul. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn: Dacă rădăcină este nul. 800 00:40:23,540 --> 00:40:23,850 Asta-i excelent. 801 00:40:23,850 --> 00:40:24,610 Acesta este cazul nostru de bază. 802 00:40:24,610 --> 00:40:25,910 Asta e ceea ce vom pentru a verifica de fiecare dată. 803 00:40:25,910 --> 00:40:28,000 Și cazul de bază este primul lucru pe care îl faci. 804 00:40:28,000 --> 00:40:29,720 Dacă te-a lovit cazul de bază, ați terminat. 805 00:40:29,720 --> 00:40:34,140 >> Acum, avem nevoie de apelul nostru recursiv, și mi-ar fi dispus să parieze avem nevoie de un cuplu 806 00:40:34,140 --> 00:40:35,440 recursiv apeluri aici. 807 00:40:35,440 --> 00:40:39,630 Pentru că este un copac, și ne-am ar putea merge mai multe moduri. 808 00:40:39,630 --> 00:40:43,190 Deci, în cazul în care rădăcină este nul, suntem bine. 809 00:40:43,190 --> 00:40:44,970 >> Ce propui? 810 00:40:44,970 --> 00:40:49,640 Și acum am de gând să înceapă strigând pe voi, pentru că știu că voi 811 00:40:49,640 --> 00:40:50,540 cu toții acest lucru. 812 00:40:50,540 --> 00:40:52,610 Dar Annie, ce ar trebui să linia următoare să fie? 813 00:40:52,610 --> 00:40:53,570 Ce se întâmplă dacă am găsit-o? 814 00:40:53,570 --> 00:40:55,526 Ce facem? 815 00:40:55,526 --> 00:40:57,300 >> Audiența: Dacă l-am găsit? 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Sau ce în sensul că - 817 00:40:59,160 --> 00:41:02,124 da-mi pseudocod pentru linie de unde l-am găsit. 818 00:41:02,124 --> 00:41:04,700 >> Audiența: În cazul în care i este egal cu radacina i? 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn: Și atunci ce facem? 820 00:41:06,650 --> 00:41:07,590 >> Audiența: Înapoi adevărat. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Mare. 822 00:41:08,530 --> 00:41:16,890 Deci, în cazul în care i este i - 823 00:41:16,890 --> 00:41:17,400 oh, ei numesc amândoi i. 824 00:41:17,400 --> 00:41:18,470 Care devine confuz. 825 00:41:18,470 --> 00:41:23,830 Dar dacă i este i întoarcă adevărat. 826 00:41:23,830 --> 00:41:25,620 Asta e, probabil alta lucru ar trebui să facem. 827 00:41:25,620 --> 00:41:27,300 Are sens. 828 00:41:27,300 --> 00:41:30,610 >> OK, acum nu am făcut recursive nostru numesc încă, deși, pentru că o recursive 829 00:41:30,610 --> 00:41:32,300 apel ar suna din nou această funcție. 830 00:41:32,300 --> 00:41:41,460 Deci, ce ar trebui să următoarea linie de pseudocod fi? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> Audiența: în partea stângă. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Fii specific, totuși. 835 00:41:47,590 --> 00:41:50,600 Acesta este un arbore binar de căutare, astfel încât ceea ce este verificarea pe partea stângă implică? 836 00:41:50,600 --> 00:41:51,890 >> Audiența: Deci, nod - 837 00:41:51,890 --> 00:41:53,342 Îmi pare rău, rădăcină. 838 00:41:53,342 --> 00:41:55,306 Și apoi săgeată stânga. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Nod, nod, îmi pare rău. 841 00:42:00,720 --> 00:42:01,978 Nu am citit-o în mod corespunzător. 842 00:42:01,978 --> 00:42:05,700 Se numește nod, corect? 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: Acesta va fi numit rădăcină în această funcție, dar nici un fel. 844 00:42:09,270 --> 00:42:10,925 În partea stângă - Da? 845 00:42:10,925 --> 00:42:13,780 >> Audiența: În cazul în care nu este egal i, atunci vom apela 846 00:42:13,780 --> 00:42:15,130 funcția din nou? 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: Asta-i drept. 848 00:42:15,490 --> 00:42:17,870 În cazul în care nu este egal i, vom pentru a apela din nou funcția. 849 00:42:17,870 --> 00:42:21,435 Dar ce parte a arborelui mergem pentru a apela din nou funcția? 850 00:42:21,435 --> 00:42:22,685 >> Audiența: Pe partea stângă. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Noi nu suntem întotdeauna de gând să-l numesc stânga, în cazul în care 853 00:42:27,670 --> 00:42:29,190 nu-l egaleze. 854 00:42:29,190 --> 00:42:29,610 >> Audiența: Oh, îmi pare rău. 855 00:42:29,610 --> 00:42:31,200 Suna pe dreapta. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Vrem să știm în mod specific, deși - amintiți-vă, într-o 857 00:42:33,680 --> 00:42:37,700 arbore binar de căutare, totul pentru a în partea stângă este mai mic. 858 00:42:37,700 --> 00:42:40,460 Totul la dreapta în partea stângă este mai mare. 859 00:42:40,460 --> 00:42:43,990 Deci, nu e doar - Da, dă-i drumul. 860 00:42:43,990 --> 00:42:46,805 >> Audiența: În cazul în care este mai puțin decât mine, atunci - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 daca este pe partea stângă - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Deci, dacă ri este mai mică de - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 așa că, dacă numărul nostru este mai mic i, ce parte vrem să mergem? 867 00:43:09,110 --> 00:43:15,120 >> Audiența: Vrem să mergem pentru partea dreaptă. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Vrem să mergem - 869 00:43:16,250 --> 00:43:19,210 permiteți-mi trage un copac rapid. 870 00:43:19,210 --> 00:43:23,850 Dacă acest lucru este 5, aceasta va fi 3. 871 00:43:23,850 --> 00:43:29,410 Deci, dacă ri este mai mic de cinci, ceea ce lateral nu vrem să mergem? 872 00:43:29,410 --> 00:43:30,390 >> Audiența: Îmi pare rău, ce? 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: număr nostru este mai puțin decât numărul suntem 874 00:43:33,190 --> 00:43:34,710 uita la acum. 875 00:43:34,710 --> 00:43:35,890 >> Audiența: Oh, atunci ne-o dorim pentru a merge la stânga. 876 00:43:35,890 --> 00:43:36,240 Da. 877 00:43:36,240 --> 00:43:36,920 Scuze. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Exact. 879 00:43:37,230 --> 00:43:38,480 Nu vă faceți griji. 880 00:43:38,480 --> 00:43:41,020 În binar arbore de căutare, totul inferioară este la stânga, 881 00:43:41,020 --> 00:43:42,110 mai mare este la dreapta. 882 00:43:42,110 --> 00:43:46,700 Deci, în cazul în care numărul nostru este mai mic decât i suntem de verificare - 883 00:43:46,700 --> 00:43:48,790 pentru că veți vedea în nod, are un i - 884 00:43:48,790 --> 00:43:50,040 atunci vrei să mergi la stânga. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> Și aceasta este una usoara. 887 00:43:56,720 --> 00:44:01,700 Ce este altă linie de pseudocod avem nevoie pentru a scrie? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> Audiența: Același lucru, doar treceți se la o mai mare semn 890 00:44:05,970 --> 00:44:07,420 și du-te la dreapta. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Poți spun ca mai mult de o dată? 892 00:44:08,350 --> 00:44:11,640 >> Audiența: În cazul în care numărul nostru este mai mare decât am, du-te la dreapta. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Excelent de locuri de muncă pe pseudocod. 895 00:44:26,690 --> 00:44:28,700 Să facem acest lucru în cod reală. 896 00:44:28,700 --> 00:44:33,280 Și din nou, aceasta va pseudocod probabil te, pentru că e 897 00:44:33,280 --> 00:44:35,480 corect, de 50% la această întrebare. 898 00:44:35,480 --> 00:44:39,720 Dar acest pseudocod, de asemenea, traduce o la unul, în esență, în cod. 899 00:44:39,720 --> 00:44:44,380 >> Așa că haideți să ne facem acest lucru în C. Cine poate da mi prima linie de cod? 900 00:44:44,380 --> 00:44:48,390 De fapt, în primul rând, înainte de a face că, lasă-mă să trag pe dreapta - 901 00:44:48,390 --> 00:44:49,260 >> Audiența: Am o întrebare. 902 00:44:49,260 --> 00:44:52,430 De ce ai liniuță linie ți-am dat? 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Deoarece Nu aș putea scrie. 904 00:44:54,160 --> 00:44:55,240 Nu știu. 905 00:44:55,240 --> 00:44:55,650 Ai dreptate. 906 00:44:55,650 --> 00:44:57,780 Această linie ar trebui să fie acolo. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, aici este funcția noastră. 909 00:45:14,480 --> 00:45:18,090 Și lasă-mă să trag pe dreapta, de asemenea, definiția noastră a unui nod. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Ce se întâmplă dacă nu am făcut- scrie typedef? 912 00:45:27,180 --> 00:45:30,240 Stie cineva? 913 00:45:30,240 --> 00:45:32,570 >> Audiența: Nu ar compila. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Ar fi compila, da. 915 00:45:33,860 --> 00:45:37,120 >> Audiența: ar declara doar o exemplu, în loc de a face o nouă 916 00:45:37,120 --> 00:45:39,840 tip ar putea declara mai multe cazuri de? 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: Deci, nu ar fi știu - aceasta nu ar fi 918 00:45:41,700 --> 00:45:43,120 declare doar un singur tip. 919 00:45:43,120 --> 00:45:46,150 Ai putea face încă o mulțime de noduri. 920 00:45:46,150 --> 00:45:48,070 >> Audiența: Dar nu ar trebui să ne Trimite nod struct de fiecare dată? 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: Asta-i drept. 922 00:45:48,640 --> 00:45:50,960 Tu ar trebui să scrie nod struct de fiecare dată, în loc de doar nod. 923 00:45:50,960 --> 00:45:55,270 Dar cu typedef, puteți doar Trimite nod de fiecare dată. 924 00:45:55,270 --> 00:45:58,240 OK, care nu a dat - Da, Avica. 925 00:45:58,240 --> 00:46:01,520 >> Audiența: Dacă rădăcină egal la egal la egal null, return false. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Mare, și că este cazul nostru de bază. 928 00:46:09,490 --> 00:46:11,200 Linia următoare de cod. 929 00:46:11,200 --> 00:46:13,999 Cineva care nu a dat mi-o linie de cod încă? 930 00:46:13,999 --> 00:46:14,945 Da. 931 00:46:14,945 --> 00:46:23,360 >> Audiența: Root săgeată i este egal egal cu i. 932 00:46:23,360 --> 00:46:27,260 Apoi să se întoarcă adevărat. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Mare. 934 00:46:29,162 --> 00:46:32,048 Linia următoare? 935 00:46:32,048 --> 00:46:32,790 Da. 936 00:46:32,790 --> 00:46:34,010 Altcineva? 937 00:46:34,010 --> 00:46:36,774 Si apoi poti sa te duci viitoare. 938 00:46:36,774 --> 00:46:44,820 >> Audiența: Altfel dacă rădăcină săgeată i este mai mică decât i se întoarcă 939 00:46:44,820 --> 00:46:47,737 Funcția numit rădăcină find - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Îmi pare rău. 941 00:46:50,611 --> 00:46:56,272 >> Audiența: rădăcină de returnare find puncte de la stânga virgulă i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Deci, dacă ri este mai mare decât lucrul în copac, vrem să 944 00:47:08,440 --> 00:47:09,573 du-te la stânga? 945 00:47:09,573 --> 00:47:11,790 >> Audiența: Nu, am avut schimbat. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Care dintre ele? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> Audiența: Nu, da. 949 00:47:16,950 --> 00:47:19,050 Am avea o mai puțin de semn acolo. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Corect, dacă ri este mai puțin decât ceea ce este în rădăcină - 951 00:47:22,890 --> 00:47:25,660 rădăcină nostru actual - apoi am vreau să merg la stânga. 952 00:47:25,660 --> 00:47:26,960 Și ceea ce este ultima linie, tu? 953 00:47:26,960 --> 00:47:30,930 >> Audiența: Practic același lucru, cu excepția comuta mai mare decât sau 954 00:47:30,930 --> 00:47:34,690 egal cu mai puțin și de la stânga la dreapta. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Excelent. 957 00:47:43,680 --> 00:47:48,430 Are cineva intrebari despre acest lucru? 958 00:47:48,430 --> 00:47:52,560 Deci, alte lucruri care ar au fost corect este că 959 00:47:52,560 --> 00:47:53,810 ar putea fi-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Ghici, punct de vedere tehnic, nici una dintre aceste într-adevăr, de asemenea, trebuie să fie-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> De asemenea, nu există, probabil, doar un caz aici. 963 00:48:00,950 --> 00:48:02,380 Deci, asta e, probabil, ultimul caz. 964 00:48:02,380 --> 00:48:04,000 Nici măcar nu au nevoie de asta-ltiff. 965 00:48:04,000 --> 00:48:06,160 Dar, probabil, bun pentru a scrie aceasta, să fie clar. 966 00:48:06,160 --> 00:48:06,660 Da. 967 00:48:06,660 --> 00:48:09,200 >> Audiența: Deci tu nu crezi testul - dacă am face greșeli, de exemplu, 968 00:48:09,200 --> 00:48:11,725 în sintaxă - 969 00:48:11,725 --> 00:48:13,990 erori de sintaxă mici - 970 00:48:13,990 --> 00:48:17,810 cum că se ia în testul? 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: În general, pe testul, mici erori de sintaxă sau mici 972 00:48:21,300 --> 00:48:24,010 erori de stil să nu pierzi puncte. 973 00:48:24,010 --> 00:48:26,610 Deci, dacă ați uitat un punct și virgulă aici, ar fi bine. 974 00:48:26,610 --> 00:48:30,290 Dacă ați uitat să închideți această paranteză, care ar fi OK. 975 00:48:30,290 --> 00:48:34,880 >> Erori de sintaxă imense care modifica semnificația funcțională a codului 976 00:48:34,880 --> 00:48:37,600 dramatic, s-ar putea obține luate de pe puncte pentru. 977 00:48:37,600 --> 00:48:40,330 Sau, în general, doar de clasificare dacă sau nu dvs. 978 00:48:40,330 --> 00:48:42,150 Funcțiile de cod, chiar - 979 00:48:42,150 --> 00:48:44,830 Nu designul său atât de mult, și nu stilul său. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Să acum un cod iterativ versiune a găsi. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Asa ca va fi destul de similare, dar există cu siguranță va fi 984 00:49:03,450 --> 00:49:06,250 unele diferențe cheie. 985 00:49:06,250 --> 00:49:09,160 Cu toate acestea, pseudocod nostru probabil se poate merge - 986 00:49:09,160 --> 00:49:11,610 putem lua încă o linie de pseudocod și dau seama ce 987 00:49:11,610 --> 00:49:14,160 linie este în acest caz. 988 00:49:14,160 --> 00:49:18,010 >> Deci, într-o versiune iterativ, ceea ce crezi, Julia, ar trebui să 989 00:49:18,010 --> 00:49:19,260 fi prima linie? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> Audiența: Din nou, în boolean iterativ, aveți nevoie pentru a configura o pentru buclă, corect? 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> Audiența: Deci, pentru ca, k, pentru x este egal cu 0, x este mai mic decât am. 994 00:49:38,480 --> 00:49:42,260 Sau nu, x este mai mic decât dimensiunea de copac. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: copac. 996 00:49:42,760 --> 00:49:46,660 Deci, noi nu știm cu adevărat de mărimea copac, și nu știm cu adevărat pentru 997 00:49:46,660 --> 00:49:48,900 de câte ori putem merge, deci ceea ce este o alt tip de buclă care ar putea fi 998 00:49:48,900 --> 00:49:50,150 mai bine în acest caz? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> Audiența: Dacă altcineva? 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: Dacă altcineva nu poate fi o buclă. 1002 00:49:57,070 --> 00:49:58,935 Deci ce este un tip de buclă putem doar du-te până unele cazuri este îndeplinită? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Care este singurul alt tip de buclă în C, în afară de o buclă? 1005 00:50:11,560 --> 00:50:11,930 >> Audiența: în timp ce. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: În timp ce, exact. 1007 00:50:13,380 --> 00:50:16,430 Într-o buclă în timp ce, nu trebuie să știe cum - 1008 00:50:16,430 --> 00:50:18,450 o buclă în timp și pentru bucla poate face același lucru exact, dar un lucru frumos 1009 00:50:18,450 --> 00:50:21,500 despre o buclă în timp ce este nu avem nevoie să știe cât de mare copac nostru este. 1010 00:50:21,500 --> 00:50:23,060 Așa că am de gând să meargă până ce? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> Audiența: Până egal dimensiunea - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: Ei bine, e foarte similar cu cazul nostru recursiv. 1014 00:50:32,320 --> 00:50:33,360 Așa - 1015 00:50:33,360 --> 00:50:36,470 >> Audiența: În timp ce rădăcină i nu este egal cu i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: Asta e foarte aproape. 1017 00:50:37,620 --> 00:50:39,430 În timp ce radacina i - 1018 00:50:39,430 --> 00:50:40,610 hai să încercăm. 1019 00:50:40,610 --> 00:50:41,180 Nu cred ca [inaudibil] 1020 00:50:41,180 --> 00:50:43,026 unde rădăcină i nu i egal. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 S-ar putea nevoie pentru a schimba într-o mică bit, dar că sună ca e destul de 1023 00:50:49,460 --> 00:50:50,160 bun, pentru acum. 1024 00:50:50,160 --> 00:50:51,710 Deci, vom face asta. 1025 00:50:51,710 --> 00:50:55,660 >> De asemenea, amintiți-vă, nu ne putem asuma pe problema. 1026 00:50:55,660 --> 00:50:57,880 Tu nu presupune că rădăcină va fi non-nul. 1027 00:50:57,880 --> 00:51:01,914 Deci, ce crezi că foarte primul lucru pe care ar trebui să facem este? 1028 00:51:01,914 --> 00:51:02,770 >> Audiența: Doar face la fel lucru ca și mai înainte. 1029 00:51:02,770 --> 00:51:05,260 Dacă rădăcina este egal cu egal null, return false. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Mare. 1032 00:51:12,130 --> 00:51:13,820 Așa că ar putea fi nul. 1033 00:51:13,820 --> 00:51:15,810 Așa că vrem să scape de-l imediat. 1034 00:51:15,810 --> 00:51:19,560 Și apoi vom merge de verificare în cazul în care radacina i nu este egal cu i. 1035 00:51:19,560 --> 00:51:24,480 Deci, spune că sunteți în căutarea în acest copac pentru 3, radacina i nu este egal i, acum 1036 00:51:24,480 --> 00:51:25,950 suntem în buclă în timp ce noastre. 1037 00:51:25,950 --> 00:51:27,500 Ce vrem să facem? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 Și din nou, o să fie destul de similar cu versiunea noastră recursiv. 1040 00:51:35,430 --> 00:51:36,230 Da. 1041 00:51:36,230 --> 00:51:40,470 >> Audiența: Deci ai vrea de a repeta, sau continua merge în jos copac, atâta timp cât 1042 00:51:40,470 --> 00:51:42,400 rădăcina nu este egal cu zero. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: atâta timp cât rădăcină nu este egal cu null? 1045 00:51:46,640 --> 00:51:50,200 >> Audiența: rădăcină bord i nu este egal cu zero. 1046 00:51:50,200 --> 00:51:51,220 Doar rădăcina, da. 1047 00:51:51,220 --> 00:51:52,920 Ca timp cât rădăcina este nu este egal cu null. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Deci, vrei pentru a schimba acest lucru în rădăcină 1049 00:51:54,240 --> 00:51:56,590 nu este egal cu zero? 1050 00:51:56,590 --> 00:51:59,020 >> Audienta: Da. 1051 00:51:59,020 --> 00:52:00,800 >> Audiența: Am putea combina astea, nu? 1052 00:52:00,800 --> 00:52:02,990 Nu avem nevoie dacă, inițial. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: OK, deci dacă noi nu - 1054 00:52:05,180 --> 00:52:08,140 dacă le combina, așa vom face în timp ce rădăcină nu este egal cu zero, și 1055 00:52:08,140 --> 00:52:10,800 dacă rădăcina se întâmplă să fie nul la început, ce facem aici? 1056 00:52:10,800 --> 00:52:11,450 >> Audiența: Înapoi false. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Mare. 1058 00:52:12,730 --> 00:52:14,110 Deci, în ambele sensuri, probabil, ar fi lucrat. 1059 00:52:14,110 --> 00:52:15,645 Acesta este un mod diferit, și acest lucru se combină. 1060 00:52:15,645 --> 00:52:18,950 Dar, din nou, în cazul în care ai făcut-o oricum, suntem nu va decola de design 1061 00:52:18,950 --> 00:52:19,800 puncte pe testul. 1062 00:52:19,800 --> 00:52:21,020 Dar acest lucru arata bine. 1063 00:52:21,020 --> 00:52:23,940 >> Deci, în timp ce rădăcină nu este egal nul, ceea ce este primul 1064 00:52:23,940 --> 00:52:25,400 lucru pe care doriți să verificați? 1065 00:52:25,400 --> 00:52:26,330 Altcineva? 1066 00:52:26,330 --> 00:52:29,720 Nul, ceea ce este primul lucru? 1067 00:52:29,720 --> 00:52:32,850 >> Audiența: Dacă ri este mai mică de - 1068 00:52:32,850 --> 00:52:36,140 oh, cred că, dacă am deja găsit-o în rădăcină. 1069 00:52:36,140 --> 00:52:40,830 Deci, dacă rădăcină săgeată i este egal cu i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Îmi pare rău? 1071 00:52:40,990 --> 00:52:45,840 >> Audiența: Dacă rădăcină săgeată i este egal egal cu i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Ce facem? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> Audiența: Înapoi adevărat. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Mare. 1077 00:52:59,280 --> 00:53:00,530 Și ce urmează? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, ceea ce este următoarea linie de cod? 1080 00:53:06,843 --> 00:53:16,190 >> Audiența: În cazul în care i este mai mic de rădăcină săgeată i, atunci rădăcină este egal cu radacina săgeată stânga. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: egali Root rădăcină săgeată stânga. 1082 00:53:21,550 --> 00:53:24,530 Deci, asta e, probabil, cel mai mare diferență aici, în acest iterativ 1083 00:53:24,530 --> 00:53:26,600 Versiunea spre deosebire de versiune recursiv. 1084 00:53:26,600 --> 00:53:28,970 Versiunea recursiv, ne-am apela din nou funcția. 1085 00:53:28,970 --> 00:53:32,640 Vom fi actualizarea rădăcină, atunci când numim noua funcție. 1086 00:53:32,640 --> 00:53:34,170 Aici nu suntem de asteptare o nouă funcție. 1087 00:53:34,170 --> 00:53:37,610 Suntem pur și simplu doar de actualizare rădăcină în această funcție. 1088 00:53:37,610 --> 00:53:38,880 Asta-i excelent. 1089 00:53:38,880 --> 00:53:40,730 Și ceea ce este ultima linie de cod? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Da, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> Audiența: egal rădăcină altceva rădăcină săgeată dreapta. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Îmi pare rău? 1094 00:53:49,492 --> 00:53:52,340 >> Egali Root: PUBLICUL rădăcină săgeată dreapta. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Ai putea, de asemenea, scrie ceva de genul asta? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> Audiența: Nu am nici o idee. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: Nu se poate. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Nu se poate face egali plus. 1102 00:54:08,270 --> 00:54:10,780 OK, deci acest lucru arată bine. 1103 00:54:10,780 --> 00:54:13,620 De ce nu am face asta să-l curețe. 1104 00:54:13,620 --> 00:54:15,220 Aceasta arată foarte bine, iar acest lucru va funcționa. 1105 00:54:15,220 --> 00:54:16,920 Și ne-ar izbucni. 1106 00:54:16,920 --> 00:54:21,460 >> Dacă rădăcină stânga a avut dreptate nul sau rădăcină a fost nul, ne-ar veni aici. 1107 00:54:21,460 --> 00:54:22,470 Root ar fi egală cu zero. 1108 00:54:22,470 --> 00:54:24,270 Ne-ar ieși din bucla noastre, și ne-am întoarce false. 1109 00:54:24,270 --> 00:54:26,280 Așa că atunci când ne-am iesi din buclă, ne întoarcem false. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> Și din nou, o bucla în timp ce a fost perfect aici, pentru că nu știm cum 1112 00:54:32,793 --> 00:54:33,850 mare copac nostru este. 1113 00:54:33,850 --> 00:54:36,460 Am încercat să scrie pentru bucla, dar ne-am a dat seama că trebuie să dau seama cum 1114 00:54:36,460 --> 00:54:37,410 mare este inainte de timp. 1115 00:54:37,410 --> 00:54:38,720 Da. 1116 00:54:38,720 --> 00:54:41,790 >> Audiența: În cazul în care acest lucru nu a fost un binar arbore de căutare, ar fi real, matematica-y 1117 00:54:41,790 --> 00:54:44,220 să-l scrie iterativ, corect? 1118 00:54:44,220 --> 00:54:47,170 Ca, în cazul în care acesta a fost un copac, dar nu în mod necesar - 1119 00:54:47,170 --> 00:54:49,730 asa ca nu a fost tot mai mici de pe stânga, și tot mai mare din partea dreaptă. 1120 00:54:49,730 --> 00:54:52,540 Ar fi foarte dificil a repeta peste ea, nu? 1121 00:54:52,540 --> 00:54:55,720 Ne-ar trebui pentru a salva ceea ce a fost mai devreme pe în copac și du-te înapoi, 1122 00:54:55,720 --> 00:54:56,970 și chestii de genul asta. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: În cazul în care nu a fost un binar arbore de căutare, în cazul în care acesta a fost doar un 1125 00:55:02,010 --> 00:55:04,740 copac și lucrurile nu s-au clasificate în funcție de genul asta - 1126 00:55:04,740 --> 00:55:07,440 și ne-am dat seama mai devreme, atunci când Anna a ne ajuta ca ceea ce face 1127 00:55:07,440 --> 00:55:08,800 sortat ne ajută foarte mult - 1128 00:55:08,800 --> 00:55:12,610 am avea nevoie pentru a, da, salvați întotdeauna unde am fost înainte. 1129 00:55:12,610 --> 00:55:14,430 Dar ar putea exista o multime de unde am fost previouslys. 1130 00:55:14,430 --> 00:55:17,730 Ar putea exista o multime de noduri mamă. 1131 00:55:17,730 --> 00:55:22,530 >> Probabil cel mai bun mod de a face acest lucru ar fi fie pentru a păstra împingând lucrurile pe unele 1132 00:55:22,530 --> 00:55:24,170 tip de stivă sau coadă. 1133 00:55:24,170 --> 00:55:26,030 Tu nu ar trebui să cod acest pentru că este o problemă greu. 1134 00:55:26,030 --> 00:55:30,820 Dar voi împinge unele lucruri pe o stivă sau coadă și apoi pop le-off, și 1135 00:55:30,820 --> 00:55:31,890 apoi evaluarea lor. 1136 00:55:31,890 --> 00:55:34,200 >> Și apoi au un alt lucru în cazul în care esti de fapt punerea nodurile, și 1137 00:55:34,200 --> 00:55:36,090 apoi a crea că, și apoi căutare prin asta. 1138 00:55:36,090 --> 00:55:38,700 Care ar putea fi cel mai bun mod de a face acest lucru. 1139 00:55:38,700 --> 00:55:42,410 OK, întrebări cu privire la această problemă? 1140 00:55:42,410 --> 00:55:44,670 >> Audiența: Aceasta este pe o notă conexe. 1141 00:55:44,670 --> 00:55:50,460 Va trebui să ne compara ori Run pentru tabele de dispersie, binar 1142 00:55:50,460 --> 00:55:52,160 arbori de căutare, etc? 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Probabil. 1144 00:55:54,310 --> 00:55:56,150 Deci, haideți să facem asta foarte repede. 1145 00:55:56,150 --> 00:55:58,490 Rula timp de tabel hash - 1146 00:55:58,490 --> 00:55:59,090 ceea ce sunt ceilalți? 1147 00:55:59,090 --> 00:56:00,050 Arbore binar? 1148 00:56:00,050 --> 00:56:02,920 >> Audiența: liste de link-uri. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: OK, hai să facem inserție. 1150 00:56:04,780 --> 00:56:09,980 Care este O mare de inserție pe un tabel hash? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Care sunt ipotezele ce faci? 1153 00:56:15,285 --> 00:56:17,760 >> Audiența: Te introducerea la începând din lista de link-ul. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Probabil primul ipoteză este că nu există coliziuni. 1155 00:56:19,860 --> 00:56:22,340 Dacă nu există coliziuni, atunci timpul de inserare este unul. 1156 00:56:22,340 --> 00:56:26,560 Dacă există coliziuni, și tu ești face înlănțuirea separată și inserarea 1157 00:56:26,560 --> 00:56:31,880 la începutul listei legături, atunci inserare este de asemenea constant. 1158 00:56:31,880 --> 00:56:34,700 >> Dacă faci un tabel hash, dar tu au o metodă diferită de a face 1159 00:56:34,700 --> 00:56:36,040 cu coliziuni, ceea ce este o metodă diferită? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Ce este o metodă diferită de a face cu 1162 00:56:42,960 --> 00:56:44,205 coliziune într-un tabel hash? 1163 00:56:44,205 --> 00:56:44,915 >> Audiența: programarea liniară. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: programarea liniară. 1165 00:56:45,540 --> 00:56:47,770 Așa că am de gând să continui să cauți pentru următorul loc deschis. 1166 00:56:47,770 --> 00:56:50,390 Că nu este timp de inserare constant. 1167 00:56:50,390 --> 00:56:52,266 Ai fi putut să treacă prin întregul tabel, astfel încât 1168 00:56:52,266 --> 00:56:53,936 ar putea fi O mare de n. 1169 00:56:53,936 --> 00:56:54,740 Da. 1170 00:56:54,740 --> 00:56:57,690 >> Audiența: În caz contrar, doar înlănțuirea? 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Am făcut-o înlănțuirea separată. 1172 00:57:00,160 --> 00:57:00,720 Care a fost primul. 1173 00:57:00,720 --> 00:57:01,560 Asta e ceea ce lista de link-ul. 1174 00:57:01,560 --> 00:57:03,720 Numele fantezie este înlănțuirea separată. 1175 00:57:03,720 --> 00:57:06,880 Ar putea fi orice tip de structură liste se întâmplă să facem în lista de link-ul. 1176 00:57:06,880 --> 00:57:10,490 >> Deci, din nou, inserția pe un tabel hash ar putea fi timp constant. 1177 00:57:10,490 --> 00:57:13,160 Ce zici de inserare pe o coadă stivuitor? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> Audiența: Nu e constant? 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: E timpul constant. 1181 00:57:21,530 --> 00:57:23,420 Esti doar împingându-l pe. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Inserare, care au fost celelalte? 1184 00:57:25,380 --> 00:57:27,100 Pe o încercare? 1185 00:57:27,100 --> 00:57:30,252 Ce este O mare de inserție pe o încercare? 1186 00:57:30,252 --> 00:57:32,808 >> Audiența: lungime este constantă. 1187 00:57:32,808 --> 00:57:34,560 Lungime de cel mai lung - 1188 00:57:34,560 --> 00:57:36,998 lungimea cuvântului te introducerea. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Îmi pare rău? 1190 00:57:38,210 --> 00:57:39,120 Așteaptă, deci ce am auzit? 1191 00:57:39,120 --> 00:57:40,260 Ai spus - ceea ce i-ai spus? 1192 00:57:40,260 --> 00:57:41,650 Care a fost răspunsul tău, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> Audiența: Lungimea cuvântului esti inserarea în caractere, 1194 00:57:43,640 --> 00:57:45,480 presupunând că aceasta este o încercare de caracter. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: OK, deci lungimea cuvântului. 1196 00:57:46,840 --> 00:57:49,500 Vom face o presupunere că este un șir de caractere. 1197 00:57:49,500 --> 00:57:51,930 Ai spus ceva diferit, totuși. 1198 00:57:51,930 --> 00:57:55,490 Ai spus lungime de cel mai lung cuvânt. 1199 00:57:55,490 --> 00:57:57,600 >> Audienta: Asta e doar constant, corect? 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: De ce ar fi sa fie constant? 1201 00:57:58,440 --> 00:58:00,970 >> Audiența: Ca și, dacă utilizați O mare notație, atunci ea nu variază în funcție de 1202 00:58:00,970 --> 00:58:04,680 cu privire la numărul de lucruri pe care sunt deja în încercare. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Deci ne-ar spune că e timpul constant. 1204 00:58:07,344 --> 00:58:11,840 Este inserție constantă, și asta pentru că această idee - 1205 00:58:11,840 --> 00:58:14,820 spune ca avem un cuvânt care este de 45, sau un cuvânt care este 60, care 1206 00:58:14,820 --> 00:58:16,800 are un număr constant. 1207 00:58:16,800 --> 00:58:21,050 Și ar fi introdus doar în timp constant. 1208 00:58:21,050 --> 00:58:26,060 >> În practică însă, acesta nu ar fi, în mod evident, se întâmplă într-o milisecunda, 1209 00:58:26,060 --> 00:58:26,590 de exemplu. 1210 00:58:26,590 --> 00:58:28,880 Dar ne-ar spune mare este O constantă pentru un try. 1211 00:58:28,880 --> 00:58:31,330 Și asta e unul din ei cele mai mari avantaje. 1212 00:58:31,330 --> 00:58:33,330 >> Ce zici de inserare într-o listă de link? 1213 00:58:33,330 --> 00:58:37,220 Doar o, sortat lista generic link? 1214 00:58:37,220 --> 00:58:37,700 Da. 1215 00:58:37,700 --> 00:58:38,530 >> Audiența: Am avut o întrebare. 1216 00:58:38,530 --> 00:58:42,670 La testul, le-ar cere vreodată ne timp de inserare că sunt patru etape, 1217 00:58:42,670 --> 00:58:43,270 sau ceva? 1218 00:58:43,270 --> 00:58:44,300 Sau este pur și simplu - 1219 00:58:44,300 --> 00:58:47,670 cand spui timp de inserare este una, asta înseamnă că doar de timp constant? 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Da, le-ar întreba mereu, este O mare de n? 1221 00:58:49,770 --> 00:58:51,440 O mare de log n? 1222 00:58:51,440 --> 00:58:53,960 N pătrat constant. 1223 00:58:53,960 --> 00:58:56,520 Cei care sunt într-adevăr singura cele de care aveți nevoie să știți. 1224 00:58:56,520 --> 00:58:58,420 Ce zici de inserție pe sortat lista link? 1225 00:58:58,420 --> 00:58:59,440 >> Audiența: Am avut o întrebare - 1226 00:58:59,440 --> 00:58:59,980 o intrebare - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Care este răspunsul la această întrebare, deși? 1228 00:59:01,060 --> 00:59:02,120 >> Audiența: Stai, ce ai cere? 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Ce este O mare de introducerea într-o listă de link clasificate în funcție? 1230 00:59:06,750 --> 00:59:07,070 >> Audiența: O? 1231 00:59:07,070 --> 00:59:09,400 Nu, așteaptă, nu așteptați, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. lângă lista de link-ul. 1233 00:59:11,420 --> 00:59:12,706 Și ce a fost întrebarea dvs.? 1234 00:59:12,706 --> 00:59:16,440 >> Audiența: Deci te-ai scrie o de k sau o din 1 pentru - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Oh. 1236 00:59:18,150 --> 00:59:21,830 Mi-as scrie o de 1, probabil. 1237 00:59:21,830 --> 00:59:24,160 Nu a fost o altă structură de date care ar fi fost bine. 1238 00:59:24,160 --> 00:59:25,730 Copac, arbore binar de căutare. 1239 00:59:25,730 --> 00:59:27,510 Ce e de inserție pe o binar arbore de căutare? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> AUDIENTA: Login. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: Deci, ce este cel mai rău caz într-un arbore binar de căutare? 1243 00:59:39,260 --> 00:59:45,350 Deci, dacă se întâmplă să înceapă la 5, și fiecare număr este mai mare de 5, atunci 1244 00:59:45,350 --> 00:59:48,760 ne-am luat 5, 7, 9, 11, etc. 1245 00:59:48,760 --> 00:59:52,255 În acest caz, este practic doar un link lista, și avem nevoie de a introduce toate 1246 00:59:52,255 --> 00:59:52,680 modul la sfârșitul anului. 1247 00:59:52,680 --> 00:59:54,350 Deci, este O mare de n. 1248 00:59:54,350 --> 00:59:57,720 >> Asta ar putea fi cel mai rău caz noastră pe un arbore binar de căutare. 1249 00:59:57,720 --> 01:00:00,890 Evident, nu te-ar construi un arbore binar de căutare cu 5 în 1250 01:00:00,890 --> 01:00:04,270 de mijloc, știind 5 ar fi cel mai mic număr. 1251 01:00:04,270 --> 01:00:08,030 Dar ar putea fi, dacă ești incepand de la zero. 1252 01:00:08,030 --> 01:00:10,980 Orice întrebări cu privire la acest lucru înainte de a mă trece la o altă întrebare? 1253 01:00:10,980 --> 01:00:11,560 Asta a fost o întrebare bună. 1254 01:00:11,560 --> 01:00:15,100 As vrea sa stiu O mare de - 1255 01:00:15,100 --> 01:00:18,620 >> Audiența: Ce despre căutarea pentru cei patru? 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Cu siguranță ne am căutare și sortare. 1257 01:00:20,400 --> 01:00:22,160 Am făcut toate aceste algoritmi, corect. 1258 01:00:22,160 --> 01:00:23,390 Stai, a fost că pentru Quiz 1? 1259 01:00:23,390 --> 01:00:23,980 A fost faptul că a acoperit - 1260 01:00:23,980 --> 01:00:25,860 ai avut deja că întrebare pe Quiz 1? 1261 01:00:25,860 --> 01:00:29,650 O mare Runtime de căutare binare, un fel de introducere, cu bule fel? 1262 01:00:29,650 --> 01:00:30,160 >> Audienta: Da. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Dacă ați avea ca întrebare pe Quiz 0, șansele sunt că nu va 1264 01:00:32,790 --> 01:00:35,180 obține aceeași întrebare exact la Quiz 1. 1265 01:00:35,180 --> 01:00:36,300 Ar putea fi încă bine să știți cele. 1266 01:00:36,300 --> 01:00:38,520 Ar trebui să sperăm că știți deja gh. 1267 01:00:38,520 --> 01:00:40,740 >> Dar alte runtime logaritmice sunt, probabil, bine de știut. 1268 01:00:40,740 --> 01:00:42,890 Lucruri care nu au fost acoperite pe Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 La fel ca toți acești operatori de pe aceste tipuri de date abstracte. 1270 01:00:47,300 --> 01:00:50,760 >> OK, să trecem mai departe. 1271 01:00:50,760 --> 01:00:52,190 Acest lucru ar trebui să fie destul de rapid. 1272 01:00:52,190 --> 01:00:56,170 Și acest lucru este un nou limbaj noi nu avem de fapt codificate înainte. 1273 01:00:56,170 --> 01:00:59,300 Aceasta este o întrebare cerut să cod în PHP. 1274 01:00:59,300 --> 01:01:01,950 Deci, ia în considerare matrice PHP de mai jos. 1275 01:01:01,950 --> 01:01:06,150 Scrie PHP și / sau HTML coduri astfel încât să furnizează un tabel cu două coloane cu TFS 1276 01:01:06,150 --> 01:01:08,810 nume și case. 1277 01:01:08,810 --> 01:01:11,600 >> N-ai mai făcut asta înainte, această problemă specifică. 1278 01:01:11,600 --> 01:01:16,270 Dar acest lucru trebuie să fie foarte familiar ceea ce ai făcut în problema stabilit 7. 1279 01:01:16,270 --> 01:01:21,250 Deci, aș fi dispus să parieze va fi a cerut să cod ceva în PHP care 1280 01:01:21,250 --> 01:01:23,880 este foarte similar cu ceea ce a făcut în problema stabilit 7. 1281 01:01:23,880 --> 01:01:26,300 >> În primul rând, matrice nu este atât de specific. 1282 01:01:26,300 --> 01:01:28,140 Ce tip de matrice este aceasta? 1283 01:01:28,140 --> 01:01:29,080 >> Audiența: asociativă. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: E un tablou asociativ. 1285 01:01:31,250 --> 01:01:33,750 Și ceea ce este diferența dintre un tablou asociativ și un obiect? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> Audiența: Un tablou obiect are un index de numere întregi, și un tablou asociativ 1288 01:01:44,857 --> 01:01:47,814 este un index de un șir de caractere, sau ceva de genul asta. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Deci, o serie de obiecte ar avea indici de 1291 01:01:54,880 --> 01:01:57,090 numere întregi, ci un obiect are câmpuri. 1292 01:01:57,090 --> 01:02:01,590 Ea are acele domenii nume, cum ar fi nume, casa, de student. 1293 01:02:01,590 --> 01:02:03,720 Ai o idee? 1294 01:02:03,720 --> 01:02:06,630 >> Audiența: Ei bine, asociativ matrice este în PHP, nu? 1295 01:02:06,630 --> 01:02:07,880 Și obiect este în JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Sincer, nu exista nici o diferență reală între cele două. 1298 01:02:14,820 --> 01:02:19,540 Ambele au siruri de caractere ar fi cheile, și poate au practic tot ca valoare. 1299 01:02:19,540 --> 01:02:21,250 Limbi diferite apela unul lucru tablou asociativ, 1300 01:02:21,250 --> 01:02:22,750 un singur lucru un obiect. 1301 01:02:22,750 --> 01:02:25,960 Deci, sincer, nu există o reală diferență, dar există cu siguranță unele 1302 01:02:25,960 --> 01:02:27,730 diferențe sintactice între cele două. 1303 01:02:27,730 --> 01:02:28,200 Da. 1304 01:02:28,200 --> 01:02:33,580 >> Audiența: Deci, este obiect, de asemenea, codificate în capota ca un tabel hash, atunci? 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Ce te Adică, codificate sub capota? 1306 01:02:35,796 --> 01:02:38,017 >> Audiența: Ni sa spus că asociativ matrice a fost punct de vedere tehnic 1307 01:02:38,017 --> 01:02:39,960 hash masă. 1308 01:02:39,960 --> 01:02:44,510 Deci, este obiect, de asemenea, punct de vedere tehnic un tabel hash? 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: Eu nu am de gând pentru a răspunde la această întrebare. 1310 01:02:45,350 --> 01:02:46,600 Voi reveni la tine pe asta. 1311 01:02:46,600 --> 01:02:48,980 Dar nu mi-ar gândi, fie de cei de genul asta. 1312 01:02:48,980 --> 01:02:53,790 Dar, în orice fel, tablou asociativ și obiect, în general, oamenii folosesc cele 1313 01:02:53,790 --> 01:02:54,910 termeni alternativ. 1314 01:02:54,910 --> 01:02:57,630 In acest caz, partea rece este puteți utiliza tastele. 1315 01:02:57,630 --> 01:03:00,580 Siruri de caractere ar fi chei, mai degrabă decât doar numere simple. 1316 01:03:00,580 --> 01:03:02,070 >> Așa că am vorbit despre asta pentru o vreme. 1317 01:03:02,070 --> 01:03:04,090 Din fericire, unii oameni au ajuns a început în acest sens. 1318 01:03:04,090 --> 01:03:08,050 Vom scrie un PHP si HTML cod, astfel că vom obține o coloană doi 1319 01:03:08,050 --> 01:03:11,830 tabel cu nume TFS și case. 1320 01:03:11,830 --> 01:03:15,380 >> OK, eu, de asemenea, ar dori un antet rând pe acest tabel. 1321 01:03:15,380 --> 01:03:18,410 Așa că am de gând pentru a obține direct în aceasta. 1322 01:03:18,410 --> 01:03:20,770 Mergem la dosar, noi, și am de gând să - 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 Cum încep o masă? 1326 01:03:29,970 --> 01:03:32,090 Ce-i tag-ul, Michael, pentru a începe un tabel? 1327 01:03:32,090 --> 01:03:32,890 >> Audiența: Tabelul. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Table. 1329 01:03:34,020 --> 01:03:37,870 Și dacă am deschis o etichetă, ceea ce altceva mai am nevoie? 1330 01:03:37,870 --> 01:03:39,810 >> Audiența: Un cap? 1331 01:03:39,810 --> 01:03:41,040 Sau, cred, de clasă. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Deci, îmi pare rău. 1333 01:03:41,730 --> 01:03:45,430 Să presupunem că am scris deja doctab, HTML, toate chestiile astea. 1334 01:03:45,430 --> 01:03:50,230 Dar dacă am deschis această etichetă de masă, ceea ce altceva mai am nevoie pentru a scrie? 1335 01:03:50,230 --> 01:03:53,450 pentru a valida HTML? 1336 01:03:53,450 --> 01:03:55,000 >> Audiența: Închide-l. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn: Închideți tag-ul. 1338 01:03:56,050 --> 01:03:57,575 Cum scriu o etichetă prim-masă? 1339 01:03:57,575 --> 01:03:59,580 >> Audiența: Dot slash masă. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash masă, mare. 1341 01:04:00,960 --> 01:04:02,730 Probabil că are sens să scrie atât a celor împreună, deoarece 1342 01:04:02,730 --> 01:04:03,870 le-ați luat pentru a face acest lucru. 1343 01:04:03,870 --> 01:04:08,575 OK, dacă vreau un rând de antet, cum Scriu un rând antet cu titluri? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> Audiența: Este mai puțin mult de 10 de ore aproape - 1346 01:04:19,290 --> 01:04:21,550 TR, da. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR? 1348 01:04:22,100 --> 01:04:25,080 >> Audiența: Apoi același lucru, slash, da. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, și Dă-mi două coloane. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> Audiența: 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 Vreau două coloane. 1355 01:04:39,520 --> 01:04:40,960 Face acest lucru dă-mi două coloane? 1356 01:04:40,960 --> 01:04:43,880 Cât de multe coloane este aceasta? 1357 01:04:43,880 --> 01:04:45,920 Unul. 1358 01:04:45,920 --> 01:04:47,170 Deci, haideți să copiați și inserați acest. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Deci, de fapt, la testul, toate acest cod pe care le-am scris până acum a fost 1361 01:05:03,390 --> 01:05:04,710 de fapt dat de tine. 1362 01:05:04,710 --> 01:05:06,200 Dar ar trebui, probabil, încă știu cum să-l scrie. 1363 01:05:06,200 --> 01:05:06,470 Da. 1364 01:05:06,470 --> 01:05:10,636 >> Audiența: Casa ta este între cele două. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 Acesta ar trebui să meargă acolo, corect? 1367 01:05:12,720 --> 01:05:14,600 Bun apel. 1368 01:05:14,600 --> 01:05:17,760 Deci, din nou, tot acest cod este de fapt dat la tine la testul real. 1369 01:05:17,760 --> 01:05:19,570 Dar este distractiv să-l scrie, și tu ar trebui să știe cum să-l scrie. 1370 01:05:19,570 --> 01:05:23,640 Deci, acest lucru este în cazul în care aveți nevoie pentru a începe codul. 1371 01:05:23,640 --> 01:05:25,150 De ce avem nevoie pentru a scrie aici? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Îmi pare rău, am nevoie pentru a schimba numele acestui fișier. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Deci, l-am salvat într-un fișier HTML., nu într-un fișier PHP.. 1376 01:05:44,270 --> 01:05:47,030 Aceste lucruri ar însemna nimic într-un fișier PHP.. 1377 01:05:47,030 --> 01:05:48,500 Deci suntem într-un fișier HTML.. 1378 01:05:48,500 --> 01:05:50,090 Care este primul lucru Am nevoie pentru a scrie? 1379 01:05:50,090 --> 01:05:52,990 Vreau să pun niște PHP cod într-un HTML. 1380 01:05:52,990 --> 01:05:57,300 >> Audiența: PHP, cum ar fi un alt morcov și semn de întrebare PHP, corect? 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Mare. 1382 01:05:58,310 --> 01:05:59,360 Și cum am termina asta? 1383 01:05:59,360 --> 01:06:02,510 >> Audiența: Cu un semn de întrebare. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: Asta-i grozav. 1385 01:06:03,120 --> 01:06:07,090 Asta e primul lucru de care am nevoie, dacă vreau pentru a pune un cod PHP aici. 1386 01:06:07,090 --> 01:06:11,210 >> Audiența:. M-am gândit un PHP fișier ar putea lua HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Da. 1388 01:06:12,290 --> 01:06:15,330 Un fișier PHP. Poate dura ceva HTML și să fie afișate. 1389 01:06:15,330 --> 01:06:16,450 Asta a fost greșeala mea. 1390 01:06:16,450 --> 01:06:18,300 Am fost doar încercarea de a imita ceea ce a fost pe testul. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, îmi pare rău pentru a te confunda. 1393 01:06:24,720 --> 01:06:25,550 Da, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Acum am de gând să pună un cod PHP inch 1395 01:06:27,340 --> 01:06:30,530 Care este prima linie de Cod PHP ar trebui să scriu? 1396 01:06:30,530 --> 01:06:33,360 Am de gând să treacă prin această matrice și-l face într-un tabel. 1397 01:06:33,360 --> 01:06:34,600 Da. 1398 01:06:34,600 --> 01:06:37,160 >> Audiența: Puteți folosi fie o pentru H buclă sau o pentru buclă. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: OK, ce Nu doriți să utilizați? 1400 01:06:38,415 --> 01:06:40,720 >> Audiența: Mi-ar folosi o pentru buclă. 1401 01:06:40,720 --> 01:06:48,700 Pentru, și apoi ai face semn dolar i este egal cu zero virgulă dolar 1402 01:06:48,700 --> 01:06:51,580 semna i mai mic de 2. 1403 01:06:51,580 --> 01:06:55,455 Și apoi punct și virgulă i dolar semn că, plus, plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Cum știți să folosiți un 2? 1406 01:07:03,880 --> 01:07:10,444 >> Audiența: Pentru că au existat două matrice asociative din mare 1407 01:07:10,444 --> 01:07:11,960 tablou asociativ. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Deci, mare lucru de nu o matrice asociat. 1409 01:07:13,610 --> 01:07:15,500 Mare lucru este doar o matrice normală. 1410 01:07:15,500 --> 01:07:17,380 Dar ai dreptate, există două tablouri asociative 1411 01:07:17,380 --> 01:07:18,910 în gama noastră mare. 1412 01:07:18,910 --> 01:07:20,310 De aceea, voi folosi două. 1413 01:07:20,310 --> 01:07:24,270 Mă simt inconfortabil presupunând că sunt 2, deci ceea ce este un mod de a scrie 1414 01:07:24,270 --> 01:07:26,810 acest lucru fără a presupunând că acestea sunt 2? 1415 01:07:26,810 --> 01:07:27,507 >> Audiența: [inaudibil]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: OK, cum Nu ai scris asta? 1417 01:07:29,165 --> 01:07:35,262 >> Audiența: semn dolar foreach TFS sau ca dolar semn tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: OK, deci pentru fiecare TFS ca TFS, vreau să, acum 1420 01:07:41,960 --> 01:07:43,650 din nou, au masa mea. 1421 01:07:43,650 --> 01:07:45,250 Deci, cine-mi poate da următoarea linie de cod? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> Audiența: Print, și apoi în citate, la sfârșitul suport tr 1424 01:07:59,810 --> 01:08:02,670 suport, citat final. 1425 01:08:02,670 --> 01:08:05,300 Paranteze end, punct și virgulă. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, și ce că de gând să faci? 1427 01:08:07,135 --> 01:08:08,610 >> Audiența: O sa spun, rând nou. 1428 01:08:08,610 --> 01:08:11,070 Se va pune tag-ul pentru un rând nou. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Corect, acest PHP, cum ar fi am vorbit despre mai devreme - aceasta 1430 01:08:13,000 --> 01:08:22,160 PHP va fi evaluat, iar apoi se va imprima la acest fișier un 1431 01:08:22,160 --> 01:08:26,350 câlți de masă, și apoi că HTML vor fi evaluate. 1432 01:08:26,350 --> 01:08:27,810 Noi doar copierea acest HTML-am avut aici. 1433 01:08:27,810 --> 01:08:28,120 Da. 1434 01:08:28,120 --> 01:08:29,470 >> Audiența: [inaudibil]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Îmi pare rău? 1436 01:08:30,290 --> 01:08:31,240 E chiar aici. 1437 01:08:31,240 --> 01:08:33,590 Fall 2012. 1438 01:08:33,590 --> 01:08:35,970 Nu te uita la răspunsuri, haideți să-l rezolva împreună. 1439 01:08:35,970 --> 01:08:37,330 Așa că am imprima rând de tabel. 1440 01:08:37,330 --> 01:08:38,550 Deci, esti, probabil, în leagăn de lucruri. 1441 01:08:38,550 --> 01:08:41,060 Care e următoarea linie de cod avem nevoie pentru a scrie? 1442 01:08:41,060 --> 01:08:42,926 Assam, dă-mi următoarea linie de cod. 1443 01:08:42,926 --> 01:08:46,290 >> Audiența: Ai nevoie de numele TF. 1444 01:08:46,290 --> 01:08:54,319 Tf paranteze ghilimele deschise numele paranteze închise. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Spune-mi numele lor. 1446 01:08:57,310 --> 01:08:58,540 >> Audiența: Ai nevoie pentru a imprima acest lucru. 1447 01:08:58,540 --> 01:08:59,790 >> [VOCI interpune] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, cum pot imprima? 1450 01:09:03,430 --> 01:09:04,680 >> [VOCI interpune] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: Îmi lipsește ceva acum. 1453 01:09:10,350 --> 01:09:12,470 Ce-am pierdut? 1454 01:09:12,470 --> 01:09:13,720 >> Audiența: Ai nevoie de un semn dolar. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Ce mai sunt eu lipsesc? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Tot ce am tipărit până acum este tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> Audiența: Închideți tr după el. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Deci, avem nevoie pentru a închide după tr. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Care vede ceea ce ne lipsește pe linia 16? 1464 01:09:37,906 --> 01:09:39,340 Da, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> Audiența: Ai nevoie pentru a deschide un TD și acolade. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: Și unde nu am pus acolade? 1467 01:09:49,380 --> 01:09:51,790 >> Audiența: Aproximativ numele tf. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Cum ar fi acest lucru? 1469 01:09:53,080 --> 01:09:55,420 >> Audienta: Da. 1470 01:09:55,420 --> 01:09:59,000 Și apoi închideți TD. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Cum ar fi asta? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> Audiența: Ai nevoie de dublu citat semne de lângă acolade? 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Chiar aici? 1475 01:10:07,460 --> 01:10:08,710 Nu, tu nu faci. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Deci, asta e exact dreapta. 1478 01:10:12,550 --> 01:10:12,940 Da. 1479 01:10:12,940 --> 01:10:15,290 >> Audiența: Deci, diferența dintre care și encatenating cu puncte este, în cazul în care 1480 01:10:15,290 --> 01:10:18,420 utilizați puncte, ar trebui să aibă ghilimele duble, apoi un punct, 1481 01:10:18,420 --> 01:10:20,370 apoi dot - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Corect. 1483 01:10:20,520 --> 01:10:23,800 Vrei să spui că nu e un final mod de a scrie acest lucru ca asta. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Ce operatorul de concatenare în JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> Audiența: Un semn plus. 1487 01:10:31,200 --> 01:10:34,710 Ai uitat să pună cret bretele spate. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Mare. 1489 01:10:35,760 --> 01:10:38,850 Și există o linie mai mult de cod lipsește. 1490 01:10:38,850 --> 01:10:40,130 Cine poate da-mi ultima linie de cod ne lipsește? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> Audiența: Doar exact același lucru, doar cu casa in loc de nume. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Mare 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Mare. 1496 01:10:54,390 --> 01:10:59,320 Și sintaxa este exact potrivit pentru obtinerea lucrurile într-o matrice asociat. 1497 01:10:59,320 --> 01:11:04,450 Deci, în testul real, ești de fapt, dat până aici. 1498 01:11:04,450 --> 01:11:05,710 Deci, acest cod a fost dat la tine. 1499 01:11:05,710 --> 01:11:07,750 Tot ce a trebuit să scrie au fost acestea patru linii și nu uitați să 1500 01:11:07,750 --> 01:11:09,190 inchide tagurile masă. 1501 01:11:09,190 --> 01:11:11,370 Voi de fapt a făcut toate că și mai mult. 1502 01:11:11,370 --> 01:11:11,810 Da. 1503 01:11:11,810 --> 01:11:14,850 >> Audiența: Deci, ar fi funcțional la fel dacă ați avut doar că toate în 1504 01:11:14,850 --> 01:11:17,250 un apel de imprimare mare, corect? 1505 01:11:17,250 --> 01:11:19,630 Și apoi doar concatenate l pe, etc? 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Cum ar fi asta? 1507 01:11:20,730 --> 01:11:21,980 >> Audienta: Da. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Pur si simplu nu ar arata bine daca ai fi uita la ea atunci cand esti inspectarea 1510 01:11:26,940 --> 01:11:28,550 elementul de pe site-ul dvs., nu? 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Sunt de acord. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Dacă am încărcat această pagină web, ar fi I posibilitatea de a vedea acest cod PHP, vreodată? 1514 01:11:38,710 --> 01:11:39,240 >> Audiența: Nu. 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: Nu. 1516 01:11:40,080 --> 01:11:42,240 Și, de fapt, eu nu ar fi. 1517 01:11:42,240 --> 01:11:43,920 >> Audiența: Acest lucru nu este HTML, corect? 1518 01:11:43,920 --> 01:11:45,000 Deci, s-ar putea fi capabil de a - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: Deci asta ar fi PHP fi evaluate pe partea de server. 1520 01:11:46,780 --> 01:11:51,020 PHP este evaluată întotdeauna pe partea de server, așa nu sunteți niciodată posibilitatea de a vedea cod PHP. 1521 01:11:51,020 --> 01:11:52,980 >> Audiența: Dar ai fi în stare să vedea rezultatul printuri. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Corect. 1523 01:11:53,480 --> 01:11:55,510 Și sincer, nu s-ar putea pune totul pe linie. 1524 01:11:55,510 --> 01:11:59,740 S-ar putea-l formatați frumos pentru tine, sau s-ar putea pune-l pe o singură linie. 1525 01:11:59,740 --> 01:12:01,521 Neclare. 1526 01:12:01,521 --> 01:12:03,596 Dar, da, bun punct. 1527 01:12:03,596 --> 01:12:06,470 >> Audiența: Cum de nu e nu evidențierea textului pentru 1528 01:12:06,470 --> 01:12:07,550 oricare dintre comenzile PHP? 1529 01:12:07,550 --> 01:12:09,370 Pentru că îmi amintesc văzând că. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Pentru că este o . HTML file aici în partea de sus. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Acolo te duci. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> Audiența: Dacă am făcut metoda inițială cu de bucle, drept, dacă ne 1535 01:12:28,800 --> 01:12:33,500 a vrut pentru a accesa o TFS, ar fi noi face suport TFS 0 suport, apoi 1536 01:12:33,500 --> 01:12:35,180 [Inaudibil]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Tu ar fi - 1538 01:12:35,970 --> 01:12:40,560 astfel încât să spui pentru pentru bucla, voi ar face în dolar semn suport TFS 1 1539 01:12:40,560 --> 01:12:41,850 sau i, drept. 1540 01:12:41,850 --> 01:12:46,780 Sau semnul dolarului i închide suport și apoi paranteză 1541 01:12:46,780 --> 01:12:49,600 ghilimele duble, da. 1542 01:12:49,600 --> 01:12:50,640 >> OK, excelent. 1543 01:12:50,640 --> 01:12:53,020 Avem o mai rapid unul. 1544 01:12:53,020 --> 01:12:55,090 Șapte minute, așa că vreau pentru a trece peste asta. 1545 01:12:55,090 --> 01:12:56,160 Acesta este un alt exemplu. 1546 01:12:56,160 --> 01:12:58,740 Suntem acum o cu totul altă limbă. 1547 01:12:58,740 --> 01:12:59,990 >> Avem un cod HTML. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Este un fel de mic de pe ecran, dar Vreau să te uiți prin ea într-adevăr 1550 01:13:07,460 --> 01:13:11,140 rapid, și poate cineva spune-mi, dacă ar fi să încărcați această pagină web, 1551 01:13:11,140 --> 01:13:12,390 ceea ce ar vedea? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Descrie totul despre această pagină web. 1554 01:13:26,450 --> 01:13:28,630 Noah? 1555 01:13:28,630 --> 01:13:30,450 Ce văd? 1556 01:13:30,450 --> 01:13:38,140 >> Audiența: Cod la partea din față a Google cu un simt pentru text și o 1557 01:13:38,140 --> 01:13:39,190 buton submit. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: Și ce ar spune butonul? 1559 01:13:41,180 --> 01:13:42,430 >> Audiența: Trimiteti. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, căutare. 1562 01:13:45,160 --> 01:13:45,840 Îmi pare rău. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: S-ar spune de căutare. 1564 01:13:46,830 --> 01:13:47,520 Amintiți-vă, nume. 1565 01:13:47,520 --> 01:13:50,550 Ce ne folosim nume pentru? 1566 01:13:50,550 --> 01:13:53,774 Acest atribut nume, ceea ce este care utilizează? 1567 01:13:53,774 --> 01:13:55,470 >> [VOCI interpune] 1568 01:13:55,470 --> 01:13:59,300 >> Audienta: Asta-i numele său pentru atunci când se face clic pe? 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: Asta ar putea fi. 1570 01:14:00,160 --> 01:14:02,690 Dar ce vedem in general - de ce ne dau această coadă nume? 1571 01:14:02,690 --> 01:14:03,830 De ce nu vedem asta? 1572 01:14:03,830 --> 01:14:05,220 Da. 1573 01:14:05,220 --> 01:14:08,600 >> Audienta: Asta nu deveni index de variabila super-global? 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Da, în general, atunci când această formă s-ar prezenta, și apoi în cazul în care 1575 01:14:12,740 --> 01:14:13,500 va prezenta acest lucru? 1576 01:14:13,500 --> 01:14:14,750 Ce pagină? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Noah, ce pagina va prezenta acest lucru? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> Audiența: Nu sunt sigur. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: În cazul în care ar putea putem găsi? 1582 01:14:28,920 --> 01:14:31,025 În cazul în care nu veți găsi ceea ce Pagina se supune? 1583 01:14:31,025 --> 01:14:32,850 Ce linie de cod? 1584 01:14:32,850 --> 01:14:34,040 >> Audiența: acțiune Form. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Exact. 1586 01:14:34,650 --> 01:14:35,130 Acțiune. 1587 01:14:35,130 --> 01:14:37,100 Deci, se depune la pagina de căutare. 1588 01:14:37,100 --> 01:14:38,630 Căutare backslash. 1589 01:14:38,630 --> 01:14:40,140 Deci, asta e exact dreapta. 1590 01:14:40,140 --> 01:14:40,680 Ce metodă? 1591 01:14:40,680 --> 01:14:42,090 >> Audiența: Ia. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: Ia. 1593 01:14:42,490 --> 01:14:43,420 Exact. 1594 01:14:43,420 --> 01:14:44,490 Așa că am citit asta. 1595 01:14:44,490 --> 01:14:45,180 Acest lucru va fi un formular. 1596 01:14:45,180 --> 01:14:45,910 Ai dreptate. 1597 01:14:45,910 --> 01:14:50,340 Două lucruri cu privire la forma, titlul pagină și în partea de sus ar fi Google. 1598 01:14:50,340 --> 01:14:54,270 >> Deci, aici sunt două întrebări ar trebui să fie în măsură să răspundă cu privire la această pagină. 1599 01:14:54,270 --> 01:15:01,760 În cazul în care acest lucru HTML locuiește la acest website și utilizatorul introduce bug în acest text 1600 01:15:01,760 --> 01:15:06,900 câmp chiar aici, ce URL-ul va utilizatorul se afla pe 1601 01:15:06,900 --> 01:15:08,150 depunerea formularului? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Deci avem acest drept aici. 1604 01:15:12,510 --> 01:15:13,720 Am de gând să se întoarcă la această pagină, totuși. 1605 01:15:13,720 --> 01:15:16,980 Voi scrie această primă parte. 1606 01:15:16,980 --> 01:15:18,230 Se poate vedea toată lumea de aici? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, crezi că știi? 1609 01:15:32,906 --> 01:15:34,700 Ce pagină? 1610 01:15:34,700 --> 01:15:37,630 >> Audiența: căutare Backslash. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: am de gând să se mute aici. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, backslash căutare întrebare marca q este egal cu bug. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Oricine are o sugestie diferit? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Da. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Deci, cum putem obține acest lucru? 1620 01:16:03,740 --> 01:16:05,520 Ei bine, am văzut asta înainte. 1621 01:16:05,520 --> 01:16:07,170 Și ai venit cu asta mai devreme. 1622 01:16:07,170 --> 01:16:08,870 Ai avut dreptate, Noe, ca acțiune ne spune ce 1623 01:16:08,870 --> 01:16:11,700 Pagina vom. 1624 01:16:11,700 --> 01:16:12,820 >> De asemenea, știm ce metodă. 1625 01:16:12,820 --> 01:16:13,420 Facem GET. 1626 01:16:13,420 --> 01:16:17,040 Și diferența dintre get și post este că obține afișează în URL-ul 1627 01:16:17,040 --> 01:16:18,490 și post nu. 1628 01:16:18,490 --> 01:16:22,760 Deci, dacă am scris stâlpul din dreapta acolo în metodă, ceea ce ar fi diferit? 1629 01:16:22,760 --> 01:16:24,250 >> Audiența: Ar fi doar fie de căutare slash. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Ar fi doar să fie slash căutare. 1631 01:16:25,400 --> 01:16:27,400 Nimic pe aici s-ar întâmpla. 1632 01:16:27,400 --> 01:16:30,030 Dar, pentru că este o obține, URL-ul este afișată după cum urmează. 1633 01:16:30,030 --> 01:16:35,140 În primul rând vom vedea un semn de întrebare și vom vedea numele și valoarea. 1634 01:16:35,140 --> 01:16:42,730 Spun ca a fost un alt câmp de text și I-am dat un nume de r și eu o intrare 1635 01:16:42,730 --> 01:16:45,220 valoare, omidă. 1636 01:16:45,220 --> 01:16:48,560 Ce s-ar asta acum arata ca? 1637 01:16:48,560 --> 01:16:52,040 Am un câmp de text mai mult, dau un nume de r și o valoare de omidă. 1638 01:16:52,040 --> 01:16:56,990 >> Audiența: Dupa bar ai avea omida ampersand. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: Asta-i nu ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> Audiența: Sau pur și simplu, indiferent de și simbolul. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Da, nu. 1642 01:17:01,330 --> 01:17:03,700 Ai avut dreptate, m-am înșelat. 1643 01:17:03,700 --> 01:17:05,660 Asta e ca o g. 1644 01:17:05,660 --> 01:17:06,910 >> Audiența: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r este egal cu omidă, îmi pare rău. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Este nu r acolo? 1649 01:17:14,700 --> 01:17:16,680 >> Audiența: Nu, nu este. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Vom vorbi despre care după clasa. 1651 01:17:18,030 --> 01:17:18,930 Asta-i exact corect. 1652 01:17:18,930 --> 01:17:20,530 Deci, și este corectă. 1653 01:17:20,530 --> 01:17:23,430 Și atunci ai putea avea multe dintre acestea, și le-ar fi toate concatenate 1654 01:17:23,430 --> 01:17:24,950 împreună cu care și. 1655 01:17:24,950 --> 01:17:25,900 Deci, asta e exact dreapta. 1656 01:17:25,900 --> 01:17:27,700 >> Există o întrebare mai mult. 1657 01:17:27,700 --> 01:17:30,676 Schița DOM acest HTML, începând cu documente. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Am putea face asta în două minute. 1660 01:17:34,570 --> 01:17:36,790 O vom face aici. 1661 01:17:36,790 --> 01:17:38,040 Voi reveni la această pagină web. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, vom începe cu documente. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Ce urmează? 1666 01:17:52,090 --> 01:17:53,910 Deci, atunci când sunteți de lectură prin - 1667 01:17:53,910 --> 01:17:54,540 >> Audiența: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML este următorul. 1669 01:17:55,790 --> 01:17:57,850 Vom merge tag-ul de tag-ul. 1670 01:17:57,850 --> 01:18:00,890 Ce e după HTML? 1671 01:18:00,890 --> 01:18:01,550 >> Audiența: Cap. 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 Ce-i după cap? 1675 01:18:08,520 --> 01:18:09,770 >> Audiența: Titlu. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: Titlu. 1678 01:18:12,560 --> 01:18:14,740 Și titlu are o valoare de Google, dar eu nu am de gând să 1679 01:18:14,740 --> 01:18:16,240 scrie că în pentru acum. 1680 01:18:16,240 --> 01:18:18,750 OK, unde corpul merge? 1681 01:18:18,750 --> 01:18:20,890 >> Audiența: De asemenea, vine de pe HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Exact. 1683 01:18:21,490 --> 01:18:22,820 Corp iese de aici. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Nu toată lumea a vedea de ce că e cazul? 1686 01:18:30,330 --> 01:18:32,970 Ar trebui să fie, probabil, în măsură să dau acest lucru, de asemenea, chiar dacă nu am avea 1687 01:18:32,970 --> 01:18:33,665 acest indentare frumos. 1688 01:18:33,665 --> 01:18:37,680 >> Indentare fel de ea dă departe, dar puteți vedea că tag-ul cap are 1689 01:18:37,680 --> 01:18:41,240 a fost închis, ceea ce ne-am ce înseamnă, probabil, nu poate merge în jos aici. 1690 01:18:41,240 --> 01:18:43,460 Avem nevoie pentru a merge înapoi la orice a fost chiar înainte de capul 1691 01:18:43,460 --> 01:18:44,730 tag-ul, sau sub care. 1692 01:18:44,730 --> 01:18:46,720 Suntem chiar cu tag-ul cap. 1693 01:18:46,720 --> 01:18:48,560 >> Și cu trupul se forma. 1694 01:18:48,560 --> 01:18:50,300 Sub formă, există două intrări. 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 Asta e tot ce am. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 este mâine. 1699 01:18:56,980 --> 01:18:58,350 Sunt atât de emoționată pentru voi. 1700 01:18:58,350 --> 01:18:59,690 O să fie o explozie. 1701 01:18:59,690 --> 01:19:00,250 >> Dacă aveți - 1702 01:19:00,250 --> 01:19:00,600 >> Audiența: [aplauze] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: Oh stop, stop. 1704 01:19:02,460 --> 01:19:04,520 Dar nu, glumesc. 1705 01:19:04,520 --> 01:19:07,220 Dacă aveți întrebări, nu după secțiune, voi fi afară. 1706 01:19:07,220 --> 01:19:11,700 Dacă aveți orice întrebări în seara asta, nu ezitați să sunați, e-mail, Gchat, 1707 01:19:11,700 --> 01:19:12,740 operator de transport mă porumbel. 1708 01:19:12,740 --> 01:19:13,950 Noroc mâine. 1709 01:19:13,950 --> 01:19:16,220 Avea o pauză minunat de Ziua Recunostintei, dacă eu nu te văd înainte de atunci. 1710 01:19:16,220 --> 01:19:19,320 Și vă voi vedea dupa Ziua Recunostintei marți de finală noastre 1711 01:19:19,320 --> 01:19:20,295 secțiune parte vreodată. 1712 01:19:20,295 --> 01:19:21,545 >> Audiența: [inaudibil]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Mare. 1715 01:19:25,790 --> 01:19:28,900 OK, voi vedea voi viitoare săptămână, sau în două săptămâni. 1716 01:19:28,900 --> 01:19:30,150 Și noroc mâine. 1717 01:19:30,150 --> 01:19:32,203