1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Welcome, všichni, až 10. týdnu. 3 00:00:09,810 --> 00:00:15,130 To je vzrušující týden, protože zítra je Quiz 1, který dostaneme 4 00:00:15,130 --> 00:00:16,400 v druhé. 5 00:00:16,400 --> 00:00:21,770 Dnes v sekci jsme jít přes některé zdroje pro kvízu, a 6 00:00:21,770 --> 00:00:24,890 Pak jsem se odpovědět na veškeré otázky, které kluci mají. 7 00:00:24,890 --> 00:00:27,880 A my budeme konečně skončí s některé problémy praxe. 8 00:00:27,880 --> 00:00:30,940 >> Můžeme strávit celý oddíl odpovídání na otázky. 9 00:00:30,940 --> 00:00:33,240 Můžeme strávit celý oddíl jít přes problémy praxe. 10 00:00:33,240 --> 00:00:36,890 Budeme jen rozšířit vyplnit prostor a čas máme. 11 00:00:36,890 --> 00:00:40,590 >> Tak jsem každý týden dal tento seznam, ale to je obzvláště důležité v tomto týdnu. 12 00:00:40,590 --> 00:00:44,980 Pro studium, pokud nemáte začal už, ach jo. 13 00:00:44,980 --> 00:00:46,400 Ale doufejme, že jste začali už. 14 00:00:46,400 --> 00:00:50,710 A vy se prochází materiálů a zdroje uvedeny zde. 15 00:00:50,710 --> 00:00:54,300 Já bych Velmi doporučuji Řada z nich. 16 00:00:54,300 --> 00:00:58,780 >> Zejména, skripta jsou nesmírně důležité a užitečné. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net poskytuje velký nátěr na mnoha 18 00:01:02,880 --> 00:01:04,250 témata jsme probrali. 19 00:01:04,250 --> 00:01:07,810 To také má některé skvělé praxi problémy. 20 00:01:07,810 --> 00:01:11,260 A pak, Google je skvělý, taky. 21 00:01:11,260 --> 00:01:12,360 Nevím, co to byste použít pro. 22 00:01:12,360 --> 00:01:14,090 Ale použít Google, stejně. 23 00:01:14,090 --> 00:01:16,680 >> Oslovit mě, jestli máte nějaké dotazy, připomínky nebo obavy. 24 00:01:16,680 --> 00:01:19,420 Podívejte se na zasedání recenze snímky z minulé noci. 25 00:01:19,420 --> 00:01:21,540 Nebo, pokud budete mít nějaký čas, Podívejte se na video. 26 00:01:21,540 --> 00:01:24,930 Poskytují spoustu užitečné materiály a informace. 27 00:01:24,930 --> 00:01:29,730 A pokusit se pokrýt, pokud ne všechny, mnoho témata jsme na něž se vztahuje, a že 28 00:01:29,730 --> 00:01:32,610 mohli vidět na kvíz. 29 00:01:32,610 --> 00:01:35,590 >> Když už mluvíme o testu, který bude zítra. 30 00:01:35,590 --> 00:01:37,260 Je to dlouhá 75 minut. 31 00:01:37,260 --> 00:01:40,740 Mnozí z vás se to bere v 1 hodin, a někteří z vás jsou 32 00:01:40,740 --> 00:01:42,740 brát to v 5:30. 33 00:01:42,740 --> 00:01:45,300 V současné době jste ji užívat a Poloha jste jej užívat, ujistěte se, že 34 00:01:45,300 --> 00:01:49,400 můžete se podívat na dokument na domovské stránce CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> Nezapomeňte, že můžete získat jeden 8 1/2 o 11 listu vzít s sebou. 36 00:01:54,340 --> 00:01:57,310 Častokrát, lidé nemají používat tento list vůbec v průběhu testu. 37 00:01:57,310 --> 00:01:59,740 Ale ve skutečnosti je to neuvěřitelně užitečné pro studium. 38 00:01:59,740 --> 00:02:04,370 Takže dávat dohromady, že list je to, co Strávil jsem asi tři nebo čtyři hodiny 39 00:02:04,370 --> 00:02:07,110 dělal, když jsem studoval na CS50, a že byl snadno nejužitečnější 40 00:02:07,110 --> 00:02:08,740 způsob, jak bych mohl studovat na kvíz. 41 00:02:08,740 --> 00:02:10,949 Takže i když máte nějaké jiné osoby je Studie průvodci se podívat na a 42 00:02:10,949 --> 00:02:14,740 použít jako reference, vřele doporučuji vytvořit vlastní studijní průvodce, uvedení 43 00:02:14,740 --> 00:02:15,490 že věci dohromady. 44 00:02:15,490 --> 00:02:17,335 To opravdu vám pomůže učit se veškerý materiál. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> V neposlední řadě je v této části, po zítra kvíz je tu ještě jedna 47 00:02:24,810 --> 00:02:25,940 více přednáška - 48 00:02:25,940 --> 00:02:26,960 příští pondělí. 49 00:02:26,960 --> 00:02:30,430 Je tu ještě jedna část, není další Úterý před Dnem díkůvzdání, ale 50 00:02:30,430 --> 00:02:31,630 Úterý po které. 51 00:02:31,630 --> 00:02:36,600 Budeme se scházet na konečné sbohem strany a také dělat nějaké pohodě 52 00:02:36,600 --> 00:02:41,530 věcí, které vám chlapi nadšeni další studie v informatice. 53 00:02:41,530 --> 00:02:45,040 >> Je tu ještě jeden projekt, jeden spravedlivé, jeden Hackathon. 54 00:02:45,040 --> 00:02:47,900 Se blížíme ke konci CS50, který je vzrušující - 55 00:02:47,900 --> 00:02:50,950 ale také, pokud jste stejně jako mi, trochu smutné. 56 00:02:50,950 --> 00:02:53,950 Než jsem se jít dál, má někdo nějaké otázky o tom, co 57 00:02:53,950 --> 00:02:55,200 Probrali jsme tak daleko? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> OK, tak pojďme na některé otázky že máte na kvíz a témata 60 00:03:08,730 --> 00:03:09,960 bychom mohli pokrýt. 61 00:03:09,960 --> 00:03:11,540 Tak to je seznam, který jsem dal dohromady. 62 00:03:11,540 --> 00:03:15,500 To není v žádném případě vyčerpávající, ale doufejme, že bude osvěžit paměť, pokud vám 63 00:03:15,500 --> 00:03:20,310 nějaké dotazy týkající se některého z nich témata, nebo pokud máte dotazy týkající se 64 00:03:20,310 --> 00:03:23,260 Problémy praxe z kvízů v minulých letech. 65 00:03:23,260 --> 00:03:27,470 >> Měl jsem pár otázek, které byly e-mailem na mě, ale já chci odložit 66 00:03:27,470 --> 00:03:29,490 na ty, na vteřinu. 67 00:03:29,490 --> 00:03:34,570 Má někdo nějaké otázky, problémy, které nerozuměli, 68 00:03:34,570 --> 00:03:38,100 Odpovědi oni nerozuměli aby se nám začalo? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> DIVÁKŮ: Můžete prostě jít přes DOM a Ajax opravdu rychle? 71 00:03:41,585 --> 00:03:46,540 Stejně jako to, co potřebujeme vědět, nebo by pochopit, o nich? 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: Budu odpovídat Obecně tato otázka, co mám 73 00:03:49,750 --> 00:03:52,100 potřebujete vědět o dané téma x? 74 00:03:52,100 --> 00:03:55,280 Protože mám pocit, že mnozí z vás jdou a zeptejte se mě to, nebo jsou 75 00:03:55,280 --> 00:03:56,570 zvědavý, že. 76 00:03:56,570 --> 00:04:02,920 Takže do té míry, že téma bylo vztahuje na přednášce, nebo část, nebo na 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, problém nastavení, můžete by měli být obeznámeni s tím. 78 00:04:06,460 --> 00:04:10,580 >> Takže nemusíte znát každý typ z tagu, který je k dispozici ve formátu HTML nebo 79 00:04:10,580 --> 00:04:15,950 každý typ atributu nebo majetku si můžete dát něco v CSS. 80 00:04:15,950 --> 00:04:20,204 Ale pokud jste to viděli v příkladu s lekcí, pokud jste to viděl na problém 81 00:04:20,204 --> 00:04:23,290 set, asi byste měli znát s ním, zejména co jste viděli 82 00:04:23,290 --> 00:04:24,260 v přednášce. 83 00:04:24,260 --> 00:04:28,510 Takže jsme diskutovali o dokumentu objektový model trochu v 84 00:04:28,510 --> 00:04:30,530 část, více v přednášce. 85 00:04:30,530 --> 00:04:32,990 Měli byste být obeznámeni se, že hodně z toho. 86 00:04:32,990 --> 00:04:34,750 >> A vy byste měli být obeznámeni s Ajax ve stejném rozsahu. 87 00:04:34,750 --> 00:04:38,105 Nikdy jsme viděli neuvěřitelně pokročilý nebo Složitější příklady Ajax, takže 88 00:04:38,105 --> 00:04:40,920 nebudete se zeptal dělat něco neuvěřitelně komplikované. 89 00:04:40,920 --> 00:04:45,180 Ale můžete být požádáni, jak to mám provést volání Ajax pomocí jQuery? 90 00:04:45,180 --> 00:04:47,350 Což je něco, co jsem viděl řadu z doby před, a to jak v 91 00:04:47,350 --> 00:04:51,370 přezkoumá zasedání a v přednášce, a je to jen dva-ish řádků kódu. 92 00:04:51,370 --> 00:04:53,190 >> Takže to je něco, co byste měli znát. 93 00:04:53,190 --> 00:04:55,550 Ale zase, na všech těchto témat, pokud jste viděli 94 00:04:55,550 --> 00:04:59,220 před, je to fér hra. 95 00:04:59,220 --> 00:05:01,540 A můžeme vás požádat - samozřejmě, že jsme se zeptat, jsi, co 96 00:05:01,540 --> 00:05:02,340 ještě neviděli. 97 00:05:02,340 --> 00:05:04,240 Něco, co nemáte kódování neviděl. 98 00:05:04,240 --> 00:05:06,570 Což neznamená, že máte ne Viděl nástroje k řešení 99 00:05:06,570 --> 00:05:08,120 tento problém před. 100 00:05:08,120 --> 00:05:09,200 Viděli jste ty nástroje. 101 00:05:09,200 --> 00:05:11,160 >> Například, na kvíz 1, v případě, budete muset kód strlen. 102 00:05:11,160 --> 00:05:12,790 Jsme před kódované strlen. 103 00:05:12,790 --> 00:05:14,980 Ale víte, jak používat pro smyčce, víte, jak používat, pokud podmínky. 104 00:05:14,980 --> 00:05:18,570 Víte, jak psát proměnné v C To bude to samé zde. 105 00:05:18,570 --> 00:05:22,350 Nejste bude požádán, aby něco, co jste ještě neviděli, ale 106 00:05:22,350 --> 00:05:25,150 můžete být požádáni, aby, jako je, dát něco společně novým způsobem, nebo 107 00:05:25,150 --> 00:05:27,650 řešit jiný typ problému. 108 00:05:27,650 --> 00:05:30,830 >> Omlouvám se, že to není specifické pro váš otázka, ale nemohu odpovědět na 109 00:05:30,830 --> 00:05:34,390 každý téma, co si dělat nebo nemusí vědět. 110 00:05:34,390 --> 00:05:36,830 Ale také se omlouvám, to poslední, co na tom. 111 00:05:36,830 --> 00:05:42,900 Jsme strávili mnohem více času Na odkaz seznamy, než máme na Ajax. 112 00:05:42,900 --> 00:05:46,160 Jste nepoužili Ajax v problému sadě. 113 00:05:46,160 --> 00:05:48,510 Jedním z hlavních rysů, které problém nastavit, aby byl odkaz seznamy. 114 00:05:48,510 --> 00:05:50,370 A jsme strávili spoustu času v přednášce a část jeho použití. 115 00:05:50,370 --> 00:05:57,080 >> Takže, je pravděpodobné, seznam odkaz přijde více často na testu, než Ajax vůli. 116 00:05:57,080 --> 00:06:00,390 Nebo otázky mají co do činění s odkazem Seznam bude stát za více bodů. 117 00:06:00,390 --> 00:06:03,520 Takže si určitě zaměřením a úzký v na věci, které jsou více 118 00:06:03,520 --> 00:06:06,720 pravděpodobné, že přijde, protože máme strávil více času na ně. 119 00:06:06,720 --> 00:06:08,700 >> OK jakékoli další otázky? 120 00:06:08,700 --> 00:06:09,890 Jo. 121 00:06:09,890 --> 00:06:13,660 >> DIVÁKŮ: Můžeme jít přes použití anonymní funkce v JavaScriptu? 122 00:06:13,660 --> 00:06:17,140 Jsem tak trochu zmatená o tom. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Takže v JavaScriptu - 124 00:06:20,180 --> 00:06:24,400 Snažím se myslet, jak jsem mohl napsat to na - 125 00:06:24,400 --> 00:06:27,590 tak se pojďme skutečně otevřít tento kód. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Tak to je kód, který jsme dělali minulý týden. 128 00:06:36,030 --> 00:06:41,400 A viděli jste to dříve, pokud byli zde v sekci minulý týden. 129 00:06:41,400 --> 00:06:43,180 Nebo jste viděli něco, co podobně jako předtím. 130 00:06:43,180 --> 00:06:44,800 >> Ale můžete se podívat na prvním řádku. 131 00:06:44,800 --> 00:06:46,950 To je, jak začít - 132 00:06:46,950 --> 00:06:48,010 každý viděl předtím. 133 00:06:48,010 --> 00:06:51,930 Pokud chcete dát nějaký kód JavaScriptu, můžete dát dovnitř to za předpokladu, že 134 00:06:51,930 --> 00:06:53,520 používáte JQuery. 135 00:06:53,520 --> 00:06:56,940 To se říká, nedělejte nic do tohoto dokumentu načten. 136 00:06:56,940 --> 00:06:59,940 >> A pak, Curt, vidíte tady děláme něco takového - 137 00:06:59,940 --> 00:07:02,560 Funkce otevřené závorka, uzavřená závorka. 138 00:07:02,560 --> 00:07:05,250 Takže jsme to dávat to funkce jméno. 139 00:07:05,250 --> 00:07:09,160 Nebudeme definovat tuto funkci má běžet a pak 140 00:07:09,160 --> 00:07:10,830 říkají banda krát. 141 00:07:10,830 --> 00:07:15,140 Jsme jen říkám, tento dokument již se funkce. 142 00:07:15,140 --> 00:07:16,690 Pár věcí, které dělat. 143 00:07:16,690 --> 00:07:20,670 >> A my nechceme trávit čas pojmenujte ho nebo ji uložit na 144 00:07:20,670 --> 00:07:21,650 věčnost. 145 00:07:21,650 --> 00:07:24,150 Chceme jen udělat pár věcí. 146 00:07:24,150 --> 00:07:27,500 Takže anonymní funkce třídění neslouží tomuto účelu. 147 00:07:27,500 --> 00:07:30,280 Když nebudete používat něco znovu a znovu, takže nemusíte 148 00:07:30,280 --> 00:07:32,420 dát mu jméno - stačí Chcete ji jednou použít - 149 00:07:32,420 --> 00:07:36,720 byste jen říct, funkci, Například v tomto případě, a ty jsi jenom 150 00:07:36,720 --> 00:07:38,280 definování něco, co byste mohli dát jméno. 151 00:07:38,280 --> 00:07:40,920 >> Jako bychom mohli vytáhnout tuto funkci se a dát mu jméno a pak zavolat, že 152 00:07:40,920 --> 00:07:41,760 funkce zde. 153 00:07:41,760 --> 00:07:44,270 Ale nemusíte, protože nemáme chcete ztrácet čas dávat to jméno nebo 154 00:07:44,270 --> 00:07:46,240 plýtvání něco v našem prostoru jmen. 155 00:07:46,240 --> 00:07:47,530 A uvidíte, že hodně. 156 00:07:47,530 --> 00:07:52,810 Například, vidíme, že hodně v tomto kód, ale viděli jste to dříve, když 157 00:07:52,810 --> 00:07:54,010 kliknete na něco - 158 00:07:54,010 --> 00:07:55,980 spustit tento typ kódu. 159 00:07:55,980 --> 00:07:59,850 >> Mohli bychom definovat kód, který chceme běžet, když klikneme, v tomto případě, 160 00:07:59,850 --> 00:08:03,450 toto číslo, jako samostatná funkce a potom spusťte tuto funkci. 161 00:08:03,450 --> 00:08:07,940 Ale v tomto případě, my prostě skákání tento krok a pohybuje se do tady a 162 00:08:07,940 --> 00:08:10,340 jen na definování vše že chceme, aby se to stalo, a 163 00:08:10,340 --> 00:08:12,450 ne dávat to jméno. 164 00:08:12,450 --> 00:08:15,550 To ještě nemusí mít odpověděl na vaši otázku. 165 00:08:15,550 --> 00:08:15,960 >> DIVÁKŮ: Ne, to dělá. 166 00:08:15,960 --> 00:08:18,290 Myslím, myslím, že jsem to opravdu dostat, proč by mělo být 167 00:08:18,290 --> 00:08:20,800 fungovat vůbec, i když. 168 00:08:20,800 --> 00:08:21,590 Vzhledem k tomu, že to není opravdu volána. 169 00:08:21,590 --> 00:08:23,170 To není opravdu mít jméno. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: Je to funkce v pocit, že je to řada kroků, 171 00:08:25,510 --> 00:08:28,460 jako byste dát do funkce. 172 00:08:28,460 --> 00:08:29,970 A pak, že je důvod, proč říkáme to anonymní funkce. 173 00:08:29,970 --> 00:08:30,815 Nebudeme se dát mu jméno. 174 00:08:30,815 --> 00:08:33,159 Nebudeme ztrácet snaží pojmenovat, ale co jsme mohli. 175 00:08:33,159 --> 00:08:34,890 >> Anonymní funkce, budete může vždy dát jméno. 176 00:08:34,890 --> 00:08:37,620 Tak například tento kód přímo tady, bychom mohli dát tento kód uvnitř 177 00:08:37,620 --> 00:08:39,929 funkce a pak volat Tato funkce zde. 178 00:08:39,929 --> 00:08:41,600 Místo toho říkáme, nejdeme obtěžovat s tím. 179 00:08:41,600 --> 00:08:44,390 Jsme prostě budu psát to všechno tady. 180 00:08:44,390 --> 00:08:49,840 >> Je to jako někdy, když píšete čtyři smyčky v C - kluci 181 00:08:49,840 --> 00:08:51,630 viděli předtím - možná jste iterace přes forloop 182 00:08:51,630 --> 00:08:53,090 do i rovná 0. 183 00:08:53,090 --> 00:08:54,830 I je menší než strlen. 184 00:08:54,830 --> 00:08:59,520 Nebo jdete přes některé pole, můžete ušetřit řadu 185 00:08:59,520 --> 00:09:01,580 index i v nějaké proměnné. 186 00:09:01,580 --> 00:09:02,830 A můžete použít tuto proměnnou. 187 00:09:02,830 --> 00:09:06,550 Takže nemusíte přepisovat pole držák i znovu a znovu a znovu. 188 00:09:06,550 --> 00:09:08,160 >> A to je něco jako dummy proměnná. 189 00:09:08,160 --> 00:09:10,790 Není to slouží mnoho účel jiný než aby váš kód trochu čistší 190 00:09:10,790 --> 00:09:12,120 a čitelnější. 191 00:09:12,120 --> 00:09:13,290 Podobné funkce zde. 192 00:09:13,290 --> 00:09:15,665 Jen je to trochu jednodušší, ale funkčně není žádný rozdíl. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Znamená to, že odpověď na vaši otázku? 195 00:09:19,330 --> 00:09:19,970 >> DIVÁKŮ: Ano. 196 00:09:19,970 --> 00:09:20,720 >> JASON Hirschhorn: OK .. 197 00:09:20,720 --> 00:09:21,880 Mario? 198 00:09:21,880 --> 00:09:25,380 >> DIVÁKŮ: Včera často kladen funkce závorek událost. 199 00:09:25,380 --> 00:09:26,420 Znamená to, že něco? 200 00:09:26,420 --> 00:09:30,500 Nebo je to pro věci, jako je že by to 201 00:09:30,500 --> 00:09:35,100 document.ready funkce událost. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Viděli jsme to, a opět se jedná o menší věci, které 203 00:09:37,130 --> 00:09:39,590 asi nechci, aby tráví příliš mnoho času na. 204 00:09:39,590 --> 00:09:43,200 Protože někdy nechci lidi se zbláznil, že nemají 205 00:09:43,200 --> 00:09:44,220 slyšel o těchto věcech, že hodně. 206 00:09:44,220 --> 00:09:46,200 Ale mluvili jsme trochu o obslužné rutiny událostí. 207 00:09:46,200 --> 00:09:50,360 Takže se něco stane, a pak se Tato funkce se provede. 208 00:09:50,360 --> 00:09:53,210 A pak jsme také chtít vědět, některé detaily o tom, co 209 00:09:53,210 --> 00:09:54,450 se stalo v tomto případě. 210 00:09:54,450 --> 00:09:55,730 >> Takže myslíte, že zpět do problému nastavení 4. 211 00:09:55,730 --> 00:09:58,390 To je asi nejjednodušší způsob, jak pochopit, že v přestávce ven. 212 00:09:58,390 --> 00:09:59,740 Tam byl nějaký kód - 213 00:09:59,740 --> 00:10:01,980 jako událost se bude dít, ale událost může znamenat mnoho věcí. 214 00:10:01,980 --> 00:10:06,240 Pokud by mohlo znamenat, že myš je klepnutí, je by mohlo znamenat, stisknete klávesu se šipkou, et 215 00:10:06,240 --> 00:10:07,190 cetera, et cetera. 216 00:10:07,190 --> 00:10:09,800 >> Ale je to všechno uložené v této obecný čemu se říká události. 217 00:10:09,800 --> 00:10:12,340 A pak můžeme říci, že je Tato událost tahle věc? 218 00:10:12,340 --> 00:10:13,640 Nebo je tato událost tahle věc? 219 00:10:13,640 --> 00:10:15,500 Nebo, jaké se stalo se této události? 220 00:10:15,500 --> 00:10:18,660 Takže to je důvod, proč můžete vytvořit, že proměnné tam uložit, že další informace 221 00:10:18,660 --> 00:10:21,420 o tom, co přesně se stalo, že budete chtít 222 00:10:21,420 --> 00:10:24,840 využití ve funkci. 223 00:10:24,840 --> 00:10:28,200 Ale opět, to je pravděpodobně jeden z méně důležité věci být velmi 224 00:10:28,200 --> 00:10:29,450 znají. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, jaké další otázky mají lidé měl, nebo úskalí, které jste 227 00:10:36,110 --> 00:10:37,360 chyba při kontrole? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Budeme se zpět do tohoto seznamu. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Co v praxi kvízy, pokud lidé vzali ty už? 232 00:10:56,080 --> 00:10:59,110 Jaké jsou některé problémy, které zakopl kluci se? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Vím, že na to, že v loňském roce kvíz bylo opravdu těžké. 235 00:11:12,720 --> 00:11:15,670 >> DIVÁKŮ: Můžete mi vysvětlit, co útok SQL injection je? 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: OK, dobře. 237 00:11:18,970 --> 00:11:20,440 Tak jsme si povídali o tom trochu. 238 00:11:20,440 --> 00:11:22,050 K dispozici je přednáška o bezpečnosti. 239 00:11:22,050 --> 00:11:25,670 A opět, jak jsem již zmínil, to je stranou. 240 00:11:25,670 --> 00:11:30,010 Ale budete frustrováni na kvíz když si přečtete nějaké malé dvoubodová 241 00:11:30,010 --> 00:11:33,040 otázka, a vy jste rád, když jsem nikdy dozvědět, že? 242 00:11:33,040 --> 00:11:35,560 >> Všechny ty věci v těchto přednáškách že jste si nemyslel, že jste potřebovali 243 00:11:35,560 --> 00:11:38,290 víte, nebo byste mohli zakrývat, protože neměli co do činění s 244 00:11:38,290 --> 00:11:41,860 Problém set, které budou pravděpodobně přijít znovu na kvíz. 245 00:11:41,860 --> 00:11:45,030 Takže, cool, zábavné věci, které jste právě Myslel David říkal pro vás 246 00:11:45,030 --> 00:11:49,070 těšit, byl ti pro vás baví a aby se vám prostě být super 247 00:11:49,070 --> 00:11:50,550 nadšení učit se všechno je potřeba se naučit 248 00:11:50,550 --> 00:11:51,670 o informatice. 249 00:11:51,670 --> 00:11:53,680 Tyto věci také přijít na kvízy. 250 00:11:53,680 --> 00:11:56,440 Takže, i tyto malé věci, které nebyly přímo vztahují k vašemu problému 251 00:11:56,440 --> 00:11:59,630 nastavit, jak vy jste obeznámeni s od Kvíz 0, bude pravděpodobně přijít. 252 00:11:59,630 --> 00:12:01,530 A to je dobrý příklad něco. 253 00:12:01,530 --> 00:12:10,140 >> Takže SQL injection útoků je, když jste získat nějaké informace od uživatele a 254 00:12:10,140 --> 00:12:15,090 Chcete-li jej vložit do tabulky pomocí SQL INSERT, ale 255 00:12:15,090 --> 00:12:17,680 ani dezinfikovat vstup dopředu. 256 00:12:17,680 --> 00:12:21,560 Takže, samozřejmě jsme viděli SQL příkazy. 257 00:12:21,560 --> 00:12:22,810 Já si jen otevřít - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 pojďme - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 půjdeme na přezkum - 262 00:12:31,960 --> 00:12:35,180 Myslím, že kdo to vztahuje? 263 00:12:35,180 --> 00:12:36,350 Myslím, že Samala udělal. 264 00:12:36,350 --> 00:12:39,292 Takže se můžeme dostat - 265 00:12:39,292 --> 00:12:41,270 >> DIVÁKŮ: Kde jsi to našel? 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Takže pokud jdete do CS50.net, kvízy, a pak můžete 267 00:12:44,990 --> 00:12:47,170 přejděte na a získat snímky ze zasedání přezkoumání. 268 00:12:47,170 --> 00:12:49,860 Ale vidíte, že je to dobrý příklad z útoku SQL injection. 269 00:12:49,860 --> 00:12:53,690 Bereme nějaké informace od uživatele a oni nám řetězec, a pak jsme 270 00:12:53,690 --> 00:12:55,780 Chci vložit tento řetězec do databáze. 271 00:12:55,780 --> 00:12:59,780 Obecně budeme k dezinfekci, že vstup, což znamená, že jsou některé 272 00:12:59,780 --> 00:13:01,050 znaky, které jsou nebezpečné. 273 00:13:01,050 --> 00:13:04,000 >> Například v SQL řetězci, Tyto citace - 274 00:13:04,000 --> 00:13:05,000 jednoduché uvozovky nebo dvojité uvozovky - 275 00:13:05,000 --> 00:13:05,620 něco znamenat. 276 00:13:05,620 --> 00:13:08,380 Znamenají ukončit tento řetězec zde. 277 00:13:08,380 --> 00:13:13,090 A tak v případě, že uživatel dává jeden nebo dvojité uvozovky, by mohly být 278 00:13:13,090 --> 00:13:18,970 snaží podrazit svůj SQL dotaz a vložit nějaké špatné věci do něj. 279 00:13:18,970 --> 00:13:23,130 A pokud ano, aby mohli získat ovládání vaší databáze, nebo dělat nějaké 280 00:13:23,130 --> 00:13:24,760 věci, které nechcete, aby dělali. 281 00:13:24,760 --> 00:13:28,300 >> Takže to je důvod, proč vždy, když jsme se SQL dotazy, jsme dezinfikuje vstup před 282 00:13:28,300 --> 00:13:31,090 uvedení do databáze, která znamená, že uniknout tyto znaky. 283 00:13:31,090 --> 00:13:32,590 Budeme mluvit o tom, že ve vteřině. 284 00:13:32,590 --> 00:13:35,820 Ale dlouhý příběh krátký, SQL injection útok, pokud nechcete dělat, že - 285 00:13:35,820 --> 00:13:39,760 pokud nechcete starat o vstupu oni vám dali před uvedením svého 286 00:13:39,760 --> 00:13:46,830 databáze, které mohou, jak vidíte dole zde, spustit dotaz, který ve skutečnosti - 287 00:13:46,830 --> 00:13:52,470 dali ve svém kódu sem a Tento vyberte řádek tady dole vybere 288 00:13:52,470 --> 00:13:56,360 vše od stolu bez ohledu na z čeho je uveden heslo. 289 00:13:56,360 --> 00:13:58,960 Protože máte nebo 1 rovná 1. 290 00:13:58,960 --> 00:14:02,750 >> Takže je to v podstatě, dlouhý příběh krátký, způsob, jak převzít databázi. 291 00:14:02,750 --> 00:14:07,570 Otázkou tedy pro vás, je kde p sad 7 jsi dezinfikuje všechny 292 00:14:07,570 --> 00:14:10,010 vstupy do vašich SQL dotazů? 293 00:14:10,010 --> 00:14:11,230 Kde se tento krok se stalo? 294 00:14:11,230 --> 00:14:14,150 Kde se zabránilo SQL injection útoky z děje s. set 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Jo. 297 00:14:20,490 --> 00:14:21,870 >> DIVÁKŮ: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Takže to nebyla krypta. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Nechtěli jsme, aby to budete dělat pro to zejména problém nastavit, ale to se stává 301 00:14:55,380 --> 00:14:58,190 ve funkci dotazu. 302 00:14:58,190 --> 00:15:00,930 Vlastně jsme to napsal pro tebe, a my jsme se starali o 303 00:15:00,930 --> 00:15:03,040 dezinfekce vstupů pro vás. 304 00:15:03,040 --> 00:15:07,790 Ale v minulých letech, studenti měli zadejte vstupy na vlastní pěst. 305 00:15:07,790 --> 00:15:10,020 V p sadě 7, mnoho z vás - 306 00:15:10,020 --> 00:15:11,270 dovolte mi otevřít jeden jiný soubor. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Takže si všimnete tady hodně lidí, v problému nastavit 7, nevolal 309 00:15:22,590 --> 00:15:25,240 tuto funkci na struny. 310 00:15:25,240 --> 00:15:27,880 Tato funkce, speciální znaky, opět - 311 00:15:27,880 --> 00:15:31,410 Tento řetězec může mít některé věci že v HTML na mysli něco jiného. 312 00:15:31,410 --> 00:15:36,160 Stejně jako rovnátka, čtverec, nebo pod úhlem Držák na mysli něco v HTML. 313 00:15:36,160 --> 00:15:38,980 >> A tak, pokud tisknete, že se na obrazovka nebo pokud si jen brát a 314 00:15:38,980 --> 00:15:42,260 tisknout, které se do vašeho HTML, které by mohly dělat něco, co nečekali. 315 00:15:42,260 --> 00:15:45,180 Takže htmlspecialchars jde přes všechny ty, znaky, které mají zvláštní 316 00:15:45,180 --> 00:15:47,030 setkání a uniká jim. 317 00:15:47,030 --> 00:15:51,450 Tak se dostane vytisknout jako text Chcete-li vidět, spíše než 318 00:15:51,450 --> 00:15:53,280 šroubování do vašeho HTML. 319 00:15:53,280 --> 00:15:55,040 Nazvali jsme tuto funkci v záhlaví. 320 00:15:55,040 --> 00:15:57,390 A spousta lidí zapomněla volání této funkce v 321 00:15:57,390 --> 00:15:58,700 kód, který jste psali. 322 00:15:58,700 --> 00:16:03,970 >> Tak, například, v případě, že název zboží měl úhelník v něm a jste zapomněli 323 00:16:03,970 --> 00:16:06,675 tuto funkci volat, že úhel Držák by mohl shodit co 324 00:16:06,675 --> 00:16:08,250 vaše HTML vypadalo. 325 00:16:08,250 --> 00:16:11,810 Ale volání této funkce se uniknout že tak to ve skutečnosti vytiskne jako 326 00:16:11,810 --> 00:16:15,870 úhelník a nevyvolává z vašeho HTML kódu. 327 00:16:15,870 --> 00:16:18,760 >> Ze stejného důvodu jsme viděli, někdy, lomítka před uvozovkami v 328 00:16:18,760 --> 00:16:22,310 printf řádek, protože nechceme dvojité uvozovky dolů řetězec. 329 00:16:22,310 --> 00:16:24,050 Chceme jim tisknout na obrazovku. 330 00:16:24,050 --> 00:16:26,920 Takže všechno je to stejný nápad. 331 00:16:26,920 --> 00:16:28,260 Znamená to, že odpověď na vaši otázku? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> DIVÁKŮ: Druh. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: Myslíte si, mají návaznost? 335 00:16:35,300 --> 00:16:43,252 >> DIVÁKŮ: Myslím, že SQL Injection Útok má co do činění s tím? 336 00:16:43,252 --> 00:16:45,720 Nechápu, jak dva jsou ve spojení. 337 00:16:45,720 --> 00:16:47,610 Proč byste udělat specialchars? 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: OK, takže SQL injekce útok je, když si aplikujete 339 00:16:51,200 --> 00:16:59,180 některé škodlivé řetězce do někoho je programu, a prostě si ji a spusťte 340 00:16:59,180 --> 00:17:01,230 SQL dotaz s řetězcem jste jim dali. 341 00:17:01,230 --> 00:17:04,220 Jak můžete vidět tady dole, že by mohlo být problematické. 342 00:17:04,220 --> 00:17:07,480 Takže způsob, jak zabránit proti které je budete mít svůj řetězec, který dávají 343 00:17:07,480 --> 00:17:09,220 si - tak tento řetězec přímo zde - 344 00:17:09,220 --> 00:17:11,240 a vy ji dezinfikuje. 345 00:17:11,240 --> 00:17:14,305 Můžete uniknout všechny věci, které jsou potenciálně problematické. 346 00:17:14,305 --> 00:17:18,626 Takže se nemusíte interpretovat jako něco to znamená, že něco. 347 00:17:18,626 --> 00:17:23,390 >> A příklad, který se HTML je tato funkce. 348 00:17:23,390 --> 00:17:26,060 Takže je to stejná myšlenka tady. 349 00:17:26,060 --> 00:17:27,579 A já jsem byl jen zobrazující další Příkladem toho, kdy jste 350 00:17:27,579 --> 00:17:29,030 před viděli tuto myšlenku. 351 00:17:29,030 --> 00:17:33,913 Unikajících uživatelský vstup před tiskem že se na obrazovce nebo uvedení 352 00:17:33,913 --> 00:17:36,782 v příkazu SQL. 353 00:17:36,782 --> 00:17:40,790 >> DIVÁKŮ: Takže v tomto případě, že uživatel je probírat s programátorem. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Ano. 355 00:17:41,240 --> 00:17:44,800 Se všemi z těchto bezpečnostních útoků, to je vždy obecně uživatel, nebo 356 00:17:44,800 --> 00:17:47,470 někdo se snaží nepořádek s vámi, programátor. 357 00:17:47,470 --> 00:17:51,038 A to jsou způsoby, jak můžete bránit proti nim. 358 00:17:51,038 --> 00:17:54,280 >> DIVÁKŮ: Takže mám otázku o hašovacích funkcí. 359 00:17:54,280 --> 00:17:59,340 V Quiz 1 z roku 2011, jsou tam dva otázky o jednostranných hash. 360 00:17:59,340 --> 00:18:02,540 A já jsem jen přemýšlel, co to znamená. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, který kvíz? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> DIVÁKŮ: Jo. 364 00:18:04,705 --> 00:18:06,720 >> DIVÁKŮ: Quiz 1? 365 00:18:06,720 --> 00:18:08,620 >> DIVÁKŮ: [neslyšitelné]. 366 00:18:08,620 --> 00:18:09,940 To je jako hash hesla. 367 00:18:09,940 --> 00:18:12,220 To není uvedení věci - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Jaké stránky to bylo? 369 00:18:13,440 --> 00:18:15,720 >> DIVÁKŮ: Myslím, že to bylo 9 nebo 10, nebo obojí. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: V pořádku, jděte do toho, Curt. 371 00:18:16,720 --> 00:18:17,780 Můžete odpovědět, když se podíváme. 372 00:18:17,780 --> 00:18:19,540 >> DIVÁKŮ: Myslím, že to mluví o hash hesla. 373 00:18:19,540 --> 00:18:24,430 Stejně jako, když někdo zadá heslo, to zase do šifrovaného věc. 374 00:18:24,430 --> 00:18:27,395 To je heslo hash, který je se liší od funkce hash, který 375 00:18:27,395 --> 00:18:30,900 dává něco do hash tabulky. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Uvidíme. 377 00:18:31,610 --> 00:18:33,930 Dovolte mi, abych vytáhnout to, co dát jako odpověď. 378 00:18:33,930 --> 00:18:35,440 A pak budeme chodit přes něj. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Takže Curt dal velký příklad o jednosměrný hash. 381 00:18:45,400 --> 00:18:48,800 Když jsme viděli předtím, jsme vzít heslo a zase - 382 00:18:48,800 --> 00:18:53,040 pamatujte, že v p sadě 7, možná někdo mít heslo, které je právě heslo, 383 00:18:53,040 --> 00:18:55,300 ale pak se dostane do šifrována některé opravdu dlouhá věc. 384 00:18:55,300 --> 00:18:59,830 Jednosměrný hash znamená, že je velmi snadné přejít od jednoho způsobu k druhému, ale 385 00:18:59,830 --> 00:19:02,800 je to velmi těžké přejít od jiná cesta zpět. 386 00:19:02,800 --> 00:19:05,230 >> A tak víte, když jste byli kontrole hesla lidí v problému 387 00:19:05,230 --> 00:19:08,820 sada 7, měli byste vzít své - 388 00:19:08,820 --> 00:19:11,953 tak, například, že by si přál, aby změnit své heslo, můžete je požádat 389 00:19:11,953 --> 00:19:13,130 pro jejich staré heslo. 390 00:19:13,130 --> 00:19:13,910 Vzal si své staré heslo. 391 00:19:13,910 --> 00:19:15,150 Můžete šifrována to. 392 00:19:15,150 --> 00:19:19,240 A pak porovnal dva šifrování spíše než unencrypting originál 393 00:19:19,240 --> 00:19:20,780 jeden, protože je to opravdu těžké jít tímto způsobem. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Jo. 396 00:19:28,035 --> 00:19:31,430 >> DIVÁKŮ: Jak do hloubky dělá naše porozumění telnet má být? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: Pokud již bylo zmíněno krátce v přednášce, jen krátký 399 00:19:41,360 --> 00:19:43,260 porozumění. 400 00:19:43,260 --> 00:19:45,585 Opět platí, zpět na odpověď do AVI otázku - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 více věcí přijít, tím je pravděpodobnější, se budete muset být velmi 403 00:19:50,430 --> 00:19:51,530 seznámit se s nimi. 404 00:19:51,530 --> 00:19:54,730 Pokud se už jen přijít na přednášku, to je jen jedno místo. 405 00:19:54,730 --> 00:19:57,180 Ale když přijde na přednášce, oddíl, a problém nastavit, pak 406 00:19:57,180 --> 00:19:58,710 pravděpodobně muset být velmi seznámit se s nimi. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Takže jsem měl otázku od dříve o - 409 00:20:03,960 --> 00:20:06,950 znamená to pád 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, pojďme se vytáhnout - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 tato otázka na komíny a fronty, které jsme strávit spravedlivý trochu času 413 00:20:21,790 --> 00:20:23,720 mluví o v přednášce, a to i když jsme opravdu 414 00:20:23,720 --> 00:20:26,020 kdy trefil v sekci. 415 00:20:26,020 --> 00:20:33,190 Tak na tuto otázku dává vám sérii příkazů a dotazem, co 416 00:20:33,190 --> 00:20:35,560 se vytiskne v tomto případě. 417 00:20:35,560 --> 00:20:40,180 Tak tohle je naprosto rozumná otázka které by mohly být požádány o vás 418 00:20:40,180 --> 00:20:43,090 kluci, a pak vy by být schopen na ni odpovědět. 419 00:20:43,090 --> 00:20:50,020 >> Tak proč se na to podíváte na 30. sekund, a pak, pokud někdo chce 420 00:20:50,020 --> 00:20:52,140 navrhnout odpovědi na mně, a pak budeme chodit přes něj. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Tak jo, kdo má odpověď na otázku 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Jo. 425 00:21:33,860 --> 00:21:40,250 >> DIVÁKŮ: Je to 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: To je pravda. 427 00:21:40,780 --> 00:21:42,570 27 je 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Tak se pojďme podívat na to, jak jsme se dostali, že. 429 00:21:44,510 --> 00:21:48,930 >> Za prvé, říkáme, pokud s je fronta, co se má vytisknout? 430 00:21:48,930 --> 00:21:53,360 Takže q je první dovnitř, první ven. 431 00:21:53,360 --> 00:21:54,680 Už jsme viděli, že. 432 00:21:54,680 --> 00:21:56,820 Viděli jsme obraz lidí čekání na Apple 433 00:21:56,820 --> 00:21:58,400 Uložte si koupit nějaký produkt. 434 00:21:58,400 --> 00:22:00,900 První lidé v jsou první lidé z. 435 00:22:00,900 --> 00:22:02,940 První věcí, ve frontě jsou první věci ven. 436 00:22:02,940 --> 00:22:08,320 >> Takže pokud budeme tlačit něco do fronty, můžete tlačit je 1, pak vyskočí na 1. 437 00:22:08,320 --> 00:22:09,630 Pop prostě znamená vzít ven. 438 00:22:09,630 --> 00:22:11,080 V tomto případě stačí vzít něco ven. 439 00:22:11,080 --> 00:22:12,910 Bereme se první to, že je to 1. 440 00:22:12,910 --> 00:22:15,200 Tak dáme věci, které jsme tisknout se tady. 441 00:22:15,200 --> 00:22:18,110 To již není v naší frontě. 442 00:22:18,110 --> 00:22:23,500 >> Pak se budeme tlačit na 2 a 3, a jsme pop off první věc. 443 00:22:23,500 --> 00:22:25,030 Opět, protože to je fronta. 444 00:22:25,030 --> 00:22:33,320 Tak jsme si dva, pak dáme na jiném 3 a zavolat znovu pop. 445 00:22:33,320 --> 00:22:34,980 Naše 3 je první. 446 00:22:34,980 --> 00:22:40,940 >> A pak jsme měli spoustu jiné věci a volání pop. 447 00:22:40,940 --> 00:22:43,740 Ale opět, protože to je fronta, první dovnitř, první ven. 448 00:22:43,740 --> 00:22:45,980 Bereme z první věc, , která byla někdy dát dovnitř 449 00:22:45,980 --> 00:22:47,100 To je náš 3. 450 00:22:47,100 --> 00:22:50,060 A v tomto případě jsme se neboj o všechny ty ostatní věci. 451 00:22:50,060 --> 00:22:51,310 Tak to je v případě, že je fronta. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Máte otázky k frontě? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Zásobník je odlišná. 456 00:23:04,040 --> 00:23:07,782 Co je zkratka máme pro pochopení stoh? 457 00:23:07,782 --> 00:23:08,750 >> DIVÁKŮ: Poslední dovnitř, první ven. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, myslím. 459 00:23:10,130 --> 00:23:11,830 Poslední dovnitř, první ven. 460 00:23:11,830 --> 00:23:15,630 Takže jsme viděli příklad stohu zásobníků v jídelně. 461 00:23:15,630 --> 00:23:17,590 Ať zásobník je na vrcholu dostane zvedl. 462 00:23:17,590 --> 00:23:19,550 A pak, pokud nová podnosy přijít v, které se vložil na vrchol. 463 00:23:19,550 --> 00:23:21,070 A pak, co je na nahoru dostane zvedl. 464 00:23:21,070 --> 00:23:24,010 Takže ty zásobníky na spodní moci zůstat tam na chvíli. 465 00:23:24,010 --> 00:23:28,480 >> V tomto případě, opět budeme kreslit na to. 466 00:23:28,480 --> 00:23:31,770 Jsme tlačit na jednoho, tak jeden je první v řadě. 467 00:23:31,770 --> 00:23:32,790 A my pop něco off. 468 00:23:32,790 --> 00:23:37,280 A je tu jen jedna věc, tam, tak jsme se přesunout jeden tady dole. 469 00:23:37,280 --> 00:23:41,940 Pak dáme na 2 a 3 a jsme pop něco off. 470 00:23:41,940 --> 00:23:43,650 >> Ale znovu, protože to je fronta - 471 00:23:43,650 --> 00:23:45,010 nebo je to zásobník, poněkud - 472 00:23:45,010 --> 00:23:47,480 bereme vše, co bylo v poslední. 473 00:23:47,480 --> 00:23:49,300 Ať už je v posledním je jako první. 474 00:23:49,300 --> 00:23:50,890 A 3 je poslední. 475 00:23:50,890 --> 00:23:56,110 Takže jsme dali 3 tam, pak dáme na další 3 a my 476 00:23:56,110 --> 00:23:57,360 pop zase něco. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 A konečně, dáme na 4, 5, 6 a 7, a tady jsme pop. 479 00:24:05,710 --> 00:24:09,060 A protože je to zásobník, bereme co bylo uvedeno v loňském a psát 480 00:24:09,060 --> 00:24:10,240 že tady dole. 481 00:24:10,240 --> 00:24:14,256 Takže jsme skončili s 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Má někdo nějaké otázky týkající se zásobníky nebo fronty, nebo tento příklad? 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> OK. 486 00:24:29,030 --> 00:24:30,440 Pojďme zpět na seznam témat. 487 00:24:30,440 --> 00:24:32,510 Ne, že by tudy, tudy. 488 00:24:32,510 --> 00:24:34,280 Jaké další otázky, lidé mají? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> DIVÁKŮ: Nevím, jak je důležité to je, ale já jsem byl zmatený 491 00:24:39,480 --> 00:24:43,550 Rozdíl mezi různými typy jazyky, jako je značkování, sestavovány, 492 00:24:43,550 --> 00:24:45,980 interpretovány. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: To je dobrá otázka. 494 00:24:46,750 --> 00:24:50,500 Myslím, že je poněkud důležité, tak pojďme rychle jít přes něj. 495 00:24:50,500 --> 00:24:56,850 Velké jazyky jsme viděli doposud jsou C, PHP a JavaScript, pokud jde 496 00:24:56,850 --> 00:24:58,330 z programovacích jazyků. 497 00:24:58,330 --> 00:25:01,060 HTML, jak jste se zmínil, není programovací jazyk. 498 00:25:01,060 --> 00:25:02,260 Je to značkovací jazyk. 499 00:25:02,260 --> 00:25:05,700 A pak máme CSS, který je také není programovací jazyk. 500 00:25:05,700 --> 00:25:10,330 >> Také jsme viděli SQL, který není programovací jazyk jeden. 501 00:25:10,330 --> 00:25:15,695 Takže SQL umožňuje psát dotazy na databázi. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML je značkovací jazyk. 504 00:25:20,140 --> 00:25:22,570 To určuje, jak věci jsou strukturovány. 505 00:25:22,570 --> 00:25:26,250 A CSS umožňuje styl věci. 506 00:25:26,250 --> 00:25:28,520 To je pravděpodobně míry za to, co potřebujete vědět o těch třech. 507 00:25:28,520 --> 00:25:32,920 Ale to je ještě zajímavé postavy z rozdílů mezi C, PHP, 508 00:25:32,920 --> 00:25:34,320 a JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Takže jeden z největších rozdílů, jak jste zmínil, je to, jak jsou 510 00:25:37,900 --> 00:25:40,550 sestavil, nebo cokoliv ekvivalent je. 511 00:25:40,550 --> 00:25:42,580 Takže C je sestaven. 512 00:25:42,580 --> 00:25:43,950 Rádi bychom se vždy spustí kompilátor. 513 00:25:43,950 --> 00:25:51,100 A pak, kde jsou vaše chyby Při spuštění C kompilátor? 514 00:25:51,100 --> 00:25:55,740 Tam, kde se to ukáže Chyby v kódu? 515 00:25:55,740 --> 00:25:57,860 Jak víte, že je to Chyba v kódu v jazyce C? 516 00:25:57,860 --> 00:25:58,770 >> DIVÁKŮ: To vám ukáže, v terminálu. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: Ukazuje vás terminálu, jak jste kompilaci. 518 00:26:00,410 --> 00:26:02,620 A pokud tam jsou chyby, je nebude ve skutečnosti zkompilovat. 519 00:26:02,620 --> 00:26:04,830 Takže víte, že tam jsou chyby pravé pryč, dopředu, před vámi 520 00:26:04,830 --> 00:26:06,050 i spuštění kódu. 521 00:26:06,050 --> 00:26:10,010 >> Samozřejmě, že můžete spustit svůj kód a dostanete segmentation fault, ale to bylo 522 00:26:10,010 --> 00:26:12,350 pravděpodobně proto, že jste některé hloupé logiky věci. 523 00:26:12,350 --> 00:26:15,770 Ale váš kód s technicky všechny správné a mohl běžet. 524 00:26:15,770 --> 00:26:18,210 Takže C kód dostane sestaven v předstihu. 525 00:26:18,210 --> 00:26:19,760 Co je PHP kód? 526 00:26:19,760 --> 00:26:21,430 Tam, kde byly chyby ve vašem PHP kódu? 527 00:26:21,430 --> 00:26:23,170 Jak víš, že jsi měl chyby ve vašem PHP kódu? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> DIVÁKŮ: Běh času? 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Jo, když se by se spustit, měli byste spustit 531 00:26:31,230 --> 00:26:32,180 PHP kód na zadní straně. 532 00:26:32,180 --> 00:26:33,300 A pak byste zobrazit obrazovku. 533 00:26:33,300 --> 00:26:35,260 Můžete vidět některé věci na vrcholu, ale pak byste viděli, jak někteří 534 00:26:35,260 --> 00:26:36,710 oranžová, ošklivý stůl. 535 00:26:36,710 --> 00:26:41,420 A to by vám číslo řádku a řekněme, bla, bla, bla, tohle 536 00:26:41,420 --> 00:26:42,400 nefungovalo. 537 00:26:42,400 --> 00:26:48,730 >> Takže PHP je interpretován řádek po řádku a spuštěn na serveru. 538 00:26:48,730 --> 00:26:52,380 A pak je výsledkem poslal k vám. 539 00:26:52,380 --> 00:26:53,340 Skvělé. 540 00:26:53,340 --> 00:26:56,410 Provedený v serveru řádek po řádku a pak poslal k vám. 541 00:26:56,410 --> 00:26:59,010 A pokud tam je chyba, bude to poslat jste chybu, ale můžete mít 542 00:26:59,010 --> 00:27:00,400 dostal nějaké věci dopředu. 543 00:27:00,400 --> 00:27:02,730 Takže někteří to mohlo fungovat, ale později, může některé věci nemá 544 00:27:02,730 --> 00:27:03,890 nepracoval. 545 00:27:03,890 --> 00:27:04,600 >> Co je JavaScript? 546 00:27:04,600 --> 00:27:06,065 Kde jste vidět chyby JavaScriptu? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 V p set 8, pokud máte chyba, jak to víš? 549 00:27:12,870 --> 00:27:13,710 Tam, kde by to ukázat? 550 00:27:13,710 --> 00:27:15,900 >> DIVÁKŮ: V konzole, ve spodní části. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: V konzola, na dně. 552 00:27:17,650 --> 00:27:20,160 To by také vám číslo řádku, a to by 553 00:27:20,160 --> 00:27:21,330 zobrazí se na dně. 554 00:27:21,330 --> 00:27:24,320 A JavaScript nebyl proveden na serveru. 555 00:27:24,320 --> 00:27:27,800 JavaScript byl poslán do vašeho počítače, a pak, když byl čas běžet 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript byl běh řádek po řádku na 557 00:27:31,670 --> 00:27:33,410 Klient, na vaší straně. 558 00:27:33,410 --> 00:27:35,570 Není serveru, na straně klienta. 559 00:27:35,570 --> 00:27:37,690 >> A podobně, bylo to běh řádek po řádku. 560 00:27:37,690 --> 00:27:40,630 A pak, když byste si chybu, že by se ukázala ve spodní části. 561 00:27:40,630 --> 00:27:44,580 Podobně jako PHP, možná některé z nich provést, a pak můžete dostat 562 00:27:44,580 --> 00:27:46,310 chyba později. 563 00:27:46,310 --> 00:27:49,910 >> Dále, na rozdíl od trochu PHP, pokud máš chybu JavaScript - 564 00:27:49,910 --> 00:27:52,780 že jste to neudělal právo Kód pro upozornění box - 565 00:27:52,780 --> 00:27:55,800 můžete držet spuštěním programu. 566 00:27:55,800 --> 00:27:58,180 Upozornění box nebude fungovat, ale váš program bude v pořádku. 567 00:27:58,180 --> 00:28:00,490 Jen možná, že funkce by se nezdaří. 568 00:28:00,490 --> 00:28:02,610 >> Takže je tu něco z největších rozdíl v tom, jak tyto 569 00:28:02,610 --> 00:28:09,230 jazyky, nebo jak programovací kód píšete skutečně hodnoceny. 570 00:28:09,230 --> 00:28:11,970 Existují i ​​jiné rozdíly v Podmínky - největší rozdíl 571 00:28:11,970 --> 00:28:15,590 Viděli jsme, pokud jde o proměnných v různých jazycích. 572 00:28:15,590 --> 00:28:19,660 Takže může mi někdo dát rozdíl mezi proměnnými 573 00:28:19,660 --> 00:28:20,910 ve třech jazycích? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Ano. 576 00:28:25,770 --> 00:28:27,130 >> DIVÁKŮ: V jazyce C, jsou přísně zadali. 577 00:28:27,130 --> 00:28:28,550 V dalších dvou, jsou volně zadali. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn: A Co to znamená? 579 00:28:30,040 --> 00:28:31,775 >> DIVÁKŮ: To je v C, musíte deklarovat typ proměnné, když 580 00:28:31,775 --> 00:28:36,140 deklarujete proměnnou, jako interbool nebo char. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Výborný. 582 00:28:36,990 --> 00:28:39,780 V jazyce C, jsme vždy měli dát typ proměnné. 583 00:28:39,780 --> 00:28:41,360 A nemohli jsme opravdu různé druhy. 584 00:28:41,360 --> 00:28:45,750 Dalo by se to udělat celé číslo a řetězec. 585 00:28:45,750 --> 00:28:48,760 Ale jak jsme viděli v těchto jiných jazyky, ve skutečnosti můžete různé druhy, 586 00:28:48,760 --> 00:28:51,230 a nikdy dát něco typu, kdy. 587 00:28:51,230 --> 00:28:53,905 >> Tak jak můžeme vědět, co jsou proměnné v PHP a JavaScriptu? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> DIVÁKŮ: V PHP, začnou znakem dolaru. 590 00:28:58,685 --> 00:29:00,810 V JavaScriptu, když deklarujete jim, budete mít bar. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Správně. 592 00:29:01,760 --> 00:29:03,535 Takže v PHP, začnou znakem dolaru. 593 00:29:03,535 --> 00:29:06,300 V JavaScriptu, musejí mít bar, i když někdy to není ve skutečnosti 594 00:29:06,300 --> 00:29:07,520 mít bar. 595 00:29:07,520 --> 00:29:09,240 Ale to je v pořádku. 596 00:29:09,240 --> 00:29:13,300 >> Tak to je velký rozdíl mezi proměnnými. 597 00:29:13,300 --> 00:29:16,140 Myslím, že to jsou pravděpodobně pryč vrchol mé hlavy, dvě největší 598 00:29:16,140 --> 00:29:19,250 rozdíly mezi těmito tři jazyky. 599 00:29:19,250 --> 00:29:20,594 Ale, jo. 600 00:29:20,594 --> 00:29:24,720 >> DIVÁKŮ: A rozsah proměnných C je omezeno na složených závorek, 601 00:29:24,720 --> 00:29:27,760 kde ty ostatní, je to jen rád, zemře-li, že je to pouze funkce, 602 00:29:27,760 --> 00:29:29,650 ale jinak, Je to - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Správně. 604 00:29:30,240 --> 00:29:36,780 Takže rozsah se mírně liší v C. Jak Pamatujete si, složené závorky definují 605 00:29:36,780 --> 00:29:37,710 rozsah proměnných. 606 00:29:37,710 --> 00:29:41,680 Takže pokud to bylo definováno v případě, podmínka, která je uvnitř smyčky for, 607 00:29:41,680 --> 00:29:44,290 proměnná existuje pouze tam. 608 00:29:44,290 --> 00:29:47,760 >> V JavaScript, pokud proměnná je definována uvnitř-li podmínkou - 609 00:29:47,760 --> 00:29:50,750 uvnitř smyčky for - to bude existovat že funkce, ale to nebude existovat 610 00:29:50,750 --> 00:29:52,330 mimo tuto funkci. 611 00:29:52,330 --> 00:29:59,250 Takže prostor je trochu pružnější v JavaScriptu a PHP. 612 00:29:59,250 --> 00:30:00,500 To je odpověď na otázku? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, nějaké další otázky? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Můžeme udělat další čtyři minuty otázek, pak 617 00:30:08,865 --> 00:30:10,740 budeme skákat do kódování. 618 00:30:10,740 --> 00:30:12,645 >> DIVÁKŮ: Můžeme jít do Ajax a mluvit o tom, co to je? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Promluvte si s Avi po. 621 00:30:17,800 --> 00:30:19,170 Zeptal se na tuto otázku dříve. 622 00:30:19,170 --> 00:30:19,630 >> DIVÁKŮ: Moje chyba. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Žádné starosti. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> DIVÁKŮ: Co přesně je to JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Co je to JSON? 628 00:30:28,900 --> 00:30:29,930 Jaký je Váš dotaz? 629 00:30:29,930 --> 00:30:31,350 >> DIVÁKŮ: Jen opravdu rychle, rozdíl mezi 630 00:30:31,350 --> 00:30:32,870 print a echo v PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> Proč jste mapu: JASON Hirschhorn Rozdíl mezi tiskem a ozvěna? 633 00:30:38,490 --> 00:30:40,670 Nepatrný rozdíl. 634 00:30:40,670 --> 00:30:42,020 Ne, že by velký problém. 635 00:30:42,020 --> 00:30:44,960 Ale měli byste rozhodně mapu to, a že ti dám dobrou odpověď. 636 00:30:44,960 --> 00:30:46,910 >> JSON, pravděpodobně větší z obchodu. 637 00:30:46,910 --> 00:30:49,300 Stojany pro JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 A když jsme viděli JSON se používá? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Pokud jste viděli - 641 00:30:55,900 --> 00:30:57,400 proč vůbec víš slovo JSON? 642 00:30:57,400 --> 00:30:59,140 Kdy jste ho viděl? 643 00:30:59,140 --> 00:31:02,200 >> DIVÁKŮ: Když jsme byli stále Kurzy akcií pro finance. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Takže jste viděl že když jste byli stále 645 00:31:02,690 --> 00:31:04,830 Kurzy akcií pro finance. 646 00:31:04,830 --> 00:31:07,340 A proč jsi ho viděl? 647 00:31:07,340 --> 00:31:09,000 >> DIVÁKŮ: Když jsme byli načítání všechny informace, které 648 00:31:09,000 --> 00:31:10,400 přišel v tomto formátu. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Takže byste si - 650 00:31:11,700 --> 00:31:12,540 jo. 651 00:31:12,540 --> 00:31:13,020 Jen do toho. 652 00:31:13,020 --> 00:31:15,210 >> DIVÁKŮ: [neslyšitelné] informace z objektu? 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: Obě ty, dohromady je odpověď 654 00:31:17,170 --> 00:31:18,100 hledáme. 655 00:31:18,100 --> 00:31:21,240 Chcete, aby informace z to ostatní webové stránky. 656 00:31:21,240 --> 00:31:23,790 A vy byste doufat, že když jste získávání těchto informací, by bylo 657 00:31:23,790 --> 00:31:26,720 prezentovány na vás v nějakém typu standardizovaného formátu. 658 00:31:26,720 --> 00:31:29,530 >> Každý zná asi s hodnotami oddělenými čárkami. 659 00:31:29,530 --> 00:31:32,970 Můžete exportovat tabulku aplikace Excel nebo jakýkoliv typ tabulky jako seznam 660 00:31:32,970 --> 00:31:34,540 comma-separated values. 661 00:31:34,540 --> 00:31:37,370 A čárky rozdělit všechny různé obory. 662 00:31:37,370 --> 00:31:38,780 JavaScript Object Notation - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 je jiný typ standardizované uspořádání věcí. 665 00:31:43,540 --> 00:31:49,010 A to je často, jak získat informace z našich Ajax dotazů. 666 00:31:49,010 --> 00:31:51,770 >> Takže v tomto případě, máme to ze stránek Yahoo. 667 00:31:51,770 --> 00:31:53,600 Oni se vrátí věci nám v objektu JSON. 668 00:31:53,600 --> 00:31:56,790 A pak víme, protože je to standard, co to je 669 00:31:56,790 --> 00:31:57,250 bude vypadat. 670 00:31:57,250 --> 00:32:00,760 Takže můžeme iterovat přes pole že je se vrátil k nám, do pole 671 00:32:00,760 --> 00:32:03,180 objekty, které se k nám vrátil. 672 00:32:03,180 --> 00:32:07,770 >> My asi potřebujeme znát klíče, ale obecně vám 673 00:32:07,770 --> 00:32:11,370 dokumentace na webových stránkách, pokud jste okouzlující nějaké JSON 674 00:32:11,370 --> 00:32:12,170 zápis pro ně. 675 00:32:12,170 --> 00:32:16,940 Stejně tak můžete JSON kódovat objektu. 676 00:32:16,940 --> 00:32:19,900 Takže je tu funkce JSON podtržítko enkódování. 677 00:32:19,900 --> 00:32:22,970 A tak si můžete vzít na objekt, který jste vytvořili, JSON zakódovat, a 678 00:32:22,970 --> 00:32:26,390 přenést na něco jinak, pokud chcete. 679 00:32:26,390 --> 00:32:30,770 A JSON dekódování existuje také pro podobný účel, nebo 680 00:32:30,770 --> 00:32:31,780 opačný účel. 681 00:32:31,780 --> 00:32:36,570 >> DIVÁKŮ: Potřebujeme vědět kódování pro hash tabulky a pokusů? 682 00:32:36,570 --> 00:32:40,300 Nebo se prostě musí pochopit, jak jsou zvyklí, koncepčně? 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Takže, zvedněte ruku pokud jste hash tabulky pro p set 4 684 00:32:44,570 --> 00:32:46,920 se seznamem odkazů. 685 00:32:46,920 --> 00:32:47,960 Nebo p sada 5. 686 00:32:47,960 --> 00:32:49,060 Takže to byla drtivá většina lidí. 687 00:32:49,060 --> 00:32:50,390 P sada 5, 6, kdo ví. 688 00:32:50,390 --> 00:32:51,240 Už je to dávno. 689 00:32:51,240 --> 00:32:54,140 >> Takže většina z vás udělal hash tabulky se seznamy odkazů. 690 00:32:54,140 --> 00:32:56,525 A protože to je asi více společný přístup, a protože jsme strávili 691 00:32:56,525 --> 00:32:59,460 hodně času dělá odkaz seznamy a hash tabulky, asi byste měli být 692 00:32:59,460 --> 00:33:02,600 docela obeznámeni s tím, jak kódovat hash tabulky a seznam spojení. 693 00:33:02,600 --> 00:33:05,060 >> A pokud si myslíte, že zpět k tomuto problému set, to bylo opravdu 694 00:33:05,060 --> 00:33:06,410 tak těžké, jak jste očekávali. 695 00:33:06,410 --> 00:33:08,120 A tam bylo mnohem méně Kód, než jste očekávali. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Řekl bych, že byste měli vědět, jak se kód hash tabulku nebo seznam odkazů. 698 00:33:14,650 --> 00:33:17,010 Ne, že bych se zeptal, že nutně, ale měli byste 699 00:33:17,010 --> 00:33:19,730 Jistě víte, že. 700 00:33:19,730 --> 00:33:21,860 >> Také, když se podíváte do minulosti kvízy, tam bylo hodně 701 00:33:21,860 --> 00:33:26,450 otázky o psaní funkce na odkaz seznamy nebo dvojitě spojové seznamy. 702 00:33:26,450 --> 00:33:28,370 Zdá se, že přijít každý rok. 703 00:33:28,370 --> 00:33:31,940 Pravým vložit na seznamu odkaz, vpravo vymazat ze seznamu odkazů, vpravo vložit 704 00:33:31,940 --> 00:33:33,610 pro dvojitě spojový seznam, et cetera. 705 00:33:33,610 --> 00:33:36,170 Takže to, že se cítím docela pohodlně že byste měli vědět, že. 706 00:33:36,170 --> 00:33:40,600 >> Pro pokus, řekl bych, že byste měli Jistě víte, jak to funguje, a možná 707 00:33:40,600 --> 00:33:43,570 dát nějakou pseudokódu, jak to kód a nastavit. 708 00:33:43,570 --> 00:33:45,600 Ale to by nebylo to nejhorší, co v svět, pokud jste nevěděli, jak se 709 00:33:45,600 --> 00:33:48,870 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 710 00:33:48,870 --> 00:33:52,516 pravděpodobně pseudokódu na zkoušku by být nejvíce budete potřebovat 711 00:33:52,516 --> 00:33:53,270 vědět, na zkoušku. 712 00:33:53,270 --> 00:33:53,930 >> DIVÁKŮ: Extra úvěr? 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn: A totéž se, když jsme jít do binárních vyhledávacích stromů, můžete 714 00:33:58,290 --> 00:34:02,320 potřebujete - a když jste viděli v minulosti, jsme udělali hodně - víte, jak 715 00:34:02,320 --> 00:34:03,380 binární vyhledávací strom funguje. 716 00:34:03,380 --> 00:34:07,150 Pravděpodobně byste měli být schopni nastavit jednu v pseudo kódu. 717 00:34:07,150 --> 00:34:10,510 Ale proto, že drtivá většina lidí neudělal, že na problém 718 00:34:10,510 --> 00:34:13,880 set, řekl bych, že je to pravděpodobně méně důležité, že víte, jak kódovat 719 00:34:13,880 --> 00:34:17,380 a nastavit strom takového. 720 00:34:17,380 --> 00:34:19,679 >> Nějaké další otázky? 721 00:34:19,679 --> 00:34:23,234 Také můžeme zeptat se jich na celém jak jsme jít přes některé problémy. 722 00:34:23,234 --> 00:34:27,170 OK, budeme dál. 723 00:34:27,170 --> 00:34:28,230 Přeskočit ten snímek teď. 724 00:34:28,230 --> 00:34:32,449 >> Když už mluvíme o stromy, to je první otázka, mám pro vás. 725 00:34:32,449 --> 00:34:34,270 Protože se jedná o problém. 726 00:34:34,270 --> 00:34:37,380 Řekl bych, že je to velmi pravděpodobné, že budete získat problém takhle na kvíz 727 00:34:37,380 --> 00:34:43,659 s dotazem na kód určitý typ vložky, mazat, vyhledávat, pro jeden typ 728 00:34:43,659 --> 00:34:45,270 datové struktury jsme viděli. 729 00:34:45,270 --> 00:34:47,719 >> To přijde každý rok a my jsme strávili hodně času v druhé polovině tohoto 730 00:34:47,719 --> 00:34:50,270 semestr bude nad těmito datovými typy. 731 00:34:50,270 --> 00:34:54,170 Takže teď jsem definovaný uzel v binární vyhledávací strom. 732 00:34:54,170 --> 00:34:58,490 A to, co jsem chtěl, abys je uveden binární vyhledávací strom, který začíná 733 00:34:58,490 --> 00:35:05,450 v tomto uzlu hvězdy kořene, vyplňte provádění níže funkce, 734 00:35:05,450 --> 00:35:07,430 který se stane být funkce find. 735 00:35:07,430 --> 00:35:09,260 A to i bez rekurze. 736 00:35:09,260 --> 00:35:10,860 >> Takže chci vám napsat dvě funkce. 737 00:35:10,860 --> 00:35:14,310 Jeden dělá to s rekurzi, jeden Přitom bez rekurze. 738 00:35:14,310 --> 00:35:18,050 A ne předpokládat, že kořen bude nenulová. 739 00:35:18,050 --> 00:35:21,790 Takže hledáme pro celé číslo i v strom začíná u kořene, a my potřebujeme 740 00:35:21,790 --> 00:35:25,280 psát to rekurzivně a iterativně. 741 00:35:25,280 --> 00:35:26,300 Jo. 742 00:35:26,300 --> 00:35:29,730 >> DIVÁKŮ: Takže chcete, abychom vrátí hodnotu true pokud zjistíme, že je, a false, pokud se 743 00:35:29,730 --> 00:35:30,480 nenajdete. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: Jak to víš? 745 00:35:32,160 --> 00:35:33,100 Jak to víš, že? 746 00:35:33,100 --> 00:35:36,500 >> DIVÁKŮ: Ptal jsem se první, ale byl jsem za předpokladu, protože se říká, že bool na 747 00:35:36,500 --> 00:35:37,490 začátek funkce. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Správně. 749 00:35:37,880 --> 00:35:41,020 To říká bool, takže jsem si ani nemusíte ti, co čekám, že se vrátí 750 00:35:41,020 --> 00:35:41,350 protože se říká, že právě tam. 751 00:35:41,350 --> 00:35:42,280 Ale to je v pořádku. 752 00:35:42,280 --> 00:35:43,510 Vraťte se, true nebo false. 753 00:35:43,510 --> 00:35:47,630 >> Takže než začnete, doporučil bych vám, Pokud jste obeznámeni s 754 00:35:47,630 --> 00:35:51,300 binární vyhledávací stromy, rychle kreslení obrázek o tom, jak dostat své 755 00:35:51,300 --> 00:35:51,750 pochopení, že jo. 756 00:35:51,750 --> 00:35:54,720 To vám také pomůže při psaní kódu a to kontrole. 757 00:35:54,720 --> 00:35:57,830 Opět platí, že také nemají, že mnoho čas na kvíz dělat všechny ty věci, 758 00:35:57,830 --> 00:35:59,030 že bychom vás požádat, abyste dělat. 759 00:35:59,030 --> 00:36:02,350 Takže psát pseudo kód je velmi užitečné. 760 00:36:02,350 --> 00:36:05,310 >> A my jsme obecně dát o - 761 00:36:05,310 --> 00:36:06,820 pokud pseudokódu je dokonale správné, že je 762 00:36:06,820 --> 00:36:08,910 obvykle 50% na otázku. 763 00:36:08,910 --> 00:36:11,410 Takže to není tvrdé a rychlé pravidlo, ale pokud stačí napsat pseudokódu, a to 764 00:36:11,410 --> 00:36:13,460 správné, je to obvykle 50%. 765 00:36:13,460 --> 00:36:14,970 Tak jsem vždycky doporučuji - 766 00:36:14,970 --> 00:36:16,870 pokud jste v časové tísni, nebo dokonce i v případě, jste jen snaží přijít na to - 767 00:36:16,870 --> 00:36:18,290 počínaje pseudokódu. 768 00:36:18,290 --> 00:36:24,840 A konečně, pokud jste mohl napsat tento vše v C, to by bylo fantastické. 769 00:36:24,840 --> 00:36:29,010 >> Takže pojďme se tři minuty pracovat na tomto programu. 770 00:36:29,010 --> 00:36:33,120 A pak budeme psát pseudokódu na to jen jednou, a pak 771 00:36:33,120 --> 00:36:35,455 budeme to kód rekurzivně a pak iterativně. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Pokud máte nějaké dotazy, pocit bez zvedněte ruku. 774 00:37:30,760 --> 00:37:34,270 Šťastný chodit a odpovědět na ně předtím, než začneme jako skupina. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Pojďme pokračovat, a budeme pseudokódu rekurzivní verzi 777 00:39:27,200 --> 00:39:29,830 to, a pak budeme kódovat jej. 778 00:39:29,830 --> 00:39:33,380 Tak rekurzivní funkce potřebuje dvě věci. 779 00:39:33,380 --> 00:39:35,960 To může být otázka, která můžete být požádáni. 780 00:39:35,960 --> 00:39:37,950 Potřebuje dvě věci. 781 00:39:37,950 --> 00:39:40,610 Kdo může zvýšit svou ruku a řekni mi, co dvě věci rekurzivní 782 00:39:40,610 --> 00:39:43,680 funkce potřebuje? 783 00:39:43,680 --> 00:39:45,030 Podle definice má dvě věci. 784 00:39:45,030 --> 00:39:46,280 Jaké jsou ty dvě věci? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Nové ruce. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Ano, Alden. 789 00:39:56,390 --> 00:39:57,980 >> DIVÁKŮ: Takže si nejsem úplně jistý, jestli to je terminologie, ale - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Jsem rád, že budete zvyšovat svou ruku. 791 00:39:59,715 --> 00:40:03,380 >> DIVÁKŮ: Je potřeba základní věc, a je třeba rekurzivní krok. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 Je potřeba základní věc a rekurzivní krok. 794 00:40:06,340 --> 00:40:10,430 Takže to, co je naše základna případ? 795 00:40:10,430 --> 00:40:12,950 >> DIVÁKŮ: F kořen rovná se rovná null. 796 00:40:12,950 --> 00:40:15,110 Je nám líto, pouze v pseudokódu, pokud je to null. 797 00:40:15,110 --> 00:40:16,360 Je-li kořen je null. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn: Je-li kořen je null. 800 00:40:23,540 --> 00:40:23,850 To je skvělé. 801 00:40:23,850 --> 00:40:24,610 To je náš základní scénář. 802 00:40:24,610 --> 00:40:25,910 To je to, co budeme zkontrolovat pokaždé. 803 00:40:25,910 --> 00:40:28,000 A referenční případ je První věc, kterou uděláte. 804 00:40:28,000 --> 00:40:29,720 Pokud jste dopadl na základní věci, máte hotovo. 805 00:40:29,720 --> 00:40:34,140 >> Nyní musíme naši rekurzivní volání, a já bych být ochoten se vsadit, že potřebujeme pár 806 00:40:34,140 --> 00:40:35,440 rekurzivní volání zde. 807 00:40:35,440 --> 00:40:39,630 Vzhledem k tomu, že je to strom, a my může jít více způsoby. 808 00:40:39,630 --> 00:40:43,190 Takže pokud root je null, jsme v pohodě. 809 00:40:43,190 --> 00:40:44,970 >> Co navrhujete? 810 00:40:44,970 --> 00:40:49,640 A teď jdu začít volat ven na vás, protože vím, že kluci 811 00:40:49,640 --> 00:40:50,540 všichni víme. 812 00:40:50,540 --> 00:40:52,610 Ale Annie, co by další řádek bude? 813 00:40:52,610 --> 00:40:53,570 Co když jsme ho našli? 814 00:40:53,570 --> 00:40:55,526 Co budeme dělat? 815 00:40:55,526 --> 00:40:57,300 >> DIVÁKŮ: Když jsme ho našli? 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Nebo co tak, že - 817 00:40:59,160 --> 00:41:02,124 dej mi pseudokódu pro linka, kde jsme ho našli. 818 00:41:02,124 --> 00:41:04,700 >> DIVÁKŮ: Pokud se i rovná kořen i? 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn: A pak to, co budeme dělat? 820 00:41:06,650 --> 00:41:07,590 >> DIVÁKŮ: Vrací true. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Skvělé. 822 00:41:08,530 --> 00:41:16,890 Takže pokud i je i - 823 00:41:16,890 --> 00:41:17,400 ach, oni jsou oba zavolal jsem. 824 00:41:17,400 --> 00:41:18,470 To dostane matoucí. 825 00:41:18,470 --> 00:41:23,830 Ale když jsem se i vrátit true. 826 00:41:23,830 --> 00:41:25,620 To je asi další věc, kterou bychom měli udělat. 827 00:41:25,620 --> 00:41:27,300 To dává smysl. 828 00:41:27,300 --> 00:41:30,610 >> OK, teď jsme to udělali naši rekurzivní ale volání, i když, protože rekurzivní 829 00:41:30,610 --> 00:41:32,300 volání by volání této funkce znovu. 830 00:41:32,300 --> 00:41:41,460 Takže to, co by mělo další řada pseudokódu být? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> Diváků: po levé straně. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Buďte konkrétní, ačkoli. 835 00:41:47,590 --> 00:41:50,600 Toto je binární vyhledávací strom, takže to, co se kontroly na levé straně znamenat? 836 00:41:50,600 --> 00:41:51,890 >> DIVÁKŮ: Takže uzel - 837 00:41:51,890 --> 00:41:53,342 Je mi líto, kořen. 838 00:41:53,342 --> 00:41:55,306 A pak šipka vlevo. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Uzel, uzel, je mi líto. 841 00:42:00,720 --> 00:42:01,978 Nebudu to číst správně. 842 00:42:01,978 --> 00:42:05,700 Je to tzv. uzel, ne? 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: bude to být nazýván kořen v této funkci, ale tak jako tak. 844 00:42:09,270 --> 00:42:10,925 Na levé straně - jo? 845 00:42:10,925 --> 00:42:13,780 >> DIVÁKŮ: Pokud tomu tak není rovno i, pak budeme volat 846 00:42:13,780 --> 00:42:15,130 opět funkce? 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: To je pravda. 848 00:42:15,490 --> 00:42:17,870 Pokud tomu tak není roven i, jedeme volání funkce znovu. 849 00:42:17,870 --> 00:42:21,435 Ale to, co strana stromu jdeme volat funkci znovu? 850 00:42:21,435 --> 00:42:22,685 >> DIVÁKŮ: Na levé straně. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Nejsme vždy Zavolám ji vlevo, je-li to 853 00:42:27,670 --> 00:42:29,190 není roven ji. 854 00:42:29,190 --> 00:42:29,610 >> DIVÁKŮ: Oh, omlouvám se. 855 00:42:29,610 --> 00:42:31,200 Volejte na pravé straně. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Chceme vědět, konkrétně, i když - pamatujte, že v 857 00:42:33,680 --> 00:42:37,700 binární vyhledávací strom, všechno levá strana je menší. 858 00:42:37,700 --> 00:42:40,460 Vše doprava straně je větší. 859 00:42:40,460 --> 00:42:43,990 Tak to prostě není - ano, jděte do toho. 860 00:42:43,990 --> 00:42:46,805 >> DIVÁKŮ: Pokud je to méně, než já, a pak - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 pokud je to na levé straně - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Takže pokud ri je menší než - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 takže pokud náš počet je menší než já, co strana chceme jít na? 867 00:43:09,110 --> 00:43:15,120 >> DIVÁKŮ: Chceme jít na pravé straně. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Chceme jít - 869 00:43:16,250 --> 00:43:19,210 dovolte mi nakreslit rychlé strom. 870 00:43:19,210 --> 00:43:23,850 Pokud je to 5, bude to 3.. 871 00:43:23,850 --> 00:43:29,410 Takže pokud ri je menší než pět, co na straně chceme jít na? 872 00:43:29,410 --> 00:43:30,390 >> DIVÁKŮ: Je nám líto, co? 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: Naše číslo je nižší než počet Jsme 874 00:43:33,190 --> 00:43:34,710 při pohledu na právě teď. 875 00:43:34,710 --> 00:43:35,890 >> DIVÁKŮ: Oh, pak chceme jít na levou stranu. 876 00:43:35,890 --> 00:43:36,240 Jo. 877 00:43:36,240 --> 00:43:36,920 Promiňte. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Přesně tak. 879 00:43:37,230 --> 00:43:38,480 Žádné starosti. 880 00:43:38,480 --> 00:43:41,020 V binární vyhledávací strom, všechno nižší je na levé straně, 881 00:43:41,020 --> 00:43:42,110 větší je na pravé straně. 882 00:43:42,110 --> 00:43:46,700 Takže pokud náš počet je nižší než i my jsme kontrolu - 883 00:43:46,700 --> 00:43:48,790 protože vidíte v uzel, má i - 884 00:43:48,790 --> 00:43:50,040 pak budete chtít jít doleva. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> A to je snadné. 887 00:43:56,720 --> 00:44:01,700 Co je to druhá řada pseudokódu musíme napsat? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> DIVÁKŮ: To samé, stačí přepnout to větší než znaménko 890 00:44:05,970 --> 00:44:07,420 a jděte doprava. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Můžeš Řekni, že to ještě jednou? 892 00:44:08,350 --> 00:44:11,640 >> DIVÁKŮ: Je-li naše číslo je větší než jsem, jděte doprava. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Výborný práce na pseudokódu. 895 00:44:26,690 --> 00:44:28,700 Pojďme to udělat v reálném kódu. 896 00:44:28,700 --> 00:44:33,280 A opět, bude to pseudokódu Pravděpodobně vám, protože je to 897 00:44:33,280 --> 00:44:35,480 správné, 50% na tuto otázku. 898 00:44:35,480 --> 00:44:39,720 Ale to pseudokódu také překládá jeden k jednomu, v podstatě, v kódu. 899 00:44:39,720 --> 00:44:44,380 >> Tak ať nám to v C. Kdo může dát mi první řádek kódu? 900 00:44:44,380 --> 00:44:48,390 Ve skutečnosti, první, dřív než já že, dovolte mi zastavit - 901 00:44:48,390 --> 00:44:49,260 >> DIVÁKŮ: Mám otázku. 902 00:44:49,260 --> 00:44:52,430 Proč jste odsadit řádek co jsem ti dal? 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Vzhledem k tomu, Nemohl jsem psát. 904 00:44:54,160 --> 00:44:55,240 Nevím. 905 00:44:55,240 --> 00:44:55,650 Máš pravdu. 906 00:44:55,650 --> 00:44:57,780 Že linka by měla být tam. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, tady je naše funkce. 909 00:45:14,480 --> 00:45:18,090 A dovolte mi zastavit, i, Naše definice uzlu. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Co se stane, když ne napsat typedef? 912 00:45:27,180 --> 00:45:30,240 Ví někdo? 913 00:45:30,240 --> 00:45:32,570 >> DIVÁKŮ: Nebylo by to zkompilovat. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Bylo by kompilaci, jo. 915 00:45:33,860 --> 00:45:37,120 >> DIVÁKŮ: Bylo by to jen prohlásit jeden instance namísto toho, aby se nové 916 00:45:37,120 --> 00:45:39,840 typ byste mohli deklarovat více instance? 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: Tak to ne vím - to ne 918 00:45:41,700 --> 00:45:43,120 jen deklarovat jeden typ. 919 00:45:43,120 --> 00:45:46,150 Dalo by se ještě udělat hodně uzlů. 920 00:45:46,150 --> 00:45:48,070 >> DIVÁKŮ: Ale nebude musíme napsat struct Node pokaždé? 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: To je pravda. 922 00:45:48,640 --> 00:45:50,960 Budete muset napsat struct uzel pokaždé, místo toho, aby pouze uzlu. 923 00:45:50,960 --> 00:45:55,270 Ale s typedef, můžete jen napsat Node pokaždé. 924 00:45:55,270 --> 00:45:58,240 OK, který se nedal - jo, Avica. 925 00:45:58,240 --> 00:46:01,520 >> DIVÁKŮ: Je-li kořen rovná rovná null, vrátí false. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Skvělé, a to je náš základní scénář. 928 00:46:09,490 --> 00:46:11,200 Další řádek kódu. 929 00:46:11,200 --> 00:46:13,999 Někdo, kdo se nedal me řádek kódu ještě? 930 00:46:13,999 --> 00:46:14,945 Jo. 931 00:46:14,945 --> 00:46:23,360 >> DIVÁKŮ: Root šipka i se rovná rovná i. 932 00:46:23,360 --> 00:46:27,260 Pak se vrátí hodnotu true. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Skvělé. 934 00:46:29,162 --> 00:46:32,048 Další linky? 935 00:46:32,048 --> 00:46:32,790 Jo. 936 00:46:32,790 --> 00:46:34,010 Někdo jiný? 937 00:46:34,010 --> 00:46:36,774 A pak můžete jít dál. 938 00:46:36,774 --> 00:46:44,820 >> DIVÁKŮ: Else-li kořen šipka i je menší než i návrat 939 00:46:44,820 --> 00:46:47,737 Funkce tzv. nález kořen - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Omlouvám se. 941 00:46:50,611 --> 00:46:56,272 >> DIVÁKŮ: Návrat najít kořen body doleva čárka i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Takže pokud ri je větší než věc ve stromu, chceme 944 00:47:08,440 --> 00:47:09,573 jít na levé straně? 945 00:47:09,573 --> 00:47:11,790 >> DIVÁKŮ: Ne, měl jsem to přešel. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Který z nich? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> DIVÁKŮ: No, jo. 949 00:47:16,950 --> 00:47:19,050 Mám méně než podepsat zde. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Jasně, pokud ri je méně než to, co je v kořenovém adresáři - 951 00:47:22,890 --> 00:47:25,660 Naše aktuální kořen - a pak jsme chci jít doleva. 952 00:47:25,660 --> 00:47:26,960 A co je poslední řádek, ne? 953 00:47:26,960 --> 00:47:30,930 >> DIVÁKŮ: V podstatě totéž, s výjimkou spínač nebo větší než 954 00:47:30,930 --> 00:47:34,690 rovná méně než a zleva doprava. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Výborný. 957 00:47:43,680 --> 00:47:48,430 Má někdo nějaké otázky, o tom? 958 00:47:48,430 --> 00:47:52,560 Takže některé další věci, které by jako správná, je, že 959 00:47:52,560 --> 00:47:53,810 může být-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Hádej, technicky, žádný z nich Opravdu musí být také-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Také, tam je asi jen jeden případ tady. 963 00:48:00,950 --> 00:48:02,380 Tak to je asi vaše poslední případ. 964 00:48:02,380 --> 00:48:04,000 Nemáte ještě potřebovat, aby-ltiff. 965 00:48:04,000 --> 00:48:06,160 Ale asi dobře psát to, aby bylo jasno. 966 00:48:06,160 --> 00:48:06,660 Jo. 967 00:48:06,660 --> 00:48:09,200 >> DIVÁKŮ: Takže si nemyslím, že kvíz - pokud budeme dělat chyby, například, 968 00:48:09,200 --> 00:48:11,725 v syntaxi - 969 00:48:11,725 --> 00:48:13,990 malé syntaktické chyby - 970 00:48:13,990 --> 00:48:17,810 jak to, že se přijatá v testu? 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: Obecně o testu, malé syntaktické chyby nebo malý 972 00:48:21,300 --> 00:48:24,010 Chyby ve stylu neztrácejí vám body. 973 00:48:24,010 --> 00:48:26,610 Takže pokud jste zapomněli středník tady, bylo by to v pořádku. 974 00:48:26,610 --> 00:48:30,290 Pokud jste zapomněli zavřít tuto závorku, to by bylo v pořádku. 975 00:48:30,290 --> 00:48:34,880 >> Obrovské syntaktické chyby, které mění funkční význam kódu 976 00:48:34,880 --> 00:48:37,600 dramaticky, můžete získat vzlétlo body. 977 00:48:37,600 --> 00:48:40,330 Nebo obecně, jen třídění vám na tom, zda je nebo není 978 00:48:40,330 --> 00:48:42,150 kód funguje, i - 979 00:48:42,150 --> 00:48:44,830 není jeho provedení tak, a není jeho styl. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Pojďme se nyní kódovat iterativní verze nálezu. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Takže to bude dost podobné, ale tam jsou určitě bude 984 00:49:03,450 --> 00:49:06,250 některé klíčové rozdíly. 985 00:49:06,250 --> 00:49:09,160 Nicméně, naše pseudokódu pravděpodobně může jít - 986 00:49:09,160 --> 00:49:11,610 stále ještě můžeme vzít jeden řádek pseudokódu a zjistit, co 987 00:49:11,610 --> 00:49:14,160 Linka je v tomto případě. 988 00:49:14,160 --> 00:49:18,010 >> Takže v iterační verzi, co si myslíte, Julia, by 989 00:49:18,010 --> 00:49:19,260 být na prvním řádku? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> DIVÁKŮ: Opět v iterativní boolean, budete muset nastavit pro smyčce, ne? 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> DIVÁKŮ: Tak jako, K, pro x se rovná 0, x je menší než i. 994 00:49:38,480 --> 00:49:42,260 Nebo ne, x je menší než velikost stromu. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: strom. 996 00:49:42,760 --> 00:49:46,660 Takže jsme opravdu nevím, velikost strom, a my jsme opravdu nevím, pro 997 00:49:46,660 --> 00:49:48,900 kolikrát můžeme jít, takže to, co je jiný typ smyčky, které mohou být 998 00:49:48,900 --> 00:49:50,150 lepší v tomto případě? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> DIVÁKŮ: Pokud ještě? 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: Pokud jiný nemůže být smyčka. 1002 00:49:57,070 --> 00:49:58,935 Takže to, co je typ smyčky můžeme jen jít, dokud neucítíte případ? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Co to jen jiný typ smyčky v C kromě pro smyčce? 1005 00:50:11,560 --> 00:50:11,930 >> DIVÁKŮ: Zatímco. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: I když přesně. 1007 00:50:13,380 --> 00:50:16,430 V cyklu while, ne Potřebujeme vědět, jak - 1008 00:50:16,430 --> 00:50:18,450 while a smyčky může udělat přesně to samé, ale pěkná věc 1009 00:50:18,450 --> 00:50:21,500 o while je nepotřebujeme vědět, jak velký náš strom. 1010 00:50:21,500 --> 00:50:23,060 Takže budeme pokračovat, dokud to, co? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> DIVÁKŮ: Dokud je roven velikost - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: No, je to velmi podobná naší rekurzivní případ. 1014 00:50:32,320 --> 00:50:33,360 Takže - 1015 00:50:33,360 --> 00:50:36,470 >> DIVÁKŮ: Zatímco kořen i nerovná i. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: To je opravdu blízko. 1017 00:50:37,620 --> 00:50:39,430 I když kořenový i - 1018 00:50:39,430 --> 00:50:40,610 zkusme to. 1019 00:50:40,610 --> 00:50:41,180 Nemyslím si, že [neslyšitelný] 1020 00:50:41,180 --> 00:50:43,026 kde kořen i se nerovná i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Mohli bychom třeba ji změnit v něco bit, ale to vypadá, že je docela 1023 00:50:49,460 --> 00:50:50,160 dobrý, teď. 1024 00:50:50,160 --> 00:50:51,710 Takže budeme dělat, že. 1025 00:50:51,710 --> 00:50:55,660 >> Také si uvědomte, nemůžeme předpokládat, na otázku. 1026 00:50:55,660 --> 00:50:57,880 Nemusíte předpokládat, že kořen bude nenulová. 1027 00:50:57,880 --> 00:51:01,914 Tak co si myslíte, že velmi První věc, kterou bychom měli udělat, je? 1028 00:51:01,914 --> 00:51:02,770 >> DIVÁKŮ: Jen to samé věc jako předtím. 1029 00:51:02,770 --> 00:51:05,260 Je-li kořen rovná rovná null, vrátí false. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Skvělé. 1032 00:51:12,130 --> 00:51:13,820 Takže by to mohlo být null. 1033 00:51:13,820 --> 00:51:15,810 Takže chceme zbavit z toho hned. 1034 00:51:15,810 --> 00:51:19,560 A pak jdeme zkontrolovat, zda kořen i není rovno i.. 1035 00:51:19,560 --> 00:51:24,480 Tak, že bychom hledáte v této větvi pro 3, kořen i se nerovná i nyní 1036 00:51:24,480 --> 00:51:25,950 jsme v našem cyklu while. 1037 00:51:25,950 --> 00:51:27,500 Co chceme dělat? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 A opět, to bude dost podobná naší rekurzivní verzi. 1040 00:51:35,430 --> 00:51:36,230 Jo. 1041 00:51:36,230 --> 00:51:40,470 >> DIVÁKŮ: Takže byste chtěli, aby iteraci, nebo pokračuj dolů ze stromu, dokud 1042 00:51:40,470 --> 00:51:42,400 kořen není rovno null. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: Dokud kořen není rovno null? 1045 00:51:46,640 --> 00:51:50,200 >> Diváků: kořen pomlčka i není rovno null. 1046 00:51:50,200 --> 00:51:51,220 Jen kořen, jo. 1047 00:51:51,220 --> 00:51:52,920 Jak dlouho, jak je kořen není rovno null. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Takže ty chceš změnit to do kořene 1049 00:51:54,240 --> 00:51:56,590 není rovno null? 1050 00:51:56,590 --> 00:51:59,020 >> DIVÁKŮ: Jo. 1051 00:51:59,020 --> 00:52:00,800 >> DIVÁKŮ: Mohli bychom spojit ty, že jo? 1052 00:52:00,800 --> 00:52:02,990 My nepotřebujeme, pokud zpočátku. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: OK, takže pokud ne - 1054 00:52:05,180 --> 00:52:08,140 pokud budeme kombinovat, takže budeme dělat zatímco kořen není rovno null, a 1055 00:52:08,140 --> 00:52:10,800 v případě, že kořen se stane být null při začátek, co budeme dělat tady dole? 1056 00:52:10,800 --> 00:52:11,450 >> DIVÁKŮ: return false. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Skvělé. 1058 00:52:12,730 --> 00:52:14,110 Takže oba způsoby, pravděpodobně by pracovali. 1059 00:52:14,110 --> 00:52:15,645 To je jiný způsob, a to kombinuje ji. 1060 00:52:15,645 --> 00:52:18,950 Ale na druhou stranu, pokud jste tak jako tak, jsme nebude vzlétnout designu 1061 00:52:18,950 --> 00:52:19,800 poukazuje na kvíz. 1062 00:52:19,800 --> 00:52:21,020 Ale to vypadá dobře. 1063 00:52:21,020 --> 00:52:23,940 >> Takže i když kořen není rovno null, co je první 1064 00:52:23,940 --> 00:52:25,400 věc, kterou chcete zkontrolovat? 1065 00:52:25,400 --> 00:52:26,330 Někdo jiný? 1066 00:52:26,330 --> 00:52:29,720 Null, co je první věc? 1067 00:52:29,720 --> 00:52:32,850 >> DIVÁKŮ: Pokud ri je menší než - 1068 00:52:32,850 --> 00:52:36,140 oh, myslím, když už zjistil, že v kořenovém adresáři. 1069 00:52:36,140 --> 00:52:40,830 Takže v případě, kořen šipka i je rovno i - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Je nám líto? 1071 00:52:40,990 --> 00:52:45,840 >> DIVÁKŮ: Je-li kořen šipka i rovná rovná i - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Co budeme dělat? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> DIVÁKŮ: Vrací true. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Skvělé. 1077 00:52:59,280 --> 00:53:00,530 A co bude dál? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeffe, co je další řádek kódu? 1080 00:53:06,843 --> 00:53:16,190 >> DIVÁKŮ: Je-li i nižší než kořenový šipky i, pak kořen roven kořen šipkou doleva. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: Root rovná kořen šipka vlevo. 1082 00:53:21,550 --> 00:53:24,530 Tak to je asi největší Rozdíl zde v tomto iterativní 1083 00:53:24,530 --> 00:53:26,600 verze, jak protichůdný k rekurzivní verze. 1084 00:53:26,600 --> 00:53:28,970 Rekurzivní verze, jsme volání funkce znovu. 1085 00:53:28,970 --> 00:53:32,640 Budeme aktualizovat kořen, pokud nazýváme novou funkci. 1086 00:53:32,640 --> 00:53:34,170 Tady nejsme volá novou funkci. 1087 00:53:34,170 --> 00:53:37,610 Jsme prostě jen aktualizaci kořen v této funkci. 1088 00:53:37,610 --> 00:53:38,880 To je skvělé. 1089 00:53:38,880 --> 00:53:40,730 A co je poslední řádek kódu? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Jo, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> DIVÁKŮ: Else kořenové rovná kořen šipka vpravo. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Je nám líto? 1094 00:53:49,492 --> 00:53:52,340 >> DIVÁKŮ: Root rovná kořen šipka vpravo. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Mohl byste také něco takového napsat? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> DIVÁKŮ: Nemám tušení. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: Nemůžete. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Můžete to udělat a navíc rovná. 1102 00:54:08,270 --> 00:54:10,780 OK, takže to vypadá dobře. 1103 00:54:10,780 --> 00:54:13,620 Proč se prostě dělat, že je vyčistit. 1104 00:54:13,620 --> 00:54:15,220 To vypadá skvěle, a že to bude fungovat. 1105 00:54:15,220 --> 00:54:16,920 A my bychom vypuknout. 1106 00:54:16,920 --> 00:54:21,460 >> Je-li kořen vlevo byl nulový nebo kořen vpravo byl nulový, museli bychom přijít sem. 1107 00:54:21,460 --> 00:54:22,470 Root by se rovnala null. 1108 00:54:22,470 --> 00:54:24,270 Rádi bychom vymanit se z našeho smyčky, a my bychom se vrátit false. 1109 00:54:24,270 --> 00:54:26,280 Takže když jsme se vymanit z smyčky, vrátíme false. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> A opět, zatímco smyčka byla perfektní tady, protože nevíme, jak 1112 00:54:32,793 --> 00:54:33,850 velký náš strom je. 1113 00:54:33,850 --> 00:54:36,460 Snažili jsme se napsat pro smyčce, ale my si uvědomil, že máš přijít na to, jak 1114 00:54:36,460 --> 00:54:37,410 je velká dopředu. 1115 00:54:37,410 --> 00:54:38,720 Jo. 1116 00:54:38,720 --> 00:54:41,790 >> DIVÁKŮ: Kdyby tomu tak nebylo binární vyhledávací strom, by to být skutečná matematika-y 1117 00:54:41,790 --> 00:54:44,220 to napsat opakované, že jo? 1118 00:54:44,220 --> 00:54:47,170 Jako kdyby to byl strom, ale ne nutně - 1119 00:54:47,170 --> 00:54:49,730 takže to nebylo všechno menší na levé straně, a všechny větší na pravé straně. 1120 00:54:49,730 --> 00:54:52,540 To by bylo opravdu těžké iterovat přes to, že jo? 1121 00:54:52,540 --> 00:54:55,720 Museli bychom se zachránit, co bylo dříve na ve stromu a vrátit se zpět, 1122 00:54:55,720 --> 00:54:56,970 a tak podobně. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: Kdyby to nebylo binární vyhledávací strom, kdyby to bylo jen 1125 00:55:02,010 --> 00:55:04,740 strom, a to nebylo řazeny takhle - 1126 00:55:04,740 --> 00:55:07,440 a uvědomili jsme si dříve, když Anna bylo nám pomáhá, že dělat to 1127 00:55:07,440 --> 00:55:08,800 tříděného nám hodně pomáhá - 1128 00:55:08,800 --> 00:55:12,610 bychom potřebovali, ano, vždy uložit kde jsme byli předtím. 1129 00:55:12,610 --> 00:55:14,430 Ale tam by mohlo být hodně kde jsme byli previouslys. 1130 00:55:14,430 --> 00:55:17,730 Tam by mohlo být hodně mateřských uzlů. 1131 00:55:17,730 --> 00:55:22,530 >> Asi nejlepší způsob, jak to udělat, že by být neustále tlačí věci na některé 1132 00:55:22,530 --> 00:55:24,170 typ zásobníku nebo fronty. 1133 00:55:24,170 --> 00:55:26,030 Byste nikdy nebudete muset kód této protože je to těžký problém. 1134 00:55:26,030 --> 00:55:30,820 Ale vy tlačit nějaké věci na hromadu nebo fronty a pak se pop je pryč, a 1135 00:55:30,820 --> 00:55:31,890 pak hodnotit. 1136 00:55:31,890 --> 00:55:34,200 >> A pak mít nějakou jinou věc, kde jste vlastně uvedení uzly, a 1137 00:55:34,200 --> 00:55:36,090 pak vytvořit to, a pak prohledávat, že. 1138 00:55:36,090 --> 00:55:38,700 To by mohlo být nejlepší způsob, jak to udělat. 1139 00:55:38,700 --> 00:55:42,410 OK, nějaké otázky týkající se tohoto problému? 1140 00:55:42,410 --> 00:55:44,670 >> DIVÁKŮ: To je na příbuznou notu. 1141 00:55:44,670 --> 00:55:50,460 Budeme muset porovnat provozní dobu pro hash tabulky, binární 1142 00:55:50,460 --> 00:55:52,160 vyhledávací stromy, et cetera? 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Pravděpodobně. 1144 00:55:54,310 --> 00:55:56,150 Takže pojďme to udělat velmi rychle. 1145 00:55:56,150 --> 00:55:58,490 Běh času hash tabulky - 1146 00:55:58,490 --> 00:55:59,090 jaké jsou ostatní? 1147 00:55:59,090 --> 00:56:00,050 Binární strom? 1148 00:56:00,050 --> 00:56:02,920 >> DIVÁKŮ: Seznamy odkazů. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: OK, pojďme udělat vložku. 1150 00:56:04,780 --> 00:56:09,980 Co je to velký O vložky na hash tabulky? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Jaké jsou předpoklady děláš? 1153 00:56:15,285 --> 00:56:17,760 >> DIVÁKŮ: Ty vložení na začátku seznamu odkazů. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Pravděpodobně první Předpokládá se, že nejsou žádné kolize. 1155 00:56:19,860 --> 00:56:22,340 Pokud nejsou k dispozici žádné kolize, pak čas vložení je jeden. 1156 00:56:22,340 --> 00:56:26,560 Pokud existuje kolize, a vy jste dělá samostatné řetězení a vkládání 1157 00:56:26,560 --> 00:56:31,880 na začátku seznamu odkazů, pak vložení je také konstantní. 1158 00:56:31,880 --> 00:56:34,700 >> Pokud děláte hash tabulky, ale ty mají jiný způsob řešení 1159 00:56:34,700 --> 00:56:36,040 s kolizemi, co je jiný způsob? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Co je je jiný způsob vypořádat se s 1162 00:56:42,960 --> 00:56:44,205 kolize v hash tabulce? 1163 00:56:44,205 --> 00:56:44,915 >> DIVÁKŮ: Lineární programování. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: Lineární programování. 1165 00:56:45,540 --> 00:56:47,770 Takže budeme hledat dál na další volné místo. 1166 00:56:47,770 --> 00:56:50,390 To není konstantní čas vložení karty. 1167 00:56:50,390 --> 00:56:52,266 Dalo by se jít přes celá tabulka, takže 1168 00:56:52,266 --> 00:56:53,936 by mohl být velký O n. 1169 00:56:53,936 --> 00:56:54,740 Jo. 1170 00:56:54,740 --> 00:56:57,690 >> DIVÁKŮ: Jinak jen řetězení? 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Udělali jsme oddělené zřetězení. 1172 00:57:00,160 --> 00:57:00,720 To byl první. 1173 00:57:00,720 --> 00:57:01,560 To je to, co se seznam spojení. 1174 00:57:01,560 --> 00:57:03,720 Vymyšlené jméno je oddělená řetězení. 1175 00:57:03,720 --> 00:57:06,880 Mohlo by to být jakýkoliv typ seznamu struktury jsme se náhodou dělat v seznamu odkazů. 1176 00:57:06,880 --> 00:57:10,490 >> Takže znovu, vložení na hash tabulky by mohla být konstantní čas. 1177 00:57:10,490 --> 00:57:13,160 Co vložení na vysokozdvižný vozík frontě? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> DIVÁKŮ: Není to konstanta? 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: Je to časová konstanta. 1181 00:57:21,530 --> 00:57:23,420 Ty prostě tlačí ji. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Vložení, jaké byly ty ostatní? 1184 00:57:25,380 --> 00:57:27,100 Na zkoušku? 1185 00:57:27,100 --> 00:57:30,252 Co je velký O vložení na zkoušku? 1186 00:57:30,252 --> 00:57:32,808 >> DIVÁKŮ: délka je konstantní. 1187 00:57:32,808 --> 00:57:34,560 Délka nejdelší - 1188 00:57:34,560 --> 00:57:36,998 délka slova jste vkládání. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Je nám líto? 1190 00:57:38,210 --> 00:57:39,120 Počkej, takže to, co jsem slyšel? 1191 00:57:39,120 --> 00:57:40,260 Říkal jsi, že - co jsi řekl? 1192 00:57:40,260 --> 00:57:41,650 Jaká byla vaše odpověď, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> Diváků: Délka slova jste vkládání ve znacích, 1194 00:57:43,640 --> 00:57:45,480 za předpokladu, že je to postava pokus. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: OK, tak Délka slova. 1196 00:57:46,840 --> 00:57:49,500 Budeme dělat předpoklad, že Je to řetězec znaků. 1197 00:57:49,500 --> 00:57:51,930 Říkal jsi něco jiného, ​​ačkoli. 1198 00:57:51,930 --> 00:57:55,490 Říkal jsi, že délka nejdelšího slova. 1199 00:57:55,490 --> 00:57:57,600 >> DIVÁKŮ: To je jen konstanta, ne? 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: Proč by být konstantní? 1201 00:57:58,440 --> 00:58:00,970 >> DIVÁKŮ: Jako, pokud používáte velké O notace, pak to nebude lišit v závislosti 1202 00:58:00,970 --> 00:58:04,680 na počtu věcí, které jsou již v pokusu. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Takže bychom říkají, že je časová konstanta. 1204 00:58:07,344 --> 00:58:11,840 To je konstantní vložení, a to proto, že tato myšlenka - 1205 00:58:11,840 --> 00:58:14,820 že máme slovo, které je 45, nebo slovo, které je 60, že 1206 00:58:14,820 --> 00:58:16,800 má konstantní číslo. 1207 00:58:16,800 --> 00:58:21,050 A to by prostě být vložena v konstantním čase. 1208 00:58:21,050 --> 00:58:26,060 >> V praxi by však nemělo být, samozřejmě, stát v jedné milisekundy, 1209 00:58:26,060 --> 00:58:26,590 například. 1210 00:58:26,590 --> 00:58:28,880 Ale my bychom říci, velké O je konstantní na zkoušku. 1211 00:58:28,880 --> 00:58:31,330 A to je jeden z jeho Největší výhody. 1212 00:58:31,330 --> 00:58:33,330 >> Co vložení do seznamu odkazů? 1213 00:58:33,330 --> 00:58:37,220 Jen obecný, dále seznam link? 1214 00:58:37,220 --> 00:58:37,700 Jo. 1215 00:58:37,700 --> 00:58:38,530 >> DIVÁKŮ: Měl jsem otázku. 1216 00:58:38,530 --> 00:58:42,670 V testu, by nikdy zeptejte se nás na vložení čas, který je čtyři kroky, 1217 00:58:42,670 --> 00:58:43,270 nebo tak něco? 1218 00:58:43,270 --> 00:58:44,300 Nebo je to jen - 1219 00:58:44,300 --> 00:58:47,670 když říkáte, že vložení čas je jedna, že prostě znamená, že konstantní čas? 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Jo, to by Vždy se zeptat, je to velký O n? 1221 00:58:49,770 --> 00:58:51,440 Big O log n? 1222 00:58:51,440 --> 00:58:53,960 N druhou konstantní. 1223 00:58:53,960 --> 00:58:56,520 Ti, kteří jsou ve skutečnosti pouze ty, které potřebujete vědět. 1224 00:58:56,520 --> 00:58:58,420 Co vložení do řazeny seznam odkazů? 1225 00:58:58,420 --> 00:58:59,440 >> DIVÁKŮ: Měl jsem otázku - 1226 00:58:59,440 --> 00:58:59,980 otázka - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Jaká je odpověď na tuto otázku, i když? 1228 00:59:01,060 --> 00:59:02,120 >> DIVÁKŮ: Počkat, co jste se zeptat? 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Co je velký O z vložení do tříděného seznamu odkaz? 1230 00:59:06,750 --> 00:59:07,070 >> DIVÁKŮ: One? 1231 00:59:07,070 --> 00:59:09,400 Žádné čekání, žádné čekání, n. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. Kromě toho, Seznam odkazů. 1233 00:59:11,420 --> 00:59:12,706 A jaká byla vaše otázka? 1234 00:59:12,706 --> 00:59:16,440 >> DIVÁKŮ: Takže byste napsat o součinitele, nebo o 1 pro - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Oh. 1236 00:59:18,150 --> 00:59:21,830 Chtěl bych napsat o 1., pravděpodobně. 1237 00:59:21,830 --> 00:59:24,160 Byl tam jeden další datová struktura že by bylo dobré. 1238 00:59:24,160 --> 00:59:25,730 Strom, binární vyhledávací strom. 1239 00:59:25,730 --> 00:59:27,510 Co je vložení na binární vyhledávací strom? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> DIVÁKŮ: Přihlášení. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: Takže, co je nejhorší, případ binárního vyhledávacího stromu? 1243 00:59:39,260 --> 00:59:45,350 Takže pokud bychom náhodou začínají na 5, a každý číslo je větší než 5, pak 1244 00:59:45,350 --> 00:59:48,760 máme 5, 7, 9, 11, et cetera. 1245 00:59:48,760 --> 00:59:52,255 V tomto případě, je to v podstatě jen odkaz seznam, a musíme vložit všechny 1246 00:59:52,255 --> 00:59:52,680 jak na konci. 1247 00:59:52,680 --> 00:59:54,350 Takže je to velký O n. 1248 00:59:54,350 --> 00:59:57,720 >> To by mohlo být naše nejhorší na binárního vyhledávacího stromu. 1249 00:59:57,720 --> 01:00:00,890 Je zřejmé, že byste nikdy stavět binární vyhledávací strom s 5 v 1250 01:00:00,890 --> 01:00:04,270 střední s vědomím, 5 by je nejnižší číslo. 1251 01:00:04,270 --> 01:00:08,030 Ale to mohlo být, pokud jste začínat od nuly. 1252 01:00:08,030 --> 01:00:10,980 Jakékoliv dotazy týkající se této dřív, než jsem přejít na další otázku? 1253 01:00:10,980 --> 01:00:11,560 To byla dobrá otázka. 1254 01:00:11,560 --> 01:00:15,100 Chtěl bych vědět, velký Ø - 1255 01:00:15,100 --> 01:00:18,620 >> DIVÁKŮ: Co hledáte pro ty čtyři? 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Rozhodně jsme se vyhledávání a řazení. 1257 01:00:20,400 --> 01:00:22,160 Udělali jsme všechny ty algoritmy, vpravo. 1258 01:00:22,160 --> 01:00:23,390 Počkejte, bylo to, že pro Quiz 1? 1259 01:00:23,390 --> 01:00:23,980 Bylo to, že se vztahuje - 1260 01:00:23,980 --> 01:00:25,860 jste již, že otázka Quiz 1? 1261 01:00:25,860 --> 01:00:29,650 Velkou O runtime binárního vyhledávání, vložení sort, bubble sort? 1262 01:00:29,650 --> 01:00:30,160 >> DIVÁKŮ: Jo. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Pokud jste měli, že otázka Quiz 0, je pravděpodobné, nebudete 1264 01:00:32,790 --> 01:00:35,180 dostanete přesně stejný dotaz na kvíz 1. 1265 01:00:35,180 --> 01:00:36,300 Může to být ještě dobré vědět ty. 1266 01:00:36,300 --> 01:00:38,520 Měli byste vědět, snad už GH. 1267 01:00:38,520 --> 01:00:40,740 >> Ale ostatní logaritmické runtimes jsou asi dobré vědět. 1268 01:00:40,740 --> 01:00:42,890 Věci, které se nevztahuje na Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Jako u všech těchto operátorů na Tyto abstraktní datové typy. 1270 01:00:47,300 --> 01:00:50,760 >> OK, pojďme dál. 1271 01:00:50,760 --> 01:00:52,190 Ten by měl být dost rychlý. 1272 01:00:52,190 --> 01:00:56,170 A to je nový jazyk, nemáme vlastně kódovány v před. 1273 01:00:56,170 --> 01:00:59,300 To je otázka, ptám ke kódu v PHP. 1274 01:00:59,300 --> 01:01:01,950 Takže zvažte níže PHP pole. 1275 01:01:01,950 --> 01:01:06,150 Napište PHP a / nebo HTML kódy tak, že výstupy tabulku se dvěma sloupci s TFs 1276 01:01:06,150 --> 01:01:08,810 Jména a domy. 1277 01:01:08,810 --> 01:01:11,600 >> Vy jste nikdy nedělal, tento specifický problém. 1278 01:01:11,600 --> 01:01:16,270 Ale to by mělo být velmi dobře obeznámeni se to, co jste dělali v problému set 7. 1279 01:01:16,270 --> 01:01:21,250 Takže bych byl ochoten se vsadit, budete zeptal se kód něco v PHP, které 1280 01:01:21,250 --> 01:01:23,880 je velmi podobný tomu, co bylo v problému set 7. 1281 01:01:23,880 --> 01:01:26,300 >> Za prvé, pole, není to specifické. 1282 01:01:26,300 --> 01:01:28,140 Jaký typ pole je tohle? 1283 01:01:28,140 --> 01:01:29,080 >> DIVÁKŮ: Asociativní. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: Je to asociativní pole. 1285 01:01:31,250 --> 01:01:33,750 A jaký je rozdíl mezi asociativní pole a objekt? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> DIVÁKŮ: Objekt pole má index celých čísel, a asociativního pole 1288 01:01:44,857 --> 01:01:47,814 je index řetězce, nebo něco takového. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Tak pole objekty by se indexy 1291 01:01:54,880 --> 01:01:57,090 celá čísla, ale objekt pole. 1292 01:01:57,090 --> 01:02:01,590 Má tato pole názvy jako jméno, dům, student. 1293 01:02:01,590 --> 01:02:03,720 Máte nápad? 1294 01:02:03,720 --> 01:02:06,630 >> DIVÁKŮ: No, asociativní pole je v PHP, ne? 1295 01:02:06,630 --> 01:02:07,880 A je objekt v JavaScriptu? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Upřímně řečeno, není Skutečný rozdíl mezi těmito dvěma. 1298 01:02:14,820 --> 01:02:19,540 Oba mají řetězce jako klíče, a může mají v podstatě nic jako hodnotu. 1299 01:02:19,540 --> 01:02:21,250 Různé jazyky zavolejte na jedno to asociativní pole, 1300 01:02:21,250 --> 01:02:22,750 jedna věc objekt. 1301 01:02:22,750 --> 01:02:25,960 Takže upřímně řečeno, není tam žádný skutečný rozdíl, ale tam je určitě nějaký 1302 01:02:25,960 --> 01:02:27,730 syntaktické rozdíly mezi těmito dvěma. 1303 01:02:27,730 --> 01:02:28,200 Jo. 1304 01:02:28,200 --> 01:02:33,580 >> DIVÁKŮ: Takže je objekt také kódované v kapuce jako hash tabulky, a pak? 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Co si znamená, kódované pod kapotou? 1306 01:02:35,796 --> 01:02:38,017 >> DIVÁKŮ: Bylo nám řečeno, že asociativní pole bylo technicky 1307 01:02:38,017 --> 01:02:39,960 hash tabulky. 1308 01:02:39,960 --> 01:02:44,510 Takže je objekt i technicky hash tabulky? 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: Nehodlám na tuto otázku odpovědět. 1310 01:02:45,350 --> 01:02:46,600 Ozvu se ti na to. 1311 01:02:46,600 --> 01:02:48,980 Ale nechtěl jsem si, že buď z těch, takhle. 1312 01:02:48,980 --> 01:02:53,790 Ale v žádném případě, asociativní pole a objekt, obecně, lidé používají ti, 1313 01:02:53,790 --> 01:02:54,910 termíny zaměnitelně. 1314 01:02:54,910 --> 01:02:57,630 V tomto případě, v pohodě část je můžete použít klávesy. 1315 01:02:57,630 --> 01:03:00,580 Řetězce jsou klíče, spíše než jen jednoduchá čísla. 1316 01:03:00,580 --> 01:03:02,070 >> Tak jsem mluvil o to na chvíli. 1317 01:03:02,070 --> 01:03:04,090 Doufejme, že někteří lidé mají dostal začala na toto téma. 1318 01:03:04,090 --> 01:03:08,050 Budeme psát nějaký PHP a HTML kód, takže jsme si dva-sloupec 1319 01:03:08,050 --> 01:03:11,830 Tabulka s TFS jména a rodinných domů. 1320 01:03:11,830 --> 01:03:15,380 >> OK, taky bych záhlaví řádek v této tabulce. 1321 01:03:15,380 --> 01:03:18,410 Takže jdu rovnou do toho. 1322 01:03:18,410 --> 01:03:20,770 Jedeme do souboru, nové, a jedeme do - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> OK. 1325 01:03:28,320 --> 01:03:29,970 Jak mám začít stůl? 1326 01:03:29,970 --> 01:03:32,090 Co je to značka, Michael, kdo stolu? 1327 01:03:32,090 --> 01:03:32,890 >> DIVÁKŮ: Table. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Table. 1329 01:03:34,020 --> 01:03:37,870 A když otevřu tag, co ještě potřebuji? 1330 01:03:37,870 --> 01:03:39,810 >> DIVÁKŮ: hlava? 1331 01:03:39,810 --> 01:03:41,040 Nebo, myslím, třída. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Takže, omlouvám se. 1333 01:03:41,730 --> 01:03:45,430 Předpokládejme, že jsme již psali doctab, HTML, všechny ty věci. 1334 01:03:45,430 --> 01:03:50,230 Ale když otevřu tuto tabulku tag, co ještě musím napsat? 1335 01:03:50,230 --> 01:03:53,450 pro validaci HTML? 1336 01:03:53,450 --> 01:03:55,000 >> DIVÁKŮ: Zavřete ji. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn: Zavřete značku. 1338 01:03:56,050 --> 01:03:57,575 Jak mám napsat tag detailní tabulky? 1339 01:03:57,575 --> 01:03:59,580 >> DIVÁKŮ: Dot lomítko tabulky. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash stůl, skvěle. 1341 01:04:00,960 --> 01:04:02,730 Pravděpodobně má smysl psát jak z nich dohromady, protože 1342 01:04:02,730 --> 01:04:03,870 musíš to udělat. 1343 01:04:03,870 --> 01:04:08,575 OK, pokud chci řádek záhlaví, jak se Píšu řádek záhlaví s názvy? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> DIVÁKŮ: Je to méně než 10 hod v blízkosti - 1346 01:04:19,290 --> 01:04:21,550 TR, jo. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR? 1348 01:04:22,100 --> 01:04:25,080 >> DIVÁKŮ: Pak to samé, lomítko, jo. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, a dej mi dva sloupce. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> DIVÁKŮ: T D? 1352 01:04:33,210 --> 01:04:34,460 >> JASON Hirschhorn: OK. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 Chci dva sloupce. 1355 01:04:39,520 --> 01:04:40,960 Znamená to, dej mi dva sloupce? 1356 01:04:40,960 --> 01:04:43,880 Kolik sloupců je to? 1357 01:04:43,880 --> 01:04:45,920 Jeden. 1358 01:04:45,920 --> 01:04:47,170 Takže pojďme zkopírovat a vložit. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Takže vlastně, na testu, to vše tento kód že jsem napsal byl doposud 1361 01:05:03,390 --> 01:05:04,710 skutečnosti, které jste dostali. 1362 01:05:04,710 --> 01:05:06,200 Ale měli byste pravděpodobně ještě vědět, jak to napsat. 1363 01:05:06,200 --> 01:05:06,470 Jo. 1364 01:05:06,470 --> 01:05:10,636 >> DIVÁKŮ: Váš dům je mezi nimi. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 Mělo by jít tam, že jo? 1367 01:05:12,720 --> 01:05:14,600 Dobrý nápad. 1368 01:05:14,600 --> 01:05:17,760 Takže znovu, to vše je ve skutečnosti kód které jste dostali na skutečné kvíz. 1369 01:05:17,760 --> 01:05:19,570 Ale je to zábavné psát, a by měl vědět, jak to napsat. 1370 01:05:19,570 --> 01:05:23,640 Tak tohle je místo, kde budete potřebovat spustit svůj kód. 1371 01:05:23,640 --> 01:05:25,150 Co musíme psát tady? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Omlouvám se, ale je třeba změnit Název tohoto souboru. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Tak jsme ji uložit do souboru. HTML, není v souboru. PHP. 1376 01:05:44,270 --> 01:05:47,030 Tyto věci by znamenalo, nic v souboru. PHP. 1377 01:05:47,030 --> 01:05:48,500 Takže jsme v souboru. HTML. 1378 01:05:48,500 --> 01:05:50,090 Co je první věc, Musím napsat? 1379 01:05:50,090 --> 01:05:52,990 Chci dát nějaký PHP kód v HTML. 1380 01:05:52,990 --> 01:05:57,300 >> DIVÁKŮ: PHP, stejně jako další mrkev a otazník PHP, ne? 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Skvělé. 1382 01:05:58,310 --> 01:05:59,360 A jak to mám skončit, že? 1383 01:05:59,360 --> 01:06:02,510 >> DIVÁKŮ: S otazníkem. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: To je skvělé. 1385 01:06:03,120 --> 01:06:07,090 To je první věc, kterou potřebuji, když chci dát nějaký PHP kód zde. 1386 01:06:07,090 --> 01:06:11,210 >> DIVÁKŮ:. Myslel jsem, že PHP soubor může trvat HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Jo. 1388 01:06:12,290 --> 01:06:15,330 Soubor. PHP může trvat i několik HTML a zobrazí se. 1389 01:06:15,330 --> 01:06:16,450 To byla moje chyba. 1390 01:06:16,450 --> 01:06:18,300 Jen jsem se snažil napodobovat to, co bylo na testu. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, omlouvám se zmást. 1393 01:06:24,720 --> 01:06:25,550 Ano, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Teď jdeme dát některé PHP kód palců 1395 01:06:27,340 --> 01:06:30,530 Co je první řádek PHP kód, který jsem měl napsat? 1396 01:06:30,530 --> 01:06:33,360 Chystám se projít tímto polem a aby se do tabulky. 1397 01:06:33,360 --> 01:06:34,600 Jo. 1398 01:06:34,600 --> 01:06:37,160 >> DIVÁKŮ: Můžete použít buď pro H smyčky nebo pro smyčku. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: OK, co chcete používat? 1400 01:06:38,415 --> 01:06:40,720 >> DIVÁKŮ: Já bych použít pro smyčce. 1401 01:06:40,720 --> 01:06:48,700 U, a pak si to znak dolaru i rovná 0 středník dolar 1402 01:06:48,700 --> 01:06:51,580 podepsat i méně než 2. 1403 01:06:51,580 --> 01:06:55,455 A pak středník i dolaru podepsat i plus plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Jak Víte, použít 2? 1406 01:07:03,880 --> 01:07:10,444 >> DIVÁKŮ: Protože tam byly dva asociativní pole v rámci větší 1407 01:07:10,444 --> 01:07:11,960 asociativní pole. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Tak velká věc je Není spolupracovník pole. 1409 01:07:13,610 --> 01:07:15,500 Velká věc, je to jen normální pole. 1410 01:07:15,500 --> 01:07:17,380 Ale máš pravdu, že jsou dvě asociativní pole 1411 01:07:17,380 --> 01:07:18,910 uvnitř naší větší pole. 1412 01:07:18,910 --> 01:07:20,310 To je důvod, proč používat dva. 1413 01:07:20,310 --> 01:07:24,270 Cítím se nesvůj za předpokladu, že jsou to 2, takže to, co je to způsob, jak psát 1414 01:07:24,270 --> 01:07:26,810 to aniž by za předpokladu, že jsou 2? 1415 01:07:26,810 --> 01:07:27,507 >> DIVÁKŮ: [neslyšitelné]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: OK, jak píšete, že? 1417 01:07:29,165 --> 01:07:35,262 >> DIVÁKŮ: foreach znak dolaru TFS nebo jako znak dolaru tf. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: OK, takže pro každý TFS jako TFS, chci, teď 1420 01:07:41,960 --> 01:07:43,650 znovu, mají můj stůl. 1421 01:07:43,650 --> 01:07:45,250 Takže, kdo mi může dát Další řádek kódu? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> DIVÁKŮ: Tisk, a poté v citace, držák tr konec 1424 01:07:59,810 --> 01:08:02,670 držák, konec citace. 1425 01:08:02,670 --> 01:08:05,300 Konec závorky, středníky. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, a co to jde dělat? 1427 01:08:07,135 --> 01:08:08,610 >> DIVÁKŮ: Bude to říct, nový řádek. 1428 01:08:08,610 --> 01:08:11,070 Bude to dát označit pro nový řádek. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Jasně, to PHP, stejně jako jsme hovořili o dříve - v tomto 1430 01:08:13,000 --> 01:08:22,160 PHP se bude vyhodnocena, a pak to bude tisknout na tento soubor, který si 1431 01:08:22,160 --> 01:08:26,350 Tabulka vlek, a pak, že Budou hodnoceny HTML. 1432 01:08:26,350 --> 01:08:27,810 Jsme jen zkopírovat to HTML měli jsme tady. 1433 01:08:27,810 --> 01:08:28,120 Jo. 1434 01:08:28,120 --> 01:08:29,470 >> DIVÁKŮ: [neslyšitelné]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Je nám líto? 1436 01:08:30,290 --> 01:08:31,240 Je to tady. 1437 01:08:31,240 --> 01:08:33,590 Fall 2012. 1438 01:08:33,590 --> 01:08:35,970 Nedívejte se na odpovědi, pojďme řešit společně. 1439 01:08:35,970 --> 01:08:37,330 Tak jsme tisknout řádek tabulky. 1440 01:08:37,330 --> 01:08:38,550 Takže jste asi v houpačka věcí. 1441 01:08:38,550 --> 01:08:41,060 Jaký je další řádek Kód musíme napsat? 1442 01:08:41,060 --> 01:08:42,926 Assam, dej mi další řádek kódu. 1443 01:08:42,926 --> 01:08:46,290 >> DIVÁKŮ: Musíte jméno TF je. 1444 01:08:46,290 --> 01:08:54,319 Tf otevřené závorky uvozovky jméno uzavřených závorek. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Dej mi své jméno. 1446 01:08:57,310 --> 01:08:58,540 >> DIVÁKŮ: Musíte se tisknout, že. 1447 01:08:58,540 --> 01:08:59,790 >> [vložením VOICES] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, Jak mohu vytisknout? 1450 01:09:03,430 --> 01:09:04,680 >> [vložením VOICES] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: mi chybí něco, co teď. 1453 01:09:10,350 --> 01:09:12,470 Co jsem chybí? 1454 01:09:12,470 --> 01:09:13,720 >> DIVÁKŮ: Musíte znak dolaru. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Co jinak mám chybí? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Všichni jsme vytištěny tak daleko je tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> DIVÁKŮ: Zavřete tr po něm. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Takže musíme aby po zavření tr. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Kdo vidí to, co nám chybí on-line 16? 1464 01:09:37,906 --> 01:09:39,340 Jo, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> DIVÁKŮ: Musíte otevřít td a složené závorky. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: A kde si dáme složené závorky? 1467 01:09:49,380 --> 01:09:51,790 >> DIVÁKŮ: Kolem názvu tf. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Takhle? 1469 01:09:53,080 --> 01:09:55,420 >> DIVÁKŮ: Jo. 1470 01:09:55,420 --> 01:09:59,000 A pak zavřete td. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Jako, že? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> DIVÁKŮ: Potřebujete dvojí nabídku značky vedle složených závorek? 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Tady? 1475 01:10:07,460 --> 01:10:08,710 Ne, ty ne. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Tak to je přesně to pravé. 1478 01:10:12,550 --> 01:10:12,940 Jo. 1479 01:10:12,940 --> 01:10:15,290 >> DIVÁKŮ: Takže rozdíl mezi tím, a encatenating s tečkami, je, pokud 1480 01:10:15,290 --> 01:10:18,420 používat tečky, měli byste mít uvozovky, pak tečka, 1481 01:10:18,420 --> 01:10:20,370 pak tečka - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Správně. 1483 01:10:20,520 --> 01:10:23,800 Takže říkáš, že je konečný způsob, jak psát to takhle. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Jaký operátor zřetězení v JavaScriptu? 1486 01:10:28,966 --> 01:10:31,200 >> DIVÁKŮ: znaménko plus. 1487 01:10:31,200 --> 01:10:34,710 Zapomněl jsi dát složená závorka zpět. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Skvělé. 1489 01:10:35,760 --> 01:10:38,850 A je tu ještě jeden řádek kódu chybí. 1490 01:10:38,850 --> 01:10:40,130 Kdo mi může dát poslední řádek kódu nám chybí? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> DIVÁKŮ: Jen přesně to samé, Jen s domem namísto jména. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Velký 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Skvělé. 1496 01:10:54,390 --> 01:10:59,320 A vaše syntaxe je přesně to pravé pro jak se věci v přidružené pole. 1497 01:10:59,320 --> 01:11:04,450 Takže ve skutečném testu, jste vlastně vzdala až sem. 1498 01:11:04,450 --> 01:11:05,710 Takže tento kód byl dán na vás. 1499 01:11:05,710 --> 01:11:07,750 Vše, co musel psát byli tito čtyři řádky a nezapomeňte 1500 01:11:07,750 --> 01:11:09,190 zavřít tag tabulky. 1501 01:11:09,190 --> 01:11:11,370 Vy jste vlastně dělal vše a ještě mnohem víc. 1502 01:11:11,370 --> 01:11:11,810 Jo. 1503 01:11:11,810 --> 01:11:14,850 >> DIVÁKŮ: Tak to by bylo funkčně stejné, pokud jste právě měl, že vše 1504 01:11:14,850 --> 01:11:17,250 jeden velký tisk výzva, ne? 1505 01:11:17,250 --> 01:11:19,630 A pak už jen spojeny je to tak, et cetera? 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Jako, že? 1507 01:11:20,730 --> 01:11:21,980 >> DIVÁKŮ: Jo. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 To prostě nebude vypadat dobře, pokud jste byli dívat na to, když jste kontrolu 1510 01:11:26,940 --> 01:11:28,550 prvek na svých webových stránkách, že jo? 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Souhlasím. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Pokud jsem nahrál tuto webovou stránku, byl bych možnost vidět tento PHP kód, kdy? 1514 01:11:38,710 --> 01:11:39,240 >> Diváků: Ne 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: Ne 1516 01:11:40,080 --> 01:11:42,240 A vlastně, já bych to. 1517 01:11:42,240 --> 01:11:43,920 >> DIVÁKŮ: To není HTML, ne? 1518 01:11:43,920 --> 01:11:45,000 Takže byste měli být schopni - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: tento PHP Takže by se hodnotí na straně serveru. 1520 01:11:46,780 --> 01:11:51,020 PHP je vždy hodnocena na straně serveru, tak jste nikdy vidět PHP kód. 1521 01:11:51,020 --> 01:11:52,980 >> DIVÁKŮ: Ale budeš moci vidět výsledek výtisků. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Správně. 1523 01:11:53,480 --> 01:11:55,510 A upřímně nemusí to všechno na trati. 1524 01:11:55,510 --> 01:11:59,740 Mohlo by to naformátovat pěkně za vás, nebo by to mohlo dát na jeden řádek. 1525 01:11:59,740 --> 01:12:01,521 Nejasná. 1526 01:12:01,521 --> 01:12:03,596 Ale ano, dobrý postřeh. 1527 01:12:03,596 --> 01:12:06,470 >> DIVÁKŮ: Jak to, že se bez zvýraznění textu pro 1528 01:12:06,470 --> 01:12:07,550 každý z příkazů PHP? 1529 01:12:07,550 --> 01:12:09,370 Protože si vzpomínám, když viděl, že. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Vzhledem k tomu, že je to . HTML soubor tady nahoře. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Tady to je. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> DIVÁKŮ: Když jsme dělali první metody se pro smyčky, vpravo, pokud se 1535 01:12:28,800 --> 01:12:33,500 Chtěl, aby přístup k TFS, by se dělat TFS držák 0 konzolu, pak 1536 01:12:33,500 --> 01:12:35,180 [Neslyšitelný]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Ty by - 1538 01:12:35,970 --> 01:12:40,560 takže říkáš, že pro pro smyčce, můžete by to v znak dolaru TFS držáku 1 1539 01:12:40,560 --> 01:12:41,850 nebo i, v pořádku. 1540 01:12:41,850 --> 01:12:46,780 Nebo znak dolaru i zavřete konzolu a pak hranatá závorka 1541 01:12:46,780 --> 01:12:49,600 dvojité uvozovky, jo. 1542 01:12:49,600 --> 01:12:50,640 >> OK, výborná. 1543 01:12:50,640 --> 01:12:53,020 Máme ještě jeden rychlý jeden. 1544 01:12:53,020 --> 01:12:55,090 Sedm minut, tak chci jít na tento jeden. 1545 01:12:55,090 --> 01:12:56,160 To je další příklad. 1546 01:12:56,160 --> 01:12:58,740 Jsme teď úplně jiný jazyk. 1547 01:12:58,740 --> 01:12:59,990 >> Máme nějaký HTML kód. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Je to taková malá na obrazovce, ale Chci, aby ses podíval přes něj opravdu 1550 01:13:07,460 --> 01:13:11,140 rychle, a může mi někdo říct, pokud bych měl nahrát tuto webovou stránku, 1551 01:13:11,140 --> 01:13:12,390 co bych vidět? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Popište vše, co o tato webová stránka. 1554 01:13:26,450 --> 01:13:28,630 Noah? 1555 01:13:28,630 --> 01:13:30,450 Co bych vidět? 1556 01:13:30,450 --> 01:13:38,140 >> DIVÁKŮ: Kód na předním konci Google s citem pro text a 1557 01:13:38,140 --> 01:13:39,190 tlačítko odeslat. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: A co by tlačítka říct? 1559 01:13:41,180 --> 01:13:42,430 >> DIVÁKŮ: Odeslat. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, hledání. 1562 01:13:45,160 --> 01:13:45,840 Je mi to líto. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: To by se říci vyhledávání. 1564 01:13:46,830 --> 01:13:47,520 Pamatujte si, že název. 1565 01:13:47,520 --> 01:13:50,550 Co používáme název? 1566 01:13:50,550 --> 01:13:53,774 Tento atribut název, co je která byla použita pro? 1567 01:13:53,774 --> 01:13:55,470 >> [vložením VOICES] 1568 01:13:55,470 --> 01:13:59,300 >> DIVÁKŮ: To je jeho jméno , když je to klikl? 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: To by mohlo být. 1570 01:14:00,160 --> 01:14:02,690 Ale co my obvykle vidět - proč dáváme tento název fronty? 1571 01:14:02,690 --> 01:14:03,830 Proč vidíme, že? 1572 01:14:03,830 --> 01:14:05,220 Jo. 1573 01:14:05,220 --> 01:14:08,600 >> DIVÁKŮ: Copak, že se stal index Super globální proměnné? 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Jo, zpravidla při Tento formulář by předložit, a poté, kdy 1575 01:14:12,740 --> 01:14:13,500 by to předložit? 1576 01:14:13,500 --> 01:14:14,750 Jaké stránky? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Noah, co strana by to předložit? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> DIVÁKŮ: Nejsem si jistý. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: Kde mohli bychom ji můžete najít? 1582 01:14:28,920 --> 01:14:31,025 Kde nás najdete to, co Stránka je předkládá? 1583 01:14:31,025 --> 01:14:32,850 Co řádek kódu? 1584 01:14:32,850 --> 01:14:34,040 >> DIVÁKŮ: Form akce. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Přesně tak. 1586 01:14:34,650 --> 01:14:35,130 Akce. 1587 01:14:35,130 --> 01:14:37,100 Tak to předkládá vyhledávací stránku. 1588 01:14:37,100 --> 01:14:38,630 Zpětné lomítko hledání. 1589 01:14:38,630 --> 01:14:40,140 Tak to je přesně to pravé. 1590 01:14:40,140 --> 01:14:40,680 Jakým způsobem? 1591 01:14:40,680 --> 01:14:42,090 >> DIVÁKŮ: Získejte. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: Získejte. 1593 01:14:42,490 --> 01:14:43,420 Přesně tak. 1594 01:14:43,420 --> 01:14:44,490 Tak jsme si to. 1595 01:14:44,490 --> 01:14:45,180 To se bude forma. 1596 01:14:45,180 --> 01:14:45,910 Ty jsi naprostou pravdu. 1597 01:14:45,910 --> 01:14:50,340 Dvě věci na formu, název strana a vrchol by Google. 1598 01:14:50,340 --> 01:14:54,270 >> Tak tady jsou dvě otázky, měli byste být schopni odpovědět na tuto stránku. 1599 01:14:54,270 --> 01:15:01,760 Pokud tento HTML žije na těchto stránkách a uživatel zadá chybu do tohoto textu 1600 01:15:01,760 --> 01:15:06,900 Pole tady, bude to URL uživatel ocitne na 1601 01:15:06,900 --> 01:15:08,150 odeslání formuláře? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Takže máme to tady. 1604 01:15:12,510 --> 01:15:13,720 Chystám se vrátit do Tato stránka, ačkoli. 1605 01:15:13,720 --> 01:15:16,980 Napíšu tuto první část. 1606 01:15:16,980 --> 01:15:18,230 Každý může vidět tady? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, si myslíte, že víte? 1609 01:15:32,906 --> 01:15:34,700 Jaké stránky? 1610 01:15:34,700 --> 01:15:37,630 >> DIVÁKŮ: Zpětné lomítko hledání. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: Jdu přesunout sem. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, zpětné lomítko hledání otázka Značka q se rovná chybu. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Má někdo jiný návrh? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Jo. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Tak jak jsme si to? 1620 01:16:03,740 --> 01:16:05,520 No, my jsme předtím viděl. 1621 01:16:05,520 --> 01:16:07,170 A ty jsi přišel s tím dříve. 1622 01:16:07,170 --> 01:16:08,870 Měl jsi pravdu, Noe, že akce nám říká, co 1623 01:16:08,870 --> 01:16:11,700 Stránka budeme. 1624 01:16:11,700 --> 01:16:12,820 >> Víme také, jaké metody. 1625 01:16:12,820 --> 01:16:13,420 Děláme get. 1626 01:16:13,420 --> 01:16:17,040 A rozdíl mezi get a poštou je to, že se zobrazí v URL 1627 01:16:17,040 --> 01:16:18,490 a příspěvek není. 1628 01:16:18,490 --> 01:16:22,760 Takže když jsem napsal příspěvek tady v metoda, co by bylo jinak? 1629 01:16:22,760 --> 01:16:24,250 >> DIVÁKŮ: Bylo by jen být lomítko hledání. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Bylo by být jen lomítko vyhledávání. 1631 01:16:25,400 --> 01:16:27,400 Nic tady by se stalo. 1632 01:16:27,400 --> 01:16:30,030 Ale protože je to dostat, URL se zobrazí takto. 1633 01:16:30,030 --> 01:16:35,140 Nejprve vidíme otazník a vidíme název a hodnotu. 1634 01:16:35,140 --> 01:16:42,730 Řekněme, že tam byl jeden další textové pole a Dal jsem mu jméno R a I vstup A 1635 01:16:42,730 --> 01:16:45,220 hodnota, housenka. 1636 01:16:45,220 --> 01:16:48,560 Co by to teď vypadá? 1637 01:16:48,560 --> 01:16:52,040 Jsem jeden textové pole, dám jméno r a hodnotu housenky. 1638 01:16:52,040 --> 01:16:56,990 >> DIVÁKŮ: Po baru budeš mít ampersand housenka. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: To je ne ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> DIVÁKŮ: Nebo prostě cokoliv a symbol. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Jo, no. 1642 01:17:01,330 --> 01:17:03,700 Měl jsi pravdu, mýlil jsem se. 1643 01:17:03,700 --> 01:17:05,660 To je jako g. 1644 01:17:05,660 --> 01:17:06,910 >> DIVÁKŮ: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r se rovná housenka, je mi líto. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Je zde no r tam? 1649 01:17:14,700 --> 01:17:16,680 >> DIVÁKŮ: Ne, není. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Budeme mluvit o tom po hodině. 1651 01:17:18,030 --> 01:17:18,930 To je přesně to pravé. 1652 01:17:18,930 --> 01:17:20,530 Tak a je správné. 1653 01:17:20,530 --> 01:17:23,430 A pak byste mohl mít mnoho z nich, a oni by všichni být spojení 1654 01:17:23,430 --> 01:17:24,950 spolu s tím i. 1655 01:17:24,950 --> 01:17:25,900 Tak to je přesně to pravé. 1656 01:17:25,900 --> 01:17:27,700 >> Je tu ještě jedna otázka. 1657 01:17:27,700 --> 01:17:30,676 Nakreslete DOM Tento HTML je, počínaje s dokumentem. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Dalo by se to udělat během dvou minut. 1660 01:17:34,570 --> 01:17:36,790 Uděláme to tady. 1661 01:17:36,790 --> 01:17:38,040 Vrátím se k této webové stránce. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, začneme s dokumentem. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Co bude dál? 1666 01:17:52,090 --> 01:17:53,910 Takže když čtete přes - 1667 01:17:53,910 --> 01:17:54,540 >> DIVÁKŮ: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML je vedle. 1669 01:17:55,790 --> 01:17:57,850 Chystáme se jít tag tag. 1670 01:17:57,850 --> 01:18:00,890 Co je po HTML? 1671 01:18:00,890 --> 01:18:01,550 >> DIVÁKŮ: Head. 1672 01:18:01,550 --> 01:18:02,800 >> JASON Hirschhorn: Head. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Co je to za hlavu? 1675 01:18:08,520 --> 01:18:09,770 >> DIVÁKŮ: Název. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: Název. 1678 01:18:12,560 --> 01:18:14,740 A titul má hodnotu Google, ale já nehodlám 1679 01:18:14,740 --> 01:18:16,240 napsat, že pro tuto chvíli. 1680 01:18:16,240 --> 01:18:18,750 OK, kde se tělo jít? 1681 01:18:18,750 --> 01:18:20,890 >> DIVÁKŮ: Také odejde z HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Přesně tak. 1683 01:18:21,490 --> 01:18:22,820 Tělo je pryč odtud. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Má každý pochopit, proč že je to tak? 1686 01:18:30,330 --> 01:18:32,970 Pravděpodobně byste měli být schopni přijít na to, taky, i když jsem neměl 1687 01:18:32,970 --> 01:18:33,665 tento pěkný odsazení. 1688 01:18:33,665 --> 01:18:37,680 >> Odsazení druh dává pryč, ale můžete vidět, že značka hlava má 1689 01:18:37,680 --> 01:18:41,240 byly uzavřeny, což znamená, že pravděpodobně nemůže jít sem dolů. 1690 01:18:41,240 --> 01:18:43,460 Musíme se vrátit až na cokoliv byl těsně před hlavou 1691 01:18:43,460 --> 01:18:44,730 tag, nebo pod tím. 1692 01:18:44,730 --> 01:18:46,720 Jsme i se značkou hlavy. 1693 01:18:46,720 --> 01:18:48,560 >> A pod tělem jde formuláře. 1694 01:18:48,560 --> 01:18:50,300 Podle formy, jsou dva vstupy. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 OK. 1697 01:18:54,420 --> 01:18:55,490 To je vše, co mám. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 je zítra. 1699 01:18:56,980 --> 01:18:58,350 Jsem tak nadšená pro vás. 1700 01:18:58,350 --> 01:18:59,690 Je to bude výbuch. 1701 01:18:59,690 --> 01:19:00,250 >> Máte-li - 1702 01:19:00,250 --> 01:19:00,600 >> DIVÁKŮ: [APPLAUSE] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: Oh zastavit, zastavit. 1704 01:19:02,460 --> 01:19:04,520 Ale ne, já jsem si legraci. 1705 01:19:04,520 --> 01:19:07,220 Pokud máte nějaké dotazy, vpravo po části, budu venku. 1706 01:19:07,220 --> 01:19:11,700 Pokud máte nějaké otázky dnes, neváhejte zavolat, e-mail, gchat, 1707 01:19:11,700 --> 01:19:12,740 Nosič mě holub. 1708 01:19:12,740 --> 01:19:13,950 Hodně štěstí zítra. 1709 01:19:13,950 --> 01:19:16,220 Mají nádherný díkůvzdání přestávku, když nemám tě vidět do té doby. 1710 01:19:16,220 --> 01:19:19,320 A já vám po Dnu díkůvzdání viz v úterý pro naše finále 1711 01:19:19,320 --> 01:19:20,295 Sekce strana vůbec. 1712 01:19:20,295 --> 01:19:21,545 >> DIVÁKŮ: [neslyšitelné]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Skvělé. 1715 01:19:25,790 --> 01:19:28,900 OK, tak vidím, že kluci další týden, nebo za dva týdny. 1716 01:19:28,900 --> 01:19:30,150 A hodně štěstí zítra. 1717 01:19:30,150 --> 01:19:32,203