>> JASON Hirschhorn: Welcome, všichni, až 10. týdnu.
To je vzrušující týden, protože zítra je Quiz 1, který dostaneme
v druhé.
Dnes v sekci jsme jít přes některé zdroje pro kvízu, a
Pak jsem se odpovědět na veškeré otázky, které kluci mají.
A my budeme konečně skončí s některé problémy praxe.
>> Můžeme strávit celý oddíl odpovídání na otázky.
Můžeme strávit celý oddíl jít přes problémy praxe.
Budeme jen rozšířit vyplnit prostor a čas máme.
>> Tak jsem každý týden dal tento seznam, ale to je obzvláště důležité v tomto týdnu.
Pro studium, pokud nemáte začal už, ach jo.
Ale doufejme, že jste začali už.
A vy se prochází materiálů a zdroje uvedeny zde.
Já bych Velmi doporučuji Řada z nich.
>> Zejména, skripta jsou nesmírně důležité a užitečné.
Study.cs50.net poskytuje velký nátěr na mnoha
témata jsme probrali.
To také má některé skvělé praxi problémy.
A pak, Google je skvělý, taky.
Nevím, co to byste použít pro.
Ale použít Google, stejně.
>> Oslovit mě, jestli máte nějaké dotazy, připomínky nebo obavy.
Podívejte se na zasedání recenze snímky z minulé noci.
Nebo, pokud budete mít nějaký čas, Podívejte se na video.
Poskytují spoustu užitečné materiály a informace.
A pokusit se pokrýt, pokud ne všechny, mnoho témata jsme na něž se vztahuje, a že
mohli vidět na kvíz.
>> Když už mluvíme o testu, který bude zítra.
Je to dlouhá 75 minut.
Mnozí z vás se to bere v 1 hodin, a někteří z vás jsou
brát to v 5:30.
V současné době jste ji užívat a Poloha jste jej užívat, ujistěte se, že
můžete se podívat na dokument na domovské stránce CS50.net.
>> Nezapomeňte, že můžete získat jeden 8 1/2 o 11 listu vzít s sebou.
Častokrát, lidé nemají používat tento list vůbec v průběhu testu.
Ale ve skutečnosti je to neuvěřitelně užitečné pro studium.
Takže dávat dohromady, že list je to, co Strávil jsem asi tři nebo čtyři hodiny
dělal, když jsem studoval na CS50, a že byl snadno nejužitečnější
způsob, jak bych mohl studovat na kvíz.
Takže i když máte nějaké jiné osoby je Studie průvodci se podívat na a
použít jako reference, vřele doporučuji vytvořit vlastní studijní průvodce, uvedení
že věci dohromady.
To opravdu vám pomůže učit se veškerý materiál.
>> V neposlední řadě je v této části, po zítra kvíz je tu ještě jedna
více přednáška -
příští pondělí.
Je tu ještě jedna část, není další Úterý před Dnem díkůvzdání, ale
Úterý po které.
Budeme se scházet na konečné sbohem strany a také dělat nějaké pohodě
věcí, které vám chlapi nadšeni další studie v informatice.
>> Je tu ještě jeden projekt, jeden spravedlivé, jeden Hackathon.
Se blížíme ke konci CS50, který je vzrušující -
ale také, pokud jste stejně jako mi, trochu smutné.
Než jsem se jít dál, má někdo nějaké otázky o tom, co
Probrali jsme tak daleko?
>> OK, tak pojďme na některé otázky že máte na kvíz a témata
bychom mohli pokrýt.
Tak to je seznam, který jsem dal dohromady.
To není v žádném případě vyčerpávající, ale doufejme, že bude osvěžit paměť, pokud vám
nějaké dotazy týkající se některého z nich témata, nebo pokud máte dotazy týkající se
Problémy praxe z kvízů v minulých letech.
>> Měl jsem pár otázek, které byly e-mailem na mě, ale já chci odložit
na ty, na vteřinu.
Má někdo nějaké otázky, problémy, které nerozuměli,
Odpovědi oni nerozuměli aby se nám začalo?
Avi.
>> DIVÁKŮ: Můžete prostě jít přes DOM a Ajax opravdu rychle?
Stejně jako to, co potřebujeme vědět, nebo by pochopit, o nich?
>> JASON Hirschhorn: Budu odpovídat Obecně tato otázka, co mám
potřebujete vědět o dané téma x?
Protože mám pocit, že mnozí z vás jdou a zeptejte se mě to, nebo jsou
zvědavý, že.
Takže do té míry, že téma bylo vztahuje na přednášce, nebo část, nebo na
study.cs50.net, problém nastavení, můžete by měli být obeznámeni s tím.
>> Takže nemusíte znát každý typ z tagu, který je k dispozici ve formátu HTML nebo
každý typ atributu nebo majetku si můžete dát něco v CSS.
Ale pokud jste to viděli v příkladu s lekcí, pokud jste to viděl na problém
set, asi byste měli znát s ním, zejména co jste viděli
v přednášce.
Takže jsme diskutovali o dokumentu objektový model trochu v
část, více v přednášce.
Měli byste být obeznámeni se, že hodně z toho.
>> A vy byste měli být obeznámeni s Ajax ve stejném rozsahu.
Nikdy jsme viděli neuvěřitelně pokročilý nebo Složitější příklady Ajax, takže
nebudete se zeptal dělat něco neuvěřitelně komplikované.
Ale můžete být požádáni, jak to mám provést volání Ajax pomocí jQuery?
Což je něco, co jsem viděl řadu z doby před, a to jak v
přezkoumá zasedání a v přednášce, a je to jen dva-ish řádků kódu.
>> Takže to je něco, co byste měli znát.
Ale zase, na všech těchto témat, pokud jste viděli
před, je to fér hra.
A můžeme vás požádat - samozřejmě, že jsme se zeptat, jsi, co
ještě neviděli.
Něco, co nemáte kódování neviděl.
Což neznamená, že máte ne Viděl nástroje k řešení
tento problém před.
Viděli jste ty nástroje.
>> Například, na kvíz 1, v případě, budete muset kód strlen.
Jsme před kódované strlen.
Ale víte, jak používat pro smyčce, víte, jak používat, pokud podmínky.
Víte, jak psát proměnné v C To bude to samé zde.
Nejste bude požádán, aby něco, co jste ještě neviděli, ale
můžete být požádáni, aby, jako je, dát něco společně novým způsobem, nebo
řešit jiný typ problému.
>> Omlouvám se, že to není specifické pro váš otázka, ale nemohu odpovědět na
každý téma, co si dělat nebo nemusí vědět.
Ale také se omlouvám, to poslední, co na tom.
Jsme strávili mnohem více času Na odkaz seznamy, než máme na Ajax.
Jste nepoužili Ajax v problému sadě.
Jedním z hlavních rysů, které problém nastavit, aby byl odkaz seznamy.
A jsme strávili spoustu času v přednášce a část jeho použití.
>> Takže, je pravděpodobné, seznam odkaz přijde více často na testu, než Ajax vůli.
Nebo otázky mají co do činění s odkazem Seznam bude stát za více bodů.
Takže si určitě zaměřením a úzký v na věci, které jsou více
pravděpodobné, že přijde, protože máme strávil více času na ně.
>> OK jakékoli další otázky?
Jo.
>> DIVÁKŮ: Můžeme jít přes použití anonymní funkce v JavaScriptu?
Jsem tak trochu zmatená o tom.
>> JASON Hirschhorn: Takže v JavaScriptu -
Snažím se myslet, jak jsem mohl napsat to na -
tak se pojďme skutečně otevřít tento kód.
Tak to je kód, který jsme dělali minulý týden.
A viděli jste to dříve, pokud byli zde v sekci minulý týden.
Nebo jste viděli něco, co podobně jako předtím.
>> Ale můžete se podívat na prvním řádku.
To je, jak začít -
každý viděl předtím.
Pokud chcete dát nějaký kód JavaScriptu, můžete dát dovnitř to za předpokladu, že
používáte JQuery.
To se říká, nedělejte nic do tohoto dokumentu načten.
>> A pak, Curt, vidíte tady děláme něco takového -
Funkce otevřené závorka, uzavřená závorka.
Takže jsme to dávat to funkce jméno.
Nebudeme definovat tuto funkci má běžet a pak
říkají banda krát.
Jsme jen říkám, tento dokument již se funkce.
Pár věcí, které dělat.
>> A my nechceme trávit čas pojmenujte ho nebo ji uložit na
věčnost.
Chceme jen udělat pár věcí.
Takže anonymní funkce třídění neslouží tomuto účelu.
Když nebudete používat něco znovu a znovu, takže nemusíte
dát mu jméno - stačí Chcete ji jednou použít -
byste jen říct, funkci, Například v tomto případě, a ty jsi jenom
definování něco, co byste mohli dát jméno.
>> Jako bychom mohli vytáhnout tuto funkci se a dát mu jméno a pak zavolat, že
funkce zde.
Ale nemusíte, protože nemáme chcete ztrácet čas dávat to jméno nebo
plýtvání něco v našem prostoru jmen.
A uvidíte, že hodně.
Například, vidíme, že hodně v tomto kód, ale viděli jste to dříve, když
kliknete na něco -
spustit tento typ kódu.
>> Mohli bychom definovat kód, který chceme běžet, když klikneme, v tomto případě,
toto číslo, jako samostatná funkce a potom spusťte tuto funkci.
Ale v tomto případě, my prostě skákání tento krok a pohybuje se do tady a
jen na definování vše že chceme, aby se to stalo, a
ne dávat to jméno.
To ještě nemusí mít odpověděl na vaši otázku.
>> DIVÁKŮ: Ne, to dělá.
Myslím, myslím, že jsem to opravdu dostat, proč by mělo být
fungovat vůbec, i když.
Vzhledem k tomu, že to není opravdu volána.
To není opravdu mít jméno.
>> JASON Hirschhorn: Je to funkce v pocit, že je to řada kroků,
jako byste dát do funkce.
A pak, že je důvod, proč říkáme to anonymní funkce.
Nebudeme se dát mu jméno.
Nebudeme ztrácet snaží pojmenovat, ale co jsme mohli.
>> Anonymní funkce, budete může vždy dát jméno.
Tak například tento kód přímo tady, bychom mohli dát tento kód uvnitř
funkce a pak volat Tato funkce zde.
Místo toho říkáme, nejdeme obtěžovat s tím.
Jsme prostě budu psát to všechno tady.
>> Je to jako někdy, když píšete čtyři smyčky v C - kluci
viděli předtím - možná jste iterace přes forloop
do i rovná 0.
I je menší než strlen.
Nebo jdete přes některé pole, můžete ušetřit řadu
index i v nějaké proměnné.
A můžete použít tuto proměnnou.
Takže nemusíte přepisovat pole držák i znovu a znovu a znovu.
>> A to je něco jako dummy proměnná.
Není to slouží mnoho účel jiný než aby váš kód trochu čistší
a čitelnější.
Podobné funkce zde.
Jen je to trochu jednodušší, ale funkčně není žádný rozdíl.
Znamená to, že odpověď na vaši otázku?
>> DIVÁKŮ: Ano.
>> JASON Hirschhorn: OK ..
Mario?
>> DIVÁKŮ: Včera často kladen funkce závorek událost.
Znamená to, že něco?
Nebo je to pro věci, jako je že by to
document.ready funkce událost.
>> JASON Hirschhorn: Viděli jsme to, a opět se jedná o menší věci, které
asi nechci, aby tráví příliš mnoho času na.
Protože někdy nechci lidi se zbláznil, že nemají
slyšel o těchto věcech, že hodně.
Ale mluvili jsme trochu o obslužné rutiny událostí.
Takže se něco stane, a pak se Tato funkce se provede.
A pak jsme také chtít vědět, některé detaily o tom, co
se stalo v tomto případě.
>> Takže myslíte, že zpět do problému nastavení 4.
To je asi nejjednodušší způsob, jak pochopit, že v přestávce ven.
Tam byl nějaký kód -
jako událost se bude dít, ale událost může znamenat mnoho věcí.
Pokud by mohlo znamenat, že myš je klepnutí, je by mohlo znamenat, stisknete klávesu se šipkou, et
cetera, et cetera.
>> Ale je to všechno uložené v této obecný čemu se říká události.
A pak můžeme říci, že je Tato událost tahle věc?
Nebo je tato událost tahle věc?
Nebo, jaké se stalo se této události?
Takže to je důvod, proč můžete vytvořit, že proměnné tam uložit, že další informace
o tom, co přesně se stalo, že budete chtít
využití ve funkci.
Ale opět, to je pravděpodobně jeden z méně důležité věci být velmi
znají.
>> OK, jaké další otázky mají lidé měl, nebo úskalí, které jste
chyba při kontrole?
Budeme se zpět do tohoto seznamu.
Co v praxi kvízy, pokud lidé vzali ty už?
Jaké jsou některé problémy, které zakopl kluci se?
Vím, že na to, že v loňském roce kvíz bylo opravdu těžké.
>> DIVÁKŮ: Můžete mi vysvětlit, co útok SQL injection je?
>> JASON Hirschhorn: OK, dobře.
Tak jsme si povídali o tom trochu.
K dispozici je přednáška o bezpečnosti.
A opět, jak jsem již zmínil, to je stranou.
Ale budete frustrováni na kvíz když si přečtete nějaké malé dvoubodová
otázka, a vy jste rád, když jsem nikdy dozvědět, že?
>> Všechny ty věci v těchto přednáškách že jste si nemyslel, že jste potřebovali
víte, nebo byste mohli zakrývat, protože neměli co do činění s
Problém set, které budou pravděpodobně přijít znovu na kvíz.
Takže, cool, zábavné věci, které jste právě Myslel David říkal pro vás
těšit, byl ti pro vás baví a aby se vám prostě být super
nadšení učit se všechno je potřeba se naučit
o informatice.
Tyto věci také přijít na kvízy.
Takže, i tyto malé věci, které nebyly přímo vztahují k vašemu problému
nastavit, jak vy jste obeznámeni s od Kvíz 0, bude pravděpodobně přijít.
A to je dobrý příklad něco.
>> Takže SQL injection útoků je, když jste získat nějaké informace od uživatele a
Chcete-li jej vložit do tabulky pomocí SQL INSERT, ale
ani dezinfikovat vstup dopředu.
Takže, samozřejmě jsme viděli SQL příkazy.
Já si jen otevřít -
pojďme -
půjdeme na přezkum -
Myslím, že kdo to vztahuje?
Myslím, že Samala udělal.
Takže se můžeme dostat -
>> DIVÁKŮ: Kde jsi to našel?
>> JASON Hirschhorn: Takže pokud jdete do CS50.net, kvízy, a pak můžete
přejděte na a získat snímky ze zasedání přezkoumání.
Ale vidíte, že je to dobrý příklad z útoku SQL injection.
Bereme nějaké informace od uživatele a oni nám řetězec, a pak jsme
Chci vložit tento řetězec do databáze.
Obecně budeme k dezinfekci, že vstup, což znamená, že jsou některé
znaky, které jsou nebezpečné.
>> Například v SQL řetězci, Tyto citace -
jednoduché uvozovky nebo dvojité uvozovky -
něco znamenat.
Znamenají ukončit tento řetězec zde.
A tak v případě, že uživatel dává jeden nebo dvojité uvozovky, by mohly být
snaží podrazit svůj SQL dotaz a vložit nějaké špatné věci do něj.
A pokud ano, aby mohli získat ovládání vaší databáze, nebo dělat nějaké
věci, které nechcete, aby dělali.
>> Takže to je důvod, proč vždy, když jsme se SQL dotazy, jsme dezinfikuje vstup před
uvedení do databáze, která znamená, že uniknout tyto znaky.
Budeme mluvit o tom, že ve vteřině.
Ale dlouhý příběh krátký, SQL injection útok, pokud nechcete dělat, že -
pokud nechcete starat o vstupu oni vám dali před uvedením svého
databáze, které mohou, jak vidíte dole zde, spustit dotaz, který ve skutečnosti -
dali ve svém kódu sem a Tento vyberte řádek tady dole vybere
vše od stolu bez ohledu na z čeho je uveden heslo.
Protože máte nebo 1 rovná 1.
>> Takže je to v podstatě, dlouhý příběh krátký, způsob, jak převzít databázi.
Otázkou tedy pro vás, je kde p sad 7 jsi dezinfikuje všechny
vstupy do vašich SQL dotazů?
Kde se tento krok se stalo?
Kde se zabránilo SQL injection útoky z děje s. set 7?
Jo.
>> DIVÁKŮ: Crypt?
>> JASON Hirschhorn: Takže to nebyla krypta.
Nechtěli jsme, aby to budete dělat pro to zejména problém nastavit, ale to se stává
ve funkci dotazu.
Vlastně jsme to napsal pro tebe, a my jsme se starali o
dezinfekce vstupů pro vás.
Ale v minulých letech, studenti měli zadejte vstupy na vlastní pěst.
V p sadě 7, mnoho z vás -
dovolte mi otevřít jeden jiný soubor.
>> Takže si všimnete tady hodně lidí, v problému nastavit 7, nevolal
tuto funkci na struny.
Tato funkce, speciální znaky, opět -
Tento řetězec může mít některé věci že v HTML na mysli něco jiného.
Stejně jako rovnátka, čtverec, nebo pod úhlem Držák na mysli něco v HTML.
>> A tak, pokud tisknete, že se na obrazovka nebo pokud si jen brát a
tisknout, které se do vašeho HTML, které by mohly dělat něco, co nečekali.
Takže htmlspecialchars jde přes všechny ty, znaky, které mají zvláštní
setkání a uniká jim.
Tak se dostane vytisknout jako text Chcete-li vidět, spíše než
šroubování do vašeho HTML.
Nazvali jsme tuto funkci v záhlaví.
A spousta lidí zapomněla volání této funkce v
kód, který jste psali.
>> Tak, například, v případě, že název zboží měl úhelník v něm a jste zapomněli
tuto funkci volat, že úhel Držák by mohl shodit co
vaše HTML vypadalo.
Ale volání této funkce se uniknout že tak to ve skutečnosti vytiskne jako
úhelník a nevyvolává z vašeho HTML kódu.
>> Ze stejného důvodu jsme viděli, někdy, lomítka před uvozovkami v
printf řádek, protože nechceme dvojité uvozovky dolů řetězec.
Chceme jim tisknout na obrazovku.
Takže všechno je to stejný nápad.
Znamená to, že odpověď na vaši otázku?
>> DIVÁKŮ: Druh.
>> JASON Hirschhorn: Myslíte si, mají návaznost?
>> DIVÁKŮ: Myslím, že SQL Injection Útok má co do činění s tím?
Nechápu, jak dva jsou ve spojení.
Proč byste udělat specialchars?
>> JASON Hirschhorn: OK, takže SQL injekce útok je, když si aplikujete
některé škodlivé řetězce do někoho je programu, a prostě si ji a spusťte
SQL dotaz s řetězcem jste jim dali.
Jak můžete vidět tady dole, že by mohlo být problematické.
Takže způsob, jak zabránit proti které je budete mít svůj řetězec, který dávají
si - tak tento řetězec přímo zde -
a vy ji dezinfikuje.
Můžete uniknout všechny věci, které jsou potenciálně problematické.
Takže se nemusíte interpretovat jako něco to znamená, že něco.
>> A příklad, který se HTML je tato funkce.
Takže je to stejná myšlenka tady.
A já jsem byl jen zobrazující další Příkladem toho, kdy jste
před viděli tuto myšlenku.
Unikajících uživatelský vstup před tiskem že se na obrazovce nebo uvedení
v příkazu SQL.
>> DIVÁKŮ: Takže v tomto případě, že uživatel je probírat s programátorem.
>> JASON Hirschhorn: Ano.
Se všemi z těchto bezpečnostních útoků, to je vždy obecně uživatel, nebo
někdo se snaží nepořádek s vámi, programátor.
A to jsou způsoby, jak můžete bránit proti nim.
>> DIVÁKŮ: Takže mám otázku o hašovacích funkcí.
V Quiz 1 z roku 2011, jsou tam dva otázky o jednostranných hash.
A já jsem jen přemýšlel, co to znamená.
>> JASON Hirschhorn: OK, který kvíz?
2011?
>> DIVÁKŮ: Jo.
>> DIVÁKŮ: Quiz 1?
>> DIVÁKŮ: [neslyšitelné].
To je jako hash hesla.
To není uvedení věci -
>> JASON Hirschhorn: Jaké stránky to bylo?
>> DIVÁKŮ: Myslím, že to bylo 9 nebo 10, nebo obojí.
>> JASON Hirschhorn: V pořádku, jděte do toho, Curt.
Můžete odpovědět, když se podíváme.
>> DIVÁKŮ: Myslím, že to mluví o hash hesla.
Stejně jako, když někdo zadá heslo, to zase do šifrovaného věc.
To je heslo hash, který je se liší od funkce hash, který
dává něco do hash tabulky.
>> JASON Hirschhorn: Uvidíme.
Dovolte mi, abych vytáhnout to, co dát jako odpověď.
A pak budeme chodit přes něj.
>> Takže Curt dal velký příklad o jednosměrný hash.
Když jsme viděli předtím, jsme vzít heslo a zase -
pamatujte, že v p sadě 7, možná někdo mít heslo, které je právě heslo,
ale pak se dostane do šifrována některé opravdu dlouhá věc.
Jednosměrný hash znamená, že je velmi snadné přejít od jednoho způsobu k druhému, ale
je to velmi těžké přejít od jiná cesta zpět.
>> A tak víte, když jste byli kontrole hesla lidí v problému
sada 7, měli byste vzít své -
tak, například, že by si přál, aby změnit své heslo, můžete je požádat
pro jejich staré heslo.
Vzal si své staré heslo.
Můžete šifrována to.
A pak porovnal dva šifrování spíše než unencrypting originál
jeden, protože je to opravdu těžké jít tímto způsobem.
Jo.
>> DIVÁKŮ: Jak do hloubky dělá naše porozumění telnet má být?
>> JASON Hirschhorn: Pokud již bylo zmíněno krátce v přednášce, jen krátký
porozumění.
Opět platí, zpět na odpověď do AVI otázku -
více věcí přijít, tím je pravděpodobnější, se budete muset být velmi
seznámit se s nimi.
Pokud se už jen přijít na přednášku, to je jen jedno místo.
Ale když přijde na přednášce, oddíl, a problém nastavit, pak
pravděpodobně muset být velmi seznámit se s nimi.
>> Takže jsem měl otázku od dříve o -
znamená to pád 2010 -
Quiz 1, pojďme se vytáhnout -
tato otázka na komíny a fronty, které jsme strávit spravedlivý trochu času
mluví o v přednášce, a to i když jsme opravdu
kdy trefil v sekci.
Tak na tuto otázku dává vám sérii příkazů a dotazem, co
se vytiskne v tomto případě.
Tak tohle je naprosto rozumná otázka které by mohly být požádány o vás
kluci, a pak vy by být schopen na ni odpovědět.
>> Tak proč se na to podíváte na 30. sekund, a pak, pokud někdo chce
navrhnout odpovědi na mně, a pak budeme chodit přes něj.
Tak jo, kdo má odpověď na otázku 27?
Jo.
>> DIVÁKŮ: Je to 1, 2, 3, 3?
>> JASON Hirschhorn: To je pravda.
27 je 1, 2, 3, 3.
Tak se pojďme podívat na to, jak jsme se dostali, že.
>> Za prvé, říkáme, pokud s je fronta, co se má vytisknout?
Takže q je první dovnitř, první ven.
Už jsme viděli, že.
Viděli jsme obraz lidí čekání na Apple
Uložte si koupit nějaký produkt.
První lidé v jsou první lidé z.
První věcí, ve frontě jsou první věci ven.
>> Takže pokud budeme tlačit něco do fronty, můžete tlačit je 1, pak vyskočí na 1.
Pop prostě znamená vzít ven.
V tomto případě stačí vzít něco ven.
Bereme se první to, že je to 1.
Tak dáme věci, které jsme tisknout se tady.
To již není v naší frontě.
>> Pak se budeme tlačit na 2 a 3, a jsme pop off první věc.
Opět, protože to je fronta.
Tak jsme si dva, pak dáme na jiném 3 a zavolat znovu pop.
Naše 3 je první.
>> A pak jsme měli spoustu jiné věci a volání pop.
Ale opět, protože to je fronta, první dovnitř, první ven.
Bereme z první věc, , která byla někdy dát dovnitř
To je náš 3.
A v tomto případě jsme se neboj o všechny ty ostatní věci.
Tak to je v případě, že je fronta.
Máte otázky k frontě?
>> Zásobník je odlišná.
Co je zkratka máme pro pochopení stoh?
>> DIVÁKŮ: Poslední dovnitř, první ven.
>> JASON Hirschhorn: LIFO, myslím.
Poslední dovnitř, první ven.
Takže jsme viděli příklad stohu zásobníků v jídelně.
Ať zásobník je na vrcholu dostane zvedl.
A pak, pokud nová podnosy přijít v, které se vložil na vrchol.
A pak, co je na nahoru dostane zvedl.
Takže ty zásobníky na spodní moci zůstat tam na chvíli.
>> V tomto případě, opět budeme kreslit na to.
Jsme tlačit na jednoho, tak jeden je první v řadě.
A my pop něco off.
A je tu jen jedna věc, tam, tak jsme se přesunout jeden tady dole.
Pak dáme na 2 a 3 a jsme pop něco off.
>> Ale znovu, protože to je fronta -
nebo je to zásobník, poněkud -
bereme vše, co bylo v poslední.
Ať už je v posledním je jako první.
A 3 je poslední.
Takže jsme dali 3 tam, pak dáme na další 3 a my
pop zase něco.
A konečně, dáme na 4, 5, 6 a 7, a tady jsme pop.
A protože je to zásobník, bereme co bylo uvedeno v loňském a psát
že tady dole.
Takže jsme skončili s 1, 3, 3, 7.
Má někdo nějaké otázky týkající se zásobníky nebo fronty, nebo tento příklad?
>> OK.
Pojďme zpět na seznam témat.
Ne, že by tudy, tudy.
Jaké další otázky, lidé mají?
>> DIVÁKŮ: Nevím, jak je důležité to je, ale já jsem byl zmatený
Rozdíl mezi různými typy jazyky, jako je značkování, sestavovány,
interpretovány.
>> JASON Hirschhorn: To je dobrá otázka.
Myslím, že je poněkud důležité, tak pojďme rychle jít přes něj.
Velké jazyky jsme viděli doposud jsou C, PHP a JavaScript, pokud jde
z programovacích jazyků.
HTML, jak jste se zmínil, není programovací jazyk.
Je to značkovací jazyk.
A pak máme CSS, který je také není programovací jazyk.
>> Také jsme viděli SQL, který není programovací jazyk jeden.
Takže SQL umožňuje psát dotazy na databázi.
HTML je značkovací jazyk.
To určuje, jak věci jsou strukturovány.
A CSS umožňuje styl věci.
To je pravděpodobně míry za to, co potřebujete vědět o těch třech.
Ale to je ještě zajímavé postavy z rozdílů mezi C, PHP,
a JavaScript.
>> Takže jeden z největších rozdílů, jak jste zmínil, je to, jak jsou
sestavil, nebo cokoliv ekvivalent je.
Takže C je sestaven.
Rádi bychom se vždy spustí kompilátor.
A pak, kde jsou vaše chyby Při spuštění C kompilátor?
Tam, kde se to ukáže Chyby v kódu?
Jak víte, že je to Chyba v kódu v jazyce C?
>> DIVÁKŮ: To vám ukáže, v terminálu.
>> JASON Hirschhorn: Ukazuje vás terminálu, jak jste kompilaci.
A pokud tam jsou chyby, je nebude ve skutečnosti zkompilovat.
Takže víte, že tam jsou chyby pravé pryč, dopředu, před vámi
i spuštění kódu.
>> Samozřejmě, že můžete spustit svůj kód a dostanete segmentation fault, ale to bylo
pravděpodobně proto, že jste některé hloupé logiky věci.
Ale váš kód s technicky všechny správné a mohl běžet.
Takže C kód dostane sestaven v předstihu.
Co je PHP kód?
Tam, kde byly chyby ve vašem PHP kódu?
Jak víš, že jsi měl chyby ve vašem PHP kódu?
>> DIVÁKŮ: Běh času?
>> JASON Hirschhorn: Jo, když se by se spustit, měli byste spustit
PHP kód na zadní straně.
A pak byste zobrazit obrazovku.
Můžete vidět některé věci na vrcholu, ale pak byste viděli, jak někteří
oranžová, ošklivý stůl.
A to by vám číslo řádku a řekněme, bla, bla, bla, tohle
nefungovalo.
>> Takže PHP je interpretován řádek po řádku a spuštěn na serveru.
A pak je výsledkem poslal k vám.
Skvělé.
Provedený v serveru řádek po řádku a pak poslal k vám.
A pokud tam je chyba, bude to poslat jste chybu, ale můžete mít
dostal nějaké věci dopředu.
Takže někteří to mohlo fungovat, ale později, může některé věci nemá
nepracoval.
>> Co je JavaScript?
Kde jste vidět chyby JavaScriptu?
V p set 8, pokud máte chyba, jak to víš?
Tam, kde by to ukázat?
>> DIVÁKŮ: V konzole, ve spodní části.
>> JASON Hirschhorn: V konzola, na dně.
To by také vám číslo řádku, a to by
zobrazí se na dně.
A JavaScript nebyl proveden na serveru.
JavaScript byl poslán do vašeho počítače, a pak, když byl čas běžet
JavaScript, JavaScript byl běh řádek po řádku na
Klient, na vaší straně.
Není serveru, na straně klienta.
>> A podobně, bylo to běh řádek po řádku.
A pak, když byste si chybu, že by se ukázala ve spodní části.
Podobně jako PHP, možná některé z nich provést, a pak můžete dostat
chyba později.
>> Dále, na rozdíl od trochu PHP, pokud máš chybu JavaScript -
že jste to neudělal právo Kód pro upozornění box -
můžete držet spuštěním programu.
Upozornění box nebude fungovat, ale váš program bude v pořádku.
Jen možná, že funkce by se nezdaří.
>> Takže je tu něco z největších rozdíl v tom, jak tyto
jazyky, nebo jak programovací kód píšete skutečně hodnoceny.
Existují i ​​jiné rozdíly v Podmínky - největší rozdíl
Viděli jsme, pokud jde o proměnných v různých jazycích.
Takže může mi někdo dát rozdíl mezi proměnnými
ve třech jazycích?
Ano.
>> DIVÁKŮ: V jazyce C, jsou přísně zadali.
V dalších dvou, jsou volně zadali.
>> JASON Hirschhorn: A Co to znamená?
>> DIVÁKŮ: To je v C, musíte deklarovat typ proměnné, když
deklarujete proměnnou, jako interbool nebo char.
>> JASON Hirschhorn: Výborný.
V jazyce C, jsme vždy měli dát typ proměnné.
A nemohli jsme opravdu různé druhy.
Dalo by se to udělat celé číslo a řetězec.
Ale jak jsme viděli v těchto jiných jazyky, ve skutečnosti můžete různé druhy,
a nikdy dát něco typu, kdy.
>> Tak jak můžeme vědět, co jsou proměnné v PHP a JavaScriptu?
>> DIVÁKŮ: V PHP, začnou znakem dolaru.
V JavaScriptu, když deklarujete jim, budete mít bar.
>> JASON Hirschhorn: Správně.
Takže v PHP, začnou znakem dolaru.
V JavaScriptu, musejí mít bar, i když někdy to není ve skutečnosti
mít bar.
Ale to je v pořádku.
>> Tak to je velký rozdíl mezi proměnnými.
Myslím, že to jsou pravděpodobně pryč vrchol mé hlavy, dvě největší
rozdíly mezi těmito tři jazyky.
Ale, jo.
>> DIVÁKŮ: A rozsah proměnných C je omezeno na složených závorek,
kde ty ostatní, je to jen rád, zemře-li, že je to pouze funkce,
ale jinak, Je to -
>> JASON Hirschhorn: Správně.
Takže rozsah se mírně liší v C. Jak Pamatujete si, složené závorky definují
rozsah proměnných.
Takže pokud to bylo definováno v případě, podmínka, která je uvnitř smyčky for,
proměnná existuje pouze tam.
>> V JavaScript, pokud proměnná je definována uvnitř-li podmínkou -
uvnitř smyčky for - to bude existovat že funkce, ale to nebude existovat
mimo tuto funkci.
Takže prostor je trochu pružnější v JavaScriptu a PHP.
To je odpověď na otázku?
OK, nějaké další otázky?
Můžeme udělat další čtyři minuty otázek, pak
budeme skákat do kódování.
>> DIVÁKŮ: Můžeme jít do Ajax a mluvit o tom, co to je?
>> JASON Hirschhorn: Promluvte si s Avi po.
Zeptal se na tuto otázku dříve.
>> DIVÁKŮ: Moje chyba.
>> JASON Hirschhorn: Žádné starosti.
>> DIVÁKŮ: Co přesně je to JSON?
>> JASON Hirschhorn: Co je to JSON?
Jaký je Váš dotaz?
>> DIVÁKŮ: Jen opravdu rychle, rozdíl mezi
print a echo v PHP.
>> Proč jste mapu: JASON Hirschhorn Rozdíl mezi tiskem a ozvěna?
Nepatrný rozdíl.
Ne, že by velký problém.
Ale měli byste rozhodně mapu to, a že ti dám dobrou odpověď.
>> JSON, pravděpodobně větší z obchodu.
Stojany pro JavaScript Object Notation.
A když jsme viděli JSON se používá?
Pokud jste viděli -
proč vůbec víš slovo JSON?
Kdy jste ho viděl?
>> DIVÁKŮ: Když jsme byli stále Kurzy akcií pro finance.
>> JASON Hirschhorn: Takže jste viděl že když jste byli stále
Kurzy akcií pro finance.
A proč jsi ho viděl?
>> DIVÁKŮ: Když jsme byli načítání všechny informace, které
přišel v tomto formátu.
>> JASON Hirschhorn: Takže byste si -
jo.
Jen do toho.
>> DIVÁKŮ: [neslyšitelné] informace z objektu?
>> JASON Hirschhorn: Obě ty, dohromady je odpověď
hledáme.
Chcete, aby informace z to ostatní webové stránky.
A vy byste doufat, že když jste získávání těchto informací, by bylo
prezentovány na vás v nějakém typu standardizovaného formátu.
>> Každý zná asi s hodnotami oddělenými čárkami.
Můžete exportovat tabulku aplikace Excel nebo jakýkoliv typ tabulky jako seznam
comma-separated values.
A čárky rozdělit všechny různé obory.
JavaScript Object Notation -
JSON -
je jiný typ standardizované uspořádání věcí.
A to je často, jak získat informace z našich Ajax dotazů.
>> Takže v tomto případě, máme to ze stránek Yahoo.
Oni se vrátí věci nám v objektu JSON.
A pak víme, protože je to standard, co to je
bude vypadat.
Takže můžeme iterovat přes pole že je se vrátil k nám, do pole
objekty, které se k nám vrátil.
>> My asi potřebujeme znát klíče, ale obecně vám
dokumentace na webových stránkách, pokud jste okouzlující nějaké JSON
zápis pro ně.
Stejně tak můžete JSON kódovat objektu.
Takže je tu funkce JSON podtržítko enkódování.
A tak si můžete vzít na objekt, který jste vytvořili, JSON zakódovat, a
přenést na něco jinak, pokud chcete.
A JSON dekódování existuje také pro podobný účel, nebo
opačný účel.
>> DIVÁKŮ: Potřebujeme vědět kódování pro hash tabulky a pokusů?
Nebo se prostě musí pochopit, jak jsou zvyklí, koncepčně?
>> JASON Hirschhorn: Takže, zvedněte ruku pokud jste hash tabulky pro p set 4
se seznamem odkazů.
Nebo p sada 5.
Takže to byla drtivá většina lidí.
P sada 5, 6, kdo ví.
Už je to dávno.
>> Takže většina z vás udělal hash tabulky se seznamy odkazů.
A protože to je asi více společný přístup, a protože jsme strávili
hodně času dělá odkaz seznamy a hash tabulky, asi byste měli být
docela obeznámeni s tím, jak kódovat hash tabulky a seznam spojení.
>> A pokud si myslíte, že zpět k tomuto problému set, to bylo opravdu
tak těžké, jak jste očekávali.
A tam bylo mnohem méně Kód, než jste očekávali.
Řekl bych, že byste měli vědět, jak se kód hash tabulku nebo seznam odkazů.
Ne, že bych se zeptal, že nutně, ale měli byste
Jistě víte, že.
>> Také, když se podíváte do minulosti kvízy, tam bylo hodně
otázky o psaní funkce na odkaz seznamy nebo dvojitě spojové seznamy.
Zdá se, že přijít každý rok.
Pravým vložit na seznamu odkaz, vpravo vymazat ze seznamu odkazů, vpravo vložit
pro dvojitě spojový seznam, et cetera.
Takže to, že se cítím docela pohodlně že byste měli vědět, že.
>> Pro pokus, řekl bych, že byste měli Jistě víte, jak to funguje, a možná
dát nějakou pseudokódu, jak to kód a nastavit.
Ale to by nebylo to nejhorší, co v svět, pokud jste nevěděli, jak se
kód je v C. To by bylo skvělé, kdyby vám Věděl, jak se kód je v C, ale myslím, že
pravděpodobně pseudokódu na zkoušku by být nejvíce budete potřebovat
vědět, na zkoušku.
>> DIVÁKŮ: Extra úvěr?
>> JASON Hirschhorn: A totéž se, když jsme jít do binárních vyhledávacích stromů, můžete
potřebujete - a když jste viděli v minulosti, jsme udělali hodně - víte, jak
binární vyhledávací strom funguje.
Pravděpodobně byste měli být schopni nastavit jednu v pseudo kódu.
Ale proto, že drtivá většina lidí neudělal, že na problém
set, řekl bych, že je to pravděpodobně méně důležité, že víte, jak kódovat
a nastavit strom takového.
>> Nějaké další otázky?
Také můžeme zeptat se jich na celém jak jsme jít přes některé problémy.
OK, budeme dál.
Přeskočit ten snímek teď.
>> Když už mluvíme o stromy, to je první otázka, mám pro vás.
Protože se jedná o problém.
Řekl bych, že je to velmi pravděpodobné, že budete získat problém takhle na kvíz
s dotazem na kód určitý typ vložky, mazat, vyhledávat, pro jeden typ
datové struktury jsme viděli.
>> To přijde každý rok a my jsme strávili hodně času v druhé polovině tohoto
semestr bude nad těmito datovými typy.
Takže teď jsem definovaný uzel v binární vyhledávací strom.
A to, co jsem chtěl, abys je uveden binární vyhledávací strom, který začíná
v tomto uzlu hvězdy kořene, vyplňte provádění níže funkce,
který se stane být funkce find.
A to i bez rekurze.
>> Takže chci vám napsat dvě funkce.
Jeden dělá to s rekurzi, jeden Přitom bez rekurze.
A ne předpokládat, že kořen bude nenulová.
Takže hledáme pro celé číslo i v strom začíná u kořene, a my potřebujeme
psát to rekurzivně a iterativně.
Jo.
>> DIVÁKŮ: Takže chcete, abychom vrátí hodnotu true pokud zjistíme, že je, a false, pokud se
nenajdete.
>> JASON Hirschhorn: Jak to víš?
Jak to víš, že?
>> DIVÁKŮ: Ptal jsem se první, ale byl jsem za předpokladu, protože se říká, že bool na
začátek funkce.
>> JASON Hirschhorn: Správně.
To říká bool, takže jsem si ani nemusíte ti, co čekám, že se vrátí
protože se říká, že právě tam.
Ale to je v pořádku.
Vraťte se, true nebo false.
>> Takže než začnete, doporučil bych vám, Pokud jste obeznámeni s
binární vyhledávací stromy, rychle kreslení obrázek o tom, jak dostat své
pochopení, že jo.
To vám také pomůže při psaní kódu a to kontrole.
Opět platí, že také nemají, že mnoho čas na kvíz dělat všechny ty věci,
že bychom vás požádat, abyste dělat.
Takže psát pseudo kód je velmi užitečné.
>> A my jsme obecně dát o -
pokud pseudokódu je dokonale správné, že je
obvykle 50% na otázku.
Takže to není tvrdé a rychlé pravidlo, ale pokud stačí napsat pseudokódu, a to
správné, je to obvykle 50%.
Tak jsem vždycky doporučuji -
pokud jste v časové tísni, nebo dokonce i v případě, jste jen snaží přijít na to -
počínaje pseudokódu.
A konečně, pokud jste mohl napsat tento vše v C, to by bylo fantastické.
>> Takže pojďme se tři minuty pracovat na tomto programu.
A pak budeme psát pseudokódu na to jen jednou, a pak
budeme to kód rekurzivně a pak iterativně.
>> Pokud máte nějaké dotazy, pocit bez zvedněte ruku.
Šťastný chodit a odpovědět na ně předtím, než začneme jako skupina.
>> Pojďme pokračovat, a budeme pseudokódu rekurzivní verzi
to, a pak budeme kódovat jej.
Tak rekurzivní funkce potřebuje dvě věci.
To může být otázka, která můžete být požádáni.
Potřebuje dvě věci.
Kdo může zvýšit svou ruku a řekni mi, co dvě věci rekurzivní
funkce potřebuje?
Podle definice má dvě věci.
Jaké jsou ty dvě věci?
Nové ruce.
Ano, Alden.
>> DIVÁKŮ: Takže si nejsem úplně jistý, jestli to je terminologie, ale -
>> JASON Hirschhorn: Jsem rád, že budete zvyšovat svou ruku.
>> DIVÁKŮ: Je potřeba základní věc, a je třeba rekurzivní krok.
>> JASON Hirschhorn: Perfect.
Je potřeba základní věc a rekurzivní krok.
Takže to, co je naše základna případ?
>> DIVÁKŮ: F kořen rovná se rovná null.
Je nám líto, pouze v pseudokódu, pokud je to null.
Je-li kořen je null.
>> JASON Hirschhorn: Je-li kořen je null.
To je skvělé.
To je náš základní scénář.
To je to, co budeme zkontrolovat pokaždé.
A referenční případ je První věc, kterou uděláte.
Pokud jste dopadl na základní věci, máte hotovo.
>> Nyní musíme naši rekurzivní volání, a já bych být ochoten se vsadit, že potřebujeme pár
rekurzivní volání zde.
Vzhledem k tomu, že je to strom, a my může jít více způsoby.
Takže pokud root je null, jsme v pohodě.
>> Co navrhujete?
A teď jdu začít volat ven na vás, protože vím, že kluci
všichni víme.
Ale Annie, co by další řádek bude?
Co když jsme ho našli?
Co budeme dělat?
>> DIVÁKŮ: Když jsme ho našli?
>> JASON Hirschhorn: Nebo co tak, že -
dej mi pseudokódu pro linka, kde jsme ho našli.
>> DIVÁKŮ: Pokud se i rovná kořen i?
>> JASON Hirschhorn: A pak to, co budeme dělat?
>> DIVÁKŮ: Vrací true.
>> JASON Hirschhorn: Skvělé.
Takže pokud i je i -
ach, oni jsou oba zavolal jsem.
To dostane matoucí.
Ale když jsem se i vrátit true.
To je asi další věc, kterou bychom měli udělat.
To dává smysl.
>> OK, teď jsme to udělali naši rekurzivní ale volání, i když, protože rekurzivní
volání by volání této funkce znovu.
Takže to, co by mělo další řada pseudokódu být?
Anna.
>> Diváků: po levé straně.
>> JASON Hirschhorn: Buďte konkrétní, ačkoli.
Toto je binární vyhledávací strom, takže to, co se kontroly na levé straně znamenat?
>> DIVÁKŮ: Takže uzel -
Je mi líto, kořen.
A pak šipka vlevo.
Uzel, uzel, je mi líto.
Nebudu to číst správně.
Je to tzv. uzel, ne?
>> JASON Hirschhorn: bude to být nazýván kořen v této funkci, ale tak jako tak.
Na levé straně - jo?
>> DIVÁKŮ: Pokud tomu tak není rovno i, pak budeme volat
opět funkce?
>> JASON Hirschhorn: To je pravda.
Pokud tomu tak není roven i, jedeme volání funkce znovu.
Ale to, co strana stromu jdeme volat funkci znovu?
>> DIVÁKŮ: Na levé straně.
>> JASON Hirschhorn: Nejsme vždy Zavolám ji vlevo, je-li to
není roven ji.
>> DIVÁKŮ: Oh, omlouvám se.
Volejte na pravé straně.
>> JASON Hirschhorn: Chceme vědět, konkrétně, i když - pamatujte, že v
binární vyhledávací strom, všechno levá strana je menší.
Vše doprava straně je větší.
Tak to prostě není - ano, jděte do toho.
>> DIVÁKŮ: Pokud je to méně, než já, a pak -
pokud je to na levé straně -
>> JASON Hirschhorn: Takže pokud ri je menší než -
takže pokud náš počet je menší než já, co strana chceme jít na?
>> DIVÁKŮ: Chceme jít na pravé straně.
>> JASON Hirschhorn: Chceme jít -
dovolte mi nakreslit rychlé strom.
Pokud je to 5, bude to 3..
Takže pokud ri je menší než pět, co na straně chceme jít na?
>> DIVÁKŮ: Je nám líto, co?
>> JASON Hirschhorn: Naše číslo je nižší než počet Jsme
při pohledu na právě teď.
>> DIVÁKŮ: Oh, pak chceme jít na levou stranu.
Jo.
Promiňte.
>> JASON Hirschhorn: Přesně tak.
Žádné starosti.
V binární vyhledávací strom, všechno nižší je na levé straně,
větší je na pravé straně.
Takže pokud náš počet je nižší než i my jsme kontrolu -
protože vidíte v uzel, má i -
pak budete chtít jít doleva.
>> A to je snadné.
Co je to druhá řada pseudokódu musíme napsat?
Carlos?
>> DIVÁKŮ: To samé, stačí přepnout to větší než znaménko
a jděte doprava.
>> JASON Hirschhorn: Můžeš Řekni, že to ještě jednou?
>> DIVÁKŮ: Je-li naše číslo je větší než jsem, jděte doprava.
>> JASON Hirschhorn: Výborný práce na pseudokódu.
Pojďme to udělat v reálném kódu.
A opět, bude to pseudokódu Pravděpodobně vám, protože je to
správné, 50% na tuto otázku.
Ale to pseudokódu také překládá jeden k jednomu, v podstatě, v kódu.
>> Tak ať nám to v C. Kdo může dát mi první řádek kódu?
Ve skutečnosti, první, dřív než já že, dovolte mi zastavit -
>> DIVÁKŮ: Mám otázku.
Proč jste odsadit řádek co jsem ti dal?
>> JASON Hirschhorn: Vzhledem k tomu, Nemohl jsem psát.
Nevím.
Máš pravdu.
Že linka by měla být tam.
>> OK, tady je naše funkce.
A dovolte mi zastavit, i, Naše definice uzlu.
Co se stane, když ne napsat typedef?
Ví někdo?
>> DIVÁKŮ: Nebylo by to zkompilovat.
>> JASON Hirschhorn: Bylo by kompilaci, jo.
>> DIVÁKŮ: Bylo by to jen prohlásit jeden instance namísto toho, aby se nové
typ byste mohli deklarovat více instance?
>> JASON Hirschhorn: Tak to ne vím - to ne
jen deklarovat jeden typ.
Dalo by se ještě udělat hodně uzlů.
>> DIVÁKŮ: Ale nebude musíme napsat struct Node pokaždé?
>> JASON Hirschhorn: To je pravda.
Budete muset napsat struct uzel pokaždé, místo toho, aby pouze uzlu.
Ale s typedef, můžete jen napsat Node pokaždé.
OK, který se nedal - jo, Avica.
>> DIVÁKŮ: Je-li kořen rovná rovná null, vrátí false.
>> JASON Hirschhorn: Skvělé, a to je náš základní scénář.
Další řádek kódu.
Někdo, kdo se nedal me řádek kódu ještě?
Jo.
>> DIVÁKŮ: Root šipka i se rovná rovná i.
Pak se vrátí hodnotu true.
>> JASON Hirschhorn: Skvělé.
Další linky?
Jo.
Někdo jiný?
A pak můžete jít dál.
>> DIVÁKŮ: Else-li kořen šipka i je menší než i návrat
Funkce tzv. nález kořen -
>> JASON Hirschhorn: Omlouvám se.
>> DIVÁKŮ: Návrat najít kořen body doleva čárka i.
>> JASON Hirschhorn: Takže pokud ri je větší než věc ve stromu, chceme
jít na levé straně?
>> DIVÁKŮ: Ne, měl jsem to přešel.
>> JASON Hirschhorn: Který z nich?
>> DIVÁKŮ: No, jo.
Mám méně než podepsat zde.
>> JASON Hirschhorn: Jasně, pokud ri je méně než to, co je v kořenovém adresáři -
Naše aktuální kořen - a pak jsme chci jít doleva.
A co je poslední řádek, ne?
>> DIVÁKŮ: V podstatě totéž, s výjimkou spínač nebo větší než
rovná méně než a zleva doprava.
>> JASON Hirschhorn: Výborný.
Má někdo nějaké otázky, o tom?
Takže některé další věci, které by jako správná, je, že
může být-ltiff.
Hádej, technicky, žádný z nich Opravdu musí být také-ltiff.
>> Také, tam je asi jen jeden případ tady.
Tak to je asi vaše poslední případ.
Nemáte ještě potřebovat, aby-ltiff.
Ale asi dobře psát to, aby bylo jasno.
Jo.
>> DIVÁKŮ: Takže si nemyslím, že kvíz - pokud budeme dělat chyby, například,
v syntaxi -
malé syntaktické chyby -
jak to, že se přijatá v testu?
>> JASON Hirschhorn: Obecně o testu, malé syntaktické chyby nebo malý
Chyby ve stylu neztrácejí vám body.
Takže pokud jste zapomněli středník tady, bylo by to v pořádku.
Pokud jste zapomněli zavřít tuto závorku, to by bylo v pořádku.
>> Obrovské syntaktické chyby, které mění funkční význam kódu
dramaticky, můžete získat vzlétlo body.
Nebo obecně, jen třídění vám na tom, zda je nebo není
kód funguje, i -
není jeho provedení tak, a není jeho styl.
>> Pojďme se nyní kódovat iterativní verze nálezu.
Takže to bude dost podobné, ale tam jsou určitě bude
některé klíčové rozdíly.
Nicméně, naše pseudokódu pravděpodobně může jít -
stále ještě můžeme vzít jeden řádek pseudokódu a zjistit, co
Linka je v tomto případě.
>> Takže v iterační verzi, co si myslíte, Julia, by
být na prvním řádku?
>> DIVÁKŮ: Opět v iterativní boolean, budete muset nastavit pro smyčce, ne?
>> JASON Hirschhorn: OK.
>> DIVÁKŮ: Tak jako, K, pro x se rovná 0, x je menší než i.
Nebo ne, x je menší než velikost stromu.
>> JASON Hirschhorn: strom.
Takže jsme opravdu nevím, velikost strom, a my jsme opravdu nevím, pro
kolikrát můžeme jít, takže to, co je jiný typ smyčky, které mohou být
lepší v tomto případě?
>> DIVÁKŮ: Pokud ještě?
>> JASON Hirschhorn: Pokud jiný nemůže být smyčka.
Takže to, co je typ smyčky můžeme jen jít, dokud neucítíte případ?
Co to jen jiný typ smyčky v C kromě pro smyčce?
>> DIVÁKŮ: Zatímco.
>> JASON Hirschhorn: I když přesně.
V cyklu while, ne Potřebujeme vědět, jak -
while a smyčky může udělat přesně to samé, ale pěkná věc
o while je nepotřebujeme vědět, jak velký náš strom.
Takže budeme pokračovat, dokud to, co?
>> DIVÁKŮ: Dokud je roven velikost -
>> JASON Hirschhorn: No, je to velmi podobná naší rekurzivní případ.
Takže -
>> DIVÁKŮ: Zatímco kořen i nerovná i.
>> JASON Hirschhorn: To je opravdu blízko.
I když kořenový i -
zkusme to.
Nemyslím si, že [neslyšitelný]
kde kořen i se nerovná i.
Mohli bychom třeba ji změnit v něco bit, ale to vypadá, že je docela
dobrý, teď.
Takže budeme dělat, že.
>> Také si uvědomte, nemůžeme předpokládat, na otázku.
Nemusíte předpokládat, že kořen bude nenulová.
Tak co si myslíte, že velmi První věc, kterou bychom měli udělat, je?
>> DIVÁKŮ: Jen to samé věc jako předtím.
Je-li kořen rovná rovná null, vrátí false.
>> JASON Hirschhorn: Skvělé.
Takže by to mohlo být null.
Takže chceme zbavit z toho hned.
A pak jdeme zkontrolovat, zda kořen i není rovno i..
Tak, že bychom hledáte v této větvi pro 3, kořen i se nerovná i nyní
jsme v našem cyklu while.
Co chceme dělat?
A opět, to bude dost podobná naší rekurzivní verzi.
Jo.
>> DIVÁKŮ: Takže byste chtěli, aby iteraci, nebo pokračuj dolů ze stromu, dokud
kořen není rovno null.
>> JASON Hirschhorn: Dokud kořen není rovno null?
>> Diváků: kořen pomlčka i není rovno null.
Jen kořen, jo.
Jak dlouho, jak je kořen není rovno null.
>> JASON Hirschhorn: Takže ty chceš změnit to do kořene
není rovno null?
>> DIVÁKŮ: Jo.
>> DIVÁKŮ: Mohli bychom spojit ty, že jo?
My nepotřebujeme, pokud zpočátku.
>> JASON Hirschhorn: OK, takže pokud ne -
pokud budeme kombinovat, takže budeme dělat zatímco kořen není rovno null, a
v případě, že kořen se stane být null při začátek, co budeme dělat tady dole?
>> DIVÁKŮ: return false.
>> JASON Hirschhorn: Skvělé.
Takže oba způsoby, pravděpodobně by pracovali.
To je jiný způsob, a to kombinuje ji.
Ale na druhou stranu, pokud jste tak jako tak, jsme nebude vzlétnout designu
poukazuje na kvíz.
Ale to vypadá dobře.
>> Takže i když kořen není rovno null, co je první
věc, kterou chcete zkontrolovat?
Někdo jiný?
Null, co je první věc?
>> DIVÁKŮ: Pokud ri je menší než -
oh, myslím, když už zjistil, že v kořenovém adresáři.
Takže v případě, kořen šipka i je rovno i -
>> JASON Hirschhorn: Je nám líto?
>> DIVÁKŮ: Je-li kořen šipka i rovná rovná i -
>> JASON Hirschhorn: Co budeme dělat?
>> DIVÁKŮ: Vrací true.
>> JASON Hirschhorn: Skvělé.
A co bude dál?
Jeffe, co je další řádek kódu?
>> DIVÁKŮ: Je-li i nižší než kořenový šipky i, pak kořen roven kořen šipkou doleva.
>> JASON Hirschhorn: Root rovná kořen šipka vlevo.
Tak to je asi největší Rozdíl zde v tomto iterativní
verze, jak protichůdný k rekurzivní verze.
Rekurzivní verze, jsme volání funkce znovu.
Budeme aktualizovat kořen, pokud nazýváme novou funkci.
Tady nejsme volá novou funkci.
Jsme prostě jen aktualizaci kořen v této funkci.
To je skvělé.
A co je poslední řádek kódu?
Jo, Mario?
>> DIVÁKŮ: Else kořenové rovná kořen šipka vpravo.
>> JASON Hirschhorn: Je nám líto?
>> DIVÁKŮ: Root rovná kořen šipka vpravo.
>> JASON Hirschhorn: Mohl byste také něco takového napsat?
>> DIVÁKŮ: Nemám tušení.
>> JASON Hirschhorn: Nemůžete.
Můžete to udělat a navíc rovná.
OK, takže to vypadá dobře.
Proč se prostě dělat, že je vyčistit.
To vypadá skvěle, a že to bude fungovat.
A my bychom vypuknout.
>> Je-li kořen vlevo byl nulový nebo kořen vpravo byl nulový, museli bychom přijít sem.
Root by se rovnala null.
Rádi bychom vymanit se z našeho smyčky, a my bychom se vrátit false.
Takže když jsme se vymanit z smyčky, vrátíme false.
>> A opět, zatímco smyčka byla perfektní tady, protože nevíme, jak
velký náš strom je.
Snažili jsme se napsat pro smyčce, ale my si uvědomil, že máš přijít na to, jak
je velká dopředu.
Jo.
>> DIVÁKŮ: Kdyby tomu tak nebylo binární vyhledávací strom, by to být skutečná matematika-y
to napsat opakované, že jo?
Jako kdyby to byl strom, ale ne nutně -
takže to nebylo všechno menší na levé straně, a všechny větší na pravé straně.
To by bylo opravdu těžké iterovat přes to, že jo?
Museli bychom se zachránit, co bylo dříve na ve stromu a vrátit se zpět,
a tak podobně.
>> JASON Hirschhorn: Kdyby to nebylo binární vyhledávací strom, kdyby to bylo jen
strom, a to nebylo řazeny takhle -
a uvědomili jsme si dříve, když Anna bylo nám pomáhá, že dělat to
tříděného nám hodně pomáhá -
bychom potřebovali, ano, vždy uložit kde jsme byli předtím.
Ale tam by mohlo být hodně kde jsme byli previouslys.
Tam by mohlo být hodně mateřských uzlů.
>> Asi nejlepší způsob, jak to udělat, že by být neustále tlačí věci na některé
typ zásobníku nebo fronty.
Byste nikdy nebudete muset kód této protože je to těžký problém.
Ale vy tlačit nějaké věci na hromadu nebo fronty a pak se pop je pryč, a
pak hodnotit.
>> A pak mít nějakou jinou věc, kde jste vlastně uvedení uzly, a
pak vytvořit to, a pak prohledávat, že.
To by mohlo být nejlepší způsob, jak to udělat.
OK, nějaké otázky týkající se tohoto problému?
>> DIVÁKŮ: To je na příbuznou notu.
Budeme muset porovnat provozní dobu pro hash tabulky, binární
vyhledávací stromy, et cetera?
>> JASON Hirschhorn: Pravděpodobně.
Takže pojďme to udělat velmi rychle.
Běh času hash tabulky -
jaké jsou ostatní?
Binární strom?
>> DIVÁKŮ: Seznamy odkazů.
>> JASON Hirschhorn: OK, pojďme udělat vložku.
Co je to velký O vložky na hash tabulky?
Jaké jsou předpoklady děláš?
>> DIVÁKŮ: Ty vložení na začátku seznamu odkazů.
>> JASON Hirschhorn: Pravděpodobně první Předpokládá se, že nejsou žádné kolize.
Pokud nejsou k dispozici žádné kolize, pak čas vložení je jeden.
Pokud existuje kolize, a vy jste dělá samostatné řetězení a vkládání
na začátku seznamu odkazů, pak vložení je také konstantní.
>> Pokud děláte hash tabulky, ale ty mají jiný způsob řešení
s kolizemi, co je jiný způsob?
Co je je jiný způsob vypořádat se s
kolize v hash tabulce?
>> DIVÁKŮ: Lineární programování.
>> JASON Hirschhorn: Lineární programování.
Takže budeme hledat dál na další volné místo.
To není konstantní čas vložení karty.
Dalo by se jít přes celá tabulka, takže
by mohl být velký O n.
Jo.
>> DIVÁKŮ: Jinak jen řetězení?
>> JASON Hirschhorn: Udělali jsme oddělené zřetězení.
To byl první.
To je to, co se seznam spojení.
Vymyšlené jméno je oddělená řetězení.
Mohlo by to být jakýkoliv typ seznamu struktury jsme se náhodou dělat v seznamu odkazů.
>> Takže znovu, vložení na hash tabulky by mohla být konstantní čas.
Co vložení na vysokozdvižný vozík frontě?
>> DIVÁKŮ: Není to konstanta?
>> JASON Hirschhorn: Je to časová konstanta.
Ty prostě tlačí ji.
OK.
Vložení, jaké byly ty ostatní?
Na zkoušku?
Co je velký O vložení na zkoušku?
>> DIVÁKŮ: délka je konstantní.
Délka nejdelší -
délka slova jste vkládání.
>> JASON Hirschhorn: Je nám líto?
Počkej, takže to, co jsem slyšel?
Říkal jsi, že - co jsi řekl?
Jaká byla vaše odpověď, Marcus?
>> Diváků: Délka slova jste vkládání ve znacích,
za předpokladu, že je to postava pokus.
>> JASON Hirschhorn: OK, tak Délka slova.
Budeme dělat předpoklad, že Je to řetězec znaků.
Říkal jsi něco jiného, ​​ačkoli.
Říkal jsi, že délka nejdelšího slova.
>> DIVÁKŮ: To je jen konstanta, ne?
>> JASON Hirschhorn: Proč by být konstantní?
>> DIVÁKŮ: Jako, pokud používáte velké O notace, pak to nebude lišit v závislosti
na počtu věcí, které jsou již v pokusu.
>> JASON Hirschhorn: Takže bychom říkají, že je časová konstanta.
To je konstantní vložení, a to proto, že tato myšlenka -
že máme slovo, které je 45, nebo slovo, které je 60, že
má konstantní číslo.
A to by prostě být vložena v konstantním čase.
>> V praxi by však nemělo být, samozřejmě, stát v jedné milisekundy,
například.
Ale my bychom říci, velké O je konstantní na zkoušku.
A to je jeden z jeho Největší výhody.
>> Co vložení do seznamu odkazů?
Jen obecný, dále seznam link?
Jo.
>> DIVÁKŮ: Měl jsem otázku.
V testu, by nikdy zeptejte se nás na vložení čas, který je čtyři kroky,
nebo tak něco?
Nebo je to jen -
když říkáte, že vložení čas je jedna, že prostě znamená, že konstantní čas?
>> JASON Hirschhorn: Jo, to by Vždy se zeptat, je to velký O n?
Big O log n?
N druhou konstantní.
Ti, kteří jsou ve skutečnosti pouze ty, které potřebujete vědět.
Co vložení do řazeny seznam odkazů?
>> DIVÁKŮ: Měl jsem otázku -
otázka -
>> JASON Hirschhorn: Jaká je odpověď na tuto otázku, i když?
>> DIVÁKŮ: Počkat, co jste se zeptat?
>> JASON Hirschhorn: Co je velký O z vložení do tříděného seznamu odkaz?
>> DIVÁKŮ: One?
Žádné čekání, žádné čekání, n.
>> JASON Hirschhorn: N. Kromě toho, Seznam odkazů.
A jaká byla vaše otázka?
>> DIVÁKŮ: Takže byste napsat o součinitele, nebo o 1 pro -
>> JASON Hirschhorn: Oh.
Chtěl bych napsat o 1., pravděpodobně.
Byl tam jeden další datová struktura že by bylo dobré.
Strom, binární vyhledávací strom.
Co je vložení na binární vyhledávací strom?
>> DIVÁKŮ: Přihlášení.
>> JASON Hirschhorn: Takže, co je nejhorší, případ binárního vyhledávacího stromu?
Takže pokud bychom náhodou začínají na 5, a každý číslo je větší než 5, pak
máme 5, 7, 9, 11, et cetera.
V tomto případě, je to v podstatě jen odkaz seznam, a musíme vložit všechny
jak na konci.
Takže je to velký O n.
>> To by mohlo být naše nejhorší na binárního vyhledávacího stromu.
Je zřejmé, že byste nikdy stavět binární vyhledávací strom s 5 v
střední s vědomím, 5 by je nejnižší číslo.
Ale to mohlo být, pokud jste začínat od nuly.
Jakékoliv dotazy týkající se této dřív, než jsem přejít na další otázku?
To byla dobrá otázka.
Chtěl bych vědět, velký Ø -
>> DIVÁKŮ: Co hledáte pro ty čtyři?
>> JASON Hirschhorn: Rozhodně jsme se vyhledávání a řazení.
Udělali jsme všechny ty algoritmy, vpravo.
Počkejte, bylo to, že pro Quiz 1?
Bylo to, že se vztahuje -
jste již, že otázka Quiz 1?
Velkou O runtime binárního vyhledávání, vložení sort, bubble sort?
>> DIVÁKŮ: Jo.
>> JASON Hirschhorn: Pokud jste měli, že otázka Quiz 0, je pravděpodobné, nebudete
dostanete přesně stejný dotaz na kvíz 1.
Může to být ještě dobré vědět ty.
Měli byste vědět, snad už GH.
>> Ale ostatní logaritmické runtimes jsou asi dobré vědět.
Věci, které se nevztahuje na Quiz 0.
Jako u všech těchto operátorů na Tyto abstraktní datové typy.
>> OK, pojďme dál.
Ten by měl být dost rychlý.
A to je nový jazyk, nemáme vlastně kódovány v před.
To je otázka, ptám ke kódu v PHP.
Takže zvažte níže PHP pole.
Napište PHP a / nebo HTML kódy tak, že výstupy tabulku se dvěma sloupci s TFs
Jména a domy.
>> Vy jste nikdy nedělal, tento specifický problém.
Ale to by mělo být velmi dobře obeznámeni se to, co jste dělali v problému set 7.
Takže bych byl ochoten se vsadit, budete zeptal se kód něco v PHP, které
je velmi podobný tomu, co bylo v problému set 7.
>> Za prvé, pole, není to specifické.
Jaký typ pole je tohle?
>> DIVÁKŮ: Asociativní.
>> JASON Hirschhorn: Je to asociativní pole.
A jaký je rozdíl mezi asociativní pole a objekt?
>> DIVÁKŮ: Objekt pole má index celých čísel, a asociativního pole
je index řetězce, nebo něco takového.
>> JASON Hirschhorn: Tak pole objekty by se indexy
celá čísla, ale objekt pole.
Má tato pole názvy jako jméno, dům, student.
Máte nápad?
>> DIVÁKŮ: No, asociativní pole je v PHP, ne?
A je objekt v JavaScriptu?
>> JASON Hirschhorn: Upřímně řečeno, není Skutečný rozdíl mezi těmito dvěma.
Oba mají řetězce jako klíče, a může mají v podstatě nic jako hodnotu.
Různé jazyky zavolejte na jedno to asociativní pole,
jedna věc objekt.
Takže upřímně řečeno, není tam žádný skutečný rozdíl, ale tam je určitě nějaký
syntaktické rozdíly mezi těmito dvěma.
Jo.
>> DIVÁKŮ: Takže je objekt také kódované v kapuce jako hash tabulky, a pak?
>> JASON Hirschhorn: Co si znamená, kódované pod kapotou?
>> DIVÁKŮ: Bylo nám řečeno, že asociativní pole bylo technicky
hash tabulky.
Takže je objekt i technicky hash tabulky?
>> JASON Hirschhorn: Nehodlám na tuto otázku odpovědět.
Ozvu se ti na to.
Ale nechtěl jsem si, že buď z těch, takhle.
Ale v žádném případě, asociativní pole a objekt, obecně, lidé používají ti,
termíny zaměnitelně.
V tomto případě, v pohodě část je můžete použít klávesy.
Řetězce jsou klíče, spíše než jen jednoduchá čísla.
>> Tak jsem mluvil o to na chvíli.
Doufejme, že někteří lidé mají dostal začala na toto téma.
Budeme psát nějaký PHP a HTML kód, takže jsme si dva-sloupec
Tabulka s TFS jména a rodinných domů.
>> OK, taky bych záhlaví řádek v této tabulce.
Takže jdu rovnou do toho.
Jedeme do souboru, nové, a jedeme do -
>> OK.
Jak mám začít stůl?
Co je to značka, Michael, kdo stolu?
>> DIVÁKŮ: Table.
>> JASON Hirschhorn: Table.
A když otevřu tag, co ještě potřebuji?
>> DIVÁKŮ: hlava?
Nebo, myslím, třída.
>> JASON Hirschhorn: Takže, omlouvám se.
Předpokládejme, že jsme již psali doctab, HTML, všechny ty věci.
Ale když otevřu tuto tabulku tag, co ještě musím napsat?
pro validaci HTML?
>> DIVÁKŮ: Zavřete ji.
>> JASON Hirschhorn: Zavřete značku.
Jak mám napsat tag detailní tabulky?
>> DIVÁKŮ: Dot lomítko tabulky.
>> JASON Hirschhorn: Slash stůl, skvěle.
Pravděpodobně má smysl psát jak z nich dohromady, protože
musíš to udělat.
OK, pokud chci řádek záhlaví, jak se Píšu řádek záhlaví s názvy?
>> DIVÁKŮ: Je to méně než 10 hod v blízkosti -
TR, jo.
>> JASON Hirschhorn: TR?
>> DIVÁKŮ: Pak to samé, lomítko, jo.
>> JASON Hirschhorn: OK, a dej mi dva sloupce.
>> DIVÁKŮ: T D?
>> JASON Hirschhorn: OK.
Chci dva sloupce.
Znamená to, dej mi dva sloupce?
Kolik sloupců je to?
Jeden.
Takže pojďme zkopírovat a vložit.
>> Takže vlastně, na testu, to vše tento kód že jsem napsal byl doposud
skutečnosti, které jste dostali.
Ale měli byste pravděpodobně ještě vědět, jak to napsat.
Jo.
>> DIVÁKŮ: Váš dům je mezi nimi.
>> JASON Hirschhorn: Boom.
Mělo by jít tam, že jo?
Dobrý nápad.
Takže znovu, to vše je ve skutečnosti kód které jste dostali na skutečné kvíz.
Ale je to zábavné psát, a by měl vědět, jak to napsat.
Tak tohle je místo, kde budete potřebovat spustit svůj kód.
Co musíme psát tady?
>> Omlouvám se, ale je třeba změnit Název tohoto souboru.
Tak jsme ji uložit do souboru. HTML, není v souboru. PHP.
Tyto věci by znamenalo, nic v souboru. PHP.
Takže jsme v souboru. HTML.
Co je první věc, Musím napsat?
Chci dát nějaký PHP kód v HTML.
>> DIVÁKŮ: PHP, stejně jako další mrkev a otazník PHP, ne?
>> JASON Hirschhorn: Skvělé.
A jak to mám skončit, že?
>> DIVÁKŮ: S otazníkem.
>> JASON Hirschhorn: To je skvělé.
To je první věc, kterou potřebuji, když chci dát nějaký PHP kód zde.
>> DIVÁKŮ:. Myslel jsem, že PHP soubor může trvat HTML.
>> JASON Hirschhorn: Jo.
Soubor. PHP může trvat i několik HTML a zobrazí se.
To byla moje chyba.
Jen jsem se snažil napodobovat to, co bylo na testu.
>> OK, omlouvám se zmást.
Ano, practice.HTML.
Teď jdeme dát některé PHP kód palců
Co je první řádek PHP kód, který jsem měl napsat?
Chystám se projít tímto polem a aby se do tabulky.
Jo.
>> DIVÁKŮ: Můžete použít buď pro H smyčky nebo pro smyčku.
>> JASON Hirschhorn: OK, co chcete používat?
>> DIVÁKŮ: Já bych použít pro smyčce.
U, a pak si to znak dolaru i rovná 0 středník dolar
podepsat i méně než 2.
A pak středník i dolaru podepsat i plus plus.
>> JASON Hirschhorn: Jak Víte, použít 2?
>> DIVÁKŮ: Protože tam byly dva asociativní pole v rámci větší
asociativní pole.
>> JASON Hirschhorn: Tak velká věc je Není spolupracovník pole.
Velká věc, je to jen normální pole.
Ale máš pravdu, že jsou dvě asociativní pole
uvnitř naší větší pole.
To je důvod, proč používat dva.
Cítím se nesvůj za předpokladu, že jsou to 2, takže to, co je to způsob, jak psát
to aniž by za předpokladu, že jsou 2?
>> DIVÁKŮ: [neslyšitelné]?
>> JASON Hirschhorn: OK, jak píšete, že?
>> DIVÁKŮ: foreach znak dolaru TFS nebo jako znak dolaru tf.
>> JASON Hirschhorn: OK, takže pro každý TFS jako TFS, chci, teď
znovu, mají můj stůl.
Takže, kdo mi může dát Další řádek kódu?
>> DIVÁKŮ: Tisk, a poté v citace, držák tr konec
držák, konec citace.
Konec závorky, středníky.
>> JASON Hirschhorn: OK, a co to jde dělat?
>> DIVÁKŮ: Bude to říct, nový řádek.
Bude to dát označit pro nový řádek.
>> JASON Hirschhorn: Jasně, to PHP, stejně jako jsme hovořili o dříve - v tomto
PHP se bude vyhodnocena, a pak to bude tisknout na tento soubor, který si
Tabulka vlek, a pak, že Budou hodnoceny HTML.
Jsme jen zkopírovat to HTML měli jsme tady.
Jo.
>> DIVÁKŮ: [neslyšitelné]?
>> JASON Hirschhorn: Je nám líto?
Je to tady.
Fall 2012.
Nedívejte se na odpovědi, pojďme řešit společně.
Tak jsme tisknout řádek tabulky.
Takže jste asi v houpačka věcí.
Jaký je další řádek Kód musíme napsat?
Assam, dej mi další řádek kódu.
>> DIVÁKŮ: Musíte jméno TF je.
Tf otevřené závorky uvozovky jméno uzavřených závorek.
>> JASON Hirschhorn: Dej mi své jméno.
>> DIVÁKŮ: Musíte se tisknout, že.
>> [vložením VOICES]
>> JASON Hirschhorn: OK, Jak mohu vytisknout?
>> [vložením VOICES]
>> JASON Hirschhorn: mi chybí něco, co teď.
Co jsem chybí?
>> DIVÁKŮ: Musíte znak dolaru.
>> JASON Hirschhorn: Co jinak mám chybí?
Všichni jsme vytištěny tak daleko je tr.
>> DIVÁKŮ: Zavřete tr po něm.
>> JASON Hirschhorn: Takže musíme aby po zavření tr.
Kdo vidí to, co nám chybí on-line 16?
Jo, Anna.
>> DIVÁKŮ: Musíte otevřít td a složené závorky.
>> JASON Hirschhorn: A kde si dáme složené závorky?
>> DIVÁKŮ: Kolem názvu tf.
>> JASON Hirschhorn: Takhle?
>> DIVÁKŮ: Jo.
A pak zavřete td.
>> JASON Hirschhorn: Jako, že?
>> DIVÁKŮ: Potřebujete dvojí nabídku značky vedle složených závorek?
>> JASON Hirschhorn: Tady?
Ne, ty ne.
Tak to je přesně to pravé.
Jo.
>> DIVÁKŮ: Takže rozdíl mezi tím, a encatenating s tečkami, je, pokud
používat tečky, měli byste mít uvozovky, pak tečka,
pak tečka -
>> JASON Hirschhorn: Správně.
Takže říkáš, že je konečný způsob, jak psát to takhle.
Jaký operátor zřetězení v JavaScriptu?
>> DIVÁKŮ: znaménko plus.
Zapomněl jsi dát složená závorka zpět.
>> JASON Hirschhorn: Skvělé.
A je tu ještě jeden řádek kódu chybí.
Kdo mi může dát poslední řádek kódu nám chybí?
>> DIVÁKŮ: Jen přesně to samé, Jen s domem namísto jména.
Velký
>> JASON Hirschhorn: Skvělé.
A vaše syntaxe je přesně to pravé pro jak se věci v přidružené pole.
Takže ve skutečném testu, jste vlastně vzdala až sem.
Takže tento kód byl dán na vás.
Vše, co musel psát byli tito čtyři řádky a nezapomeňte
zavřít tag tabulky.
Vy jste vlastně dělal vše a ještě mnohem víc.
Jo.
>> DIVÁKŮ: Tak to by bylo funkčně stejné, pokud jste právě měl, že vše
jeden velký tisk výzva, ne?
A pak už jen spojeny je to tak, et cetera?
>> JASON Hirschhorn: Jako, že?
>> DIVÁKŮ: Jo.
To prostě nebude vypadat dobře, pokud jste byli dívat na to, když jste kontrolu
prvek na svých webových stránkách, že jo?
>> JASON Hirschhorn: Souhlasím.
Pokud jsem nahrál tuto webovou stránku, byl bych možnost vidět tento PHP kód, kdy?
>> Diváků: Ne
>> JASON Hirschhorn: Ne
A vlastně, já bych to.
>> DIVÁKŮ: To není HTML, ne?
Takže byste měli být schopni -
>> JASON Hirschhorn: tento PHP Takže by se hodnotí na straně serveru.
PHP je vždy hodnocena na straně serveru, tak jste nikdy vidět PHP kód.
>> DIVÁKŮ: Ale budeš moci vidět výsledek výtisků.
>> JASON Hirschhorn: Správně.
A upřímně nemusí to všechno na trati.
Mohlo by to naformátovat pěkně za vás, nebo by to mohlo dát na jeden řádek.
Nejasná.
Ale ano, dobrý postřeh.
>> DIVÁKŮ: Jak to, že se bez zvýraznění textu pro
každý z příkazů PHP?
Protože si vzpomínám, když viděl, že.
>> JASON Hirschhorn: Vzhledem k tomu, že je to . HTML soubor tady nahoře.
Tady to je.
>> DIVÁKŮ: Když jsme dělali první metody se pro smyčky, vpravo, pokud se
Chtěl, aby přístup k TFS, by se dělat TFS držák 0 konzolu, pak
[Neslyšitelný]?
>> JASON Hirschhorn: Ty by -
takže říkáš, že pro pro smyčce, můžete by to v znak dolaru TFS držáku 1
nebo i, v pořádku.
Nebo znak dolaru i zavřete konzolu a pak hranatá závorka
dvojité uvozovky, jo.
>> OK, výborná.
Máme ještě jeden rychlý jeden.
Sedm minut, tak chci jít na tento jeden.
To je další příklad.
Jsme teď úplně jiný jazyk.
>> Máme nějaký HTML kód.
Je to taková malá na obrazovce, ale Chci, aby ses podíval přes něj opravdu
rychle, a může mi někdo říct, pokud bych měl nahrát tuto webovou stránku,
co bych vidět?
Popište vše, co o tato webová stránka.
Noah?
Co bych vidět?
>> DIVÁKŮ: Kód na předním konci Google s citem pro text a
tlačítko odeslat.
>> JASON Hirschhorn: A co by tlačítka říct?
>> DIVÁKŮ: Odeslat.
Oh, hledání.
Je mi to líto.
>> JASON Hirschhorn: To by se říci vyhledávání.
Pamatujte si, že název.
Co používáme název?
Tento atribut název, co je která byla použita pro?
>> [vložením VOICES]
>> DIVÁKŮ: To je jeho jméno , když je to klikl?
>> JASON Hirschhorn: To by mohlo být.
Ale co my obvykle vidět - proč dáváme tento název fronty?
Proč vidíme, že?
Jo.
>> DIVÁKŮ: Copak, že se stal index Super globální proměnné?
>> JASON Hirschhorn: Jo, zpravidla při Tento formulář by předložit, a poté, kdy
by to předložit?
Jaké stránky?
Noah, co strana by to předložit?
>> DIVÁKŮ: Nejsem si jistý.
>> JASON Hirschhorn: Kde mohli bychom ji můžete najít?
Kde nás najdete to, co Stránka je předkládá?
Co řádek kódu?
>> DIVÁKŮ: Form akce.
>> JASON Hirschhorn: Přesně tak.
Akce.
Tak to předkládá vyhledávací stránku.
Zpětné lomítko hledání.
Tak to je přesně to pravé.
Jakým způsobem?
>> DIVÁKŮ: Získejte.
>> JASON Hirschhorn: Získejte.
Přesně tak.
Tak jsme si to.
To se bude forma.
Ty jsi naprostou pravdu.
Dvě věci na formu, název strana a vrchol by Google.
>> Tak tady jsou dvě otázky, měli byste být schopni odpovědět na tuto stránku.
Pokud tento HTML žije na těchto stránkách a uživatel zadá chybu do tohoto textu
Pole tady, bude to URL uživatel ocitne na
odeslání formuláře?
>> Takže máme to tady.
Chystám se vrátit do Tato stránka, ačkoli.
Napíšu tuto první část.
Každý může vidět tady?
OK, Mario, si myslíte, že víte?
Jaké stránky?
>> DIVÁKŮ: Zpětné lomítko hledání.
>> JASON Hirschhorn: Jdu přesunout sem.
OK, zpětné lomítko hledání otázka Značka q se rovná chybu.
Má někdo jiný návrh?
Jo.
>> Tak jak jsme si to?
No, my jsme předtím viděl.
A ty jsi přišel s tím dříve.
Měl jsi pravdu, Noe, že akce nám říká, co
Stránka budeme.
>> Víme také, jaké metody.
Děláme get.
A rozdíl mezi get a poštou je to, že se zobrazí v URL
a příspěvek není.
Takže když jsem napsal příspěvek tady v metoda, co by bylo jinak?
>> DIVÁKŮ: Bylo by jen být lomítko hledání.
>> JASON Hirschhorn: Bylo by být jen lomítko vyhledávání.
Nic tady by se stalo.
Ale protože je to dostat, URL se zobrazí takto.
Nejprve vidíme otazník a vidíme název a hodnotu.
Řekněme, že tam byl jeden další textové pole a Dal jsem mu jméno R a I vstup A
hodnota, housenka.
Co by to teď vypadá?
Jsem jeden textové pole, dám jméno r a hodnotu housenky.
>> DIVÁKŮ: Po baru budeš mít ampersand housenka.
>> JASON Hirschhorn: To je ne ampersand.
>> DIVÁKŮ: Nebo prostě cokoliv a symbol.
>> JASON Hirschhorn: Jo, no.
Měl jsi pravdu, mýlil jsem se.
To je jako g.
>> DIVÁKŮ: Caterpillar.
r se rovná housenka, je mi líto.
>> JASON Hirschhorn: Je zde no r tam?
>> DIVÁKŮ: Ne, není.
>> JASON Hirschhorn: Budeme mluvit o tom po hodině.
To je přesně to pravé.
Tak a je správné.
A pak byste mohl mít mnoho z nich, a oni by všichni být spojení
spolu s tím i.
Tak to je přesně to pravé.
>> Je tu ještě jedna otázka.
Nakreslete DOM Tento HTML je, počínaje s dokumentem.
Dalo by se to udělat během dvou minut.
Uděláme to tady.
Vrátím se k této webové stránce.
OK, začneme s dokumentem.
>> Co bude dál?
Takže když čtete přes -
>> DIVÁKŮ: HTML.
>> JASON Hirschhorn: HTML je vedle.
Chystáme se jít tag tag.
Co je po HTML?
>> DIVÁKŮ: Head.
>> JASON Hirschhorn: Head.
Co je to za hlavu?
>> DIVÁKŮ: Název.
>> JASON Hirschhorn: Název.
A titul má hodnotu Google, ale já nehodlám
napsat, že pro tuto chvíli.
OK, kde se tělo jít?
>> DIVÁKŮ: Také odejde z HTML.
>> JASON Hirschhorn: Přesně tak.
Tělo je pryč odtud.
Má každý pochopit, proč že je to tak?
Pravděpodobně byste měli být schopni přijít na to, taky, i když jsem neměl
tento pěkný odsazení.
>> Odsazení druh dává pryč, ale můžete vidět, že značka hlava má
byly uzavřeny, což znamená, že pravděpodobně nemůže jít sem dolů.
Musíme se vrátit až na cokoliv byl těsně před hlavou
tag, nebo pod tím.
Jsme i se značkou hlavy.
>> A pod tělem jde formuláře.
Podle formy, jsou dva vstupy.
OK.
To je vše, co mám.
Quiz 1 je zítra.
Jsem tak nadšená pro vás.
Je to bude výbuch.
>> Máte-li -
>> DIVÁKŮ: [APPLAUSE]
>> JASON Hirschhorn: Oh zastavit, zastavit.
Ale ne, já jsem si legraci.
Pokud máte nějaké dotazy, vpravo po části, budu venku.
Pokud máte nějaké otázky dnes, neváhejte zavolat, e-mail, gchat,
Nosič mě holub.
Hodně štěstí zítra.
Mají nádherný díkůvzdání přestávku, když nemám tě vidět do té doby.
A já vám po Dnu díkůvzdání viz v úterý pro naše finále
Sekce strana vůbec.
>> DIVÁKŮ: [neslyšitelné].
>> JASON Hirschhorn: Skvělé.
OK, tak vidím, že kluci další týden, nebo za dva týdny.
A hodně štěstí zítra.