1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> Джейсон Хіршхорна: Ласкаво просимо, все, щоб тиждень 10. 3 00:00:09,810 --> 00:00:15,130 Це захоплююче тиждень, тому що завтра Вікторина 1, ми отримаємо 4 00:00:15,130 --> 00:00:16,400 в секунду. 5 00:00:16,400 --> 00:00:21,770 Сьогодні в розділі, ми збираємося піти більше деякі ресурси для вікторини, і 6 00:00:21,770 --> 00:00:24,890 то я відповім будь-яких питання ви, хлопці, є. 7 00:00:24,890 --> 00:00:27,880 І ми, нарешті, закінчуються деякі проблеми практики. 8 00:00:27,880 --> 00:00:30,940 >> Ми можемо витратити весь розділ відповідаючи на запитання. 9 00:00:30,940 --> 00:00:33,240 Ми можемо витратити весь розділ переходячи проблем практики. 10 00:00:33,240 --> 00:00:36,890 Ми просто розширити для заповнення простір і час у нас є. 11 00:00:36,890 --> 00:00:40,590 >> Так що я поклав цей список щотижня, але це особливо важливо на цьому тижні. 12 00:00:40,590 --> 00:00:44,980 Для вивчення, якщо у вас їсти не почав вже, про хлопчик. 13 00:00:44,980 --> 00:00:46,400 Але, сподіваюся, ви почали вже. 14 00:00:46,400 --> 00:00:50,710 І ви проходите матеріалів і ресурси, перераховані тут. 15 00:00:50,710 --> 00:00:54,300 Я дуже рекомендую ряд з них. 16 00:00:54,300 --> 00:00:58,780 >> Зокрема, конспекти лекцій є неймовірно важливо і корисно. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net забезпечує відмінний підручник з багато 18 00:01:02,880 --> 00:01:04,250 теми ми розглянули. 19 00:01:04,250 --> 00:01:07,810 Вона також має деякі великі практиці проблем. 20 00:01:07,810 --> 00:01:11,260 А потім, Google відмінне, також. 21 00:01:11,260 --> 00:01:12,360 Я не знаю, що ви будете використовувати його для. 22 00:01:12,360 --> 00:01:14,090 Але використовувати Google, а також. 23 00:01:14,090 --> 00:01:16,680 >> Зверніться до мене, якщо у вас є які-небудь питання, коментарі або проблеми. 24 00:01:16,680 --> 00:01:19,420 Подивіться на оглядовій сесії слайди з минулої ночі. 25 00:01:19,420 --> 00:01:21,540 Або, якщо у вас є якийсь час, дивитися відео. 26 00:01:21,540 --> 00:01:24,930 Вони забезпечують багато корисними матеріали та інформацію. 27 00:01:24,930 --> 00:01:29,730 І спробувати охопити якщо не всі, багато з теми ми криті і що ви 28 00:01:29,730 --> 00:01:32,610 могли б бачити на вікторині. 29 00:01:32,610 --> 00:01:35,590 >> Говорячи про вікторині, що буде завтра. 30 00:01:35,590 --> 00:01:37,260 Це 75 хвилин завдовжки. 31 00:01:37,260 --> 00:01:40,740 Багато хто з вас приймають його на 1 годин, і деякі з вас 32 00:01:40,740 --> 00:01:42,740 приймаючи його в 5:30. 33 00:01:42,740 --> 00:01:45,300 В даний час ви приймаєте його і розташування ви приймаєте його, переконайтеся, 34 00:01:45,300 --> 00:01:49,400 Ви перевіряєте документ на головній сторінці CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> Пам'ятайте, що ви можете отримати один 8 1/2 на 11 аркуші взяти з собою. 36 00:01:54,340 --> 00:01:57,310 Найчастіше, люди не використовують цей лист взагалі під час вікторини. 37 00:01:57,310 --> 00:01:59,740 Але насправді, це неймовірно корисними інструмент дослідження. 38 00:01:59,740 --> 00:02:04,370 Так воєдино, що лист, що Я провів, ймовірно, три чи чотири години 39 00:02:04,370 --> 00:02:07,110 робити, коли я навчався на CS50, і це було легко найкориснішим 40 00:02:07,110 --> 00:02:08,740 так я міг вчитися на вікторині. 41 00:02:08,740 --> 00:02:10,949 Таким чином, навіть якщо у вас є деякі чужі навчальних посібників, щоб дивитися на і 42 00:02:10,949 --> 00:02:14,740 використовувати як посилання, я настійно рекомендую зробити свій власний навчальний посібник, поклавши 43 00:02:14,740 --> 00:02:15,490 що матеріал разом. 44 00:02:15,490 --> 00:02:17,335 Це дійсно допоможе вам дізнатися весь матеріал. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Не в останню чергу в цьому розділі, після завтра вікторини є одна 47 00:02:24,810 --> 00:02:25,940 більш лекція - 48 00:02:25,940 --> 00:02:26,960 наступний понеділок. 49 00:02:26,960 --> 00:02:30,430 Там ще один розділ, а не поруч Вівторок перед Днем подяки, але 50 00:02:30,430 --> 00:02:31,630 Вівторок після цього. 51 00:02:31,630 --> 00:02:36,600 Ми будемо збиратися разом для остаточного до побачення партія, а також робити деякі прохолодно 52 00:02:36,600 --> 00:02:41,530 речі, щоб ви, хлопці, порушувані про подальші дослідження в галузі інформатики. 53 00:02:41,530 --> 00:02:45,040 >> Там ще один проект, ще один справедливим, ще один Хакатон. 54 00:02:45,040 --> 00:02:47,900 Ми наближаємося до кінця CS50, який є захоплюючим - 55 00:02:47,900 --> 00:02:50,950 але й, якщо ви, як я, трохи сумно. 56 00:02:50,950 --> 00:02:53,950 Перш ніж я перейду, хто-небудь є будь-які питання про те, що 57 00:02:53,950 --> 00:02:55,200 ми розглянули досі? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> Добре, добре, давайте перейдемо на деякі питання що у вас є для вікторини і темах 60 00:03:08,730 --> 00:03:09,960 ми могли б покрити. 61 00:03:09,960 --> 00:03:11,540 Так що це список, який я зібрав. 62 00:03:11,540 --> 00:03:15,500 Це ні в якому разі вичерпним, але будемо сподіватися, бігати пам'яті, якщо вам 63 00:03:15,500 --> 00:03:20,310 є питання про будь-який з них теми, або якщо у вас є питання з приводу 64 00:03:20,310 --> 00:03:23,260 проблеми практики від вікторини в минулі роки. 65 00:03:23,260 --> 00:03:27,470 >> У мене було кілька питань, які були по електронній пошті мені, але я хочу, щоб утримати 66 00:03:27,470 --> 00:03:29,490 на тих, ні на секунду. 67 00:03:29,490 --> 00:03:34,570 Хто-небудь є які-небудь питання, проблеми вони не розуміють, 68 00:03:34,570 --> 00:03:38,100 Відповіді, які вони не розуміють щоб приступити до нас? 69 00:03:38,100 --> 00:03:39,520 Аві. 70 00:03:39,520 --> 00:03:41,585 >> АУДИТОРІЯ: Чи можете ви просто піти на ДІМ і Аякс дуже швидко? 71 00:03:41,585 --> 00:03:46,540 Мовляв, те, що ми повинні знати або повинен зрозуміти про них? 72 00:03:46,540 --> 00:03:49,750 >> Джейсон Хіршхорна: Я збираюся відповісти як правило, це питання, що ж я 73 00:03:49,750 --> 00:03:52,100 потрібно знати про даній темі х? 74 00:03:52,100 --> 00:03:55,280 Тому що у мене є почуття, багато хто з вас збираєтеся запитати мене, що, або 75 00:03:55,280 --> 00:03:56,570 цікаво, що. 76 00:03:56,570 --> 00:04:02,920 Так в тій мірі, що тема була покрита лекції, або розділ, або на 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, проблема встановити, ви повинні бути знайомі з ним. 78 00:04:06,460 --> 00:04:10,580 >> Так що вам не потрібно знати всі види тега, яка доступна в HTML або 79 00:04:10,580 --> 00:04:15,950 кожен тип атрибута або властивості ви можете дати щось в CSS. 80 00:04:15,950 --> 00:04:20,204 Але якби ви бачили його в приклад лекції, якби ви бачили його в задачі 81 00:04:20,204 --> 00:04:23,290 набір, ви повинні, ймовірно, знайомі з ним, зокрема, речі, які ви бачили 82 00:04:23,290 --> 00:04:24,260 в лекції. 83 00:04:24,260 --> 00:04:28,510 Таким чином, ми обговорили цей документ об'єктну модель трохи в 84 00:04:28,510 --> 00:04:30,530 розділ, тим більше в лекції. 85 00:04:30,530 --> 00:04:32,990 Ви повинні бути знайомі с, що багато. 86 00:04:32,990 --> 00:04:34,750 >> І ви повинні бути знайомі з Ajax в тій же мірі. 87 00:04:34,750 --> 00:04:38,105 Ми ніколи не бачили неймовірно поширеним або складні приклади Ajax, тому 88 00:04:38,105 --> 00:04:40,920 ви не збираєтеся бути запропоновано зробити щось неймовірно складне. 89 00:04:40,920 --> 00:04:45,180 Але вас можуть попросити, як мені зробити виклик Ajax за допомогою JQuery? 90 00:04:45,180 --> 00:04:47,350 Що те, що ви бачили ряд раз, перш ніж, як в 91 00:04:47,350 --> 00:04:51,370 огляд сесію і в лекції, і це тільки два-іш рядків коду. 92 00:04:51,370 --> 00:04:53,190 >> Так що те, що ви повинні бути знайомі з. 93 00:04:53,190 --> 00:04:55,550 Але, знову ж, для всіх цих тем, якщо ви бачили його 94 00:04:55,550 --> 00:04:59,220 раніше, це чесна гра. 95 00:04:59,220 --> 00:05:01,540 І ми могли б запитати вас - очевидно, ми хочу попросити вас речі, які ви 96 00:05:01,540 --> 00:05:02,340 раніше не бачили. 97 00:05:02,340 --> 00:05:04,240 Кодування щось у вас не бачив. 98 00:05:04,240 --> 00:05:06,570 Але це не означає, що ви повинні не бачив інструменти для вирішення 99 00:05:06,570 --> 00:05:08,120 що проблема колись. 100 00:05:08,120 --> 00:05:09,200 Ви бачили ці інструменти. 101 00:05:09,200 --> 00:05:11,160 >> Наприклад, на Quiz 1, якщо ви повинні кодувати StrLen. 102 00:05:11,160 --> 00:05:12,790 Ми не кодується StrLen раніше. 103 00:05:12,790 --> 00:05:14,980 Але ви знаєте, як використовувати цикл, Ви знаєте, як використовувати, якщо умови. 104 00:05:14,980 --> 00:05:18,570 Ви знаєте, як писати змінні в С Це буде те ж саме тут. 105 00:05:18,570 --> 00:05:22,350 Ви не збираєтеся бути запропоновано зробити все, що ви раніше не бачили, але 106 00:05:22,350 --> 00:05:25,150 вас можуть попросити, щоб, як, покласти щось разом по-новому, або 107 00:05:25,150 --> 00:05:27,650 вирішити другий тип проблеми. 108 00:05:27,650 --> 00:05:30,830 >> На жаль, це стосується не тільки вашого питання, але я не можу відповісти про 109 00:05:30,830 --> 00:05:34,390 кожен тему, що ви або не потрібно знати. 110 00:05:34,390 --> 00:05:36,830 Але й, вибачте, останнє, про що це. 111 00:05:36,830 --> 00:05:42,900 Ми витратили значно більше часу на списки посилань, ніж у нас на Ajax. 112 00:05:42,900 --> 00:05:46,160 Ви не використали Ajax в наборі проблеми. 113 00:05:46,160 --> 00:05:48,510 Однією з центральних особливостей, що Проблема встановити, що було списки посилань. 114 00:05:48,510 --> 00:05:50,370 І ми провели багато часу в лекції і розділ його використання. 115 00:05:50,370 --> 00:05:57,080 >> Так, цілком ймовірно, список посилань буде придумати більш часто на вікторині, ніж Ajax волі. 116 00:05:57,080 --> 00:06:00,390 Або питання, що мають відношення до посиланням Список буде коштувати більше очок. 117 00:06:00,390 --> 00:06:03,520 Таким чином, ви, безумовно, може фокусування і вузька в на речі, які є більш 118 00:06:03,520 --> 00:06:06,720 ймовірно, придумати, тому що у нас є провів більше часу на них. 119 00:06:06,720 --> 00:06:08,700 >> ОК будь-які інші питання? 120 00:06:08,700 --> 00:06:09,890 Так. 121 00:06:09,890 --> 00:06:13,660 >> АУДИТОРІЯ: Ми можемо піти за використанням анонімні функції в JavaScript? 122 00:06:13,660 --> 00:06:17,140 Я це трохи заплутався про це. 123 00:06:17,140 --> 00:06:20,180 >> Джейсон Хіршхорна: Так в JavaScript - 124 00:06:20,180 --> 00:06:24,400 Я намагаюся думати, як я міг би написати це на - 125 00:06:24,400 --> 00:06:27,590 так що давайте насправді відкрити цей код. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Так що це код, який ми зробили минулого тижня. 128 00:06:36,030 --> 00:06:41,400 І ви бачили це раніше, якщо ви були тут у розділі минулого тижня. 129 00:06:41,400 --> 00:06:43,180 Або ви бачили щось схоже на це раніше. 130 00:06:43,180 --> 00:06:44,800 >> Але ви можете подивитися на цій першій лінії. 131 00:06:44,800 --> 00:06:46,950 Це, як ви почати - 132 00:06:46,950 --> 00:06:48,010 все це не бачив цього. 133 00:06:48,010 --> 00:06:51,930 Якщо ви хочете розмістити код JavaScript, Ви ставите його в цьому, припускаючи, 134 00:06:51,930 --> 00:06:53,520 ви використовуєте JQuery. 135 00:06:53,520 --> 00:06:56,940 Це говорить, нічого не роблять до завантажений даний документ. 136 00:06:56,940 --> 00:06:59,940 >> А потім, Курт, ви бачите тут ми робимо щось на зразок цього - 137 00:06:59,940 --> 00:07:02,560 функціональні відкриті дужка, закриті дужка. 138 00:07:02,560 --> 00:07:05,250 Таким чином, ми не даємо це функціонувати ім'я. 139 00:07:05,250 --> 00:07:09,160 Ми не збираємося, щоб визначити цю функцію Передбачається, а потім запустити 140 00:07:09,160 --> 00:07:10,830 називають його купу разів. 141 00:07:10,830 --> 00:07:15,140 Ми просто говоримо, цей документ вже приймає функція. 142 00:07:15,140 --> 00:07:16,690 Пару пам'ятки. 143 00:07:16,690 --> 00:07:20,670 >> І ми не хочемо витрачати час надавши йому ім'я або зберегти його для 144 00:07:20,670 --> 00:07:21,650 вічність. 145 00:07:21,650 --> 00:07:24,150 Ми просто хочемо, щоб запустити деякі речі. 146 00:07:24,150 --> 00:07:27,500 Так анонімний функція сортування з служить цій меті. 147 00:07:27,500 --> 00:07:30,280 Коли ви не збираєтеся використовувати щось знову і знову, так що вам не потрібно 148 00:07:30,280 --> 00:07:32,420 дати йому ім'я - ви просто хочете використовувати його один раз - 149 00:07:32,420 --> 00:07:36,720 ви б просто сказати, функцію, Наприклад, в цьому випадку, і ти просто 150 00:07:36,720 --> 00:07:38,280 визначенні те, що ви могли б дати ім'я. 151 00:07:38,280 --> 00:07:40,920 >> Мовляв, ми могли витягнути цю функцію з і дати йому ім'я, а потім викликати, що 152 00:07:40,920 --> 00:07:41,760 функціонувати тут. 153 00:07:41,760 --> 00:07:44,270 Але ми не повинні, тому що ми не робимо хочете витрачати час надавши йому ім'я або 154 00:07:44,270 --> 00:07:46,240 витрачати щось у нашому просторі імен. 155 00:07:46,240 --> 00:07:47,530 І ви побачите, що багато. 156 00:07:47,530 --> 00:07:52,810 Наприклад, ми бачимо, що багато в цьому Код, але ви бачили це раніше, коли 157 00:07:52,810 --> 00:07:54,010 натисканні щось - 158 00:07:54,010 --> 00:07:55,980 запустити цей тип коду. 159 00:07:55,980 --> 00:07:59,850 >> Ми могли б визначити код, який ми хочемо працювати, коли ми натискаємо, в даному випадку, 160 00:07:59,850 --> 00:08:03,450 це ID, у вигляді окремої функції а потім запустити цю функцію. 161 00:08:03,450 --> 00:08:07,940 Але в цьому випадку, ми просто пропускаючи цей крок і переміщення його в тут і 162 00:08:07,940 --> 00:08:10,340 просто до визначення все що ми хочемо щоб це відбулося, і 163 00:08:10,340 --> 00:08:12,450 не даючи йому ім'я. 164 00:08:12,450 --> 00:08:15,550 Це досі не можуть мати відповів на ваше запитання. 165 00:08:15,550 --> 00:08:15,960 >> АУДИТОРІЯ: Ні, це не. 166 00:08:15,960 --> 00:08:18,290 Я маю на увазі, я думаю, я просто не дуже розумію, чому це було б 167 00:08:18,290 --> 00:08:20,800 функціонувати взагалі, хоча. 168 00:08:20,800 --> 00:08:21,590 Тому що це насправді не називають. 169 00:08:21,590 --> 00:08:23,170 Це дійсно не має імені. 170 00:08:23,170 --> 00:08:25,510 >> Джейсон Хіршхорна: Це функція в відчуття, що це серія кроків, 171 00:08:25,510 --> 00:08:28,460 як ви б покласти у функції. 172 00:08:28,460 --> 00:08:29,970 А потім от чому ми називаємо це анонімна функція. 173 00:08:29,970 --> 00:08:30,815 Ми не збираємося дати йому ім'я. 174 00:08:30,815 --> 00:08:33,159 Ми не збираємося витрачати намагається назвати його, але ми змогли. 175 00:08:33,159 --> 00:08:34,890 >> Анонімні функції, ви завжди можна дати ім'я. 176 00:08:34,890 --> 00:08:37,620 Так, наприклад, цей код прямо тут, ми могли б поставити цей код в 177 00:08:37,620 --> 00:08:39,929 викликати функцію, а потім ця функція тут. 178 00:08:39,929 --> 00:08:41,600 Замість цього ми говоримо, що ми не збираємося возитися з цим. 179 00:08:41,600 --> 00:08:44,390 Ми просто будемо писати все це прямо тут. 180 00:08:44,390 --> 00:08:49,840 >> Це як іноді, коли ви пишете чотири петлі в C - ви, хлопці, 181 00:08:49,840 --> 00:08:51,630 бачив це раніше - може бути, ви ітерацій по ForLoop 182 00:08:51,630 --> 00:08:53,090 в я дорівнює 0. 183 00:08:53,090 --> 00:08:54,830 Я менше STRLEN. 184 00:08:54,830 --> 00:08:59,520 Або ви збираєтеся через деякі Масив, ви можете зберегти масив 185 00:08:59,520 --> 00:09:01,580 Індекс г в деякої змінної. 186 00:09:01,580 --> 00:09:02,830 І ви використовувати цю змінну. 187 00:09:02,830 --> 00:09:06,550 Так що вам не потрібно переписати масив Кронштейн я знову і знову і знову. 188 00:09:06,550 --> 00:09:08,160 >> І це ніби як фіктивна змінна. 189 00:09:08,160 --> 00:09:10,790 Це не служить багато цілей, крім щоб зробити код трохи чистішим 190 00:09:10,790 --> 00:09:12,120 і легше читати. 191 00:09:12,120 --> 00:09:13,290 Подібні функції тут. 192 00:09:13,290 --> 00:09:15,665 Просто робить це трохи легше, але функціонально немає ніякої різниці. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Я відповів на ваше запитання? 195 00:09:19,330 --> 00:09:19,970 >> АУДИТОРІЯ: Так. 196 00:09:19,970 --> 00:09:20,720 >> Джейсон Хіршхорна: ОК .. 197 00:09:20,720 --> 00:09:21,880 Маріо? 198 00:09:21,880 --> 00:09:25,380 >> АУДИТОРІЯ: Вчора вони часто ставлять Функція дужках подія. 199 00:09:25,380 --> 00:09:26,420 Чи означає це, чи що? 200 00:09:26,420 --> 00:09:30,500 Або це такі речі, як що вони будуть робити 201 00:09:30,500 --> 00:09:35,100 document.ready функцію подія. 202 00:09:35,100 --> 00:09:37,130 >> Джейсон Хіршхорна: Ми бачили це, і знову ж, це невеликі речі, які 203 00:09:37,130 --> 00:09:39,590 ймовірно, я не хочу, щоб витрачати надто багато часу на. 204 00:09:39,590 --> 00:09:43,200 Бо іноді я не хочу, щоб люди отримати хвилювався, що вони мають не 205 00:09:43,200 --> 00:09:44,220 чув про ці речі, що багато. 206 00:09:44,220 --> 00:09:46,200 Але ми трохи поговорили про обробники подій. 207 00:09:46,200 --> 00:09:50,360 Так щось відбувається, а потім ця функція виконується. 208 00:09:50,360 --> 00:09:53,210 І тоді ми також хотіли б знати деякі деталі про те, що 209 00:09:53,210 --> 00:09:54,450 відбулося в цьому випадку. 210 00:09:54,450 --> 00:09:55,730 >> Так згадайте проблеми встановити 4. 211 00:09:55,730 --> 00:09:58,390 Це, ймовірно, самий простий спосіб зрозуміти, що в вирватися. 212 00:09:58,390 --> 00:09:59,740 Був певний код - 213 00:09:59,740 --> 00:10:01,980 як подія трапиться, але подія може означати багато. 214 00:10:01,980 --> 00:10:06,240 Якщо може означати клацанні мишею, це може означати, що ви потрапили на клавішу зі стрілкою, та ін 215 00:10:06,240 --> 00:10:07,190 так далі, і так далі. 216 00:10:07,190 --> 00:10:09,800 >> Але це все зберігається в цей загальний що називається події. 217 00:10:09,800 --> 00:10:12,340 І тоді ми зможемо сказати, це подія ця річ? 218 00:10:12,340 --> 00:10:13,640 Чи це подія ця річ? 219 00:10:13,640 --> 00:10:15,500 Або, які відбулося з цією подією? 220 00:10:15,500 --> 00:10:18,660 Так ось чому ви створюєте цю змінну там, щоб врятувати, що додаткову інформацію 221 00:10:18,660 --> 00:10:21,420 про те, що саме сталося, що ви збираєтеся хочете 222 00:10:21,420 --> 00:10:24,840 використовувати в функції. 223 00:10:24,840 --> 00:10:28,200 Але знову ж, це, ймовірно, один з найбільш менш важливі речі, щоб бути супер 224 00:10:28,200 --> 00:10:29,450 знайомі. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> Добре, що інші питання є люди, було або каменем спотикання вони 227 00:10:36,110 --> 00:10:37,360 зіткнулися при розгляді? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Ми будемо назад до цього списку. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 А як щодо під час практичних вікторини, якщо люди взяли тих, хто вже? 232 00:10:56,080 --> 00:10:59,110 Які були деякі проблеми, які Спрацював ви, хлопці до? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Я точно знаю, що минулого року вікторини було дійсно важко. 235 00:11:12,720 --> 00:11:15,670 >> АУДИТОРІЯ: Чи можете ви пояснити, що напад ін'єкції SQL є? 236 00:11:15,670 --> 00:11:18,970 >> Джейсон Хіршхорна: ОК, відмінно. 237 00:11:18,970 --> 00:11:20,440 Таким чином, ми говорили про це небагато. 238 00:11:20,440 --> 00:11:22,050 Там в лекція з безпеки. 239 00:11:22,050 --> 00:11:25,670 І знову, як я згадував раніше, це в сторону. 240 00:11:25,670 --> 00:11:30,010 Але ви будете розчаровані у вікторині коли читаєш деякі невеликі дві точки 241 00:11:30,010 --> 00:11:33,040 питання, і ви, як, коли я ніколи не дізнається, що? 242 00:11:33,040 --> 00:11:35,560 >> Всі ці речі в цих лекцій що ви не думали, що вам потрібно 243 00:11:35,560 --> 00:11:38,290 знаєте, або ви могли б замовчувати, тому що у них не було пов'язано з 244 00:11:38,290 --> 00:11:41,860 Проблема набір, ті, швидше за все, прийти знову на вікторині. 245 00:11:41,860 --> 00:11:45,030 Так, прохолодному, забавні речі, які ви просто думав Девід розповідав для вас 246 00:11:45,030 --> 00:11:49,070 подобається, що він говорить вам, для вас, щоб насолоджуватися і зробити вас бути просто супер 247 00:11:49,070 --> 00:11:50,550 схвильований навчання всі є, щоб дізнатися 248 00:11:50,550 --> 00:11:51,670 про комп'ютерної науки. 249 00:11:51,670 --> 00:11:53,680 Ці речі також придумати на вікторини. 250 00:11:53,680 --> 00:11:56,440 Так, навіть ці дрібниці, що не мають безпосереднє відношення до вашої проблеми 251 00:11:56,440 --> 00:11:59,630 встановити, як ви, хлопці, знайомі по Вікторина 0, буде, ймовірно, придумати. 252 00:11:59,630 --> 00:12:01,530 І це хороший приклад чогось. 253 00:12:01,530 --> 00:12:10,140 >> Так за допомогою SQL Injection, коли ви отримати деяку інформацію від користувача і 254 00:12:10,140 --> 00:12:15,090 Ви хочете, щоб вставити його в таблицю, використовуючи SQL вставки заяву, але ви 255 00:12:15,090 --> 00:12:17,680 не санірувати вхід загодя. 256 00:12:17,680 --> 00:12:21,560 Таким чином, очевидно, що ми бачили Заяви SQL. 257 00:12:21,560 --> 00:12:22,810 Я просто відкрити - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 підемо - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 ми підемо в огляді - 262 00:12:31,960 --> 00:12:35,180 Я думаю, що освітлював це? 263 00:12:35,180 --> 00:12:36,350 Я думаю, що Samala зробив. 264 00:12:36,350 --> 00:12:39,292 Таким чином, ми можемо отримати - 265 00:12:39,292 --> 00:12:41,270 >> АУДИТОРІЯ: Де ви знайшли це? 266 00:12:41,270 --> 00:12:44,990 >> Джейсон Хіршхорна: Так що, якщо ви йдете в CS50.net, вікторини, а потім ви можете 267 00:12:44,990 --> 00:12:47,170 прокрутите і отримати слайди від оглядової сесії. 268 00:12:47,170 --> 00:12:49,860 Але ви можете бачити, що це хороший приклад з атаки з впровадженням SQL. 269 00:12:49,860 --> 00:12:53,690 Візьмемо деяку інформацію від користувача і вони дають нам рядок, а потім ми 270 00:12:53,690 --> 00:12:55,780 хочете вставити цей рядок в базу даних. 271 00:12:55,780 --> 00:12:59,780 Взагалі ми збираємося, щоб санувати, що вхід, який означає, що є деякі 272 00:12:59,780 --> 00:13:01,050 символів, які є небезпечними. 273 00:13:01,050 --> 00:13:04,000 >> Наприклад, у рядках SQL, ці цитати - 274 00:13:04,000 --> 00:13:05,000 одинарні лапки або подвійні лапки - 275 00:13:05,000 --> 00:13:05,620 щось означати. 276 00:13:05,620 --> 00:13:08,380 Вони мають на увазі в кінцевому цей рядок тут. 277 00:13:08,380 --> 00:13:13,090 І тому, якщо користувач дає один або подвійні лапки, вони можуть бути 278 00:13:13,090 --> 00:13:18,970 намагаючись збити з пантелику вашого запиту і вставити деякі погані речі в нього. 279 00:13:18,970 --> 00:13:23,130 І якщо вони зроблять це, вони могли отримати контроль бази даних або зробити деякі 280 00:13:23,130 --> 00:13:24,760 речі, які ви не хочете, щоб вони зробили. 281 00:13:24,760 --> 00:13:28,300 >> Так ось чому щоразу, коли ми беремо SQL запити, ми санувати вхід до 282 00:13:28,300 --> 00:13:31,090 поставивши його в базу даних, яка означає, що ми уникнути цих символів. 283 00:13:31,090 --> 00:13:32,590 Ми будемо говорити про те, що в секунду. 284 00:13:32,590 --> 00:13:35,820 Але Коротше кажучи, ін'єкції SQL атака, якщо ви цього не зробите, що - 285 00:13:35,820 --> 00:13:39,760 якщо ви не піклуватися про вхід вони дали вам, перш ніж покласти ваші 286 00:13:39,760 --> 00:13:46,830 У базі, вони можуть, як бачите вниз тут, виконати запит, який, насправді - 287 00:13:46,830 --> 00:13:52,470 вони поклали в своєму коді сюди і це виберіть лінію сюди вибере 288 00:13:52,470 --> 00:13:56,360 все зі столу, незалежно чого пароль дається. 289 00:13:56,360 --> 00:13:58,960 Тому що у вас є або 1 дорівнює 1. 290 00:13:58,960 --> 00:14:02,750 >> Так що це в основному, коротше кажучи, спосіб взяти на себе базу даних. 291 00:14:02,750 --> 00:14:07,570 Питання, таким чином, для вас, хлопці, є де в р наборів 7 ти санувати всі 292 00:14:07,570 --> 00:14:10,010 входи в запитах SQL? 293 00:14:10,010 --> 00:14:11,230 Звідки це крок сталося? 294 00:14:11,230 --> 00:14:14,150 Де ви запобігання ін'єкцій SQL атаки з відбувається в р встановити 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Так. 297 00:14:20,490 --> 00:14:21,870 >> АУДИТОРІЯ: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> Джейсон Хіршхорна: Так було не склеп. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Ми не робили ви це зробите для цього Особлива проблема встановити, але це трапляється 301 00:14:55,380 --> 00:14:58,190 у функції запиту. 302 00:14:58,190 --> 00:15:00,930 Ми насправді написав це для вас, і ми подбали про 303 00:15:00,930 --> 00:15:03,040 дезінфекції входи для вас. 304 00:15:03,040 --> 00:15:07,790 Але в минулі роки, студенти мали ввести входи самостійно. 305 00:15:07,790 --> 00:15:10,020 В р набору 7, багато з вас - 306 00:15:10,020 --> 00:15:11,270 дозвольте мені відкрити ще один файл. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Таким чином, ви помітите тут багато люди, в питання, поставлене 7, не дзвонив 309 00:15:22,590 --> 00:15:25,240 ця функція з рядками. 310 00:15:25,240 --> 00:15:27,880 Ця функція, HTMLSpecialChars, знову - 311 00:15:27,880 --> 00:15:31,410 цей рядок може мати деякі речі , Що в HTML на увазі щось інше. 312 00:15:31,410 --> 00:15:36,160 Як дужки, квадрата або під кутом Кронштейн щось означати в HTML. 313 00:15:36,160 --> 00:15:38,980 >> І тому, якщо ви друкуєте, що до екран або якщо ви просто взяти, що і 314 00:15:38,980 --> 00:15:42,260 роздрукувати, що до вашої HTML, які можуть зробити те, що ви не очікуєте. 315 00:15:42,260 --> 00:15:45,180 Так HTMLSpecialChars переходить всі ті, символи, які мають спеціальне 316 00:15:45,180 --> 00:15:47,030 зустрічі і тікає їх. 317 00:15:47,030 --> 00:15:51,450 Так що друкується у вигляді тексту Ви хочете бачити, а не 318 00:15:51,450 --> 00:15:53,280 примруживши свій HTML. 319 00:15:53,280 --> 00:15:55,040 Ми назвали цю функцію в заголовку. 320 00:15:55,040 --> 00:15:57,390 І багато людей забули виклику цієї функції в 321 00:15:57,390 --> 00:15:58,700 Код ви писали. 322 00:15:58,700 --> 00:16:03,970 >> Так, наприклад, якщо акція ім'я було кутова дужка в ньому і забули 323 00:16:03,970 --> 00:16:06,675 викликати цю функцію, що кут Кронштейн може скинули, що 324 00:16:06,675 --> 00:16:08,250 Ваш HTML виглядав. 325 00:16:08,250 --> 00:16:11,810 Але виклику цієї функції буде уникнути що це насправді виводить як 326 00:16:11,810 --> 00:16:15,870 кутова дужка і не кидає від вашого HTML коду. 327 00:16:15,870 --> 00:16:18,760 >> З тієї ж причини ми бачили, іноді, косу межу перед подвійні лапки в 328 00:16:18,760 --> 00:16:22,310 Е лінія, тому що ми не хочемо, подвійні лапки вниз рядок. 329 00:16:22,310 --> 00:16:24,050 Ми хочемо, щоб роздрукувати їх до екрану. 330 00:16:24,050 --> 00:16:26,920 Так що все це та ж ідея. 331 00:16:26,920 --> 00:16:28,260 Я відповів на ваше запитання? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> АУДИТОРІЯ: Вид. 334 00:16:33,870 --> 00:16:35,300 >> Джейсон Хіршхорна: Чи подобається вам є подальшої діяльності? 335 00:16:35,300 --> 00:16:43,252 >> АУДИТОРІЯ: Я думаю ін'єкції SQL напад пов'язаний з цим? 336 00:16:43,252 --> 00:16:45,720 Я не розумію, як ці два пов'язані між собою. 337 00:16:45,720 --> 00:16:47,610 Навіщо ти це зробив, що specialchars? 338 00:16:47,610 --> 00:16:51,200 >> Джейсон Хіршхорна: Добре, таким чином SQL вприскування атака, коли Ви вводите 339 00:16:51,200 --> 00:16:59,180 деякі шкідливі рядки в чиюсь Програма, і вони просто взяти його і бігти 340 00:16:59,180 --> 00:17:01,230 SQL-запит з рядком ви дали їм. 341 00:17:01,230 --> 00:17:04,220 Як ви можете бачити тут, що може бути проблематичним. 342 00:17:04,220 --> 00:17:07,480 Так як ви запобігти проти, що є ви берете їх рядок, вони дають 343 00:17:07,480 --> 00:17:09,220 Ви - так цей рядок тут - 344 00:17:09,220 --> 00:17:11,240 і ви дезінфікувати її. 345 00:17:11,240 --> 00:17:14,305 Ви уникнути все те, що потенційно проблематично. 346 00:17:14,305 --> 00:17:18,626 Таким чином, ви не інтерпретують їх як щось це означає, що щось. 347 00:17:18,626 --> 00:17:23,390 >> І приклад, що з HTML є ця функція. 348 00:17:23,390 --> 00:17:26,060 Так що це та ж ідея тут. 349 00:17:26,060 --> 00:17:27,579 І я просто показую вам друга приклади, коли у Вас є 350 00:17:27,579 --> 00:17:29,030 не бачив цю ідею. 351 00:17:29,030 --> 00:17:33,913 З втечі користувача введення перед друком це, щоб екран або покласти його 352 00:17:33,913 --> 00:17:36,782 всередині заяві SQL. 353 00:17:36,782 --> 00:17:40,790 >> АУДИТОРІЯ: Так що в цьому випадку користувач Мессінг з програмістом. 354 00:17:40,790 --> 00:17:41,240 >> Джейсон Хіршхорна: Так. 355 00:17:41,240 --> 00:17:44,800 З урахуванням усіх цих атак, це завжди звичайно користувач або 356 00:17:44,800 --> 00:17:47,470 хтось, намагається забруднити з вами, програміст. 357 00:17:47,470 --> 00:17:51,038 І ці способи, ви можете запобігти проти них. 358 00:17:51,038 --> 00:17:54,280 >> АУДИТОРІЯ: Так у мене питання про хеш-функцій. 359 00:17:54,280 --> 00:17:59,340 У вікторині 1 з 2011, є два питання про односторонніх хешей. 360 00:17:59,340 --> 00:18:02,540 І мені було просто цікаво що це означає. 361 00:18:02,540 --> 00:18:03,660 >> Джейсон Хіршхорна: ОК, які вікторині? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> АУДИТОРІЯ: Так. 364 00:18:04,705 --> 00:18:06,720 >> АУДИТОРІЯ: Вікторина 1? 365 00:18:06,720 --> 00:18:08,620 >> АУДИТОРІЯ: [нерозбірливо]. 366 00:18:08,620 --> 00:18:09,940 Це все одно що хешування пароля. 367 00:18:09,940 --> 00:18:12,220 Це не покласти речі - 368 00:18:12,220 --> 00:18:13,440 >> Джейсон Хіршхорна: Що сторінки так? 369 00:18:13,440 --> 00:18:15,720 >> Зали: Я думаю, що це було 9 або 10, або обох. 370 00:18:15,720 --> 00:18:16,720 >> Джейсон Хіршхорна: Гаразд, йти вперед, Курт. 371 00:18:16,720 --> 00:18:17,780 Ви можете відповісти, поки ми дивимося. 372 00:18:17,780 --> 00:18:19,540 >> Зали: Я думаю, що це говорить про хешування пароля. 373 00:18:19,540 --> 00:18:24,430 Мовляв, коли хтось вводить пароль, Ви перетворити його в зашифрованому речі. 374 00:18:24,430 --> 00:18:27,395 Це хеш пароля, який є відрізняється від хеш-функції, що 375 00:18:27,395 --> 00:18:30,900 ставить щось в хеш-таблицю. 376 00:18:30,900 --> 00:18:31,610 >> Джейсон Хіршхорна: Давайте подивимося. 377 00:18:31,610 --> 00:18:33,930 Дозвольте мені підтягнути те, що вони дати у відповідь. 378 00:18:33,930 --> 00:18:35,440 І тоді ми будемо йти через нього. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Так Курт дав відмінний приклад з односторонній хеш. 381 00:18:45,400 --> 00:18:48,800 Коли ми бачили це раніше, ми взяти пароль і повернути - 382 00:18:48,800 --> 00:18:53,040 пам'ятайте, в р набору 7, хтось міг би є пароль, це тільки пароль, 383 00:18:53,040 --> 00:18:55,300 але тоді він отримує зашифрований в деякі дуже довго річ. 384 00:18:55,300 --> 00:18:59,830 Односторонній хеш означає, що це дуже легко йти від одного способу до іншого, але 385 00:18:59,830 --> 00:19:02,800 це дуже важко перейти від інший шлях назад. 386 00:19:02,800 --> 00:19:05,230 >> І так ви знаєте, коли ви перевіряли паролі народні в задачі 387 00:19:05,230 --> 00:19:08,820 встановити 7, ви взяли б їх - 388 00:19:08,820 --> 00:19:11,953 так, наприклад, говорять, що вони хотіли змінити свій пароль, ви запитаєте їх, 389 00:19:11,953 --> 00:19:13,130 для їх старий пароль. 390 00:19:13,130 --> 00:19:13,910 Ти взяв свій старий пароль. 391 00:19:13,910 --> 00:19:15,150 Ви зашифровані його. 392 00:19:15,150 --> 00:19:19,240 А потім порівняли два шифрування а не unencrypting оригінал 393 00:19:19,240 --> 00:19:20,780 один, тому що це дійсно важко йти цим шляхом. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Так. 396 00:19:28,035 --> 00:19:31,430 >> АУДИТОРІЯ: Як у глибину робить наш розуміння Telnet мають бути? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> Джейсон Хіршхорна: Якщо це було згадано стисло в лекції, тільки короткий 399 00:19:41,360 --> 00:19:43,260 розуміння. 400 00:19:43,260 --> 00:19:45,585 Знову ж, до відповіді на питання Аві - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 більше речей придумати, тим більше ймовірно, вона у вас є, щоб бути супер 403 00:19:50,430 --> 00:19:51,530 знайомі з ними. 404 00:19:51,530 --> 00:19:54,730 Якщо вони тільки приходять в лекції, от тільки одне місце. 405 00:19:54,730 --> 00:19:57,180 Але якщо вони приходять в лекції, розділ, і проблема встановити, то ви 406 00:19:57,180 --> 00:19:58,710 ймовірно, повинні бути супер знайомі з ними. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Так що я був питання від раніше про - 409 00:20:03,960 --> 00:20:06,950 , Було падіння 2010 - 410 00:20:06,950 --> 00:20:08,520 Вікторина 1, давайте підтягнути - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 це питання на стеків і черг, що ми і зробили витратити неабияку трохи часу 413 00:20:21,790 --> 00:20:23,720 говорили в лекції, навіть хоча ми дійсно не 414 00:20:23,720 --> 00:20:26,020 коли-небудь вдарив його в розділі. 415 00:20:26,020 --> 00:20:33,190 Так що це питання дає вам ряд команд і питаю, що 416 00:20:33,190 --> 00:20:35,560 друкується в цьому випадку. 417 00:20:35,560 --> 00:20:40,180 Так що це абсолютно резонне питання що може бути запропоновано з вас 418 00:20:40,180 --> 00:20:43,090 хлопці, а потім ви, хлопці, повинні бути в змозі на нього відповісти. 419 00:20:43,090 --> 00:20:50,020 >> Так чому б вам не подивитися на нього протягом 30 секунд, а потім, якщо хтось хоче 420 00:20:50,020 --> 00:20:52,140 запропонувати відповіді на мене, і тоді ми будемо йти через нього. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Гаразд, у кого є відповідь на питання 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Так. 425 00:21:33,860 --> 00:21:40,250 >> АУДИТОРІЯ: Це 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> Джейсон Хіршхорна: Абсолютно вірно. 427 00:21:40,780 --> 00:21:42,570 27 дорівнює 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Отже, давайте поглянемо на те, як ми отримали це. 429 00:21:44,510 --> 00:21:48,930 >> По-перше, ми говоримо, якщо з є чергу, те, що друкується? 430 00:21:48,930 --> 00:21:53,360 Так д є першим увійшов, першим вийшов. 431 00:21:53,360 --> 00:21:54,680 Ми бачили, що й раніше. 432 00:21:54,680 --> 00:21:56,820 Ми бачили картину людей очікування в Apple, 433 00:21:56,820 --> 00:21:58,400 Магазин, щоб купити якийсь продукт. 434 00:21:58,400 --> 00:22:00,900 Перші люди в це перші люди поза. 435 00:22:00,900 --> 00:22:02,940 Перше, що в черзі перші речі поза. 436 00:22:02,940 --> 00:22:08,320 >> Так що, якщо ми натискаємо щось в чергу, Ви натискаєте на 1, то ми поп 1. 437 00:22:08,320 --> 00:22:09,630 Поп просто означає, вийняти. 438 00:22:09,630 --> 00:22:11,080 У цьому випадку, просто взяти щось. 439 00:22:11,080 --> 00:22:12,910 Виймаємо перший річ, це 1. 440 00:22:12,910 --> 00:22:15,200 Так ми помістимо речі, які ми роздрукувати вниз тут. 441 00:22:15,200 --> 00:22:18,110 Це вже не в нашій черги. 442 00:22:18,110 --> 00:22:23,500 >> Тоді ми натискаємо на 2 і 3, і ми палити перший. 443 00:22:23,500 --> 00:22:25,030 Знову ж, тому що це черги. 444 00:22:25,030 --> 00:22:33,320 Таким чином, ми отримуємо 2, то ми ставимо на другий 3 і викликати поп знову. 445 00:22:33,320 --> 00:22:34,980 Наш 3 є першим. 446 00:22:34,980 --> 00:22:40,940 >> І тоді у нас був цілий букет інші речі і виклик поп. 447 00:22:40,940 --> 00:22:43,740 Але знову, так як це чергу, Перший прийшов, перший пішов. 448 00:22:43,740 --> 00:22:45,980 Виймаємо перший, , Яка була коли-небудь вставив 449 00:22:45,980 --> 00:22:47,100 Це наша 3. 450 00:22:47,100 --> 00:22:50,060 І, в даному випадку, ми не турбуватися про всі ці інших речей. 451 00:22:50,060 --> 00:22:51,310 Так от, якщо це черги. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Будь-які питання про черги? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Стек по-іншому. 456 00:23:04,040 --> 00:23:07,782 Що є абревіатурою у нас є для розуміння стек? 457 00:23:07,782 --> 00:23:08,750 >> АУДИТОРІЯ: останнім прийшов, першим вийшов. 458 00:23:08,750 --> 00:23:10,130 >> Джейсон Хіршхорна: ЛІФО, я думаю. 459 00:23:10,130 --> 00:23:11,830 Останній увійшов, першим вийшов. 460 00:23:11,830 --> 00:23:15,630 Таким чином, ми бачили приклад стека з тарілок в їдальні. 461 00:23:15,630 --> 00:23:17,590 Незалежно лоток зверху отримує взяв. 462 00:23:17,590 --> 00:23:19,550 І потім, якщо нові лотки приходять в, вони отримують покласти зверху. 463 00:23:19,550 --> 00:23:21,070 А потім все, що на топ отримує взяв. 464 00:23:21,070 --> 00:23:24,010 Так що ті, лотки в нижній мощі залишитися там на деякий час. 465 00:23:24,010 --> 00:23:28,480 >> У цьому випадку, знову ж таки, ми будемо звернути на це. 466 00:23:28,480 --> 00:23:31,770 Ми підштовхуємо на один, так що є першим в черзі. 467 00:23:31,770 --> 00:23:32,790 І ми поп щось від. 468 00:23:32,790 --> 00:23:37,280 І є тільки одна річ, там, так ми рухаємося 1 тут. 469 00:23:37,280 --> 00:23:41,940 Тоді ми ставимо на 2 і 3 і ми поп щось від. 470 00:23:41,940 --> 00:23:43,650 >> Але знову ж, так як це черзі - 471 00:23:43,650 --> 00:23:45,010 або це стек, а - 472 00:23:45,010 --> 00:23:47,480 ми приймаємо все, що було в минулому. 473 00:23:47,480 --> 00:23:49,300 Все, що минулого приходить в першу чергу. 474 00:23:49,300 --> 00:23:50,890 І 3 знаходиться в минулому. 475 00:23:50,890 --> 00:23:56,110 Так ми ставимо 3 там, то ми ставимо на другий 3, і ми 476 00:23:56,110 --> 00:23:57,360 поп щось знову. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Нарешті, покладемо на 4, 5, 6 і 7, і тут ми поп-музики. 479 00:24:05,710 --> 00:24:09,060 І тому що це стек, ми беремо що була введена в минулому і писати 480 00:24:09,060 --> 00:24:10,240 що тут. 481 00:24:10,240 --> 00:24:14,256 Таким чином, ми в кінцевому підсумку з 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Хто-небудь є які-небудь питання про стеки або черги, або цей приклад? 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> ОК. 486 00:24:29,030 --> 00:24:30,440 Давайте повернемося до списку тем. 487 00:24:30,440 --> 00:24:32,510 Не сюди, сюди. 488 00:24:32,510 --> 00:24:34,280 Які ще питання у людей є? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> Зали: Я не знаю, як важливо це, але я був збентежений 491 00:24:39,480 --> 00:24:43,550 Різниця між різними типами Мови, як розмітки, складені, 492 00:24:43,550 --> 00:24:45,980 інтерпретувати. 493 00:24:45,980 --> 00:24:46,750 >> Джейсон Хіршхорна: Це гарне питання. 494 00:24:46,750 --> 00:24:50,500 Я думаю, що це дуже важлива тема, так що давайте йти по ньому швидко. 495 00:24:50,500 --> 00:24:56,850 Великі мови, які ми бачили дотепер, С, PHP, і JavaScript, в термінах 496 00:24:56,850 --> 00:24:58,330 з мов програмування. 497 00:24:58,330 --> 00:25:01,060 HTML, як ви згадали, що не мова програмування. 498 00:25:01,060 --> 00:25:02,260 Це мова розмітки. 499 00:25:02,260 --> 00:25:05,700 А то у нас CSS, який також не є мовою програмування. 500 00:25:05,700 --> 00:25:10,330 >> Ми також бачили, SQL, що не мова програмування небудь. 501 00:25:10,330 --> 00:25:15,695 Так SQL дозволяє писати запрошувати базу даних. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML це мова розмітки. 504 00:25:20,140 --> 00:25:22,570 Він визначає, як речі влаштовані. 505 00:25:22,570 --> 00:25:26,250 І CSS дозволяє укладати речі. 506 00:25:26,250 --> 00:25:28,520 Це, ймовірно, ступінь за те, що ви потрібно знати про тих трьох. 507 00:25:28,520 --> 00:25:32,920 Але це більше цікаво малюнку з відмінностей між C, PHP, 508 00:25:32,920 --> 00:25:34,320 і JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Таким чином, одна з найбільших відмінностей, як ви згадали, то, як вони 510 00:25:37,900 --> 00:25:40,550 складений, або те, еквівалент. 511 00:25:40,550 --> 00:25:42,580 Так C компіляції. 512 00:25:42,580 --> 00:25:43,950 Ми завжди запускати компілятор. 513 00:25:43,950 --> 00:25:51,100 А потім де твої помилки при запуску компілятора C? 514 00:25:51,100 --> 00:25:55,740 Де це показати вам помилок в коді? 515 00:25:55,740 --> 00:25:57,860 Як ви знаєте, є Помилка в коді в C? 516 00:25:57,860 --> 00:25:58,770 >> АУДИТОРІЯ: Це показує, в терміналі. 517 00:25:58,770 --> 00:26:00,410 >> Джейсон Хіршхорна: Вона вказує, в Термінал, як ви збираєте. 518 00:26:00,410 --> 00:26:02,620 І, якщо є помилки, це НЕ буде насправді компіляції. 519 00:26:02,620 --> 00:26:04,830 Таким чином, ви знаєте, що є помилки правий геть, загодя, перед вами 520 00:26:04,830 --> 00:26:06,050 навіть запустити свій код. 521 00:26:06,050 --> 00:26:10,010 >> Звичайно, ви могли б запустити свій код і отримати помилку сегментації, але це було 522 00:26:10,010 --> 00:26:12,350 ймовірно, тому що ви зробили деякі нерозумно логіка річ. 523 00:26:12,350 --> 00:26:15,770 Але ваш код з технічно все правильно і може працювати. 524 00:26:15,770 --> 00:26:18,210 Так C код компілюється загодя. 525 00:26:18,210 --> 00:26:19,760 А як щодо PHP коду? 526 00:26:19,760 --> 00:26:21,430 Де були помилки в коді PHP? 527 00:26:21,430 --> 00:26:23,170 Як ви знаєте, були помилки в коді PHP? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> АУДИТОРІЯ: Час роботи? 530 00:26:28,430 --> 00:26:31,230 >> Джейсон Хіршхорна: Так, коли ви б запустити його, вам буде потрібно запустити 531 00:26:31,230 --> 00:26:32,180 PHP-код в спині. 532 00:26:32,180 --> 00:26:33,300 І тоді ви б відображати екран. 533 00:26:33,300 --> 00:26:35,260 Ви можете побачити деякі речі на вершині, але тоді ви побачите, як деякі 534 00:26:35,260 --> 00:26:36,710 помаранчевий, некрасиво таблиці. 535 00:26:36,710 --> 00:26:41,420 І це дасть вам номер рядка і скажімо, бла, бла, бла, цей матеріал 536 00:26:41,420 --> 00:26:42,400 не працював. 537 00:26:42,400 --> 00:26:48,730 >> Отже, PHP інтерпретується рядок за рядком і виконується на сервері. 538 00:26:48,730 --> 00:26:52,380 І тоді результат буде послав до вас. 539 00:26:52,380 --> 00:26:53,340 Великий. 540 00:26:53,340 --> 00:26:56,410 Вчинено в серверній рядок за рядком а потім відправили до вас. 541 00:26:56,410 --> 00:26:59,010 І якщо є помилка, то пошлю Ви помилка, але ви, можливо, 542 00:26:59,010 --> 00:27:00,400 отримали деякі речі заздалегідь. 543 00:27:00,400 --> 00:27:02,730 Так деякі з них, можливо, працював, але пізніше, деякі речі можуть не мати 544 00:27:02,730 --> 00:27:03,890 не працював. 545 00:27:03,890 --> 00:27:04,600 >> А як щодо JavaScript? 546 00:27:04,600 --> 00:27:06,065 Де ви бачили помилки JavaScript? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 В р набір 8, коли ви отримали Помилка, як ви дізналися? 549 00:27:12,870 --> 00:27:13,710 Де б на карті? 550 00:27:13,710 --> 00:27:15,900 >> АУДИТОРІЯ: У консолі в нижній частині. 551 00:27:15,900 --> 00:27:17,650 >> Джейсон Хіршхорна: В консоль, на дно. 552 00:27:17,650 --> 00:27:20,160 Було б також дати вам номер рядка, і було б 553 00:27:20,160 --> 00:27:21,330 показати на дні. 554 00:27:21,330 --> 00:27:24,320 І JavaScript не була виконана на сервері. 555 00:27:24,320 --> 00:27:27,800 JavaScript був відправлений до комп'ютера, а потім, коли прийшов час для запуску 556 00:27:27,800 --> 00:27:31,670 JavaScript, JavaScript був запустити построчно на 557 00:27:31,670 --> 00:27:33,410 клієнт, на вашому боці. 558 00:27:33,410 --> 00:27:35,570 Чи не сервер, клієнт сторона. 559 00:27:35,570 --> 00:27:37,690 >> І точно так само, це було запустити рядок за рядком. 560 00:27:37,690 --> 00:27:40,630 А потім, коли ви отримуєте повідомлення про помилку, він буде відображатися в нижній частині. 561 00:27:40,630 --> 00:27:44,580 Подібно PHP, деякі з них могли б виконати, а потім ви можете отримати 562 00:27:44,580 --> 00:27:46,310 помилок надалі. 563 00:27:46,310 --> 00:27:49,910 >> Крім того, трохи на відміну PHP, якщо ви отримали повідомлення про помилку JavaScript - 564 00:27:49,910 --> 00:27:52,780 кажуть, що ви не зробили право Код для оповіщення вікні - 565 00:27:52,780 --> 00:27:55,800 ви могли б тримати виконання вашої програми. 566 00:27:55,800 --> 00:27:58,180 Вікно попередження не буде працювати, але ваша програма буде в порядку. 567 00:27:58,180 --> 00:28:00,490 Просто, може бути, що функція зазнає невдачі. 568 00:28:00,490 --> 00:28:02,610 >> Таким чином, є деякі з найбільших Різниця в тому, як вони 569 00:28:02,610 --> 00:28:09,230 мови, або, як код програмування Ви пишете насправді оцінюється. 570 00:28:09,230 --> 00:28:11,970 Є й інші відмінності в умови - велика різниця 571 00:28:11,970 --> 00:28:15,590 ми бачили в термінах змінних на різних мовах. 572 00:28:15,590 --> 00:28:19,660 Так хто-небудь може дати мені різницю між змінними 573 00:28:19,660 --> 00:28:20,910 на трьох мовах? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Так. 576 00:28:25,770 --> 00:28:27,130 >> АУДИТОРІЯ: У C, вони строго типізовані. 577 00:28:27,130 --> 00:28:28,550 У двох інших, вони вільно набрали. 578 00:28:28,550 --> 00:28:30,040 >> Джейсон Хіршхорна: І що це означає? 579 00:28:30,040 --> 00:28:31,775 >> АУДИТОРІЯ: Те, що в C, ви повинні оголосити Тип змінної, коли 580 00:28:31,775 --> 00:28:36,140 ви розкажете змінну, як interbool або символ. 581 00:28:36,140 --> 00:28:36,990 >> Джейсон Хіршхорна: Відмінно. 582 00:28:36,990 --> 00:28:39,780 У C, у нас завжди були покласти Тип змінної. 583 00:28:39,780 --> 00:28:41,360 І ми не могли дійсно різних типів. 584 00:28:41,360 --> 00:28:45,750 Ви не могли б зробити ціле плюс рядок. 585 00:28:45,750 --> 00:28:48,760 Але, як ми бачили в ці інші мови, ви насправді можете змішувати типи, 586 00:28:48,760 --> 00:28:51,230 і ви ніколи не повинні дати щось типу, ніколи. 587 00:28:51,230 --> 00:28:53,905 >> Так як ми знаємо, всі змінні в PHP і JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> АУДИТОРІЯ: У PHP, вони починають зі знаком долара. 590 00:28:58,685 --> 00:29:00,810 У JavaScript, при оголошенні їх, ви повинні є бар. 591 00:29:00,810 --> 00:29:01,760 >> Джейсон Хіршхорна: Вірно. 592 00:29:01,760 --> 00:29:03,535 Таким чином, в PHP, вони починають зі знаком долара. 593 00:29:03,535 --> 00:29:06,300 У JavaScript, вони повинні мати бар, хоча іноді вони насправді не 594 00:29:06,300 --> 00:29:07,520 повинні мати бар. 595 00:29:07,520 --> 00:29:09,240 Але це правильно. 596 00:29:09,240 --> 00:29:13,300 >> Так що є велика різниця між змінними. 597 00:29:13,300 --> 00:29:16,140 Я думаю, що ті, ймовірно, від верхній частині моєї голови, два найбільших 598 00:29:16,140 --> 00:29:19,250 відмінності між ними на трьох мовах. 599 00:29:19,250 --> 00:29:20,594 Але, так. 600 00:29:20,594 --> 00:29:24,720 >> АУДИТОРІЯ: І сфера З перемінним обмежується фігурними дужками, 601 00:29:24,720 --> 00:29:27,760 де решта, це просто подобається, він помирає, якщо це тільки функції, 602 00:29:27,760 --> 00:29:29,650 але інакше, it's - 603 00:29:29,650 --> 00:29:30,240 >> Джейсон Хіршхорна: Вірно. 604 00:29:30,240 --> 00:29:36,780 Так обсяг трохи відрізняється в С. Як Ви пам'ятаєте, фігурні дужки визначають 605 00:29:36,780 --> 00:29:37,710 обсяг змінних. 606 00:29:37,710 --> 00:29:41,680 Так що, якщо він був визначений всередині, якщо стан, який знаходиться всередині цикл, 607 00:29:41,680 --> 00:29:44,290 змінна існує тільки там. 608 00:29:44,290 --> 00:29:47,760 >> У JavaScript, якщо змінна визначена всередині, якщо умови - 609 00:29:47,760 --> 00:29:50,750 всередині цикл - це буде існувати що функція, але вона не буде існувати 610 00:29:50,750 --> 00:29:52,330 за межами цієї функції. 611 00:29:52,330 --> 00:29:59,250 Так обсяг трохи більш гнучким в JavaScript і PHP. 612 00:29:59,250 --> 00:30:00,500 Це відповідь на питання? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 ОК, всі інші питання? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Ми можемо зробити більше чотирьох хвилин питань, то 617 00:30:08,865 --> 00:30:10,740 ми стрибнути в кодуванні. 618 00:30:10,740 --> 00:30:12,645 >> АУДИТОРІЯ: Чи можемо ми йти в Ajax і говорити про те, що це таке? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> Джейсон Хіршхорна: Поговоріть з Аві після. 621 00:30:17,800 --> 00:30:19,170 Він поставив це питання раніше. 622 00:30:19,170 --> 00:30:19,630 >> АУДИТОРІЯ: Моє погане. 623 00:30:19,630 --> 00:30:20,880 >> Джейсон Хіршхорна: Не турбуйтеся. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> АУДИТОРІЯ: Що таке JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> Джейсон Хіршхорна: Що таке JSON? 628 00:30:28,900 --> 00:30:29,930 Який ваш питання? 629 00:30:29,930 --> 00:30:31,350 >> АУДИТОРІЯ: Просто дуже швидко, різниця між 630 00:30:31,350 --> 00:30:32,870 друку і луна в PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> Джейсон Хіршхорна: Чому б вам не Google різниця між друку і луна? 633 00:30:38,490 --> 00:30:40,670 Невелика різниця. 634 00:30:40,670 --> 00:30:42,020 Не те, щоб великий з пропозиції. 635 00:30:42,020 --> 00:30:44,960 Але ви повинні обов'язково Google його, і що дасть вам хороший відповідь. 636 00:30:44,960 --> 00:30:46,910 >> JSON, ймовірно, більше, угоди. 637 00:30:46,910 --> 00:30:49,300 Стенди для JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 І коли ми бачили JSON використовується? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Коли ви бачили - 641 00:30:55,900 --> 00:30:57,400 чому ви навіть знаєте слово JSON? 642 00:30:57,400 --> 00:30:59,140 Коли ви бачили його? 643 00:30:59,140 --> 00:31:02,200 >> АУДИТОРІЯ: Коли ми отримували Котирування акцій для фінансування. 644 00:31:02,200 --> 00:31:02,690 >> Джейсон Хіршхорна: Так ви бачили це коли ви отримували 645 00:31:02,690 --> 00:31:04,830 Котирування акцій для фінансування. 646 00:31:04,830 --> 00:31:07,340 А чому ви його бачите? 647 00:31:07,340 --> 00:31:09,000 >> АУДИТОРІЯ: Коли ми були вилучення вся інформація, 648 00:31:09,000 --> 00:31:10,400 прийшов в цьому форматі. 649 00:31:10,400 --> 00:31:11,700 >> Джейсон Хіршхорна: Так ви отримаєте - 650 00:31:11,700 --> 00:31:12,540 да. 651 00:31:12,540 --> 00:31:13,020 Йдемо далі. 652 00:31:13,020 --> 00:31:15,210 >> АУДИТОРІЯ: [нерозбірливо] інформація з об'єкта? 653 00:31:15,210 --> 00:31:17,170 >> Джейсон Хіршхорна: Обидва з тих зібрати відповідь 654 00:31:17,170 --> 00:31:18,100 ми шукаємо. 655 00:31:18,100 --> 00:31:21,240 Ви хочете, щоб інформація з цей інший веб-сторінки. 656 00:31:21,240 --> 00:31:23,790 А ви б сподіватися, що, коли ви знаходитесь отримання цю інформацію, було б 657 00:31:23,790 --> 00:31:26,720 представлені Вам в деякому роді зі стандартного формату. 658 00:31:26,720 --> 00:31:29,530 >> Все, мабуть, знайомі з значень, розділених комами. 659 00:31:29,530 --> 00:31:32,970 Можна експортувати Excel таблицю або будь-який тип електронної таблиці як список 660 00:31:32,970 --> 00:31:34,540 значень, розділених комами. 661 00:31:34,540 --> 00:31:37,370 І коми розділити всі різні поля. 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 ще один тип стандартизований Компонування речей. 665 00:31:43,540 --> 00:31:49,010 І це часто, як ми витягаємо Інформація від наших запитів Ajax. 666 00:31:49,010 --> 00:31:51,770 >> Таким чином, в цьому випадку, ми отримали його з сайту Yahoo. 667 00:31:51,770 --> 00:31:53,600 Вони повертаються речі нам в об'єкті JSON. 668 00:31:53,600 --> 00:31:56,790 А потім ми знаємо, тому що це стандартний, що це 669 00:31:56,790 --> 00:31:57,250 буде виглядати. 670 00:31:57,250 --> 00:32:00,760 Так що ми можемо ітерацію масиву який повернувся до нас, масиву 671 00:32:00,760 --> 00:32:03,180 об'єкти, які повертаються до нас. 672 00:32:03,180 --> 00:32:07,770 >> Ми, ймовірно, повинні знати, ключі, але вони як правило, дають вам 673 00:32:07,770 --> 00:32:11,370 Документація на сайті, коли ви вибірки деякі JSON 674 00:32:11,370 --> 00:32:12,170 позначення для них. 675 00:32:12,170 --> 00:32:16,940 Крім того, ви можете JSON закодувати об'єкт. 676 00:32:16,940 --> 00:32:19,900 Таким чином, є функція JSON підкреслюють кодування. 677 00:32:19,900 --> 00:32:22,970 І тому ви можете прийняти об'єкт, Ви створили, JSON кодувати його, і 678 00:32:22,970 --> 00:32:26,390 передати його на щось ще, якщо ви хочете. 679 00:32:26,390 --> 00:32:30,770 І JSON декодування також існує для аналогічна мета, або для 680 00:32:30,770 --> 00:32:31,780 навпаки мету. 681 00:32:31,780 --> 00:32:36,570 >> АУДИТОРІЯ: Чи потрібна нам знати кодування для хеш-таблиць і спроб? 682 00:32:36,570 --> 00:32:40,300 Або ми просто повинні зрозуміти, як вони використовуються, концептуально? 683 00:32:40,300 --> 00:32:44,570 >> Джейсон Хіршхорна: Отже, підніміть руку якщо ви зробили хеш-таблицю для р набір 4 684 00:32:44,570 --> 00:32:46,920 зі списком посилань. 685 00:32:46,920 --> 00:32:47,960 Або р встановлено 5. 686 00:32:47,960 --> 00:32:49,060 Так, щоб була переважна більшість людей. 687 00:32:49,060 --> 00:32:50,390 P встановити 5, 6, хто знає. 688 00:32:50,390 --> 00:32:51,240 Давним-давно. 689 00:32:51,240 --> 00:32:54,140 >> Таким чином, переважна більшість з вас зробили хеши зі списками посилань. 690 00:32:54,140 --> 00:32:56,525 І тому, що це, ймовірно, тим більше загальний підхід, і тому що ми провели 691 00:32:56,525 --> 00:32:59,460 багато часу, роблячи списки посилань і хеш столи, ви, ймовірно, слід 692 00:32:59,460 --> 00:33:02,600 досить добре знайомі з тим, як кодувати хеш-таблицю і список посилань. 693 00:33:02,600 --> 00:33:05,060 >> І якщо ви думаєте повернутися до цієї проблеми встановити, це не було дійсно 694 00:33:05,060 --> 00:33:06,410 так складно, як ви очікували. 695 00:33:06,410 --> 00:33:08,120 І там було багато менше Код, ніж ви очікували. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Я б сказав, ви повинні знати, як код хеш-таблицю або список посилань. 698 00:33:14,650 --> 00:33:17,010 Не те, щоб ви б запитали, що, обов'язково, але ви повинні 699 00:33:17,010 --> 00:33:19,730 звичайно, знаєте, що. 700 00:33:19,730 --> 00:33:21,860 >> Крім того, якщо ви дивитеся через останні вікторини, було багато 701 00:33:21,860 --> 00:33:26,450 питання про написання функцій на списки посилань або двічі пов'язані списки. 702 00:33:26,450 --> 00:33:28,370 Це, здається, придумати щороку. 703 00:33:28,370 --> 00:33:31,940 Право вставити на список посилань, прямо видалити зі списку посилань, прямо вставити 704 00:33:31,940 --> 00:33:33,610 для двусвязний списку, і так далі. 705 00:33:33,610 --> 00:33:36,170 Так що, я відчуваю себе досить комфортно кажу, що ви повинні знати, що. 706 00:33:36,170 --> 00:33:40,600 >> Для спроби, я б сказав, ви повинні звичайно, знаєте, як це працює, і, можливо, 707 00:33:40,600 --> 00:33:43,570 дати деякі псевдокод для того, як закодувати його і встановити його. 708 00:33:43,570 --> 00:33:45,600 Але це не було б найстрашніше в світ, якщо ви не знаєте, як 709 00:33:45,600 --> 00:33:48,870 кодувати його в С. Було б здорово, якщо вам знав, як код його в C, але я думаю, 710 00:33:48,870 --> 00:33:52,516 ймовірно, псевдокод для спробували б найбільш вам буде потрібно 711 00:33:52,516 --> 00:33:53,270 знати для спроби. 712 00:33:53,270 --> 00:33:53,930 >> АУДИТОРІЯ: Додатковий кредит? 713 00:33:53,930 --> 00:33:58,290 >> Джейсон Хіршхорна: І те ж саме з, якщо ми йти в бінарних дерев пошуку, ви, можливо, 714 00:33:58,290 --> 00:34:02,320 потрібно, - і ви бачили в минулому, ми зробили багато - ви знаєте, як 715 00:34:02,320 --> 00:34:03,380 бінарне дерево пошуку роботи. 716 00:34:03,380 --> 00:34:07,150 Ви повинні, ймовірно, зможе встановити один в псевдо-код. 717 00:34:07,150 --> 00:34:10,510 Але оскільки переважна більшість людей цього не зробив на проблемі 718 00:34:10,510 --> 00:34:13,880 набір, я б сказав, що це, ймовірно, менш важливо, що ви знаєте, як код 719 00:34:13,880 --> 00:34:17,380 і встановити на дерево, як це. 720 00:34:17,380 --> 00:34:19,679 >> Будь-які інші питання? 721 00:34:19,679 --> 00:34:23,234 Крім того, ми можемо попросити їх по всій як ми йдемо по деяких проблемах. 722 00:34:23,234 --> 00:34:27,170 Добре, ми збираємося рухатися далі. 723 00:34:27,170 --> 00:34:28,230 Перейти цей слайд на даний момент. 724 00:34:28,230 --> 00:34:32,449 >> Говорячи про дерева, що є першим питання у мене для вас, хлопці. 725 00:34:32,449 --> 00:34:34,270 Оскільки це є проблемою. 726 00:34:34,270 --> 00:34:37,380 Я б сказав, це дуже ймовірно, ви будете отримати проблеми, як це на вікторині 727 00:34:37,380 --> 00:34:43,659 прошу вас, щоб закодувати деякий тип вставки, видаляти, пошук, для одного типу 728 00:34:43,659 --> 00:34:45,270 структури даних ми вже бачили. 729 00:34:45,270 --> 00:34:47,719 >> Це приходить кожен рік, і ми провели Багато часу в другій половині цього 730 00:34:47,719 --> 00:34:50,270 семестр переходячи цих типів даних. 731 00:34:50,270 --> 00:34:54,170 Тому в даний момент, я визначив вузол в бінарному дереві пошуку. 732 00:34:54,170 --> 00:34:58,490 І те, що я б хотів, щоб ви дається бінарне дерево пошуку, яка починається 733 00:34:58,490 --> 00:35:05,450 на цьому вузол зірки кореня, то заповніть реалізація функції нижче, 734 00:35:05,450 --> 00:35:07,430 який, виявляється, функція знахідка. 735 00:35:07,430 --> 00:35:09,260 І зробити це з і без рекурсії. 736 00:35:09,260 --> 00:35:10,860 >> Тому я хочу, щоб ви написали дві функції. 737 00:35:10,860 --> 00:35:14,310 Один робить це з рекурсії, один робити це без рекурсії. 738 00:35:14,310 --> 00:35:18,050 І не думайте, що корінь буде ненульовий. 739 00:35:18,050 --> 00:35:21,790 Таким чином, ми шукаємо цілого г в дерево, починаючи з кореня, і ми повинні 740 00:35:21,790 --> 00:35:25,280 щоб написати це рекурсивно і багаторазово. 741 00:35:25,280 --> 00:35:26,300 Так. 742 00:35:26,300 --> 00:35:29,730 >> АУДИТОРІЯ: Отже, ви хочете, щоб ми повернулися вірно якщо ми вважаємо, і помилково, якщо ми 743 00:35:29,730 --> 00:35:30,480 не знайдеш його. 744 00:35:30,480 --> 00:35:32,160 >> Джейсон Хіршхорна: Як ви дізналися? 745 00:35:32,160 --> 00:35:33,100 Як ви дізналися, що? 746 00:35:33,100 --> 00:35:36,500 >> АУДИТОРІЯ: я питав спочатку, але я був припускаючи, тому що він говорить BOOL в 747 00:35:36,500 --> 00:35:37,490 початок функції. 748 00:35:37,490 --> 00:35:37,880 >> Джейсон Хіршхорна: Вірно. 749 00:35:37,880 --> 00:35:41,020 У ньому говориться, логічний, так що я навіть не потрібно скажу, що я очікую, що ви повернутися 750 00:35:41,020 --> 00:35:41,350 тому що він говорить прямо там. 751 00:35:41,350 --> 00:35:42,280 Але це так. 752 00:35:42,280 --> 00:35:43,510 Повернутися, істинним або хибним. 753 00:35:43,510 --> 00:35:47,630 >> Тому, перш ніж почати, я рекомендував би, якщо ви не знайомі з 754 00:35:47,630 --> 00:35:51,300 бінарні дерева пошуку, швидко малювання картина йому отримати ваш 755 00:35:51,300 --> 00:35:51,750 розуміння, правильно. 756 00:35:51,750 --> 00:35:54,720 Це також допоможе вам при написанні ваш код і перевірити його. 757 00:35:54,720 --> 00:35:57,830 Знову ж, ви також не так вже й багато Час на тест, щоб робити все те, 758 00:35:57,830 --> 00:35:59,030 що ми просимо вас зробити. 759 00:35:59,030 --> 00:36:02,350 Так писати псевдокод дуже корисно. 760 00:36:02,350 --> 00:36:05,310 >> І ми як правило, дають про - 761 00:36:05,310 --> 00:36:06,820 якщо псевдокод абсолютно правильно, це 762 00:36:06,820 --> 00:36:08,910 як правило, 50% з якого-небудь питання. 763 00:36:08,910 --> 00:36:11,410 Так що це не жорстке правило, але якщо ви просто написати псевдокод і це 764 00:36:11,410 --> 00:36:13,460 правильно, це взагалі 50%. 765 00:36:13,460 --> 00:36:14,970 Так що я завжди рекомендував би - 766 00:36:14,970 --> 00:36:16,870 якщо ви мало часу, або навіть якщо ви просто намагаєтеся, щоб зрозуміти це - 767 00:36:16,870 --> 00:36:18,290 починаючи з псевдокоду. 768 00:36:18,290 --> 00:36:24,840 І, нарешті, якщо б ви могли написати це все в С, що було б фантастичним. 769 00:36:24,840 --> 00:36:29,010 >> Отже, давайте три хвилини працювати за цією програмою. 770 00:36:29,010 --> 00:36:33,120 А потім ми збираємося написати псевдокод для нього тільки один раз, а потім 771 00:36:33,120 --> 00:36:35,455 ми збираємося, щоб закодувати його рекурсивно а потім багаторазово. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Якщо у Вас виникли питання, будь ласка безкоштовно підніміть руку. 774 00:37:30,760 --> 00:37:34,270 Щаслива, щоб прогулятися і відповісти на них перш ніж ми почнемо, як група. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Давайте відновити, і ми збираємося псевдокод рекурсивную версію 777 00:39:27,200 --> 00:39:29,830 це, і тоді ми будемо кодувати його. 778 00:39:29,830 --> 00:39:33,380 Так рекурсивна функція потрібні дві речі. 779 00:39:33,380 --> 00:39:35,960 Це може бути питання, який Ви може бути запропоновано. 780 00:39:35,960 --> 00:39:37,950 Потрібні дві речі. 781 00:39:37,950 --> 00:39:40,610 Хто може підняти руку і сказати мені, що ці дві речі рекурсивний 782 00:39:40,610 --> 00:39:43,680 функція повинна? 783 00:39:43,680 --> 00:39:45,030 За визначенням це є дві речі. 784 00:39:45,030 --> 00:39:46,280 Які ці дві речі? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Нові руки. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Так, Олден. 789 00:39:56,390 --> 00:39:57,980 >> АУДИТОРІЯ: Так що я точно не знаю, якщо це термінологія, але - 790 00:39:57,980 --> 00:39:59,715 >> Джейсон Хіршхорна: Я радий, Ви піднімаючи руку. 791 00:39:59,715 --> 00:40:03,380 >> АУДИТОРІЯ: Вона потребує базовий варіант, і вона потребує рекурсивний крок. 792 00:40:03,380 --> 00:40:03,960 >> Джейсон Хіршхорна: Прекрасно. 793 00:40:03,960 --> 00:40:06,340 Вона потребує базовий варіант і рекурсивний крок. 794 00:40:06,340 --> 00:40:10,430 Так в чому ж наша база даному випадку? 795 00:40:10,430 --> 00:40:12,950 >> АУДИТОРІЯ: F корінь дорівнює дорівнює нулю. 796 00:40:12,950 --> 00:40:15,110 На жаль, тільки в псевдокоде, якщо це нуль. 797 00:40:15,110 --> 00:40:16,360 Якщо корінь нуль. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> Джейсон Хіршхорна: Якщо корінь нуль. 800 00:40:23,540 --> 00:40:23,850 Це чудово. 801 00:40:23,850 --> 00:40:24,610 Це наш базовий сценарій. 802 00:40:24,610 --> 00:40:25,910 Це те, що ми збираємося перевірити в будь-який час. 803 00:40:25,910 --> 00:40:28,000 І базовий варіант є Перше, що ви робите. 804 00:40:28,000 --> 00:40:29,720 Якщо ви потрапили в базовий варіант, ви закінчите. 805 00:40:29,720 --> 00:40:34,140 >> Тепер нам потрібно наше рекурсивний виклик, і я б готовий посперечатися нам потрібно пару 806 00:40:34,140 --> 00:40:35,440 рекурсивних викликів тут. 807 00:40:35,440 --> 00:40:39,630 Тому що це дерево, і ми може піти кілька способів. 808 00:40:39,630 --> 00:40:43,190 Так що якщо корінь нуль, ми хороші. 809 00:40:43,190 --> 00:40:44,970 >> Що ви пропонуєте? 810 00:40:44,970 --> 00:40:49,640 А тепер я збираюся почати кричати на вас, хлопці, тому що я знаю, ви, хлопці 811 00:40:49,640 --> 00:40:50,540 все це знаємо. 812 00:40:50,540 --> 00:40:52,610 Але Енні, що повинно наступна рядок може бути? 813 00:40:52,610 --> 00:40:53,570 Що робити, якщо ми знайшли його? 814 00:40:53,570 --> 00:40:55,526 Що нам робити? 815 00:40:55,526 --> 00:40:57,300 >> АУДИТОРІЯ: Якщо ми знайшли його? 816 00:40:57,300 --> 00:40:59,160 >> Джейсон Хіршхорна: Або що повинно бути, що - 817 00:40:59,160 --> 00:41:02,124 дайте мені псевдокод лінія, де ми знайшли його. 818 00:41:02,124 --> 00:41:04,700 >> АУДИТОРІЯ: Якщо я дорівнює корінь я? 819 00:41:04,700 --> 00:41:06,650 >> Джейсон Хіршхорна: І то що ж нам робити? 820 00:41:06,650 --> 00:41:07,590 >> АУДИТОРІЯ: Повернутися правда. 821 00:41:07,590 --> 00:41:08,530 >> Джейсон Хіршхорна: Відмінно. 822 00:41:08,530 --> 00:41:16,890 Так що, якщо я це я - 823 00:41:16,890 --> 00:41:17,400 ой, вони обидва дзвонив, я. 824 00:41:17,400 --> 00:41:18,470 Це збиває з пантелику. 825 00:41:18,470 --> 00:41:23,830 Але якщо я це я повертаюся правда. 826 00:41:23,830 --> 00:41:25,620 Це, ймовірно, наступного що ми повинні зробити. 827 00:41:25,620 --> 00:41:27,300 Має сенс. 828 00:41:27,300 --> 00:41:30,610 >> Добре, тепер ми не зробили наш рекурсивний називають ще, хоча, тому що рекурсивний 829 00:41:30,610 --> 00:41:32,300 виклик буде викликати цю функцію знову. 830 00:41:32,300 --> 00:41:41,460 Так що повинні на наступний лінія псевдокоде бути? 831 00:41:41,460 --> 00:41:42,730 Анна. 832 00:41:42,730 --> 00:41:43,980 >> АУДИТОРІЯ: ліва сторона. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> Джейсон Хіршхорна: Будьте конкретні, хоча. 835 00:41:47,590 --> 00:41:50,600 Це бінарне дерево пошуку, так що робить перевірки на ліву сторону тягне за собою? 836 00:41:50,600 --> 00:41:51,890 >> АУДИТОРІЯ: Так вузол - 837 00:41:51,890 --> 00:41:53,342 Мені дуже шкода, корінь. 838 00:41:53,342 --> 00:41:55,306 А потім стрілка вліво. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Вузол, вузол, вибачте. 841 00:42:00,720 --> 00:42:01,978 Я не читав це правильно. 842 00:42:01,978 --> 00:42:05,700 Вона називається вузол, чи не так? 843 00:42:05,700 --> 00:42:09,270 >> Джейсон Хіршхорна: Вона називатиметься корінь в цій функції, але так чи інакше. 844 00:42:09,270 --> 00:42:10,925 У лівій частині - так? 845 00:42:10,925 --> 00:42:13,780 >> АУДИТОРІЯ: Якщо це не одно я, то ми збираємося називати 846 00:42:13,780 --> 00:42:15,130 знову функція? 847 00:42:15,130 --> 00:42:15,490 >> Джейсон Хіршхорна: Абсолютно вірно. 848 00:42:15,490 --> 00:42:17,870 Якщо він не дорівнює я, ми збираємося знову викликати функцію. 849 00:42:17,870 --> 00:42:21,435 Але те, що сторона дерева ми будемо знову викликати функцію? 850 00:42:21,435 --> 00:42:22,685 >> АУДИТОРІЯ: На лівій стороні. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> Джейсон Хіршхорна: Ми не завжди буду називати його ліва, якщо він 853 00:42:27,670 --> 00:42:29,190 не дорівнює його. 854 00:42:29,190 --> 00:42:29,610 >> АУДИТОРІЯ: Ой, вибачте. 855 00:42:29,610 --> 00:42:31,200 Зателефонуйте справа. 856 00:42:31,200 --> 00:42:33,680 >> Джейсон Хіршхорна: Ми хочемо знати, Зокрема, хоча - пам'ятаєте, в 857 00:42:33,680 --> 00:42:37,700 бінарне дерево пошуку, щоб все лівій стороні менше. 858 00:42:37,700 --> 00:42:40,460 Всі вправо права частина більше. 859 00:42:40,460 --> 00:42:43,990 Так що це просто немає - так, йти вперед. 860 00:42:43,990 --> 00:42:46,805 >> АУДИТОРІЯ: Якщо це менше, ніж я, то - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 якщо він знаходиться на лівій - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> Джейсон Хіршхорна: Так що, якщо ри менше - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 так що якщо наш номер менше, ніж я, з якого боку ми хочемо йти? 867 00:43:09,110 --> 00:43:15,120 >> АУДИТОРІЯ: Ми хочемо піти на правій стороні. 868 00:43:15,120 --> 00:43:16,250 >> Джейсон Хіршхорна: Ми хочемо піти - 869 00:43:16,250 --> 00:43:19,210 Дозвольте звернути швидкий дерево. 870 00:43:19,210 --> 00:43:23,850 Якщо це 5, то це буде 3. 871 00:43:23,850 --> 00:43:29,410 Так що, якщо ри менше п'яти, то, що сторона ми хочемо йти? 872 00:43:29,410 --> 00:43:30,390 >> АУДИТОРІЯ: Прости, що? 873 00:43:30,390 --> 00:43:33,190 >> Джейсон Хіршхорна: Наш номер менше, ніж кількість ми знаходимося 874 00:43:33,190 --> 00:43:34,710 дивлячись на прямо зараз. 875 00:43:34,710 --> 00:43:35,890 >> АУДИТОРІЯ: О, тоді ми хочемо піти в ліву сторону. 876 00:43:35,890 --> 00:43:36,240 Так. 877 00:43:36,240 --> 00:43:36,920 Вибачте. 878 00:43:36,920 --> 00:43:37,230 >> Джейсон Хіршхорна: Абсолютно вірно. 879 00:43:37,230 --> 00:43:38,480 Не турбуйтеся. 880 00:43:38,480 --> 00:43:41,020 У бінарному дереві пошуку, все нижче знаходиться зліва, 881 00:43:41,020 --> 00:43:42,110 більше перебуває справа. 882 00:43:42,110 --> 00:43:46,700 Так що, якщо наша число менше я ми перевіряємо - 883 00:43:46,700 --> 00:43:48,790 тому що ви бачите в вузол, він має I - 884 00:43:48,790 --> 00:43:50,040 то ви хочете, щоб піти наліво. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> І це є легким. 887 00:43:56,720 --> 00:44:01,700 Що це таке інша лінія псевдокоду нам треба написати? 888 00:44:01,700 --> 00:44:02,910 Карлос? 889 00:44:02,910 --> 00:44:05,970 >> АУДИТОРІЯ: Те ж саме, ви просто дозволите його більше, ніж знаком 890 00:44:05,970 --> 00:44:07,420 і піти направо. 891 00:44:07,420 --> 00:44:08,350 >> Джейсон Хіршхорна: Чи можете ви кажуть, що це ще раз? 892 00:44:08,350 --> 00:44:11,640 >> АУДИТОРІЯ: Якщо наш номер більше ніж я, піти направо. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> Джейсон Хіршхорна: Відмінно Робота на псевдокоде. 895 00:44:26,690 --> 00:44:28,700 Зробимо це в реальному коді. 896 00:44:28,700 --> 00:44:33,280 І знову ж, це псевдокод буде ймовірно, отримати тебе, тому що це 897 00:44:33,280 --> 00:44:35,480 правильно, 50% з цього питання. 898 00:44:35,480 --> 00:44:39,720 Але це псевдокод також переводить один до одного, по суті, в код. 899 00:44:39,720 --> 00:44:44,380 >> Так давайте робити це на мові C. Хто може дати мені перший рядок коду? 900 00:44:44,380 --> 00:44:48,390 Насправді, по-перше, перш ніж зробити що, дозвольте мені зупинитися - 901 00:44:48,390 --> 00:44:49,260 >> АУДИТОРІЯ: У мене є питання. 902 00:44:49,260 --> 00:44:52,430 Чому ви відступ лінія я тобі дав? 903 00:44:52,430 --> 00:44:54,160 >> Джейсон Хіршхорна: Тому що Я не міг написати. 904 00:44:54,160 --> 00:44:55,240 Я не знаю. 905 00:44:55,240 --> 00:44:55,650 Ви праві. 906 00:44:55,650 --> 00:44:57,780 Ця лінія повинна бути там. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> ОК, ось наша функція. 909 00:45:14,480 --> 00:45:18,090 І дозвольте мені зупинитися, і, наше визначення вузла. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Що станеться, якщо ми не зробили написати ЬурейеЕ? 912 00:45:27,180 --> 00:45:30,240 Хто-небудь знає? 913 00:45:30,240 --> 00:45:32,570 >> АУДИТОРІЯ: Це не було б скласти. 914 00:45:32,570 --> 00:45:33,860 >> Джейсон Хіршхорна: Було б компіляції, так. 915 00:45:33,860 --> 00:45:37,120 >> АУДИТОРІЯ: Чи буде це просто оголосити один примірник замість того, щоб це нове 916 00:45:37,120 --> 00:45:39,840 введіть можна оголосити кратне випадки? 917 00:45:39,840 --> 00:45:41,700 >> Джейсон Хіршхорна: Тому він не буде знаю - він не буде 918 00:45:41,700 --> 00:45:43,120 просто оголосити один тип. 919 00:45:43,120 --> 00:45:46,150 Ви все ще можете зробити багато вузлів. 920 00:45:46,150 --> 00:45:48,070 >> АУДИТОРІЯ: Але не треба написати структури вузлу кожен раз? 921 00:45:48,070 --> 00:45:48,640 >> Джейсон Хіршхорна: Абсолютно вірно. 922 00:45:48,640 --> 00:45:50,960 Ви повинні були б написати структура вузол кожен раз, коли, замість того, щоб просто вузол. 923 00:45:50,960 --> 00:45:55,270 Але з ЬурейеЕ, ви можете просто написати вузлу кожного разу. 924 00:45:55,270 --> 00:45:58,240 Добре, хто не дав - так, Avica. 925 00:45:58,240 --> 00:46:01,520 >> АУДИТОРІЯ: Якщо корінь дорівнює рівних нуль, повернення помилковим. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> Джейсон Хіршхорна: Великий і це наша базовий варіант. 928 00:46:09,490 --> 00:46:11,200 Наступний рядок коду. 929 00:46:11,200 --> 00:46:13,999 Той, хто не дав мене рядок коду ще? 930 00:46:13,999 --> 00:46:14,945 Так. 931 00:46:14,945 --> 00:46:23,360 >> АУДИТОРІЯ: Root стрілка я дорівнює дорівнює I. 932 00:46:23,360 --> 00:46:27,260 Потім поверніться правда. 933 00:46:27,260 --> 00:46:29,162 >> Джейсон Хіршхорна: Відмінно. 934 00:46:29,162 --> 00:46:32,048 Наступний рядок? 935 00:46:32,048 --> 00:46:32,790 Так. 936 00:46:32,790 --> 00:46:34,010 Хтось ще? 937 00:46:34,010 --> 00:46:36,774 І тоді ви можете йти далі. 938 00:46:36,774 --> 00:46:44,820 >> АУДИТОРІЯ: Інакше, якщо корінь стрілка я менше я буду повертатися 939 00:46:44,820 --> 00:46:47,737 Функція називається знахідка корінь - 940 00:46:47,737 --> 00:46:50,611 >> Джейсон Хіршхорна: Вибачте. 941 00:46:50,611 --> 00:46:56,272 >> АУДИТОРІЯ: Повернутися знахідка корінь вказує наліво кома я. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> Джейсон Хіршхорна: Так що, якщо ри більше ніж речі в дереві, ми хочемо 944 00:47:08,440 --> 00:47:09,573 піти наліво? 945 00:47:09,573 --> 00:47:11,790 >> АУДИТОРІЯ: Ні, у мене було, що включається. 946 00:47:11,790 --> 00:47:13,040 >> Джейсон Хіршхорна: Який? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> АУДИТОРІЯ: Ні, так. 949 00:47:16,950 --> 00:47:19,050 У мене є менш підписати там. 950 00:47:19,050 --> 00:47:22,890 >> Джейсон Хіршхорна: справа, якщо ри є менше, ніж те, що в корені - 951 00:47:22,890 --> 00:47:25,660 наш поточний корінь - то ми хочу піти наліво. 952 00:47:25,660 --> 00:47:26,960 І те, що останній рядок, ви? 953 00:47:26,960 --> 00:47:30,930 >> АУДИТОРІЯ: В принципі те ж саме, крім перемикання більше або 954 00:47:30,930 --> 00:47:34,690 рівній менш і зліва направо. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> Джейсон Хіршхорна: Відмінно. 957 00:47:43,680 --> 00:47:48,430 Хто-небудь є які-небудь питання про це? 958 00:47:48,430 --> 00:47:52,560 Таким чином, деякі інші речі, які б , Був правий у тому, що 959 00:47:52,560 --> 00:47:53,810 може бути-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Вгадайте, технічно, ні один з них дійсно також повинні бути-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Крім того, там, напевно, тільки один випадок тут. 963 00:48:00,950 --> 00:48:02,380 Так що, напевно, ваш останній випадок. 964 00:48:02,380 --> 00:48:04,000 Вам навіть не потрібно, що-ltiff. 965 00:48:04,000 --> 00:48:06,160 Але, напевно, добре, щоб написати це, щоб було ясно. 966 00:48:06,160 --> 00:48:06,660 Так. 967 00:48:06,660 --> 00:48:09,200 >> АУДИТОРІЯ: Так ви не думаєте, вікторини - якщо ми зробимо помилки, наприклад, 968 00:48:09,200 --> 00:48:11,725 в синтаксисі - 969 00:48:11,725 --> 00:48:13,990 маленькі синтаксичні помилки - 970 00:48:13,990 --> 00:48:17,810 як же, що беруться у вікторині? 971 00:48:17,810 --> 00:48:21,300 >> Джейсон Хіршхорна: Взагалі на вікторині, невеликий синтаксичні помилки або маленький 972 00:48:21,300 --> 00:48:24,010 Помилки стилю не втрачають вам окуляри. 973 00:48:24,010 --> 00:48:26,610 Так що, якщо Ви забули крапку з комою тут, це було б в порядку. 974 00:48:26,610 --> 00:48:30,290 Якщо ви забули закрити цю дужку, що було б гаразд. 975 00:48:30,290 --> 00:48:34,880 >> Величезні синтаксичні помилки, які змінюють функціональний сенс вашого коду 976 00:48:34,880 --> 00:48:37,600 різко, ви можете отримати зняли очки за. 977 00:48:37,600 --> 00:48:40,330 Або взагалі, просто сортування вам від наявності або відсутності вашого 978 00:48:40,330 --> 00:48:42,150 Функції код, навіть - 979 00:48:42,150 --> 00:48:44,830 не його дизайн так багато, а не його стиль. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Давайте тепер кодувати ітеративний версія знахідки. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Так що це буде дуже схожий, але Є, звичайно, буде 984 00:49:03,450 --> 00:49:06,250 деякі ключові відмінності. 985 00:49:06,250 --> 00:49:09,160 Тим не менш, наш псевдокод , Ймовірно, може йти - 986 00:49:09,160 --> 00:49:11,610 ми все ще можемо взяти один рядок псевдокод і з'ясувати, що 987 00:49:11,610 --> 00:49:14,160 лінія в цьому випадку. 988 00:49:14,160 --> 00:49:18,010 >> Таким чином, в итеративном варіанті, що Як ви вважаєте, Юлія, повинні 989 00:49:18,010 --> 00:49:19,260 бути першим рядком? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> АУДИТОРІЯ: Знову ж таки, в ітераційному логічне значення, вам потрібно налаштувати цикл, чи не так? 992 00:49:26,920 --> 00:49:27,660 >> Джейсон Хіршхорна: ОК. 993 00:49:27,660 --> 00:49:38,480 >> АУДИТОРІЯ: Так що для, як, до, для х дорівнює 0, х менше, ніж я. 994 00:49:38,480 --> 00:49:42,260 Або ні, х менше розмір дерева. 995 00:49:42,260 --> 00:49:42,760 >> Джейсон Хіршхорна: Дерево. 996 00:49:42,760 --> 00:49:46,660 Таким чином, ми дійсно не знаємо, розмір дерево, і ми дійсно не знаємо, для 997 00:49:46,660 --> 00:49:48,900 скільки разів ми можемо піти, так в чому другий тип циклу, що може бути 998 00:49:48,900 --> 00:49:50,150 краще в цьому випадку? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> АУДИТОРІЯ: Якщо ще? 1001 00:49:55,244 --> 00:49:57,070 >> Джейсон Хіршхорна: Якщо ще не може бути петля. 1002 00:49:57,070 --> 00:49:58,935 Так в чому ж тип циклу ми можемо тільки йти до деяких справа не зустрічалися? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Що тільки інший тип циклу в С, крім цикл? 1005 00:50:11,560 --> 00:50:11,930 >> АУДИТОРІЯ: У той час як. 1006 00:50:11,930 --> 00:50:13,380 >> Джейсон Хіршхорна: У той час як, саме так. 1007 00:50:13,380 --> 00:50:16,430 У якийсь час циклу, що не потрібно знати, як - 1008 00:50:16,430 --> 00:50:18,450 в той час як цикл і цикл може зробити та ж сама річ, але хороша річ 1009 00:50:18,450 --> 00:50:21,500 про час як петля нам не потрібно знати, наскільки великий наш дерево. 1010 00:50:21,500 --> 00:50:23,060 Так що ми збираємося, щоб йти до чого? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> АУДИТОРІЯ: Поки не дорівнює розмір - 1013 00:50:28,032 --> 00:50:32,320 >> Джейсон Хіршхорна: Ну, це дуже схожа на нашу рекурсивного випадку. 1014 00:50:32,320 --> 00:50:33,360 Так що - 1015 00:50:33,360 --> 00:50:36,470 >> АУДИТОРІЯ: У той час як корінь я не одно я. 1016 00:50:36,470 --> 00:50:37,620 >> Джейсон Хіршхорна: Це дійсно близько. 1017 00:50:37,620 --> 00:50:39,430 У той час як корінь я - 1018 00:50:39,430 --> 00:50:40,610 давайте спробуємо. 1019 00:50:40,610 --> 00:50:41,180 Я не думаю, [нерозбірливо] 1020 00:50:41,180 --> 00:50:43,026 де корінь я не одно я. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Ми, можливо, буде потрібно змінити його в трохи небагато, але це звучить як це досить 1023 00:50:49,460 --> 00:50:50,160 добре, на даний момент. 1024 00:50:50,160 --> 00:50:51,710 Таким чином, ми зробимо це. 1025 00:50:51,710 --> 00:50:55,660 >> Крім того, пам'ятайте, що ми не можемо припустити, за запитання. 1026 00:50:55,660 --> 00:50:57,880 Ви не думайте, що корінь буде ненульовий. 1027 00:50:57,880 --> 00:51:01,914 Так що ж ви думаєте, що дуже Перше, що ми повинні зробити, це? 1028 00:51:01,914 --> 00:51:02,770 >> АУДИТОРІЯ: Просто робити те ж саме , Що й раніше. 1029 00:51:02,770 --> 00:51:05,260 Якщо корінь дорівнює рівних нуль, повернення помилковим. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> Джейсон Хіршхорна: Відмінно. 1032 00:51:12,130 --> 00:51:13,820 Таким чином, можна бути нульовим. 1033 00:51:13,820 --> 00:51:15,810 Тому ми хочемо, щоб позбутися про нього відразу ж. 1034 00:51:15,810 --> 00:51:19,560 А потім ми збираємося галочку, якщо корінь я не дорівнює I. 1035 00:51:19,560 --> 00:51:24,480 Так, сказати, що ми шукаємо в цьому дереві для 3 кореня я не рівні я, тепер 1036 00:51:24,480 --> 00:51:25,950 ми знаходимося в нашому час циклу. 1037 00:51:25,950 --> 00:51:27,500 Що ми хочемо зробити? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 І знову ж, це буде досить схожа на нашу рекурсивної версії. 1040 00:51:35,430 --> 00:51:36,230 Так. 1041 00:51:36,230 --> 00:51:40,470 >> АУДИТОРІЯ: Таким чином, ви хотіли б ітерації, або продовжувати йти вниз по дереву, поки 1042 00:51:40,470 --> 00:51:42,400 корінь не дорівнює нулю. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> Джейсон Хіршхорна: Поки корінь не дорівнює нулю? 1045 00:51:46,640 --> 00:51:50,200 >> АУДИТОРІЯ: Кореневий тире я НЕ дорівнює NULL. 1046 00:51:50,200 --> 00:51:51,220 Просто корінь, так. 1047 00:51:51,220 --> 00:51:52,920 Як довго, як корінь не дорівнює нулю. 1048 00:51:52,920 --> 00:51:54,240 >> Джейсон Хіршхорна: Отже, ви хочете змінити це в корені 1049 00:51:54,240 --> 00:51:56,590 не дорівнює NULL? 1050 00:51:56,590 --> 00:51:59,020 >> АУДИТОРІЯ: Так. 1051 00:51:59,020 --> 00:52:00,800 >> АУДИТОРІЯ: Ми могли б об'єднати це, чи не так? 1052 00:52:00,800 --> 00:52:02,990 Нам не потрібно ПЧ, на початковому етапі. 1053 00:52:02,990 --> 00:52:05,180 >> Джейсон Хіршхорна: Добре, таким чином, якщо ми не - 1054 00:52:05,180 --> 00:52:08,140 якщо ми об'єднаємо їх, так що ми збираємося робити в той час як коріння не дорівнює NULL, і 1055 00:52:08,140 --> 00:52:10,800 якщо корінь відбувається бути нульовими на починаючи, що ми робимо тут? 1056 00:52:10,800 --> 00:52:11,450 >> АУДИТОРІЯ: Повернутися хибним. 1057 00:52:11,450 --> 00:52:12,730 >> Джейсон Хіршхорна: Відмінно. 1058 00:52:12,730 --> 00:52:14,110 Так обидва шляхи, ймовірно, працював би. 1059 00:52:14,110 --> 00:52:15,645 Це інший спосіб, і це об'єднує його. 1060 00:52:15,645 --> 00:52:18,950 Але знову ж, якщо ви зробили так чи інакше, ми не збираюся зняти дизайн 1061 00:52:18,950 --> 00:52:19,800 вказує на вікторині. 1062 00:52:19,800 --> 00:52:21,020 Але це добре виглядає. 1063 00:52:21,020 --> 00:52:23,940 >> Таким чином, хоча корінь не дорівнює нуль, що є першим 1064 00:52:23,940 --> 00:52:25,400 що ми хочемо, щоб перевірити? 1065 00:52:25,400 --> 00:52:26,330 Хтось ще? 1066 00:52:26,330 --> 00:52:29,720 Null, що перше, що? 1067 00:52:29,720 --> 00:52:32,850 >> АУДИТОРІЯ: Якщо ри менше - 1068 00:52:32,850 --> 00:52:36,140 о, я думаю, якщо у нас вже знайшли його в корені. 1069 00:52:36,140 --> 00:52:40,830 Так що якщо корінь стрілка я дорівнює I - 1070 00:52:40,830 --> 00:52:40,990 >> Джейсон Хіршхорна: Вибачте? 1071 00:52:40,990 --> 00:52:45,840 >> АУДИТОРІЯ: Якщо корінь стрілка я одно дорівнює I - 1072 00:52:45,840 --> 00:52:47,090 >> Джейсон Хіршхорна: Що нам робити? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> АУДИТОРІЯ: Повернутися правда. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> Джейсон Хіршхорна: Відмінно. 1077 00:52:59,280 --> 00:53:00,530 І що далі? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Джефф, що наступна рядок коду? 1080 00:53:06,843 --> 00:53:16,190 >> АУДИТОРІЯ: Якщо я менше кореневої стрілкою я, то корінь дорівнює корінь стрілкою вліво. 1081 00:53:16,190 --> 00:53:21,550 >> Джейсон Хіршхорна: Головні одно корінь стрілка вліво. 1082 00:53:21,550 --> 00:53:24,530 Так що, напевно, найбільший Різниця тут у цей повторюваний 1083 00:53:24,530 --> 00:53:26,600 версія на відміну від рекурсивна версія. 1084 00:53:26,600 --> 00:53:28,970 Рекурсивна версія, ми викликати функцію знову. 1085 00:53:28,970 --> 00:53:32,640 Ми будемо оновлювати корінь, коли ми називаємо нову функцію. 1086 00:53:32,640 --> 00:53:34,170 Тут ми не закликаємо нову функцію. 1087 00:53:34,170 --> 00:53:37,610 Ми просто тільки оновлення корінь у цій функції. 1088 00:53:37,610 --> 00:53:38,880 Це чудово. 1089 00:53:38,880 --> 00:53:40,730 І те, що останній рядок коду? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Так, Маріо? 1092 00:53:44,880 --> 00:53:48,290 >> АУДИТОРІЯ: інше кореневі одно корінь зі стрілкою вправо. 1093 00:53:48,290 --> 00:53:49,492 >> Джейсон Хіршхорна: Вибачте? 1094 00:53:49,492 --> 00:53:52,340 >> АУДИТОРІЯ: Головні одно корінь зі стрілкою вправо. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> Джейсон Хіршхорна: Не могли б ви також написати щось на зразок цього? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> Зали: Я поняття не маю,. 1099 00:54:03,890 --> 00:54:05,140 >> Джейсон Хіршхорна: Ви не можете. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Ви не можете зробити плюс рівних. 1102 00:54:08,270 --> 00:54:10,780 ОК, так що це добре виглядає. 1103 00:54:10,780 --> 00:54:13,620 Чому б нам просто не зробити це щоб очистити його. 1104 00:54:13,620 --> 00:54:15,220 Це виглядає великим, і це буде працювати. 1105 00:54:15,220 --> 00:54:16,920 І ми б вирватися. 1106 00:54:16,920 --> 00:54:21,460 >> Якщо корінь зліва був нульовим або кореневої право був нульовим, ми приїхали б сюди. 1107 00:54:21,460 --> 00:54:22,470 Коренева дорівнюватиме нуль. 1108 00:54:22,470 --> 00:54:24,270 Ми б вирватися з нашого циклу, і ми б повернутися помилковим. 1109 00:54:24,270 --> 00:54:26,280 Тому, коли ми вирватися з цикл, ми повернутися помилковим. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> І знову, в той час як петля було прекрасно тут, тому що ми не знаємо, як 1112 00:54:32,793 --> 00:54:33,850 велика наша дерево. 1113 00:54:33,850 --> 00:54:36,460 Ми намагалися написати цикл, але ми зрозумів, ви повинні з'ясувати, як 1114 00:54:36,460 --> 00:54:37,410 вона велика загодя. 1115 00:54:37,410 --> 00:54:38,720 Так. 1116 00:54:38,720 --> 00:54:41,790 >> АУДИТОРІЯ: Якби це було не бінарний дерево пошуку, було б реальним математика-й 1117 00:54:41,790 --> 00:54:44,220 написати його багаторазово, чи не так? 1118 00:54:44,220 --> 00:54:47,170 Мовляв, якби це було дерево, але не обов'язково - 1119 00:54:47,170 --> 00:54:49,730 так це було не все менше ліворуч, і все більше справа. 1120 00:54:49,730 --> 00:54:52,540 Було б дуже важко перебрати його, чи не так? 1121 00:54:52,540 --> 00:54:55,720 Ми повинні були б зберегти те, що було раніше на в дереві і повернутися, 1122 00:54:55,720 --> 00:54:56,970 і все в такому дусі. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> Джейсон Хіршхорна: Якби не це двійковий дерево пошуку, якщо це була просто 1125 00:55:02,010 --> 00:55:04,740 дерево і речі не були упорядковано, як це - 1126 00:55:04,740 --> 00:55:07,440 і ми зрозуміли раніше, коли Анна допомагав нам, що робить його 1127 00:55:07,440 --> 00:55:08,800 відсортований нам дуже допомагає - 1128 00:55:08,800 --> 00:55:12,610 ми повинні були б, так, завжди зберігати де ми були раніше. 1129 00:55:12,610 --> 00:55:14,430 Але не може бути багато де ми були previouslys. 1130 00:55:14,430 --> 00:55:17,730 Там може бути багато батьківських вузлів. 1131 00:55:17,730 --> 00:55:22,530 >> Напевно, кращий спосіб зробити це буде в тому, щоб продовжувати наполягати речі на деякі 1132 00:55:22,530 --> 00:55:24,170 тип стека або черги. 1133 00:55:24,170 --> 00:55:26,030 Ви ніколи не повинні були б кодувати цей тому що це нелегке завдання. 1134 00:55:26,030 --> 00:55:30,820 Але ви натискаєте деякі речі в стек або стояти в черзі, а потім поп їх, і 1135 00:55:30,820 --> 00:55:31,890 потім оцінити їх. 1136 00:55:31,890 --> 00:55:34,200 >> А потім є інша річ, де ви насправді покласти вузли і 1137 00:55:34,200 --> 00:55:36,090 потім створити що, а потім пошук через це. 1138 00:55:36,090 --> 00:55:38,700 Це може бути кращий спосіб це зробити. 1139 00:55:38,700 --> 00:55:42,410 ОК, всі питання про цю проблему? 1140 00:55:42,410 --> 00:55:44,670 >> АУДИТОРІЯ: Це на відповідну записку. 1141 00:55:44,670 --> 00:55:50,460 Чи буде у нас для порівняння часу роботи для хеш-таблиці, двійковий 1142 00:55:50,460 --> 00:55:52,160 дерева пошуку, і так далі? 1143 00:55:52,160 --> 00:55:54,310 >> Джейсон Хіршхорна: Напевно. 1144 00:55:54,310 --> 00:55:56,150 Так давайте зробимо це дуже швидко. 1145 00:55:56,150 --> 00:55:58,490 Час роботи для хеш-таблиці - 1146 00:55:58,490 --> 00:55:59,090 що ж інші? 1147 00:55:59,090 --> 00:56:00,050 Двійковій дерево? 1148 00:56:00,050 --> 00:56:02,920 >> АУДИТОРІЯ: списки Link. 1149 00:56:02,920 --> 00:56:04,780 >> Джейсон Хіршхорна: Добре, давайте зробимо вставку. 1150 00:56:04,780 --> 00:56:09,980 Що таке велика O вставки на хеш-таблиці? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Які припущення ви робите? 1153 00:56:15,285 --> 00:56:17,760 >> АУДИТОРІЯ: Ви вставки в початку списку посилань. 1154 00:56:17,760 --> 00:56:19,860 >> Джейсон Хіршхорна: Ймовірно, першим припущення немає зіткнення. 1155 00:56:19,860 --> 00:56:22,340 Якщо ні зіткнення, то час вставки знаходиться один. 1156 00:56:22,340 --> 00:56:26,560 Якщо є зіткнення, і ви робити роздільного скріплення і вставки 1157 00:56:26,560 --> 00:56:31,880 на початку списку посилань, потім вставка також постійна. 1158 00:56:31,880 --> 00:56:34,700 >> Якщо ви робите хеш-таблицю, але ви мати інший метод боротьби 1159 00:56:34,700 --> 00:56:36,040 із зіткненнями, що інший метод? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Що є іншим способом боротьби з 1162 00:56:42,960 --> 00:56:44,205 зіткнення в хеш-таблиці? 1163 00:56:44,205 --> 00:56:44,915 >> АУДИТОРІЯ: Лінійне програмування. 1164 00:56:44,915 --> 00:56:45,540 >> Джейсон Хіршхорна: Лінійне програмування. 1165 00:56:45,540 --> 00:56:47,770 Так що ми збираємося продовжувати дивитися на наступний відкритому місці. 1166 00:56:47,770 --> 00:56:50,390 Це не постійна часу вставки. 1167 00:56:50,390 --> 00:56:52,266 Ви могли б пройти через вся таблиця, так що 1168 00:56:52,266 --> 00:56:53,936 може бути великим Про н. 1169 00:56:53,936 --> 00:56:54,740 Так. 1170 00:56:54,740 --> 00:56:57,690 >> АУДИТОРІЯ: В іншому випадку просто ланцюжка? 1171 00:56:57,690 --> 00:57:00,160 >> Джейсон Хіршхорна: Ми зробили окремий ланцюжка. 1172 00:57:00,160 --> 00:57:00,720 Це було перше. 1173 00:57:00,720 --> 00:57:01,560 Це те, що список посилань. 1174 00:57:01,560 --> 00:57:03,720 Химерна назва окремо ланцюжка. 1175 00:57:03,720 --> 00:57:06,880 Це може бути будь-який тип структури списку ми, виявляється, зробити в списку посилань. 1176 00:57:06,880 --> 00:57:10,490 >> Отже, ще раз, вставка на хеш-таблиці може бути постійна часу. 1177 00:57:10,490 --> 00:57:13,160 А як щодо вставки на черзі укладальника? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> АУДИТОРІЯ: Хіба це не постійна? 1180 00:57:20,640 --> 00:57:21,530 >> Джейсон Хіршхорна: Це постійна часу. 1181 00:57:21,530 --> 00:57:23,420 Ти просто штовхаючи його. 1182 00:57:23,420 --> 00:57:24,120 ОК. 1183 00:57:24,120 --> 00:57:25,380 Внесені, якими були інші? 1184 00:57:25,380 --> 00:57:27,100 На спроби? 1185 00:57:27,100 --> 00:57:30,252 Що таке Big O вставки на спроби? 1186 00:57:30,252 --> 00:57:32,808 >> АУДИТОРІЯ: довжина постійна. 1187 00:57:32,808 --> 00:57:34,560 Довжина найдовшою - 1188 00:57:34,560 --> 00:57:36,998 Довжина слова ви вставки. 1189 00:57:36,998 --> 00:57:38,210 >> Джейсон Хіршхорна: Вибачте? 1190 00:57:38,210 --> 00:57:39,120 Зачекайте, так що ж я чую? 1191 00:57:39,120 --> 00:57:40,260 Ви сказали, - що ти сказав? 1192 00:57:40,260 --> 00:57:41,650 Яка була ваша відповідь, Маркус? 1193 00:57:41,650 --> 00:57:43,640 >> АУДИТОРІЯ: довжина слова ви вставки в символах, 1194 00:57:43,640 --> 00:57:45,480 припускаю, що це спроба характер. 1195 00:57:45,480 --> 00:57:46,840 >> Джейсон Хіршхорна: Отже, довжина слова. 1196 00:57:46,840 --> 00:57:49,500 Ми зробимо припущення, що це рядок символів. 1197 00:57:49,500 --> 00:57:51,930 Ви сказали щось інше, хоча. 1198 00:57:51,930 --> 00:57:55,490 Ви сказали, довжина найдовшого слова. 1199 00:57:55,490 --> 00:57:57,600 >> АУДИТОРІЯ: Це просто постійна, чи не так? 1200 00:57:57,600 --> 00:57:58,440 >> Джейсон Хіршхорна: Навіщо це бути постійним? 1201 00:57:58,440 --> 00:58:00,970 >> АУДИТОРІЯ: Як, якщо ви використовуєте великі O позначення, то це не залежить 1202 00:58:00,970 --> 00:58:04,680 від кількості речей, які вже в спробі. 1203 00:58:04,680 --> 00:58:07,344 >> Джейсон Хіршхорна: Таким чином, ми б кажуть, що це постійна часу. 1204 00:58:07,344 --> 00:58:11,840 Це постійна вставки, і це тому, що ця ідея - 1205 00:58:11,840 --> 00:58:14,820 , У нас є Слово, 45, або слово, що це 60, що 1206 00:58:14,820 --> 00:58:16,800 має постійне число. 1207 00:58:16,800 --> 00:58:21,050 І було б просто бути вставлений за постійний час. 1208 00:58:21,050 --> 00:58:26,060 >> На практиці, однак, це не було б, очевидно, відбудеться в одну мілісекунди, 1209 00:58:26,060 --> 00:58:26,590 наприклад. 1210 00:58:26,590 --> 00:58:28,880 Але ми сказали б, великий виведення постійна для спроби. 1211 00:58:28,880 --> 00:58:31,330 І це одна з його великих переваг. 1212 00:58:31,330 --> 00:58:33,330 >> А як щодо вставки в список посилань? 1213 00:58:33,330 --> 00:58:37,220 Просто загальний, відсортований список посилання? 1214 00:58:37,220 --> 00:58:37,700 Так. 1215 00:58:37,700 --> 00:58:38,530 >> АУДИТОРІЯ: у мене було питання. 1216 00:58:38,530 --> 00:58:42,670 На тест, чи будуть вони коли-небудь питали нас про Час вставки ось чотири кроки, 1217 00:58:42,670 --> 00:58:43,270 або що? 1218 00:58:43,270 --> 00:58:44,300 Чи це просто - 1219 00:58:44,300 --> 00:58:47,670 коли ви говорите, час введення є одним, це просто означає, постійна часу? 1220 00:58:47,670 --> 00:58:49,770 >> Джейсон Хіршхорна: Так, вони будуть завжди запитують, є його великим О п? 1221 00:58:49,770 --> 00:58:51,440 Big O з журналу п? 1222 00:58:51,440 --> 00:58:53,960 N квадрат постійною. 1223 00:58:53,960 --> 00:58:56,520 Ті, дійсно єдиний ті, які ви повинні знати. 1224 00:58:56,520 --> 00:58:58,420 А як щодо вставки на упорядковано список посилань? 1225 00:58:58,420 --> 00:58:59,440 >> АУДИТОРІЯ: у мене було питання - 1226 00:58:59,440 --> 00:58:59,980 питання - 1227 00:58:59,980 --> 00:59:01,060 >> Джейсон Хіршхорна: Яка відповідь на це питання, хоча? 1228 00:59:01,060 --> 00:59:02,120 >> АУДИТОРІЯ: Зачекайте, що ви питаєте? 1229 00:59:02,120 --> 00:59:06,750 >> Джейсон Хіршхорна: Що таке велика виведення Включення в список, відсортований посилання? 1230 00:59:06,750 --> 00:59:07,070 >> АУДИТОРІЯ: Один? 1231 00:59:07,070 --> 00:59:09,400 Ніякі не чекають, не чекають, н. 1232 00:59:09,400 --> 00:59:11,420 >> Джейсон Хіршхорна: Н. Крім того список посилань. 1233 00:59:11,420 --> 00:59:12,706 І те, що було на ваше запитання? 1234 00:59:12,706 --> 00:59:16,440 >> АУДИТОРІЯ: Так ви б написати о від к або виведення 1 для - 1235 00:59:16,440 --> 00:59:18,150 >> Джейсон Хіршхорна: Ох. 1236 00:59:18,150 --> 00:59:21,830 Я хотів би написати про 1, напевно. 1237 00:59:21,830 --> 00:59:24,160 Був один іншою структурою даних що було б добре. 1238 00:59:24,160 --> 00:59:25,730 Дерево, дерево двійкового пошуку. 1239 00:59:25,730 --> 00:59:27,510 Що вставки на бінарне дерево? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> АУДИТОРІЯ: Логін. 1242 00:59:33,900 --> 00:59:39,260 >> Джейсон Хіршхорна: Отже, що є найгіршим справа в бінарному дереві пошуку? 1243 00:59:39,260 --> 00:59:45,350 Так що, якщо ми, трапляється, починаються в 5, і кожен число більше 5, то 1244 00:59:45,350 --> 00:59:48,760 у нас є 5, 7, 9, 11, і так далі. 1245 00:59:48,760 --> 00:59:52,255 У цьому випадку, це в основному просто посилання Список, і ми повинні вставити всі 1246 00:59:52,255 --> 00:59:52,680 шлях в кінці. 1247 00:59:52,680 --> 00:59:54,350 Так що це великий Про н. 1248 00:59:54,350 --> 00:59:57,720 >> Це може бути наш найгірший випадок на бінарному дереві пошуку. 1249 00:59:57,720 --> 01:00:00,890 Очевидно, що ви ніколи не побудувати бінарне дерево з 5 в 1250 01:00:00,890 --> 01:00:04,270 середній, знаючи 5 буде буде під найменшим номером. 1251 01:00:04,270 --> 01:00:08,030 Але це може бути, якщо ви починаючи з нуля. 1252 01:00:08,030 --> 01:00:10,980 Є питання по цьому перш, ніж я перейти до іншого питання? 1253 01:00:10,980 --> 01:00:11,560 Це був хороший питання. 1254 01:00:11,560 --> 01:00:15,100 Я знав би великий виводу - 1255 01:00:15,100 --> 01:00:18,620 >> АУДИТОРІЯ: Що про пошук для тих, хто чотири? 1256 01:00:18,620 --> 01:00:20,400 >> Джейсон Хіршхорна: Безумовно ми зробив пошуку і сортування. 1257 01:00:20,400 --> 01:00:22,160 Ми зробили всі ці алгоритми, правильно. 1258 01:00:22,160 --> 01:00:23,390 Зачекайте, було те, що для вікторини 1? 1259 01:00:23,390 --> 01:00:23,980 Був, що покрита - 1260 01:00:23,980 --> 01:00:25,860 ти вже є, що питання про вікторині 1? 1261 01:00:25,860 --> 01:00:29,650 Великий О виконання бінарного пошуку, сортування вставками, бульбашкового сортування? 1262 01:00:29,650 --> 01:00:30,160 >> АУДИТОРІЯ: Так. 1263 01:00:30,160 --> 01:00:32,790 >> Джейсон Хіршхорна: Якби вам довелося, що питання про вікторині 0, напевно ви не будете 1264 01:00:32,790 --> 01:00:35,180 отримати точно таке ж питання про вікторині 1. 1265 01:00:35,180 --> 01:00:36,300 Може бути ще добре знати тих,. 1266 01:00:36,300 --> 01:00:38,520 Ви повинні сподіваємося, знаєте GH вже. 1267 01:00:38,520 --> 01:00:40,740 >> Але інші логарифмічні час автономної роботи , Ймовірно, добре знати. 1268 01:00:40,740 --> 01:00:42,890 Речі, які не були покриті на Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Як і всі цих операторів на ці абстрактні типи даних. 1270 01:00:47,300 --> 01:00:50,760 >> Добре, давайте рухатися далі. 1271 01:00:50,760 --> 01:00:52,190 Це треба бути досить швидко. 1272 01:00:52,190 --> 01:00:56,170 І це новий мова у нас не насправді закодовані в перед. 1273 01:00:56,170 --> 01:00:59,300 Це питання, запитувана кодувати в PHP. 1274 01:00:59,300 --> 01:01:01,950 Так вважають масив PHP нижче. 1275 01:01:01,950 --> 01:01:06,150 Написати PHP та / або HTML коди, такі, що виводить таблицю з двома стовпцями з ТФ 1276 01:01:06,150 --> 01:01:08,810 Імена і вдома. 1277 01:01:08,810 --> 01:01:11,600 >> Ви ніколи не робили цього раніше, це конкретна проблема. 1278 01:01:11,600 --> 01:01:16,270 Але це мають бути добре знайомі з що ви робили в проблемі встановити 7. 1279 01:01:16,270 --> 01:01:21,250 Так що я був би готовий тримати парі, ви будете запитав закодувати щось в PHP, що 1280 01:01:21,250 --> 01:01:23,880 дуже схожий на те, що ви зробив в задачі встановити 7. 1281 01:01:23,880 --> 01:01:26,300 >> По-перше, масив нічим конкретно. 1282 01:01:26,300 --> 01:01:28,140 Який вид масиву це? 1283 01:01:28,140 --> 01:01:29,080 >> АУДИТОРІЯ: Асоціативний. 1284 01:01:29,080 --> 01:01:31,250 >> Джейсон Хіршхорна: Це асоціативний масив. 1285 01:01:31,250 --> 01:01:33,750 І в чому ж різниця між асоціативний масив і об'єкт? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> АУДИТОРІЯ: масив об'єктів має індекс цілих чисел, і асоціативний масив 1288 01:01:44,857 --> 01:01:47,814 є індексом рядка, або щось в цьому роді. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> Джейсон Хіршхорна: Так масив об'єкти будуть мати індекси 1291 01:01:54,880 --> 01:01:57,090 цілі числа, а об'єкт має поля. 1292 01:01:57,090 --> 01:02:01,590 Він має ті поля імена, як ім'я, будинок, студент. 1293 01:02:01,590 --> 01:02:03,720 У вас є ідея? 1294 01:02:03,720 --> 01:02:06,630 >> АУДИТОРІЯ: Ну, асоціативне Масив знаходиться в PHP, чи не так? 1295 01:02:06,630 --> 01:02:07,880 І об'єкт знаходиться в JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> НЕ Джейсон Хіршхорна: Чесно кажучи, немає ніякої реальна різниця між ними. 1298 01:02:14,820 --> 01:02:19,540 Обидва мають рядки в якості ключів, а може є в основному нічого як значення. 1299 01:02:19,540 --> 01:02:21,250 Різні мови, зателефонуйте по одному річ асоціативний масив, 1300 01:02:21,250 --> 01:02:22,750 Одна справа об'єкт. 1301 01:02:22,750 --> 01:02:25,960 Так чесно, немає ніякого реального різниця, але є, звичайно, деякі 1302 01:02:25,960 --> 01:02:27,730 синтаксичні відмінності між ними. 1303 01:02:27,730 --> 01:02:28,200 Так. 1304 01:02:28,200 --> 01:02:33,580 >> АУДИТОРІЯ: Так як об'єкт також під кодом капот в хеш-таблиці, то? 1305 01:02:33,580 --> 01:02:35,796 >> Джейсон Хіршхорна: Що ви У сенсі, закодовані під капотом? 1306 01:02:35,796 --> 01:02:38,017 >> АУДИТОРІЯ: Нам сказали, що асоціативна Масив був технічно 1307 01:02:38,017 --> 01:02:39,960 хеш-таблиці. 1308 01:02:39,960 --> 01:02:44,510 Так об'єкт також технічно хеш-таблиці? 1309 01:02:44,510 --> 01:02:45,350 >> Джейсон Хіршхорна: я не збираюся відповісти на це питання. 1310 01:02:45,350 --> 01:02:46,600 Я повернуся до вас на що. 1311 01:02:46,600 --> 01:02:48,980 Але я не думав би про або з тих, як цей. 1312 01:02:48,980 --> 01:02:53,790 Але, в будь-якому випадку, асоціативний масив і Об'єкт, як правило, люди використовують ті 1313 01:02:53,790 --> 01:02:54,910 терміни взаємозамінні. 1314 01:02:54,910 --> 01:02:57,630 У цьому випадку, прохолодна частина що ви можете використовувати ключі. 1315 01:02:57,630 --> 01:03:00,580 Рядки як ключі, а не тільки прості числа. 1316 01:03:00,580 --> 01:03:02,070 >> Так що я говорю про це на деякий час. 1317 01:03:02,070 --> 01:03:04,090 Будемо сподіватися, що у деяких людей є отримали почав на цьому. 1318 01:03:04,090 --> 01:03:08,050 Ми збираємося написати деякий PHP і HTML Код, таким чином, що ми отримуємо в два стовпці 1319 01:03:08,050 --> 01:03:11,830 стіл з TFS імен і будинків. 1320 01:03:11,830 --> 01:03:15,380 >> Добре, я також хотів би заголовок гребти по цій таблиці. 1321 01:03:15,380 --> 01:03:18,410 Так що я збираюся отримати прямо в це. 1322 01:03:18,410 --> 01:03:20,770 Ми збираємося подати, новий, і ми збираємося - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> ОК. 1325 01:03:28,320 --> 01:03:29,970 Як мені почати таблиця? 1326 01:03:29,970 --> 01:03:32,090 Що тег, Майкл, почати таблицю? 1327 01:03:32,090 --> 01:03:32,890 >> АУДИТОРІЯ: Таблиця. 1328 01:03:32,890 --> 01:03:34,020 >> Джейсон Хіршхорна: Таблиця. 1329 01:03:34,020 --> 01:03:37,870 І якщо я відкриваю тег, що ще мені потрібно? 1330 01:03:37,870 --> 01:03:39,810 >> АУДИТОРІЯ: голова? 1331 01:03:39,810 --> 01:03:41,040 Або, я думаю, клас. 1332 01:03:41,040 --> 01:03:41,730 >> Джейсон Хіршхорна: Так, вибачте. 1333 01:03:41,730 --> 01:03:45,430 Припустимо, що ми вже написали doctab, HTML, все таке. 1334 01:03:45,430 --> 01:03:50,230 Але якщо я відкриваю цю таблицю тег, що ще мені потрібно писати? 1335 01:03:50,230 --> 01:03:53,450 для перевірки HTML? 1336 01:03:53,450 --> 01:03:55,000 >> АУДИТОРІЯ: Закрийте його. 1337 01:03:55,000 --> 01:03:56,050 >> Джейсон Хіршхорна: Закрийте тег. 1338 01:03:56,050 --> 01:03:57,575 Як мені написати тег великим стіл? 1339 01:03:57,575 --> 01:03:59,580 >> АУДИТОРІЯ: Dot скоротити таблицю. 1340 01:03:59,580 --> 01:04:00,960 >> Джейсон Хіршхорна: Slash стіл, великий. 1341 01:04:00,960 --> 01:04:02,730 Напевно, має сенс написати як з тих, разом, тому що 1342 01:04:02,730 --> 01:04:03,870 ви повинні це зробити. 1343 01:04:03,870 --> 01:04:08,575 Добре, якщо я хочу рядок заголовка, як зробити Я пишу рядок заголовка з назвами? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> АУДИТОРІЯ: Це менше ніж на 10:00 закриття - 1346 01:04:19,290 --> 01:04:21,550 TR, так. 1347 01:04:21,550 --> 01:04:22,100 >> Джейсон Хіршхорна: TR? 1348 01:04:22,100 --> 01:04:25,080 >> АУДИТОРІЯ: Тоді ж саме, слеш, так. 1349 01:04:25,080 --> 01:04:26,610 >> Джейсон Хіршхорна: ОК, а дайте мені дві колонки. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> АУДИТОРІЯ: T D? 1352 01:04:33,210 --> 01:04:34,460 >> Джейсон Хіршхорна: ОК. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 Я хочу два стовпці. 1355 01:04:39,520 --> 01:04:40,960 Чи означає це, дайте мені дві колонки? 1356 01:04:40,960 --> 01:04:43,880 Скільки стовпці це? 1357 01:04:43,880 --> 01:04:45,920 Один. 1358 01:04:45,920 --> 01:04:47,170 Так що давайте скопіюйте і вставте цей. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Таким чином, фактично, на вікторині, весь цей код що ми написали досі було 1361 01:05:03,390 --> 01:05:04,710 насправді дано вам. 1362 01:05:04,710 --> 01:05:06,200 Але ви повинні, ймовірно, як і раніше знаєте, як писати його. 1363 01:05:06,200 --> 01:05:06,470 Так. 1364 01:05:06,470 --> 01:05:10,636 >> АУДИТОРІЯ: Ваш будинок між ними. 1365 01:05:10,636 --> 01:05:11,130 >> Джейсон Хіршхорна: Бум. 1366 01:05:11,130 --> 01:05:12,720 Це має піти прямо там, чи не так? 1367 01:05:12,720 --> 01:05:14,600 Гарне слово. 1368 01:05:14,600 --> 01:05:17,760 Отже, ще раз, все це код насправді дано вам від фактичного вікторини. 1369 01:05:17,760 --> 01:05:19,570 Але це весело, щоб написати її, і ви повинні знати, як писати. 1370 01:05:19,570 --> 01:05:23,640 Так що це, де ви повинні щоб почати свій код. 1371 01:05:23,640 --> 01:05:25,150 Що нам потрібно, щоб написати прямо тут? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> На жаль, мені потрібно змінити Ім'я цього файлу. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Таким чином, ми зберегли його в. HTML файл, не в. файл PHP. 1376 01:05:44,270 --> 01:05:47,030 Ці речі не означатиме нічого в. файл PHP. 1377 01:05:47,030 --> 01:05:48,500 Таким чином, ми знаходимося в. HTML-файл. 1378 01:05:48,500 --> 01:05:50,090 Що таке перше, що Мені потрібно написати? 1379 01:05:50,090 --> 01:05:52,990 Я хочу поставити деякі PHP Код в HTML. 1380 01:05:52,990 --> 01:05:57,300 >> АУДИТОРІЯ: PHP, як інший моркви і знак питання PHP, чи не так? 1381 01:05:57,300 --> 01:05:58,310 >> Джейсон Хіршхорна: Відмінно. 1382 01:05:58,310 --> 01:05:59,360 І як я можу закінчити це? 1383 01:05:59,360 --> 01:06:02,510 >> АУДИТОРІЯ: З знаком питання. 1384 01:06:02,510 --> 01:06:03,120 >> Джейсон Хіршхорна: Це здорово. 1385 01:06:03,120 --> 01:06:07,090 Це перше, що мені потрібно, якщо я хочу поставити деякі PHP код тут. 1386 01:06:07,090 --> 01:06:11,210 >> АУДИТОРІЯ:. Я думав, PHP файл може зайняти HTML. 1387 01:06:11,210 --> 01:06:12,290 >> Джейсон Хіршхорна: Так. 1388 01:06:12,290 --> 01:06:15,330 . Файл PHP може зайняти деякий HTML і відображається. 1389 01:06:15,330 --> 01:06:16,450 Це була моя погано. 1390 01:06:16,450 --> 01:06:18,300 Я просто намагався наслідувати що це було на вікторині. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> ОК, вибачте, щоб заплутати вас. 1393 01:06:24,720 --> 01:06:25,550 Так, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Тепер ми збираємося поставити деякі PHP код дюйма 1395 01:06:27,340 --> 01:06:30,530 Що таке перша лінія PHP код, я повинен написати? 1396 01:06:30,530 --> 01:06:33,360 Я збираюся пройти через цей масив і перетворити його в таблиці. 1397 01:06:33,360 --> 01:06:34,600 Так. 1398 01:06:34,600 --> 01:06:37,160 >> АУДИТОРІЯ: Ви можете використовувати для H петлі або для петлі. 1399 01:06:37,160 --> 01:06:38,415 >> Джейсон Хіршхорна: Добре, що ви хочете використовувати? 1400 01:06:38,415 --> 01:06:40,720 >> АУДИТОРІЯ: Я хотів би використовувати для петлі. 1401 01:06:40,720 --> 01:06:48,700 Для, а потім ви робите знак долара я одно 0 коми долар 1402 01:06:48,700 --> 01:06:51,580 підписати я менше 2. 1403 01:06:51,580 --> 01:06:55,455 А потім запитай я долар знак, я плюс плюс. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> Джейсон Хіршхорна: Як зробити Ви знаєте, щоб використовувати 2? 1406 01:07:03,880 --> 01:07:10,444 >> АУДИТОРІЯ: Тому що було два асоціативні масиви всередині більше 1407 01:07:10,444 --> 01:07:11,960 асоціативний масив. 1408 01:07:11,960 --> 01:07:13,610 >> Джейсон Хіршхорна: Так що найбільший штука НЕ асоціативний масив. 1409 01:07:13,610 --> 01:07:15,500 Велика річ просто нормальний масив. 1410 01:07:15,500 --> 01:07:17,380 Але ви маєте рацію, є дві асоціативні масиви 1411 01:07:17,380 --> 01:07:18,910 всередині нашого великого масиву. 1412 01:07:18,910 --> 01:07:20,310 Ось чому ви використовуєте два. 1413 01:07:20,310 --> 01:07:24,270 Я відчуваю себе некомфортно за умови, що вони 2, так в чому спосіб написання 1414 01:07:24,270 --> 01:07:26,810 це не припускаючи, що вони 2? 1415 01:07:26,810 --> 01:07:27,507 >> АУДИТОРІЯ: [нерозбірливо]? 1416 01:07:27,507 --> 01:07:29,165 >> Джейсон Хіршхорна: Добре, як Ви пишете, що? 1417 01:07:29,165 --> 01:07:35,262 >> АУДИТОРІЯ: знак долара по кожному елементу TFS або як знак долара тс. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> Джейсон Хіршхорна: Отже, для кожного TFS як TFS, я хочу, тепер 1420 01:07:41,960 --> 01:07:43,650 знову ж, є свій стіл. 1421 01:07:43,650 --> 01:07:45,250 Так хто може дати мені Наступний рядок коду? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> АУДИТОРІЯ: Друк, а потім у котирування, кронштейн тр кінець 1424 01:07:59,810 --> 01:08:02,670 кронштейн, кінець цитати. 1425 01:08:02,670 --> 01:08:05,300 Кінець дужки, крапка з комою. 1426 01:08:05,300 --> 01:08:07,135 >> Джейсон Хіршхорна: ОК, а що, що будемо робити? 1427 01:08:07,135 --> 01:08:08,610 >> АУДИТОРІЯ: Це буде сказати, новий рядок. 1428 01:08:08,610 --> 01:08:11,070 Це збирається поставити помітити для нового рядка. 1429 01:08:11,070 --> 01:08:13,000 >> Джейсон Хіршхорна: справа, це PHP, як ми говорили раніше - це 1430 01:08:13,000 --> 01:08:22,160 PHP збирається бути оцінені, а потім це буде роздрукувати в цей файл 1431 01:08:22,160 --> 01:08:26,350 Таблиця підйомник, а потім, що HTML оцінюватиметься. 1432 01:08:26,350 --> 01:08:27,810 Ми просто копіюючи цей HTML ми мали тут. 1433 01:08:27,810 --> 01:08:28,120 Так. 1434 01:08:28,120 --> 01:08:29,470 >> АУДИТОРІЯ: [нерозбірливо]? 1435 01:08:29,470 --> 01:08:30,290 >> Джейсон Хіршхорна: Вибачте? 1436 01:08:30,290 --> 01:08:31,240 Це прямо тут. 1437 01:08:31,240 --> 01:08:33,590 Осінь 2012. 1438 01:08:33,590 --> 01:08:35,970 Не дивіться на відповіді, давайте вирішувати їх разом. 1439 01:08:35,970 --> 01:08:37,330 Так ми друкуємо рядок таблиці. 1440 01:08:37,330 --> 01:08:38,550 Таким чином, ви, ймовірно, в гойдалки речей. 1441 01:08:38,550 --> 01:08:41,060 Який наступний лінія Код нам треба написати? 1442 01:08:41,060 --> 01:08:42,926 Ассам, дай мені наступний рядок коду. 1443 01:08:42,926 --> 01:08:46,290 >> АУДИТОРІЯ: Ви повинні ім'я TF в. 1444 01:08:46,290 --> 01:08:54,319 Т відкритої дужки лапки Закрите дужки. 1445 01:08:54,319 --> 01:08:57,310 >> Джейсон Хіршхорна: Дайте мені своє ім'я. 1446 01:08:57,310 --> 01:08:58,540 >> АУДИТОРІЯ: Вам потрібно роздрукувати, що. 1447 01:08:58,540 --> 01:08:59,790 >> [Вставляючи ГОЛОСИ] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> Джейсон Хіршхорна: ОК, як я можу надрукувати? 1450 01:09:03,430 --> 01:09:04,680 >> [Вставляючи ГОЛОСИ] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> Джейсон Хіршхорна: Мені не вистачає щось зараз. 1453 01:09:10,350 --> 01:09:12,470 Що мені не вистачає? 1454 01:09:12,470 --> 01:09:13,720 >> АУДИТОРІЯ: Вам потрібен знак долара. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> Джейсон Хіршхорна: Що ще мені не вистачає? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Все, що ми надруковані досі є тр. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> АУДИТОРІЯ: Закрийте тр після нього. 1461 01:09:27,470 --> 01:09:28,720 >> Джейсон Хіршхорна: Так що нам потрібно щоб після закриття тр. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Хто бачить, що ми пропустили у рядку 16? 1464 01:09:37,906 --> 01:09:39,340 Так, Анна. 1465 01:09:39,340 --> 01:09:47,050 >> АУДИТОРІЯ: Вам потрібно відкрити тд і фігурні дужки. 1466 01:09:47,050 --> 01:09:49,380 >> Джейсон Хіршхорна: А де ми ставимо фігурні дужки? 1467 01:09:49,380 --> 01:09:51,790 >> АУДИТОРІЯ: Навколо імені тс. 1468 01:09:51,790 --> 01:09:53,080 >> Джейсон Хіршхорна: Як це? 1469 01:09:53,080 --> 01:09:55,420 >> АУДИТОРІЯ: Так. 1470 01:09:55,420 --> 01:09:59,000 І потім закрийте тд. 1471 01:09:59,000 --> 01:10:00,250 >> Джейсон Хіршхорна: Як що? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> АУДИТОРІЯ: Чи потрібна вам подвійну цитату знаки поруч з фігурними дужками? 1474 01:10:06,950 --> 01:10:07,460 >> Джейсон Хіршхорна: Прямо тут? 1475 01:10:07,460 --> 01:10:08,710 Ні, ви не знаєте. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Так це абсолютно вірно. 1478 01:10:12,550 --> 01:10:12,940 Так. 1479 01:10:12,940 --> 01:10:15,290 >> АУДИТОРІЯ: Таким чином, різниця між тим, і encatenating з точками є, якщо 1480 01:10:15,290 --> 01:10:18,420 Ви використовуєте точки, ви повинні були б мати подвійні лапки, то точка, 1481 01:10:18,420 --> 01:10:20,370 то точка - 1482 01:10:20,370 --> 01:10:20,520 >> Джейсон Хіршхорна: Правильно. 1483 01:10:20,520 --> 01:10:23,800 Так ви говорите, що є кінцева спосіб написання цього так. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Що оператор конкатенації в JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> АУДИТОРІЯ: Знак плюс. 1487 01:10:31,200 --> 01:10:34,710 Ви забули поставити фігурна дужка тому. 1488 01:10:34,710 --> 01:10:35,760 >> Джейсон Хіршхорна: Відмінно. 1489 01:10:35,760 --> 01:10:38,850 І є ще одна лінія коду відсутня. 1490 01:10:38,850 --> 01:10:40,130 Хто може дати мені останній рядок коду ми пропустили? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> АУДИТОРІЯ: Просто та ж сама річ, просто з будинком замість імені. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Великий 1495 01:10:53,450 --> 01:10:54,390 >> Джейсон Хіршхорна: Відмінно. 1496 01:10:54,390 --> 01:10:59,320 І ваш синтаксис підійде саме отримувати речі в якості асоційованого масиву. 1497 01:10:59,320 --> 01:11:04,450 Таким чином, в реальному вікторини, ви насправді не відмовився, поки тут. 1498 01:11:04,450 --> 01:11:05,710 Так цей код був даний вам. 1499 01:11:05,710 --> 01:11:07,750 Все, що вам треба було написати були ці чотири лінії, і не забудьте 1500 01:11:07,750 --> 01:11:09,190 закрити тег таблиці. 1501 01:11:09,190 --> 01:11:11,370 Ви, хлопці, насправді все це і багато іншого. 1502 01:11:11,370 --> 01:11:11,810 Так. 1503 01:11:11,810 --> 01:11:14,850 >> АУДИТОРІЯ: Так що було б функціонально те ж саме, якщо ви тільки що, що все в 1504 01:11:14,850 --> 01:11:17,250 один великий виклик для друку, чи не так? 1505 01:11:17,250 --> 01:11:19,630 А потім просто об'єднуються це на, і так далі? 1506 01:11:19,630 --> 01:11:20,730 >> Джейсон Хіршхорна: Як що? 1507 01:11:20,730 --> 01:11:21,980 >> АУДИТОРІЯ: Так. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Вона просто не буде виглядати добре, якщо б ви були дивлячись на нього, коли ви огляду 1510 01:11:26,940 --> 01:11:28,550 елемент на своєму сайті, чи не так? 1511 01:11:28,550 --> 01:11:29,800 >> Джейсон Хіршхорна: Я згоден. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Якщо я завантажив цю веб-сторінку, я був би змозі бачити цей PHP код, коли-небудь? 1514 01:11:38,710 --> 01:11:39,240 >> АУДИТОРІЯ: Ні. 1515 01:11:39,240 --> 01:11:40,080 >> Джейсон Хіршхорна: Ні. 1516 01:11:40,080 --> 01:11:42,240 А насправді, я б не став. 1517 01:11:42,240 --> 01:11:43,920 >> АУДИТОРІЯ: Це не HTML, вірно? 1518 01:11:43,920 --> 01:11:45,000 Таким чином, ви могли б - 1519 01:11:45,000 --> 01:11:46,780 >> Джейсон Хіршхорна: Так що це PHP буде бути оцінені на стороні сервера. 1520 01:11:46,780 --> 01:11:51,020 PHP завжди оцінюється на стороні сервера, так ви ніколи не побачите PHP код. 1521 01:11:51,020 --> 01:11:52,980 >> Зали: Але ви були б в змозі побачити результат відбитків. 1522 01:11:52,980 --> 01:11:53,480 >> Джейсон Хіршхорна: Вірно. 1523 01:11:53,480 --> 01:11:55,510 І це, чесно кажучи, не могли б поставити все це на лінії. 1524 01:11:55,510 --> 01:11:59,740 Це може відформатувати його приємно для вас, або це може поставити його на одній лінії. 1525 01:11:59,740 --> 01:12:01,521 Незрозуміло. 1526 01:12:01,521 --> 01:12:03,596 Але так, хороший момент. 1527 01:12:03,596 --> 01:12:06,470 >> АУДИТОРІЯ: Чому там немає виділення тексту для 1528 01:12:06,470 --> 01:12:07,550 будь-яку з команд PHP? 1529 01:12:07,550 --> 01:12:09,370 Тому що я пам'ятаю, що. 1530 01:12:09,370 --> 01:12:11,620 >> Джейсон Хіршхорна: Тому що це . HTML файл тут на самому верху. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Там ви йдете. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> АУДИТОРІЯ: Якби ми зробили початковий метод с для петель, праворуч, якщо ми 1535 01:12:28,800 --> 01:12:33,500 хотів отримати доступ до TFS, так чи зробити TFS кронштейн 0 кронштейн, то 1536 01:12:33,500 --> 01:12:35,180 [Нерозбірливості]? 1537 01:12:35,180 --> 01:12:35,970 >> Джейсон Хіршхорна: Ви б - 1538 01:12:35,970 --> 01:12:40,560 так що ви хочете сказати, що для для циклу, ви могли б зробити на знак долара TFS кронштейном 1 1539 01:12:40,560 --> 01:12:41,850 або я, чи не так. 1540 01:12:41,850 --> 01:12:46,780 Або знак долара я закриваю кронштейн а потім квадратна дужка 1541 01:12:46,780 --> 01:12:49,600 подвійні лапки, так. 1542 01:12:49,600 --> 01:12:50,640 >> ОК, відмінно. 1543 01:12:50,640 --> 01:12:53,020 У нас є ще один швидкий один. 1544 01:12:53,020 --> 01:12:55,090 Сім хвилин, так що я хочу перейти на цей. 1545 01:12:55,090 --> 01:12:56,160 Це ще один приклад. 1546 01:12:56,160 --> 01:12:58,740 Тепер ми повністю іншу мову. 1547 01:12:58,740 --> 01:12:59,990 >> У нас є деякі HTML-код. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Це свого роду невеликий на екрані, але Я хочу, щоб ви через нього дійсно 1550 01:13:07,460 --> 01:13:11,140 швидко, і може хто-небудь сказати мені, якби я був, щоб завантажити цю веб-сторінку, 1551 01:13:11,140 --> 01:13:12,390 що я хотів би бачити? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Опишіть все про це веб-сторінка. 1554 01:13:26,450 --> 01:13:28,630 Ной? 1555 01:13:28,630 --> 01:13:30,450 Що б я бачу? 1556 01:13:30,450 --> 01:13:38,140 >> АУДИТОРІЯ: Код на передньому кінці Google, з почуттям текст і 1557 01:13:38,140 --> 01:13:39,190 кнопку натиснути кнопку. 1558 01:13:39,190 --> 01:13:41,180 >> Джейсон Хіршхорна: А що б кнопку сказати? 1559 01:13:41,180 --> 01:13:42,430 >> АУДИТОРІЯ: Надіслати. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 О, пошук. 1562 01:13:45,160 --> 01:13:45,840 Мені дуже шкода. 1563 01:13:45,840 --> 01:13:46,830 >> Джейсон Хіршхорна: Це б сказав пошуку. 1564 01:13:46,830 --> 01:13:47,520 Пам'ятайте, ім'я. 1565 01:13:47,520 --> 01:13:50,550 Що ми використовуємо назву? 1566 01:13:50,550 --> 01:13:53,774 Цей атрибут ім'я, що що використовується? 1567 01:13:53,774 --> 01:13:55,470 >> [Вставляючи ГОЛОСИ] 1568 01:13:55,470 --> 01:13:59,300 >> АУДИТОРІЯ: Це його ім'я коли він натиснув? 1569 01:13:59,300 --> 01:14:00,160 >> Джейсон Хіршхорна: Це може бути. 1570 01:14:00,160 --> 01:14:02,690 Але те, що ми зазвичай бачимо - чому ми даємо цю чергу ім'я? 1571 01:14:02,690 --> 01:14:03,830 Чому ми бачимо, що? 1572 01:14:03,830 --> 01:14:05,220 Так. 1573 01:14:05,220 --> 01:14:08,600 >> АУДИТОРІЯ: Хіба це не стало індекс з супер глобальної змінної? 1574 01:14:08,600 --> 01:14:12,740 >> Джейсон Хіршхорна: Так, як правило, коли ця форма буде представляти, а потім, коли 1575 01:14:12,740 --> 01:14:13,500 б це уявити? 1576 01:14:13,500 --> 01:14:14,750 Що сторінки? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Ной, на якій сторінці би це уявити? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> Зали: Я не впевнений. 1581 01:14:27,700 --> 01:14:28,920 >> Джейсон Хіршхорна: Де може ми можемо знайти його? 1582 01:14:28,920 --> 01:14:31,025 Де ви знаходите, що сторінка це уявляє? 1583 01:14:31,025 --> 01:14:32,850 Що рядок коду? 1584 01:14:32,850 --> 01:14:34,040 >> АУДИТОРІЯ: Форма дію. 1585 01:14:34,040 --> 01:14:34,650 >> Джейсон Хіршхорна: Абсолютно вірно. 1586 01:14:34,650 --> 01:14:35,130 Дія. 1587 01:14:35,130 --> 01:14:37,100 Так що подає у сторінці пошуку. 1588 01:14:37,100 --> 01:14:38,630 Зворотна коса риса пошук. 1589 01:14:38,630 --> 01:14:40,140 Так це абсолютно вірно. 1590 01:14:40,140 --> 01:14:40,680 Який метод? 1591 01:14:40,680 --> 01:14:42,090 >> АУДИТОРІЯ: Отримати. 1592 01:14:42,090 --> 01:14:42,490 >> Джейсон Хіршхорна: Отримати. 1593 01:14:42,490 --> 01:14:43,420 Саме так. 1594 01:14:43,420 --> 01:14:44,490 Так, ми читаємо це. 1595 01:14:44,490 --> 01:14:45,180 Це збирається бути однією з форм. 1596 01:14:45,180 --> 01:14:45,910 Ви абсолютно праві. 1597 01:14:45,910 --> 01:14:50,340 Дві речі за формою, назва сторінки і верхній б Google. 1598 01:14:50,340 --> 01:14:54,270 >> Так от два питання, ви повинні бути в змозі відповісти про цю сторінку. 1599 01:14:54,270 --> 01:15:01,760 Якщо це HTML живе на цьому веб-сайті та користувач вводить помилку в тексті 1600 01:15:01,760 --> 01:15:06,900 поле прямо тут, що URL буде користувачеві знайти себе на 1601 01:15:06,900 --> 01:15:08,150 заповнивши форму? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Тому у нас є це прямо тут. 1604 01:15:12,510 --> 01:15:13,720 Я збираюся повернутися в цю сторінку, однако. 1605 01:15:13,720 --> 01:15:16,980 Я напишу цю першу частину. 1606 01:15:16,980 --> 01:15:18,230 Чи всі можуть побачити тут? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 ОК, Маріо, ви думаєте, що знаєте? 1609 01:15:32,906 --> 01:15:34,700 Що сторінки? 1610 01:15:34,700 --> 01:15:37,630 >> АУДИТОРІЯ: пошук Зворотній коса риска. 1611 01:15:37,630 --> 01:15:38,880 >> Джейсон Хіршхорна: Я збираюся рухатися вниз тут. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 ОК, зворотний слеш Пошук питання марка д дорівнює помилка. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Хто-небудь має різне пропозицію? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Так. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Так як же нам отримати? 1620 01:16:03,740 --> 01:16:05,520 Ну, ми бачили це раніше. 1621 01:16:05,520 --> 01:16:07,170 І ви прийшли до цього раніше. 1622 01:16:07,170 --> 01:16:08,870 Ви були праві, Ной, що дії говорять нам, що 1623 01:16:08,870 --> 01:16:11,700 сторінки ми збираємося. 1624 01:16:11,700 --> 01:16:12,820 >> Ми також знаємо, що таке метод. 1625 01:16:12,820 --> 01:16:13,420 Ми робимо отримати. 1626 01:16:13,420 --> 01:16:17,040 І різниця між GET та повідомленням є те, що отримати дисплеї в URL 1627 01:16:17,040 --> 01:16:18,490 і після цього не робить. 1628 01:16:18,490 --> 01:16:22,760 Так що, якщо я написав пост прямо в Метод, що буде по-іншому? 1629 01:16:22,760 --> 01:16:24,250 >> АУДИТОРІЯ: Було б просто бути пошук слеш. 1630 01:16:24,250 --> 01:16:25,400 >> Джейсон Хіршхорна: Було б просто бути слеш пошуку. 1631 01:16:25,400 --> 01:16:27,400 Ніщо тут не трапиться. 1632 01:16:27,400 --> 01:16:30,030 Але тому що це отримати, URL відображається наступним чином. 1633 01:16:30,030 --> 01:16:35,140 Спочатку ми бачимо знак питання і ми бачимо ім'я і значення. 1634 01:16:35,140 --> 01:16:42,730 Скажімо була ще одна текстове поле і Я дав йому ім'я г і я INPUT A 1635 01:16:42,730 --> 01:16:45,220 значення, гусениця. 1636 01:16:45,220 --> 01:16:48,560 Що б це зараз виглядає? 1637 01:16:48,560 --> 01:16:52,040 Я ще один текстове поле, я даю найменування г і значенням гусениці. 1638 01:16:52,040 --> 01:16:56,990 >> АУДИТОРІЯ: Після барі вам доведеться амперсанд гусениця. 1639 01:16:56,990 --> 01:16:58,380 >> Джейсон Хіршхорна: Це НЕ амперсанд. 1640 01:16:58,380 --> 01:17:00,500 >> АУДИТОРІЯ: Або просто все і символ. 1641 01:17:00,500 --> 01:17:01,330 >> Джейсон Хіршхорна: Так, немає. 1642 01:17:01,330 --> 01:17:03,700 Ви були праві, я був неправий. 1643 01:17:03,700 --> 01:17:05,660 Ось як р. 1644 01:17:05,660 --> 01:17:06,910 >> АУДИТОРІЯ: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 г дорівнює гусеницю, вибачте. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> Джейсон Хіршхорна: Є немає т там? 1649 01:17:14,700 --> 01:17:16,680 >> АУДИТОРІЯ: Ні, є. 1650 01:17:16,680 --> 01:17:18,030 >> Джейсон Хіршхорна: Ми будемо говорити про те, що після занять. 1651 01:17:18,030 --> 01:17:18,930 Ось саме. 1652 01:17:18,930 --> 01:17:20,530 Таким чином, і є правильним. 1653 01:17:20,530 --> 01:17:23,430 І тоді ви могли б багато з них, і всі вони будуть об'єднані 1654 01:17:23,430 --> 01:17:24,950 разом з цим, і. 1655 01:17:24,950 --> 01:17:25,900 Так це абсолютно вірно. 1656 01:17:25,900 --> 01:17:27,700 >> Там ще одне питання. 1657 01:17:27,700 --> 01:17:30,676 Ескіз DOM Цей HTML-, починаючи з документом. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Ми могли б зробити це протягом двох хвилин. 1660 01:17:34,570 --> 01:17:36,790 Ми зробимо це тут. 1661 01:17:36,790 --> 01:17:38,040 Я повернуся до цієї веб-сторінки. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 Добре, ми почнемо з документа. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Що далі? 1666 01:17:52,090 --> 01:17:53,910 Тому, коли ви читаєте через - 1667 01:17:53,910 --> 01:17:54,540 >> АУДИТОРІЯ: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> Джейсон Хіршхорна: HTML знаходиться поруч. 1669 01:17:55,790 --> 01:17:57,850 Ми збираємося піти тег за тегом. 1670 01:17:57,850 --> 01:18:00,890 Що після HTML? 1671 01:18:00,890 --> 01:18:01,550 >> АУДИТОРІЯ: зав. 1672 01:18:01,550 --> 01:18:02,800 >> Джейсон Хіршхорна: зав. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Що після голові? 1675 01:18:08,520 --> 01:18:09,770 >> АУДИТОРІЯ: Назва. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> Джейсон Хіршхорна: Назва. 1678 01:18:12,560 --> 01:18:14,740 І назва має значення Google, але я не збираюся 1679 01:18:14,740 --> 01:18:16,240 пишуть, що у зараз. 1680 01:18:16,240 --> 01:18:18,750 Добре, де ж тіло йти? 1681 01:18:18,750 --> 01:18:20,890 >> АУДИТОРІЯ: Також сходить на HTML. 1682 01:18:20,890 --> 01:18:21,490 >> Джейсон Хіршхорна: Абсолютно вірно. 1683 01:18:21,490 --> 01:18:22,820 Тіло відривається звідси. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Чи бачить все чому це так? 1686 01:18:30,330 --> 01:18:32,970 Ви, ймовірно, слід бути в змозі зрозуміти це, теж, навіть якщо у мене не було 1687 01:18:32,970 --> 01:18:33,665 це хороше відступи. 1688 01:18:33,665 --> 01:18:37,680 >> Поглиблення роду віддає його, але ви можете бачити, що глава тег має 1689 01:18:37,680 --> 01:18:41,240 були закриті, що означає, що ми, ймовірно, не можете піти сюди. 1690 01:18:41,240 --> 01:18:43,460 Ми повинні повернутися до все був прямо перед головою 1691 01:18:43,460 --> 01:18:44,730 тег, або під що. 1692 01:18:44,730 --> 01:18:46,720 Ми навіть з головним тега. 1693 01:18:46,720 --> 01:18:48,560 >> І під корпусом йде форма. 1694 01:18:48,560 --> 01:18:50,300 Під формі, є два входи. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 ОК. 1697 01:18:54,420 --> 01:18:55,490 Ось все, що я отримав. 1698 01:18:55,490 --> 01:18:56,980 Вікторина 1 завтра. 1699 01:18:56,980 --> 01:18:58,350 Я так радий за вас, хлопці. 1700 01:18:58,350 --> 01:18:59,690 Це збирається бути вибух. 1701 01:18:59,690 --> 01:19:00,250 >> Якщо у вас є - 1702 01:19:00,250 --> 01:19:00,600 >> АУДИТОРІЯ: [оплески] 1703 01:19:00,600 --> 01:19:02,460 >> Джейсон Хіршхорна: Про стоп, стоп. 1704 01:19:02,460 --> 01:19:04,520 Але ні, я жартую. 1705 01:19:04,520 --> 01:19:07,220 Якщо у вас є які-небудь питання, чи не так після розділу, я буду зовні. 1706 01:19:07,220 --> 01:19:11,700 Якщо у вас виникли питання сьогодні ввечері, не соромтеся, дзвоніть, електронна пошта, Gchat, 1707 01:19:11,700 --> 01:19:12,740 поштовим голубом мене. 1708 01:19:12,740 --> 01:19:13,950 Удачи завтра. 1709 01:19:13,950 --> 01:19:16,220 Є чудовий перерву подяки, якщо я не бачу тебе до цього. 1710 01:19:16,220 --> 01:19:19,320 І я буду бачити вас після Дня подяки у вівторок протягом нашого заключній 1711 01:19:19,320 --> 01:19:20,295 розділ партія ніколи. 1712 01:19:20,295 --> 01:19:21,545 >> АУДИТОРІЯ: [нерозбірливо]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> Джейсон Хіршхорна: Відмінно. 1715 01:19:25,790 --> 01:19:28,900 ОК, я буду бачити вас, хлопці поруч тиждень або два тижні. 1716 01:19:28,900 --> 01:19:30,150 І удачі завтра. 1717 01:19:30,150 --> 01:19:32,203