>> JASON Hirschhorn: Welcome, všetci, až 10. týždni.
To je vzrušujúce týždeň, pretože zajtra je Quiz 1, ktorý dostaneme
v druhej.
Dnes v sekcii sme ísť cez niektoré zdroje pre kvízu, a
Potom som sa odpovedať na všetky otázky, ktoré chlapci majú.
A my budeme konečne skončí s niektoré problémy praxe.
>> Môžeme stráviť celý oddiel odpovedanie na otázky.
Môžeme stráviť celý oddiel ísť cez problémy praxe.
Budeme len rozšíriť vyplniť priestor a čas máme.
>> Tak som každý týždeň dal tento zoznam, ale to je obzvlášť dôležité v tomto týždni.
Pre štúdium, ak nemáte začal už, ach jo.
Ale dúfajme, že ste začali už.
A vy sa prechádza materiálov a zdroje uvedené tu.
Ja by som Veľmi odporúčam Rad z nich.
>> Najmä, skriptá sú nesmierne dôležité a užitočné.
Study.cs50.net poskytuje veľký náter na mnohých
témy sme prebrali.
To tiež má niektoré skvelé praxi problémy.
A potom, Google je skvelý, taky.
Neviem, čo to by ste použiť pre.
Ale použiť Google, rovnako.
>> Osloviť ma, či máte nejaké otázky, pripomienky alebo obavy.
Pozrite sa na zasadnutí recenzie fotografie z minulej noci.
Alebo, ak budete mať nejaký čas, Pozrite sa na video.
Poskytujú veľa užitočné materiály a informácie.
A pokúsiť sa pokryť, ak nie všetky, veľa témy sme na ktoré sa vzťahuje, a že
mohli vidieť na kvíz.
>> Keď už hovoríme o teste, ktorý bude zajtra.
Je to dlhá 75 minút.
Mnohí z vás sa to berie v 1 hodín, a niektorí z vás sú
brať to v 5:30.
V súčasnej dobe ste ju užívať a Poloha ste ho užívať, uistite sa, že
môžete sa pozrieť na dokument na domovskej stránke CS50.net.
>> Nezabudnite, že môžete získať jeden 8 1/2 o 11 listu vziať so sebou.
Častokrát, ľudia nemajú používať tento list vôbec v priebehu testu.
Ale v skutočnosti je to neuveriteľne užitočné pre štúdium.
Takže dávať dohromady, že list je to, čo Strávil som asi tri alebo štyri hodiny
robil, keď som študoval na CS50, a že bol ľahko najužitočnejší
spôsob, ako by som mohol študovať na kvíz.
Takže aj keď máte nejaké iné osoby je Štúdie sprievodcovi sa pozrieť na a
použiť ako referencie, vrelo odporúčam vytvoriť vlastný študijný sprievodca, uvedenie
že veci dohromady.
To naozaj vám pomôže učiť sa všetok materiál.
>> V neposlednom rade je v tejto časti, po zajtra kvíz je tu ešte jedna
viac prednáška -
budúci pondelok.
Je tu ešte jedna časť, nie je ďalší Utorok pred Dňom vďakyvzdania, ale
Utorok po ktoré.
Budeme sa stretávať na konečnej zbohom strany a tiež robiť nejaké pohode
vecí, ktoré vám chlapi nadšení ďalšie štúdie v informatike.
>> Je tu ešte jeden projekt, jeden spravodlivé, jeden hackathon.
Sa blížime ku koncu CS50, ktorý je vzrušujúce -
ale tiež, ak ste rovnako ako mi, trochu smutné.
Než som sa ísť ďalej, má niekto nejaké otázky o tom, čo
Prebrali sme tak ďaleko?
>> OK, tak poďme na niektoré otázky že máte na kvíz a témy
by sme mohli pokryť.
Tak to je zoznam, ktorý som dal dohromady.
To nie je v žiadnom prípade vyčerpávajúci, ale dúfajme, že bude osviežiť pamäť, ak vám
nejaké otázky týkajúce sa niektorého z nich témy, alebo ak máte otázky týkajúce sa
Problémy praxe z kvízov v minulých rokoch.
>> Mal som pár otázok, ktoré boli e-mailom na mňa, ale ja chcem odložiť
na tie, na sekundu.
Má niekto nejaké otázky, problémy, ktoré nerozumeli,
Odpovede oni nerozumeli aby sa nám začalo?
Avi.
>> DIVÁKOV: Môžete jednoducho ísť cez DOM a Ajax naozaj rýchlo?
Rovnako ako to, čo potrebujeme vedieť, alebo by pochopiť, o nich?
>> JASON Hirschhorn: Budem odpovedať Všeobecne táto otázka, čo mám
potrebujete vedieť o danú tému x?
Pretože mám pocit, že mnohí z vás idú a opýtajte sa ma to, alebo sú
zvedavý, že.
Takže do tej miery, že téma bola vzťahuje na prednáške, alebo časť, alebo na
study.cs50.net, problém nastavenia, môžete by mali byť oboznámení s tým.
>> Takže nemusíte poznať každý typ z tagu, ktorý je k dispozícii vo formáte HTML alebo
každý typ atribútu alebo majetku si môžete dať niečo v CSS.
Ale ak ste to videli v príklade s lekcií, ak ste to videl na problém
set, asi by ste mali poznať s ním, najmä čo ste videli
v prednáške.
Takže sme diskutovali o dokumente objektový model trochu v
časť, viac v prednáške.
Mali by ste byť oboznámení sa, že veľa z toho.
>> A vy by ste mali byť oboznámení s Ajax v rovnakom rozsahu.
Nikdy sme videli neuveriteľne pokročilý alebo Zložitejšie príklady Ajax, takže
nebudete sa spýtal robiť niečo neuveriteľne komplikované.
Ale môžete byť požiadaní, ako to mám vykonať volanie Ajax pomocou jQuery?
Čo je niečo, čo som videl rad z doby pred, a to ako v
preskúma zasadnutí a v prednáške, a je to len dva-ish riadkov kódu.
>> Takže to je niečo, čo by ste mali poznať.
Ale zase, na všetkých týchto tém, ak ste videli
pred, je to fér hra.
A môžeme vás požiadať - samozrejme, že sme sa opýtať, si, čo
ešte nevideli.
Niečo, čo nemáte kódovanie nevidel.
Čo neznamená, že máte nie Videl nástroje na riešenie
tento problém pred.
Videli ste tie nástroje.
>> Napríklad, na kvíz 1, v prípade, budete musieť kód strlen.
Sme pred kódované strlen.
Ale viete, ako používať pre sláčiky, viete, ako používať, ak podmienky.
Viete, ako písať premenné v C To bude to isté tu.
Nie ste bude požiadaný, aby niečo, čo ste ešte nevideli, ale
môžete byť požiadaní, aby, ako je, dať niečo spoločne novým spôsobom, alebo
riešiť iný typ problému.
>> Ospravedlňujem sa, že to nie je špecifické pre váš otázka, ale nemôžem odpovedať na
každý tému, čo si robiť alebo nemusia vedieť.
Ale tiež sa ospravedlňujem, to posledné, čo na tom.
Sme strávili oveľa viac času Na odkaz zoznamy, ako máme na Ajax.
Ste nepoužili Ajax v probléme sade.
Jedným z hlavných rysov, ktoré problém nastaviť, aby bol odkaz zoznamy.
A sme strávili veľa času v prednáške a časť jeho použitie.
>> Takže, je pravdepodobné, zoznam odkaz príde viac často na teste, ako Ajax vôľu.
Alebo otázky majú čo do činenia s odkazom Zoznam bude stáť za viac bodov.
Takže si určite zameraním a úzky v na veci, ktoré sú viac
pravdepodobné, že príde, pretože máme strávil viac času na ne.
>> OK akékoľvek ďalšie otázky?
Jo.
>> DIVÁKOV: Môžeme ísť cez použitie anonymné funkcie v JavaScriptu?
Som tak trochu zmätená o tom.
>> JASON Hirschhorn: Takže v JavaScripte -
Snažím sa myslieť, ako som mohol napísať to na -
tak sa poďme skutočne otvoriť tento kód.
Tak to je kód, ktorý sme robili minulý týždeň.
A videli ste to skôr, ak boli tu v sekcii minulý týždeň.
Alebo ste videli niečo, čo podobne ako predtým.
>> Ale môžete sa pozrieť na prvom riadku.
To je, ako začať -
každý videl predtým.
Ak chcete dať nejaký kód JavaScriptu, môžete dať dovnútra to za predpokladu, že
používate JQuery.
To sa hovorí, nerobte nič do tohto dokumentu načítaný.
>> A potom, Curt, vidíte tu robíme niečo také -
Funkcia otvorené zátvorka, uzavretá zátvorka.
Takže sme to dávať to funkcie meno.
Nebudeme definovať túto funkciu má bežať a potom
hovoria banda krát.
Sme len hovorím, tento dokument už sa funkcie.
Pár vecí, ktoré robiť.
>> A my nechceme tráviť čas pomenujte ho alebo ju uložiť na
večnosť.
Chceme len urobiť pár vecí.
Takže anonymné funkcie triedenia neslúžia tomuto účelu.
Keď nebudete používať niečo znovu a znovu, takže nemusíte
dať mu meno - stačí Chcete ju raz použiť -
by ste len povedať, funkciu, Napríklad v tomto prípade, a ty si jenom
definovanie niečo, čo by ste mohli dať meno.
>> Ako by sme mohli vytiahnuť túto funkciu sa a dať mu meno a potom zavolať, že
funkcie tu.
Ale nemusíte, pretože nemáme chcete strácať čas dávať to meno alebo
plytvanie niečo v našom priestore mien.
A uvidíte, že veľa.
Napríklad, vidíme, že veľa v tomto kód, ale videli ste to skôr, keď
kliknete na niečo -
spustiť tento typ kódu.
>> Mohli by sme definovať kód, ktorý chceme bežať, keď klikneme, v tomto prípade,
toto číslo, ako samostatná funkcia a potom spustite túto funkciu.
Ale v tomto prípade, my jednoducho skákanie tento krok a pohybuje sa do tu a
len na definovanie všetko že chceme, aby sa to stalo, a
nie dávať to meno.
To ešte nemusí mať odpovedal na vašu otázku.
>> DIVÁKOV: Nie, to robí.
Myslím, myslím, že som to naozaj dostať, prečo by malo byť
fungovať vôbec, aj keď.
Vzhľadom k tomu, že to nie je naozaj volaná.
To nie je naozaj mať meno.
>> JASON Hirschhorn: Je to funkcia v pocit, že je to rad krokov,
ako by ste dať do funkcie.
A potom, že je dôvod, prečo hovoríme to anonymné funkcie.
Nebudeme sa dať mu meno.
Nebudeme strácať snaží pomenovať, ale čo sme mohli.
>> Anonymné funkcie, budete môže vždy dať meno.
Tak napríklad tento kód priamo tu, by sme mohli dať tento kód vnútri
funkcie a potom volať Táto funkcia tu.
Namiesto toho hovoríme, nejdeme obťažovať s tým.
Sme proste budem písať to všetko tu.
>> Je to ako niekedy, keď píšete štyri slučky v C - chlapci
videli predtým - možno ste iterácia cez forloop
do i rovná 0.
Aj je menšia ako strlen.
Alebo idete cez niektoré poľa, môžete ušetriť rad
index aj v nejakej premennej.
A môžete použiť túto premennú.
Takže nemusíte prepisovať pole držiak aj znova a znova a znova.
>> A to je niečo ako dummy premenná.
Nie je to slúži mnoho účel iný než aby váš kód trochu čistejšie
a čitateľnejší.
Podobné funkcie tu.
Len je to trochu jednoduchšie, ale funkčne nie je žiadny rozdiel.
Znamená to, že odpoveď na vašu otázku?
>> DIVÁKOV: Áno.
>> JASON Hirschhorn: OK ..
Mario?
>> DIVÁKOV: Včera často kladený funkcie zátvoriek udalosť.
Znamená to, že niečo?
Alebo je to pre veci, ako je že by to
document.ready funkcie udalosť.
>> JASON Hirschhorn: Videli sme to, a opäť sa jedná o menšie veci, ktoré
asi nechcem, aby trávia príliš veľa času na.
Pretože niekedy nechcem ľudí sa zbláznil, že nemajú
počul o týchto veciach, že veľa.
Ale hovorili sme trochu o obslužné rutiny udalostí.
Takže sa niečo stane, a potom sa Táto funkcia sa vykoná.
A potom sme tiež chcieť vedieť, niektoré detaily o tom, čo
sa stalo v tomto prípade.
>> Takže myslíte, že späť do problému nastavenie 4.
To je asi najjednoduchší spôsob, ako pochopiť, že v prestávke von.
Tam bol nejaký kód -
ako udalosť sa bude diať, ale udalosť môže znamenať veľa vecí.
Ak by mohlo znamenať, že myš je klepnutie, je by mohlo znamenať, stlačíte kláves so šípkou, et
cetera, et cetera.
>> Ale je to všetko uložené v tejto všeobecný čomu sa hovorí udalosti.
A potom môžeme povedať, že je Táto udalosť táto vec?
Alebo je táto udalosť táto vec?
Alebo, aké sa stalo sa tejto udalosti?
Takže to je dôvod, prečo môžete vytvoriť, že premenné tam uložiť, že ďalšie informácie
o tom, čo presne sa stalo, že budete chcieť
využitie vo funkcii.
Ale opäť, to je pravdepodobne jeden z menej dôležité veci byť veľmi
poznajú.
>> OK, aké ďalšie otázky majú ľudia mal, alebo úskalia, ktoré ste
chyba pri kontrole?
Budeme sa späť do tohto zoznamu.
Čo v praxi kvízy, ak ľudia vzali tie už?
Aké sú niektoré problémy, ktoré zakopol chlapci sa?
Viem, že na to, že v minulom roku kvíz bolo naozaj ťažké.
>> DIVÁKOV: Môžete mi vysvetliť, čo útok SQL injection je?
>> JASON Hirschhorn: OK, dobre.
Tak sme sa rozprávali o tom trochu.
K dispozícii je prednáška o bezpečnosti.
A opäť, ako som už spomenul, to je stranou.
Ale budete frustrovaní na kvíz keď si prečítate nejaké malé dvojbodová
otázka, a vy ste rád, keď som nikdy dozvedieť, že?
>> Všetky tie veci v týchto prednáškach že ste si nemyslel, že ste potrebovali
viete, alebo by ste mohli zakrývať, pretože nemali čo do činenia s
Problém set, ktoré budú pravdepodobne prísť znova na kvíz.
Takže, cool, zábavné veci, ktoré ste práve Myslel David hovoril pre vás
tešiť, bol ti pre vás baví a aby sa vám jednoducho byť super
nadšenie učiť sa všetko je potrebné sa naučiť
o informatike.
Tieto veci tiež prísť na kvízy.
Takže, aj tieto malé veci, ktoré neboli priamo vzťahujú k vášmu problému
nastaviť, ako vy ste oboznámení s od Kvíz 0, bude pravdepodobne prísť.
A to je dobrý príklad niečo.
>> Takže SQL injection útokov je, keď ste získať nejaké informácie od užívateľa a
Ak ho chcete vložiť do tabuľky pomocou SQL INSERT, ale
ani dezinfikovať vstup dopredu.
Takže, samozrejme sme videli SQL príkazy.
Ja si len otvoriť -
poďme -
pôjdeme na preskúmanie -
Myslím, že kto to vzťahuje?
Myslím, že Samala urobil.
Takže sa môžeme dostať -
>> DIVÁKOV: Kde si to našiel?
>> JASON Hirschhorn: Takže ak idete do CS50.net, kvízy, a potom môžete
prejdite na a získať snímky zo zasadnutia preskúmanie.
Ale vidíte, že je to dobrý príklad z útoku SQL injection.
Berieme nejaké informácie od užívateľa a oni nám reťazec, a potom sme
Chcem vložiť tento reťazec do databázy.
Všeobecne budeme na dezinfekciu, že vstup, čo znamená, že sú niektoré
znaky, ktoré sú nebezpečné.
>> Napríklad v SQL reťazci, Tieto citácie -
apostrof alebo dvojité úvodzovky -
niečo znamenať.
Znamenajú ukončiť tento reťazec tu.
A tak v prípade, že užívateľ dáva jeden alebo dvojité úvodzovky, by mohli byť
snaží podraziť svoj SQL dotaz a vložiť nejaké zlé veci do neho.
A ak áno, aby mohli získať ovládanie vašej databázy, alebo robiť nejaké
veci, ktoré nechcete, aby robili.
>> Takže to je dôvod, prečo vždy, keď sme sa SQL otázky, sme dezinfikuje vstup pred
uvedenie do databázy, ktorá znamená, že uniknúť tieto znaky.
Budeme hovoriť o tom, že v sekunde.
Ale dlhý príbeh krátky, SQL injection útok, ak nechcete robiť, že -
ak nechcete starať o vstupe oni vám dali pred uvedením svojho
databázy, ktoré môžu, ako vidíte dole tu, spustiť dotaz, ktorý v skutočnosti -
dali vo svojom kóde sem a Tento vyberte riadok tu dole vyberie
všetko od stola, bez ohľadu na z čoho je uvedený heslo.
Pretože máte alebo 1 rovná 1.
>> Takže je to v podstate, dlhý príbeh krátky, spôsob, ako prevziať databáze.
Otázkou teda pre vás, je kde p sád 7 si dezinfikuje všetky
vstupy do vašich SQL dotazov?
Kde sa tento krok sa stalo?
Kde sa zabránilo SQL injection útoky z deje s set 7?
Jo.
>> DIVÁKOV: Crypt?
>> JASON Hirschhorn: Takže to nebola krypta.
Nechceli sme, aby to budete robiť pre to najmä problém nastaviť, ale to sa stáva
vo funkcii dotazu.
Vlastne sme to napísal pre teba, a my sme sa starali o
dezinfekcia vstupov pre vás.
Ale v minulých rokoch, študenti mali zadajte vstupy na vlastnú päsť.
V p sade 7, mnoho z vás -
dovoľte mi otvoriť jeden iný súbor.
>> Takže si všimnete tu veľa ľudí, v probléme nastaviť 7, nevolal
túto funkciu na struny.
Táto funkcia, špeciálne znaky, opäť -
Tento reťazec môže mať niektoré veci že v HTML na mysli niečo iné.
Rovnako ako rovnátka, štvorec, alebo pod uhlom Držiak na mysli niečo v HTML.
>> A tak, ak tlačíte, že sa na obrazovka alebo ak si len brať a
tlačiť, ktoré sa do vášho HTML, ktoré by mohli robiť niečo, čo nečakali.
Takže htmlspecialchars ide cez všetky tie, znaky, ktoré majú zvláštnu
stretnutia a uniká im.
Tak sa dostane vytlačiť ako text Ak chcete vidieť, skôr než
skrutkovanie do vášho HTML.
Nazvali sme túto funkciu v záhlaví.
A veľa ľudí zabudla volanie tejto funkcie v
kód, ktorý ste písali.
>> Tak, napríklad, v prípade, že názov tovaru mal uholník v ňom a ste zabudli
túto funkciu volať, že uhol Držiak by mohol zhodiť čo
vaše HTML vyzeralo.
Ale volanie tejto funkcie sa uniknúť že tak to v skutočnosti vytlačí ako
uholník a nevyvoláva z vášho HTML kódu.
>> Z rovnakého dôvodu sme videli, niekedy, lomítka pred úvodzovkami v
printf riadok, pretože nechceme dvojité úvodzovky dole reťazec.
Chceme im tlačiť na obrazovku.
Takže všetko je to rovnaký nápad.
Znamená to, že odpoveď na vašu otázku?
>> DIVÁKOV: Druh.
>> JASON Hirschhorn: Myslíte si, majú náväznosť?
>> DIVÁKOV: Myslím, že SQL Injection Útok má čo do činenia s tým?
Nechápem, ako dva sú v spojení.
Prečo by ste urobiť specialchars?
>> JASON Hirschhorn: OK, takže SQL injekcie útok je, keď si aplikujete
niektoré škodlivé reťazca do niekoho je programu, a jednoducho si ju a spustite
SQL dotaz s reťazcom ste im dali.
Ako môžete vidieť tu dole, že by mohlo byť problematické.
Takže spôsob, ako zabrániť proti ktorej je budete mať svoj reťazec, ktorý dávajú
si - tak tento reťazec priamo tu -
a vy ju dezinfikuje.
Môžete uniknúť všetky veci, ktoré sú potenciálne problematické.
Takže sa nemusíte interpretovať ako niečo to znamená, že niečo.
>> A príklad, ktorý sa HTML je táto funkcia.
Takže je to rovnaká myšlienka tu.
A ja som bol len zobrazujúci ďalší Príkladom toho, kedy ste
pred videli túto myšlienku.
Unikajúcich užívateľský vstup pred tlačou že sa na obrazovke alebo uvedenie
v príkaze SQL.
>> DIVÁKOV: Takže v tomto prípade, že užívateľ je preberať s programátorom.
>> JASON Hirschhorn: Áno.
So všetkými z týchto bezpečnostných útokov, to je vždy všeobecne užívateľ, alebo
niekto sa snaží neporiadok s vami, programátor.
A to sú spôsoby, ako môžete brániť proti nim.
>> DIVÁKOV: Takže mám otázku o hašovacej funkcií.
V Quiz 1 z roku 2011, sú tam dva otázky o jednostranných hash.
A ja som len premýšľal, čo to znamená.
>> JASON Hirschhorn: OK, ktorý kvíz?
2011?
>> DIVÁKOV: Jo.
>> DIVÁKOV: Quiz 1?
>> DIVÁKOV: [nepočuteľné].
To je ako hash hesla.
To nie je uvedenie veci -
>> JASON Hirschhorn: Aké stránky to bolo?
>> DIVÁKOV: Myslím, že to bolo 9 alebo 10, alebo oboje.
>> JASON Hirschhorn: V poriadku, choďte do toho, Curt.
Môžete odpovedať, keď sa pozrieme.
>> DIVÁKOV: Myslím, že to hovorí o hash hesla.
Rovnako ako, keď niekto zadá heslo, to zase do šifrovaného vec.
To je heslo hash, ktorý je sa líši od funkcie hash, ktorý
dáva niečo do hash tabuľky.
>> JASON Hirschhorn: Uvidíme.
Dovoľte mi, aby som vytiahnuť to, čo dať ako odpoveď.
A potom budeme chodiť cez neho.
>> Takže Curt dal veľký príklad o jednosmerný hash.
Keď sme videli predtým, sme vziať heslo a zase -
pamätajte, že v p sade 7, možno niekto mať heslo, ktoré je práve heslo,
ale potom sa dostane do šifrovaná niektoré naozaj dlhá vec.
Jednosmerný hash znamená, že je veľmi ľahké prejsť od jedného spôsobu k druhému, ale
je to veľmi ťažké prejsť od iná cesta späť.
>> A tak viete, keď ste boli kontrole heslá ľudí v probléme
sada 7, mali by ste vziať svoje -
tak, napríklad, že by si prial, aby zmeniť svoje heslo, môžete ich požiadať
pre ich staré heslo.
Vzal si svoje staré heslo.
Môžete šifrovaná to.
A potom porovnal dva šifrovanie skôr než unencrypting originál
jeden, pretože je to naozaj ťažké ísť týmto spôsobom.
Jo.
>> DIVÁKOV: Ako do hĺbky robí naše porozumenie telnet má byť?
>> JASON Hirschhorn: Ak už bolo spomenuté krátko v prednáške, len krátky
porozumenie.
Opäť platí, späť na odpoveď do AVI otázku -
viac vecí prísť, tým je pravdepodobnejšie, sa budete musieť byť veľmi
zoznámiť sa s nimi.
Ak sa už len prísť na prednášku, to je len jedno miesto.
Ale keď príde na prednáške, oddiel, a problém nastaviť, potom
pravdepodobne musieť byť veľmi zoznámiť sa s nimi.
>> Takže som mal otázku od skôr o -
znamená to pád 2010 -
Quiz 1, poďme sa vytiahnuť -
táto otázka na komíny a fronty, ktoré sme stráviť spravodlivý trochu času
hovorí o v prednáške, a to aj keď sme naozaj
kedy trafil v sekcii.
Tak na túto otázku dáva vám sériu príkazov a otázkou, čo
sa vytlačí v tomto prípade.
Tak toto je úplne rozumná otázka ktoré by mohli byť požiadané o vás
chlapci, a potom vy by byť schopný na ňu odpovedať.
>> Tak prečo sa na to pozriete na 30. sekúnd, a potom, ak niekto chce
navrhnúť odpovede na mne, a potom budeme chodiť cez neho.
Tak jo, kto má odpoveď na otázku 27?
Jo.
>> DIVÁKOV: Je to 1, 2, 3, 3?
>> JASON Hirschhorn: To je pravda.
27 je 1, 2, 3, 3.
Tak sa poďme pozrieť na to, ako sme sa dostali, že.
>> Po prvé, hovoríme, ak s je front, čo sa má vytlačiť?
Takže q je prvý dnu, prvý von.
Už sme videli, že.
Videli sme obraz ľudí čakanie na Apple
Uložte si kúpiť nejaký produkt.
Prví ľudia v sú prví ľudia z
Prvou vecou, ​​vo fronte sú prvé veci von.
>> Takže ak budeme tlačiť niečo do fronty, môžete tlačiť je 1, potom vyskočí na 1.
Pop jednoducho znamená vziať von.
V tomto prípade stačí vziať niečo von.
Berieme sa prvý to, že je to 1.
Tak dáme veci, ktoré sme tlačiť sa tu.
To už nie je v našej fronte.
>> Potom sa budeme tlačiť na 2 a 3, a sme pop off prvá vec.
Opäť, pretože to je fronta.
Tak sme si dva, potom dáme na inom 3 a zavolať znova pop.
Naše 3 je prvý.
>> A potom sme mali veľa iné veci a volanie pop.
Ale opäť, pretože to je front, prvý dnu, prvý von.
Berieme z prvá vec, , Ktorá bola niekedy dať dovnútra
To je náš 3.
A v tomto prípade sme sa neboj o všetky tie ostatné veci.
Tak to je v prípade, že je fronta.
Máte otázky na fronte?
>> Zásobník je odlišná.
Čo je skratka máme pre pochopenie stoh?
>> DIVÁKOV: Posledné dnu, prvý von.
>> JASON Hirschhorn: LIFO, myslím.
Posledný dnu, prvý von.
Takže sme videli príklad stohu zásobníkov v jedálni.
Nech zásobník je na vrchole dostane zdvihol.
A potom, ak nová podnosy prísť v, ktoré sa vložil na vrchol.
A potom, čo je na hore dostane zdvihol.
Takže tie zásobníky na spodnej moci zostať tam na chvíľu.
>> V tomto prípade, opäť budeme kresliť na to.
Sme tlačiť na jedného, ​​tak jeden je prvý v rade.
A my pop niečo off.
A je tu len jedna vec, tam, tak sme sa presunúť jeden tu dole.
Potom dáme na 2 a 3 a sme pop niečo off.
>> Ale znova, pretože to je fronta -
alebo je to zásobník, trochu -
berieme všetko, čo bolo v poslednej.
Či už je v poslednom je ako prvý.
A 3 je posledný.
Takže sme dali 3 tam, potom dáme na ďalšie 3 a my
pop zase niečo.
A konečne, dáme na 4, 5, 6 a 7, a tu sme pop.
A pretože je to zásobník, berieme čo bolo uvedené v minulom a písať
že tu dole.
Takže sme skončili s 1, 3, 3, 7.
Má niekto nejaké otázky týkajúce sa zásobníky alebo fronty, alebo tento príklad?
>> OK.
Poďme späť na zoznam tém.
Nie, že by tadiaľ, tadiaľ.
Aké ďalšie otázky, ľudia majú?
>> DIVÁKOV: Neviem, ako je dôležité to je, ale ja som bol zmätený
Rozdiel medzi rôznymi typmi jazyky, ako je značkovanie, zostavovať,
interpretované.
>> JASON Hirschhorn: To je dobrá otázka.
Myslím, že je trochu dôležité, tak poďme rýchlo ísť cez neho.
Veľké jazyky sme videli doteraz sú C, PHP a JavaScript, pokiaľ ide
z programovacích jazykov.
HTML, ako ste sa zmienil, nie je programovací jazyk.
Je to značkovací jazyk.
A potom máme CSS, ktorý je tiež nie je programovací jazyk.
>> Tiež sme videli SQL, ktorý nie je programovací jazyk jeden.
Takže SQL umožňuje písať dotazy na databázu.
HTML je značkovací jazyk.
To určuje, ako veci sú štruktúrované.
A CSS umožňuje štýl veci.
To je pravdepodobne miery za to, čo potrebujete vedieť o tých troch.
Ale to je ešte zaujímavé postavy z rozdielov medzi C, PHP,
a JavaScript.
>> Takže jeden z najväčších rozdielov, ako ste spomenul, je to, ako sú
zostavil, alebo čokoľvek ekvivalent je.
Takže C je zostavený.
Radi by sme sa vždy spustí kompilátor.
A potom, kde sú vaše chyby Pri spustení C kompilátor?
Tam, kde sa to ukáže Chyby v kóde?
Ako viete, že je to Chyba v kóde v jazyku C?
>> DIVÁKOV: To vám ukáže, v termináli.
>> JASON Hirschhorn: Ukazuje vás terminálu, ako ste kompiláciu.
A ak tam sú chyby, je nebude v skutočnosti skompilovať.
Takže viete, že tam sú chyby pravej preč, dopredu, pred vami
aj spustenie kódu.
>> Samozrejme, že môžete spustiť svoj kód a dostanete segmentation fault, ale to bolo
pravdepodobne preto, že ste niektoré hlúpe logiky veci.
Ale váš kód s technicky všetky správne a mohol bežať.
Takže C kód dostane zostavený v predstihu.
Čo je PHP kód?
Tam, kde boli chyby vo vašom PHP kódu?
Ako vieš, že si mal chyby vo vašom PHP kódu?
>> DIVÁKOV: Beh času?
>> JASON Hirschhorn: Jo, keď sa by sa spustiť, mali by ste spustiť
PHP kód na zadnej strane.
A potom by ste zobraziť obrazovku.
Môžete vidieť niektoré veci na vrchole, ale potom by ste videli, ako niektorí
oranžová, škaredý stôl.
A to by vám číslo riadku a povedzme, bla, bla, bla, toto
nefungovalo.
>> Takže PHP je interpretovaný riadok po riadku a spustený na serveri.
A potom je výsledkom poslal k vám.
Skvelé.
Uskutočnený v servera riadok po riadku a potom poslal k vám.
A ak tam je chyba, bude to poslať ste chybu, ale môžete mať
dostal nejaké veci dopredu.
Takže niektorí to mohlo fungovať, ale neskôr, môže niektoré veci nemá
nepracoval.
>> Čo je JavaScript?
Kde ste vidieť chyby JavaScriptu?
V p set 8, ak máte chyba, ako to vieš?
Tam, kde by to ukázať?
>> DIVÁKOV: V konzole, v spodnej časti.
>> JASON Hirschhorn: V konzola, na dne.
To by tiež vám číslo riadku, a to by
zobrazí sa na dne.
A JavaScript nebol vykonaný na serveri.
JavaScript bol poslaný do vášho počítača, a potom, keď bol čas plynúť
JavaScript, JavaScript bol beh riadok po riadku na
Klient, na vašej strane.
Niet servera, na strane klienta.
>> A podobne, bolo to beh riadok po riadku.
A potom, keď by ste si chybu, že by sa ukázala v spodnej časti.
Podobne ako PHP, možno niektoré z nich vykonať, a potom môžete dostať
chyba neskôr.
>> Ďalej, na rozdiel od trochu PHP, ak máš chybu JavaScript -
že ste to neurobil právo Kód pre upozornenie box -
môžete držať spustením programu.
Upozornenie box nebude fungovať, ale váš program bude v poriadku.
Len možno, že funkcie by sa nepodarí.
>> Takže je tu niečo z najväčších rozdiel v tom, ako tieto
jazyky, alebo ako programovací kód píšete skutočne hodnotené.
Existujú aj iné rozdiely v Podmienky - najväčší rozdiel
Videli sme, pokiaľ ide o premenných v rôznych jazykoch.
Takže môže mi niekto dať rozdiel medzi premennými
v troch jazykoch?
Áno.
>> DIVÁKOV: V jazyku C, sú prísne zadali.
V ďalších dvoch, sú voľne zadali.
>> JASON Hirschhorn: A Čo to znamená?
>> DIVÁKOV: To je v C, musíte deklarovať typ premennej, keď
deklarujete premennú, ako interbool alebo char.
>> JASON Hirschhorn: Výborný.
V jazyku C, sme vždy mali dať typ premennej.
A nemohli sme naozaj rôzne druhy.
Dalo by sa to urobiť celé číslo a reťazec.
Ale ako sme videli v týchto iných jazyky, v skutočnosti môžete rôzne druhy,
a nikdy dať niečo typu, kedy.
>> Tak ako môžeme vedieť, čo sú premenné v PHP a JavaScriptu?
>> DIVÁKOV: V PHP, začnú znakom dolára.
V JavaScriptu, keď deklarujete im, budete mať bar.
>> JASON Hirschhorn: Správne.
Takže v PHP, začnú znakom dolára.
V JavaScriptu, musia mať bar, aj keď niekedy to nie je v skutočnosti
mať bar.
Ale to je v poriadku.
>> Tak to je veľký rozdiel medzi premennými.
Myslím, že to sú pravdepodobne preč vrchol mojej hlavy, dve najväčšie
rozdiely medzi týmito tri jazyky.
Ale, jo.
>> DIVÁKOV: A rozsah premenných C je obmedzené na zložených zátvoriek,
kde tie ostatné, je to len rád, zomrie-li, že je to len funkcia,
ale inak, Je to -
>> JASON Hirschhorn: Správne.
Takže rozsah sa mierne líšia v C. Ako Pamätáte si, zložené zátvorky definujú
rozsah premenných.
Takže ak to bolo definované v prípade, podmienka, ktorá je vo vnútri slučky for,
premenná existuje iba tam.
>> V JavaScript, ak premenná je definovaná vnútri Ak je podmienkou -
vnútri slučky for - to bude existovať že funkcie, ale to nebude existovať
mimo túto funkciu.
Takže priestor je trochu pružnejšie v JavaScriptu a PHP.
To je odpoveď na otázku?
OK, nejaké ďalšie otázky?
Môžeme urobiť ďalšie štyri minúty otázok, potom
budeme skákať do kódovania.
>> DIVÁKOV: Môžeme ísť do Ajax a hovoriť o tom, čo to je?
>> JASON Hirschhorn: Porozprávajte sa s Avi po.
Spýtal sa na túto otázku skôr.
>> DIVÁKOV: Moja chyba.
>> JASON Hirschhorn: Žiadne starosti.
>> DIVÁKOV: Čo presne je to JSON?
>> JASON Hirschhorn: Čo je to JSON?
Aká je Vaša otázka?
>> DIVÁKOV: Len naozaj rýchlo, rozdiel medzi
print a echo v PHP.
>> Prečo ste mapu: JASON Hirschhorn Rozdiel medzi tlačou a ozvena?
Nepatrný rozdiel.
Nie, že by veľký problém.
Ale mali by ste rozhodne mapu to, a že ti dám dobrú odpoveď.
>> JSON, pravdepodobne väčší z obchodu.
Stojany pre JavaScript Object Notation.
A keď sme videli JSON sa používa?
Ak ste videli -
prečo vôbec vieš slovo JSON?
Kedy ste ho videl?
>> DIVÁKOV: Keď sme boli stále Kurzy akcií pre financie.
>> JASON Hirschhorn: Takže ste videl že keď ste boli stále
Kurzy akcií pre financie.
A prečo si ho videl?
>> DIVÁKOV: Keď sme boli načítanie všetky informácie, ktoré
prišiel v tomto formáte.
>> JASON Hirschhorn: Takže by ste si -
jo.
Len do toho.
>> DIVÁKOV: [nepočuteľné] informácie z objektu?
>> JASON Hirschhorn: Obe tie, dohromady je odpoveď
hľadáme.
Chcete, aby informácie z to ostatné webové stránky.
A vy by ste dúfať, že keď ste získavanie týchto informácií, by bolo
prezentované na vás v nejakom type štandardizovaného formátu.
>> Každý pozná asi s hodnotami oddelenými čiarkami.
Môžete exportovať tabuľku programu Excel alebo akýkoľvek typ tabuľky ako zoznam
comma-separated values.
A čiarky rozdeliť všetky rôzne odbory.
JavaScript Object Notation -
JSON -
je iný typ štandardizované usporiadanie vecí.
A to je často, ako získať informácie z našich Ajax otázok.
>> Takže v tomto prípade, máme to zo stránok Yahoo.
Oni sa vrátia veci nám v objekte JSON.
A potom vieme, pretože je to štandard, čo to je
bude vyzerať.
Takže môžeme iterovat cez pole že je sa vrátil k nám, do poľa
objekty, ktoré sa k nám vrátil.
>> My asi potrebujeme poznať kľúče, ale všeobecne vám
dokumentácie na webových stránkach, ak ste očarujúce nejaké JSON
zápis pre ne.
Rovnako tak môžete JSON kódovať objektu.
Takže je tu funkcia JSON podčiarkovník enkódování.
A tak si môžete vziať na objekt, ktorý ste vytvorili, JSON zakódovať, a
preniesť na niečo inak, ak chcete.
A JSON dekódovanie existuje aj pre podobný účel, alebo
opačný účel.
>> DIVÁKOV: Potrebujeme vedieť kódovanie pre hash tabuľky a pokusov?
Alebo sa jednoducho musí pochopiť, ako sú zvyknutí, koncepčne?
>> JASON Hirschhorn: Takže, zdvihnite ruku ak ste hash tabuľky pre p set 4
so zoznamom odkazov.
Alebo p sada 5.
Takže to bola drvivá väčšina ľudí.
P sada 5, 6, kto vie.
Už je to dávno.
>> Takže väčšina z vás urobil hash tabuľky sa zoznamy odkazov.
A pretože to je asi viac spoločný prístup, a pretože sme strávili
veľa času robí odkaz zoznamy a hash tabuľky, asi by ste mali byť
docela oboznámení s tým, ako kódovať hash tabuľky a zoznam spojení.
>> A ak si myslíte, že späť k tomuto problému set, to bolo naozaj
tak ťažké, ako ste očakávali.
A tam bolo oveľa menej Kód, než ste očakávali.
Povedal by som, že by ste mali vedieť, ako sa kód hash tabuľku alebo zoznam odkazov.
Nie, že by som sa opýtal, že nutne, ale mali by ste
Iste viete, že.
>> Tiež, keď sa pozriete do minulosti kvízy, tam bolo veľa
otázky o písaní funkcie na odkaz zoznamy alebo dvojito spojové zoznamy.
Zdá sa, že prísť každý rok.
Pravým vložiť na zozname odkaz, vpravo vymazať zo zoznamu odkazov, vpravo vložiť
pre dvojito spájať zoznam, et cetera.
Takže to, že sa cítim celkom pohodlne že by ste mali vedieť, že.
>> Pre pokus, povedal by som, že by ste mali Iste viete, ako to funguje, a možno
dať nejakú pseudokódu, ako to kód a nastaviť.
Ale to by nebolo to najhoršie, čo v svet, ak ste nevedeli, ako sa
kód je v C. To by bolo skvelé, keby vám Vedel, ako sa kód je v C, ale myslím, že
pravdepodobne pseudokódu na skúšku by byť najviac budete potrebovať
vedieť, na skúšku.
>> DIVÁKOV: Extra úver?
>> JASON Hirschhorn: A to isté sa, keď sme ísť do binárnych vyhľadávacích stromov, môžete
potrebujete - a keď ste videli v minulosti, sme urobili veľa - viete, ako
binárny vyhľadávací strom funguje.
Pravdepodobne by ste mali byť schopní nastaviť jednu v pseudo kódu.
Ale preto, že drvivá väčšina ľudí neurobil, že na problém
set, povedal by som, že je to pravdepodobne menej dôležité, že viete, ako kódovať
a nastaviť strom takého.
>> Nejaké ďalšie otázky?
Tiež môžeme spýtať sa ich na celom ako sme ísť cez niektoré problémy.
OK, budeme ďalej.
Preskočiť ten záber teraz.
>> Keď už hovoríme o stromy, to je prvá otázka, mám pre vás.
Pretože sa jedná o problém.
Povedal by som, že je to veľmi pravdepodobné, že budete získať problém takhle na kvíz
s dotazom na kód určitý typ vložky, mazať, vyhľadávať, pre jeden typ
dátové štruktúry sme videli.
>> To príde každý rok a my sme strávili veľa času v druhej polovici tohto
semester bude nad týmito dátovými typmi.
Takže teraz som definovaný uzol v binárny vyhľadávací strom.
A to, čo som chcel, aby si je uvedený binárny vyhľadávací strom, ktorý začína
v tomto uzle hviezdy koreňa, vyplňte vykonávanie nižšie funkcie,
ktorý sa stane byť funkcia find.
A to aj bez rekurzie.
>> Takže chcem vám napísať dve funkcie.
Jeden robí to s rekurziu, jeden Pritom bez rekurzia.
A nie predpokladať, že koreň bude nenulová.
Takže hľadáme pre celé číslo aj v strom začína pri koreni, a my potrebujeme
písať to rekurzívne a iteratívne.
Jo.
>> DIVÁKOV: Takže chcete, aby sme vráti hodnotu true ak zistíme, že je, a false, ak sa
nenájdete.
>> JASON Hirschhorn: Ako to vieš?
Ako to vieš, že?
>> DIVÁKOV: Pýtal som sa prvý, ale bol som za predpokladu, pretože sa hovorí, že bool na
začiatok funkcie.
>> JASON Hirschhorn: Správne.
To hovorí bool, takže som si ani nemusíte tí, čo čakám, že sa vráti
pretože sa hovorí, že práve tam.
Ale to je v poriadku.
Vráťte sa, true alebo false.
>> Takže ako začnete, odporučil by som vám, Ak ste oboznámení s
binárne vyhľadávacie stromy, rýchlo kreslenie obrázok o tom, ako dostať svoje
pochopenie, že jo.
To vám tiež pomôže pri písaní kódu a to kontrole.
Opäť platí, že tiež nemajú, že veľa čas na kvíz robiť všetky tie veci,
že by sme vás požiadať, aby ste robiť.
Takže písať pseudo kód je veľmi užitočné.
>> A my sme všeobecne dať o -
ak pseudokódu je dokonale správne, že je
zvyčajne 50% na otázku.
Takže to nie je tvrdé a rýchle pravidlo, ale ak stačí napísať pseudokódu, a to
správne, je to zvyčajne 50%.
Tak som vždy odporúčam -
ak ste v časovej tiesni, alebo dokonca aj v prípade, ste len snaží prísť na to -
počnúc pseudokódu.
A napokon, ak ste mohol napísať tento všetko v C, to by bolo fantastické.
>> Takže poďme sa tri minúty pracovať na tomto programe.
A potom budeme písať pseudokódu na to len raz, a potom
budeme to kód rekurzívne a potom iteratívne.
>> Ak máte nejaké otázky, pocit bez zdvihnite ruku.
Šťastný chodiť a odpovedať na ne predtým, než začneme ako skupina.
>> Poďme pokračovať, a budeme pseudokódu rekurzívne verziu
to, a potom budeme kódovať ho.
Tak rekurzívne funkcie potrebuje dve veci.
To môže byť otázka, ktorá môžete byť požiadaní.
Potrebuje dve veci.
Kto môže zvýšiť svoju ruku a povedz mi, čo dve veci rekurzívne
funkcie potrebuje?
Podľa definície má dve veci.
Aké sú tie dve veci?
Nové ruky.
Áno, Alden.
>> DIVÁKOV: Takže si nie som úplne istý, či to je terminológia, ale -
>> JASON Hirschhorn: Som rád, že budete zvyšovať svoju ruku.
>> DIVÁKOV: Je potreba základná vec, a je potrebné rekurzívne krok.
>> JASON Hirschhorn: Perfect.
Je potreba základná vec a rekurzívne krok.
Takže to, čo je naša základňa prípad?
>> DIVÁKOV: F koreň rovná sa rovná null.
Je nám ľúto, iba v pseudokódu, ak je to null.
Je-li koreň je null.
>> JASON Hirschhorn: Ak je koreň je null.
To je skvelé.
To je náš základný scenár.
To je to, čo budeme skontrolovať zakaždým.
A referenčný prípad je Prvá vec, ktorú urobíte.
Ak ste dopadol na základné veci, máte hotovo.
>> Teraz musíme našu rekurzívne volanie, a ja by som byť ochotný sa staviť, že potrebujeme pár
rekurzívne volanie tu.
Vzhľadom k tomu, že je to strom, a my môže ísť viacerými spôsobmi.
Takže ak root je null, sme v pohode.
>> Čo navrhujete?
A teraz idem začať volať von na vás, pretože viem, že chlapci
všetci vieme.
Ale Annie, čo by ďalší riadok bude?
Čo keď sme ho našli?
Čo budeme robiť?
>> DIVÁKOV: Keď sme ho našli?
>> JASON Hirschhorn: Alebo čo tak, že -
daj mi pseudokódu pre linka, kde sme ho našli.
>> DIVÁKOV: Ak sa aj rovná koreň i?
>> JASON Hirschhorn: A potom to, čo budeme robiť?
>> DIVÁKOV: Vracia true.
>> JASON Hirschhorn: Skvelé.
Takže ak aj je aj -
ach, oni sú obaja zavolal som.
To dostane mätúce.
Ale keď som sa aj vrátiť true.
To je asi ďalší vec, ktorú by sme mali urobiť.
To dáva zmysel.
>> OK, teraz sme to urobili naši rekurzívne ale volanie, aj keď, pretože rekurzívne
volania by volanie tejto funkcie znova.
Takže to, čo by malo ďalší rad pseudokódu byť?
Anna.
>> Divákov: po ľavej strane.
>> JASON Hirschhorn: Buďte konkrétny, hoci.
Toto je binárny vyhľadávací strom, takže to, čo sa kontroly na ľavej strane znamenať?
>> DIVÁKOV: Takže uzol -
Je mi ľúto, koreň.
A potom šípka vľavo.
Uzol, uzol, je mi ľúto.
Nebudem to čítať správne.
Je to tzv uzol, nie?
>> JASON Hirschhorn: bude to byť nazývaný koreň v tejto funkcii, ale tak ako tak.
Na ľavej strane - jo?
>> DIVÁKOV: Ak tomu tak nie je rovné i, potom budeme volať
opäť funkcie?
>> JASON Hirschhorn: To je pravda.
Ak tomu tak nie je rovný, ideš volanie funkcie znova.
Ale to, čo strana stromu ideme volať funkciu znova?
>> DIVÁKOV: Na ľavej strane.
>> JASON Hirschhorn: Nie sme vždy Zavolám ju vľavo, ak je to
nie je rovný ju.
>> DIVÁKOV: Oh, ospravedlňujem sa.
Volajte na pravej strane.
>> JASON Hirschhorn: Chceme vedieť, konkrétne, i keď - pamätajte, že v
binárny vyhľadávací strom, všetko ľavá strana je menšia.
Všetko doprava strane je väčšia.
Tak to jednoducho nie je - áno, choďte do toho.
>> DIVÁKOV: Ak je to menej, než ja, a potom -
ak je to na ľavej strane -
>> JASON Hirschhorn: Takže ak ri je menšia ako -
takže ak náš počet je menší než ja, čo strana chceme ísť na?
>> DIVÁKOV: Chceme ísť na pravej strane.
>> JASON Hirschhorn: Chceme ísť -
dovoľte mi nakresliť rýchle strom.
Ak je to 5, bude to 3..
Takže ak ri je menšia ako päť, čo na strane chceme ísť na?
>> DIVÁKOV: Je nám ľúto, čo?
>> JASON Hirschhorn: Naše číslo je nižší ako počet Sme
pri pohľade na práve teraz.
>> DIVÁKOV: Oh, potom chceme ísť na ľavú stranu.
Jo.
Prepáčte.
>> JASON Hirschhorn: Presne tak.
Žiadne starosti.
V binárny vyhľadávací strom, všetko nižšia je na ľavej strane,
väčšia je na pravej strane.
Takže ak náš počet je nižší ako aj my sme kontrolu -
pretože vidíte v uzol, má aj -
potom budete chcieť ísť doľava.
>> A to je jednoduché.
Čo je to druhá rada pseudokódu musíme napísať?
Carlos?
>> DIVÁKOV: To isté, stačí prepnúť to väčšie ako znamienko
a choďte doprava.
>> JASON Hirschhorn: Môžeš Povedz, že to ešte raz?
>> DIVÁKOV: Ak je naša číslo je väčšie ako som, choďte doprava.
>> JASON Hirschhorn: Výborný práca na pseudokódu.
Poďme to urobiť v reálnom kódu.
A opäť, bude to pseudokódu Pravdepodobne vám, pretože je to
správne, 50% na túto otázku.
Ale to pseudokódu tiež prekladá jeden k jednému, v podstate, v kóde.
>> Tak nech nám to v C. Kto môže dať mi prvý riadok kódu?
V skutočnosti, prvý, skôr než ja že, dovoľte mi zastaviť -
>> DIVÁKOV: Mám otázku.
Prečo ste odsadiť riadok čo som ti dal?
>> JASON Hirschhorn: Vzhľadom k tomu, Nemohol som písať.
Neviem.
Máš pravdu.
Že linka by mala byť tam.
>> OK, tu je naša funkcia.
A dovoľte mi zastaviť, i, Naše definície uzla.
Čo sa stane, keď nie napísať typedef?
Vie niekto?
>> DIVÁKOV: Nebolo by to skompilovať.
>> JASON Hirschhorn: Bolo by kompiláciu, jo.
>> DIVÁKOV: Bolo by to len vyhlásiť jeden inštancie namiesto toho, aby sa nové
typ by ste mohli deklarovať viac inštancie?
>> JASON Hirschhorn: Tak to nie viem - to nie
len deklarovať jeden typ.
Dalo by sa ešte urobiť veľa uzlov.
>> DIVÁKOV: Ale nebude musíme napísať struct Node zakaždým?
>> JASON Hirschhorn: To je pravda.
Budete musieť napísať struct uzol zakaždým, namiesto toho, aby len uzla.
Ale s typedef, môžete len napísať Node zakaždým.
OK, ktorý sa nedal - jo, AVIC.
>> DIVÁKOV: Ak je koreň rovná rovná null, vráti false.
>> JASON Hirschhorn: Skvelé, a to je náš základný scenár.
Ďalší riadok kódu.
Niekto, kto sa nedal me riadok kódu ešte?
Jo.
>> DIVÁKOV: Root šípka i sa rovná rovná i
Potom sa vráti hodnotu true.
>> JASON Hirschhorn: Skvelé.
Ďalšie linky?
Jo.
Niekto iný?
A potom môžete ísť ďalej.
>> DIVÁKOV: Else Ak koreň šípka i je menšia ako aj návrat
Funkcia tzv nález koreň -
>> JASON Hirschhorn: Ospravedlňujem sa.
>> DIVÁKOV: Návrat nájsť koreň body doľava čiarka i
>> JASON Hirschhorn: Takže ak ri je väčšia ako vec vo stromu, chceme
ísť na ľavej strane?
>> DIVÁKOV: Nie, mal som to prešiel.
>> JASON Hirschhorn: Ktorý z nich?
>> DIVÁKOV: No, jo.
Mám menej než podpísať tu.
>> JASON Hirschhorn: Jasne, ak ri je menej než to, čo je v koreňovom adresári -
Naše aktuálne koreň - a potom sme chcem ísť doľava.
A čo je posledný riadok, nie?
>> DIVÁKOV: V podstate to isté, s výnimkou spínač alebo väčšia ako
rovná menej ako a zľava doprava.
>> JASON Hirschhorn: Výborný.
Má niekto nejaké otázky, o tom?
Takže niektoré ďalšie veci, ktoré by ako správna, je, že
môže byť-ltiff.
Hádaj, technicky, žiadny z nich Naozaj musí byť tiež-ltiff.
>> Tiež, tam je asi len jeden prípad tu.
Tak to je asi vaša posledná prípad.
Nemáte ešte potrebovať, aby-ltiff.
Ale asi dobre písať to, aby bolo jasno.
Jo.
>> DIVÁKOV: Takže si nemyslím, že kvíz - ak budeme robiť chyby, napríklad,
v syntaxi -
malé syntaktické chyby -
ako to, že sa prijatá v teste?
>> JASON Hirschhorn: Všeobecne o teste, malé syntaktické chyby alebo malý
Chyby v štýle nestrácajú vám body.
Takže ak ste zabudli bodkočiarku tu, bolo by to v poriadku.
Ak ste zabudli zavrieť túto zátvorku, to by bolo v poriadku.
>> Obrovské syntaktické chyby, ktoré menia funkčný význam kódu
dramaticky, môžete získať vzlietlo body.
Alebo všeobecne, len triedenie vám na tom, či je alebo nie je
kód funguje, aj -
nie je jeho prevedenie tak, a nie je jeho štýl.
>> Poďme sa teraz kódovať iteratívny verzia nálezu.
Takže to bude dosť podobné, ale tam sú určite bude
niektoré kľúčové rozdiely.
Avšak, naše pseudokódu pravdepodobne môže ísť -
stále ešte môžeme vziať jeden riadok pseudokódu a zistiť, čo
Linka je v tomto prípade.
>> Takže v iteračné verzii, čo si myslíte, Julia, by
byť na prvom riadku?
>> DIVÁKOV: Opäť v iteratívny boolean, budete musieť nastaviť pre sláčiky, nie?
>> JASON Hirschhorn: OK.
>> DIVÁKOV: Tak ako, K, pre x sa rovná 0, x je menšia ako i
Alebo nie, x je menšia ako veľkosť stromu.
>> JASON Hirschhorn: strom.
Takže sme naozaj neviem, veľkosť strom, a my sme naozaj neviem, pre
koľkokrát môžeme ísť, takže to, čo je iný typ slučky, ktoré môžu byť
lepší v tomto prípade?
>> DIVÁKOV: Ak ešte?
>> JASON Hirschhorn: Ak iný nemôže byť slučka.
Takže to, čo je typ slučky môžeme len ísť, kým nepocítite prípad?
Čo to len iný typ slučky v C okrem pre sláčiky?
>> DIVÁKOV: Kým.
>> JASON Hirschhorn: Aj keď presne.
V cykle while, nie Potrebujeme vedieť, ako -
while a slučky môže urobiť presne to isté, ale pekná vec
o while je nepotrebujeme vedieť, ako veľký náš strom.
Takže budeme pokračovať, kým to, čo?
>> DIVÁKOV: Kým je rovný veľkosť -
>> JASON Hirschhorn: No, je to veľmi podobná našej rekurzívne prípad.
Takže -
>> DIVÁKOV: Kým koreň i nerovná i
>> JASON Hirschhorn: To je naozaj blízko.
Aj keď koreňový i -
skúsme to.
Nemyslím si, že [nepočuteľný]
kde koreň aj sa nerovná i
Mohli by sme potrebné ju zmeniť v niečo bit, ale to vyzerá, že je celkom
dobrý, teraz.
Takže budeme robiť, že.
>> Tiež si uvedomte, nemôžeme predpokladať, na otázku.
Nemusíte predpokladať, že koreň bude nenulová.
Tak čo si myslíte, že veľmi Prvá vec, ktorú by sme mali urobiť, je?
>> DIVÁKOV: Len to isté vec ako predtým.
Je-li koreň rovná rovná null, vráti false.
>> JASON Hirschhorn: Skvelé.
Takže by to mohlo byť null.
Takže chceme zbaviť z toho hneď.
A potom ideme skontrolovať, či koreň aj nie je rovné i.
Tak, že by sme hľadáte v tejto vetve pre 3, koreň i sa nerovná aj teraz
sme v našom cykle while.
Čo chceme robiť?
A opäť, to bude dosť podobná našej rekurzívne verzii.
Jo.
>> DIVÁKOV: Takže by ste chceli, aby iterácii, alebo pokračuj dole zo stromu, kým
koreň nie je rovné null.
>> JASON Hirschhorn: Kým koreň nie je rovné null?
>> Divákov: koreň pomlčka i nie je rovné null.
Len koreň, jo.
Ako dlho, ako je koreň nie je rovné null.
>> JASON Hirschhorn: Takže ty chceš zmeniť to do koreňa
nie je rovné null?
>> DIVÁKOV: Jo.
>> DIVÁKOV: Mohli by sme spojiť tie, že jo?
My nepotrebujeme, ak spočiatku.
>> JASON Hirschhorn: OK, takže ak nie -
ak budeme kombinovať, takže budeme robiť zatiaľ čo koreň nie je rovné null, a
v prípade, že koreň sa stane byť null pri začiatok, čo budeme robiť tu dole?
>> DIVÁKOV: return false.
>> JASON Hirschhorn: Skvelé.
Takže oba spôsoby, pravdepodobne by pracovali.
To je iný spôsob, a to kombinuje ju.
Ale na druhú stranu, ak ste tak ako tak, sme nebude vzlietnuť dizajnu
poukazuje na kvíz.
Ale to vyzerá dobre.
>> Takže aj keď koreň nie je rovné null, čo je prvá
vec, ktorú chcete skontrolovať?
Niekto iný?
Null, čo je prvá vec?
>> DIVÁKOV: Ak ri je menšia ako -
oh, myslím, keď už zistil, že v koreňovom adresári.
Takže v prípade, koreň šípka i je rovné i -
>> JASON Hirschhorn: Je nám ľúto?
>> DIVÁKOV: Ak je koreň šípka i rovná rovná i -
>> JASON Hirschhorn: Čo budeme robiť?
>> DIVÁKOV: Vracia true.
>> JASON Hirschhorn: Skvelé.
A čo bude ďalej?
Jeff, čo je ďalší riadok kódu?
>> DIVÁKOV: Ak je aj nižšia ako koreňový šípky i, potom koreň rovný koreň šípkou doľava.
>> JASON Hirschhorn: Root rovná koreň šípka vľavo.
Tak to je asi najväčší Rozdiel tu v tomto iteratívny
verzia, ako protichodný k rekurzívne verzie.
Rekurzívne verzie, sme volanie funkcie znova.
Budeme aktualizovať koreň, ak nazývame novú funkciu.
Tu nie sme volá novú funkciu.
Sme proste len aktualizáciu koreň v tejto funkcii.
To je skvelé.
A čo je posledný riadok kódu?
Jo, Mario?
>> DIVÁKOV: Else koreňovej rovná koreň šípka vpravo.
>> JASON Hirschhorn: Je nám ľúto?
>> DIVÁKOV: Root rovná koreň šípka vpravo.
>> JASON Hirschhorn: Mohli by ste tiež niečo také napísať?
>> DIVÁKOV: Nemám tušenie.
>> JASON Hirschhorn: Nemôžete.
Môžete to urobiť a navyše rovná.
OK, takže to vyzerá dobre.
Prečo sa jednoducho robiť, že je vyčistiť.
To vyzerá skvele, a že to bude fungovať.
A my by sme vypuknúť.
>> Je-li koreň vľavo bol nulový alebo koreň vpravo bol nulový, museli by sme prísť sem.
Root by sa rovnala null.
Radi by sme vymaniť sa z nášho slučky, a my by sme sa vrátiť false.
Takže keď sme sa vymaniť z slučky, vrátime false.
>> A opäť, zatiaľ čo slučka bola perfektná tu, pretože nevieme, ako
veľký náš strom je.
Snažili sme sa napísať pre sláčiky, ale my si uvedomil, že máš prísť na to, ako
je veľká dopredu.
Jo.
>> DIVÁKOV: Keby tomu tak nebolo binárne vyhľadávací strom, by to byť skutočná matematika-y
to napísať opakované, že jo?
Ako keby to bol strom, ale nie nevyhnutne -
takže to nebolo všetko menšie na ľavej strane, a všetky väčšie na pravej strane.
To by bolo naozaj ťažké iterovat cez to, že jo?
Museli by sme sa zachrániť, čo bolo predtým na vo stromu a vrátiť sa späť,
a tak podobne.
>> JASON Hirschhorn: Keby to nebolo binárne vyhľadávací strom, keby to bolo len
strom, a to nebolo radené takto -
a uvedomili sme si predtým, keď Anna bolo nám pomáha, že robiť to
triedeného nám veľa pomáha -
by sme potrebovali, áno, vždy uložiť kde sme boli predtým.
Ale tam by mohlo byť veľa kde sme boli previouslys.
Tam by mohlo byť veľa materských uzlov.
>> Asi najlepší spôsob, ako to urobiť, že by byť neustále tlačí veci na niektoré
typ zásobníka alebo fronty.
By ste nikdy nebudete musieť kód tejto pretože je to ťažký problém.
Ale vy tlačiť nejaké veci na hromadu alebo fronty a potom sa pop je preč, a
potom hodnotiť.
>> A potom mať nejakú inú vec, kde ste vlastne uvedenie uzly, a
potom vytvoriť to, a potom prehľadávať, že.
To by mohlo byť najlepší spôsob, ako to urobiť.
OK, nejaké otázky týkajúce sa tohto problému?
>> DIVÁKOV: To je na príbuznú notu.
Budeme musieť porovnať prevádzkovú dobu pre hash tabuľky, binárne
vyhľadávacie stromy, et cetera?
>> JASON Hirschhorn: Pravdepodobne.
Takže poďme to urobiť veľmi rýchlo.
Beh času hash tabuľky -
aké sú ostatné?
Binárny strom?
>> DIVÁKOV: Zoznamy odkazov.
>> JASON Hirschhorn: OK, poďme urobiť vložku.
Čo je to veľký O vložky na hash tabuľky?
Aké sú predpoklady robíš?
>> DIVÁKOV: Ty vloženie na začiatku zoznamu odkazov.
>> JASON Hirschhorn: Pravdepodobne prvý Predpokladá sa, že nie sú žiadne kolízie.
Ak nie sú k dispozícii žiadne kolízie, potom čas vloženia je jeden.
Ak existuje kolízia, a vy ste robí samostatné reťazenie a vkladanie
na začiatku zoznamu odkazov, potom vloženie je tiež konštantná.
>> Ak robíte hash tabuľky, ale tie majú iný spôsob riešenia
s kolíziami, čo je iný spôsob?
Čo je je iný spôsob vysporiadať sa s
kolízie v hash tabuľke?
>> DIVÁKOV: Lineárne programovanie.
>> JASON Hirschhorn: Lineárne programovanie.
Takže budeme hľadať ďalej na ďalšie voľné miesto.
To nie je konštantný čas vloženia karty.
Dalo by sa ísť cez celá tabuľka, takže
by mohol byť veľký O n
Jo.
>> DIVÁKOV: Inak len reťazenie?
>> JASON Hirschhorn: Urobili sme oddelené zreťazenie.
To bol prvý.
To je to, čo sa zoznam spojení.
Vymyslené meno je oddelená reťazenie.
Mohlo by to byť akýkoľvek typ zoznamu štruktúry sme sa náhodou robiť v zozname odkazov.
>> Takže znovu, vloženie na hash tabuľky by mohla byť konštantný čas.
Čo vloženie na vysokozdvižný vozík fronte?
>> DIVÁKOV: Nie je to konštanta?
>> JASON Hirschhorn: Je to časová konštanta.
Tie jednoducho tlačí ju.
OK.
Vloženie, aké boli tie ostatné?
Na skúšku?
Čo je veľký O vloženie na skúšku?
>> DIVÁKOV: dĺžka je konštantná.
Dĺžka najdlhšej -
dĺžka slova ste vkladanie.
>> JASON Hirschhorn: Je nám ľúto?
Počkaj, takže to, čo som počul?
Vravel si, že - čo si povedal?
Aká bola vaša odpoveď, Marcus?
>> Divákov: Dĺžka slova ste vkladanie v znakoch,
za predpokladu, že je to postava pokus.
>> JASON Hirschhorn: OK, tak Dĺžka slova.
Budeme robiť predpoklad, že Je to reťazec znakov.
Vravel si niečo iné, hoci.
Vravel si, že dĺžka najdlhšieho slová.
>> DIVÁKOV: To je len konštanta, nie?
>> JASON Hirschhorn: Prečo by byť konštantný?
>> DIVÁKOV: Ako, ak používate veľké O notácie, potom to nebude líšiť v závislosti
na počte vecí, ktoré sú už v pokuse.
>> JASON Hirschhorn: Takže by sme hovoria, že je časová konštanta.
To je konštantná vloženie, a to preto, že táto myšlienka -
že máme slovo, ktoré je 45, alebo slovo, ktoré je 60, že
má konštantnú číslo.
A to by jednoducho byť vložená v konštantnom čase.
>> V praxi by však nemalo byť, samozrejme, stáť v jednej milisekundy,
napríklad.
Ale my by sme povedať, veľké O je konštantný na skúšku.
A to je jeden z jeho Najväčšie výhody.
>> Čo vloženie do zoznamu odkazov?
Len obyčajný, ďalej zoznam link?
Jo.
>> DIVÁKOV: Mal som otázku.
V teste, by nikdy opýtajte sa nás na vloženie čas, ktorý je štyri kroky,
alebo tak niečo?
Alebo je to len -
keď hovoríte, že vloženie čas je jedna, že jednoducho znamená, že konštantný čas?
>> JASON Hirschhorn: Jo, to by Vždy sa opýtať, je to veľký O n?
Big O log n?
N druhú konštantný.
Tí, ktorí sú v skutočnosti iba tie, ktoré potrebujete vedieť.
Čo vloženie do radené zoznam odkazov?
>> DIVÁKOV: Mal som otázku -
otázka -
>> JASON Hirschhorn: Aká je odpoveď na túto otázku, aj keď?
>> DIVÁKOV: Počkať, čo ste sa opýtať?
>> JASON Hirschhorn: Čo je veľký O z vloženie do triedeného zoznamu odkaz?
>> DIVÁKOV: One?
Žiadne čakanie, žiadne čakanie, n
>> JASON Hirschhorn: N. Okrem toho, Zoznam odkazov.
A aká bola vaša otázka?
>> DIVÁKOV: Takže by ste napísať o súčiniteľa, alebo o 1 pre -
>> JASON Hirschhorn: Oh.
Chcel by som napísať o 1., pravdepodobne.
Bol tam jeden ďalší dátová štruktúra že by bolo dobré.
Strom, binárny vyhľadávací strom.
Čo je vloženie na binárny vyhľadávací strom?
>> DIVÁKOV: Prihlásenie.
>> JASON Hirschhorn: Takže, čo je najhoršie, prípad binárneho vyhľadávacieho stromu?
Takže ak by sme náhodou začínajú na 5, a každý číslo je väčšie ako 5, potom
máme 5, 7, 9, 11, et cetera.
V tomto prípade, je to v podstate len odkaz zoznam, a musíme vložiť všetky
ako na konci.
Takže je to veľký O n
>> To by mohlo byť naše najhoršie na binárneho vyhľadávacieho stromu.
Je zrejmé, že by ste nikdy stavať binárny vyhľadávací strom s 5 v
stredné s vedomím, 5 by je najnižšie číslo.
Ale to mohlo byť, ak ste začínať od nuly.
Akékoľvek otázky týkajúce sa tejto skôr, než som prejsť na ďalšiu otázku?
To bola dobrá otázka.
Chcel by som vedieť, veľký Ø -
>> DIVÁKOV: Čo hľadáte pre tie štyri?
>> JASON Hirschhorn: Rozhodne sme sa vyhľadávanie a radenie.
Urobili sme všetky tie algoritmy, vpravo.
Počkajte, bolo to, že pre Quiz 1?
Bolo to, že sa vzťahuje -
ste už, že otázka Quiz 1?
Veľkou O runtime binárneho vyhľadávania, vloženie sort, bubble sort?
>> DIVÁKOV: Jo.
>> JASON Hirschhorn: Ak ste mali, že otázka Quiz 0, je pravdepodobné, nebudete
dostanete presne rovnaký dotaz na kvíz 1.
Môže to byť ešte dobré vedieť ty.
Mali by ste vedieť, snáď už GH.
>> Ale ostatné logaritmickej runtimes sú asi dobré vedieť.
Veci, ktoré sa nevzťahuje na Quiz 0.
Ako u všetkých týchto operátorov na Tieto abstraktné dátové typy.
>> OK, poďme ďalej.
Ten by mal byť dosť rýchly.
A to je nový jazyk, nemáme vlastne kódované v pred.
To je otázka, pýtam ku kódu v PHP.
Takže zvážte nižšie PHP polia.
Napíšte PHP a / alebo HTML kódy tak, že výstupy tabuľku s dvoma stĺpcami s TFs
Mená a domy.
>> Vy ste nikdy nerobil, tento špecifický problém.
Ale to by malo byť veľmi dobre oboznámení sa to, čo ste robili v probléme set 7.
Takže by som bol ochotný sa staviť, budete spýtal sa kód niečo v PHP, ktoré
je veľmi podobný tomu, čo bolo v probléme set 7.
>> Po prvé, pole, nie je to špecifické.
Aký typ poľa je toto?
>> DIVÁKOV: Asociatívne.
>> JASON Hirschhorn: Je to asociatívne pole.
A aký je rozdiel medzi asociatívne pole a objekt?
>> DIVÁKOV: Objekt pole má index celých čísel, a asociatívneho poľa
je index reťazca, alebo niečo také.
>> JASON Hirschhorn: Tak pole objekty by sa indexy
celé čísla, ale objekt poľa.
Má tieto polia názvy ako meno, dom, študent.
Máte nápad?
>> DIVÁKOV: No, asociatívne pole je v PHP, nie?
A je objekt v JavaScriptu?
>> JASON Hirschhorn: Úprimne povedané, nie je Skutočný rozdiel medzi týmito dvoma.
Obaja majú reťazca ako kľúče, a môže majú v podstate nič ako hodnotu.
Rôzne jazyky zavolajte na jedno to asociatívne pole,
jedna vec objekt.
Takže úprimne povedané, nie je tam žiadny skutočný rozdiel, ale tam je určite nejaký
syntaktické rozdiely medzi týmito dvoma.
Jo.
>> DIVÁKOV: Takže je objekt aj kódované v kapucňa ako hash tabuľky, a potom?
>> JASON Hirschhorn: Čo si znamená, kódované pod kapotou?
>> DIVÁKOV: Bolo nám povedané, že asociatívne pole bolo technicky
hash tabuľky.
Takže je objekt aj technicky hash tabuľky?
>> JASON Hirschhorn: Nemienim na túto otázku odpovedať.
Ozvem sa ti na to.
Ale nechcel som si, že buď z tých, takto.
Ale v žiadnom prípade, asociatívne polia a objekt, všeobecne, ľudia používajú tí,
termíny zameniteľne.
V tomto prípade, v pohode časť ich môžete použiť klávesy.
Reťazce sú kľúče, skôr než len jednoduchá čísla.
>> Tak som hovoril o to na chvíľu.
Dúfajme, že niektorí ľudia majú dostal začala na túto tému.
Budeme písať nejaký PHP a HTML kód, takže sme si dva-stĺpec
Tabuľka s TFS mena a rodinných domov.
>> OK, taky by som záhlavie riadok v tejto tabuľke.
Takže idem rovno do toho.
Ideme do súboru, nové, a ideme do -
>> OK.
Ako mám začať stôl?
Čo je to značka, Michael, kto stola?
>> DIVÁKOV: Table.
>> JASON Hirschhorn: Table.
A keď otvorím tag, čo ešte potrebujem?
>> DIVÁKOV: hlava?
Alebo, myslím, trieda.
>> JASON Hirschhorn: Takže, ospravedlňujem sa.
Predpokladajme, že sme už písali doctab, HTML, všetky tie veci.
Ale keď otvorím túto tabuľku tag, čo ešte musím napísať?
pre validáciu HTML?
>> DIVÁKOV: Zatvorte ju.
>> JASON Hirschhorn: Zatvorte značku.
Ako mám napísať tag detailné tabuľky?
>> DIVÁKOV: Dot lomka tabuľky.
>> JASON Hirschhorn: Slash stôl, skvele.
Pravdepodobne má zmysel písať ako z nich dohromady, pretože
musíš to urobiť.
OK, ak chcem riadok hlavičky, ako sa Píšem riadok hlavičky s názvami?
>> DIVÁKOV: Je to menej ako 10 hod v blízkosti -
TR, jo.
>> JASON Hirschhorn: TR?
>> DIVÁKOV: Potom to isté, lomítko, jo.
>> JASON Hirschhorn: OK, a daj mi dva stĺpce.
>> DIVÁKOV: T D?
>> JASON Hirschhorn: OK.
Chcem dva stĺpce.
Znamená to, daj mi dva stĺpce?
Koľko stĺpcov je to?
Jeden.
Takže poďme skopírovať a vložiť.
>> Takže vlastne, na teste, to všetko tento kód že som napísal bol doteraz
skutočnosti, ktoré ste dostali.
Ale mali by ste pravdepodobne ešte vedieť, ako to napísať.
Jo.
>> DIVÁKOV: Váš dom je medzi nimi.
>> JASON Hirschhorn: Boom.
Malo by ísť tam, že jo?
Dobrý nápad.
Takže znovu, to všetko je v skutočnosti kód ktoré ste dostali na skutočné kvíz.
Ale je to zábavné písať, a by mal vedieť, ako to napísať.
Tak toto je miesto, kde budete potrebovať spustiť svoj kód.
Čo musíme písať tu?
>> Ospravedlňujem sa, ale je potrebné zmeniť Názov tohto súboru.
Tak sme ju uložiť do súboru. HTML, nie je v súbore. PHP.
Tieto veci by znamenalo, nič v súbore. PHP.
Takže sme v súbore. HTML.
Čo je prvá vec, Musím napísať?
Chcem dať nejaký PHP kód v HTML.
>> DIVÁKOV: PHP, rovnako ako ďalšie mrkva a otáznik PHP, nie?
>> JASON Hirschhorn: Skvelé.
A ako to mám skončiť, že?
>> DIVÁKOV: S otáznikom.
>> JASON Hirschhorn: To je skvelé.
To je prvá vec, ktorú potrebujem, keď chcem dať nejaký PHP kód tu.
>> DIVÁKOV:. Myslel som, že PHP súbor môže trvať HTML.
>> JASON Hirschhorn: Jo.
Súbor. PHP môže trvať aj niekoľko HTML a zobrazí sa.
To bola moja chyba.
Len som sa snažil napodobňovať to, čo bolo na teste.
>> OK, ospravedlňujem sa zmiasť.
Áno, practice.HTML.
Teraz ideme dať niektoré PHP kód palcov
Čo je prvý riadok PHP kód, ktorý som mal napísať?
Chystám sa prejsť týmto poľom a aby sa do tabuľky.
Jo.
>> DIVÁKOV: Môžete použiť buď pre H slučky alebo pre slučku.
>> JASON Hirschhorn: OK, čo chcete používať?
>> DIVÁKOV: Ja by som použiť pre sláčiky.
U, a potom si to znak dolára i rovná 0 bodkočiarku dolár
podpísať aj menej ako 2.
A potom bodkočiarku aj doláru podpísať aj plus plus.
>> JASON Hirschhorn: Ako Viete, použiť 2?
>> DIVÁKOV: Pretože tam boli dva asociatívne pole v rámci väčšej
asociatívne pole.
>> JASON Hirschhorn: Tak veľká vec je Nie je spolupracovník poľa.
Veľká vec, je to len normálne poľa.
Ale máš pravdu, že sú dve asociatívne polia
vnútri našej väčšej poľa.
To je dôvod, prečo používať dva.
Cítim sa nesvoj, za predpokladu, že sú to 2, takže to, čo je to spôsob, ako písať
to bez toho, aby za predpokladu, že sú 2?
>> DIVÁKOV: [nepočuteľné]?
>> JASON Hirschhorn: OK, ako píšete, že?
>> DIVÁKOV: foreach znak dolára TFS alebo ako znak dolára tf.
>> JASON Hirschhorn: OK, takže pre každý TFS ako TFS, chcem, teraz
znova, majú môj stôl.
Takže, kto mi môže dať Ďalší riadok kódu?
>> DIVÁKOV: Tlač, a potom v citácie, držiak tr koniec
držiak, koniec citácie.
Koniec zátvorky, bodkočiarkami.
>> JASON Hirschhorn: OK, a čo to ide robiť?
>> DIVÁKOV: Bude to povedať, nový riadok.
Bude to dať označiť pre nový riadok.
>> JASON Hirschhorn: Jasne, to PHP, rovnako ako sme hovorili o skôr - v tomto
PHP sa bude vyhodnotená, a potom to bude tlačiť na tento súbor, ktorý si
Tabuľka vlek, a potom, že Budú hodnotené HTML.
Sme len skopírovať to HTML mali sme tu.
Jo.
>> DIVÁKOV: [nepočuteľné]?
>> JASON Hirschhorn: Je nám ľúto?
Je to tu.
Fall 2012.
Nepozerajte sa na odpovede, poďme riešiť spoločne.
Tak sme tlačiť riadok tabuľky.
Takže ste asi v hojdačka vecí.
Aký je ďalší riadok Kód musíme napísať?
Assam, daj mi ďalší riadok kódu.
>> DIVÁKOV: Musíte meno TF je.
Tf otvorené zátvorky úvodzovky meno uzavretých zátvoriek.
>> JASON Hirschhorn: Daj mi svoje meno.
>> DIVÁKOV: Musíte sa tlačiť, že.
>> [Vložením VOICES]
>> JASON Hirschhorn: OK, Ako môžem vytlačiť?
>> [Vložením VOICES]
>> JASON Hirschhorn: mi chýba niečo, čo teraz.
Čo som chýba?
>> DIVÁKOV: Musíte znak dolára.
>> JASON Hirschhorn: Čo inak mám chýba?
Všetci sme vytlačené tak ďaleko je tr.
>> DIVÁKOV: Zatvorte tr po ňom.
>> JASON Hirschhorn: Takže musíme aby po zatvorení tr.
Kto vidí to, čo nám chýba on-line 16?
Jo, Anna.
>> DIVÁKOV: Musíte otvoriť td a zložené zátvorky.
>> JASON Hirschhorn: A kde si dáme zložené zátvorky?
>> DIVÁKOV: Okolo názvu tf.
>> JASON Hirschhorn: Takto?
>> DIVÁKOV: Jo.
A potom zatvorte td.
>> JASON Hirschhorn: Ako, že?
>> DIVÁKOV: Potrebujete dvojaký ponuku značky vedľa zložených zátvoriek?
>> JASON Hirschhorn: Tu?
Nie, ty nie.
Tak to je presne to pravé.
Jo.
>> DIVÁKOV: Takže rozdiel medzi tým, a encatenating s bodkami, je, ak
používať bodky, mali by ste mať úvodzovky, potom bodka,
potom bodka -
>> JASON Hirschhorn: Správne.
Takže hovoríš, že je konečný spôsob, ako písať to takto.
Aký operátor zreťazenia v JavaScriptu?
>> DIVÁKOV: znamienko plus.
Zabudol si dať zložená zátvorka späť.
>> JASON Hirschhorn: Skvelé.
A je tu ešte jeden riadok kódu chýba.
Kto mi môže dať posledný riadok kódu nám chýba?
>> DIVÁKOV: Len presne to isté, Len s domom namiesto mena.
Veľký
>> JASON Hirschhorn: Skvelé.
A vaša syntax je presne to pravé pre ako sa veci v pridruženej poľa.
Takže v skutočnom teste, ste vlastne vzdala až sem.
Takže tento kód bol daný na vás.
Všetko, čo musel písať boli títo štyri riadky a nezabudnite
zavrieť tag tabuľky.
Vy ste vlastne robil všetko a ešte oveľa viac.
Jo.
>> DIVÁKOV: Tak to by bolo funkčne rovnaké, ak ste práve mal, že všetko
jeden veľký tlač výzva, nie?
A potom už len spojené je to tak, et cetera?
>> JASON Hirschhorn: Ako, že?
>> DIVÁKOV: Jo.
To jednoducho nebude vyzerať dobre, ak ste boli pozerať na to, keď ste kontrolu
prvok na svojich webových stránkach, že jo?
>> JASON Hirschhorn: Súhlasím.
Ak som nahral túto webovú stránku, bol by som možnosť vidieť tento PHP kód, kedy?
>> Divákov: Nie
>> JASON Hirschhorn: Nie
A vlastne, ja by som to.
>> DIVÁKOV: To nie je HTML, nie?
Takže by ste mali byť schopní -
>> JASON Hirschhorn: tento PHP Takže by sa hodnotí na strane servera.
PHP je vždy hodnotená na strane servera, tak ste nikdy vidieť PHP kód.
>> DIVÁKOV: Ale budeš môcť vidieť výsledok výtlačkov.
>> JASON Hirschhorn: Správne.
A úprimne nemusí to všetko na trati.
Mohlo by to naformátovať pekne za vás, alebo by to mohlo dať na jeden riadok.
Nejasná.
Ale áno, dobrý postreh.
>> DIVÁKOV: Ako to, že sa bez zvýraznenia textu pre
každý z príkazov PHP?
Pretože si spomínam, keď videl, že.
>> JASON Hirschhorn: Vzhľadom k tomu, že je to . HTML súbor tu hore.
Tu to je.
>> DIVÁKOV: Keď sme robili prvý metódy sa pre slučky, vpravo, ak sa
Chcel, aby prístup k TFS, by sa robiť TFS držiak 0 konzolu, potom
[Nepočuteľný]?
>> JASON Hirschhorn: Tie by -
takže hovoríš, že pre pre sláčiky, môžete by to v znak dolára TFS držiaku 1
alebo aj, v poriadku.
Alebo znak dolára aj zavrite konzolu a potom hranatá zátvorka
dvojité úvodzovky, jo.
>> OK, výborná.
Máme ešte jeden rýchly jeden.
Sedem minút, tak chcem ísť na tento jeden.
To je ďalší príklad.
Sme teraz úplne iný jazyk.
>> Máme nejaký HTML kód.
Je to taká malá na obrazovke, ale Chcem, aby si sa pozrel cez neho naozaj
rýchlo, a môže mi niekto povedať, ak by som mal načítať túto webovú stránku,
čo by som vidieť?
Popíšte všetko, čo o táto webová stránka.
Noah?
Čo by som vidieť?
>> DIVÁKOV: Kód na prednom konci Google s citom pre text a
tlačidlo odoslať.
>> JASON Hirschhorn: A čo by tlačidlá povedať?
>> DIVÁKOV: Odoslať.
Oh, hľadanie.
Je mi to ľúto.
>> JASON Hirschhorn: To by sa povedať vyhľadávania.
Pamätajte si, že názov.
Čo používame názov?
Tento atribút názov, čo je ktorá bola použitá pre?
>> [Vložením VOICES]
>> DIVÁKOV: To je jeho meno , Keď je to klikol?
>> JASON Hirschhorn: To by mohlo byť.
Ale čo my zvyčajne vidieť - prečo dávame tento názov fronty?
Prečo vidíme, že?
Jo.
>> DIVÁKOV: Vari, že sa stal index Super globálne premenné?
>> JASON Hirschhorn: Jo, spravidla pri Tento formulár by predložiť, a potom, kedy
by to predložiť?
Aké stránky?
Noah, čo strana by to predložiť?
>> DIVÁKOV: Nie som si istý.
>> JASON Hirschhorn: Kde mohli by sme ju môžete nájsť?
Kde nás nájdete to, čo Stránka je predkladá?
Čo riadok kódu?
>> DIVÁKOV: Form akcie.
>> JASON Hirschhorn: Presne tak.
Akcie.
Tak to predkladá vyhľadávaciu stránku.
Spätné lomítko hľadanie.
Tak to je presne to pravé.
Akým spôsobom?
>> DIVÁKOV: Získajte.
>> JASON Hirschhorn: Získajte.
Presne tak.
Tak sme si to.
To sa bude forma.
Ty si úplnú pravdu.
Dve veci na formu, názov strana a vrchol by Google.
>> Tak tu sú dve otázky, mali by ste byť schopní odpovedať na túto stránku.
Pokiaľ tento HTML žije na týchto stránkach a používateľ zadá chybu do tohto textu
Pole tu, bude to URL užívateľ ocitne na
odoslanie formulára?
>> Takže máme to tu.
Chystám sa vrátiť do Táto stránka, hoci.
Napíšem túto prvú časť.
Každý môže vidieť tu?
OK, Mario, si myslíte, že viete?
Aké stránky?
>> DIVÁKOV: Spätné lomítko hľadanie.
>> JASON Hirschhorn: Idem presunúť sem.
OK, spätné lomítko hľadanie otázka Značka q sa rovná chybu.
Má niekto iný návrh?
Jo.
>> Tak ako sme si to?
No, my sme predtým videl.
A ty si prišiel s tým skôr.
Mal si pravdu, Noe, že akcie nám hovorí, čo
Stránka budeme.
>> Vieme tiež, aké metódy.
Robíme get.
A rozdiel medzi get a poštou je to, že sa zobrazí v URL
a príspevok nie je.
Takže keď som napísal príspevok tu v metóda, čo by bolo inak?
>> DIVÁKOV: Bolo by len byť lomítko hľadanie.
>> JASON Hirschhorn: Bolo by byť len lomítko vyhľadávanie.
Nič tu by sa stalo.
Ale pretože je to dostať, URL sa zobrazí takto.
Najprv vidíme otáznik a vidíme názov a hodnotu.
Povedzme, že tam bol jeden ďalší textové pole a Dal som mu meno R a Aj vstup A
hodnota, húsenica.
Čo by to teraz vyzerá?
Som jeden textové pole, dám meno r a hodnotu húsenice.
>> DIVÁKOV: Po baru budeš mať ampersand húsenica.
>> JASON Hirschhorn: To je nie ampersand.
>> DIVÁKOV: Alebo jednoducho čokoľvek a symbol.
>> JASON Hirschhorn: Jo, no.
Mal si pravdu, mýlil som sa.
To je ako g
>> DIVÁKOV: Caterpillar.
r sa rovná húsenica, je mi ľúto.
>> JASON Hirschhorn: Je tu no r tam?
>> DIVÁKOV: Nie, nie je.
>> JASON Hirschhorn: Budeme hovoriť o tom po hodine.
To je presne to pravé.
Tak a je správne.
A potom by ste mohol mať mnoho z nich, a oni by všetci byť spojenie
spolu s tým i
Tak to je presne to pravé.
>> Je tu ešte jedna otázka.
Nakreslite DOM Tento HTML je, počnúc s dokumentom.
Dalo by sa to urobiť v priebehu dvoch minút.
Urobíme to tu.
Vrátim sa k tejto webovej stránke.
OK, začneme s dokumentom.
>> Čo bude ďalej?
Takže keď čítate cez -
>> DIVÁKOV: HTML.
>> JASON Hirschhorn: HTML je vedľa.
Chystáme sa ísť tag tag.
Čo je po HTML?
>> DIVÁKOV: Head.
>> JASON Hirschhorn: Head.
Čo je to za hlavu?
>> DIVÁKOV: Názov.
>> JASON Hirschhorn: Názov.
A titul má hodnotu Google, ale ja nemienim
napísať, že pre túto chvíľu.
OK, kde sa telo ísť?
>> DIVÁKOV: Tiež odíde z HTML.
>> JASON Hirschhorn: Presne tak.
Telo je preč odtiaľ.
Má každý pochopiť, prečo že je to tak?
Pravdepodobne by ste mali byť schopní prísť na to, taky, aj keď som nemal
tento pekný odsadenie.
>> Odsadenie druh dáva preč, ale môžete vidieť, že značka hlava má
boli uzavreté, čo znamená, že pravdepodobne nemôže ísť sem dole.
Musíme sa vrátiť až na čokoľvek bol tesne pred hlavou
tag, alebo pod tým.
Sme aj so značkou hlavy.
>> A pod telom ide formulára.
Podľa formy, sú dva vstupy.
OK.
To je všetko, čo mám.
Quiz 1 je zajtra.
Som tak nadšená pre vás.
Je to bude výbuch.
>> Máte-li -
>> DIVÁKOV: [APPLAUSE]
>> JASON Hirschhorn: Oh zastaviť, zastaviť.
Ale nie, ja som si srandu.
Ak máte nejaké otázky, vpravo po časti, budem vonku.
Ak máte nejaké otázky dnes, neváhajte zavolať, e-mail, gchat,
Nosič ma holub.
Veľa šťastia zajtra.
Majú nádherný vďakyvzdania prestávku, keď nemám ťa vidieť do tej doby.
A ja vám po Dni vďakyvzdania pozri v utorok pre naše finále
Sekcia strana vôbec.
>> DIVÁKOV: [nepočuteľné].
>> JASON Hirschhorn: Skvelé.
OK, tak vidím, že chlapci ďalšie týždeň, alebo za dva týždne.
A veľa šťastia zajtra.