JASON Hirschhorn: Tere, igaüks, et 10. nädalal. See on põnev nädal, sest homme on Quiz 1, mis me võtame et teine. Täna jaos, me ei lähe üle mõned võimalused viktoriin ja siis ma vastan igasugusest küsimused, mida kutid on. Ja me lõpuks lõppema mõned praktikas probleeme. Me ei saa kulutada kogu lõik küsimustele vastamist. Me ei saa kulutada kogu lõik läheb üle praktikas probleeme. Me lihtsalt laiendada, et täita aeg ja ruum on meil. Nii panin selle nimekirja iga nädal, kuid see on eriti oluline sel nädalal. Õppimiseks, kui te ei ole algas juba, oh boy. Aga loodetavasti olete alustanud juba. Ja teil on läbimas materjalide ja vahendeid loetletud siin. Ma väga soovitada Mitmed neist. Eelkõige loengumaterjalid on väga oluline ja kasulik. Study.cs50.net annab suur krunt on palju teemad läbisime. Samuti on mõned väga harjutada probleeme. Ja siis Google on suur, liiga. Ma ei tea, mida saate kasutada seda. Aga Google, samuti. Jõuda mulle, kui teil on küsimusi, kommentaare või muresid. Vaata üle läbivaatamise istung slaide eile. Või kui teil on aega, Selle video vaatamiseks. Need annavad palju kasulikke materjali ja informatsiooni. Ja püüda katta, kui mitte kõik, paljud teemasid oleme kaetud ja et sa võib näha viktoriini. Rääkides viktoriin, et homme. See on 75 minutit pikk. Paljud teist on selle võtmine 1 kella ja mõned teist on võttes see 5:30. Sest ajast te kasutate seda ja kus te võtate seda, veenduge, et teil vaadata läbi dokumendid edasi CS50.net kodulehel. Pea meeles, et saad ühe 8 1/2 11 lehe kaasa võtta. Sageli inimesed ei kasuta seda leht üldse viktoriini ajal. Aga tõesti, see on uskumatult kasulik uuring vahend. Nii koondades et leht on see, mida Veetsin tõenäoliselt kolm või neli tundi teed, kui olin õpib CS50 ja See oli lihtsalt kõige kasulikum kuidas ma saaks õppida viktoriini. Nii et isegi kui teil on mõned teiste inimeste uuring juhendid vaadata ja kasutada viiteid, ma väga soovitada teha oma uuringu juhend, pannes et asjad kokku. See tõesti aitab teil õppida kõik materjalid. Last but not least käesolevas paragrahvis pärast viktoriini homme seal on üks rohkem loeng - järgmisel esmaspäeval. Seal on veel üks lõik, mitte järgmine Teisipäev enne Thanksgiving, kuid Teisipäeval pärast seda. Me kohtume koos lõpliku hüvasti poole ja teeme ka mõned lahedad Asjad teid põnevil täiendavaid uuringuid arvutiteadus. Seal on veel üks projekt, rohkem aus, üks rohkem hackathon. Me lõpusirgel CS50, mis on põnev - aga ka, kui sa oled nagu mulle natuke kurb. Enne kui ma edasi minna, kas keegi on küsimusi, mida oleme kaetud nii kaugele? OK, hästi lähme üle mõned küsimused et teil on viktoriin ja teemad me võiksime katta. Nii et see on nimekiri, mis ma kokku panna. See ei ole kaugeltki ammendav, kuid loodetavasti jog oma mälu, kui sa on mõned küsimused selle kohta ühtegi neist teemasid, või kui teil on küsimusi praktikas probleeme viktoriinid aasta varem. Mul oli paar küsimust, mis olid saadetakse mulle, aga ma tahan, et hoida ära nende jaoks teine. Kas kellelgi on küsimusi, probleemidele, mida nad ei saanud aru, vastuseid, mida nad ei saanud aru, saada meile hakkas? Avi. Publik: Kas sa lihtsalt minna üle DOM ja Ajax tõesti kiire? Nagu, mida me peame teadma või peaks mõista neid? JASON Hirschhorn: ma lähen vastata üldiselt see küsimus, mida ma vaja teada antud teemal x? Sest mul on tunne, et paljud teist lähed küsi mis või kes on uudishimulik, et. Nii et sel määral, et teema oli kaetud loeng või lõik, või study.cs50.net, probleem määratud, peaks olema tuttav. Nii et sa ei pea teadma igat liiki tag, mis on saadaval HTML-või iga tüüpi atribuuti või vara saate anda midagi CSS. Aga kui sa nägid seda loengut näiteks kui sa nägid seda probleemi set, siis peaks ilmselt olema tuttav seda eriti asju nägid loeng. Nii me arutasime dokumendi objekti mudeli natuke jagu, seda enam, et loeng. Sa peaksid olema tuttavad et palju ta. Ja sa peaksid olema tuttavad Ajax samal määral. Me ei ole kunagi näinud uskumatult arenenud või keeruline näiteid Ajax, nii sa ei kavatse paluda teha midagi uskumatult keeruline. Aga te võite küsida, kuidas ma teha Ajax kõne kasutades jQuery? Mis on midagi, mida sa oled näinud number korda enne, nii vaadata nõupidamisel loeng ja see on ainult kaks-ish rida koodi. Nii et on midagi, mida peaks olema tuttav. Aga jälle, et kõik need teemad, Kui olete näinud seda enne, see on aus mäng. Ja me võime paluda teil - Ilmselt oleme küsin teilt, mida te ei ole varem näinud. Kodeerimise midagi sa ei ole näinud. Mis ei tähenda, te ei ole näha vahendid, et lahendada et probleem enne. Olete näinud neid vahendeid. Näiteks, Quiz 1, kui sa pead koodi strlen. Me ei ole kodeeritud strlen enne. Aga sa tead, kuidas kasutada silmus, sa tead, kuidas seda kasutada, kui tingimusi. Sa tead, kuidas kirjutada muutujate C. See saab olema sama asja siin. Sa ei kavatse paluda teha midagi sa ei ole näinud, kuid võite paluda, nagu panna midagi koos uudse või lahendada eri tüüpi probleem. Vabandust, see ei olnud konkreetselt teie küsimus, kuid ma ei saa vastata umbes iga teema, mida või ei pea teadma. Aga ka, vabandust, viimane asi, mis. Oleme veetnud oluliselt rohkem aega link nimekirjad kui meil on Ajax. Te ei kasutanud Ajax probleem komplekti. Üks keskne omadused, mis lahendamist mis oli link nimekirjad. Ja me veetsime palju aega loeng ja lõik kasutamist. Niisiis, koefitsiendid on link nimekirja tulla veel sageli viktoriin kui Ajax. Või küsimused, millel on pistmist link nimekiri on väärt rohkem punkte. Nii saab kindlasti keskenduda ja kitsad aastal on asjad, mis on rohkem tõenäoliselt tulla, sest meil on kulutada rohkem aega neile. OK muid küsimusi? Jah. Publik: Kas me minema kasutamise üle Anonüümsete funktsioonide JavaScript? Mul on natuke segane, et. JASON Hirschhorn: Nii JavaScript - Ma üritan mõelda, kuidas ma võiks kirjutada selle kohta - niiet tegelikult avada see kood. Nii et see on kood, mis me tegime eelmisel nädalal. Ja sa oled näinud seda enne, kui te olid siin punktis eelmisel nädalal. Või olete näinud midagi sarnane sellele enne. Aga sa võid vaadata seda esimest rida. See, kuidas sa alustada - kõik on näinud seda enne. Kui sa tahad lisada mõned JavaScript koodi, paned ta sees, eeldades te kasutate jQuery. Seda öeldes ei tee midagi kuni dokumendi koormatud. Ja siis, Curt, näed siin me teeme midagi sellist - funktsioon avatud paren, suletud paren. Nii et me ei anna see toimida nimi. Me ei kavatse määratleda seda funktsiooni peaks sõitma ja siis nimetame seda mitu korda. Me lihtsalt öelda, et see dokument juba võtab funktsiooni. Paar asja, mida teha. Ja me ei taha kulutada aega andes talle nime või salvestada see andma. Me lihtsalt tahame käivitada mõned asjad. Nii anonüümne funktsioon sort ning täidab selle eesmärgi. Kui te ei kavatse kasutada midagi ikka ja jälle, nii et sa ei pea anda sellele nime - te lihtsalt soovite kasutada seda üks kord - siis oleks lihtsalt öelda funktsiooni jaoks Näiteks sel juhul, ja sa oled lihtsalt määratlemisel midagi, sa võiks anda nime. Nagu, et saame selle funktsiooni välja ja anda talle nimi ja seejärel kõne, mis toimi siin. Aga me ei vaja, sest me ei taha raisata aega andes talle nime või raiska midagi meie nimi ruumi. Ja te näete, et palju. Näiteks näeme, et palju see kood, kuid sa oled näinud seda enne, kui Klõpsates midagi - käivitada seda tüüpi koodi. Me võiks määratleda kood, mida me tahame joosta kui me kliki, sel juhul Selle ID, eraldi funktsioon ja seejärel käivitada selle funktsiooni. Aga sel juhul, me lihtsalt vahele et samm ja liigub see siin ja lihtsalt määratleda kõik et me tahame ellu viia ja ei anna see nimi. See ikka ei pruugi olla vastas oma küsimusele. Publik: Ei, ei. Ma mõtlen, et ma arvan, et ma lihtsalt tõesti ei saan aru, miks see oleks tööta üldse, kuigi. Sest see ei ole tegelikult kutsutakse. See ei ole tegelikult veel nime. JASON Hirschhorn: See funktsioon selles mõttes, et see on rida samme, nagu te paneks funktsioon. Ja siis, et põhjus, miks me nimetame see anonüümne funktsioon. Me ei kavatse anda talle nimi. Me ei kavatse raisata üritab nimetada, aga saime. Anonymous funktsioone, siis võib alati anda nimi. Nii näiteks, on see kood siin, me võiks seda koodi sees funktsioon ja seejärel kõne see funktsioon siin. Selle asemel, me ütleme, et me ei kavatse vaeva nägema, et. Me lihtsalt kirjutada see kõik siin. See on nagu mõnikord, kui olete kirjalikult nelja silmuse C - poisid olen näinud seda enne - võib-olla oled iterating läbi forloop arvesse i on 0. I on vähem kui strlen. Või sa lähed läbi mõned array, saate salvestada massiivi indeks i mõnel muutuja. Ja sa kasutad, et muutuja. Nii et sa ei pea uuesti kirjutada array sulg i üle ja üle ja üle. Ja see on omamoodi nagu Fiktiivne muutuja. See ei kanna palju muud eesmärki kui teha oma koodi veidi puhtamaks ja lihtsam lugeda. Sarnast funktsiooni siin. Lihtsalt muudab veidi lihtsamaks, kuid funktsionaalselt vahet pole. Kas see vastab su küsimusele? Publik: Jah. JASON Hirschhorn: OK .. Mario? Publik: Eile nad sageli pannakse funktsiooni sulgudes sündmus. Kas see tähendab midagi? Või on see asjad et nad teeksid document.ready funktsiooni korral. JASON Hirschhorn: Me oleme näinud seda, ja Jällegi on need väiksemad asjad, ilmselt ma ei taha kulutavad liiga palju aega. Sest mõnikord ma ei taha, et inimesed saada närvis läbi, et nad ei ole kuulnud neid asju nii palju. Aga me rääkisime natuke sündmuseohjurite. Nii juhtub midagi, ja siis seda funktsiooni täita. Ja siis me tahame ka teada, mõned üksikasjad selle kohta, mida juhtus see sündmus. Seega arvan, et tagasi probleem komplekt 4. See on ilmselt kõige lihtsam viis aru, et murda välja. Seal oli mingi kood - nagu sündmus juhtuks, kuid sündmus võib tähendada palju asju. Kui võib tähendada hiir on klõpsatud, siis võib tähendada vajutad nooleklahvi, et ja nii edasi, ja nii edasi. Aga see kõik on salvestatud selle geneerilise asi nimega üritusi. Ja siis me ei saa öelda, kas Sel juhul see asi? Või on see sündmus see asi? Või millist juhtus selle sündmusega? Nii et miks te luua, et muutuja seal salvestada et pildi info kohta, mis täpselt juhtus, et sa lähed tahan kasutada ka funktsiooni. Aga jälle, see on ilmselt üks vähem olulised asjad on super tuttav. OK, mida teised küsimused on inimesed oli või komistuskive nad puutus vaadates? Me tagasi, et nimekirja. Aga ajal praktikas viktoriinid, kui inimesed on võtnud juba? Millised olid mõned probleemid, mis rakendunud teid üleval? Ma tean tegelikult, et eelmise aasta Küsimustele oli tõesti raske. Publik: Kas oskate selgitada, mida SQL süst rünnak on? JASON Hirschhorn: OK, tore. Nii et me rääkisime sellest natuke. Seal loengu turvalisust. Ja jälle, nagu ma varem mainisin, see kõrvale. Aga siis pettunud kohta viktoriin kui sa loed mõned väikesed kaks punkti küsimus, ja sa oled nagu, kui ma kunagi teada, et? Kõik need asjad on need loengud et sa ei arvanud, et sa vaja tea, või siis võiks ilustada sest neil ei ole pistmist Ülesanded, nende tahe tõenäoliselt tulla uuesti tegema. Nii lahe, lõbus asju, mida sa lihtsalt arvasin David rääkis teile meeldib, ta ütleb, et sa meeldib ja et sa lihtsalt super põnevil õppe kõike on õppida arvutiteaduse. Need asjad ka tulla on viktoriine. Seega, isegi need väikesed asjad, mis ei ole otseselt seotud teie probleem määrata, kui te olete tuttav alates Quiz 0, ilmselt tulla. Ja see on hea näide midagi. Nii SQL süst rünnakud on siis, kui natuke infot kasutaja ja soovite lisada see tabel kasutades SQL lisada avaldus, kuid te ei puhasta sisend enne tähtaega. Niisiis, ilmselt oleme näinud SQL avaldused. Ma lihtsalt avada - lähme - läheme läbi - Ma arvan, kes kaetud on? Arvan Samala tegi. Nii saame - Publik: Kust sa selle leidsid? JASON Hirschhorn: Nii et kui te lähete CS50.net, viktoriinid, ja siis saab leidke üle ja saada liumäed läbivaatamisest istungil. Aga näete, et see on hea näide ja SQL süst rünnak. Võtame mõned andmed kasutajale ja nad annavad meile string, ja siis me soovite lisada, et string viiakse andmebaasi. Üldiselt me ​​Puhas et sisend, mis tähendab, et seal on mõned märgid, mis on ohtlik. Näiteks SQL stringid, need jutumärgid - ülakoma või jutumärkide - tähenda midagi. Nad tähendavad lõpetada see string siin. Ja nii, kui kasutaja annab ühe või jutumärke, need võiksid olla püüdes reis oma SQL päringu ja sisestada halbu asju ta. Ja kui nad seda teevad, võivad nad saada kontrolli oma andmebaasi või teha mõned asju, mida sa ei taha neid teha. Nii et miks siis, kui me võtame SQL päringuid, me Puhas sisend enne paneb ta andmebaasi, mis tähendab, et me põgeneda tegelastele. Me räägime, et teine. Aga pikk lugu lühike, SQL süst rünnak on, kui te ei saa seda teha - kui te ei hoolitsen sisend nad annavad sulle, enne kui panete andmebaasi, nad saavad, nagu näete alla siin käivitada päringu, et tegelikult - nad panna oma koodi alla ja Selle valige rea siin valib kõik laualt sõltumata mis parool on antud. Kuna teil on või 1 võrdub 1. Nii et see on põhimõtteliselt, pikk lugu lühike, võimalus võtta üle andmebaasi. Küsimus siis, kutid, on kus p komplekti 7 sa puhasta kõik sisendite teie SQL päringuid? Kust see samm juhtus? Kus te vältida SQL süst rünnakuid toimub p seatud 7? Jah. Publik: Crypt? JASON Hirschhorn: Nii et see ei olnud krüpt. Me ei tee sa seda sel eriti probleem määrata, kuid seda juhtub aastal päringu funktsiooni. Me tegelikult kirjutas ta teile ja me hoolitses desinfitseerimist sisendite eest. Aga aasta varem, õpilased on olnud tüüpi sisendid oma. P komplekti 7, palju sa - Lubage mul avada veel ühe faili. Nii märkad siin palju inimesed, et lahendamist 7, ei helistanud See funktsioon on stringid. Seda funktsiooni htmlspecialchars, uuesti - see string võib olla mõned asjad et HTML tähendab midagi muud. Nagu traksidega, kandiline, või nurk sulg tähenda midagi HTML. Ja kui teil on vaja printida, et välja ekraan või kui sa lihtsalt võtta see ja prindi see välja oma HTML, mis võivad teha midagi, mida sa ei oota. Nii htmlspecialchars läheb üle kõik need tähed, mis on eriline Koosoleku-ja põgeneb neid. Seega saab välja trükkida teksti tahad näha, selle asemel kruvimiseks kuni oma HTML. Me kutsusime seda funktsiooni päises. Ja palju inimesi unustasin nimetame seda funktsiooni koodi sa olid kirjalikult. Nii, näiteks, kui aktsia nimi oli nurksulgu seda ja sa unustasid nimetame seda funktsiooni, et nurk sulg oleks visati välja, mida HTML tundus. Aga kutsudes seda funktsiooni pääseb et nii see tegelikult prindib välja nurksulgu ja ei viska ära oma HTML koodi. Samal põhjusel oleme näinud, vahel, kaldkriipsud enne topeltjutumärgi printf line, sest me ei taha, jutumärgid alla string. Me tahame, et neid printida välja ekraan. Nii see kõik on sama mõte. Kas see vastab su küsimusele? Publik: objekti. JASON Hirschhorn: Kas sulle on järelkontroll? Publik: Ma arvan, et SQL süst rünnak on pistmist on? Ma ei mõista, kuidas kaks on omavahel seotud. Miks sa seda specialchars? JASON Hirschhorn: OK, nii SQL süst rünnak on, kui te süstite mõned pahatahtlikud stringid kellegi programmi ning nad lihtsalt võtavad seda ja töötab SQL päringu string sa andsid neile. Nagu näete siin, et võiks olla problemaatiline. Niisiis, kuidas sa vältida vastu, mis on te võtate oma string, et nad annavad sa - nii et see string siin - ja sa puhasta see. Sa põgeneda kõik asjad, mis on potentsiaalselt problemaatiline. Nii et sa ei tohi neid tõlgendada kui midagi mis tähendab midagi. Ja näide, et koos HTML on seda funktsiooni. Nii et see on sama mõte siin. Ja ma lihtsalt näitab teile, muu näiteid, kui olete näinud seda mõtet enne. Pääseda kasutaja sisend enne printimist seda läbi ekraani või kasutusele sees SQL. Publik: Nii et sel juhul on kasutajal on jama programmeerija. JASON Hirschhorn: Jah. Kõigi nende julgeoleku rünnakud, see on alati üldiselt kasutaja või keegi, üritab jama sinuga, programmeerija. Ja need on võimalusi saate vältida nende vastu. Publik: Nii et mul on küsimus umbes hash funktsioonid. Viktoriin 1 alates 2011, on kaks küsimusi ühepoolne hashes. Ja ma just mõtlesin, mida see tähendab. JASON Hirschhorn: OK, mis tegema? 2011? Publik: Jah. Publik: Quiz 1? Publik: [kuuldamatu]. See on nagu segamist salasõna. See ei hakanud asjad - JASON Hirschhorn: Mis lehekülg see oli? Publik: Ma arvan, et see oli 9 või 10, või mõlemad. JASON Hirschhorn: Olgu, minna, Curt. Te võite vastata, kui me vaatame. Publik: Ma arvan, et see räägib umbes hashing salasõna. Meeldib, kui keegi siseneb parool sa muuta see krüpteeritud asi. See on parool räsi, mis on erineb räsifunktsiooni et paneb midagi sisse hash tabel. JASON Hirschhorn: Vaatame. Lubage mul tõmme, mida nad anda võimalikult vastus. Ja siis läbi minema. Nii Curt andis hea näide on ühesuunaline räsi. Kui oleme näinud seda enne, me võta parool ja lülita - mäletate, lk kogum 7, keegi võiks on parool, mis on lihtsalt parool aga siis saab krüpteeritud sisse mõned tõesti pikk asi. Ühesuunaline hash tähendab, see on väga lihtne minna ühest tee teistele, kuid see on väga raske minna teistpidi tagasi. Ja, et sa tead, kui sa olid kontrollimise inimeste paroolid probleem seatud 7, siis oleks võtta oma - Nii näiteks, et nad tahtsid muuta oma salasõna, siis paluge neil oma vana parool. Sa võtsid oma vana parool. Sa krüptimist. Ja siis võrreldes kaks encryptions mitte unencrypting originaal üks, sest see on tõesti raske minna nii. Jah. Publik: Kuidas sügavuti ei meie arusaamist Telnet olema? JASON Hirschhorn: kui seda on mainitud lühidalt loeng, vaid lühike mõistmist. Taas tagasi vastus Avi küsimusele - rohkem asju tulla, seda tõenäolisemalt seda sa pead olema super tuttav. Kui nad ainult tulla loengut see on ainult üks koht. Aga kui nad tulevad loeng, lõik, ja lahendamist, siis ilmselt olema super tuttav. Pidin küsimus varem, - infosüsteemist oli sügisel 2010 - Quiz 1, lähme tõmba - Sellele küsimusele on korstnad ja järjekorrad mis me tegime kulutama õiglase natuke aega räägime loeng, isegi kuigi me ei ole tegelikult kunagi tabanud jaos. Nii et see küsimus annab teile seeria Käskude ja teilt mis saab trükkida antud juhul. Nii et see on täiesti põhjendatud küsimus et võiks küsida teist poisid, ja siis te peaksite suutma vastata. Miks sa ei vaata seda 30 sekundit ja siis kui keegi tahab ettepaneku vastused mind ja siis me läbi minema. Olgu, kes on vastus küsimusele 27? Jah. PUBLIKULE: Kas 1, 2, 3, 3? JASON Hirschhorn: Just nii. 27 on 1, 2, 3, 3. Seega vaatame, kuidas me saime selle. Esiteks, me ütleme, kui te ei järjekorda, mida saab trükkida? Nii q on esimene, esimene välja. Me oleme näinud, et enne. Nägime pildi inimesed ootamas Apple Poest osta mõned toode. Esimesed inimesed on Esimesed inimesed välja. Esimesi asju järjekorras on esimesed asjad. Nii et kui me push midagi võtta järjekorda, surute 1, siis pop 1. Pop tähendab lihtsalt välja võtta. Sel juhul võtke midagi välja. Võtame välja esimese asi, mis on 1. Nii et me paneme asjad, mida me prindi maha siia. See ei ole enam meie järjekorda. Siis rühkima 2 ja 3 ning me pop off esimene asi. Jällegi, kuna see on järjekorda. Nii saame 2, siis pane teine 3 ja kõne pop uuesti. Meie 3 on esimene. Ja siis oli meil terve hunnik muud asjad ja kõne pop. Aga jälle, sest see on järjekorda, esimene, esimene välja. Võtame läbi esimene asi mis oli kunagi panna sisse See on meie 3. Ja sel juhul me ei muretse Aga kõik need muud asjad. Nii et kui see on järjekorda. Küsimusi järjekorda? Stack on erinevad. Mis on lühend meil mõistmiseks korstnat? Publik: viimane esimene välja. JASON Hirschhorn: LIFO, ma arvan. Viimane esimene välja. Me nägime, näiteks korstnat plaate söögisaalis. Ükskõik salv on peal saab kiirenenud. Ja siis, kui uus kandikud tulla aastal, nad saavad panna peal. Ja siis kõik, mis on edasi top saab kiirenenud. Nii et need alused on põhja võiks seal mõnda aega. Sellisel juhul jälle näitame me juhtida seda. Me push üks, nii et üks on esimene rida. Ja me pop midagi välja. Ja seal on ainult üks asi on, nii me liigume 1 siin. Siis pane 2 ja 3 ning me pop midagi välja. Aga jälle, sest see on järjekorras - või see on virnas, pigem - võtame iganes oli viimane. Kõik, mis on viimane väljub esimene. Ja 3 on viimane. Seega me paneme 3 seal, siis paneme veel 3 ja me pop midagi uuesti. Lõpuks pane 4, 5, 6 ja 7, ja siin me pop. Ja kuna see on virnas, võtame olenemata pandi viimane ja kirjutada et siia alla. Nii me lõpuks 1, 3, 3, 7. Kas kellelgi on küsimusi korstnad või järjekorrad või see näide? OK. Lähme tagasi teemade nimekirja. Mitte, et nii, nii. Mis muud küsimused inimesed on? Publik: Ma ei tea, kui oluline see on, aga ma olin segaduses vahet eri liiki keeltes nagu juurdehindlus, mis on koostatud, tõlgendada. JASON Hirschhorn: See on hea küsimus. Ma arvan, et see on mõnevõrra tähtis, nii lähme üle kiiresti. Suurte keelte oleme näinud siiani on C, PHP ja JavaScript, poolest programmeerimiskeeli. HTML, nagu te mainisite, ei ole programmeerimiskeelt. See on märgistuskeel. Ja siis on meil CSS, mis on ka ei programmeerimiskeelt. Oleme näinud ka SQL, mis ei ole programmeerimiskeelt kas. Nii SQL võimaldab teil kirjutada päringuid andmebaasi. HTML on märgistuskeel. See määrab, kuidas asjad on üles ehitatud. Ja CSS võimaldab teil stiilis asju. See on ilmselt ulatust, mida sa vaja teada neid kolme. Aga see on huvitav tegelane välja erinevused C, PHP ja JavaScript. Nii üks suuremaid erinevusi, nagu te mainisite, on see, kuidas nad koostatud, või mis iganes samaväärne on. Nii C koostatakse. Soovime alati joosta tõlkija. Ja siis, kui on oma vigu kui sa jooksed C kompilaator? Kui see näitab teile, Vead oma koodi? Kuidas sa tead, seal on viga oma koodi C? Publik: See näitab, terminalis. JASON Hirschhorn: See näitab, et terminali sa koostamiseks. Ja kui seal on vigu, see tegelikult ei kompileerida. Nii et sa tead, et seal on vigu õigus ära, enne tähtaega, enne kui isegi käivitada oma koodi. Muidugi, võite esitada oma kood ja saada killustatust süü, kuid see oli ilmselt sellepärast, et sa tegid mõned rumal loogika asi. Aga oma koodi tehniliselt kõik õige ja võib minna. Nii C-koodi saab koostada enne tähtaega. Aga PHP kood? Kus olid vead oma PHP kood? Kuidas sa tead, et sul oli vigu Sinu PHP kood? Publik: Run aeg? JASON Hirschhorn: Jah, kui sa läheks see, siis läheks PHP koodi taga. Ja siis oleks kuvada ekraanile. Võite näha mõned asjad peal, aga siis sa näeksid, nagu mõned oranž, inetu tabelis. Ja see oleks sulle line number ja ütleme, blaa, blaa, blaa, seda kraami ei tööta. Nii PHP tõlgendatakse rida-realt ja teostatakse serveris. Ja seejärel tulemus saadetakse teile üle anda. Suur. Hukati server rida-realt ning seejärel saadetakse teile üle anda. Ja kui seal on viga, saadan sa viga, kuid teil võib olla õppinud mõned asjad enne tähtaega. Nii mõned oleks sellest kasu olnud, kuid hiljem, mõned asjad ei pruugi olla ei töötanud. Aga JavaScript? Kus te nägite JavaScript vead? P seatud 8, kui sul viga, kuidas sa teadsid? Kuhu see ilmub? Publik: In konsooli, allosas. JASON Hirschhorn: In konsoolis põhjale. See annab teile ka line number, ja see oleks näitab allosas. Ja JavaScript ei ole täidetud serveris. JavaScript saadeti teie arvutisse, ja siis, kui see oli aeg joosta JavaScript, JavaScript oli käivitada rea ​​kaupa edasi klient, teie poolel. Mitte server, kliendi poolel. Sarnases oli käivitada rida-realt. Ja siis, kui sa saaksid viga, see näitaks üles allosas. Sarnaselt PHP, mõned see võiks täita ning seejärel võite saada viga hiljem. Ka veidi erinevalt PHP, kui sul JavaScript viga - öelda, et sa ei tee õigust kood alert box - võid hoida jooksvate oma programmi. Hoiatus kasti ei tööta, kuid Teie programm oleks trahvi. Lihtsalt olla, et funktsioon ei aita. Nii et seal on mõned suuremad Erinevus poolest, kuidas need keeltes või kuidas programmi koodi sa kirjutad on tegelikult hinnata. On ka teisi erinevusi poolest - suurim erinevus oleme näinud nii muutujad erinevates keeltes. Nii saab keegi mulle erinevus muutujate vahel kolmes keeles? Jah. Publik: In C, nad on rangelt trükitud. Ülejäänud kaks, nad lõdvalt kirjutatud. JASON Hirschhorn Ja Mida see tähendab? Publik: See on C, siis tuleb tunnistada tüüpi muutuja sa kuulutada muutuja, nagu interbool või char. JASON Hirschhorn: Suurepärane. In C, oleme alati olnud panna tüüpi muutuja. Ja me ei saa tõesti segada tüübid. Sa ei saa teha täisarv pluss string. Aga nagu oleme näinud neid teisi keelt, siis tegelikult võib segada tüübid, ja sa kunagi ei pea andma midagi tüüp, kunagi. Niisiis, kuidas me teame, mida on muutujad PHP ja JavaScript? Publik: PHP, nad hakkavad koos dollari märk. Javascript, kui te deklareerite neid, sa pead olema bar. JASON Hirschhorn: Õigus. Nii PHP, nad hakkavad koos dollari märk. Javascript, et nad peavad olema bar, kuigi mõnikord nad ei ole tegelikult pead olema bar. Aga see on õige. Nii et on suur vahe muutujate vahel. Ma arvan, et need on ilmselt ära mu peas, kahe suurima Erinevused nende kolmes keeles. Aga jah. Publik: Ja ulatust C muutujate piirdub lokkis traksid, kus teised need, see on nagu, ta sureb, kui see on funktsioon ainult aga muidu, See on - JASON Hirschhorn: Õigus. Nii ulatus on pisut erinev C. Mäletatavasti looksulg määratleda ulatust muutujad. Nii et kui see on määratletud sees kui tingimus, mis on sees silmus, muutuja eksisteerib ainult seal. Javascript, kui muutuja on defineeritud sees kui tingimus - sees loop - siis see on olemas et funktsioon, kuid see ei eksisteeri väljaspool seda funktsiooni. Nii ulatus on natuke paindlikum JavaScript ja PHP. Et vastata küsimusele? OK, muid küsimusi? Me saame seda teha veel neli minutit Küsimuste, siis me hüpata kodeerimine. Publik: Kas me minna Ajax ja rääkida, mis see on? JASON Hirschhorn: Räägi Avi pärast. Ta palus, et küsimus varem. Publik: My bad. JASON Hirschhorn: Ära muretse. Publik: Mis täpselt on JSON? JASON Hirschhorn: Mis on JSON? Mis su küsimus? Publik: Just tõesti kiiresti, vahe print ja echo PHP. JASON Hirschhorn: Miks te ei google vahe print ja echo? Väike erinevus. Mitte, et suur ja lahendamiseks. Aga siis tuleb kindlasti google, ja mis annab sulle hea vastus. JSON, ilmselt suurem on palju. Kastid JavaScript Object märke. Ja kui me oleme näinud JSON kasutatakse? Kui olete näinud - Miks sa üldse tead sõna JSON? Kui sa oled seda näinud? Publik: Kui me ei saada börsikursid rahandusminister. JASON Hirschhorn: Nii nägid see, kui sa ei saada börsikursid rahandusminister. Ja miks sa seda näed? Publik: Kui olime allalaadimise kogu teabe, mida tuli selles formaadis. JASON Hirschhorn: Nii et sa saaksid - jah. Lase käia. Publik: [kuuldamatu] andmed välja objekti? JASON Hirschhorn: need mõlemad kokku on vastus me otsime. Soovite infot Selle muu veebilehe. Ja siis oleks lootust, et kui sa oled saada, et info oleks Teile esitatud teatud tüüpi standarditud vormingus. Kõik on ilmselt tuttav komadega eraldatud väärtused. Saate eksportida Exceli tabeli või mistahes arvutustabeli nimekirja komadega eraldatud väärtused. Ja komad jaotame erinevates valdkondades. JavaScript Object esitust - JSON - on teist tüüpi standardiseeritud paigutus asju. Ja see on sageli, kuidas me otsida teavet meie Ajax päringutele. Nii sel juhul, saime seda alates Yahoo kohas. Nad tagasi asju meid JSON objekti. Ja siis me teame, sest see on standard, mis on hakkab välja nägema. Nii saame kinnitada, läbi massiivi mis on meile tagasi, massiiv objektid, mis on meile tagasi. Me ilmselt vaja teada, võtmed, kuid nad tavaliselt teile dokumentatsiooni veebilehel, kui lasete mõned JSON märke neist. Samuti saate JSON kodeerida objekti. Nii et seal on funktsioon JSON rõhutada kodeerida. Ja nii saab võtta objekti, mis olete loonud, JSON kodeerida, ja andke seda kellelegi midagi muud, kui soovite. Ja JSON dekodeerida ka olemas sarnane eesmärk või vastupidisel eesmärgil. Publik: Kas meil on vaja teada, mis kodeerivad räsi tabelid ja üritab? Või me lihtsalt peame mõistma, kuidas nad kasutada kontseptuaalselt? JASON Hirschhorn: Niisiis, tõsta oma käsi kui sa hash tabelit p komplekt 4 koos link nimekirja. Või p seatud 5. Nii et oli enamik inimesi. P seatud 5, 6, kes teab. Kaua aega tagasi. Seega enamik sa tegid hash tabeleid link nimekirjad. Ja kuna see on ilmselt rohkem ühise lähenemisviisi ja kuna me veetsime palju aega tehes link nimekirjad ja hash tabeleid, siis peaks ilmselt olema päris tuttav, kuidas kood hash tabelit ja link nimekirja. Ja kui te arvate tagasi, et probleem määratud, see ei olnud tegelikult nii raske, kui sa oodata. Ja seal oli palju väiksem kood kui sa oodata. Ütleksin sa peaksid teadma, kuidas koodi hash tabel või link nimekirja. Mitte, et sa küsida, et tingimata, aga sa peaksid kindlasti teadma. Samuti, kui teil vaadata läbi mineviku viktoriinid seal on palju küsimusi kirjalikult ülesandeid link nimekirjad või kahekordselt seotud nimekirju. See tundub tulla iga aasta. Õigus lisada linki nimekirja, õigus kustuta link nimekiri, õigus lisada jaoks kahekordselt seotud nimekirja, jne. Nii, et ma tunnen üsna mugav öelda, et sa peaksid seda teadma. Sest proovida, ma ütleksin, peaksite Kindlasti tead, kuidas see töötab, ja võib-olla anda mõned pseudokoodi kuidas koodi ta ja ehita. Aga see ei oleks kõige hullem asi maailmas, kui sa ei tea, kuidas kodeerida seda C. Oleks tore, kui te teadis, kuidas koodi seda C, kuid ma arvan, ilmselt pseudokoodi eest proovida oleks kõige, mida oleks vaja et teada proovida. Publik: Extra laenu võtta? JASON Hirschhorn Ja sama, kui me minna binaarne otsing puud, siis võib pea - ja sa oled näinud ka varem, oleme teinud palju - sa tead, kuidas Kahendotsingupuu toimib. Sa peaksid ilmselt saama moodustage pseudo kood. Aga sellepärast, et enamik inimesi ei teinud seda probleemi set, ma ütleks, et see on ilmselt vähem oluline, et sa tead, kuidas koodi ja luua puu niimoodi. Muid küsimusi? Ka meil on võimalik neid esitada kogu kui me läheme läbi mõned probleemid. OK, me läheme edasi liikuda. Jäta et slide nüüd. Rääkides puud, mis on esimene küsimus on mul teile poisid. Kuna see on probleem. Ütleksin, et see on väga tõenäoline, teid saada probleemi niimoodi oma viktoriin palume teil kodeerida teatud tüüpi andmete sisestamine, kustutada, otsida, sest üks tüüp andmete struktuuri oleme näinud. See on igal aastal ja me veetsime palju aega teisel poolel semester läheb üle need andmetüübid. Nii et just nüüd, ma olen määratletud sõlme aastal Kahendotsingupuu. Ja see, mida ma tahaksin, et sa ei andnud Kahendotsingupuu mis algab selles sõlme star root, lõpule rakendamise funktsioon allpool mis juhtub olema find funktsioon. Ja seda koos ja ilma recursions. Nii et ma tahan, et sa kirjutada kaks ülesannet. Üks teeb seda rekursioon, üks seda teha ilma rekursiooni. Ja ei saa eeldada, et juur on mitte-null. Nii me otsime täisarv i tree alates root ja me peame kirjutada selle rekursiivselt ja korduvalt. Jah. Publik: Nii et sa tahad, et me tagasi true kui me leiame ta, ja false, kui me ei leia seda. JASON Hirschhorn: Kuidas sa seda teadsid? Kuidas sa seda tead? Publik: ma küsisin esimesena, aga ma olin eeldades, sest see ütleb bool juures alguses funktsiooni. JASON Hirschhorn: Õigus. Ta ütleb, bool, nii et ma ei pea isegi öelda, mida ma loodan, et sa tagasi sest ta ütleb seal. Aga see on õige. Tagasi, õige või vale. Nii et enne kui alustame, ma soovitaks, kui te ei tea, binaarne otsing puud kiiresti joonistamine pilt, et saada oma arusaam, eks. See aitab ka, kui kirjalikult oma koodi ning nende kontrollimiseks. Jällegi, sa ka ei ole, et palju aega viktoriini teha kõik asjad et me palume sul teha. Nii kirjalikult pseudo kood on väga kasulik. Ja me tavaliselt annab umbes - kui pseudokoodi on täiesti õige, see on üldiselt 50% võrra alla. Nii see ei ole raske ja kiire reegel, aga kui sa lihtsalt kirjutada pseudokoodi ja see on õige, see on tavaliselt 50%. Nii et ma soovitan alati - kui sa oled vähe aega, või isegi siis, kui sa oled lihtsalt üritan aru saada - alustades pseudokoodi. Ja lõpuks, kui sa võiksid kirjutada selle kõik C, et oleks fantastiline. Võtame kolm minutit tööd selles programmis. Ja siis me kirjutada pseudokoodi seda ainult üks kord, ja siis me koodi see rekursiivselt ja siis korduvalt. Kui teil on küsimusi, võid tasuta tõstke käsi. Palju jalutada ja neile vastata enne kui hakkame rühmana. Olgem jätkata, ja me ei kavatse Pseudocode rekursiivne versioon seda, ja siis me kodeerida seda. Nii rekursiivne funktsioon vaja kahte asja. See võib olla küsimus, mis sa võiks küsida. Vajab kahte asja. Kes saab tõsta oma käsi ja öelge Mida need kaks asja rekursiivne funktsioon vajab? Definitsiooni järgi on kaks asja. Mis on need kaks asja? Uus kätes. Jah, Alden. Publik: et ma ei ole päris kindel, kas see on terminoloogia, kuid - JASON Hirschhorn: Mul on hea meel sa tõsta oma käsi. Publik: See vajab tugipunkti, ja ta vajab kirjutan samm. JASON Hirschhorn: Perfect. See vajab tugipunkti ja kirjutan samm. Mis on meie baasi asjas? Publik: F root võrdub võrdub null. Vabandame, igaks pseudokoodi, kui see on null. Kui juur on null. JASON Hirschhorn Kui juur on null. See on suurepärane. See on meie tugipunkti. See, mida me kontrollida igal ajal. Ja alus juhul Esimene asi, mida teha. Kui põrkad tugipunkti, sa oled teinud. Nüüd peame meie rekursiivne kõne, ja ma valmis kihla peame paar rekursiivne nõuab siin. Sest see on puu, ja me võiks minna mitmel moel. Nii et kui juur on null, me oleme head. Mida sa soovitad? Ja nüüd ma hakkan hüüdma on teid, sest ma tean, et te kõik teavad seda. Aga Annie, mida peaks Järgmine rida olema? Mis siis, kui me leidsime selle? Mida me siis teeme? Publik: Kui me leidsime selle? JASON Hirschhorn: Või mis peaks olema, et - mulle pseudokoodi eest line, kus me leidsime selle. Publik: Kui ma võrdub root i? JASON Hirschhorn Ja siis mida me teeme? Publik: Tagasi tõsi. JASON Hirschhorn: Suur. Nii et kui ma ei i - oh, nad mõlemad kutsutud i. See saab segane. Aga kui ma ei i tagasi tõsi. See on ilmselt järgmine asi, mida me peaksime tegema. Mõtet. OK, nüüd me ei ole teinud meie rekursiivne helistada veel, aga kuna rekursiivne kõne kutsuksin seda funktsiooni uuesti. Mis siis järgmiseks rida pseudokoodi olema? Anna. Publik: vasak külg. JASON Hirschhorn: Ole konkreetne, kuigi. See on Kahendotsingupuu, siis millised ei kontrolliks vasakul poolel kaasa toob? Publik: Nii sõlme - Mul on kahju, root. Ja siis nool vasakule. Sõlme, sõlm, sorry. Ma ei loe seda korralikult. Seda nimetatakse sõlm, eks? JASON Hirschhorn: Seda nimetatakse root selle funktsiooni, kuid kas nii. Vasakul küljel - jah? Publik: Kui see ei ole võrdne i, siis me nimetame funktsioon uuesti? JASON Hirschhorn: Just nii. Kui see ei ole võrdne i, me helistada funktsioon uuesti. Aga mida pool puud me helistada funktsioon uuesti? Publik: Vasakul pool. JASON Hirschhorn: Me ei ole alati kutsun ta vasakule, kui see ei võrdu see. Publik: Oh, vabandust. Helista paremal. JASON Hirschhorn: Tahame teada Konkreetsemalt kuigi - mäletate, Kahendotsingupuu, kõike Vasakul pool on väiksem. Kõik paremale pool on suurem. Nii see lihtsalt ei ole - Jah, lase käia. Publik: Kui see on väiksem kui i, siis - kui see on vasakul - JASON Hirschhorn: Nii et kui ri on väiksem - Nii et kui meie number on väiksem kui i, mida pool me tahame minna? Publik: Me tahame minna paremal poolel. JASON Hirschhorn: Me tahame minna - las ma joonistan kiire puu. Kui see on 5, see on 3. Nii et kui ri on väiksem kui viis, mida pool me tahame minna? Publik: Vabandust, mida? JASON Hirschhorn: Meie number on vähem, kui me oleme praegu vaatan. Publik: Oh, siis me tahame minna vasakule küljele. Jah. Vabandust. JASON Hirschhorn: Täpselt. Ära muretse. In Kahendotsingupuu, kõik madalam on vasakul suurem on parem. Nii et kui meie number on vähem kui i me kontrollime - sest sa näed sõlme, tal on i - siis sa tahad minna vasakule. Ja see on lihtne. Mis see on teine ​​rida pseudokoodi meil on vaja kirjutada? Carlos? Publik: Sama asi, sa lihtsalt sisse seda suurem siseneda ja minna paremale. JASON Hirschhorn: Kas te ütlen seda veel kord? Publik: Kui meie number on suurem kui ma minna paremale. JASON Hirschhorn: Suurepärane tööd pseudokoodi. Tehkem seda reaalses kood. Ja jälle see pseudokoodi tahe ilmselt sulle, sest see on õige, 50% sellele küsimusele. Aga see pseudokoodi kajastub ka üks ühe sisuliselt koodi. Seega tehkem seda C. Kes saab anda minu esimene rida koodi? Tegelikult, enne ma teen et lubage mul peatuda - Publik: mul on üks küsimus. Miks sa taane line ma sulle andsin? JASON Hirschhorn: Kuna Ma ei saanud kirjutada. Ma ei tea. Sul on õigus. See joon peab olema seal. OK, siin on meie ülesanne. Ja lubage mul peatuda, samuti meie mõiste sõlme. Mis juhtub, kui me ei kirjuta typedef? Kas keegi teab? Publik: See ei kompileerida. JASON Hirschhorn: Oleks koguma, jah. Publik: Kas lihtsalt kuulutada üks Näiteks selle asemel, et see uus tüüp, mida võiks tunnistada mitmekordse juhtumeid? JASON Hirschhorn: nii et see ei tea - see ei oleks lihtsalt kuulutada ühte tüüpi. Sa võiksid ikka teha palju tippe. Publik: Aga kas me peame kirjuta struct tipp iga kord? JASON Hirschhorn: Just nii. Sa oleks pidanud kirjutama struct sõlme iga kord, selle asemel, et lihtsalt sõlme. Aga typedef saate lihtsalt kirjuta sõlme iga kord. OK, kes ei andnud - jah, Avica. Publik: Kui root võrdne võrdsete null, tagastab false. JASON Hirschhorn: Suur ja see on meie tugipunkti. Järgmine rida koodi. Keegi, kes ei ole andnud mulle koodirida veel? Jah. Publik: Juur nool i on võrdne võrdne i. Siis tagasi tõsi. JASON Hirschhorn: Suur. Järgmine rida? Jah. Keegi teine? Ja siis saate minna järgmisele. Publik: Else kui root nool i on väiksem kui i tagasi funktsiooni nimetatakse find root - JASON Hirschhorn: Vabandust. Publik: Tagasi find root osutab vasakule komaga i. JASON Hirschhorn: Nii et kui ri on suurem kui asi puus tahame minna vasakule? Publik: Ei, mul oli see sisse. JASON Hirschhorn: Kumb? Publik: No, jah. Mul on vähem kui alla kirjutada. JASON Hirschhorn: Right, kui ri on vähem kui see, mida on root - meie praegune root - siis me tahan minna vasakule. Ja mis on viimane rida, siis? Publik: põhimõtteliselt sama asi, va lülituda suurem või võrdne alla ja vasakult paremale. JASON Hirschhorn: Suurepärane. Kas kellelgi on küsimusi Aga see? Nii mõned muud asjad, mis oleks on õige, et võiks-ltiff. Arva, tehniliselt ei ole ükski neist tõesti tuleb ka-ltiff. Ka seal on ilmselt alles Ühel juhul siin. Nii et ilmselt oma viimase juhtumi. Sa ei pea isegi, et-ltiff. Aga ilmselt hea kirjutada see, et oleks selge. Jah. Publik: Nii et te ei usu, viktoriin - kui teeme vigu, näiteks süntaksis - vähe süntaksi vigu - kuidas see saada võetud viktoriin? JASON Hirschhorn: Üldiselt on viktoriin, väike süntaksi vigu või väike stiili vigu ei kaota sa punkte. Nii et kui sa unustasid semikooloniga Siit oleks OK. Kui oled unustanud sulgeda see sulgudes et oleks OK. Hiiglaslik süntaksi vigu, mis muudavad funktsionaalne tähendus teie kood järsult, võivad teil tekkida maha võetud punkti. Või üldiselt, vaid liigitamise te selle kohta, kas teie kood funktsioone, isegi - ei oma disain nii palju, ja ei oma stiili. Vaatame nüüd koodi korduv versioon leid. Nii et see saab olema üsna sarnane, kuid seal on kindlasti kavatse olla mõned olulised erinevused. Kuid meie pseudokoodi võib ilmselt minna - saame ikkagi üks rida pseudokoodi ja aru saada, mis line on ka käesoleval juhul. Nii korduv versioon, mida Mis sa arvad, Julia, peaks esimene rida? Publik: Jällegi iteratiivne tõeväärtus, sa pead looma jaoks loop, eks? JASON Hirschhorn: OK. Publik: Nii nagu, k, x võrdub 0, x on väiksem kui i. Või ei, x on väiksem kui suurus puu. JASON Hirschhorn: puu. Nii et me tõesti ei tea suurus puust ja me tõesti ei tea Mitu korda me saame minna, siis millised eri tüüpi loop, mis võivad olla parem sel juhul? Publik: Kui veel? JASON Hirschhorn: kui muidu saa olla silmus. Mis siis ahelat me lihtsalt minna kuni mõnel juhul on täidetud? Milline on ainult muud tüüpi loop C peale loop? Publik: Kuigi. JASON Hirschhorn: Kuigi täpselt. Aastal samal ajal loop, ärge pead teadma, kuidas - samas silmus ja silmus saab teha täpselt sama asi, aga tore asi umbes samal ajal kui silmus on meil ei ole vaja teada, kui suur on meie puu. Nii et me lähme enne mida? Publik: Kuni see võrdub suurus - JASON Hirschhorn: Noh, see on väga sarnane meie rekursiivne puhul. Niisiis - Publik: Kuigi root i ei võrdu i. JASON Hirschhorn: See on tõesti lähedal. Kuigi root i - Proovime seda. Ma ei usu, et [kuuldamatu] kus root i ei võrdu i. Meil võib olla vaja muuta, kui vähe natuke, aga see kõlab nagu see on päris hea, nüüd. Nii et me teeme seda. Samuti pidage meeles, et me ei saa eeldada, kohta küsimus. Sa ei saa eeldada, et juur on mitte-null. Mis sa arvad, väga Esimene asi, mida me peaksime tegema, on? Publik: Just sedasama asi nagu enne. Kui juur on võrdne võrdsete null, tagastab false. JASON Hirschhorn: Suur. Nii et see võib olla null. Nii et me tahame lahti saada IT kohe. Ja siis me kontrollida, kas root i ei võrdu i. Niisiis, ütle, et me otsivad selles tree 3, root i ei võrdu i, nüüd oleme meie samas silmus. Mida me tahame teha? Ja veel, et see saab olema ilus sarnane meie rekursiivne versiooni. Jah. Publik: Nii et sa tahad, et kinnitada, või hoida allakäik puu niikaua root ei ole võrdne null. JASON Hirschhorn: Niikaua root ei ole võrdne null? Publik: root kriips i ei ole võrdne null. Just just, jah. Nagu kaua kui juur on ei võrdu tühjaks. JASON Hirschhorn: Nii et sa tahad muuta seda arvesse root ei võrdu null? Publik: Jah. Publik: Me võiks ühendada neid, eks? Me ei pea, kui algselt. JASON Hirschhorn: OK, nii et kui me ei saa - kui me ühendame need, et me teeme kui root ei võrdu null ja kui root juhtub olema null at hakanud, mida me teeme siin? Publik: tagasi false. JASON Hirschhorn: Suur. Nii et mõlemad viisid ilmselt oleks töötanud. See on teistmoodi ja see ühendab ta. Aga jälle, kui sa nii teed, et me oleme ei kavatse maha disain punktid viktoriini. Aga see tundub hea. Niisiis, kui juur ei võrdu null, mis on esimene asi, mida me tahame, et kontrollida? Keegi teine? Null, mis on esimene asi, mida? Publik: Kui ri alla - oh, ma arvan, et kui me juba Leidsin selle juur. Nii et kui root nool i on võrdne i - JASON Hirschhorn: Vabandust? Publik: Kui root nool i võrdub võrdub i - JASON Hirschhorn: Mida me siis teeme? Publik: Tagasi tõsi. JASON Hirschhorn: Suur. Ja mis edasi? Jeff, mis toimub järgmise koodirida? Publik: Kui ma alla root nool i, siis root võrdub root Vasakule. JASON Hirschhorn: Juur võrdsete root nool vasakule. Nii et ilmselt suurim erinevus siin iteratiivne versioon erinevalt rekursiivne versioon. Rekursiivne versioon, me helistada funktsioon uuesti. Uuendame root kui me nimetame uue funktsiooni. Siin me ei kutsu uus funktsioon. Me lihtsalt lihtsalt ajakohastamine juur selles funktsioonis. See on suurepärane. Ja mis on viimane rida koodi? Jah, Mario? Publik: Else root võrdsete root nool paremale. JASON Hirschhorn: Vabandust? Publik: Juur võrdsete root nool paremale. JASON Hirschhorn: Kas te ka kirjutada midagi sellist? Publik: Mul pole õrna aimugi. JASON Hirschhorn: sa ei saa. Sa ei saa teha pluss võrdsete. OK, nii et see näeb hea välja. Miks me ei võiks seda teha puhastada see üles. See tundub hea, ja see töö. Ja me välja murda. Kui juur vasak oli null või root õigus oli null, oleksime siia tulla. Root on võrdne null. Me tahame murda meie loop, ja me tahaks tagasi false. Nii et kui me välja murda loop, me tagasi false. Ja veel, kui loop oli täiuslik siin, sest me ei tea, kuidas suur meie puu. Oleme püüdnud kirjutada silmus, kuid me mõistsin sul välja selgitada, kuidas suur see on enne tähtaega. Jah. Publik: Kui see poleks binaarne search tree, see oleks tõeline matemaatika-y kirjutada see korduvalt, eks? Like, kui see oli puu, kuid mitte tingimata - nii ei olnud kõik väiksema vasakult ja kõik suuremad paremal. Oleks tõesti raske itereerima üle, eks? Meil oleks salvestada, mis oli varem on puus ja tagasi minna, ja värki. JASON Hirschhorn: Kui see ei olnud binaarne search tree, kui see oli lihtsalt puud ja asjad ei olnud järjestatud niimoodi - ja mõistsime varem kui Anna aitas meid, et muuta see Sorteeritud aitab meid palju - meil oleks vaja, jah, alati säästa kus me olime varem. Aga seal võib olla palju kus me olime previouslys. Seal võib olla palju vanem sõlmed. Tõenäoliselt parim viis seda teha oleks olema hoida surudes asju peale mõned tüüpi korstna või järjekorda. Sa ei pea kunagi kood Siin , sest see on raske probleem. Aga sa suruda asju peale virna või järjekorda ja siis pop need ära, ja siis neid hinnata. Ja siis on mõned asi, kus sa oled tegelikult paneb sõlmede ja seejärel luua seda, ja siis Otsige seda. See võib olla parim viis seda teha. OK, küsimusi selle probleemi? Publik: See on seotud märkus. Kas meil võrrelda run korda räsi lauad, binaarne Otsi puud, jne? JASON Hirschhorn: Arvatavasti. Teeme, mis tõesti kiiresti. Run aeg hash table - mida teised on? Kahendpuud? Publik: Link nimekirjad. JASON Hirschhorn: OK, teeme lisada. Mis on suur O sisestada on hash tabel? Millised on eeldused sa teed? Publik: Sa sisestamist juures alguses link nimekirja. JASON Hirschhorn: Ilmselt esimene Eelduseks on, ei ole kokkupõrkeid. Kui ei ole kokkupõrkeid, seejärel sisestamise ajal on üks. Kui on kokkupõrkeid, ja sa oled teeme eraldi ühendamine ja lisades alguses link loendis siis sisestamisel on ka pidev. Kui sa teed hash tabelis aga te on erinev meetod tegelevad koos kokkupõrked, mis on teistsugust meetodit? Mis on on teine ​​meetod tegelevad kokkupõrge, hash tabel? Publik: Linear programming. JASON Hirschhorn: Linear programming. Nii et me ei kavatse hoida otsin Järgmise avatud koht. See ei ole pidev sisestamise ajal. Sa oleks võinud läbi minna kogu tabel, nii et võiks olla suur O n. Jah. Publik: Muidu lihtsalt ühendamisel? JASON Hirschhorn: Me tegime eraldi ühendamine. See oli esimene. Seda link nimekirja. Väljamõeldud nimi on eraldi ühendamine. See võib olla mis tahes tüüpi loendi struktuuri me juhtumisi teha link nimekirja. Nii et taas, lisamiseks hash tabel võib olla pidev aega. Aga sisestamise edasi virnastaja järjekorda? Publik: Kas see ei ole konstantne? JASON Hirschhorn: See on pidevalt aega. Sa lihtsalt surudes seda. OK. Täiendus, mis olid teiste ones? On proovida? Mis on suur O lisamiseks proovida? Publik: pikkus on konstantne. Pikkus pikim - pikkus sõna sa sisestamist. JASON Hirschhorn: Vabandust? Oota, mida ma kuulen? Sa ütlesid, et - mida sa ütlesid? Milline oli teie vastus, Marcus? Publik: pikkus sõna sa sisestamist tähtedega, eeldades, et see on märk proovida. JASON Hirschhorn: OK, nii pikkus sõna. Me teha oletuse, et see on tähekombinatsiooni. Sa ütlesid, et midagi siiski. Sa ütlesid, et pikkus pikim sõna. Publik: See on lihtsalt konstant, eks? JASON Hirschhorn: Miks see on pidev? Publik: Meeldib, kui te kasutate suur O märke, siis see ei varieeruda on mitmeid asju, mida juba proovida. JASON Hirschhorn: Nii et me oleks öelda, et see on pidevalt aega. See on pidev sisestamisel ja see on, sest see idee - et meil on sõna, mis on 45, või sõna, mis on 60, mis on konstant. Ja see oleks lihtsalt sisestatud konstantse ajaga. Praktikas on aga see ei oleks, Ilmselt juhtub ühe millisekundi näiteks. Aga me ütleks suur O on konstantne proovida. Ja see on üks tema suuremaid eeliseid. Aga sisestamine link nimekirja? Just üldnimetuseks, sorteeritud link nimekirja? Jah. Publik: mul oli küsimus. On test, mis nad kunagi küsida meile sisestamise aja, mis on neli etappi, või midagi? Või on see lihtsalt - kui sa ütled sisestamise aeg on üks, see tähendab lihtsalt pidevalt aega? JASON Hirschhorn: Jah, nad oleksid alati küsida, kas see on suur O n? Big O log n? N ruuduline konstantne. Need on tõesti ainult need, mida vaja teada. Aga sisestamise peale sorteeritud link nimekirja? Publik: mul oli küsimus - küsimus - JASON Hirschhorn: Milline on vastus sellele küsimusele, kuigi? Publik: Oota, mida sa küsid? JASON Hirschhorn: Mis on suur O sisestamine sorteeritud link nimekirja? Publik: Üks? Ei, oota, Ei, oota, n. JASON Hirschhorn: N. Lisaks link nimekirja. Ja mis oli teie küsimuse? Publik: Nii sa kirjutada o k või O 1 - JASON Hirschhorn: Oh. Tahan kirjutada o 1, ilmselt. Seal oli üks muu andmete struktuuri et oleks olnud hea. Tree, Kahendotsingupuu. Mis on lisamiseks Kahendotsingupuu? Publik: sisse. JASON Hirschhorn: Niisiis, mis on halvim juhul Kahendotsingupuu? Nii et kui me juhtumisi algavad 5, ja iga arv on suurem kui 5, siis meil 5, 7, 9, 11, jne. Sel juhul see on põhimõtteliselt ainult link nimekirja ja me peame lisada kõik tee lõpus. Nii et see on suur O n. See võiks olla meie mustema edasi Kahendotsingupuu. Ilmselt sa ei oleks kunagi ehitada Kahendotsingupuu koos 5 keskel, teades 5 oleks madalaim number. Aga see võib olla, kui sa oled alustades nullist. Kõik küsimused selle kohta enne kui ma liikuda teisele küsimusele? See oli hea küsimus. Ma tean, suur O - Publik: Kuidas otsida need neli? JASON Hirschhorn: Kindlasti me Kas otsimine ja sorteerimine. Me tegime kõik need algoritmid, eks. Oota, oli see, et ette Quiz 1? Kas see oli kaetud - Kas teil juba on, et küsimus Quiz 1? Suur O runtime binaarne otsing, sisestamise sorteerida, mull sort? Publik: Jah. JASON Hirschhorn: Kui teil oli, et küsimus viktoriin 0 koefitsiendid sa ei saada täpselt sama küsimus Quiz 1. Võiks ikka hea teada need. Sa peaksid loodetavasti teavad gh juba. Aga teised logaritmiline runtimes Tõenäoliselt on hea teada. Asjad, mis ei ole kaetud Quiz 0. Nagu kõik need operaatorid need abstraktsed andmetüübid. OK, liigume edasi. See üks peaks olema päris kiire. Ja see on uus keel meil ei tegelikult kodeeritakse enne. See on küsimus, paludes koodi PHP. Nii leiavad PHP massiivi allpool. Kirjutada PHP ja / või HTML koodid selline, et seda väljundid kahe tabelina koos TF nimed ja maju. Sa pole seda varem, see konkreetne probleem. Aga see peaks olema väga tuttav mida tegite lahendamist 7. Nii et ma oleks valmis kihla teil on küsis koodi midagi PHP et on väga sarnane sellega, mida tegi lahendamist 7. Esiteks massiivi ei ole nii konkreetne. Mis tüüpi massiiv on? Publik: assotsiatiivne. JASON Hirschhorn: On assotsiatiivne massiiv. Ja mis on vahe assotsiatiivne massiiv ja eesmärk? Publik: objekt massiivi indeks täisarvud, ja assotsiatiivne massiiv on indeks string, või midagi sellist. JASON Hirschhorn: Nii massiivi objektide oleks indeksid täisarvud, kuid objekt on väljad. See on nende väljade nimed nagu Nime, maja, üliõpilane. Kas teil on idee? Publik: Noh, assotsiatiivne massiiv on PHP, eks? Ja objekt on JavaScript? JASON Hirschhorn: Ausalt, ei ole tõeline erinevus nende kahe vahel. Mõlemad on stringe nagu võtmeid ja saate on põhimõtteliselt midagi, sest nende väärtus. Erinevad keeled helistada üks asi assotsiatiivne massiiv, üks asi objekti. Nii ausalt, ei ole reaalne erinevus, kuid seal on kindlasti mõned süntaktiline erinevused vahel kaks. Jah. Publik: Nii on objekt ka kodeeritud vastavalt kapuuts kui hash tabel, siis? JASON Hirschhorn: Mida sa Tähendab, kodeeritud kapoti alla? Publik: Meile öeldi, et assotsiatiivne array oli tehniliselt hash tabelit. Seega on eesmärk ka tehniliselt hash tabel? JASON Hirschhorn: ma ei kavatse Sellele küsimusele vastamiseks. Ma saan tagasi teile, et. Aga ma ei usu, kas need niimoodi. Aga kuidagi, assotsiatiivne massiiv ja objekt, üldiselt, inimesed kasutavad neid tingimustel vaheldumisi. Sel juhul cool osa on saate kasutada klahve. Strings võtmed, mitte lihtsalt lihtne numbrid. Nii et ma olen rääkinud see mõnda aega. Loodetavasti mõned inimesed on saanud alustada seda. Me kirjutada mõned PHP ja HTML kood, nii et me saame kaks veergu tabel TF nimesid ja maju. OK, ma tahaks kaudu rida selles tabelis. Nii et ma lähen otse sellesse. Me läheme faili, uus, ja me läheme - OK. Kuidas alustada tabeli? Mis on silt, Michael, alustada tabeli? Publik: Table. JASON Hirschhorn: Tabel. Ja kui ma avan tag, mida muidu ma vajan? Publik: pea? Või ma arvan, klass. JASON Hirschhorn: Nii kahju. Oletame, et me oleme juba kirjutanud doctab, HTML, kõik see kraam. Aga kui ma avan selle tabeli tag, mida muidu ma pean kirjutama? jaoks kinnitatavad HTML? Publik: sulgeda. JASON Hirschhorn Sulgege tag. Kuidas kirjutada lähedal laua tag? Publik: Dot kärpida tabelis. JASON Hirschhorn: Slash tabeli suur. Tõenäoliselt on mõtet kirjutada nii need kokku, sest sa pead seda tegema. OK, kui ma tahan Päisrida, kuidas teha Ma kirjutan Päisrida tiitlitega? Publik: Kas see on vähem kui 10 tundi kinni - TR, jah. JASON Hirschhorn: TR? Publik: Siis sama asi, slash, jah. JASON Hirschhorn: OK, ja Anna mulle kaks veergu. Publik: T D? JASON Hirschhorn: OK. Ma tahan kahte veergu. Kas see annab mulle kaks veergu? Mitu veergu on? One. Teeme kopeeri ja kleebi see. Seega tegelikult on viktoriin, kõik see kood et me oleme kirjutanud seni oli tegelikult antud teile. Aga siis tuleb ilmselt veel tea, kuidas seda kirjutada. Jah. Publik: Teie maja vahemikus kaks. JASON Hirschhorn: Boom. See peaks minema sinna, eks? Hea kõne. Nii et taas, kõik see kood on tegelikult antakse teile tegelik viktoriin. Aga see on lõbus seda kirjutada, ja sa peaksid teadma, kuidas seda kirjutada. Nii et see on koht, kus sa pead alustada oma kood. Mida me vajame, et kirjutada siin? Vabandust, mul on vaja muuta Selle faili nimi. Nii et me salvestada see. HTML-faili, mitte. PHP faili. Need asjad ei tähenda midagi aastal. PHP faili. Nii et me oleme. HTML faili. Mis on esimene asi, Mul on vaja kirjutada? Ma tahan, et mõned PHP koodi HTML. Publik: PHP, nagu teise porgand ja küsimärk PHP, eks? JASON Hirschhorn: Suur. Ja kuidas ma lõpuks on? Publik: küsimärgiga. JASON Hirschhorn: See on tore. See on esimene asi, mida ma vajan, kui ma tahan panna mõned PHP koodi siin. Publik: Ma arvasin. PHP fail võib võtta HTML. JASON Hirschhorn: Jah. . PHP fail võib võtta HTML ja kuvada. See oli minu viga. Ma üritasin lihtsalt matkivad Mis see oli viktoriin. OK, sorry, et sind segadusse ajada. Jah, practice.HTML. Nüüd me ei kavatse panna mõned PHP kood sisse Mis on esimene rida PHP koodi ma peaksin kirjutama? Ma lähen läbi selle massiivi ja teha see tabel. Jah. Publik: Võite kasutada H loop või silmus. JASON Hirschhorn: OK, mis sa tahad kasutada? Publik: tahaksin kasutada silmus. Sest siis sa dollari märk i on 0 semikoolon dollar allkirjastama i alla 2. Ja siis semikoolon i dollar allkirjastama i pluss pluss. JASON Hirschhorn: Kuidas teha tead kasutada 2? Publik: Kuna tegemist on kahe assotsiatiivne massiivid jooksul suurem assotsiatiivne massiiv. JASON Hirschhorn: Nii suur asi on ei sidusettevõtte massiivi. Suur asi on lihtsalt tavaline massiiv. Aga sul on õigus, on kaks assotsiatiivne massiivid sees meie suurem massiiv. Sellepärast sa kasutada kaks. Ma tunnen ebamugav, eeldades, et nad 2, Mis on viis kirjutada see eeldamata, et nad on 2? Publik: [kuuldamatu]? JASON Hirschhorn: OK, kuidas sa kirjutasid? Publik: foreach dollari märk TFS või nagu dollari märk tf. JASON Hirschhorn: OK, nii et iga TFS nagu TFS tahan nüüd jälle mu lauale. Seega, kes saab anda mulle Järgmine rida koodi? Publik: Print ja seejärel tsitaadid, sulg tr lõpuni klambri end tsiteerida. End sulgudes semikooloniga. JASON Hirschhorn: OK, ja mida see tegema hakkad? Publik: See saab öelda uue rea. See saab panna Tag uus rida. JASON Hirschhorn: Just, see PHP, nagu me rääkisime varem - see PHP saab hinnata, ja seejärel see läheb välja printida, et seda pilti tabel takud, ning teiseks, et HTML hinnatakse. Me lihtsalt kopeerides HTML oli meil siin. Jah. Publik: [kuuldamatu]? JASON Hirschhorn: Vabandust? See on siinsamas. Fall 2012. Ära vaata vastuseid Lahendame selle kokku. Nii me printida tabeli rida. Nii et sa oled ilmselt kiik asju. Mis on järgmine rida kood peame kirjutama? Assam, anna järgmine rida koodi. Publik: Sa pead tf nimi. TF avatud sulgudes jutumärk nimi suletud sulgudes. JASON Hirschhorn: Anna mulle oma nimi. Publik: Sa pead trükkima. [Astudes VOICES] JASON Hirschhorn: OK, kuidas ma seda trükkida? [Astudes VOICES] JASON Hirschhorn: ma olen kadunud midagi nüüd. Mida ma kadunud? Publik: Sa pead dollari märk. JASON Hirschhorn: Mis muidu ma kadunud? Kõik me oleme trükitud seni on tr. Publik: Sulgege tr pärast seda. JASON Hirschhorn: Seega on meil vaja sulgeda tr pärast. Kes näeb, mis meil puuduvad on line 16? Jah, Anna. Publik: Sa pead avama td ja lokkis traksid. JASON Hirschhorn: Ja kus Kas paneme lokkis traksid? Publik: Around tf nimi. JASON Hirschhorn: Asjalik? Publik: Jah. Ja sulgege td. JASON Hirschhorn: Niimoodi? Publik: Kas teil on vaja topeltjutumärgid kaubamärkide kõrval lokkis traksid? JASON Hirschhorn: Right here? Ei, sa ei tee seda. Nii see on täpselt õige. Jah. Publik: Nii vahe, mis ja encatenating täppidega on, kui kasutate dots, siis pean olema jutumärkidega siis dot, siis dot - JASON Hirschhorn: Õige. Nii et sa tahad öelda, seal on ülim viis kirjalikult seda niimoodi. Mida konkatenatsioonioperaator JavaScript? Publik: plussmärgiga. Sa unustasid panna lokkis traksidega tagasi. JASON Hirschhorn: Suur. Ja seal on veel üks rida Koodi puudu. Kes saab mulle viimane rida Koodi meil puuduvad? Publik: Just täpselt sama asi, ainult koos maja asemel nimi. Suur JASON Hirschhorn: Suur. Ja oma süntaks on täpselt õige asju sidusettevõttesse massiivi. Nii et tegelik test, siis on tegelikult antud kuni siin. Nii et see kood on antud teile. Kõik, mida pidin kirjutama olid need nelja ja pidage meeles, et sulgege tabel tag. Te tegelikult ei kõik see ja palju muud. Jah. Publik: Seega oleks funktsionaalselt samas kui sa lihtsalt pidin selle kõik üks suur print kõne, eks? Ja siis lihtsalt märge on see on, jne? JASON Hirschhorn: Niimoodi? Publik: Jah. See lihtsalt ei ole hea, kui sa olid Vaadates seda, kui sa oled kontrollimise element oma veebilehel, eks? JASON Hirschhorn: Nõustun. Kui ma laaditud kodulehel, ma siis oleks võimalik näha seda PHP kood, kunagi? Publik: Ei. JASON Hirschhorn: Ei Ja tegelikult, ma ei teeks seda. Publik: See ei ole HTML, eks? Nii et sa võiksid - JASON Hirschhorn: Nii et see PHP oleks hinnatakse serveripoolne. PHP on alati hinnanud serveripoolne, nii sa oled kunagi näha PHP koodi. Publik: Kuid see oleks võimalik vaata tulemus väljatrükke. JASON Hirschhorn: Õigus. Ja ausalt, ei pruugi pane see kõik real. See võib vormindada kenasti sinu jaoks, või see võib panna ühele reale. Ebaselge. Aga jah, hea punkt. Publik: Miks seal pole teksti esiletõstmine ükskõik PHP käske? Kuna ma nägin seda. JASON Hirschhorn: Sest see on . HTML faili siia üles ülaosas. Seal sa lähed. Publik: Kui me tegime esialgse meetod koos jaoks silmuseid, parem, kui me tahtis pääseda TFS, oleks meil teha TFS sulg 0 sulg, siis [Kuuldamatu]? JASON Hirschhorn: Sa ei teeks - Sa tahad öelda, et loop, siis teeks dollari märk TFS sulg 1 või i, eks. Või dollari märk i sulg ja siis nurksulg jutumärgid, jah. OK, väga hea. Meil on veel üks kiire üks. Seitse minutit, nii et ma tahan minna üle selle. See on teine ​​näide. Oleme nüüd täiesti teist keelt. Meil on mõned HTML-koodi. See on selline väike ekraanil, kuid Ma tahan, et sa vaatad läbi see tõesti kiiresti ja saab keegi mulle öelda, kui ma laadige see veebileht, Mida ma näen? Kirjelda kõike Selle veebilehe. Noah? Mida ma näen? Publik: Code on esiots Google'i tunne teksti ja submit nuppu. JASON Hirschhorn: Ja mis oleks nupp öelda? Publik: Edasta. Oh, otsing. Vabandust. JASON Hirschhorn: See ütleksin otsing. Pea meeles, et nimi. Mida me kasutame nime? See nimi atribuut, mis on et kasutatakse? [Astudes VOICES] Publik: See on tema nimi eest, kui see on klõpsatud? JASON Hirschhorn: See võiks olla. Aga mida me tavaliselt näha - miks me anda selle nime järjekorda? Miks me seda? Jah. Publik: Kas see ei saanud indeks super globaalne muutuja? JASON Hirschhorn: Jah, enamasti see vorm oleks esitama, ja siis, kui oleks see esitada? Mis lehekülg? Noah, mida leht peaks see alluma? Publik: Ma ei ole kindel. JASON Hirschhorn: Kus kas me ei leia seda? Kust leida see, mida Lehekülg esitatavate? Mida koodirida? Publik: Form action. JASON Hirschhorn: Täpselt. Action. Nii väidab ta, et otsingu lehele. Längkriipsu otsing. Nii see on täpselt õige. Mis meetod? Publik: Saa. JASON Hirschhorn: saada. Täpselt. Nii et me lugeda. See saab olema kujul. Sa oled täpselt õige. Kaks asja vormi, tiitli lehele ja top oleks Google. Nii et siin on kaks küsimust siis suutma vastata selle lehe kohta. Kui HTML elab sellel veebilehel ja kasutaja sisestab bug sellesse teksti valdkonnas siinsamas, mida URL kasutaja leida enda peale esitamise vormi? Nii et meil on see siin. Ma lähen, et minna tagasi Selle lehe küll. Ma kirjutan üles see esimene osa. Kas kõik võivad näha siin? OK, Mario, sa arvad, et tead? Mis lehekülg? Publik: Längkriipsu otsing. JASON Hirschhorn: ma lähen liikuda siin. OK, kurakriips otsing küsimus märk q võrdub viga. Igaüks on erinev soovitus? Jah. Niisiis, kuidas me saame seda? Noh, me oleme seda varem näinud. Ja sa tulid seda varem. Sul oli õigus, Noah, et hagi räägib meile, mida Lehekülg me läheme. Me teame ka seda, millist meetodit. Me teeme get. Ja vahest get ja post on see, et saad kuvatakse URL ja post ei ole. Nii et kui ma kirjutasin post sealsamas meetod, mis oleks teistsugune? Publik: See oleks lihtsalt olema kaldkriips otsing. JASON Hirschhorn: Oleks lihtsalt tuleb kärpida otsing. Miski siin juhtuks. Aga kuna see on saada, URL kuvatakse järgmine. Esiteks näeme küsimärk ja näeme nimi ja väärtus. Ütle, seal oli veel üks tekstiväli ja Andsin selle nimi r ja ma sisend väärtus, Caterpillar. Mida see nüüd välja näeb? Mul on veel üks tekstiväli, annan nimi r ja väärtust röövik. Publik: Pärast baar on teil ampersand röövik. JASON Hirschhorn: See on ei ampersand. Publik: Või lihtsalt mida iganes ja sümbol. JASON Hirschhorn: Jah, ei. Sul oli õigus, ma eksisin. See on nagu g. Publik: Caterpillar. r võrdub röövik, sorry. JASON Hirschhorn: Kas ei r seal? Publik: Ei, ei. JASON Hirschhorn: Me räägime umbes, et peale tunde. See on täpselt õige. Nii ja on õige. Ja siis võiks olla palju neid, ja nad kõik olema märge on koos, et ja. Nii see on täpselt õige. Seal on veel üks küsimus. Joonistage see HTML DOM, alustades koos dokumendiga. Me võiksime seda teha kahe minuti. Me teeme seda siin. Ma lähen tagasi selle veebilehe. OK, hakkame koos dokumendiga. Mis edasi? Nii et kui sa loed läbi - Publik: HTML. JASON Hirschhorn: HTML on järgmine. Me läheme tag tag. Mis on pärast HTML? Publik: Head. JASON Hirschhorn: Head. Mis pärast pea? Publik: Pealkiri. JASON Hirschhorn: Pealkiri. Ja pealkiri on väärtus Google, aga ma ei kavatse kirjutada, et nüüd. OK, kui ei keha minna? Publik: Ka maha tulemata HTML. JASON Hirschhorn: Täpselt. Keha tuleb maha siin. Kas igaüks aru, miks see on nii? Sa peaksid ilmselt olema võimalik aru seda ka välja, isegi kui ma ei ole see kena taandus. Taandus omamoodi annab selle ära, aga näete, et pea tag on suletud, mis tähendab, et me ilmselt ei saa minna siia alla. Me peame minema tagasi kuni iganes oli vahetult enne pea tag, või alla seda. Oleme isegi pea tag. Ja all keha läheb vorm. Vastavalt vorm, on kaks sisendit. OK. See on kõik, mis mul on. Quiz 1 on homme. Ma olen nii põnevil, kutid. See saab olema lööklaine. Kui teil on - Publik: [APLAUS] JASON Hirschhorn: Oh stop, stop. Aga ei, ma teen nalja. Kui teil on küsimusi, õigus Pärast punkti, ma ootan väljas. Kui teil on küsimusi täna julgelt helistada, meili gchat, kyyhkynen mind. Õnn homme. Kas suurepärane Thanksgiving break, kui ma ei näe sind enne seda. Ja ma näen sind pärast Thanksgiving Teisipäeval meie lõplik lõik pool kunagi. Publik: [kuuldamatu]. JASON Hirschhorn: Suur. OK, ma näen, et te järgmine nädala või kahe nädala järel. Ja õnne homme.