JASON Hirschhorna: Dobrodošli, vsakdo, na 10. tednu. To je razburljiv teden, ker Jutri je Quiz 1, ki ga bomo dobili v sekundi. Danes je v oddelku, smo šli več kot nekaj virov za kviz, in potem bom odgovoriti na vse in vse Vprašanja vidva imela. In bomo na koncu konča z nekateri problemi prakse. Mi lahko porabili celotno poglavje odgovarjanjem na vprašanja. Mi lahko porabili celotno poglavje bo nad težavami prakse. Mi bomo samo razširiti, da izpolnite prostor in čas, ki ga imamo. Zato sem dal ta seznam se vsak teden, vendar to je še posebej pomembno v tem tednu. Za študij, če tega še niste začel že, oh fant. Vendar upam, da ste začeli že. In ste šli skozi materialov in sredstva, ki so tukaj naštete. Jaz bi zelo priporočam Število teh. Še posebej, zapiski so izjemno pomembno in koristno. Study.cs50.net zagotavlja super premaz na veliko teme smo pokrili. Prav tako je bil odlični vaditi težave. In potem, Google je veliko, preveč. Ne vem, kaj boš jo uporabite za. Vendar pa uporabljajo Google, kot dobro. Stik z mano, če imate Vprašanja, komentarje, ali skrbi. Poglejte seji pregledu diapozitivi od sinoči. Ali pa, če imate nekaj časa, gledati video. Nudijo veliko pomoč Gradivo in informacije. In poskusite in kritje, če ne vseh, veliko teme smo pokriti in da vam lahko vidite na kvizu. Ko že govorimo o kvizu, ki bo jutri. To je 75 minut dolgo. Mnogi od vas so ga ob 1. ura, in nekateri od vas ga jemljete ob 5:30. Za čas, ki ste ga sprejemajo in mesto ste ga jemljete, poskrbite, da si oglejte dokument na CS50.net strani. Ne pozabite, da lahko dobiš eno 8 1/2 11 lista vzeti s seboj. Pogosto ljudje ne uporabljajo te stanja sploh v kvizu. Ampak res, to je neverjetno koristno študijo orodje. Torej, kar skupaj da list je tisto, kar Verjetno sem preživel tri ali štiri ure počeli, ko sem študiral na CS50, in da je lahko najbolj koristen Tako sem lahko študija za kviz. Torej, tudi če imate nekaj drugih ljudi učna gradiva na pogled in uporabiti kot reference, sem močno priporočamo izdelavo lastne študija vodnik, dajanje te stvari skupaj. To res vam pomaga izvedeti vse gradivo. Nenazadnje v tem poglavju, jutri kvizu potem obstaja ena Več predavanje - naslednji ponedeljek. Še ena oddelek, ni Naslednja Torek pred zahvalni dan, vendar Torek po tem. Mi se bomo sestali skupaj za končno poslovilno zabavo in tudi delaš nekaj kul Stvari, da se vidva navdušen nadaljnji študij računalništva. Še ena je projekt, eden več sejem, ena bolj hackathon. Mi smo se bliža koncu CS50, kar je zanimivo - ampak tudi, če ste kot jaz malo žalostna. Preden grem naprej, ali ima kdo vsa vprašanja o tem, kaj do sedaj smo pokriti? OK, pa pojdimo čez nekaj vprašanj v da imate za kviz in teme bomo morda pokrivajo. Torej, to je seznam, ki sem dal skupaj. To nikakor ni popoln, vendar upajmo, da bo jog spomin, če vam še nekaj vprašanj o kateri koli od teh teme, ali če imate vprašanja o praksi težave s kvizi v preteklih letih. Imel sem nekaj vprašanj, ki so bila po e-pošti z mano, ampak želim, da imajo off na tiste, za sekundo. Ima kdo kakšno vprašanje, težave, ki jih niso razumeli, odgovori niso razumeli da se nam je začel? Avi. PUBLIKA: Lahko greš čez DOM in Ajax res hitro? Všeč mi je, kaj moramo vedeti, ali bi morala razumeti, o njih? JASON Hirschhorna: bom odgovoriti običajno je to vprašanje, kaj moram morate vedeti o določeni temi x? Ker imam občutek, da mnogi od vas se dogaja, da me prosi, da, ali so radovedni, da. Torej, če je tema zajete v predavanju, ali oddelek, ali na study.cs50.net, problem nastavljeno, morajo biti seznanjeni z njo. Torej vam ni treba vedeti vsak tip tag, ki je na voljo v HTML ali vsak tip atributa ali premoženja lahko daš nekaj v CSS. Ampak, če ste ga videli v primeru predavanj, če ga videl v problemu set, morate verjetno seznanjeni z njo, še posebej stvari ste videli V predavanju. Tako smo obravnavali dokument Object Model malo v oddelek, toliko bolj v predavanju. Moral bi biti seznanjeni s tem veliko od tega. In bi morali biti seznanjeni z Ajax v enakem obsegu. Ne bomo nikoli videli neverjetno napredna ali zapletene primere Ajax, tako vam ne bo treba storiti vprašal Nekaj ​​neverjetno zapleteno. Vendar vas bo morda vprašal, kako sem narediti Ajax klic z uporabo jQuery? , Ki je nekaj, kar sem videl številko krat prej, tako v pregleda sejo in v predavanju, in to je le dve-ish vrstic kode. Tako da je nekaj, kar bi morali poznati. Ampak še enkrat, za vse te teme, Če ste ga videli preden je poštena igra. In morda vas vprašam - očitno je, da smo bom prosil si, da stvari ni videl. Kodiranje nekaj, kar še niste videl. Kar ne pomeni, da niso Videli orodja za reševanje da je problem prej. Videli ste, teh orodij. Na primer, na kviz 1, če potrebujete kodo strlen. Nismo kodiran strlen prej. Ampak veste, kako uporabljati za zanke, veš, kako uporabljati, če pogoji. Saj veste, kako napisati spremenljivk v C. To se dogaja, da je ista stvar tukaj. Ne boš šel, da bi morali storiti kaj niste videli prej, vendar vas bo morda prosil, da, recimo, dal nekaj skupaj na nov način, ali rešili drugo vrsto problema. Žal mi je, da ni bil specifičen za vašo vprašanje, vendar ne morem odgovoriti na približno vsak topic, kaj stori ali ne vedeti. Ampak tudi, žal, zadnja stvar na tem. Smo porabili precej več časa na seznamih zvez, kot jih imamo na Ajax. Niste uporabili Ajax na problem nizu. Ena od osrednjih značilnosti, ki Problem je določeno, da je bil seznami povezav. In smo preživeli veliko časa v predavanju in poglavje njegovo uporabo. Torej, odds so seznam povezava bo prišel do več pogosto na kvizu kot Ajax volje. Ali vprašanja, ki imajo opraviti z povezavo Seznam bo vredno več točk. Torej lahko zagotovo ostrenje in ozek v o stvareh, ki so bolj verjetno, da pridejo gor, ker imamo preživel več časa na njih. OK katera koli druga vprašanja? Ja. PUBLIKA: Lahko gremo nad uporabo anonimne funkcije v Javascript? Jaz sem se malo zmedeni o tem. JASON Hirschhorna: Torej v JavaScript - Skušam misliti, kako sem to bi lahko napisali na - tako da je dejansko odprla to kodo. Torej je ta oznaka, da smo prejšnji teden. In ste videli to prej, če so bili tu v oddelku prejšnji teden. Ali ste videli nekaj podobna prej. Ampak si lahko ogledate na tej prvi vrstici. To je, kako ste začeli - vsi so to prej videl. Če želite dati nekaj JavaScript kode, ste jo dali notri to, ob predpostavki, ste z uporabo JQuery. To je rekel, ne naredi ničesar dokler tega pisanja, obremenjeno. In potem, Curt, si oglejte tukaj delamo nekaj takega - Funkcija odprta paren, zaprta paren. Torej ne dajemo to delovati ime. Ne bomo opredeliti to funkcijo naj bi teči in potem call it kup krat. Mi pravijo samo ta dokument že traja funkcija. Nekaj ​​stvari za početi. In ne želimo preživeti čas ji daje ime ali pa ga shranite za Večnost. Pravkar smo želeli teči nekaj stvari. Torej anonimna funkcija neke v služi v ta namen. Ko ne boste uporabljali nekaj znova in znova, tako da vam ni treba da bi to ime - si želeli uporabiti enkrat - bi samo rekel funkcijo, za Na primer, v tem primeru, in ste pravkar opredeljevanju nekaj, lahko daš ime. Tako kot bi lahko potegnemo to funkcijo ven in ji dati ime, nato pa poklical, da deluje tukaj. Ampak mi ni treba, ker ne bomo želite izgubljati časa mu daje ime ali zapravljaš nekaj v našem imenu prostoru. In videli boste, da je veliko. Na primer, vidimo, da je veliko na tem kodo, ampak si videl to prej, ko kliknete nekaj - teči to vrsto kode. Mi lahko določite kodo, ki jo želimo teči, ko kliknemo, v tem primeru, Ta ID, kot ločeno funkcijo in nato zaženite funkcijo. Toda v tem primeru smo šele preskoči ta korak in se gibljejo v tukaj in samo za definiranje vse da želimo, da se zgodi in ni ji daje ime. To še vedno ne bi imeli odgovoril na vaše vprašanje. PUBLIKA: Ne, ne. Mislim, mislim, da sem v resnici ne razumem, zakaj bi bilo deluje na vseh, čeprav. Saj ni res pa je klical. To sploh nima imena. JASON Hirschhorna: To je funkcija v Občutek, da je niz korakov, kot da bi si dal v funkciji. In potem je to zato pravimo anonimne funkcije. Mi ne boste dali ime. Mi ne gremo z odpadki poskuša da je ime, vendar smo lahko. Anonimne funkcije, ki jih Vedno lahko dajo ime. Tako na primer, to kodo tukaj, lahko bi dal to kodo v Funkcija in nato klic ta funkcija tukaj. Namesto tega smo rekli, da ne gremo ukvarjati s tem. Mi smo šele tekoč, da napišete Je vse v redu tukaj. To je tako kot včasih, ko pišete štiri zanke v C - vi Videl prej - morda ste ponavljanjem skozi forloop na i je enak 0. I je manj kot strlen. Ali greš skozi nekaj matrika, ki jih lahko shranite niz Indeks i v neki spremenljivki. In uporabljate to spremenljivko. Torej vam ni treba na novo paleto Nosilec i znova in znova in znova. In to je nekako kot slamnata spremenljivka. To ne služi več namenu, razen da bi vaša koda malo čistejši in lažje brati. Podobno funkcijo tukaj. Samo naredi to nekoliko lažje, vendar funkcionalno ni nobene razlike. Ne da odgovoriti na vaše vprašanje? PUBLIKA: Da. JASON Hirschhorna: OK .. Mario? PUBLIKA: Včeraj so pogosto dal Funkcija oklepaju dogodek. Ali to kaj pomeni? Ali pa je to za stvari, kot so da bodo to document.ready funkcijo dogodek. JASON Hirschhorna: Videli smo to, in še enkrat, to so manjše stvari, ki jih Verjetno ne želim, da preživijo preveč časa na. Ker včasih ne želim ljudi se ustrašil, da imajo ne slišali o teh stvareh, da je veliko. Vendar smo se pogovarjali malo o rutine za obravnavo dogodkov. Torej, kaj se zgodi, nato pa ta funkcija se izvede. In potem smo prav tako želeli vedeti nekatere podrobnosti o tem, kaj se je zgodilo v tem primeru. Torej, pomislite na problem nastaviti 4. To je verjetno najlažji način, da Razumem, da v premoru ven. Bilo je nekaj kode - kot dogodek se bo zgodilo, vendar Dogodek lahko pomeni marsikaj. Če bi lahko pomenilo, se z miško kliknil, da lahko pomeni, da ste zadeti s puščico, et cetera, et cetera. Ampak to je vse shranjeno v to generično stvar imenovano dogodkov. In potem lahko rečemo, je, Ta dogodek je ta stvar? Ali je ta dogodek je ta stvar? Ali pa, kakšna je zgodilo s tem dogodkom? Tako da je, zakaj ste ustvarili to spremenljivko tam za shranjevanje dodatnih informacij o tem, kaj točno se je zgodilo, da boste želeli uporabiti v funkciji. Ampak spet, to je verjetno eden od manj pomembne stvari, da so lahko super pozna. OK, katera druga vprašanja so ljudje imeli, ali spotike blokov so jih naletela pri pregledu? Bomo nazaj na ta seznam. Kaj pa v praksi kvizi, če ljudje so se tisti, ki že? Kakšni so bili nekateri problemi, ki Spotaknil si fante? Vem, da za to, da lansko Kviz je bilo res težko. PUBLIKA: Ali lahko pojasnite, kaj SQL injection napad je? JASON Hirschhorna: OK, super. Tako smo se pogovarjali o tem malo. Tam je predavanje o varnosti. In še enkrat, kot sem že prej omenil, to je stran. Vendar vas bo uničen na kvizu ko boste prebrali nekaj malega dve točki vprašanje, in si kot, ko sem kdaj izvedeli, da? Vse te stvari v teh predavanj da nisi mislim, da je potrebno, da veš, ali pa bi zatajili, ker niso imeli opraviti s Problem je, se bo tisti, ki utegnejo pridejo spet na kvizu. Torej, super, zabavna stvari, ki ste ga pravkar Mislil David je govoril za vas, da uživajo, je bil povedal, za vas, da uživajo in da bi si bilo super navdušeni nad učenjem vse je, da se naučijo o računalništvu. Te stvari tudi prišel na kvizih. Torej, tudi te male stvari, ki niso neposredno povezani z vašo težavo določiti, saj so fantje poznajo iz Kviz 0, bo verjetno prišel. In to je dober primer nečesa. Torej SQL injection napadi, ko boste dobili nekaj informacij s strani uporabnika in jo želite vstaviti v tabelo z uporabo SQL vložek izjavo, vendar pa ni razkužila vložek pred časom. Torej, očitno smo videli SQL izjave. Bom odprla - pojdimo - bova šla na pregled - Mislim, ki ga zajema? Mislim, da Samala storil. Tako da bomo lahko dobili - PUBLIKA: Kje ste to našli? JASON Hirschhorna: Torej, če greš na CS50.net, kvizi, in potem lahko pomaknite čez, in dobili diapozitive s seje pregledu. Vendar pa lahko vidite, da je to dober primer za injiciranje napad SQL. Vzamemo nekaj podatkov od uporabnika in so nam niz, nato pa smo želite vstaviti ta niz v bazo podatkov. Na splošno se bomo, da razkužila, ki vhod, kar pomeni, da so nekateri znaki, da so nevarni. Na primer, v SQL nize, ti citati - enojni narekovaji ali dvojne narekovaje - nekaj pomeni. Pomenijo konec tega niza tukaj. In tako, če uporabnik vam single ali dvojni narekovaj, da bi lahko bili poskuša potovanje svoj SQL poizvedbo in vstavite slabe stvari v njem. In če bi to storili, bi lahko pridobili nadzor nad vašo zbirko podatkov ali pa nekaj stvari, ki jih ne želite, da storijo. Tako da je, zakaj, ko smo vzeli SQL poizvedbe, sva razkužila vhod pred ga je dala v bazo podatkov, ki pomeni, da se izognejo te znake. O tem bomo govorili, da je v sekundi. Ampak skrajšam zgodbo, SQL injection napad je, če ne boste storili, da - če ne boste poskrbeli za vhod so ti ga dal, preden si Baza podatkov, ki jih lahko, kot vidite navzdol tukaj, zaženite poizvedbo, da v resnici - dajo v svoj kodeks dol in Ta izberite linijo dol, bo izbrala vse, kar je iz tabele glede česa je podan geslo. Ker imate ali 1 enaka 1. Torej, to je v bistvu, skrajšam zgodbo, način, da prevzame baze podatkov. Vprašanje je torej za vas, je kjer je v p sklopov 7 si razkužila vse vložki za vaše SQL poizvedb? Od kod ta korak zgodilo? Kje boste preprečili SQL injection napadi dogaja v p nastavite 7? Ja. PUBLIKA: Zakladnica? JASON Hirschhorna: Torej ni grobnici. Nismo se boste to naredili za to Poseben problem je določeno, vendar se to zgodi v funkciji poizvedbe. Mi dejansko napisal za vas, in smo skrbeli za sanirajo vhode za vas. Toda v preteklih letih, so dijaki imeli da tip vhodi na svoje. V p set 7, Veliko vas - Naj odprejo še eno datoteko. Tako boste opazili, tu veliko ljudje, v določenem problemu 7, ni poklical ta funkcija na strune. Ta funkcija, htmlspecialchars, spet - Ta niz bi lahko nekatere stvari da v HTML pomeni nekaj drugega. Kot opornico, kvadrata, ali kotom Nosilec nekaj pomeni v HTML. In tako, če tiskate da ven zaslon ali če si vzel in tiskanje, ki na vaše HTML, da bi narediti nekaj, kar ne pričakujejo. Torej htmlspecialchars gre čez vse tiste, liki, ki imajo posebne srečanja in jim pobegne. Tako postane natisne kot besedilo Želite videti, kot zasrala HTML. Poklicali smo to funkcijo v glavi. In veliko ljudi pozabil klic te funkcije v kodo, ki ste jo napisali. Tako, na primer, je bilo, če ime slike Kot nosilec v njem in si pozabil , da pokličete to funkcijo, da kot Nosilec bi lahko vržemo, kaj vaš HTML izgledala. Vendar bo kliče to funkcijo pobegniti da zato dejansko natisne kot Kot nosilec in ne mečite off kode HTML. Isti razlog, da smo videli, včasih, poševnice pred narekovajev v printf črta, ker ne želimo, narekovajih navzdol niz. Jih želimo natisniti ven na zaslon. Torej, vse to je enako zamisel. Ne da odgovoriti na vaše vprašanje? PUBLIKA: Nekako. JASON Hirschhorna: Ali vam imajo spremljanje? PUBLIKA: Mislim, da je SQL injection napad ima opraviti s tem? Ne razumem, kako dva sta povezani. Zakaj bi to storil v specialchars? JASON Hirschhorna: OK, torej SQL injekcija napad je, ko ste injicirali nekateri zlonamerni godala v nekdo Program, in vzami in vodijo SQL poizvedba z vrvico si jih dal. Kot lahko vidite tukaj, da lahko problematično. Torej način boste preprečili, da je proti vzamete svoj niz, ki dajejo ti - tako da je ta niz tukaj - in jo razkužila. Pobegniti vse stvari, ki so potencialno problematične. Torej jih ne razlagajo kot nekaj , ki nekaj pomeni. In primer, ki z HTML je ta funkcija. Torej, to je isto idejo tukaj. In sem bil samo kaže ti drugi Primeri, ko ste Pred videli to idejo. Pobegnila vnos uporabnika pred tiskanjem ven na zaslonu, ali ga je dala znotraj SQL izjavo. PUBLIKA: Torej, v tem primeru uporabnik se zajebavam z programer. JASON Hirschhorna: Da. Z vsemi temi varnostnimi napadi, , ki je vedno na splošno uporabnik, ali nekdo, ki se trudijo, da nered z vami, programer. In to so načini, ki jih lahko preprečitev pred njimi. PUBLIKA: Torej, imam vprašanje o zgostitvene funkcije. V kvizu 1 od leta 2011, obstajata dve Vprašanja o enostranskih haše. In sem bil šele začuden kaj je to pomenilo. JASON Hirschhorna: OK, kateri kviz? 2011? OBČINSTVO: Ja. PUBLIKA: Quiz 1? PUBLIKA: [neslišno]. To je kot razprševanja gesla. To ni dajanje stvari - JASON Hirschhorna: Katera stran je to? PUBLIKA: Mislim, da je 9 ali 10, ali oboje. JASON Hirschhorna redu, pojdi naprej, Curt. Lahko odgovorite, medtem ko gledamo. PUBLIKA: Mislim, da je govoril o razprševanja gesla. Všeč mi je, ko nekdo vstopi v geslo, jo vključite v šifrirani stvar. To je hash geslo, ki je razlikuje od funkcije razpršitve, ki postavlja nekaj v hash tabelo. JASON Hirschhorna: Pa poglejmo. Dovolite mi, da potegnite navzgor, kar so dati kot odgovor. In potem bomo sprehod skozi to. Torej Curt je velik zgled z enosmerno hash. Ko smo videli že prej, smo sprejme geslo in nato - ne pozabite, v p set 7, bi lahko nekdo imajo geslo, ki je pravkar geslo potem pa postane zakodirana v nekateri res dolgo stvar. Enosmerni hash pomeni, da je zelo enostavno iti iz ene način za drugo, vendar to je zelo težko iti iz drugi poti nazaj. In tako da boste vedeli, ko ste bili preverjanje Gesla ljudi na problem nastavite 7, bi si vzamejo - Tako, na primer, pravijo, da je želel spremeniti svoje geslo, ga prosite, za svoje staro geslo. Vzel si svojo staro geslo. Je šifriran ste. In potem primerjali dve encryptions namesto unencrypting izvirnik ena, ker je to res težko iti v to smer. Ja. PUBLIKA: Kako v globino pa naše razumevanje telnet morali biti? JASON Hirschhorna: Če je bilo omenjeno kratko predavanje, le kratek razumevanje. Spet nazaj na odgovor na vprašanje, AVI je - več stvari pridejo gor, bolj verjetno se boste morali biti super seznanjeni z njimi. Če ste prišli šele v predavanju, to je samo eno mesto. Ampak, če pridejo v predavanju, oddelek, in problem določiti, potem verjetno, da bo super seznanjeni z njimi. Torej sem imel vprašanje iz prej pa - se pravi je bila jesen 2010 - Quiz 1, dajmo potegnite navzgor - to vprašanje na kupih in čakalnih vrst, ki smo porabili kar precej časa govoriš v predavanju, čeprav čeprav nismo zares kdaj udaril v oddelku. Torej to vprašanje vam daje niz ukazov in vas vprašam, kaj dobi natisnjeno v tem primeru. Torej je to povsem smiselno vprašanje , da bi se lahko vprašal tebe fantje, nato pa fantje bi morali mogli odgovoriti. Torej, zakaj ne gledaš na to, za 30. sekund, nato pa, če kdo želi predlagajo odgovore na mene, in potem bomo sprehod skozi to. V redu, kdo ima odgovor na vprašanje 27? Ja. PUBLIKA: Je 1, 2, 3, 3? JASON Hirschhorna: To je res. 27 je 1, 2, 3, 3. Zato si oglejmo, kako smo prišli, da. Prvič, pravimo, če je s čakalne vrste, kar dobi natisnjeno? Torej, q je prvi noter, prvi ven. Videli smo pred tem. Smo videli sliko ljudi čakajo na Apple Shranjevanje kupiti nekaj izdelkov. Prvi ljudje so Prvi ljudi ven. Prve stvari v čakalno vrsto so prve stvari ven. Torej, če smo potisnite nekaj v čakalno vrsto, pritiskom na 1, potem pop 1. Pop pomeni le vzemite ven. V tem primeru, le nekaj vzame ven. Vzamemo ven prvi stvar, to je 1. Tako bomo dali stvari, ki jih tiskanje navzdol tukaj. To ni več v naši vrsti. Nato potisnemo na 2 in 3, in smo pop off prvo stvar. Še enkrat, ker je čakalna vrsta. Tako smo dobili 2, nato pa smo se na drugo 3 in spet poklical proti golu. Naš 3 je prvi. In potem smo imeli cel kup druge stvari in klic pop. Ampak še enkrat, saj je to vrsta, prvi noter, prvi ven. Vzamemo ven prva stvar, , ki je bil kdajkoli dal noter To je naša 3. In v tem primeru, ne skrbite pa vse tiste druge stvari. Tako da je, če je ta vrsta. Vsa vprašanja o vrsti? Stack je drugačen. Kaj je kratica imamo za razumevanje kup? PUBLIKA: zadnji noter, prvi ven. JASON Hirschhorna: LIFO, mislim. Zadnji noter, prvi ven. Tako smo videli primer dimnika pladnjev v jedilnici. Karkoli pladenj je na vrhu gets pobral. In potem prideš, če novi pladnji leta, se dajo na vrhu. In potem, kar je na top gets pobral. Tisti, pladnji na dnu moči tam ostanejo za nekaj časa. V tem primeru, še enkrat, se bomo pripravi tole. Potisnemo na eni, tako da ena je prva v vrsti. In smo nekaj pop off. In tam je samo ena stvar tam, tako da gremo 1 tukaj. Potem smo dal na 2 in 3 ter imamo nekaj pop off. Ampak še enkrat, saj je ta vrsta - ali je to Stack, ne - vzamemo kar je bilo v zadnji. Vse, kar je v zadnji pride ven prvi. In 3 je v zadnji. Zato smo dal 3 dol, nato smo se na drugem 3 in smo spet pop nekaj. Nazadnje postavimo na 4, 5, 6 in 7, in tu pop. In ker je stack, vzamemo karkoli je dal v last in pisati da sem. Tako smo na koncu z 1, 3, 3, 7. Ima kdo kakšna vprašanja o nizov ali čakalne vrste, ali ta primer? OK. Vrniva se na seznamu tem. Ne na ta način, v to smer. Na katera druga vprašanja imajo ljudje? PUBLIKA: Ne vem, kako pomembno to je, vendar sem bil zmeden, ki jih Razlika med različnimi vrstami jezike, kot so provizije, združeni, razlagati. JASON Hirschhorna: To je Dobro vprašanje. Mislim, da je nekoliko pomembno, tako da gremo nad njim hitro. Veliki jeziki, ki smo jih videli do sedaj, so C, PHP in JavaScript v smislu programskih jezikov. HTML, kot ste omenili, ni programski jezik. To je označevalni jezik. In potem imamo CSS, ki je prav tako ni programski jezik. Videli smo tudi, SQL, ki ni programski jezik, bodisi. Torej SQL vam omogoča, da napišete poizvedbe za bazo podatkov. HTML je označevalni jezik. Določa, kako so stvari strukturirana. In CSS vam omogoča stil stvari. To je verjetno obseg, za kar si morate vedeti o teh treh. Ampak to je bolj zanimivo sliki iz razlike med C, PHP, in JavaScript. Tako je eden od največjih razlik, kot ste omenili, je, kako oni zberejo, ali karkoli ustreznica. Torej je C zbrati. Mi bi vedno teče prevajalnik. In potem, če so vaše napake ko zaženete prevajalnik za C? Od kod vam show napake v kodi? Kako veš, da obstaja napaka v kodi v C? PUBLIKA: To vam kaže v terminalu. JASON Hirschhorna: To vam kaže v terminal, kot ste zbiranje. In če obstajajo napake, je Ne bo dejansko pripravijo. Tako da boste vedeli, da obstajajo napake, desna proč, pred časom, pred vami celo vodijo svojo kodo. Seveda, lahko zaženete kodo in dobili napako segmentacije, vendar so bili verjetno zato, ker si nekateri neumno stvar logike. Ampak vaša koda s tehnično vse pravilne in lahko teče. Tako postane koda C pripravijo vnaprej. Kaj pa PHP kodo? Kje so bile napake v vašem PHP kodo? Kako ste vedeli, da so bile napake v vašem PHP kodo? PUBLIKA: Run čas? JASON Hirschhorna: Ja, ko bi ga vodijo, bi zaženete PHP koda v hrbet. In potem bi se prikaže zaslon. Morda boste videli nekatere stvari na vrhu, ampak potem bi videli, tako kot nekateri oranžna, grda miza. In bi vam dal številko vrstice in recimo, bla, bla, bla, te stvari ni deloval. Torej je PHP razlaga po vrsticah in izvajajo na strežniku. In potem je rezultat poslan k tebi. Super. Izvajajo v strežniški vrsticah in potem poslal k tebi. In če je napaka, da bomo poslali ste napake, vendar boste morda morali gotten nekaj stvari pred časom. Torej, morda so nekateri to delali, vendar kasneje, nekatere stvari ne bi imela ni delal. Kaj je JavaScript? Kje si videl napake JavaScript? V p nastavite 8, ko imaš Napaka, kako si vedel? Če bi to prikazal? PUBLIKA: V konzoli, na dnu. JASON Hirschhorna: V konzola, na dnu. To bi vam lahko dal tudi številka vrstice, in bi bilo prikažejo na dnu. In JavaScript ni bil izvršen na strežniku. JavaScript je bilo poslano na vaš računalnik, in potem, ko je bil čas za zagon JavaScript je JavaScript teči po vrsticah na Stranka, na tvoji strani. Ne strežnika, odjemalca. In podobno je bilo teči po vrsticah. In potem, ko bi dobil napako, da bi se prikazal na dnu. Podobno kot v PHP, morda nekaj od tega izvršiti, in potem lahko dobijo napake kasneje. Prav tako malo razliko PHP, če Imaš napako JavaScript - rekli, da ni storil prav koda za opozarjanje škatli - vam lahko teče svoj program. Škatla opozorilo ne bi delovalo, vendar vaš program bi bilo v redu. Samo morda bi to funkcijo ne. Torej je nekaj največjih Razlika v smislu, kako ti jeziki, ali kako programsko kodo napišete dejansko ocenili. Obstajajo tudi druge razlike Splošni pogoji - največje razlike smo videli v smislu spremenljivk v različnih jezikih. Tako da lahko vsakdo izročiti mi razliko med spremenljivkami v treh jezikih? Da. PUBLIKA: V C, oni strogo vnesli. V drugih dveh, oni ohlapno vnesli. JASON Hirschhorna: In Kaj to pomeni? PUBLIKA: To v C, morate razglasi Vrsta spremenljivke, kadar prijavljate spremenljivko, kot interbool ali char. JASON Hirschhorna: Odlično. V C, smo vedno imeli, da dajo Vrsta spremenljivke. In nismo mogli zares mešajte različnih vrst. Nisi mogel narediti celo plus niz. Toda, kot smo videli v teh drugih jeziki, ki jih dejansko lahko mix vrst, in nikoli zares morali dati Nekaj ​​tip, kdaj. Torej, kako bomo vedeli, stvari so spremenljivke PHP in JavaScript? PUBLIKA: V PHP, začnejo z znak za dolar. V JavaScriptu, ko razglasi njih, moraš imeti bar. JASON Hirschhorna: Right. Torej v PHP, začnejo z znak za dolar. V JavaScript, da morajo imeti bar, čeprav včasih ne dejansko imeti bar. Ampak to je res. Tako da je velika razlika med spremenljivkami. Mislim, da so to verjetno off vrh moji glavi, dve največji Razlike med temi treh jezikih. Ampak, ja. PUBLIKA: In obseg spremenljivk C je omejen na zavitimi oklepaji, kjer so ostali tisti, to je samo všeč, umre, če je le v funkciji, sicer pa, To je - JASON Hirschhorna: Right. Tako področje je nekoliko drugačna v C. Ker Se spomniš, zaviti oklepaji opredeliti Obseg spremenljivk. Torej, če je to opredeljeno v notranjosti, če stanje, ki je v notranjosti za zanke, spremenljivka obstaja samo tam. V JavaScript, če je spremenljivka definirana znotraj če pogoj - notranjost za zanke - to bomo še obstajajo za to funkcijo, vendar pa je ne bo zunaj te funkcije. Torej je področje malo bolj fleksibilna v JavaScript in PHP. Da odgovori na vprašanje? OK, katera koli druga vprašanja? Mi lahko naredimo še štiri minute vprašanj, nato pa bomo skok v kodiranja. PUBLIKA: Lahko gremo v Ajax in govori o tem, kaj je to? JASON Hirschhorna: po Pogovorite se z avi. To vprašanje je vprašal prej. PUBLIKA: Moja napaka. JASON Hirschhorna: Brez skrbi. PUBLIKA: Kaj točno je JSON? JASON Hirschhorna: Kaj je JSON? Kakšno je vaše vprašanje? PUBLIKA: Samo res hitro, Razlika med tiskanje in odmev v PHP. JASON Hirschhorna: Zakaj ne google Razlika med tiskom in odmev? Majhna razlika. Ni to velik posel. Vendar pa si je vsekakor treba google, in da ti bom dal dober odgovor. JSON, verjetno večji za posel. Stojala za JavaScript Object Notation. In ko smo videli, JSON, ki se uporablja? Ko ste videli - zakaj sploh veš besedo JSON? Ko ste jo videli? PUBLIKA: Ko smo dobili borzne kotacije za finance. JASON Hirschhorna: Torej ste videli je, ko so dobili borzne kotacije za finance. In zakaj si ga videl? PUBLIKA: Ko smo priklic vse informacije, ki je v tej obliki. JASON Hirschhorna: Torej bi jih dobili - ja. Pojdi naprej. PUBLIKA: [neslišno] informacije od predmeta? JASON Hirschhorna: Oba tistih skupaj je odgovor iščemo. Želite informacije To drugo spletno stran. In bi si upam, da ko ste dobili te informacije, bi bilo predstavljena je bila prikazana v neke vrste v standardizirani obliki. Vsi so verjetno seznanjeni z vejico ločene vrednosti. Lahko izvozite Excel ali vsak tip razpredelnice kot seznam vejico ločene vrednosti. In vejice razdelili vse na različnih področjih. JavaScript Object Notation - JSON - je druga vrsta standardiziranih Postavitev stvari. In to je pogosto, kako pridobiti Podatki iz naših Ajax poizvedb. Torej, v tem primeru smo ga dobili s spletne strani Yahoo. Vrnejo stvari nas v JSON objekt. In potem vemo, ker je to standarda, kar je bo izgledal. Tako bomo lahko Ponovil skozi paleto da se je vrnil k nam, na paleto predmeti, ki so se vrnili k nam. Verjetno pa je treba vedeti, ključe, na splošno pa vam dokumentacijo na spletni strani, ko si pridobivam nekaj JSON Zapis za njih. Prav tako, lahko JSON kodiranje predmet. Torej je funkcija JSON podčrtaj kodiranje. In tako si lahko predmet, ki ste jih ustvarili, JSON je kodiranje in dajati nekaj drugega, če hočeš. In JSON dekodiranje obstaja tudi za Podoben namen, ali za nasprotno namen. PUBLIKA: Ali moramo vedeti, kodiranje za hash tabele in poskusih? Ali pa smo morali razumeti kako so navajeni, konceptualno? JASON Hirschhorna: Torej, dvignite roko če si hash table za p nastavite 4 s seznamom povezavo. Ali P določi 5. Tako da je bila velika večina ljudi. P nastavite 5, 6, kdo ve. Pred dolgo časa. Torej, velika večina od vas naredil hash tabele s seznami povezav. In ker je to verjetno več skupni pristop, in ker smo porabili Veliko časa delaš povezavo seznamov in hašiš mize, boste morali verjetno Precej seznanjeni s tem, kako kodo razpršene tabele in seznam povezava. In če mislite, da nazaj na ta problem nastavite, da ni bilo res tako težko, kot ste pričakovali. In tam je veliko manj kodo, kot ste pričakovali. Jaz bi rekel, da bi morali vedeti, kako kodo za hash tabelo ali seznam povezav. Saj ne, da bi se vprašal, da nujno, vendar morate zagotovo vedeli. Tudi, če pogledaš skozi preteklih kvizi, ni bilo veliko Vprašanja o pisanju funkcije povezava seznami ali dvakrat povezanih seznamov. Da se zdi, da bi prišli do vsako posamezno leto. Pravica vstavite na seznamu povezavo, kajne izbrisati iz seznama povezavo, kajne vstavite za dvojno povezan-seznam, et cetera. Tako da se počutim zelo udobno pravijo, da bi morali vedeti, da je. Pri poskusu, jaz bi rekel, da bi morala zagotovo vem, kako to deluje, in morda dati nekaj psevdokoda kako za to kodo in ga je ustanovil. Ampak to ne bi bilo najslabše, kar v svet, če niste vedeli, kako to kodo v C. To bi bilo super, če ti vedel, kako to kodo v C, vendar mislim, Verjetno psevdokoda za poskusiti bi je največ, kar bi potrebovali vedeti za poskusiti. PUBLIKA: Extra kredit? JASON Hirschhorna: In enako velja, če bomo iti v binarnih iskalnih dreves, boste morda Potrebujemo - in ki ste jih videli v preteklosti, smo naredili veliko - saj veste, kako binarno iskalno drevo deluje. Moral bi verjetno lahko eno ustanovljen v psevdo kodi. Ampak zato, ker velika večina ljudi nisem naredil, da o problemu set, bi rekel, da je verjetno manj pomembno, da veste, kako kodo in vzpostaviti drevo takega. Še kakšno vprašanje? Prav tako jih lahko po vsej vprašati kot smo šli skozi nekaj problemov. OK, gremo naprej. Preskoči ta diapozitiv za zdaj. Ko govorimo o dreves, da je prva Imam vprašanje za vas. Ker je to problem. Jaz bi rekel, da je zelo verjetno, da boste zaslužiti problem, kot je ta v vašem kvizu vas prosimo, da kodo neko vrsto vložka, brisanje, iskanje, za eno vrsto strukture podatkov smo videli. Da pride vsako leto smo porabili Veliko časa drugi polovici tega semester bo nad temi podatkovnimi tipi. Torej sedaj, sem opredelila vozlišče v binarno iskalno drevo. In kaj bi rad, da narediš je podan binarno iskalno drevo, ki se začne V tem vozlišče zvezdicami korena, dokončanje izvajanje funkcije spodaj, ki se zgodi, da se funkcija najdba. In to z ali brez recursions. Torej, želim vas, da napišete dve funkciji. Ena tem z rekurzijo, eden tem brez rekurzije. In nikar ne mislite, da Koren bo ne-null. Torej iščemo celo število i v Drevo se začne pri korenu, zato moramo to napisati rekurzivno in ponavljajočim. Ja. PUBLIKA: Torej hočeš, da vrne true Če se nam zdi, in false, če bomo ga ne najdem. JASON Hirschhorna: Kako ste vedeli? Kako si vedel? PUBLIKA: sem prej vprašal, ampak sem bil ob predpostavki, saj pravi, bool na začetek delovanja. JASON Hirschhorna: Right. Piše bool, tako da mi ni treba niti vam povem, kaj pričakujem, da se vrnete saj pravi, prav tam. Ampak to je v redu. Vrni se, resnična ali neresnična. Torej, preden začnete, jaz bi priporočal, Če ste seznanjeni s binarna iskalna drevesa, hitro risanje slika od njega, da dobite razumevanje, seveda. To bo tudi vam pomaga pri pisanju kodo in preverjanje. Again, vam tudi ni treba, da je veliko Čas za kviz, da stori vse stvari da vas prosimo, da storiti. Torej pisanje psevdo kodo je zelo koristno. In smo na splošno daje približno - če psevdokoda je popolnoma pravilno, da je na splošno 50% na vprašanje. Torej, to ni težko in hitro pravilo, vendar če ste ga pravkar napisali psevdokoda in to je pravilno, da je na splošno 50%. Zato sem vedno priporočamo - če ste v stiski s časom, ali celo, če ste samo poskušam ugotoviti - začenši z psevdokoda. In končno, če bi lahko to napisali Vse v C, to bi bilo fantastično. Torej, vzemimo tri minute za delo na tem programu. In potem se bomo, da napišete psevdokoda za to samo enkrat, nato pa bomo to kodo rekurzivno in nato iterativno. Če imate kakršnakoli vprašanja, vas brez dvigne roko. Vesel, da hodi okoli in jim odgovori preden začnemo kot skupina. Dovolite nam, nadaljuje, in bomo psevdokoda rekurzivno različico to, in potem bomo to kodo. Torej rekurzivna funkcija potrebuje dve stvari. To je lahko vprašanje, ti bi se lahko vprašal. Potrebuje dve stvari. Kdo lahko dvigne roko in mi povej Kaj ti dve stvari rekurzivna Funkcija potrebuje? Po definiciji ima dve stvari. Kaj sta ti dve stvari? Nove roke. Da, Alden. PUBLIKA: Torej, nisem ravno prepričan, če To je terminologija, vendar - JASON Hirschhorna: Vesel sem, da ste dvig roko. PUBLIKA: osnovno primeru, da potrebuje, in potrebuje rekurzivni korak. JASON Hirschhorna: popolna. Osnovni primer, ki jo potrebuje, in rekurzivna korak. Torej, kaj je naša osnovna tukaj? PUBLIKA: F koren enaka enaka null. Žal mi je, samo v psevdokoda, če je nična. Če je korenina je nična. JASON Hirschhorna: Če koren je nična. To je odlična. To je naša osnovna. To je tisto, kar bomo Za preverjanje vsakič. In baza je primer Prva stvar, ki jo naredim. Če ste zadeli osnovno zadevo, ste končali. Zdaj moramo našo rekurzivni klic, in sem biti pripravljen staviti moramo nekaj rekurzivni poziva tukaj. Ker je drevo, in smo bi šel več načinov. Torej, če je korenina null, da smo dobri. Kaj predlagate? In zdaj bom za začetek kliče na vaju, ker vem, da fantje Vse to vedo. Ampak Annie, kaj naj bi Naslednja postavka je? Kaj, če bi ga našli? Kaj naj naredimo? PUBLIKA: Če smo ga našli? JASON Hirschhorna: Ali pa kaj je treba, da - Daj mi psevdokoda za linija, kjer smo ga našli. PUBLIKA: Če i je enak koren i? JASON Hirschhorna: In potem kaj naj naredimo? PUBLIKA: Vrnitev res. JASON Hirschhorna: Great. Torej, če sem jaz - oh, oni so tako imenovani i. Da postane zmedeno. Ampak, če sem se jaz vrnil res. To je verjetno next stvar, ki jo je treba storiti. Smiselna. OK, zdaj nismo naredili našo rekurzivno pokličite še, čeprav, ker je rekurzivna Razpis bo spet poklical to funkcijo. Torej, kaj je treba v naslednjem Linija psevdokoda bilo? Anna. PUBLIKA: leva stran. JASON Hirschhorna: Bodite natančni, čeprav. To je binarno iskalno drevo, pa kaj ne preverjanje levi strani pomenilo? PUBLIKA: Torej vozlišče - Žal mi je, korenina. In nato puščico levo. Vozlišče, vozlišče, oprosti. Ne bom ga pravilno branje. To se imenuje vozlišče, kajne? JASON Hirschhorna: bo imenovan koren v tej funkciji, ampak tako ali tako. Leva stran - ja? PUBLIKA: Če ne bo enaka i, potem pa gremo na klic spet funkcija? JASON Hirschhorna: To je res. Če se ne enaka i, greva ponovno poklicati funkcijo. Toda kaj stran od drevesa greva ponovno poklicati funkcijo? PUBLIKA: Na levi strani. JASON Hirschhorna: Nismo vedno dogaja, da ga pokličete levo, če je ga ne enaka. PUBLIKA: Oh, oprostite. Pokličite na desni strani. JASON Hirschhorna: Želimo vedeti Natančneje, čeprav - ne pozabite, v binarno iskalno drevo, kar je povezano levi strani je manjša. Vse na desni na desni strani je večja. Torej to je samo ne - ja, pojdi naprej. PUBLIKA: Če je manj kot i, nato pa - če je na levi strani - JASON Hirschhorna: Torej, če RI je manj kot - tako da, če je naša manj kot i, na kateri strani si želimo iti v? PUBLIKA: Želimo, da gredo na desni strani. JASON Hirschhorna: Želimo, da gredo - Naj pripravijo hitro drevo. Če je to 5, bo to 3. Torej, če ri je manj kot pet, kar side želimo iti? PUBLIKA: Žal mi je, kaj? JASON Hirschhorna: Naša številka manjše od števila kateri smo gledaš zdaj. PUBLIKA: Oh, potem si želimo da gredo na levi strani. Ja. Žal mi je. JASON Hirschhorna: Točno tako. Brez skrbi. V binarno iskalno drevo, vsem nižja je na levi, večja je na desni strani. Torej, če je naša manj kot i smo preverjanje - saj vidiš v vozlišče, da ima I - potem boste želeli, da gredo v levo. In to je lahka. Kaj je to druga linija psevdokoda moramo napisati? Carlos? PUBLIKA: Ista stvar, ki ste jo pravkar preklopite to, da večja kot znak in pojdi na desno. JASON Hirschhorna: Ali lahko Reci še enkrat? PUBLIKA: Če je naša večja kot sem, pojdi na desno. JASON Hirschhorna: Odlično delo na psevdokoda. Naj nas to v realnem kodo. In še enkrat, bo to psevdokoda Verjetno boste dobili, ker je pravilno, 50% o tem vprašanju. Toda ta psevdokoda eno prevaja tudi eno v bistvu v kodo. Torej nam to narediti v C. Kdo lahko daje me prvo vrstico kode? Pravzaprav, najprej, preden sem naredil , da naj ustavi - PUBLIKA: Imam vprašanje. Zakaj si zamakniti linija sem ti ga dal? JASON Hirschhorna: Ker Nisem mogel pisati. Ne vem. Prav imaš. Ta linija bi morala biti tam. OK, tukaj je naša naloga. In mi ustavi, prav tako, naša definicija vozlišča. Kaj se zgodi, če ne bomo storili napišite typedef? Ali kdo ve? PUBLIKA: Ne bi prevesti. JASON Hirschhorna: Bilo bi zbere, ja. PUBLIKA: Ali bi bilo samo eno razglasi na primer, namesto da bi jih nova tip bi lahko razglasi mnogokratnik primeri? JASON Hirschhorna: Torej, da ne bi vedeti - ne bi Pravkar razglasi eno vrsto. Lahko bi še vedno veliko vozlišč. PUBLIKA: Ampak ne bi imeli za napišite struct Node vsakič? JASON Hirschhorna: To je res. Ti bi morali napisati struct vozlišče Vsakič, namesto samo vozlišča. Ampak s typedef, lahko samo napišite vozlišče vsak čas. OK, je kdo ni dal - ja, Avica. PUBLIKA: Če koren enak enak null, vrne false. JASON Hirschhorna: Super, in To je naša osnovna. Naslednja vrstica kode. Nekdo, ki ni dana me vrstica kode še? Ja. PUBLIKA: Root arrow i je enako enako i. Nato vrne true. JASON Hirschhorna: Great. Naslednja vrstica? Ja. Nekdo drug? In potem lahko greš zraven. PUBLIKA: if koren arrow i je manj, kot vrnitev Funkcija se imenuje najdba koren - JASON Hirschhorna: Žal mi je. PUBLIKA: Nazaj najdba koren opozarja na levo vejica i. JASON Hirschhorna: Torej, če je ri večje ni stvar v drevesu, želimo pojdi na levo? PUBLIKA: Ne, sem imel, da je vklopljen. JASON Hirschhorna: Katera? PUBLIKA: No, ja. Imam manj kot tam podpisati. JASON Hirschhorna: Seveda, če ri manj od tistega, kar je v korenu - Naša trenutna koren - potem bi rad šel na levo. In kaj je zadnja vrstica, kajne? PUBLIKA: V bistvu ista stvar, razen stikalo večji ali enaka najmanj in leve proti desni. JASON Hirschhorna: Odlično. Ima kdo kakšna vprašanja o tem? Torej, nekaj drugih stvari, ki bi so pravilno je, da bi lahko-ltiff. Ugani, tehnično, nobeden od teh res morali biti ltiff tudi. Prav tako pa je verjetno le en primer tukaj. Tako da je verjetno vaš zadnji primer. Vi sploh ne potrebujete, da-ltiff. Ampak verjetno dobro, da napišete to, da bo jasno. Ja. PUBLIKA: Torej ne mislite, kviz - če naredimo napake, npr v skladnji - majhne napake sintaktične - kako, da se delo v kvizu? JASON Hirschhorna: Običajno na kvizu, majhna sintaktične napake ali majhna napake slog, ki ga ne boste izgubili točk. Torej, če ste pozabili podpičjem Tukaj bi bilo v redu. Če ste pozabili zapreti to oklepaj, da bi bilo v redu. Ogromna napake, sintaktične, ki spremenijo funkcionalni pomen kode dramatično, lahko dobite vzletelo točke za. Ali na splošno, samo vam razvrščanje o tem, ali si Funkcije koda, celo - ni njena oblika toliko, in ni njen stil. Pojdimo zdaj kodo ponavljajoč različica najdbe. Tako se dogaja, da je precej podobna, vendar Obstaja seveda bo nekatere ključne razlike. Vendar pa naš psevdokoda verjetno lahko greš - smo še vedno lahko eno linijo psevdokoda in ugotoviti, kaj linija je v tem primeru. Torej, v iterativno verzijo, kaj misliš, Julia, je treba v prvi vrstici? PUBLIKA: Tudi v iterativni logična, boste morali nastaviti za zanke, kajne? JASON Hirschhorna: OK. PUBLIKA: Torej za podobnega, k se za x enak 0, x je manjša od i. Ali ne, je x manjši od velikost drevesa. JASON Hirschhorna: drevo. Torej ne bomo zares vedeli velikosti drevo, mi pa res ne vem kolikokrat lahko gremo, kaj je drugačen tip zanke, ki bi lahko bolje v tem primeru? PUBLIKA: Če drugega? JASON Hirschhorna: Če drugega ne more biti zanka. Torej, kaj je tip zanke smo lahko samo go, dokler se sestal z nekaterimi primeru? Kaj je samo druga vrsta zanke v C poleg zanko? PUBLIKA: Med. JASON Hirschhorna: Medtem, točno. V while zanko, ne morate vedeti, kako - while zanko in zanko lahko storite točno isto stvar, ampak lepo stvar O zanko, medtem ko je ne potrebujemo vedeti, kako velika je naša drevo. Tako smo šli še kaj? PUBLIKA: Dokler je enaka velikost - JASON Hirschhorna: No, to je zelo podobna naši rekurzivnih primeru. Torej - PUBLIKA: Medtem ko koren i ni enak i. JASON Hirschhorna: To je res blizu. Medtem koren i - poskusiva. Ne verjamem, da [neslišno] kjer koren i ni enak i. Bomo morda morali spremeniti v malo bit, ampak to zveni kot, da je precej Dobro, za zdaj. Torej bomo to. Prav tako ne pozabite, ne moremo prevzeti na vprašanje. Vi ne domneva, da Koren bo ne-null. Torej, kaj misliš zelo Prva stvar, ki jo morate storiti je? PUBLIKA: Samo naredi isto stvar kot prej. Če koren enaka enaka null, vrne false. JASON Hirschhorna: Great. Torej bi bilo nič. Zato želimo, da se znebite IT za desno stran. In potem gremo preverite, če Koren i ni enaka i. Torej, rekli smo iskali v tem drevesu za 3, koren i ni enak i, zdaj smo v našem while zanko. Kaj bomo naredili? In spet, to se dogaja, da je precej podobna naši rekurzivno različico. Ja. PUBLIKA: Torej bi si želeli ponoviti, ali nadaljuj navzdol drevo, dokler koren ni enaka null. JASON Hirschhorna: Dokler Koren ni enaka NULL? PUBLIKA: Koren dash i ni enaka null. Samo korenina, ja. Kot dokler korenine ni enaka nič. JASON Hirschhorna: Torej hočeš da se to spremeni v korenu ni enaka null? OBČINSTVO: Ja. PUBLIKA: Mi lahko združite ti, kajne? Mi ne potrebujemo, če na začetku. JASON Hirschhorna: OK, tako da, če bomo Ne - če jih združujemo, zato si bomo naredili medtem ko je korenina ni enaka nič, in če je koren zgodi, da se ob null začenja, kaj bomo storili tukaj? PUBLIKA: Return false. JASON Hirschhorna: Great. Torej obe smeri verjetno bi delal. To je drugačen način in ta spoj. Ampak še enkrat, če si tako ali tako, da smo ne bo vzlet oblikovanje opozarja na kvizu. Ampak to izgleda dobro. Torej, medtem ko je korenina ni enaka null, kaj je prva stvar, ki smo želeli preveriti? Nekdo drug? Null, kaj je prva stvar? PUBLIKA: Če je ri manj kot - oh, mislim, če smo že ga najdemo v korenu. Torej, če koren puščica i je i - JASON Hirschhorna: Oprostite? PUBLIKA: Če koren arrow i je enak enak i - JASON Hirschhorna: Kaj naj naredimo? PUBLIKA: Vrnitev res. JASON Hirschhorna: Great. In kaj sledi? Jeff, kaj je naslednji vrstico kode? PUBLIKA: Če sem manj kot korenski puščica i, potem koren enak koren puščico levo. JASON Hirschhorna: Root Rezult Koren puščico levo. Tako, da je verjetno največja Razlika je tu v tem ponavljajoč Različica za razliko od rekurzivna verzija. Rekurzivna verzija smo spet poklical funkcijo. Mi bomo posodabljanje korenine, ko pravimo novo funkcijo. Tu ne bomo poklicali novo funkcijo. Mi smo preprosto samo posodabljanje Koren v to funkcijo. To je odlična. In kaj je zadnja vrstica kodo? Ja, Mario? PUBLIKA: Else korenin Rezult Koren puščica desno. JASON Hirschhorna: Oprostite? PUBLIKA: Root Rezult Koren puščica desno. JASON Hirschhorna: Bi tudi vi napisati kaj takega? PUBLIKA: Nimam pojma. JASON Hirschhorna: Ne moreš. Tega ne moreš narediti plus enaka. OK, tako da to izgleda dobro. Zakaj ne samo to, da da ga čiščenje. To izgleda super, in to bi delovalo. In bi izbruhnila. Če je korenina levo nična ali koren desno bilo nič, bi prišli do sem. Koren bi bila enaka null. Mi bi iztrgajo iz našega zanke, in bi se vrnemo false. Torej, ko smo iztrgajo iz zanka, vrnemo false. In spet je bil zanko, medtem ko popolna tukaj, ker ne vemo, kako big naše drevo. Poskušali smo napisali za zanke, vendar smo spoznal, moraš ugotoviti, kako velik je pred časom. Ja. PUBLIKA: Če ne bi bilo binarno iskalno drevo, da bi bilo resnično math-y da jo napišite ponavljajočim, kajne? Všeč mi je, če je bilo drevo, vendar ne nujno - tako da ni bilo vse manjša na levi strani, in vse večji na desni. To bi bilo res težko izbirajte nad njim, kajne? Mi bi morali rešiti, kar je bilo prej o v drevo in šel nazaj, in podobne stvari. JASON Hirschhorna: Če ne bi bilo binarno iskalno drevo, če je bilo le Drevo in stvari, ki niso bile razporejene takole - in smo ugotovili že prej, ko Anna je nam pomagali, da bi jo razvrščeni nam pomaga veliko - mi bi morali, ja, vedno shranite kjer smo bili prej. Vendar bi lahko bilo veliko kjer smo bili previouslys. Tam bi lahko veliko matičnih vozlišč. Verjetno najboljši način za to, da bi je, da potiska stvari na nekatere tip dimnika ali čakalne vrste. Nikoli ne bi morali to kodo ker je težko problem. Vendar pa potisnite nekaj stvari na kupu ali čakalne vrste in jih nato pop off, in jih nato oceniti. In potem še kakšno drugo stvar, kjer ste dejansko dajanje vozlišč, in potem ustvarjanje da, in nato iskanje skozi to. Da bi bil najboljši način, da to storite. OK, na vsa vprašanja v zvezi s tem problemom? PUBLIKA: To je na zvezi opombo. Bomo morali primerjati časa delovanja za hash tabele, binarno iskalna drevesa, et cetera? JASON Hirschhorna: Verjetno. Torej, kaj je naredil, da je res hitro. Teči čas za razpršene tabele - kaj so drugi? Binarno drevo? PUBLIKA: Link seznami. JASON Hirschhorna: OK, naredimo vložek. Kaj je velik O od vložka na razpršene tabele? Kakšne so predpostavke delate? PUBLIKA: Ste vstavitvijo začetek seznama link. JASON Hirschhorna: Verjetno prvi predpostavka je, da ni trkov. Če ni trki, nato čas vstavitve ena. Če so trki, in si početje Veriženje in vstavljanje na začetku seznama povezavo, potem dodatek je prav tako stalna. Če delaš z razpršene tabele, vendar si imajo drugačno metodo, ki se ukvarjajo pri trkih, kar je drugačen način? Kaj je drugačen način ki se ukvarjajo z trčenje v razpršene tabele? PUBLIKA: Linearno programiranje. JASON Hirschhorna: Linearno programiranje. Torej, gremo naprej iskati za naslednji odprto mesto. To ni konstantna čas vstavitve. Lahko bi morali iti skozi celotna tabela, tako da bi bili veliki O n. Ja. PUBLIKA: Sicer samo verižni? JASON Hirschhorna: Uspeli smo Veriženje. To je bil prvi. To je tisto, seznam povezava. Izmišljeno ime je Veriženje. To je lahko katero koli vrsto seznama strukture se zgodi, da storiti v seznamu link. Torej še enkrat, vstavljanje na razpršene tabele bi bilo stalen čas. Kaj pa vstavljanje na zlagalnik vrsti? PUBLIKA: Ali ni konstantna? JASON Hirschhorna: To je stalna čas. Ti si samo, da ga potisnete naprej. OK. Vstavljanje, kaj so bili tisti drugi? Na poskusiti? Kaj je velik O vstavitve o poskusu? PUBLIKA: Dolžina je konstantna. Dolžina najdaljše - Dolžina besede ste vstavljanje. JASON Hirschhorna: Oprostite? Počakajte, da kaj sem slišal? Rekli ste, da - kaj si rekel? Kakšen je bil vaš odgovor, Marcus? PUBLIKA: dolžina besede ste vstavljanje znake, ob predpostavki, da je poskus znak. JASON Hirschhorna: OK, tako Dolžina besede. Naredili bomo domnevo, da to je niz znakov. Rekel si nekaj drugačnega, čeprav. Rekli ste, da dolžino najdaljše besede. PUBLIKA: To je samo konstanta, kajne? JASON Hirschhorna: Zakaj bi biti konstantna? PUBLIKA: Like, če uporabljate veliko O zapis, potem se ne razlikujejo glede na število stvari, ki jih so že v poskusu. JASON Hirschhorna: Torej bi pravijo, da je konstantna čas. To je konstantna vstavljanje, in To je zato, ker je ta ideja - pravijo, da imamo besedo, ki je 45, ali beseda, ki je 60, ki ima konstantno število. In to bi bilo šele treba vnesti V enakem času. V praksi to ne bi bilo, Očitno je, da se zgodi v eni milisekundi, npr. Vendar bi lahko rekli, big O je konstanta za poskusiti. In to je eden od njenih Največje prednosti. Kaj pa vstavljanje v seznam povezava? Le generično, razporejene seznam povezava? Ja. PUBLIKA: Imel sem vprašanje. Na testu, bi se kdaj nas je vprašati čas vstavitve, da je v štirih korakih, ali kaj podobnega? Ali je to samo - ko rečeš čas vstavitve je ena, da samo pomeni stalen čas? JASON Hirschhorna: Ja, bi jih vedno vprašati, ali je velik O n? Big O log n? N kvadrat konstantna. Tisti, ki so res samo tisti, ki jih morate vedeti. Kaj pa vstavljanje na razporejene povezavo seznam? PUBLIKA: Imel sem vprašanje - vprašanje - JASON Hirschhorna: Kaj je odgovor na to vprašanje, čeprav? PUBLIKA: Čakaj, kaj si vprašal? JASON Hirschhorna: Kaj je velik O od vstavljanje v seznamu razvrščene povezavo? PUBLIKA: One? Ne čakaj, čakaj Ne, n. JASON Hirschhorna: N. Poleg tega Seznam povezava. In kaj je vaše vprašanje? PUBLIKA: Torej bi napisali o K ali O 1 za - JASON Hirschhorna: Oh. Jaz bi pisati o po 1, verjetno. Tam je bila ena druga struktura podatkov da bi bilo dobro. Drevo, binarno iskalno drevo. Kaj je vstavljanje na binarno iskalno drevo? PUBLIKA: Prijava. JASON Hirschhorna: Torej, kaj je najhujše primer v binarnem iskalnem drevesu? Torej, če se zgodi, da začnejo pri 5, in vsak številka večja od 5, nato imamo 5, 7, 9, 11, et cetera. V tem primeru, to je v bistvu samo povezava Seznam, in smo morali vstaviti vse Tako na koncu. Torej, to je velik O n. To bi lahko bil naš najslabši primer na binarno iskalno drevo. Očitno je, da nikoli ne bi konstrukt binarno iskalno drevo s 5 na srednji, vedoč 5 bi je najnižja številka. Vendar pa bi bilo, če ste začenjamo iz nič. Vsa vprašanja o tem, preden sem premakniti na drugo vprašanje? To je dobro vprašanje. Jaz bi vedeli veliko Õ - PUBLIKA: Kaj o iskanju za tiste štiri? JASON Hirschhorna: Definitivno smo je iskanje in razvrščanje. Naredili smo vse tiste algoritme, kajne. Čakaj, je bilo to Quiz 1? Bilo, da krije - ste že, da Vprašanje o Quiz 1? Velik O teka binarnega iskanja, vstavljanje sort, bubble sort? OBČINSTVO: Ja. JASON Hirschhorna: Če ste imeli, da Vprašanje o Kviz 0, so možnosti, da ne bo dobili točno isto vprašanje o Quiz 1. Morda še vedno dobro vedeti teh. Moral bi vedeti, upajmo, GH že. Ampak drugih logaritemske runtimes verjetno dobro vedeti. Stvari, ki niso bile zajete v kvizu 0. Tako kot vseh teh operaterjev na ti abstraktni podatkovni tipi. OK, gremo naprej. Ta bi morala biti precej hitro. In to je nov jezik, nimamo dejansko kodirana v prej. To je vprašanje, izklicna kodo v PHP. Tako menijo spodaj PHP array. Napišite PHP in / ali HTML kode, tako da izhodi tabelo z dvema stolpcema s TF Imena in hiše. Še nikoli niste to storili prej, to poseben problem. Vendar mora biti to zelo pozna, da kaj ste naredili v problem nastaviti 7. Torej, jaz bi bil pripravljen staviti, da boste prosil za kodiranje nekaj v PHP, da je zelo podoben temu, kar si storil problem nastaviti 7. Prvič, matrika ni, da je poseben. Kakšen tip matrike je to? PUBLIKA: povezovalne. JASON Hirschhorna: To je asociativno paleto. In kakšna je razlika med asociativno paleto in objekt? PUBLIKA: Predmet matrika ima indeks celih in asociativni niz je indeks niza, ali nekaj takega. JASON Hirschhorna: Torej niz predmeti bi morali indekse cela števila, toda predmet ima polja. Ima teh področjih imena, kot so ime, Hiša, študent. Imate idejo? PUBLIKA: No, asociativna matrika v PHP, kajne? In cilj je v JavaScript? JASON Hirschhorna: Iskreno, ni dejanska razlika med obema. Oba imata strune kot so ključi, in lahko imajo v bistvu nič kot vrednost. Različni jeziki, en klic stvar asociativno paleto, ena stvar, predmet. Torej, po pravici povedano, ni pravega Razlika, vendar pa je zagotovo nekaj sintaktične razlike med njima. Ja. PUBLIKA: Torej je predmet kodirana tudi pod hood kot razpršene tabele, potem? JASON Hirschhorna: Kaj storiti Mislim, kodiran pod pokrovom? PUBLIKA: Povedali so nam, da je asociativna Niz je bil tehnično hash tabelo. Torej je objekt tudi tehnično hash table? JASON Hirschhorna: Jaz ne grem odgovoriti na to vprašanje. Jaz bom priti nazaj k tebi na tem. Ampak jaz ne bi mislil, bodisi tistih, kot je ta. Ampak, kakorkoli, asociativno paleto in predmet, na splošno, ljudje uporabljajo tisti, Pogoji izmenično. V tem primeru se ohladi del je lahko uporabite tipke. Strune so ključi, namesto le nekaj preprostih številk. Tako sem govoril o ta za nekaj časa. Upajmo, da imajo nekateri ljudje gotten začel o tem. Bomo napisati nekaj PHP in HTML kodo, tako da smo dobili z dvema stolpcema miza s TFS imena in hiš. OK, tudi jaz bi rad glavo veslati na tej mizi. Torej bom dobil naravnost v to. Bomo datoteko, nov, in bomo - OK. Kako začnem miza? Kaj je tag, Michael, za začetek mizo? PUBLIKA: Table. JASON Hirschhorna: Table. In če odprem oznako, kaj sicer potrebujem? PUBLIKA: glava? Ali pa, mislim, razred. JASON Hirschhorna: Torej, žal mi je. Predpostavimo, da smo že pisali doctab, HTML, vse te stvari. Ampak, če odprem tabelo oznako, kaj sicer moram napisati? Za potrditev HTML? PUBLIKA: Zapri. JASON Hirschhorna: Zaprite oznako. Kako napišem blizu mizo oznako a? PUBLIKA: Dot poševnica mizo. JASON Hirschhorna: Slash mizo, super. Verjetno je smiselno, da napišete tako tistih skupaj, ker imaš, da to storite. OK, če želim naslovno vrstico, kako Pišem naslovno vrstico z naslovi? PUBLIKA: Je manj od 10 h koncu - TR, ja. JASON Hirschhorna: TR? PUBLIKA: Potem pa isto stvar, slash, ja. JASON Hirschhorna: OK, in Dajte mi dva stolpca. PUBLIKA: T D? JASON Hirschhorna: OK. Hočem dva stolpca. Ali to mi dva stolpca? Koliko stolpcev je to? Ena. Torej, kaj je kopiraj in prilepi to. Torej dejansko, na kvizu, vse to kodo , ki smo jih do sedaj je bilo napisano dejansko na voljo za vas. Ampak ti bi moral verjetno še vedno vem, kako jo napisati. Ja. PUBLIKA: Vaša hiša je med njima. JASON Hirschhorna: Boom. Morala bi iti prav tam, kajne? Dobra odločitev. Torej še enkrat, vse to koda je dejansko dal na dejanski kviza. Ampak to je zabavno pisati in si bi morali vedeti, kako jo napisati. Torej, to je, če morate , da začnete svojo kodo. Kaj moramo napisati tukaj? Žal mi je, da moram spremeniti ime te datoteke. Zato smo ga shranili v datoteko HTML., Ne v. PHP datoteko. Te stvari bi pomenilo nič a. PHP datoteko. Torej smo v. HTML datoteko. Kaj je prva stvar, ki Moram napisati? Rad bi dal nekaj PHP Koda v HTML. PUBLIKA: PHP, tako kot drugi korenja in vprašaj PHP, kajne? JASON Hirschhorna: Great. In kako sem na koncu to? PUBLIKA: Z vprašajem. JASON Hirschhorna: To je super. To je prva stvar, ki jo potrebujem, če želim dati nekaj PHP kodo tukaj. PUBLIKA:. Sem mislil PHP Datoteka bi lahko HTML. JASON Hirschhorna: Ja. . PHP datoteke lahko traja nekaj HTML in bodo prikazani. To je bila moja slaba. Pravkar sem poskušal posnemati kaj je bilo na kvizu. OK, žal mi je, da vas zmedlo. Da, practice.HTML. Sedaj bomo dal nekateri PHP code prijavite Kaj je prva linija PHP koda naj napišem? Jaz grem skozi ta niz in da bo v tabelo. Ja. PUBLIKA: Uporabljate lahko za H zanke ali za zanko. JASON Hirschhorna: OK, kaj Ne želite uporabljati? PUBLIKA: Jaz bi uporabil za zanko. , In nato naredil znak za dolar i je enak 0 podpičjem dolar podpisati i manj kot 2. In potem podpičjem i dolar podpisati i plus plus. JASON Hirschhorna: Kako veste, da uporabite 2? PUBLIKA: Ker sta bili dve asociativne nize v večji asociativno paleto. JASON Hirschhorna: Tako velika stvar je ni sodelavec niz. Velika stvar je samo normalno zaporedje. Ampak imaš prav, obstaja dve asociativne nize znotraj naše večje matrike. Zato boste uporabili dva. Počutim se nelagodno ob predpostavki, da oni 2, torej kaj je način za pisanje To bi ob predpostavki, da oni 2? PUBLIKA: [neslišno]? JASON Hirschhorna: OK, kako ti to napisal? PUBLIKA: foreach znak za dolar TFS ali kot znak za dolar tf. JASON Hirschhorna: OK, tako da za vsak TFS kot TFS, želim, zdaj spet mojo mizo. Torej, kdo mi lahko pove Naslednja vrstica kode? PUBLIKA: Print, nato pa v kotacije, konec nosilec tr nosilec, konec citat. Končni oklepaj, podpičjem. JASON Hirschhorna: OK, in kaj, da boš naredil? PUBLIKA: To se dogaja, pravijo, novo vrstico. To se dogaja, da dajo označiti za novo vrstico. JASON Hirschhorna: Right to PHP, kot je smo govorili prej - to PHP se dogaja, da je treba oceniti, nato pa da se bo izpisal na ta datoteka Tabela predivo, in nato, da HTML bodo ovrednoteni. Mi samo kopiranje tega HTML smo imeli tukaj gor. Ja. PUBLIKA: [neslišno]? JASON Hirschhorna: Oprostite? Prav tukaj je. Fall 2012. Ne glej odgovorov, dajmo rešiti skupaj. Tako smo natisniti vrstic. Torej, ste verjetno v gugalnica stvari. Kaj je naslednja vrstica Koda moramo napisati? Assam, daj mi naslednjo vrstico kode. PUBLIKA: Moraš ime TF je. Tf odprta nosilci narekovaj ime zaprte oklepaje. JASON Hirschhorna: Daj mi svoje ime. PUBLIKA: Morate natisniti da. [interposing GLAS] JASON Hirschhorna: OK, kako ga natisniti? [interposing GLAS] JASON Hirschhorna: mi manjka kaj zdaj. Kaj sem spregledal? PUBLIKA: Moraš znak za dolar. JASON Hirschhorna: Kaj sicer sem spregledal? Vse doslej smo natisnjena je tr. PUBLIKA: Zaprite tr po njej. JASON Hirschhorna: Zato moramo da se po tem, ko zaprete tr. Kdo vidi, kaj nam manjka on line 16? Ja, Anna. PUBLIKA: Moraš odpreti td in zaviti oklepaji. JASON Hirschhorna: In kje Ne damo zavite oklepaje? PUBLIKA: Okoli ime tf. JASON Hirschhorna: Tako? OBČINSTVO: Ja. In nato zaprite TD. JASON Hirschhorna: Tako? PUBLIKA: Ali potrebujete dvojno kotacijo oznake ob zavitimi oklepaji? JASON Hirschhorna: Tukaj? Ne, ne boš. Tako da je ravno prav. Ja. PUBLIKA: Torej razlika med tem in encatenating s pikami je, če uporabljate pike, bi morali imeti dvojnih navednicah, nato pika, nato dot - JASON Hirschhorna: Pravilno. Torej pravite, da je končni način pisanja je to všeč. Kaj operator spajanja v JavaScript? PUBLIKA: znak plus. Pozabil si, da dajo kodrasti naramnicami nazaj. JASON Hirschhorna: Great. In tu je še ena vrstica kode manjka. Kdo mi lahko pove zadnjo linijo kode nam manjka? PUBLIKA: Just točno isto stvar, samo s hišo namesto imena. Velika JASON Hirschhorna: Great. In vaša sintaksa je ravno prav za pridobivanje stvari v pridruženem matriki. Tako v dejanskem kvizu, ste dejansko obupal, dokler tukaj. Torej je ta koda, ki za vas. Vse, kar si moral napisati bili ti štiri vrstice in ne pozabite zaprite oznako tabele. Vidva dejansko storila Vse to in še več. Ja. PUBLIKA: Torej bi bilo funkcionalno Enako, če si imel, da so vsi v ena velika print klic, kajne? In potem samo združijo it on, et cetera? JASON Hirschhorna: Tako? OBČINSTVO: Ja. Da le ne bi bilo dobro, če bi bili gledaš na to, ko ste pregledovanje element na vaši spletni strani, kajne? JASON Hirschhorna: Se strinjam. Če sem naložil to spletno stran, bi moral biti lahko vidite to kodo PHP, kdaj? PUBLIKA: Ne JASON Hirschhorna: Ne In pravzaprav, jaz ne bi. PUBLIKA: To ni HTML, kajne? Tako da boste morda lahko - JASON Hirschhorna: Torej, to bi PHP oceniti strani strežnika. PHP je vedno ocenjevati na strani strežnika, tako da Niti nisi mogel videti PHP kodo. PUBLIKA: Ampak bi morali biti sposobni videti rezultat odtise. JASON Hirschhorna: Right. In to pošteno morda ne dal vse na liniji. Morda bi ga oblikujte lepo za vas, ali bi jo dal v eni vrstici. Nejasno. Ampak ja, dobra točka. PUBLIKA: Kako to, da je no besedilo poudarjanje za koli od PHP ukaze? Ker se spomnim videnje tega. JASON Hirschhorna: Ker je . HTML datoteko tu gor na vrhu. Tukaj imaš. PUBLIKA: Če bomo naredili začetno metodo s for zanke, v redu, če bomo želel dostopati do TFS, bi narediti TFS nosilec 0 nosilec, nato [Neslišno]? JASON Hirschhorna: Bi - Praviš, da za for zanko, boste bi naredil v znakovnem dolarja TFS nosilec 1 ali jaz, seveda. Ali znak za dolar zaprem konzolo in nato kvadratni nosilec narekovajih, seveda. V redu, odlično. Imamo eno bolj hitro enega. Sedem minut, zato želim iti čez to. To je še en primer. Zdaj smo povsem drug jezik. Imamo nekaj kode HTML. To je neke vrste mali na zaslonu, vendar Želim, da pogledaš skozi to res hitro in lahko nekdo povej mi, če bi bil jaz naložite to spletno stran, kaj bi jaz vidim? Opisati vse, kar je približno Ta spletna stran. Noah? Kaj bi rad videl? PUBLIKA: Koda na sprednjem koncu Google z občutkom za besedila in gumb za pošiljanje. JASON Hirschhorna: In kaj bi gumb rekel? PUBLIKA: Pošlji. Oh, iskanje. Žal mi je. JASON Hirschhorna: Bilo bi rekli iskanje. Ne pozabite, ime. Kaj bomo uporabili ime? To ime atributa, kaj je ki uporablja? [interposing GLAS] PUBLIKA: To je njeno ime za takrat, ko je to kliknil? JASON Hirschhorna: To bi lahko bil. Ampak, kaj smo na splošno videti - zakaj dajemo to ime čakalne vrste? Zakaj vidimo, da? Ja. PUBLIKA: Ali ni to postal indeks o super globalne spremenljivke? JASON Hirschhorna: Ja, običajno ob ta oblika bo predložila, in nato, če bi to predložiti? Na kateri strani? Noah, kaj stran bi to predložiti? PUBLIKA: Nisem prepričan. JASON Hirschhorna: Kje bi ga lahko najdemo? Če se vam zdi, kaj stran trdi, da? Kaj vrstico kode? PUBLIKA: akcijski Form. JASON Hirschhorna: Točno tako. Ukrepanje. Zato meni, da iskalni strani. Backslash iskanje. Tako da je ravno prav. Na kakšen način? PUBLIKA: Pojdi. JASON Hirschhorna: Pojdi. Točno tako. Zato smo to prebrali. To se dogaja, da se oblika. Ti si ravno prav. Dve stvari na obrazcu, naslov stran in vrh bo Google. Torej, tukaj sta dve vprašanji, ki jih je treba mogli odgovoriti o tej strani. Če se to HTML živi na tej spletni strani in uporabnik vnese napako v tem besedilu Polje tukaj, bo kaj URL Uporabnik znašla na oddajo obrazca? Zato smo to imeli tukaj. Jaz grem nazaj ta stran, čeprav. Pisal bom to prvi del. Lahko vsi videli tukaj? OK, Mario, misliš, da veš? Na kateri strani? PUBLIKA: Leva poševnica iskanje. JASON Hirschhorna: Grem premakniti tukaj. OK, backslash iskanje vprašanje Oznaka q enako napako. Ima kdo kak drug predlog? Ja. Torej, kako bomo to dobili? No, smo videli že prej. In ti si prišel z že prej. Imeli ste prav, Noah, da se nam tožba povedal, kaj Stran bomo. Vemo tudi, na kakšen način. Delamo dobil. In razlika med get in delovno mesto se da dobiti zaslone v URL in post ne. Torej, če sem napisal delovno mesto tam v Metoda, kaj bi bilo drugače? PUBLIKA: Treba bi bilo samo biti iskanje slash. JASON Hirschhorna: Bilo bi Pravkar se drastično iskanje. Nič tukaj bi se zgodilo. Ampak zato, ker je dobil, URL je prikazan na naslednji način. Najprej smo videli vprašaj in bomo videli ime in vrednost. Pravijo, da je bila ena drugo polje z besedilom in Sem dal to ime R in I vhoda vrednost, gosenice. Kaj bi zdaj to videti? Imam še eno tekstovno polje dajem ime r in vrednostjo gosenice. PUBLIKA: Po baru želite imeti ampersand gosenica. JASON Hirschhorna: To je Ne ampersand. PUBLIKA: Ali pa karkoli in simbol. JASON Hirschhorna: Ja, no. Imeli ste prav, sem se zmotil. To je, kot je g. PUBLIKA: Caterpillar. r enak gosenico, žal. JASON Hirschhorna: Ali obstaja no r tam? PUBLIKA: Ne, ni. JASON Hirschhorna: se bomo pogovorili o tem, da po pouku. Točno tako. Tako in je pravilna. In potem bi lahko imeli mnogi med njimi, in vsi bi se združijo skupaj z da in. Tako da je ravno prav. Tukaj je še eno vprašanje. Skico Ta HTML je DOM, začenši z dokumentom. Kar lahko storimo, da v dveh minutah. Bomo pa tukaj. Jaz bom šel nazaj na tej spletni strani. OK, bomo začeli z dokumentom. Kaj je naslednje? Torej, ko berete skozi - PUBLIKA: HTML. JASON Hirschhorna: HTML je naslednji. Mi smo šli oznako z oznako. Kaj je po HTML? PUBLIKA: Head. JASON Hirschhorna: Head. Kaj je po glavi? PUBLIKA: Naslov. JASON Hirschhorna: Naslov. In naziv ima vrednost Googla, ampak jaz ne bom pisati, da za zdaj. OK, kje se telo iti? PUBLIKA: Tudi snele v HTML. JASON Hirschhorna: Točno tako. Body odlepi od tu. Ali vsi videli, zakaj da je tako? Moral bi verjetno lahko ugotovimo Ta ven, preveč, tudi če ne bi imel to lepo zamik. Zamik nekako mu daje proč, vendar pa lahko vidite, da je tag head je zaprt, kar pomeni, smo verjetno Ne morem iti dol. Moramo iti nazaj, da ne glede je bil tik pred glavo tag ali po tem. Zdaj sva si bot z glavo tag. In v telesu velja obliki. Pod obliki, obstajata dva vhoda. OK. To je vse, kar imam. Quiz 1 je jutri. Tako sem navdušena za vaju. To se dogaja, da je trobljenje. Če imate - PUBLIKA: [APPLAUSE] JASON Hirschhorna: Oh nehaj, nehaj. Ampak ne, hecam se. Če imate kakršno koli vprašanje, kajne po rubriki, bom zunaj. Če imate kakršnakoli vprašanja nocoj, vas prosimo, da pokličete, e-pošta, gchat, Nosilec me golob. Srečno jutri. Imajo čudovit odmor zahvalni dan, če vas ne vidim pred tem. In se vidiva po zahvalni dan v torek za naš končni oddelek stranka doslej. PUBLIKA: [neslišno]. JASON Hirschhorna: Great. OK, bom videl, fantje Naslednja teden, ali v dveh tednih. In veliko sreče jutri.