1 00:00:00,000 --> 00:00:04,410 >> [Играет музыка] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> СПИКЕР 1: Это CS50 и это конец недели семь. 4 00:00:15,770 --> 00:00:20,240 Сегодня, пожалуй, где мы действительно учит вас языков. 5 00:00:20,240 --> 00:00:24,100 Мы ввели в последние пару недель HTML и CSS, ни один из которых 6 00:00:24,100 --> 00:00:25,240 языки программирования. 7 00:00:25,240 --> 00:00:28,600 И в самом деле, даже если мы не посмотреть на почти все теги 8 00:00:28,600 --> 00:00:33,410 что HTML-поставляется с и почти все из свойств, которые УС поставляется с, 9 00:00:33,410 --> 00:00:35,007 это своего рода ней HTML и CSS. 10 00:00:35,007 --> 00:00:36,840 Мы будем просто вообще начать предполагая, что вы 11 00:00:36,840 --> 00:00:39,545 понять общие идеи, тегов и атрибутов,, 12 00:00:39,545 --> 00:00:41,850 и страницы отправляются от клиента к серверу. 13 00:00:41,850 --> 00:00:45,280 >> Потому что сегодня мы начинаем смотреть на другой язык программирования РНР. 14 00:00:45,280 --> 00:00:47,110 Мы собираемся сделать это очень быстро. 15 00:00:47,110 --> 00:00:50,910 Мы не собираемся учить вас PHP таковой, так же, как мы не стремимся научить вас 16 00:00:50,910 --> 00:00:52,670 С таковой, а, скорее, программирование. 17 00:00:52,670 --> 00:00:55,088 И в самом деле, одним из Цели данного курса 18 00:00:55,088 --> 00:00:57,820 не научить вас C, или HTML, CSS или, или PHP, 19 00:00:57,820 --> 00:01:00,370 или любое количество других умные слова или аббревиатуры, 20 00:01:00,370 --> 00:01:03,097 а информатики и, как программировать принципиально. 21 00:01:03,097 --> 00:01:05,930 И в самом деле, сегодня мы начинаем принимать эти учебные диски прочь все 22 00:01:05,930 --> 00:01:10,600 дальше, пролетев через язык называется PHP, следующим образом. 23 00:01:10,600 --> 00:01:13,640 >> Вот то, что этот язык выглядит. 24 00:01:13,640 --> 00:01:17,790 Оказывается, что нет необходимости в главная функция в программе написано 25 00:01:17,790 --> 00:01:19,470 на языке, называемом PHP. 26 00:01:19,470 --> 00:01:22,585 Так что уже звучит немного проще чем C, с которой мы знакомы. 27 00:01:22,585 --> 00:01:25,370 Оказывается, что если вы хочу объявить переменную, 28 00:01:25,370 --> 00:01:29,470 Вы делаете это почти идентично С. Но есть ясно одно различие здесь 29 00:01:29,470 --> 00:01:31,850 когда я объявляю строку, или, может быть, два различия. 30 00:01:31,850 --> 00:01:32,725 То, что выглядит по-другому? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> Аудитория: знак доллара. 33 00:01:37,160 --> 00:01:39,951 >> СПИКЕР 1: Да, есть доллар подписи, который мы никогда не видели прежде. 34 00:01:39,951 --> 00:01:41,451 И чего не хватает? 35 00:01:41,451 --> 00:01:41,950 Да? 36 00:01:41,950 --> 00:01:42,820 >> АУДИТОРИЯ: [неразборчиво] 37 00:01:42,820 --> 00:01:44,403 >> СПИКЕР 1: Да, нет типа данных. 38 00:01:44,403 --> 00:01:48,410 Так что получается, что PHP является то, что мы вызвать слабо типизированный язык, где 39 00:01:48,410 --> 00:01:49,959 С сильно типизированных. 40 00:01:49,959 --> 00:01:52,500 Свободно набрали просто означает, что Существуют различные типы данных, 41 00:01:52,500 --> 00:01:54,470 Есть строки и Интс, поплавки и. 42 00:01:54,470 --> 00:01:56,330 Но компьютер цифры, что из. 43 00:01:56,330 --> 00:01:58,664 Ты же человек программист не должны в этом разобраться. 44 00:01:58,664 --> 00:02:00,580 Все, что Вам нужно сделать, объявить переменная 45 00:02:00,580 --> 00:02:03,220 знак доллара, название вашей Переменная, а затем, например, 46 00:02:03,220 --> 00:02:04,760 конец цитаты цитаты, привет мир. 47 00:02:04,760 --> 00:02:07,662 >> Ну это то, что состояние выглядит в PHP. 48 00:02:07,662 --> 00:02:08,328 Любые различия? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Нет. 51 00:02:11,150 --> 00:02:12,540 Вот и получается, они идентичны. 52 00:02:12,540 --> 00:02:14,665 И вы, возможно, придется меньше филиалы или больше ветвей, 53 00:02:14,665 --> 00:02:16,557 но синтаксис повороты точно так же. 54 00:02:16,557 --> 00:02:18,390 Логические выражения могут заказать вместе. 55 00:02:18,390 --> 00:02:20,400 Логические выражения может быть операция AND вместе. 56 00:02:20,400 --> 00:02:21,430 У вас еще есть переключатели. 57 00:02:21,430 --> 00:02:23,790 Даже если вы не использовали это, они существуют в C 58 00:02:23,790 --> 00:02:26,020 и они функционально эквивалент в PHP. 59 00:02:26,020 --> 00:02:28,260 >> И в самом деле, в PHP, они немного мощнее. 60 00:02:28,260 --> 00:02:32,540 В C, вы можете сравнить только определенное типы данных, такие как Интс и символов, 61 00:02:32,540 --> 00:02:36,320 в то время как в PHP вы можете сравнить полная строки оперять, не имея 62 00:02:36,320 --> 00:02:38,460 беспокоиться об указателях и тому подобное. 63 00:02:38,460 --> 00:02:39,430 Так вот для петли. 64 00:02:39,430 --> 00:02:41,270 Это просто псевдокод Код, если вы будете. 65 00:02:41,270 --> 00:02:43,400 Но структурно это совпадает с С 66 00:02:43,400 --> 00:02:47,520 >> Вот в то время как цикл, псевдокод therefore-- идентичны С 67 00:02:47,520 --> 00:02:49,390 Вот делать, пока loop-- идентичны. 68 00:02:49,390 --> 00:02:51,390 И вот вроде эта модель здесь в результате чего 69 00:02:51,390 --> 00:02:54,400 есть несколько других синтаксических Особенности мы действительно увидим. 70 00:02:54,400 --> 00:02:57,340 На самом деле, здесь хороший способ PHP в результате чего, 71 00:02:57,340 --> 00:02:59,350 если вы хотите, чтобы итерации над массивом, и вы 72 00:02:59,350 --> 00:03:02,309 не хотите, чтобы перейти через психические и синтаксические обручи наличия 73 00:03:02,309 --> 00:03:05,178 INT я равна 0, я меньше п, я плюс plus-- которые 74 00:03:05,178 --> 00:03:07,040 это просто много раздражающих синтаксиса. 75 00:03:07,040 --> 00:03:10,654 Вы можете сказать немного больше плавно для каждого номера 76 00:03:10,654 --> 00:03:13,320 как номер, где в данном случае доллар числа знак, я предполагаю,, 77 00:03:13,320 --> 00:03:15,400 это как массив называется цифрами. 78 00:03:15,400 --> 00:03:18,810 И тогда я предполагаю, что номер, единственном числе, будет переменная. 79 00:03:18,810 --> 00:03:22,940 >> А что PHP будет делать для меня, как я перебора по этой петли, на каждой итерации, 80 00:03:22,940 --> 00:03:28,450 это будет обновлять номер переменной в быть элементом Ith в цифрах, во множественном числе. 81 00:03:28,450 --> 00:03:30,060 Так что просто обрабатывает все, что для меня. 82 00:03:30,060 --> 00:03:32,750 Нет квадратные скобки, не знак доллара, не точка с запятой. 83 00:03:32,750 --> 00:03:34,117 Это немного проще. 84 00:03:34,117 --> 00:03:35,950 Ну, если вы хотите, Массив, оказывается вы 85 00:03:35,950 --> 00:03:38,908 может что-то сделать очень похоже на С. Синтаксис немного отличается. 86 00:03:38,908 --> 00:03:41,000 Но вот массив называется доллар подписал номера. 87 00:03:41,000 --> 00:03:44,261 И я использую, в PHP, квадрат кронштейны, оказывается. 88 00:03:44,261 --> 00:03:47,260 И мы собираемся, чтобы увидеть эти опять в JavaScript-- еще один язык. 89 00:03:47,260 --> 00:03:49,968 Я просто использовать квадратный обозначения кронштейн иметь запятую 90 00:03:49,968 --> 00:03:51,530 целых чисел, в этом случае. 91 00:03:51,530 --> 00:03:53,010 Но это дает мне массива. 92 00:03:53,010 --> 00:03:56,270 >> Но еще более мощным в PHP, у нас также есть, что, как правило, 93 00:03:56,270 --> 00:03:57,640 называется ассоциативные массивы. 94 00:03:57,640 --> 00:03:59,540 И много языков есть эти, а также. 95 00:03:59,540 --> 00:04:03,810 Дело в том, C массивы является то, что индексы 96 00:04:03,810 --> 00:04:06,940 для массива, то, что вам использовать в квадратных скобках, через который 97 00:04:06,940 --> 00:04:08,600 Вы получить доступ к элементам, должны быть и что? 98 00:04:08,600 --> 00:04:10,620 >> АУДИТОРИЯ: [неразборчиво] 99 00:04:10,620 --> 00:04:14,220 >> СПИКЕР 1: Они должны быть номера или целые числа, в частности, от нуля и выше. 100 00:04:14,220 --> 00:04:17,140 Ну, в PHP, и, получается из, на других языках, 101 00:04:17,140 --> 00:04:20,820 Вы можете начать есть Индексы, которые не числовое. 102 00:04:20,820 --> 00:04:23,880 Но на самом деле они слова или Фразы, так что вместо 103 00:04:23,880 --> 00:04:27,070 Постарайтесь вспомнить, где что-то есть, или хранится в переменной I, 104 00:04:27,070 --> 00:04:31,720 вы можете использовать слово и сказать, that-- вы можете сказать такое слово, как это. 105 00:04:31,720 --> 00:04:34,730 >> Так знак доллара цитатой это имя переменной. 106 00:04:34,730 --> 00:04:39,360 Это несколько фанки синтаксис это общение двух ключевое значение 107 00:04:39,360 --> 00:04:41,250 пары для этой переменной. 108 00:04:41,250 --> 00:04:45,490 В частности, это дает мне массив, который имеет длину 2. 109 00:04:45,490 --> 00:04:47,660 Но индексы не 0 и 1. 110 00:04:47,660 --> 00:04:51,250 Индексы являются цитатой конец цитаты Символ и цитаты цена конец цитаты. 111 00:04:51,250 --> 00:04:55,990 И значения этих индексов, соответственно, FB для Facebook 112 00:04:55,990 --> 00:05:00,360 и $ 79.53, когда я в последний проверил цену для этого. 113 00:05:00,360 --> 00:05:01,210 >> Что это значит? 114 00:05:01,210 --> 00:05:04,136 Ну, это означает, что вместо написания кода 115 00:05:04,136 --> 00:05:09,612 как это, где я что-то сделать как доллар sign-- или, скорее, в C 116 00:05:09,612 --> 00:05:11,070 Я бы даже не имеют знак доллара. 117 00:05:11,070 --> 00:05:13,490 Я хотел бы сделать что-то как цитаты и затем 118 00:05:13,490 --> 00:05:18,410 Я хотел бы сделать кронштейн я получить некоторые произвольно численно индексированный значение. 119 00:05:18,410 --> 00:05:21,430 Начиная с сегодняшнего дня в PHP, если вы хотите получить при некотором значении, 120 00:05:21,430 --> 00:05:24,742 мы вроде есть более семантическая выразительность. 121 00:05:24,742 --> 00:05:27,450 Просто причудливый способ сказать, что мы можем просто называть вещи, каковы они. 122 00:05:27,450 --> 00:05:29,800 >> И если вы хотите, чтобы получить на что-то символом, 123 00:05:29,800 --> 00:05:32,180 Теперь вы в буквальном смысле сделать цитировать Unquote символ 124 00:05:32,180 --> 00:05:34,910 в квадратных скобках вместо простого числа. 125 00:05:34,910 --> 00:05:36,450 Так что это хороший удобство. 126 00:05:36,450 --> 00:05:38,140 И это своего рода его сейчас. 127 00:05:38,140 --> 00:05:40,240 Там же гроздья другие особенности в PHP. 128 00:05:40,240 --> 00:05:43,180 И в самом деле, PHP поставляется с пресловутый раковина. 129 00:05:43,180 --> 00:05:48,640 Десятки, сотни функций оснащены PHP-- так много больше, чем пришел с С. 130 00:05:48,640 --> 00:05:51,360 >> И это не предназначены для сокрушить а помочь 131 00:05:51,360 --> 00:05:53,900 не понимаешь, что мы не больше не придется писать код 132 00:05:53,900 --> 00:05:55,590 это своего рода здесь концептуально. 133 00:05:55,590 --> 00:05:58,465 Теперь мы можем просто начать воспользовавшись гораздо более расширенные возможности 134 00:05:58,465 --> 00:05:59,920 что языки, как PHP есть. 135 00:05:59,920 --> 00:06:02,630 Таким образом, мы не должны беспокоиться о двигаться вещи вокруг в памяти. 136 00:06:02,630 --> 00:06:05,338 Мы не должны беспокоиться о таНос и все эти более низком уровне, 137 00:06:05,338 --> 00:06:09,390 мощные детали, которые вы будете бороться с, если не бороться с, pset5, 138 00:06:09,390 --> 00:06:13,380 но вы можете начать скоро само собой разумеющимся. 139 00:06:13,380 --> 00:06:17,770 >> В самом деле, давайте напишем супер простая программа в PHP, как следует. 140 00:06:17,770 --> 00:06:21,550 Я собираюсь идти голова в CS50 IDE здесь, и то, что я собираюсь сделать 141 00:06:21,550 --> 00:06:29,370 создать новый файл, который очень просто будет называться привет точка PHP. 142 00:06:29,370 --> 00:06:31,860 Таким образом, вместо многоточия с, это будет называться точка PHP. 143 00:06:31,860 --> 00:06:34,260 И тогда в этом файле, Я могу начать печатать. 144 00:06:34,260 --> 00:06:36,960 Но оказывается, что Единственное, что я должен знать, 145 00:06:36,960 --> 00:06:41,470 является то, что любой файл PHP в целом, нуждается в начать с какой-то специальный синтаксис. 146 00:06:41,470 --> 00:06:44,570 Похожие по духу HTML, но опять же, PHP это язык программирования, а не 147 00:06:44,570 --> 00:06:45,590 язык разметки. 148 00:06:45,590 --> 00:06:48,700 >> Таким образом, каждый файл, и это своего рода глупо глядя я признаю. 149 00:06:48,700 --> 00:06:50,480 Открыть кронштейн, знак вопроса, PHP. 150 00:06:50,480 --> 00:06:53,060 И это только способ языка сказать, 151 00:06:53,060 --> 00:06:58,400 эй, компьютер тут приходит какой-то код написана на языке PHP под названием. 152 00:06:58,400 --> 00:07:01,900 И тогда в самом конце файла, вы вроде рода противоположность. 153 00:07:01,900 --> 00:07:04,860 Вы не написать PHP снова, вам просто сделать вопросительный знак, скобку. 154 00:07:04,860 --> 00:07:08,500 И тогда все, что вы положить внутрь из этих двух тегов, так сказать, 155 00:07:08,500 --> 00:07:11,490 будет, или должно быть, PHP код. 156 00:07:11,490 --> 00:07:13,180 >> Итак, давайте что-то делать супер просто. 157 00:07:13,180 --> 00:07:19,370 Я собираюсь идти вперед и делать отпечаток Def, привет мир, обратная косая черта н, сохранить. 158 00:07:19,370 --> 00:07:27,310 А теперь у меня строке, я иду сделать, сделать hello-- нет, я собираюсь сделать, 159 00:07:27,310 --> 00:07:28,726 точка слэш привет. 160 00:07:28,726 --> 00:07:31,250 Нет, точка слэш, хм. 161 00:07:31,250 --> 00:07:32,990 Так что-то другое. 162 00:07:32,990 --> 00:07:36,920 И в самом деле, это ключевая разница между PHP и языках, как C C. 163 00:07:36,920 --> 00:07:38,730 был так называемый составлен язык. 164 00:07:38,730 --> 00:07:40,929 Что это значит для C для компиляции? 165 00:07:40,929 --> 00:07:41,970 Что было следствием? 166 00:07:41,970 --> 00:07:42,898 Да. 167 00:07:42,898 --> 00:07:45,220 >> АУДИТОРИЯ: Написал его в машинный код поэтому он может быть запущен на компьютере. 168 00:07:45,220 --> 00:07:46,011 >> СПИКЕР 1: Точно. 169 00:07:46,011 --> 00:07:49,075 Мы должны сначала преобразовать его в так называемая машина код, нули и единицы, 170 00:07:49,075 --> 00:07:51,950 прежде чем он на самом деле будет исполняемый и понятны компьютеру. 171 00:07:51,950 --> 00:07:52,840 По Intel внутри. 172 00:07:52,840 --> 00:07:54,530 ЦП внутри компьютера. 173 00:07:54,530 --> 00:07:58,170 PHP, напротив, то, что называется интерпретируемый язык, который 174 00:07:58,170 --> 00:08:02,230 означает, что вы не скомпилировать его в нулей и единиц, машинный код, 175 00:08:02,230 --> 00:08:04,360 Вы вместо оставить его в качестве исходного кода. 176 00:08:04,360 --> 00:08:08,130 И вы, вместо передать его в качестве входных данных к программе, переводчик 177 00:08:08,130 --> 00:08:11,960 что кто-то написал лет назад, что это понимает 178 00:08:11,960 --> 00:08:14,310 построчно, характер для характера. 179 00:08:14,310 --> 00:08:16,120 Итак, другими словами, люди там написал 180 00:08:16,120 --> 00:08:19,670 программа, которая будет выглядеть в вашем кода строка за строкой, 181 00:08:19,670 --> 00:08:21,680 и выяснить, что компьютер должен сделать, 182 00:08:21,680 --> 00:08:25,960 без преобразования непосредственно нулей и единиц. 183 00:08:25,960 --> 00:08:28,370 >> Так что, если он видит, что цикл, это так называемое переводчик 184 00:08:28,370 --> 00:08:30,630 будет, как, все в порядке, я должен сделать что-то снова и снова, и снова. 185 00:08:30,630 --> 00:08:31,150 Что я должен делать? 186 00:08:31,150 --> 00:08:32,159 Дай мне посмотреть на следующей строке. 187 00:08:32,159 --> 00:08:33,367 Дай мне посмотреть на следующей строке. 188 00:08:33,367 --> 00:08:35,350 И это действительно интерпретирует это построчно. 189 00:08:35,350 --> 00:08:37,220 Таким образом, чтобы выполнить его, я не использую марку. 190 00:08:37,220 --> 00:08:39,409 Я не использовать точечную черту в этом случае. 191 00:08:39,409 --> 00:08:43,530 Я вместо сделать PHP, который является название программы, также известное, как 192 00:08:43,530 --> 00:08:46,562 Переводчик, что это предварительно установлены в CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 и теперь мне нужно пропускать Аргумент командной строки, что 194 00:08:48,770 --> 00:08:52,290 это довольно просто; имя файл, который я хочу, чтобы интерпретировать. 195 00:08:52,290 --> 00:08:54,740 Или более небрежно, что я хочу, чтобы бежать. 196 00:08:54,740 --> 00:08:57,000 И если я ударил Enter, там у нас есть это. 197 00:08:57,000 --> 00:08:57,825 Привет мир. 198 00:08:57,825 --> 00:08:59,950 Теперь выясняется, что я б печати Def намеренно 199 00:08:59,950 --> 00:09:01,600 чтобы преодолеть нас от С до PHP. 200 00:09:01,600 --> 00:09:05,150 Большинство PHP программистов, как вы увидите, даже не потрудились с помощью печати размораживание. 201 00:09:05,150 --> 00:09:08,290 Они просто использовать функцию под названием печать, которая не имеет С. 202 00:09:08,290 --> 00:09:11,390 И поэтому, если я повторно это сейчас, это на самом деле ведет себя функционально то же самое. 203 00:09:11,390 --> 00:09:13,730 Я не могу использовать процентное S и процент I и так далее, 204 00:09:13,730 --> 00:09:16,250 но есть и другие способы в PHP делать это. 205 00:09:16,250 --> 00:09:18,100 Но это только сказать, что синтаксически, 206 00:09:18,100 --> 00:09:21,850 кроме некоторых странных вещей до сверху, а некоторые странные символы вниз 207 00:09:21,850 --> 00:09:25,960 на дне, концепции теперь программирование в этом другом языке 208 00:09:25,960 --> 00:09:27,860 будут точно такими же. 209 00:09:27,860 --> 00:09:30,120 >> В самом деле, давайте делать один другой пример. 210 00:09:30,120 --> 00:09:32,520 Так что я собираюсь идти вперед и закройте этот файл. 211 00:09:32,520 --> 00:09:37,740 Позвольте мне создать еще один, что Я позвоню условия 1 точка PHP. 212 00:09:37,740 --> 00:09:40,770 Так что не нулю, потому что то, что я сделал был я оглянулся несколько недель назад, 213 00:09:40,770 --> 00:09:43,490 у нас был файл с именем Условия 1 точка С. А что 214 00:09:43,490 --> 00:09:47,590 Я был преобразован его в моем голова, и здесь на бумаге, 215 00:09:47,590 --> 00:09:51,290 и в ближайшее время на курс-х сайт, строка за строкой в ​​PHP. 216 00:09:51,290 --> 00:09:55,520 >> Таким образом, в C версии, мы сделали что-то как строки с получает получить строку. 217 00:09:55,520 --> 00:09:58,200 Так что это немного отличается сделать это в PHP. 218 00:09:58,200 --> 00:10:01,390 Вместо этого, я просто хочу делать, или, скорее, я 219 00:10:01,390 --> 00:10:05,870 могли бы сделать Int N получает получить INT, в этом примере ранее. 220 00:10:05,870 --> 00:10:12,600 Таким образом, вместо того, что я собираюсь сделать п получает прочитать строку, я хотел бы целое, 221 00:10:12,600 --> 00:10:13,670 Пожалуйста. 222 00:10:13,670 --> 00:10:15,110 Так что это только мое приглашение. 223 00:10:15,110 --> 00:10:17,260 И так получается, а Я бы только знаю, что это 224 00:10:17,260 --> 00:10:20,480 от того, читать или видеть функцию прежде, читать строки из функции в PHP 225 00:10:20,480 --> 00:10:23,810 принимает аргумент, который является быстрое для человека, и его цели в жизни 226 00:10:23,810 --> 00:10:26,220 это прочитать строку текста что он или она типа в. 227 00:10:26,220 --> 00:10:29,160 И тогда он сохраняет, что текст в переменной п. 228 00:10:29,160 --> 00:10:32,200 >> А теперь я бы хотел, чтобы что-то сделать как я сделал недель назад, в неделю, как 229 00:10:32,200 --> 00:10:33,290 один из класса. 230 00:10:33,290 --> 00:10:36,600 Если п больше нулю, то, что я собираюсь 231 00:10:36,600 --> 00:10:42,930 брать что синтаксис мы только что видели, печать четкости, вы выбрали положительное число, 232 00:10:42,930 --> 00:10:44,360 Обратная косая черта п. 233 00:10:44,360 --> 00:10:49,990 Иначе, если N равно равна нулю, я идти вперед и сказать, печати Def, 234 00:10:49,990 --> 00:10:54,090 Вы выбрали нулевой обратной косой п. 235 00:10:54,090 --> 00:10:56,830 В противном случае, в данном случае следует Конечно будет, печать четкости, 236 00:10:56,830 --> 00:10:58,620 Вы выбрали отрицательное число. 237 00:10:58,620 --> 00:11:00,970 >> И, конечно, мы можем реализовать логика этой вещи 238 00:11:00,970 --> 00:11:03,390 в кучу разные пути, но дело здесь 239 00:11:03,390 --> 00:11:07,210 является то, что синтаксически, почти ничего нового. 240 00:11:07,210 --> 00:11:09,830 Это просто знак доллара и новая функция и читать линии. 241 00:11:09,830 --> 00:11:12,090 Но принципиально, что нового сейчас я интерпретации это. 242 00:11:12,090 --> 00:11:13,910 Я передаю его в качестве входных данных на другую программу. 243 00:11:13,910 --> 00:11:16,620 Так что, если я хочу, чтобы запустить это, если Я не сделал ни одной ошибки, 244 00:11:16,620 --> 00:11:20,140 Я собираюсь запустить PHP, из Условия 1 точка PHP, Enter, 245 00:11:20,140 --> 00:11:23,440 Я собираюсь ввести номер 50, и давайте предположим, теперь он работает. 246 00:11:23,440 --> 00:11:25,940 Поскольку логика является же материал, как неделю один. 247 00:11:25,940 --> 00:11:28,020 >> Ладно, так что это довольно восторг, верно? 248 00:11:28,020 --> 00:11:30,240 Мы могли бы сделать это в любом Количество языков. 249 00:11:30,240 --> 00:11:33,200 Давайте что-то делать намного больше, мощный. 250 00:11:33,200 --> 00:11:35,610 Давайте проблема отделка установить пять. 251 00:11:35,610 --> 00:11:37,370 Так что я собираюсь идти вперед и делать это. 252 00:11:37,370 --> 00:11:42,920 Я собираюсь создать файл называется словарь точка PHP, 253 00:11:42,920 --> 00:11:45,424 и склонен, как вы могли бы быть карабкаться вниз много нот, 254 00:11:45,424 --> 00:11:47,340 ноты только поможет Вы, если вы позволили 255 00:11:47,340 --> 00:11:48,923 осуществить проблемы установите пять в PHP. 256 00:11:48,923 --> 00:11:52,706 Но мы увидим, как быстро теперь мы может реализовать тот же набор проблем. 257 00:11:52,706 --> 00:11:56,830 >> Таким образом, в словаре точка PHP, я собираюсь предположить, что уже есть 258 00:11:56,830 --> 00:11:58,514 файл в мире называется Speller. 259 00:11:58,514 --> 00:12:01,430 И в самом деле, я сделал это заранее, и мы не будем ходить через эту линию 260 00:12:01,430 --> 00:12:03,596 по линии, но если вы Любопытно, позже и действительно хотите 261 00:12:03,596 --> 00:12:06,250 обернуть свой ум вокруг различия между С и PHP, 262 00:12:06,250 --> 00:12:09,030 буквально сравнить этот файл, орфографии, с сегодняшнего исходного кода 263 00:12:09,030 --> 00:12:11,190 что мы будем создавать позже сегодня, против р множества 264 00:12:11,190 --> 00:12:15,309 пять правописания точка с, что мы даем вам, и это почти то же самое построчно. 265 00:12:15,309 --> 00:12:16,600 Там еще некоторые знаки доллара. 266 00:12:16,600 --> 00:12:18,330 Пару функции немного отличается. 267 00:12:18,330 --> 00:12:20,038 Но это хороший способ из рода, видя, как 268 00:12:20,038 --> 00:12:22,740 вы переводите с одного языка на другой. 269 00:12:22,740 --> 00:12:24,812 И это почти идентичны линия для линии. 270 00:12:24,812 --> 00:12:27,770 Но я буду считать, что что существует, и то, что я собираюсь сделать здесь 271 00:12:27,770 --> 00:12:31,310 это попытаться взорвать ваш против с помощью повторной реализации 272 00:12:31,310 --> 00:12:36,210 полнота задачи установить пять способ быстрее, чем вы делали до сих пор. 273 00:12:36,210 --> 00:12:39,330 Так, например, я собираюсь сначала объявить глобальную переменную размер, 274 00:12:39,330 --> 00:12:40,444 и установить ее равной нулю. 275 00:12:40,444 --> 00:12:41,610 Теперь это не так много сбережений. 276 00:12:41,610 --> 00:12:44,170 Коэффициенты вы реализованы Размер почти то же самое, 277 00:12:44,170 --> 00:12:48,440 или намек намек, будет сегодня или завтра, только с помощью глобальной переменной под названием 278 00:12:48,440 --> 00:12:49,900 Размер и установив его равным нулю. 279 00:12:49,900 --> 00:12:52,660 Это не особенно Удивительно, спойлер. 280 00:12:52,660 --> 00:12:57,180 >> Так каковы были ваши данные структуры выбор, те из вас, кто нырнул в 281 00:12:57,180 --> 00:13:02,170 и прочитать спецификацию, структуры данных, что уже многие из вас уже используют? 282 00:13:02,170 --> 00:13:06,840 Хэш-таблица или попробовать, может быть, некоторые варианты. 283 00:13:06,840 --> 00:13:10,490 Так реализации хэш-таблицу, по крайней мере, это своего рода много строк кода, 284 00:13:10,490 --> 00:13:10,990 правильно? 285 00:13:10,990 --> 00:13:13,700 И не все из них могут быть функционален в этот момент в неделю, 286 00:13:13,700 --> 00:13:14,366 но это нормально. 287 00:13:14,366 --> 00:13:19,300 Потому что в PHP, если я хочу хэш-таблицу, сделано. 288 00:13:19,300 --> 00:13:20,260 Правильно? 289 00:13:20,260 --> 00:13:22,610 Так этой переменной, что я только что объявили, очевидно, 290 00:13:22,610 --> 00:13:26,180 называется знак доллара стол, за введения раньше. 291 00:13:26,180 --> 00:13:28,902 >> Но я просто хочу, на конец день, массив. 292 00:13:28,902 --> 00:13:31,610 Но не индексируются численно Массив, потому что это, как недели две 293 00:13:31,610 --> 00:13:33,440 материал, когда мы говорили о массивах. 294 00:13:33,440 --> 00:13:34,850 Я хочу хэш-таблицу. 295 00:13:34,850 --> 00:13:38,070 Но хэш-таблицы на самом деле только конкретный способ сказать, 296 00:13:38,070 --> 00:13:40,190 Вы хотите ассоциативный массив. 297 00:13:40,190 --> 00:13:43,270 Вы хотите, чтобы иметь возможность ассоциированные клавиши со значениями. 298 00:13:43,270 --> 00:13:44,200 Ключи со значениями. 299 00:13:44,200 --> 00:13:45,640 Что представляет собой словарь, на самом деле? 300 00:13:45,640 --> 00:13:47,080 Ну, это целая связка ключей. 301 00:13:47,080 --> 00:13:50,320 Такие слова, как яблоко, груша, банан и, и все эти английские слова 302 00:13:50,320 --> 00:13:51,490 что мы передаем вам. 303 00:13:51,490 --> 00:13:54,820 >> И ценности, которые вы эффективно вставки в словаря 304 00:13:54,820 --> 00:13:57,790 либо правда, либо отсутствие, ложно. 305 00:13:57,790 --> 00:14:00,540 Другими словами, вы вставляете целая куча пар ключ-значение, 306 00:14:00,540 --> 00:14:03,720 яблоко, правда, груша, правда, банан, правда. 307 00:14:03,720 --> 00:14:07,446 Так что, когда вы извлекаете или искать до этого данные в вашей хэш-таблицы 308 00:14:07,446 --> 00:14:10,070 с функцией проверки, вы либо получить обратно ответ, 309 00:14:10,070 --> 00:14:13,260 да, я нашел его в моей комплекса хеш-таблицы, или нет, это не там, 310 00:14:13,260 --> 00:14:14,540 так что вы вернуться ложным. 311 00:14:14,540 --> 00:14:19,440 >> Таким образом, чтобы сделать это, все что мне нужно это данные Структура, как я предложил ранее. 312 00:14:19,440 --> 00:14:22,050 Мне просто нужно, чтобы быть в состоянии чтобы связать слова 313 00:14:22,050 --> 00:14:25,570 как, цитата конец цитаты, символ, со значением, как, истинного. 314 00:14:25,570 --> 00:14:27,090 Так что мой хэш-таблица. 315 00:14:27,090 --> 00:14:28,180 Давайте на самом деле использовать его. 316 00:14:28,180 --> 00:14:30,310 Таким образом, есть несколько функций Мне нужно реализовать. 317 00:14:30,310 --> 00:14:33,300 Я собираюсь идти вперед и кусать от функции называется размера. 318 00:14:33,300 --> 00:14:34,390 Он не принимает никаких аргументов. 319 00:14:34,390 --> 00:14:36,660 Я не возиться с слово, недействительным в PHP. 320 00:14:36,660 --> 00:14:38,770 Я просто собираюсь вернуться размер. 321 00:14:38,770 --> 00:14:41,287 >> И, как в сторону, PHP имеет это minorly раздражает деталь, 322 00:14:41,287 --> 00:14:44,620 где, если что-то глобальное, вы должны скажите функцию, в которой вы используете 323 00:14:44,620 --> 00:14:46,220 это, эй, это глобальная переменная. 324 00:14:46,220 --> 00:14:49,330 Так, несовершеннолетний глупость, но вам должны сделать это, тем не менее. 325 00:14:49,330 --> 00:14:50,920 >> Так что о нагрузке? 326 00:14:50,920 --> 00:14:52,990 Я собираюсь реализовать функция называется нагрузка 327 00:14:52,990 --> 00:14:56,790 который принимает в названии словаря, так же, как в задаче установить пять. 328 00:14:56,790 --> 00:14:59,554 И прежде, чем я продолжу, заметить, что я не 329 00:14:59,554 --> 00:15:00,970 печатал довольно те же самые вещи. 330 00:15:00,970 --> 00:15:06,060 Что, очевидно, отличается в PHP о как вы объявляете функцию против C? 331 00:15:06,060 --> 00:15:06,616 Да. 332 00:15:06,616 --> 00:15:07,490 АУДИТОРИЯ: [неразборчиво] 333 00:15:07,490 --> 00:15:08,573 СПИКЕР 1: Нет Тип возврата. 334 00:15:08,573 --> 00:15:12,350 И в самом деле, это так, PHP поскольку это слабо типизированным, 335 00:15:12,350 --> 00:15:14,190 Также немного небрежен в этом смысле. 336 00:15:14,190 --> 00:15:17,680 Вам не нужно указывать, как программиста то, что эта функция возвращает. 337 00:15:17,680 --> 00:15:20,490 Вы должны были бы на самом деле выглядят на код, чтобы понять это. 338 00:15:20,490 --> 00:15:22,670 Или читать комментарии или документацию. 339 00:15:22,670 --> 00:15:24,870 Так плюсов и минусов эти виды решений. 340 00:15:24,870 --> 00:15:26,750 Но я должен сказать, ключевое слово, функция. 341 00:15:26,750 --> 00:15:28,360 И когда мы узнаем, JavaScript через пару недель 342 00:15:28,360 --> 00:15:31,026 мы собираемся, чтобы увидеть то же самое снова, но это та же самая идея. 343 00:15:31,026 --> 00:15:34,220 Имя функции, аргумент или аргументы или их отсутствие, и теперь 344 00:15:34,220 --> 00:15:35,630 здесь реализация. 345 00:15:35,630 --> 00:15:38,860 >> Так что я собираюсь сократить некоторые углы просто чтобы быть драматическим на мгновение. 346 00:15:38,860 --> 00:15:40,485 Но я собираюсь идти вперед и сказать, что это. 347 00:15:40,485 --> 00:15:44,890 Это, как я могу загрузить файл в массив. 348 00:15:44,890 --> 00:15:47,580 Существует функция в PHP называется файл. 349 00:15:47,580 --> 00:15:49,300 Вы даете это имя файла. 350 00:15:49,300 --> 00:15:53,950 Это руки, которые вы обратно массив, внутри из которых каждая строка из файла. 351 00:15:53,950 --> 00:15:56,480 С нуля, одного, на до п минус 1 линий. 352 00:15:56,480 --> 00:15:57,210 Вот оно, верно? 353 00:15:57,210 --> 00:15:57,990 Там нет е чтение. 354 00:15:57,990 --> 00:15:58,826 Там нет е Get лет. 355 00:15:58,826 --> 00:15:59,700 Там нет процентов с. 356 00:15:59,700 --> 00:16:00,420 Там нет боли. 357 00:16:00,420 --> 00:16:01,220 Там нет feof. 358 00:16:01,220 --> 00:16:03,950 Все, что материал, с которым Вы боролись, возможно, 359 00:16:03,950 --> 00:16:06,550 с р установить четыре и пять, уходит. 360 00:16:06,550 --> 00:16:09,450 >> Так что я просто читал эти строки в файл, а затем вы знаете, что? 361 00:16:09,450 --> 00:16:15,510 Если я хочу, чтобы перебора этих слов, Я могу сделать, для каждого линий, как линии. 362 00:16:15,510 --> 00:16:19,992 Помните, что это было своего рода умный способ итерации по массиву, индекс 363 00:16:19,992 --> 00:16:25,090 по индексу, и на каждой итерации вызова текущая строка, знак доллара линия. 364 00:16:25,090 --> 00:16:31,560 И здесь я собираюсь пойти и говорят стол, кронштейн, линия, получает правда. 365 00:16:31,560 --> 00:16:35,880 >> Другими словами, это, как я вставить в моей хэш-таблицы в PHP. 366 00:16:35,880 --> 00:16:38,740 Я говорю знак доллара таблицу, в которой мой ассоциативный массив, который был 367 00:16:38,740 --> 00:16:40,690 пусто за строки кода до выше. 368 00:16:40,690 --> 00:16:42,790 То я в него индекс нет, с использованием ряда, 369 00:16:42,790 --> 00:16:45,300 но буквально с помощью Ключевое слово, которое меня волнует. 370 00:16:45,300 --> 00:16:47,730 Может быть, это яблоко или груша или банан или любой другой, 371 00:16:47,730 --> 00:16:51,645 а конкретно я индексации в него, как я предложил ранее. 372 00:16:51,645 --> 00:16:53,770 Я беру имя мое Ассоциативный массив, а затем я 373 00:16:53,770 --> 00:16:56,450 использовать кавычки конец цитаты в квадратные скобки с строки, 374 00:16:56,450 --> 00:16:58,490 вместо фактического числа. 375 00:16:58,490 --> 00:17:00,250 >> И вот оно что. 376 00:17:00,250 --> 00:17:01,720 Функция нагрузки делается. 377 00:17:01,720 --> 00:17:05,119 После того, как что итерации цикла, я положил все в хэш-таблице. 378 00:17:05,119 --> 00:17:07,810 Теперь небольшая оговорка, есть пара вещей, мне нужно, чтобы исправить. 379 00:17:07,810 --> 00:17:10,030 И версия, которую я выложу на сайте будет иметь все нюансы, 380 00:17:10,030 --> 00:17:12,670 но это в основном только будет какой-то проверка ошибок и некоторые мелкие недочеты. 381 00:17:12,670 --> 00:17:14,044 Но это действительно суть его. 382 00:17:14,044 --> 00:17:16,750 Если сейчас я хочу, чтобы реализовать функция, вызываемая 383 00:17:16,750 --> 00:17:19,869 проверить, что ожидает Слово в качестве аргумента, 384 00:17:19,869 --> 00:17:22,099 как я мог бы идти о том, что делать? 385 00:17:22,099 --> 00:17:30,020 Ну, Я просто хочу сказать, если внутри моего стола, на месте слова, 386 00:17:30,020 --> 00:17:30,652 если установлен. 387 00:17:30,652 --> 00:17:32,360 Так что если есть is-- на самом деле, вы знаете, что? 388 00:17:32,360 --> 00:17:34,830 Я собираюсь сделать это в немного псевдокода. 389 00:17:34,830 --> 00:17:36,020 Но идея та же. 390 00:17:36,020 --> 00:17:41,640 Если равен правда, возвращение правда. 391 00:17:41,640 --> 00:17:43,890 Все в порядке. 392 00:17:43,890 --> 00:17:46,851 Else-- вы можете рода увидеть, где это going-- вернуться ложным. 393 00:17:46,851 --> 00:17:47,350 Готово. 394 00:17:47,350 --> 00:17:49,640 Проверьте делается. 395 00:17:49,640 --> 00:17:50,940 >> Довольно хороший, правильно? 396 00:17:50,940 --> 00:17:52,560 И так, что это действительно становится на? 397 00:17:52,560 --> 00:17:53,680 И это тоже, я вырезал некоторые углы. 398 00:17:53,680 --> 00:17:56,020 Посмотрите на версии онлайн для всех небольших нюансов. 399 00:17:56,020 --> 00:17:57,103 Но это суть его. 400 00:17:57,103 --> 00:17:59,080 Индекс в ваш Ассоциативный массив, также известное, как 401 00:17:59,080 --> 00:18:02,910 Хеш-таблицы, посмотреть, если есть значение там, если он установлен в истинный, и если да, 402 00:18:02,910 --> 00:18:03,930 вернуться правда. 403 00:18:03,930 --> 00:18:05,819 Таким образом, мы свели вниз Все сложности. 404 00:18:05,819 --> 00:18:07,110 Так вроде сногсшибательное, верно? 405 00:18:07,110 --> 00:18:09,680 Я не буду утруждать завершив его выгрузки, потому что в fact-- ой, вы знаете, что? 406 00:18:09,680 --> 00:18:11,620 Да, давайте закончим его выгрузки. 407 00:18:11,620 --> 00:18:18,940 >> Выгрузка в хэш-таблице может выглядеть как функции выгрузки, вернуться. 408 00:18:18,940 --> 00:18:19,930 ОК, так что это выгрузки. 409 00:18:19,930 --> 00:18:21,350 Потому что нет ничего выгрузить, верно? 410 00:18:21,350 --> 00:18:22,170 Там нет таНос. 411 00:18:22,170 --> 00:18:24,280 Я явно не спросить операционная система для чего-либо. 412 00:18:24,280 --> 00:18:25,571 Я только начал использовать переменные. 413 00:18:25,571 --> 00:18:30,510 И так это тоже проявление особенности высокоуровневых языков. 414 00:18:30,510 --> 00:18:32,940 Итак, еще раз, большинство из этого термина мы занимаемся здесь 415 00:18:32,940 --> 00:18:34,280 с С. Супер низком уровне. 416 00:18:34,280 --> 00:18:35,980 Вы можете увидеть памяти компьютера. 417 00:18:35,980 --> 00:18:38,440 Вы можете ничего не трогать тебя хочу в оперативной памяти компьютера, 418 00:18:38,440 --> 00:18:39,440 лучше или хуже. 419 00:18:39,440 --> 00:18:41,760 >> До здесь, мы собираемся отказаться от этой власти. 420 00:18:41,760 --> 00:18:44,730 Но мой бог, посмотрите, как гораздо меньше кода я написал. 421 00:18:44,730 --> 00:18:47,660 В самом деле, если я не говорили и говорить по моей набора текста, 422 00:18:47,660 --> 00:18:50,190 мы были бы сделать с этот пример за пять минут назад. 423 00:18:50,190 --> 00:18:52,150 Так что же цена уделяется? 424 00:18:52,150 --> 00:18:54,100 Ну давайте посмотрим. 425 00:18:54,100 --> 00:18:55,340 Давайте взглянем. 426 00:18:55,340 --> 00:18:59,340 Я собираюсь идти вперед и работать CS50. 427 00:18:59,340 --> 00:19:02,160 Позвольте мне сначала пойти в сегодня примеры, когда 428 00:19:02,160 --> 00:19:03,970 У меня есть каталог тексты, как и раньше. 429 00:19:03,970 --> 00:19:08,520 Я собираюсь запустить решение, он приходит с проблемой установить пять называется 430 00:19:08,520 --> 00:19:11,190 орфографии, которая находится в учетной записи CS50 в. 431 00:19:11,190 --> 00:19:14,040 >> И я собираюсь запустить его на что-то Большой, как Библии короля Джеймса, 432 00:19:14,040 --> 00:19:16,547 просто так, что мы на самом деле поставить сотрудники решения теста. 433 00:19:16,547 --> 00:19:19,130 Теперь иногда это интернет немного медленнее, немного быстрее, 434 00:19:19,130 --> 00:19:20,338 может занять некоторое время, чтобы просмотреть. 435 00:19:20,338 --> 00:19:23,730 Но он взял в общей сложности .56 секунд проверки орфографии Короля Джеймса 436 00:19:23,730 --> 00:19:25,150 Библия с использованием раствора персонала. 437 00:19:25,150 --> 00:19:25,620 Так довольно хорошо. 438 00:19:25,620 --> 00:19:27,786 Ваш может быть гораздо медленнее, и это совершенно нормально. 439 00:19:27,786 --> 00:19:30,090 Но это верно здесь. 440 00:19:30,090 --> 00:19:32,440 Так что это решение персонала. 441 00:19:32,440 --> 00:19:34,785 Если я иду в и очистить PHP версии. 442 00:19:34,785 --> 00:19:36,990 И я собираюсь сделать немного как выпечка шоу вещи. 443 00:19:36,990 --> 00:19:39,720 Мы собираемся взять код я написал ранее, так что это совершенно правильно. 444 00:19:39,720 --> 00:19:42,678 Потому что я написал код не будет чтобы быть совершенно правильно сейчас. 445 00:19:42,678 --> 00:19:47,310 Но если я запускаю PHP версии, что я должен отказаться от сегодня? 446 00:19:47,310 --> 00:19:49,980 Взял меня пять минут, чтобы осуществить р установить пять, я претензии. 447 00:19:49,980 --> 00:19:51,770 Что стоило мне? 448 00:19:51,770 --> 00:19:52,270 Да. 449 00:19:52,270 --> 00:19:52,937 >> АУДИТОРИЯ: Скорость. 450 00:19:52,937 --> 00:19:53,645 СПИКЕР 1: Скорость. 451 00:19:53,645 --> 00:19:54,380 Что вы имеете в виду? 452 00:19:54,380 --> 00:19:55,230 >> АУДИТОРИЯ: Это займет больше времени. 453 00:19:55,230 --> 00:19:55,660 >> СПИКЕР 1: Хорошо. 454 00:19:55,660 --> 00:19:56,160 Посмотрим. 455 00:19:56,160 --> 00:19:59,590 Это займет больше, не писать, но, чтобы запустить его. 456 00:19:59,590 --> 00:20:00,090 Да. 457 00:20:00,090 --> 00:20:00,960 Так давайте попробуем это. 458 00:20:00,960 --> 00:20:05,720 Так вот я собираюсь идти вперед и делать PHP из правописания, и потому, что файла 459 00:20:05,720 --> 00:20:06,360 называется правописания. 460 00:20:06,360 --> 00:20:07,580 Так что я не выполнив словарь, напомним, 461 00:20:07,580 --> 00:20:09,204 Я бегу программу под названием правописания. 462 00:20:09,204 --> 00:20:12,450 Я собираюсь пройти в тот же Файл, король Джеймс пятый. 463 00:20:12,450 --> 00:20:14,377 Он летит мимо. 464 00:20:14,377 --> 00:20:17,210 Это может быть просто доступ в Интернет, так что не читать слишком много в этом. 465 00:20:17,210 --> 00:20:21,680 Но это чувствую больше наверняка. 466 00:20:21,680 --> 00:20:23,280 1.26 секунд. 467 00:20:23,280 --> 00:20:25,150 >> Теперь это все еще довольно блин быстро, не так ли? 468 00:20:25,150 --> 00:20:28,140 И только потому, что чувствовал, что больше как три, или четыре, или пять 469 00:20:28,140 --> 00:20:30,515 секунд, это только потому, что Интернет был быть медленным. 470 00:20:30,515 --> 00:20:33,980 Время компьютер провел составил 1,26 секунд, в сравнении я думаю 0,56. 471 00:20:33,980 --> 00:20:35,880 Так более чем вдвое медленно. 472 00:20:35,880 --> 00:20:39,170 Теперь, по-прежнему чертовски быстро, но это проявление 473 00:20:39,170 --> 00:20:40,860 из, на самом деле, что точная цена. 474 00:20:40,860 --> 00:20:43,460 >> Потому что мы интерпретации в строке кода по линии, 475 00:20:43,460 --> 00:20:46,740 и что программа PHP читает мой Код сверху вниз, слева направо, 476 00:20:46,740 --> 00:20:47,940 он должен делать больше мышление. 477 00:20:47,940 --> 00:20:50,430 Он должен рода преобразования это внутри себя 478 00:20:50,430 --> 00:20:53,464 к соответствующему машины Код на лету, так сказать, 479 00:20:53,464 --> 00:20:55,380 даже если механике немного отличается. 480 00:20:55,380 --> 00:20:59,430 Вместо того чтобы просто подачи в Intel CPU сырые нули и единицы 481 00:20:59,430 --> 00:21:00,930 что он понимает изначально. 482 00:21:00,930 --> 00:21:04,110 >> Так абсолютно, руки вниз, мы заплатили цену. 483 00:21:04,110 --> 00:21:09,120 И код, написанный на языке как PHP, как правило, медленнее. 484 00:21:09,120 --> 00:21:10,050 Но мой бог. 485 00:21:10,050 --> 00:21:12,740 Так что теперь, когда я проверить правописание Файл, я потратить дополнительные 0,7 486 00:21:12,740 --> 00:21:17,280 секунд или около 20 часов против реализовать быстрее орфографии, верно? 487 00:21:17,280 --> 00:21:18,397 Это своего рода компромисс. 488 00:21:18,397 --> 00:21:20,980 И если вы только начинаете р установить пять, не может быть 20 часов. 489 00:21:20,980 --> 00:21:22,188 Может быть намного меньше, чем это. 490 00:21:22,188 --> 00:21:23,600 Но это компромисс, по-настоящему. 491 00:21:23,600 --> 00:21:27,820 И если вы работаете код на самом деле большой наборы данных, или на старом оборудовании, даже, 492 00:21:27,820 --> 00:21:32,650 эти виды различий безусловно, может добавить вверх. 493 00:21:32,650 --> 00:21:34,880 >> Любые вопросы до сих пор? 494 00:21:34,880 --> 00:21:35,617 Да. 495 00:21:35,617 --> 00:21:36,492 >> АУДИТОРИЯ: [неразборчиво] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 СПИКЕР 1: Извините, может Вы говорите, что еще раз? 498 00:21:39,978 --> 00:21:40,853 АУДИТОРИЯ: [неразборчиво] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 СПИКЕР 1: Вы сдаваться время. 501 00:21:44,700 --> 00:21:45,283 Ну, так что да. 502 00:21:45,283 --> 00:21:47,322 Вы экономите время, не имея для компиляции, 503 00:21:47,322 --> 00:21:48,530 если это то, что вы просите. 504 00:21:48,530 --> 00:21:50,710 И в самом деле, в CS50, большинство программ, 505 00:21:50,710 --> 00:21:53,668 даже если они может занять некоторое время писать, они относительно короткие. 506 00:21:53,668 --> 00:21:56,860 Несколько десятков, несколько сотен строк кода, и поэтому они составить довольно быстро. 507 00:21:56,860 --> 00:21:58,470 Но когда вы начинаете писать большие программы, 508 00:21:58,470 --> 00:22:01,511 как, если вы Microsoft или вы Google и писать действительно большие программы 509 00:22:01,511 --> 00:22:05,360 в C, C ++ или, или аналогично составлен языки, может занять много секунд, 510 00:22:05,360 --> 00:22:08,577 или даже минут или больше к собрать миллионы строк кода. 511 00:22:08,577 --> 00:22:10,660 И там тоже, что Разница будет сложить. 512 00:22:10,660 --> 00:22:12,840 >> И в самом деле, когда мы Переход сегодня, в тот же день 513 00:22:12,840 --> 00:22:15,910 Сегодня, чтобы веб-программирования с помощью PHP, вы 514 00:22:15,910 --> 00:22:18,460 собираюсь найти его просто так более приятным, чтобы написать код 515 00:22:18,460 --> 00:22:21,501 когда вы не должны делать это глупо шаги, как изменение в вашем терминале 516 00:22:21,501 --> 00:22:24,202 окна, тип марка привет, повторно запустить его, перезагрузите окно. 517 00:22:24,202 --> 00:22:25,910 Просто так много глупо механические шаги, которые 518 00:22:25,910 --> 00:22:28,480 просто получить в пути делать интересно, весело работы. 519 00:22:28,480 --> 00:22:31,450 И действительно мы бросаем, что покончить с PHP. 520 00:22:31,450 --> 00:22:34,960 И мы можем взаимодействовать с ней быстрее. 521 00:22:34,960 --> 00:22:35,495 Да. 522 00:22:35,495 --> 00:22:36,370 АУДИТОРИЯ: [неразборчиво] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 СПИКЕР 1: Конечно. 525 00:22:40,960 --> 00:22:42,876 Могу ли я уточнить, что это значит быть интерпретированы? 526 00:22:42,876 --> 00:22:45,870 Когда вы собираете язык как С, она идет вниз 527 00:22:45,870 --> 00:22:48,140 как мы сказали, чтобы машины код, нули и единицы. 528 00:22:48,140 --> 00:22:51,860 И Intel решила лет назад, что некоторые модели из нулей и единиц 529 00:22:51,860 --> 00:22:56,220 представляют сложение, вычитание или, или печати, или другие основные операции. 530 00:22:56,220 --> 00:23:00,250 В мире интерпретируемый язык как PHP, JavaScript или Python, или, 531 00:23:00,250 --> 00:23:03,120 или Ruby, или сгустки другие, а кто-то 532 00:23:03,120 --> 00:23:05,120 написал interpreter-- в данном случае, 533 00:23:05,120 --> 00:23:09,770 это также называется PHP, идентичны Название language--, что существенно 534 00:23:09,770 --> 00:23:13,840 имеет большой цикл в нем, что итерации по всем линиям кода 535 00:23:13,840 --> 00:23:18,170 что я подать его на вход, как привет точка PHP, или словарь точка PHP. 536 00:23:18,170 --> 00:23:21,760 >> И тогда вы можете думать о их большой цикл, как имеющие много условий. 537 00:23:21,760 --> 00:23:26,340 И эти условия есть, если человек написал ключевое слово, 538 00:23:26,340 --> 00:23:28,470 начать делать его или ее Код снова и снова. 539 00:23:28,470 --> 00:23:31,360 Или, если человек имеет написал строку кода, 540 00:23:31,360 --> 00:23:34,880 если только выполнить их Следующая строка условно. 541 00:23:34,880 --> 00:23:37,740 Так что это действительно, как интерпретации это в человеческом смысле, линии 542 00:23:37,740 --> 00:23:39,660 по линии, и что только занимает время. 543 00:23:39,660 --> 00:23:41,340 Она занимает над головой. 544 00:23:41,340 --> 00:23:44,189 И так, что это price-- хорошо question-- мы платим. 545 00:23:44,189 --> 00:23:46,480 Так давайте сделаем еще один демо это немного более драматичным. 546 00:23:46,480 --> 00:23:51,160 Существует, я бы сказал приблизительная это в 90% вероятность неудачу ужасно а, 547 00:23:51,160 --> 00:23:53,869 но вы будете поражены, с 10% вероятностью. 548 00:23:53,869 --> 00:23:55,660 Таким образом, каждый год мы стараемся это сделать, в результате чего мы 549 00:23:55,660 --> 00:23:59,061 попробуйте написать программу, которая проходит через Проблема установить ноль, для которых у Вас есть 550 00:23:59,061 --> 00:24:02,060 представленные ваши телефоны и много другой демографической информации, 551 00:24:02,060 --> 00:24:06,030 и мы программно отправить вам текстовое сообщение. 552 00:24:06,030 --> 00:24:08,540 А потом каждого телефона начнет пищать или вибрирует, 553 00:24:08,540 --> 00:24:11,460 и это просто удивительно, потому что Ну, посмотрите на то, что компьютеры могут сделать. 554 00:24:11,460 --> 00:24:13,840 >> Это редко работает правильно кажется, в значительной степени 555 00:24:13,840 --> 00:24:16,800 потому что я, как правило, получают в черный список по Gmail или какой-либо другой сервис 556 00:24:16,800 --> 00:24:19,630 за фактически пытается сделать это по шкале. 557 00:24:19,630 --> 00:24:24,940 Но самое смешное, тоже, так как мы не все здесь сегодня, 558 00:24:24,940 --> 00:24:27,690 забавный факт в последний раз мы попытался это два года назад, 559 00:24:27,690 --> 00:24:30,870 Я думаю, что я написал программу который сидел в петле итерации 560 00:24:30,870 --> 00:24:34,040 над всеми студентами в классе, и каждый из них текст сообщения, 561 00:24:34,040 --> 00:24:37,534 и он сказал, что-то вроде, почему ты не в лекции? 562 00:24:37,534 --> 00:24:39,170 Любовь, CS50 бота. 563 00:24:39,170 --> 00:24:42,580 >> Вы понятия не имеете, сколько апологетические и вроде болезненные письма 564 00:24:42,580 --> 00:24:46,970 Я получил в ответ от п минус 100 человек, которые не были здесь 565 00:24:46,970 --> 00:24:47,960 тот день. 566 00:24:47,960 --> 00:24:52,116 И еще смешнее, более позорным story-- Вы знаете, давайте его там. 567 00:24:52,116 --> 00:24:53,740 Это уже на видео несколько лет назад. 568 00:24:53,740 --> 00:24:56,810 Таким образом, вы скоро увидите меня написать цикл, в результате чего 569 00:24:56,810 --> 00:25:00,640 это очень легко написать, что ошибка в цикл, таким образом, что первый раз 570 00:25:00,640 --> 00:25:02,800 через петлю, то отправить одного текстового сообщения. 571 00:25:02,800 --> 00:25:06,190 >> Во второй раз через петлю I должен был послать еще один текстовое сообщение, 572 00:25:06,190 --> 00:25:08,250 а затем еще один текст сообщение, и еще один. 573 00:25:08,250 --> 00:25:11,490 Но, оказывается, если вы сделаете опечатку при программировании, иногда 574 00:25:11,490 --> 00:25:14,460 можете писать программы, которые посылают друг Текст сообщения, а затем два текстовые сообщения, 575 00:25:14,460 --> 00:25:18,742 затем три текстовые сообщения всем, кто уже получил текстовое сообщение. 576 00:25:18,742 --> 00:25:21,450 И, как вы знаете, что-то делать, плюс что-то, плюс что-то, 577 00:25:21,450 --> 00:25:25,910 плюс что-то, это большой вывода много текстовых сообщений или н квадрат, 578 00:25:25,910 --> 00:25:29,830 или на $ 0,10 текстовое сообщение, $ 20000. 579 00:25:29,830 --> 00:25:33,700 >> К счастью, я попал Control-C, что, прежде чем произошло, но я обязан, по крайней мере один 580 00:25:33,700 --> 00:25:37,550 из ваших предшественников $ 20 за 200 с лишним текстовые сообщения, что 581 00:25:37,550 --> 00:25:40,450 не только пошел в своем телефоне, но Также было как старший раскладушки 582 00:25:40,450 --> 00:25:43,520 так что хотелось выталкивается из его памяти каждый персональный текст 583 00:25:43,520 --> 00:25:45,930 сообщение он на самом деле получил. 584 00:25:45,930 --> 00:25:49,250 Так у нас одна цель сегодня, не делать этого. 585 00:25:49,250 --> 00:25:50,620 Может быть, включить режим полета. 586 00:25:50,620 --> 00:25:51,120 Все в порядке. 587 00:25:51,120 --> 00:25:56,590 Итак, давайте в Программа здесь callled-- 588 00:25:56,590 --> 00:25:59,060 что я буду называть текст точка PHP. 589 00:25:59,060 --> 00:26:01,074 И заранее, я получил два файла здесь. 590 00:26:01,074 --> 00:26:06,030 Я сделал файл для всего персонала, который получил все права Информация персонал, все имена 591 00:26:06,030 --> 00:26:07,260 с веб-сайта курса. 592 00:26:07,260 --> 00:26:09,756 И потом, а пока я просто положил некоторые поддельные номера 555-1212. 593 00:26:09,756 --> 00:26:11,380 Так они не будут на самом деле никуда. 594 00:26:11,380 --> 00:26:15,140 Но обратите внимание, внутри этого файла CSV, которые мы говорили о кратко, прежде чем 595 00:26:15,140 --> 00:26:16,540 в контексте файла IO. 596 00:26:16,540 --> 00:26:18,730 >> Что такое файл CSV? 597 00:26:18,730 --> 00:26:19,970 Разделенных запятыми переменных. 598 00:26:19,970 --> 00:26:24,400 И это вроде как очень простая база данных, если вы будете. 599 00:26:24,400 --> 00:26:28,650 Там вроде рода из четырех колонок в этом файле, и зубчатые, 600 00:26:28,650 --> 00:26:32,400 но запятые существу представляют столбцы в файле. 601 00:26:32,400 --> 00:26:35,400 В первой колонке ТФ или имя СА. 602 00:26:35,400 --> 00:26:37,800 Вторая колонка является их фамилия. 603 00:26:37,800 --> 00:26:39,820 Третья колонка является их номер телефона. 604 00:26:39,820 --> 00:26:44,760 И четвертый столбец, по-видимому is-- Четвертый столбец, по-видимому, что? 605 00:26:44,760 --> 00:26:45,870 ОК, так что это их носитель. 606 00:26:45,870 --> 00:26:47,180 Так Verizon, Sprint или, или то, что нет. 607 00:26:47,180 --> 00:26:48,620 И если я не оговорился ранее, CSV. 608 00:26:48,620 --> 00:26:51,800 Разделенных запятыми значений CSV здесь. 609 00:26:51,800 --> 00:26:54,260 >> Так что я могу сделать с этим? 610 00:26:54,260 --> 00:26:56,940 Ну это просто большой текстовый файл, и это своего рода долго, не так ли? 611 00:26:56,940 --> 00:26:58,690 Как это будет быть вид раздражает. 612 00:26:58,690 --> 00:27:03,510 И оказывается, однако, что, если я хотите отправить текстовое сообщение, давайте 613 00:27:03,510 --> 00:27:05,180 Алекс говорят здесь. 614 00:27:05,180 --> 00:27:09,690 Позвольте мне идти в моем браузере и выйти из полноэкранного режима 615 00:27:09,690 --> 00:27:11,660 только так я могу переключаться. 616 00:27:11,660 --> 00:27:20,280 Оказывается, давайте посмотрим, если я иду в здесь, и войти в Gmail, все в порядке. 617 00:27:20,280 --> 00:27:22,950 Не смотрите на этой части. 618 00:27:22,950 --> 00:27:23,880 Просто я увижу. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 конечно можно прямая все еще видеть, что я делаю. 621 00:27:28,800 --> 00:27:29,360 Все в порядке. 622 00:27:29,360 --> 00:27:31,850 >> Так вот просто Gmail с Счетом Джона Гарварда. 623 00:27:31,850 --> 00:27:34,000 Так что, если я хочу, чтобы отправить Текст сообщения Алекс, 624 00:27:34,000 --> 00:27:35,530 Я могу, конечно, создать сообщение. 625 00:27:35,530 --> 00:27:38,410 И получается, и я имею протестировали его с Алексом прежде, чем здесь, 626 00:27:38,410 --> 00:27:42,260 так что вы можете добавить некоторую область назвать в народных телефонов, 627 00:27:42,260 --> 00:27:45,850 потому что существует в мире вещи называются SMS для шлюзов электронной почты. 628 00:27:45,850 --> 00:27:50,000 Какой причудливый способ сказать все из нас, кто имеют мобильные телефоны, которые 629 00:27:50,000 --> 00:27:53,200 есть телефонные номера, конечно, есть, вероятно, для перевозчика, 630 00:27:53,200 --> 00:27:56,840 определенный суффикс, как в Vtext.com для Verizon текстового сообщения 631 00:27:56,840 --> 00:28:00,320 точка ком, что Вы можете добавить к вашему личный номер телефона, а затем 632 00:28:00,320 --> 00:28:03,540 вы или друзья, или ваши родители могут Текст, который вы в данный конкретный адрес. 633 00:28:03,540 --> 00:28:07,380 >> И Verizon имеет сервер, электронную почту Сервер, что при получении этого письма, 634 00:28:07,380 --> 00:28:11,180 смотрит на цифровой части, а затем использует независимо особое волшебство промышленности 635 00:28:11,180 --> 00:28:14,540 они есть на самом деле отправить его в течение эфиру конкретной ячейке 636 00:28:14,540 --> 00:28:15,040 Телефон. 637 00:28:15,040 --> 00:28:18,030 Теперь это приятно, потому что я не знаю, как отправить текстовое сообщение 638 00:28:18,030 --> 00:28:20,460 или написать код, но для моего мобильного телефона, 639 00:28:20,460 --> 00:28:23,580 и вы могли бы сделать точно, что для окончательный проект, но сейчас все 640 00:28:23,580 --> 00:28:24,770 У меня есть мой ноутбук здесь. 641 00:28:24,770 --> 00:28:29,830 Поэтому я хочу, чтобы перебрать этот CSV Файл, линия, по линии, по линии, по линии, 642 00:28:29,830 --> 00:28:35,160 захватить каждый из телефонных номеров сотрудников, в и их носитель и программно, 643 00:28:35,160 --> 00:28:39,770 объединить, то есть, подключите телефон Количество с соответствующим доменным именем 644 00:28:39,770 --> 00:28:40,820 а затем отправить по электронной почте. 645 00:28:40,820 --> 00:28:41,940 >> Так что это много шагов. 646 00:28:41,940 --> 00:28:45,530 И удачи делать, что в С Это кошмар ситуации 647 00:28:45,530 --> 00:28:48,350 , чтобы открыть файл, прочитать его линия, по линии, по линии, как вы 648 00:28:48,350 --> 00:28:51,100 видим, или, возможно, скоро увидим с проблемой установить пять, если не 649 00:28:51,100 --> 00:28:53,560 Проблема установить четыре, а затем динамически объединять 650 00:28:53,560 --> 00:28:57,020 две строки вместе, потому что в C, взять две строки и объединить их, 651 00:28:57,020 --> 00:29:00,900 Что вы минимально нужно сделать наиболее вероятным? 652 00:29:00,900 --> 00:29:03,020 Вы должны объявить больше памяти, верно? 653 00:29:03,020 --> 00:29:04,710 И спросите, таНос, я могу иметь больше памяти? 654 00:29:04,710 --> 00:29:07,060 Так что я могу положить половину этого Здесь половина это здесь. 655 00:29:07,060 --> 00:29:08,150 Это так много шагов. 656 00:29:08,150 --> 00:29:10,310 И к этому моменту вы потеряли Интерес к глупой маленькой демо 657 00:29:10,310 --> 00:29:11,851 где вы сделать каждого телефона звуковой сигнал. 658 00:29:11,851 --> 00:29:14,590 Давайте сделаем этот вид PHP стиль, в котором мы только что 659 00:29:14,590 --> 00:29:16,210 начать использовать больше той раковине. 660 00:29:16,210 --> 00:29:18,050 >> И идеи принципиально та же, 661 00:29:18,050 --> 00:29:20,710 но мы не должны волноваться слишком много об этом более низком уровне. 662 00:29:20,710 --> 00:29:22,950 Итак, давайте посмотрим, как я мог бы идти об этом. 663 00:29:22,950 --> 00:29:26,664 И просто так, что я не повторить прошлые ошибки, 664 00:29:26,664 --> 00:29:28,330 Я написал несколько заметок для себя здесь. 665 00:29:28,330 --> 00:29:31,070 И давайте посмотрим, если я могу ходить с нами через некоторые из основных шагов, 666 00:29:31,070 --> 00:29:33,861 и то ради времени мы будем в возможно, сократить некоторые углы в конце. 667 00:29:33,861 --> 00:29:38,007 Я собираюсь идти вперед и делать открыт Кронштейн PHP, чтобы начать этот файл. 668 00:29:38,007 --> 00:29:39,590 И я собираюсь идти вперед и делать это. 669 00:29:39,590 --> 00:29:41,490 Файл ручку, как вы скоро увидеть, на самом деле 670 00:29:41,490 --> 00:29:44,790 вызывает функцию под названием F открыт. 671 00:29:44,790 --> 00:29:46,280 И помните, что это открывает файл. 672 00:29:46,280 --> 00:29:48,800 И цитата, конец цитаты, г означает, что, опять? 673 00:29:48,800 --> 00:29:49,800 Просто откройте его для чтения. 674 00:29:49,800 --> 00:29:51,210 В настоящее время в р набор для, вы сделали это. 675 00:29:51,210 --> 00:29:54,500 И справиться может быть что угодно, фу, бар, барельеф, любая переменная имя. 676 00:29:54,500 --> 00:29:57,470 Но, как правило компьютер ученый назвал бы открыть файл, 677 00:29:57,470 --> 00:30:00,962 давая вам дескриптор файла, то, чтобы удержать, так сказать. 678 00:30:00,962 --> 00:30:02,670 Я просто собираюсь сделать некоторые проверки ошибок. 679 00:30:02,670 --> 00:30:07,260 Таким образом, если ручка является ложным, так же, как в С, я собираюсь сделать что-то подобное, 680 00:30:07,260 --> 00:30:09,545 не может открыть файл, обратной косой п. 681 00:30:09,545 --> 00:30:11,420 А потом я просто собираюсь идти вперед и выйти. 682 00:30:11,420 --> 00:30:14,340 И оказывается, в PHP, Я не внутри функции. 683 00:30:14,340 --> 00:30:16,160 Там нет Основная функция здесь. 684 00:30:16,160 --> 00:30:17,450 Так что я не вернусь, как таковой. 685 00:30:17,450 --> 00:30:18,120 Я выхожу. 686 00:30:18,120 --> 00:30:19,619 Какой, по существу, одно и то же. 687 00:30:19,619 --> 00:30:22,510 И я с одним выходом у наверное. 688 00:30:22,510 --> 00:30:24,220 Один просто означает ошибку некоторого вида. 689 00:30:24,220 --> 00:30:25,580 Это не равно нулю, так что это ошибка. 690 00:30:25,580 --> 00:30:30,220 >> Ладно, так что если я здесь в настоящее время в моей программе я открыл файл. 691 00:30:30,220 --> 00:30:34,250 Я собираюсь идти вперед и объявить массив называется адреса, 692 00:30:34,250 --> 00:30:38,610 и в C Я бы знать Размер массива в заранее, не так ли? 693 00:30:38,610 --> 00:30:41,910 Или я должен был бы заявить об этом является указателем, а затем использовать таНос. 694 00:30:41,910 --> 00:30:44,720 И тогда каждый раз я читал через другой строки в файле, 695 00:30:44,720 --> 00:30:46,620 Я собираюсь нужно таНос больше памяти, больше памяти таНос. 696 00:30:46,620 --> 00:30:47,703 Это боль в шее. 697 00:30:47,703 --> 00:30:50,950 И к счастью, PHP, и Руби, и Python, JavaScript и они 698 00:30:50,950 --> 00:30:53,880 будет расти ваши массивы для вас автоматически. 699 00:30:53,880 --> 00:30:54,830 Нет больше таНос. 700 00:30:54,830 --> 00:30:56,227 Нет больше управления памятью. 701 00:30:56,227 --> 00:30:57,560 Компьютер заботится об этом. 702 00:30:57,560 --> 00:31:00,330 Но цена, которую вы платите. 703 00:31:00,330 --> 00:31:01,350 Это немного медленнее. 704 00:31:01,350 --> 00:31:03,190 А для программы, как это мы не собираемся, чтобы заметить. 705 00:31:03,190 --> 00:31:04,720 Мы собираемся отправить 100 текстовых сообщений. 706 00:31:04,720 --> 00:31:06,136 Например, не будет чувствовать себя его. 707 00:31:06,136 --> 00:31:08,430 Это действительно только начинает Независимо от вашего выбора языка 708 00:31:08,430 --> 00:31:11,490 когда ваши данные или ваши программы получить действительно, действительно значительное, 709 00:31:11,490 --> 00:31:14,120 как будет случай больше, с нашей веб-материала, основанного. 710 00:31:14,120 --> 00:31:15,450 >> Но сейчас давайте продвигаться вперед. 711 00:31:15,450 --> 00:31:20,120 Пока получается, что есть функция в C называется F получить CSV. 712 00:31:20,120 --> 00:31:24,570 Файл CSV получить, что занимает ручку файл в качестве аргумента, 713 00:31:24,570 --> 00:31:28,810 и он переходит затем, ряд, по ряд, по ряду читать в строку. 714 00:31:28,810 --> 00:31:30,964 Так что просто читает строку текста из файла. 715 00:31:30,964 --> 00:31:34,130 Но то, что приятно об этой функции, это не просто передать мне строку текста. 716 00:31:34,130 --> 00:31:37,320 Это выглядит для тех запятыми, и анализирует линию. 717 00:31:37,320 --> 00:31:41,740 И для разбора строки означает разделить это на определенных значений в данном контексте. 718 00:31:41,740 --> 00:31:45,510 >> Другими словами, знак доллара строка переменной это 719 00:31:45,510 --> 00:31:47,010 даст мне кучу индексов. 720 00:31:47,010 --> 00:31:49,635 Это собирается быть Первый столбец в моей CSV. 721 00:31:49,635 --> 00:31:52,510 Это будет второй колонка, это будет третий, 722 00:31:52,510 --> 00:31:53,968 и это будет четвертый. 723 00:31:53,968 --> 00:31:57,440 Потому что помню, и не превосходят сотрудничать в последний раз мы делали это, 724 00:31:57,440 --> 00:32:03,350 но если я могу скачать персонал точка CSV. 725 00:32:03,350 --> 00:32:04,940 Упс, не переименовать. 726 00:32:04,940 --> 00:32:09,120 Если я могу скачать персонала точка CSV, и попробуйте открыть его, 727 00:32:09,120 --> 00:32:12,510 Я уже registered-- О, я не обновлять Excel, так как в последний раз. 728 00:32:12,510 --> 00:32:15,880 Вы увидите, что в штате точка CSV, у меня есть четыре колонки. 729 00:32:15,880 --> 00:32:18,720 Так что, когда я прочитал в Первая строка Эбби здесь, 730 00:32:18,720 --> 00:32:23,582 Знак доллара строка 0 это Эбби, Знак доллара ряд один Лайонс, 731 00:32:23,582 --> 00:32:27,740 Знак доллара ряд двух ее номер, а затем носитель ее телефона. 732 00:32:27,740 --> 00:32:28,410 >> Так вот и все. 733 00:32:28,410 --> 00:32:30,740 И, что приятно, потому что я не должны в настоящее время выяснить 734 00:32:30,740 --> 00:32:32,800 где все эти запятой на самом деле. 735 00:32:32,800 --> 00:32:35,300 Так что я собираюсь идти вперед и сделать это, учитывая, что определение, 736 00:32:35,300 --> 00:32:38,960 Я хочу сказать, что ее зовут в строке кронштейна нулевой, как и обещал. 737 00:32:38,960 --> 00:32:41,150 И я собираюсь grab-- и на самом деле, вы знаете, что? 738 00:32:41,150 --> 00:32:42,780 Я не собираюсь беспокоиться о ее имя, в этом случае. 739 00:32:42,780 --> 00:32:43,988 Я собираюсь держать это простым. 740 00:32:43,988 --> 00:32:48,610 Я собираюсь сделать ее номер в строке кронштейна два, я думаю. 741 00:32:48,610 --> 00:32:50,510 И ее носитель был в том, где? 742 00:32:50,510 --> 00:32:53,405 Ряд три, один над. 743 00:32:53,405 --> 00:32:54,280 Так что ничего нового там. 744 00:32:54,280 --> 00:32:56,770 Это просто нуля индексирование в массиве. 745 00:32:56,770 --> 00:32:58,760 >> А теперь, я собираюсь сделать следующее. 746 00:32:58,760 --> 00:33:03,930 Если перевозчик равна равна AT & T-- Я просто хочу, чтобы иметь loop-- 747 00:33:03,930 --> 00:33:06,790 Я хочу создать электронную почту адрес, который выглядит следующим образом. 748 00:33:06,790 --> 00:33:12,320 Это будет 617-555-1212 на то, что это, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 это то, что я хочу сделать. 750 00:33:13,490 --> 00:33:15,260 Так как я могу это сделать? 751 00:33:15,260 --> 00:33:16,730 Я собираюсь сделать следующее. 752 00:33:16,730 --> 00:33:22,460 Ее адрес будет ее номер, и теперь, позвольте мне идти вперед и делать это. 753 00:33:22,460 --> 00:33:23,760 Это некоторые фанки синтаксис. 754 00:33:23,760 --> 00:33:27,250 Я мог бы сделать трюк процентов ы, но я могу на самом деле просто сделать это. 755 00:33:27,250 --> 00:33:29,900 >> Так что это PHP вещь, но давайте рассмотрим, что я делаю. 756 00:33:29,900 --> 00:33:31,630 Доллары, войдите на адрес левая, просто переменная. 757 00:33:31,630 --> 00:33:32,300 Дайте мне переменную. 758 00:33:32,300 --> 00:33:33,390 Я не нужно указывать тип. 759 00:33:33,390 --> 00:33:34,570 PHP будет понять это. 760 00:33:34,570 --> 00:33:36,580 На правой стороне, что тип данных 761 00:33:36,580 --> 00:33:38,399 этой всей вещи на правая? 762 00:33:38,399 --> 00:33:40,190 Выглядит как струна, потому что есть двойная 763 00:33:40,190 --> 00:33:42,280 цитирует далеко слева и справа. 764 00:33:42,280 --> 00:33:44,210 Теперь есть некоторые фанки новый синтаксис здесь. 765 00:33:44,210 --> 00:33:47,550 Там в фигурные скобки, и количество знак доллара. 766 00:33:47,550 --> 00:33:52,860 Но взять думаю, что это то, что синтаксис вероятно, говорит PHP, чтобы сделать для меня? 767 00:33:52,860 --> 00:33:53,360 Да. 768 00:33:53,360 --> 00:33:54,630 Просто вставьте значение там. 769 00:33:54,630 --> 00:33:55,530 Так нет процентов с. 770 00:33:55,530 --> 00:33:58,160 Мы могли бы использовать для печати F, S или печать е или что-то вроде этого, 771 00:33:58,160 --> 00:34:00,070 но PHP и много высокоуровневых языков, 772 00:34:00,070 --> 00:34:03,070 Вы увидите, что вы могли бы сделать то же самое, функционально, может быть, 773 00:34:03,070 --> 00:34:04,019 шесть различных способов. 774 00:34:04,019 --> 00:34:06,310 И так он начинает становиться вопрос дизайна или стиля. 775 00:34:06,310 --> 00:34:09,902 Так что это просто загадочно глядя способ сказать, дайте мне адрес электронной почты, 776 00:34:09,902 --> 00:34:12,110 но плагин числа в между этими фигурные скобки. 777 00:34:12,110 --> 00:34:15,440 И фигурные скобки не будет в конечном итоге в конечном адресу. 778 00:34:15,440 --> 00:34:18,010 >> Теперь мы можем пропустить некоторые из эти линии ради Времени. 779 00:34:18,010 --> 00:34:21,210 Так что, если равен носитель равна verHorizon-- возгласы, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Я хочу сделать что-то очень похожи, где адрес получает, 781 00:34:24,989 --> 00:34:27,569 цитата, конец цитаты, номер на text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 И тогда я могу сделать такой же вещь для остальных перевозчиков. 784 00:34:35,050 --> 00:34:37,090 Но я просто сделать точку, точку, точку в настоящее время. 785 00:34:37,090 --> 00:34:43,050 А теперь давайте предположим, что Я хочу, чтобы добавить массив, нажать. 786 00:34:43,050 --> 00:34:45,969 Я хочу, чтобы добавить к Массив, называемый адреса. 787 00:34:45,969 --> 00:34:50,409 >> Этот адрес, это, как вы что-то добавить в массив в PHP. 788 00:34:50,409 --> 00:34:51,610 Вам не нужно делать таНос. 789 00:34:51,610 --> 00:34:53,068 Вы не должны изменять размеры массива. 790 00:34:53,068 --> 00:34:54,259 Вы просто говорите массива, толчок. 791 00:34:54,259 --> 00:34:57,300 Что вы хотите, чтобы push-- что массив Вы хотите, чтобы подтолкнуть что-то на? 792 00:34:57,300 --> 00:34:58,000 Адреса. 793 00:34:58,000 --> 00:34:59,550 То, что вы хотите, чтобы подтолкнуть на адреса? 794 00:34:59,550 --> 00:35:00,350 Адрес. 795 00:35:00,350 --> 00:35:02,430 И в самом деле, если вы действительно хотите быть умным, 796 00:35:02,430 --> 00:35:05,610 некоторые синтаксический сахар для этого, так сказать, 797 00:35:05,610 --> 00:35:10,230 который просто означает, как вы можете сделать это в красивее образом, было бы это сделать. 798 00:35:10,230 --> 00:35:14,060 Это тоже имеет эффект растет массив адресов по размеру одной, 799 00:35:14,060 --> 00:35:17,130 а затем хлопнуть, что дополнительные Адрес электронной почты в нее. 800 00:35:17,130 --> 00:35:17,630 Да. 801 00:35:17,630 --> 00:35:19,730 >> АУДИТОРИЯ: [неразборчиво] 802 00:35:19,730 --> 00:35:22,520 >> СПИКЕР 1: опечатка на еще if-- ой, носитель. 803 00:35:22,520 --> 00:35:23,070 Ничего страшного. 804 00:35:23,070 --> 00:35:26,971 Это также не будет нравится моя неспособность осуществить часть этой программы 805 00:35:26,971 --> 00:35:27,470 позже. 806 00:35:27,470 --> 00:35:28,810 Но благодарю вас за внимание. 807 00:35:28,810 --> 00:35:30,671 Еще одна ошибка. 808 00:35:30,671 --> 00:35:31,170 Спасибо. 809 00:35:31,170 --> 00:35:33,746 Мы хотим, чтобы это Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Да. 811 00:35:34,340 --> 00:35:34,839 Все в порядке. 812 00:35:34,839 --> 00:35:36,330 Так где же это нам дает? 813 00:35:36,330 --> 00:35:38,224 Мы написали код, чтобы открыть файл. 814 00:35:38,224 --> 00:35:40,390 У нас есть цикл для перебора над рядами в файле. 815 00:35:40,390 --> 00:35:43,650 У нас есть код, который добавляет к моему Массив, по одному за раз, то правильно 816 00:35:43,650 --> 00:35:44,790 отформатирован адрес электронной почты. 817 00:35:44,790 --> 00:35:48,480 Так все, что действительно остается только отправить по электронной почте, чтобы каждый из этих людей. 818 00:35:48,480 --> 00:35:52,830 >> Так что я пошел вперед и готовится себя следующим образом. 819 00:35:52,830 --> 00:35:59,580 То, что я собираюсь сделать здесь is-- и давайте идти вперед и пропустить какой-то реальный код, 820 00:35:59,580 --> 00:36:00,620 который выглядит как это. 821 00:36:00,620 --> 00:36:02,950 Так вот перед запеченные Версия я уже писал ранее. 822 00:36:02,950 --> 00:36:04,700 И заметьте, я закончил реализации Sprint. 823 00:36:04,700 --> 00:36:06,130 Я закончил реализацию T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Я закончил реализации Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 И я заранее извиняюсь. 826 00:36:09,622 --> 00:36:12,080 Там в несколько перевозчиков, которые некоторые студенты в классе есть 827 00:36:12,080 --> 00:36:14,640 что я не стал перечислять в состоянии, если здесь. 828 00:36:14,640 --> 00:36:16,015 Так что не все тексты будут выходить. 829 00:36:16,015 --> 00:36:17,556 Но давайте посмотрим, что еще мне нужно сделать. 830 00:36:17,556 --> 00:36:19,660 Я закрываю файл, просто как в р установить четыре. 831 00:36:19,660 --> 00:36:20,835 >> И это новый синтаксис. 832 00:36:20,835 --> 00:36:22,710 И мы будем видеть немного бит этого в течение долгого времени, 833 00:36:22,710 --> 00:36:24,450 особенно с р установить семь и восемь. 834 00:36:24,450 --> 00:36:28,140 Но это синтаксис для создания особый тип структуры. 835 00:36:28,140 --> 00:36:31,490 Оказывается, есть библиотека, которая поставляется с PHP, называется PHP почтовой программы. 836 00:36:31,490 --> 00:36:33,840 Его цель в жизни, чтобы программно отправить электронную почту. 837 00:36:33,840 --> 00:36:36,840 Это код кто-то писал, что делает его легче для нас, чтобы отправлять электронную почту, 838 00:36:36,840 --> 00:36:39,131 таким образом, мы не должны держать вперед и назад, чтобы Gmail, 839 00:36:39,131 --> 00:36:41,151 и вставить в адресах электронной почты людей. 840 00:36:41,151 --> 00:36:44,150 Там целая куча линий здесь что, честно говоря, я просто вид скопирован 841 00:36:44,150 --> 00:36:45,660 и вставить в документации. 842 00:36:45,660 --> 00:36:47,409 И в самом деле, если вы Любопытно, я оставил все 843 00:36:47,409 --> 00:36:50,550 из адресов документации в коде, что мы будем создавать позже. 844 00:36:50,550 --> 00:36:52,360 И обратите внимание, что среди вещи, которые я делаю 845 00:36:52,360 --> 00:36:55,710 есть, я говорю эту библиотеку, использовать сервер Gmail, верно? 846 00:36:55,710 --> 00:36:59,360 SMTP мы говорили кратко, когда мы были в Йельском университете о том, Simple Mail 847 00:36:59,360 --> 00:37:00,110 протокол передачи. 848 00:37:00,110 --> 00:37:02,920 Это протокол, который серверы, используемые для отправки электронной почты, 849 00:37:02,920 --> 00:37:05,150 и that's-- Gmail имеет один из них. 850 00:37:05,150 --> 00:37:07,290 Порт, это число TCP-порт. 851 00:37:07,290 --> 00:37:09,630 Это нормально, если вы не видел 587 раньше. 852 00:37:09,630 --> 00:37:11,420 Просто знаю, что из документации. 853 00:37:11,420 --> 00:37:12,250 Вот мое имя пользователя. 854 00:37:12,250 --> 00:37:13,670 Я собираюсь использовать CF50 бота. 855 00:37:13,670 --> 00:37:16,690 И в данный момент, я просто хочу, чтобы введите в фактический пароль бота. 856 00:37:16,690 --> 00:37:18,690 А потом сюда, обратите внимание, что осталось. 857 00:37:18,690 --> 00:37:22,840 >> Я приложил от адреса чтобы быть Bot на CS50.net. 858 00:37:22,840 --> 00:37:26,240 Я думаю, что не пожалеете отправив Текст сообщения до 800 человек, что 859 00:37:26,240 --> 00:37:30,590 говорит, скучаю по тебе, любовь CS50 бот, возможно, для тех, кто не может сделать это сегодня. 860 00:37:30,590 --> 00:37:33,160 И тогда в линии 76, что мне делать? 861 00:37:33,160 --> 00:37:39,010 Этот вид выглядит как С. Таким образом, для I равен 0, п equals-- Теперь рассчитывать новый. 862 00:37:39,010 --> 00:37:42,077 Оказывается, что если вы хотите получить количество вещей в массиве, 863 00:37:42,077 --> 00:37:43,660 Вы не должны помнить его больше. 864 00:37:43,660 --> 00:37:45,370 Вы можете просто спросить Функция называется граф, 865 00:37:45,370 --> 00:37:48,320 и он расскажет вам, как много Адреса в этом массиве. 866 00:37:48,320 --> 00:37:53,210 >> А потом я собираюсь добавить адрес в электронной почте. 867 00:37:53,210 --> 00:37:55,090 И я знаю, что это из используя документацию. 868 00:37:55,090 --> 00:37:56,900 Там это функция надстройки адрес. 869 00:37:56,900 --> 00:37:58,980 А теперь заметите, что одна часть синтаксиса. 870 00:37:58,980 --> 00:38:01,470 Мы видели это раньше в C. Аналогичная по духу. 871 00:38:01,470 --> 00:38:04,100 Вы можете думать о знак доллара почте в качестве переменной, которая это. 872 00:38:04,100 --> 00:38:08,100 Но это структура внутри которые являются не только свойства, 873 00:38:08,100 --> 00:38:09,400 переменные, если хотите. 874 00:38:09,400 --> 00:38:13,480 Но оказывается, что в PHP, который является объектно-ориентированное программирование 875 00:38:13,480 --> 00:38:16,520 язык, как Java, если вы приняли АСУ ТП. 876 00:38:16,520 --> 00:38:21,420 >> Знак доллара почта, если вы хотите, целью которых он также имеет функции внутри него, 877 00:38:21,420 --> 00:38:22,380 или методы. 878 00:38:22,380 --> 00:38:24,720 Таким образом, это означает, что специальный PHP-почтовая 879 00:38:24,720 --> 00:38:29,280 библиотека, если я получил его переменной, если я хочу, чтобы вызвать функцию, которая 880 00:38:29,280 --> 00:38:31,559 поставляется с этой библиотекой, для сегодняшних целей, 881 00:38:31,559 --> 00:38:33,100 просто знаю, вы используете обозначения со стрелкой. 882 00:38:33,100 --> 00:38:34,150 Там нет точечной нотации. 883 00:38:34,150 --> 00:38:35,220 Это просто стрелка. 884 00:38:35,220 --> 00:38:36,380 Но это не указатель. 885 00:38:36,380 --> 00:38:38,680 Это просто заимствованы из синтаксиса языка C. 886 00:38:38,680 --> 00:38:43,620 Так называют добавить адрес внутри объект этой библиотеки или переменная. 887 00:38:43,620 --> 00:38:44,440 >> Все в порядке. 888 00:38:44,440 --> 00:38:45,570 Это волшебное линии. 889 00:38:45,570 --> 00:38:46,740 Вот как отправить электронную почту. 890 00:38:46,740 --> 00:38:50,040 Это эквивалент открытия Gmail, введя его, и удар отправить. 891 00:38:50,040 --> 00:38:54,870 Но это будет вместо Написать по электронной почте к этому адресу, с этим телом, 892 00:38:54,870 --> 00:38:57,120 от CS50 бота. 893 00:38:57,120 --> 00:38:58,710 А теперь ключевая строка. 894 00:38:58,710 --> 00:39:03,130 Эта линия была отсутствует в как 2 011 когда я думаю, что я в прошлом пытался это. 895 00:39:03,130 --> 00:39:05,640 Эта линия есть, конечно, очищает адреса. 896 00:39:05,640 --> 00:39:07,920 Так логично, если я не очистить адрес 897 00:39:07,920 --> 00:39:11,740 после каждой итерации, первый по электронной почте или текстовое сообщение идет к Алисе, 898 00:39:11,740 --> 00:39:14,320 вторая идет на Алиса и Боб, третий 899 00:39:14,320 --> 00:39:17,870 идет Алисой и Бобом и Чарли, следовательно, очень дорогая ошибка 900 00:39:17,870 --> 00:39:18,760 Я сделал в этом году. 901 00:39:18,760 --> 00:39:21,080 >> Итак, давайте посмотрим. 902 00:39:21,080 --> 00:39:24,200 Есть вопросы прежде чем мы посылаем вам всю текст 903 00:39:24,200 --> 00:39:28,210 сообщение с 10-процентной вероятностью? 904 00:39:28,210 --> 00:39:28,940 Любые вопросы? 905 00:39:28,940 --> 00:39:30,330 Все в порядке. 906 00:39:30,330 --> 00:39:36,100 Давайте мне идти сюда и изменение пароль, что должно работать, 907 00:39:36,100 --> 00:39:37,780 скорее всего, получите черный список Gmail. 908 00:39:37,780 --> 00:39:39,821 Таким образом, они, возможно, не все идут из, так они, вероятно, 909 00:39:39,821 --> 00:39:42,960 не нравится нам отправке письма 800 в цикле все сразу. 910 00:39:42,960 --> 00:39:45,140 Так что это не особенно человеческого поведения. 911 00:39:45,140 --> 00:39:47,460 >> О, я собираюсь изменить одну вещь. 912 00:39:47,460 --> 00:39:50,850 Наверху, я собираюсь sent-- изменить файл CSV студенты точка. 913 00:39:50,850 --> 00:39:55,420 И я не открою, но это идентичен файл CSV с не 100 сотрудников, 914 00:39:55,420 --> 00:39:58,970 но 800 студентов, только из Гарварда, потому что Йельский 915 00:39:58,970 --> 00:40:00,207 имеет выемку октября на этой неделе. 916 00:40:00,207 --> 00:40:03,290 И кажется, что своего рода рефлекс вещи сделать, чтобы текст все из них, как, почему 917 00:40:03,290 --> 00:40:04,750 они не в классе на отдыхе. 918 00:40:04,750 --> 00:40:05,250 Ничего страшного. 919 00:40:05,250 --> 00:40:08,310 Всего студентов Гарварда сегодня внутри этого файла. 920 00:40:08,310 --> 00:40:12,320 А теперь давайте вернемся на мой окне терминала. 921 00:40:12,320 --> 00:40:13,710 Я вроде нервничал. 922 00:40:13,710 --> 00:40:22,000 >> ОК, так что теперь я собираюсь идти в каталог и PHP текст точка PHP. 923 00:40:22,000 --> 00:40:24,950 Как насчет одного храброго добровольца? 924 00:40:24,950 --> 00:40:26,690 Так что я не хочу, это на меня. 925 00:40:26,690 --> 00:40:28,410 ОК, давай до. 926 00:40:28,410 --> 00:40:29,162 Как тебя зовут? 927 00:40:29,162 --> 00:40:29,662 МАЙЯ Майя. 928 00:40:29,662 --> 00:40:30,328 СПИКЕР 1: Майя. 929 00:40:30,328 --> 00:40:31,610 Приходите на вверх, майя. 930 00:40:31,610 --> 00:40:34,120 Все в порядке. 931 00:40:34,120 --> 00:40:35,389 Давайте посмотрим, если это работает. 932 00:40:35,389 --> 00:40:38,430 Я положил свой адрес электронной почты в file-- свой собственный номер телефона в файле, 933 00:40:38,430 --> 00:40:40,110 так что, надеюсь, я получу один, а также. 934 00:40:40,110 --> 00:40:40,819 Приятно познакомиться. 935 00:40:40,819 --> 00:40:41,443 МАЙЯ: Также. 936 00:40:41,443 --> 00:40:44,510 СПИКЕР 1: Все, что Вам нужно сделать, это Нажмите Enter, чтобы отправить 800 текстовых сообщений, 937 00:40:44,510 --> 00:40:45,466 если я не испортить. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Хороший. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Может потребоваться некоторое время, по статистике, пока мы не получить к электронной почте address-- 942 00:40:58,430 --> 00:41:00,573 текстовое сообщение, что это в комнате прямо сейчас. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Давайте задержаться и посмотреть. 945 00:41:05,390 --> 00:41:06,940 >> АУДИТОРИЯ: [Свист] 946 00:41:06,940 --> 00:41:08,270 >> СПИКЕР 1: О, да. 947 00:41:08,270 --> 00:41:09,230 >> АУДИТОРИЯ: О, Гоча. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> СПИКЕР 1: Для петель are-- это не медленно из-за PHP. 950 00:41:19,180 --> 00:41:21,810 Это потому, что Gmail медленно является дросселирования нас и не 951 00:41:21,810 --> 00:41:25,170 позволяя нам отправить больше, чем как один адрес электронной почты в секунду. 952 00:41:25,170 --> 00:41:26,300 Что-нибудь? 953 00:41:26,300 --> 00:41:29,990 Это было трудно, что для меня, чтобы проверить на домой только с меня и моей одном телефоне, так что. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Это, надеюсь, от бота? 956 00:41:41,111 --> 00:41:41,610 Да? 957 00:41:41,610 --> 00:41:42,110 Нет? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Скажи да. 960 00:41:46,620 --> 00:41:47,479 Нет? 961 00:41:47,479 --> 00:41:49,374 Это от друга? 962 00:41:49,374 --> 00:41:49,874 Неловко. 963 00:41:49,874 --> 00:41:50,374 ХОРОШО. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Довольно уверен, что это, хотя работает. 966 00:42:00,090 --> 00:42:00,910 Ой-ой. 967 00:42:00,910 --> 00:42:03,190 Они black-- ой, подождите минуту. 968 00:42:03,190 --> 00:42:04,280 О, вы знаете, что? 969 00:42:04,280 --> 00:42:06,100 Один момент, пожалуйста. 970 00:42:06,100 --> 00:42:07,802 Только майя и я-- Миа, это было? 971 00:42:07,802 --> 00:42:08,301 МАЙЯ Майя. 972 00:42:08,301 --> 00:42:12,110 СПИКЕР 1: Майя, собираются знаю, что я сделал не так. 973 00:42:12,110 --> 00:42:14,890 Ой, подождите минутку. 974 00:42:14,890 --> 00:42:23,320 Я думаю, что я только что отправил 100 текстовые сообщения 555-1212. 975 00:42:23,320 --> 00:42:24,346 Поддерживать. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Я не могу победить любой год. 978 00:42:29,270 --> 00:42:30,180 ХОРОШО. 979 00:42:30,180 --> 00:42:30,680 Майя? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Fix, что в пост-продакшн. 982 00:42:36,219 --> 00:42:36,718 Черт возьми! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Исходя из адреса. 985 00:42:40,390 --> 00:42:41,301 ОК, стоять. 986 00:42:41,301 --> 00:42:41,800 Сожалею. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Это больно каждый год. 989 00:42:47,080 --> 00:42:48,640 ОК, один момент. 990 00:42:48,640 --> 00:42:50,530 Это хорошо. 991 00:42:50,530 --> 00:42:54,010 Я вместо собираюсь сделать это. 992 00:42:54,010 --> 00:42:55,470 Напечатать адрес. 993 00:42:55,470 --> 00:42:56,030 ОК, стоять. 994 00:42:56,030 --> 00:43:01,340 Печать адреса, кронштейн я. 995 00:43:01,340 --> 00:43:02,710 Да, мне это нравится. 996 00:43:02,710 --> 00:43:10,220 Доллар sign-- ОК я объясню, что я делает в настоящее время, после того как я запускаю это. 997 00:43:10,220 --> 00:43:11,670 Каждый год. 998 00:43:11,670 --> 00:43:13,125 ОК, здесь мы идем. 999 00:43:13,125 --> 00:43:15,750 У меня есть просто-- и я не хочу, показать номер телефона каждого, 1000 00:43:15,750 --> 00:43:17,740 но Майя может подтвердить кивком головы, 1001 00:43:17,740 --> 00:43:20,800 что она видит все это номер телефона в классе 1002 00:43:20,800 --> 00:43:26,750 что я собираюсь скопировать в программа под названием Gmail. 1003 00:43:26,750 --> 00:43:30,860 И если в Gmail, то, что мы хотим сказать? 1004 00:43:30,860 --> 00:43:32,137 Скучаю по тебе. 1005 00:43:32,137 --> 00:43:33,220 Love--, что не от меня. 1006 00:43:33,220 --> 00:43:35,230 Я даже не попал отправить еще. 1007 00:43:35,230 --> 00:43:39,450 Так что давайте идти вперед и делать это, если я могу увеличить. 1008 00:43:39,450 --> 00:43:40,300 ХОРОШО. 1009 00:43:40,300 --> 00:43:42,480 Так я использую программу под названием Gmail в настоящее время. 1010 00:43:42,480 --> 00:43:44,490 Если Майя, вы хотели бы нажмите кнопку Отправить, 1011 00:43:44,490 --> 00:43:46,970 мы будет имитировать то, что, что Код должен был сделать. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Что-нибудь? 1014 00:43:55,254 --> 00:43:56,062 >> [BEEPS] 1015 00:43:56,062 --> 00:43:56,870 >> АУДИТОРИЯ: Да. 1016 00:43:56,870 --> 00:43:58,030 >> СПИКЕР 1: Да? 1017 00:43:58,030 --> 00:43:59,210 Спасение? 1018 00:43:59,210 --> 00:44:00,427 >> АУДИТОРИЯ: Да. 1019 00:44:00,427 --> 00:44:01,260 СПИКЕР 1: Мисс вы. 1020 00:44:01,260 --> 00:44:02,718 И я собираюсь отправить все остальное. 1021 00:44:02,718 --> 00:44:06,060 Я разослал половину, потому что я не думаю, что Gmail будет пусть те пройти. 1022 00:44:06,060 --> 00:44:12,410 Так что помните, что сегодня день что вы узнали, что я могу использовать Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Это было ужасно. 1025 00:44:15,810 --> 00:44:17,140 Большой аплодисменты майя. 1026 00:44:17,140 --> 00:44:18,980 Спасибо. 1027 00:44:18,980 --> 00:44:21,280 Ладно, так. 1028 00:44:21,280 --> 00:44:22,210 что 1029 00:44:22,210 --> 00:44:23,140 >> [BEEPS] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Мы получили несколько звуковых сигнала, да? 1032 00:44:26,580 --> 00:44:27,080 Все в порядке. 1033 00:44:27,080 --> 00:44:30,590 Теперь я иду, чтобы получить 700 действительно несчастные письма от одноклассников назад. 1034 00:44:30,590 --> 00:44:32,400 Так, по крайней мере, мы увидим если оно того стоило. 1035 00:44:32,400 --> 00:44:33,300 Так что пошло не так? 1036 00:44:33,300 --> 00:44:35,300 Я выяснить, что пошло неправильным после факта, 1037 00:44:35,300 --> 00:44:38,340 а просто посмотреть, как легко это должно было сделать, что в PHP. 1038 00:44:38,340 --> 00:44:44,598 Так что мы можем реально сделать сейчас, у нас есть эта выразительность PHP. 1039 00:44:44,598 --> 00:44:45,970 Это was-- это было ужасно. 1040 00:44:45,970 --> 00:44:46,480 Все в порядке. 1041 00:44:46,480 --> 00:44:48,430 Так, чтобы было, что должен был сделать. 1042 00:44:48,430 --> 00:44:52,770 Это было мне тестирования сегодня утром на мой телефон, фактический скриншот моего телефона. 1043 00:44:52,770 --> 00:44:56,180 >> Но теперь давайте рассмотрим, почему мы на самом деле внедрения 1044 00:44:56,180 --> 00:44:57,840 все эти вещи в первую очередь. 1045 00:44:57,840 --> 00:45:01,625 Таким образом, цель состоит не в написать эти программы, 1046 00:45:01,625 --> 00:45:03,250 написаны в командной строке, не так ли? 1047 00:45:03,250 --> 00:45:05,000 Так что я написал простой привет программа, я написал 1048 00:45:05,000 --> 00:45:09,155 маленькая программа, которая делает условные, и использовать линию чтения, и так далее. 1049 00:45:09,155 --> 00:45:11,530 И в теории, я просто написал программа, которая разослал 1050 00:45:11,530 --> 00:45:14,290 800 текстовых сообщений, давать или принимать 800. 1051 00:45:14,290 --> 00:45:16,830 И, что программа была все по-прежнему работать в командной строке. 1052 00:45:16,830 --> 00:45:18,538 И это, конечно, не Интернет, не так ли? 1053 00:45:18,538 --> 00:45:22,160 Цель сейчас, чтобы начать использовать то, что я претендовать более простой в использовании 1054 00:45:22,160 --> 00:45:24,720 язык, осмелюсь сказать, более мощный язык с точки зрения 1055 00:45:24,720 --> 00:45:27,104 из особенностей, которые прийти с ним, чтобы начать 1056 00:45:27,104 --> 00:45:29,850 написание кода, который генерирует веб-страницы. 1057 00:45:29,850 --> 00:45:33,248 >> Так в последний раз, и на прошлой неделе, мы говорили о HTTP и HTML. 1058 00:45:33,248 --> 00:45:36,350 И то, что приятно об HTML является то, что это просто чистый текст. 1059 00:45:36,350 --> 00:45:38,220 И, конечно, текст то, что вы можете 1060 00:45:38,220 --> 00:45:42,040 печатать буквально вызова печать Функция F, или функция печати. 1061 00:45:42,040 --> 00:45:46,160 И в самом деле, это то, что РНР теперь собирается, чтобы позволить нам делать. 1062 00:45:46,160 --> 00:45:48,610 Так среди примеров есть в современном исходном коде, 1063 00:45:48,610 --> 00:45:51,610 в дополнение к некоторым из кода что я ставлю там минуту назад, 1064 00:45:51,610 --> 00:45:55,440 у нас есть программы, как это, например. 1065 00:45:55,440 --> 00:45:58,760 Froshims или Первокурсник Внутренние спорта, был на самом деле 1066 00:45:58,760 --> 00:46:01,500 один из первых extracurriculars Я связался с лет назад. 1067 00:46:01,500 --> 00:46:03,750 И мой сосед по комнате, и я, с некоторые другие дети на территории кампуса, 1068 00:46:03,750 --> 00:46:05,280 используется для запуска программы froshims. 1069 00:46:05,280 --> 00:46:07,420 Я получаю мои текстовые сообщения сих пор. 1070 00:46:07,420 --> 00:46:14,030 >> Теперь, чтобы мы, назад в день, так что это был 1 996 или около того, там был интернет, 1071 00:46:14,030 --> 00:46:17,395 но не было process-- есть не было веб-сайт для froshims. 1072 00:46:17,395 --> 00:46:20,270 И поэтому, если вы хотите, чтобы зарегистрироваться для футбол или волейбол или любой другой, 1073 00:46:20,270 --> 00:46:22,240 Вы бы заполнить эту вещь называется лист бумаги, 1074 00:46:22,240 --> 00:46:25,060 и вы бы ходить по Гарварде двор, и вы слайд бы это 1075 00:46:25,060 --> 00:46:29,230 в почтовый слот сопровождающий, который был в Wigglesworth, один из общежития. 1076 00:46:29,230 --> 00:46:31,270 И это вы зарегистрировались. 1077 00:46:31,270 --> 00:46:33,570 И он или она тогда составить электронную почту к вам 1078 00:46:33,570 --> 00:46:36,514 вручную, так же, как я только что сделал здесь с майя, 1079 00:46:36,514 --> 00:46:38,930 и тогда вы будет подтверждено как был зарегистрирован. 1080 00:46:38,930 --> 00:46:40,840 >> Так что это было как с низким висящих плодов, так сказать. 1081 00:46:40,840 --> 00:46:42,930 Это был своего рода глупо, что мы использовали бумагу для этого. 1082 00:46:42,930 --> 00:46:45,024 Я хотел, чтобы мы могли просто пойти на веб-сайте, 1083 00:46:45,024 --> 00:46:47,440 или есть первокурсники идут на сайт, зарегистрироваться спорта, 1084 00:46:47,440 --> 00:46:50,398 и просто автоматизировать много этого материала поставив их имена и электронные письма 1085 00:46:50,398 --> 00:46:51,850 и так далее в базу данных. 1086 00:46:51,850 --> 00:46:56,510 И в самом деле, самая первая версия веб-сайта, с помощью супер уродливые HTML, 1087 00:46:56,510 --> 00:46:58,195 возможно, смотрел что-то подобное. 1088 00:46:58,195 --> 00:47:01,070 Это было на самом деле, по иронии судьбы, более неловко, глядя, чем это спине 1089 00:47:01,070 --> 00:47:01,460 тогда. 1090 00:47:01,460 --> 00:47:02,890 Но я использовал язык программирования. 1091 00:47:02,890 --> 00:47:06,060 Не PHP, а называется Perl, который является старый язык, 1092 00:47:06,060 --> 00:47:07,251 но очень близки по духу. 1093 00:47:07,251 --> 00:47:09,000 И я просто полностью учил его к себе. 1094 00:47:09,000 --> 00:47:12,208 И он взял меня некоторое время, чтобы понять это, просить много вопросов друзей. 1095 00:47:12,208 --> 00:47:14,080 Но идеи там были точно такими же. 1096 00:47:14,080 --> 00:47:18,050 Потому что то, что PHP был на самом деле предназначены для не командной строки вещи 1097 00:47:18,050 --> 00:47:20,450 мы просто играли с, но для веб-программирования. 1098 00:47:20,450 --> 00:47:24,960 >> Это действительно связаны в своей функции устанавливается в сети, как следует. 1099 00:47:24,960 --> 00:47:26,370 Это froshims. 1100 00:47:26,370 --> 00:47:28,720 И если бы я хотел, чтобы зарегистрироваться в этой форме, 1101 00:47:28,720 --> 00:47:30,930 это вполне уродливой, конечно, но позвольте мне идти вперед 1102 00:47:30,930 --> 00:47:34,440 и быть менее комфортно студент, и все, что спорт для Matthews, 1103 00:47:34,440 --> 00:47:35,630 нажмите Register. 1104 00:47:35,630 --> 00:47:39,780 То, что я хочу, чтобы быть в состоянии сделать это подать информацию из формы, 1105 00:47:39,780 --> 00:47:42,400 не к серверу Google, как мы сделали в прошлый раз, полностью 1106 00:47:42,400 --> 00:47:47,100 обман с помощью их бэкэнда, я хочу, чтобы реализовать свой собственный код бэкэнда. 1107 00:47:47,100 --> 00:47:51,410 Это означает, записи PHP Код, который живет в URL 1108 00:47:51,410 --> 00:47:54,180 что данные формы могут быть представлены. 1109 00:47:54,180 --> 00:47:57,510 >> И тогда ваш код, написано в РНР на сервере, 1110 00:47:57,510 --> 00:47:59,400 может ответить на этот ввод данных пользователем. 1111 00:47:59,400 --> 00:48:03,287 Как его или ее имя, или уровень комфорта, или в общежитии, а затем сделать что-то с ним. 1112 00:48:03,287 --> 00:48:05,120 В этом случае, я просто тупо напечатаны его 1113 00:48:05,120 --> 00:48:06,750 как текст, который не все, что красиво. 1114 00:48:06,750 --> 00:48:09,590 Но вы, безусловно, представьте себе, если вы знаете, HTML, 1115 00:48:09,590 --> 00:48:13,010 и вы скоро знаю, как для генерации HTML с печатью F, и печать, 1116 00:48:13,010 --> 00:48:16,500 и аналогичные функции, вы можете, конечно, генерировать красивее веб-страницу, говорит, 1117 00:48:16,500 --> 00:48:17,929 эй Дэвид, ты теперь зарегистрирован. 1118 00:48:17,929 --> 00:48:20,220 Ты менее комфортно Студент из Мэтьюз, верно? 1119 00:48:20,220 --> 00:48:23,880 >> Вы можете просто использовать целую кучу% СЭС, или фигурные скобки и знак доллара 1120 00:48:23,880 --> 00:48:27,750 обозначения я минуту назад, чтобы генерировать текст, который более удобный 1121 00:48:27,750 --> 00:48:28,567 чем это. 1122 00:48:28,567 --> 00:48:30,150 Итак, давайте взглянем на этот один файл. 1123 00:48:30,150 --> 00:48:34,666 Froshim нулю точка PHP выглядит так. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Когда я перезагрузить CS50 IDE, froshim нулю выглядит как это. 1126 00:48:43,500 --> 00:48:45,700 Это froshim нулю точка PHP. 1127 00:48:45,700 --> 00:48:47,730 И что вы заметите, об этом файле? 1128 00:48:47,730 --> 00:48:49,506 >> АУДИТОРИЯ: [неразборчиво] 1129 00:48:49,506 --> 00:48:50,922 СПИКЕР 1: Извините, немного громче? 1130 00:48:50,922 --> 00:48:53,250 АУДИТОРИЯ: [неразборчиво] Это все в HTML. 1131 00:48:53,250 --> 00:48:57,130 И в самом деле, это, потому Что интересно PHP 1132 00:48:57,130 --> 00:48:58,880 является то, что он был разработан чтобы быть, лучше 1133 00:48:58,880 --> 00:49:02,110 или еще хуже, приобщены с HTML кодом. 1134 00:49:02,110 --> 00:49:05,850 И в самом деле, даже если это Файл, froshim нулевой точка PHP, 1135 00:49:05,850 --> 00:49:11,470 имеет PHP комментарий в верхней это, это всего лишь HTML. 1136 00:49:11,470 --> 00:49:17,655 Но в отличие от, если я открываю, давайте скажем, зарегистрируйтесь нулевой точка PHP, который 1137 00:49:17,655 --> 00:49:19,550 просто имеет большой комментарий в верхней части. 1138 00:49:19,550 --> 00:49:26,500 Это тоже выглядит почти полностью как HTML, для чего, кроме? 1139 00:49:26,500 --> 00:49:29,350 Линия, на что, 21 выглядит немного странно. 1140 00:49:29,350 --> 00:49:32,739 >> Но обратите внимание, я входа в режим PHP с открытой скобки знак вопроса PHP. 1141 00:49:32,739 --> 00:49:33,780 Тогда я получил некоторые вещи. 1142 00:49:33,780 --> 00:49:36,724 И тогда в конце этой строки почти меня, вопросительный знак PHP. 1143 00:49:36,724 --> 00:49:38,390 И это то, что я имею в виду перемежающимися. 1144 00:49:38,390 --> 00:49:41,910 Вы можете написать HTML, что вы только что хотите, чтобы сервер выплюнуть. 1145 00:49:41,910 --> 00:49:45,090 Но если вы хотите сделать что-то динамический полпути страницы, 1146 00:49:45,090 --> 00:49:47,699 как вставить мое имя или общежитии или уровень комфорта, 1147 00:49:47,699 --> 00:49:49,490 Я могу использовать функцию как печать г, который является 1148 00:49:49,490 --> 00:49:52,492 печатать рекурсивной, который просто означает, распечатать эту переменную, форматирование его 1149 00:49:52,492 --> 00:49:53,200 как вы хотите. 1150 00:49:53,200 --> 00:49:55,880 Это действительно не человека цели, это просто 1151 00:49:55,880 --> 00:49:58,290 для отладки или диагностических целей. 1152 00:49:58,290 --> 00:49:59,460 Так вот, как я это сделал. 1153 00:49:59,460 --> 00:50:06,100 >> Если я вместо этого пойти froshims двух точек PHP, заметить, что действие этой формы 1154 00:50:06,100 --> 00:50:09,680 не зарегистрирован нулевой точка PHP как old-- предыдущий был на самом деле. 1155 00:50:09,680 --> 00:50:11,222 Но это зарегистрировано два точка PHP. 1156 00:50:11,222 --> 00:50:13,680 Итак, давайте посмотрим на то, как этот ведет себя немного по-другому. 1157 00:50:13,680 --> 00:50:15,140 Если я иду в версии два. 1158 00:50:15,140 --> 00:50:20,430 Если здесь, если я зарегистрироваться в качестве Давида, менее удобный, с общежития в Мэтьюз, 1159 00:50:20,430 --> 00:50:21,480 регистр. 1160 00:50:21,480 --> 00:50:23,770 Поэтому в этот раз он сказал, вы зарегистрировано не на самом деле. 1161 00:50:23,770 --> 00:50:25,370 Давайте посмотрим, что я сделал здесь. 1162 00:50:25,370 --> 00:50:29,760 Если я смотрю на регистре двух точек PHP, это имеет еще несколько PHP код. 1163 00:50:29,760 --> 00:50:35,410 Это немного чище, хотя он еще обертывания немного долго на этой линии. 1164 00:50:35,410 --> 00:50:36,260 Обратите внимание, здесь. 1165 00:50:36,260 --> 00:50:40,300 Я распечатать мой HTML тег, моя голова тег, мой тег заголовка, голова, тело. 1166 00:50:40,300 --> 00:50:45,410 >> И тогда я начинаю говорить вещи, как войти в режим PHP. 1167 00:50:45,410 --> 00:50:48,540 И так, что тег, открытый кронштейн PHP-- знак вопроса PHP говорит, 1168 00:50:48,540 --> 00:50:53,460 эй, сервер, execute-- интерпретировать следующее материал, как PHP 1169 00:50:53,460 --> 00:50:55,030 пока вы не увидеть конечный тег. 1170 00:50:55,030 --> 00:50:58,590 И даже если вы не могли бы знать любой другой PHP, чем вы видели до сих пор, 1171 00:50:58,590 --> 00:51:01,290 Вы можете прочитать вид это довольно интуитивно. 1172 00:51:01,290 --> 00:51:10,670 Если имя пустое или комфорт пусто, либо в общежитии пуст, что мне делать? 1173 00:51:10,670 --> 00:51:12,830 Что я говорю пользователя? 1174 00:51:12,830 --> 00:51:15,330 Вы должны предоставить ваше имя, комфорт, и общие, и так далее. 1175 00:51:15,330 --> 00:51:17,750 В противном случае, я говорю, что вы зарегистрировано, ну не на самом деле. 1176 00:51:17,750 --> 00:51:19,190 >> И я говорю не очень потому что нет базы данных. 1177 00:51:19,190 --> 00:51:20,200 Я ничего не делаю с данными. 1178 00:51:20,200 --> 00:51:22,408 Я просто выбросить для демонстрационных целей. 1179 00:51:22,408 --> 00:51:24,320 Теперь я вроде поскупились по линии 22. 1180 00:51:24,320 --> 00:51:26,400 Там больше синтаксис есть, но знак доллара 1181 00:51:26,400 --> 00:51:28,320 подчеркивают пост отчасти интересно. 1182 00:51:28,320 --> 00:51:30,300 И это то, что приятно об PHP. 1183 00:51:30,300 --> 00:51:35,610 В PHP, вы должны, что называется несколько супер глобальные переменные. 1184 00:51:35,610 --> 00:51:38,430 Они являются своего рода еще более важно, чем глобальные переменные. 1185 00:51:38,430 --> 00:51:41,370 И это все капитализируются как таковой, приходят с PHP. 1186 00:51:41,370 --> 00:51:44,550 Так что, если у вас есть сервер, который имеет установлен веб-сервер, как Apache, 1187 00:51:44,550 --> 00:51:49,390 и вы установите язык поддержка PHP, все вдруг вы 1188 00:51:49,390 --> 00:51:52,250 может начать использовать эти супер глобальные переменные в коде. 1189 00:51:52,250 --> 00:51:54,330 >> И то, что приятно об PHP является то, что, если вы просто 1190 00:51:54,330 --> 00:51:57,540 написать файл, который заканчивается в точке PHP, положил его на веб-сервере, 1191 00:51:57,540 --> 00:52:01,260 и тогда вы представить форму к нему с помощью этого тега действий и тега формы, 1192 00:52:01,260 --> 00:52:05,110 что атрибут действия в Форма тег, PHP и веб- 1193 00:52:05,110 --> 00:52:09,360 полностью выясняет, как захватить все эти пар ключ-значение из 1194 00:52:09,360 --> 00:52:11,633 в URL, как вопрос Знак Q равен кошек, 1195 00:52:11,633 --> 00:52:14,782 он будет выяснить, как д и кошек. 1196 00:52:14,782 --> 00:52:17,710 Если вы представить фото, или имя пользователя, или пароль, нравится Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP будет выяснить для вас где все эти данные. 1198 00:52:21,360 --> 00:52:23,821 И это будет просто передать Вы ассоциативный массив 1199 00:52:23,821 --> 00:52:27,560 называется знак подчеркивания доллар пост, или знак подчеркивания доллар получить, 1200 00:52:27,560 --> 00:52:30,590 в зависимости от того, вы с помощью GET или отправлять представления. 1201 00:52:30,590 --> 00:52:32,950 И это будет просто передать вам супер глобальная переменная, 1202 00:52:32,950 --> 00:52:37,254 так что если вы хотите получить на название что пользователь представлен с помощью этой сети 1203 00:52:37,254 --> 00:52:41,894 Форма, вы в буквальном смысле просто сказать имя в супер глобальную переменную, цитата, 1204 00:52:41,894 --> 00:52:43,380 конец цитаты, имя. 1205 00:52:43,380 --> 00:52:46,144 И цитата, конец цитаты комфорт, и цитата, конец цитаты общежития. 1206 00:52:46,144 --> 00:52:48,810 И мы собираемся, чтобы быть в состоянии сделать это и многое другое с PHP. 1207 00:52:48,810 --> 00:52:50,540 И хотя это было вихрь взгляд на нее, 1208 00:52:50,540 --> 00:52:51,980 мы погрузиться в гораздо более следующей неделе. 1209 00:52:51,980 --> 00:52:54,247 Мы ввести базу данных так что вы на самом деле 1210 00:52:54,247 --> 00:52:56,816 собирается начать реализацию самостоятельно электронная торговля based-- 1211 00:52:56,816 --> 00:52:59,150 как веб-сайт в времени, просто через неделю. 1212 00:52:59,150 --> 00:53:02,750 Таким образом, мы будем видеть вас в следующий раз, и надеюсь, что вы получили текстовые сообщения. 1213 00:53:02,750 --> 00:53:05,450 До свидания. 1214 00:53:05,450 --> 00:53:06,950 >> [Играет музыка] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [ОТКРЫТИЕ ДВЕРИ] 1217 00:53:12,950 --> 00:53:14,475 >> СПИКЕР 2: Привет. 1218 00:53:14,475 --> 00:53:15,350 СПИКЕР 3: Что случилось? 1219 00:53:15,350 --> 00:53:17,750 СПИКЕР 2: Что вы делаете? 1220 00:53:17,750 --> 00:53:19,850 СПИКЕР 3: Работа по набору проблем. 1221 00:53:19,850 --> 00:53:21,050 СПИКЕР 2: Ницца. 1222 00:53:21,050 --> 00:53:22,550 Дай пять. 1223 00:53:22,550 --> 00:53:23,150 >> [ДАЙ ПЯТЬ] 1224 00:53:23,150 --> 00:53:25,584 >> Что are-- э-э, что ты здесь делаешь? 1225 00:53:25,584 --> 00:53:26,750 СПИКЕР 3: Просто болтаться. 1226 00:53:26,750 --> 00:53:28,134 Только что вернулся из спортзала. 1227 00:53:28,134 --> 00:53:30,050 Я не мог помочь, но заметил, когда мы высокого проигрывал, 1228 00:53:30,050 --> 00:53:32,450 что у вас есть довольно грубые руки. 1229 00:53:32,450 --> 00:53:33,950 Вы идете в спортзал? 1230 00:53:33,950 --> 00:53:35,150 >> СПИКЕР 2: Нет 1231 00:53:35,150 --> 00:53:36,650 Нет. 1232 00:53:36,650 --> 00:53:38,450 >> СПИКЕР 3: Чувак, ты выглядишь довольно большой. 1233 00:53:38,450 --> 00:53:45,950 Какие это плохо, потому что все знают, 8-шар большой человек в университетском городке. 1234 00:53:45,950 --> 00:53:48,050 Дай пять. 1235 00:53:48,050 --> 00:53:49,550 >> СПИКЕР 2: Э-э, нет. 1236 00:53:49,550 --> 00:53:50,450 Нет, я думаю, что я хорошо. 1237 00:53:50,450 --> 00:53:52,300 Я думаю, что я хорошо. 1238 00:53:52,300 --> 00:53:54,097