1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> Выступающий 1: Все, прямо с возвращением. 3 00:00:12,764 --> 00:00:14,140 Это CS50. 4 00:00:14,140 --> 00:00:16,800 А это в начале недели девять. 5 00:00:16,800 --> 00:00:19,960 И это начало остальных Ваше время в CS50, в котором мы 6 00:00:19,960 --> 00:00:23,170 Переход вот, наконец, на веб- аспект курса, где вы будете 7 00:00:23,170 --> 00:00:26,200 обнаружите, что многие из основных принципов, которые мы экспортируем в течение недели 8 00:00:26,200 --> 00:00:29,270 еще вернуться, чтобы посетить, или преследовать, мы. 9 00:00:29,270 --> 00:00:33,440 Но теперь, вы обнаружите, что это порядок легче 10 00:00:33,440 --> 00:00:36,540 выполнения определенных задач и решить некоторые проблемы - 11 00:00:36,540 --> 00:00:41,050 да так, что даже если вы думали, определенных наборов проблемы были интересны в их 12 00:00:41,050 --> 00:00:44,200 собственный путь, я думаю, что вы найдете установлено, что р 7, стр. установлено 8, а затем, 13 00:00:44,200 --> 00:00:47,990 В конечном счете, окончательный проект будет Тем более приятно, потому что вы 14 00:00:47,990 --> 00:00:51,830 найти, что мы начинаем принимать как должное Сейчас такие вещи, как управление памятью и 15 00:00:51,830 --> 00:00:54,190 указатели и что происходит на под капотом. 16 00:00:54,190 --> 00:00:57,310 И опять же, тематические, в течение всего семестре было это наслоение 17 00:00:57,310 --> 00:00:58,030 и слоев. 18 00:00:58,030 --> 00:01:00,530 И теперь мы вроде до Здесь, стоя на 19 00:01:00,530 --> 00:01:01,930 плечи недели прошлого. 20 00:01:01,930 --> 00:01:05,360 >> Теперь вспомним с прошлого раза, что мы говорили о том, как интернет работал. 21 00:01:05,360 --> 00:01:08,120 И это был, возможно, упрощение, но помните, что 22 00:01:08,120 --> 00:01:12,960 каждый компьютер в мире имеет IP решения, хотя это немного 23 00:01:12,960 --> 00:01:14,570 упрощением еще. 24 00:01:14,570 --> 00:01:18,180 И эти адреса используются для однозначной идентификации компьютера таким образом, чтобы 25 00:01:18,180 --> 00:01:22,010 при отправке информации, или пакеты, если можно так выразиться, они могут иметь происхождение 26 00:01:22,010 --> 00:01:24,000 адрес и адрес назначения. 27 00:01:24,000 --> 00:01:27,830 И те же самые адреса IP может быть использован как во благо, так и для зла, 28 00:01:27,830 --> 00:01:29,270 чтобы отслеживать вас, например. 29 00:01:29,270 --> 00:01:32,200 На самом деле, каждый из вас с ноутбуком открыть сейчас, или в вашем телефоне 30 00:01:32,200 --> 00:01:35,070 карман, имеет IP-адрес на сеть Гарварда. 31 00:01:35,070 --> 00:01:39,120 И это еще не все, что трудно коррелируют, что, кто и где вы 32 00:01:39,120 --> 00:01:40,180 в эти дни. 33 00:01:40,180 --> 00:01:42,090 Но об этом, возможно, в будущем. 34 00:01:42,090 --> 00:01:46,510 >> Теперь я думал, что я вернуть часть воспоминания о [? повышения?] и дать вам 35 00:01:46,510 --> 00:01:49,360 Еще один ролик из шоу, которое вы могли бы найти знакомых. 36 00:01:49,360 --> 00:01:52,710 Если бы мы могли приглушить свет всего за несколько секунд. 37 00:01:52,710 --> 00:01:53,960 Показать Numb3rs. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> Докладчик 2: Это 32-разрядная IPP4 адресу. 40 00:02:00,540 --> 00:02:01,610 >> Выступающий 3: IPP, как и в интернете? 41 00:02:01,610 --> 00:02:02,968 >> Докладчик 2: частной сети. 42 00:02:02,968 --> 00:02:04,960 Для частных сетей Амита автора. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Она так удивительно. 45 00:02:19,602 --> 00:02:21,030 >> Выступающий 3: Давай, Чарли. 46 00:02:21,030 --> 00:02:21,490 >> Докладчик 2: Это. 47 00:02:21,490 --> 00:02:22,470 IP адрес зеркала. 48 00:02:22,470 --> 00:02:27,680 Она позволяя нам смотреть то, что она делает в реальном времени. 49 00:02:27,680 --> 00:02:30,930 >> Выступающий 1: Итак, несколько вещей, так с этой картиной. 50 00:02:30,930 --> 00:02:32,920 Таким образом, один и этот один является приемлемым, это на самом деле 51 00:02:32,920 --> 00:02:34,400 не правильный адрес IP. 52 00:02:34,400 --> 00:02:38,190 Действительный адрес IP должен быть числами формы w.x.y.z, где каждый из 53 00:02:38,190 --> 00:02:40,000 эти письма от 0 до 255. 54 00:02:40,000 --> 00:02:42,330 Но это нормально, потому что так же, как фильмы, где они поддельные номера телефонов, 55 00:02:42,330 --> 00:02:43,520 они поддельные IP адресов. 56 00:02:43,520 --> 00:02:45,230 Вы на самом деле не ударил реальных серверов. 57 00:02:45,230 --> 00:02:46,760 >> Но заметьте, это браузер. 58 00:02:46,760 --> 00:02:50,760 И браузеры не начать вывод компьютерный код, как это. 59 00:02:50,760 --> 00:02:54,230 И если мы посмотрим немного глубже, обратите внимание что язык, который они видят 60 00:02:54,230 --> 00:02:57,040 на экране язык, называемый Objective C, который является языком в 61 00:02:57,040 --> 00:02:59,520 которых iPhone приложения написаны, Особенно те, с участием 62 00:02:59,520 --> 00:03:03,540 мелки, как вы можете видеть из здесь исходный код. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> Хорошо, я думал, что это было забавно. 65 00:03:07,560 --> 00:03:12,240 Так что этот фрагмент кода имеет абсолютно ничего общего с тем, что эта 66 00:03:12,240 --> 00:03:13,940 конкретном эпизоде ​​был о. 67 00:03:13,940 --> 00:03:17,590 Так что шутки вроде на людей принимая для этого само собой разумеющееся. 68 00:03:17,590 --> 00:03:20,220 Но это не все, что трудно получить эти технические подробности прямо. 69 00:03:20,220 --> 00:03:21,980 И я хотел бы призвать вас. 70 00:03:21,980 --> 00:03:25,530 А на самом деле, 50 вполне может испортить Многие ТВ-шоу и фильмы или вы 71 00:03:25,530 --> 00:03:27,320 потому что вы найдете, что это просто не возможно, что они 72 00:03:27,320 --> 00:03:28,630 делать на экране. 73 00:03:28,630 --> 00:03:31,750 Но на самом деле, это код, который вы могли бы видеть его в iPhone приложении 74 00:03:31,750 --> 00:03:33,640 или Mac OS приложения. 75 00:03:33,640 --> 00:03:35,685 Она не имеет ничего на всех общего с безопасностью. 76 00:03:35,685 --> 00:03:38,610 Так что следите за новыми такие забавные вещи вроде этого. 77 00:03:38,610 --> 00:03:42,720 >> Но сегодня мы начинаем погружаться в действительно глубоко, чтобы целый ряд языков. 78 00:03:42,720 --> 00:03:45,410 Действительно, одной из всеобъемлющих вынос из этой части 79 00:03:45,410 --> 00:03:51,815 конечно, не научиться программировать В PHP не учиться SQL как таковой, не 80 00:03:51,815 --> 00:03:58,100 узнать JavaScript как такового, а скорее научить себя, как учить 81 00:03:58,100 --> 00:04:02,030 себя новые языки, потому что, действительно, чем приступить к принятию сейчас 82 00:04:02,030 --> 00:04:06,020 подготовки колес от так, что после концу курса, вы не ожидаете, 20 83 00:04:06,020 --> 00:04:08,890 Страница спецификации рассказать вам, как реализовать некоторые программы. 84 00:04:08,890 --> 00:04:12,970 У вас достаточно ингредиентов в вашей ума, и достаточно инструментов в вашем инструмент 85 00:04:12,970 --> 00:04:15,750 комплект, с которым, чтобы начать строительство решения проблем, представляющих интерес для 86 00:04:15,750 --> 00:04:19,130 Вы для некоторой группы студентов, для некоторых Исследовательский проект, или действительно ничего 87 00:04:19,130 --> 00:04:20,140 представлять интерес для Вас. 88 00:04:20,140 --> 00:04:24,150 >> Так что в этом направлении, вспомним, что это было картина, которую мы обратили ее в последний раз. 89 00:04:24,150 --> 00:04:27,620 И это два компьютера, и клиент Sever, говорить друг с другом. 90 00:04:27,620 --> 00:04:31,130 И протокол, язык, так говорить, что эти два компьютера происходить 91 00:04:31,130 --> 00:04:33,220 , говорил называется HTTP. 92 00:04:33,220 --> 00:04:37,730 И это только протокол, используемый компьютеров для передачи информации через 93 00:04:37,730 --> 00:04:38,710 World Wide Web. 94 00:04:38,710 --> 00:04:41,770 Интернет, конечно, является одним из сервисов , который работает на верхней части 95 00:04:41,770 --> 00:04:43,000 так называемые Интернет. 96 00:04:43,000 --> 00:04:48,660 Что другую службу доступны на верхней части Интернета в эти дни? 97 00:04:48,660 --> 00:04:51,600 Некоторые другие протокол или - что это такое? 98 00:04:51,600 --> 00:04:52,300 >> АУДИТОРИЯ: FTP. 99 00:04:52,300 --> 00:04:52,790 >> Выступающий 1: FTP. 100 00:04:52,790 --> 00:04:54,630 Так протокол передачи файлов это совсем другое. 101 00:04:54,630 --> 00:04:56,050 Большинство из вас, вероятно, не использовал его. 102 00:04:56,050 --> 00:04:58,830 Но большинство из вас, вероятно, использовали вещи, как Gchat или мгновенного 103 00:04:58,830 --> 00:05:00,970 сообщениями в более общем конечно, электронная почта. 104 00:05:00,970 --> 00:05:04,470 И те тоже являются услуги, которые работают на верхней части интернет, потому что, по крайней 105 00:05:04,470 --> 00:05:08,180 конце концов, сам Интернет на самом деле просто получить данные из точки А в 106 00:05:08,180 --> 00:05:12,480 точки В. И он использует ряд Частицы себя, один из них или два 107 00:05:12,480 --> 00:05:17,340 из них наиболее обычно называют TCP / IP который должен сказать, что на одном компьютере 108 00:05:17,340 --> 00:05:19,960 Интернет действительно может делать разные вещи, электронную почту, 109 00:05:19,960 --> 00:05:20,980 и Интернет, и так далее. 110 00:05:20,980 --> 00:05:22,220 Google делает многое из этого. 111 00:05:22,220 --> 00:05:26,310 Так как же эти услуги однозначно определены, мы сказали, на компьютере 112 00:05:26,310 --> 00:05:29,080 , что может на самом деле делает несколько вещей? 113 00:05:29,080 --> 00:05:29,860 >> Номер порта. 114 00:05:29,860 --> 00:05:34,180 И это только произвольные человека 80 конвенций, как это веб, 443 115 00:05:34,180 --> 00:05:36,580 зашифрованной сети, 25 является электронная почта. 116 00:05:36,580 --> 00:05:38,230 И есть пучки другие. 117 00:05:38,230 --> 00:05:41,860 И эта цифра постоянно просто включены в эти пакеты информации, эти 118 00:05:41,860 --> 00:05:46,230 виртуальная конверте, что на самом деле содержал запроса или ответа. 119 00:05:46,230 --> 00:05:51,300 >> Так что, когда вы вернетесь ответа от Интернет, обычно, вы не видите любые 120 00:05:51,300 --> 00:05:54,780 Номера бы то ни было с точки зрения код состояния ответа. 121 00:05:54,780 --> 00:05:56,770 Вы фактически не видите внутренние работы 122 00:05:56,770 --> 00:05:58,090 пакетов, которые возвращаются. 123 00:05:58,090 --> 00:05:59,860 Но 200 действительно означает OK. 124 00:05:59,860 --> 00:06:01,530 А это значит, все хорошо. 125 00:06:01,530 --> 00:06:02,870 Возможно, вы видели кучу этих. 126 00:06:02,870 --> 00:06:05,710 Что, вероятно, наиболее распространенный Вы видели в Интернете? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Это просто значит, файл не найден. 129 00:06:07,330 --> 00:06:08,270 Это означает, что кто-то облажался. 130 00:06:08,270 --> 00:06:11,450 Вы сделали, опечаток URL, или кто-то другой не делал, давая вам 131 00:06:11,450 --> 00:06:15,100 Неправильный URL, или они удалили файлов и URL-прежнему 132 00:06:15,100 --> 00:06:16,130 используются людьми. 133 00:06:16,130 --> 00:06:19,670 Таким образом, любое количество причин может объяснить почему файл не найден. 134 00:06:19,670 --> 00:06:22,990 И вы увидите, в ближайшие недели, эти другие коды ошибок, и Вы будете 135 00:06:22,990 --> 00:06:24,195 воспользоваться некоторыми из них. 136 00:06:24,195 --> 00:06:25,760 Хуже всего 500. 137 00:06:25,760 --> 00:06:29,820 Если вы получаете ошибку 500 в код, который вы написано, думаю об этом как своего рода 138 00:06:29,820 --> 00:06:33,290 аналог сегментам неисправностей в мире веб-программирования. 139 00:06:33,290 --> 00:06:34,560 Это не так страшно. 140 00:06:34,560 --> 00:06:36,660 Но это всего лишь означает, что где-то, Ты облажался. 141 00:06:36,660 --> 00:06:38,260 Так что с нетерпением ждем тех. 142 00:06:38,260 --> 00:06:39,910 >> Но давайте посмотрим, если мы можем увидеть их в контексте. 143 00:06:39,910 --> 00:06:43,460 Пустите меня к браузеру здесь и выполните следующие действия. 144 00:06:43,460 --> 00:06:45,710 Так что это Chrome, который, оказывается, быть установлен в устройстве. 145 00:06:45,710 --> 00:06:49,410 Но больше всех браузерах днях некоторую эквивалентную функциональность. 146 00:06:49,410 --> 00:06:52,610 Я пойду меню в Chrome, и перейдите в меню Сервис, а я пойду 147 00:06:52,610 --> 00:06:53,990 для разработчика. 148 00:06:53,990 --> 00:06:57,040 И вы увидите, что эта маленькая панель открывается в нижней части окна. 149 00:06:57,040 --> 00:07:00,190 Еще одна клавиша, честно говоря, что я Обычно сам использую это кликнуть правой кнопкой мыши 150 00:07:00,190 --> 00:07:04,370 или управления мыши в любом месте веб- страницы и просто пойти на проверку элементов. 151 00:07:04,370 --> 00:07:07,440 И это не только откроет это имеет для вас. 152 00:07:07,440 --> 00:07:10,230 Она также будет открыт, в частности, Элементы части на 153 00:07:10,230 --> 00:07:11,430 левой стороне. 154 00:07:11,430 --> 00:07:12,460 >> Так что мы, конечно, видим Google. 155 00:07:12,460 --> 00:07:13,930 Они изменили свой логотип сегодня. 156 00:07:13,930 --> 00:07:20,200 Но если я прокрутите вниз до заметьте, что под элементы, вы видите 157 00:07:20,200 --> 00:07:23,460 то, что называется HTML, разметки гипертекста Язык и это язык 158 00:07:23,460 --> 00:07:26,000 что это и все веб-страницы, действительно, написаны дюйма 159 00:07:26,000 --> 00:07:28,950 Но это на самом деле отформатирована для нас гораздо больше читаемо 160 00:07:28,950 --> 00:07:29,970 чем это обычно и бывает. 161 00:07:29,970 --> 00:07:34,810 В самом деле, если я уменьшить масштаб, и я вместо Нажмите правой кнопкой мыши или управления выберите 162 00:07:34,810 --> 00:07:39,630 нажмите на странице, а затем выберите Вид Исходный код страницы, это буквально то, что 163 00:07:39,630 --> 00:07:42,150 Google ниспослано моем браузере. 164 00:07:42,150 --> 00:07:46,480 >> Таким образом, некоторые лица или лиц, писал Google.com с помощью этого исходного кода. 165 00:07:46,480 --> 00:07:47,790 Большинство это не HTML. 166 00:07:47,790 --> 00:07:49,340 На самом деле это язык, называемый JavaScript, который 167 00:07:49,340 --> 00:07:50,880 мы придем к в среду. 168 00:07:50,880 --> 00:07:55,580 Но то, что Chrome, и то, что каждый браузер может сделать для нас, это своего рода см. 169 00:07:55,580 --> 00:07:59,610 мимо всех отвлечений сумасшедшие синтаксиса и снова вставьте пробел 170 00:07:59,610 --> 00:08:02,940 для нас, и даже подсветка синтаксиса, или раскрасить вещи для нас. 171 00:08:02,940 --> 00:08:06,470 Таким образом, вы увидите, что эти так называемые разработчик инструментов, встроенных в браузеры 172 00:08:06,470 --> 00:08:10,830 сделает вашу жизнь так, так гораздо проще потому что вы можете изучить, с помощью этого меню 173 00:08:10,830 --> 00:08:13,940 Интерфейс, именно то, что основной исходный код для 174 00:08:13,940 --> 00:08:15,750 любую страницу в Интернете. 175 00:08:15,750 --> 00:08:19,070 И в самом деле, это одна из наиболее эффективные способы, чтобы узнать, как это сделать 176 00:08:19,070 --> 00:08:22,860 что-то новое, по крайней мере, если страница не настолько сложны, чтобы подавлять, И.С. 177 00:08:22,860 --> 00:08:26,700 начать ковыряться это HTML, посмотрите на его так называемые CSS, который мы приедем 178 00:08:26,700 --> 00:08:30,310 к биту, а также, чтобы получить понимание того, как, что программист 179 00:08:30,310 --> 00:08:33,480 реализованы некоторые частные Особенностью этой странице. 180 00:08:33,480 --> 00:08:36,530 >> Но технически более интересным право Ну вот, теперь, чтобы быть этим. 181 00:08:36,530 --> 00:08:39,429 Если я иду на вкладку Сеть, давайте теперь снимите этот. 182 00:08:39,429 --> 00:08:43,429 Я собираюсь нажмите на маленькую крест символ здесь, а затем 183 00:08:43,429 --> 00:08:45,630 перейти на другой сайт. 184 00:08:45,630 --> 00:08:48,430 И я просто хочу, чтобы ввести в Facebook.com. 185 00:08:48,430 --> 00:08:51,940 Нет HTTP, HTTPS Нет, нет WWW. 186 00:08:51,940 --> 00:08:53,850 Давайте посмотрим, что на самом деле здесь происходит. 187 00:08:53,850 --> 00:08:55,030 >> Enter. 188 00:08:55,030 --> 00:08:58,480 Теперь обратите внимание целую кучу вещи просто появились в этом нижняя панель, в 189 00:08:58,480 --> 00:09:00,285 Дополнительно к веб-странице , появляются в верхнем. 190 00:09:00,285 --> 00:09:04,890 Я собираюсь прокрутить обратно в Вкладка Сеть здесь, и я собираюсь 191 00:09:04,890 --> 00:09:06,080 нажмите на первую строку. 192 00:09:06,080 --> 00:09:10,580 То, что это инструмент собирается открыть нам является каждый из HTTP-запросов 193 00:09:10,580 --> 00:09:13,550 которые быстро просто вернулся и вперед между моим браузером 194 00:09:13,550 --> 00:09:14,930 и Facebook, сервере. 195 00:09:14,930 --> 00:09:17,830 И так каждый из этих строк представляет собой одно такое ходатайство или 196 00:09:17,830 --> 00:09:20,970 ответ один или более эти виртуальные конверт. 197 00:09:20,970 --> 00:09:24,080 Или в более непринужденной обстановке, это как человек как человек, клиент в 198 00:09:24,080 --> 00:09:26,710 ресторан, просят что-то снова, и снова, и снова. 199 00:09:26,710 --> 00:09:29,400 И официант держит чего его обратно по одному. 200 00:09:29,400 --> 00:09:33,850 >> Так что теперь, если я увеличить на этом, заметьте, и это будет та вещь, 201 00:09:33,850 --> 00:09:36,600 что вы всегда можете, и призвал играть с по своему усмотрению, потому что мы 202 00:09:36,600 --> 00:09:38,150 не буду перечислять все, в мельчайших подробностях. 203 00:09:38,150 --> 00:09:40,070 Но обратите внимание, что есть несколько суб вкладки здесь - 204 00:09:40,070 --> 00:09:43,700 Заголовки, предварительный просмотр, ответ, Печенье, и сроки. 205 00:09:43,700 --> 00:09:48,280 Я просто хочу посмотреть на заголовки на данный момент, потому что это мало 206 00:09:48,280 --> 00:09:53,600 ингредиентов внутри оболочки, что справочные данные добраться до и от места. 207 00:09:53,600 --> 00:09:57,590 >> Итак, сначала, позвольте мне этого нажмите, Красивый вид Источник рядом с заголовков запроса. 208 00:09:57,590 --> 00:10:01,910 Существует просьбой моего браузера, Хром, в данном случае, посланный внутри 209 00:10:01,910 --> 00:10:02,910 что виртуальные конверт. 210 00:10:02,910 --> 00:10:04,800 Вы помните, на прошлой неделе я вручную ввели его в то время как 211 00:10:04,800 --> 00:10:06,380 притворяясь браузера. 212 00:10:06,380 --> 00:10:09,980 Затем он напомнил сервере, что это ищет хозяина называется 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 А тут еще немного больше тайной Информация, которую мы будем махать 215 00:10:13,630 --> 00:10:14,830 наши руки на данный момент. 216 00:10:14,830 --> 00:10:18,640 >> Но если я начинаю прокручивать вниз в настоящее время в это окно, позвольте мне добраться до 217 00:10:18,640 --> 00:10:19,980 заголовки ответа. 218 00:10:19,980 --> 00:10:23,270 Это было то, что в виртуальном конверт, который вернулся из 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 И если я нажимаю View Source просто чтобы увидеть сырой текст из него, 221 00:10:27,390 --> 00:10:28,400 заметить несколько вещей. 222 00:10:28,400 --> 00:10:32,130 Один из них, Facebook также говорят на одном протокол, версия 1.1 его. 223 00:10:32,130 --> 00:10:33,390 Так что это хорошо. 224 00:10:33,390 --> 00:10:36,820 Но код состояния 301, переехал на постоянное жительство. 225 00:10:36,820 --> 00:10:38,880 >> Ну, и где, черт возьми, Facebook идти? 226 00:10:38,880 --> 00:10:40,430 Что это пытаются донести до нас? 227 00:10:40,430 --> 00:10:44,310 Ну, заметить здесь есть еще один заголовка с именем Местоположение. 228 00:10:44,310 --> 00:10:51,050 Так почему же Facebook говорят мне, что они переехал в URL, что 229 00:10:51,050 --> 00:10:53,580 рядом с расположением? 230 00:10:53,580 --> 00:10:54,962 Я забыл WWW. 231 00:10:54,962 --> 00:10:56,250 >> Так, чтобы был мой выбор. 232 00:10:56,250 --> 00:11:00,450 В самом деле, большинство из нас редко, возможно, введите www.whatever.com в эти дни. 233 00:11:00,450 --> 00:11:03,390 Но оказывается, системный администратор, как Facebook, могут 234 00:11:03,390 --> 00:11:06,800 настроить свои серверы таким образом что либо Facebook.com работ, или 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com работает, или, на самом деле, любой такой префикс перед их 236 00:11:12,450 --> 00:11:13,210 доменное имя. 237 00:11:13,210 --> 00:11:14,500 Так что они сделали это для нас. 238 00:11:14,500 --> 00:11:16,910 И они перенаправляют нас, вероятно, для некоторых технических, 239 00:11:16,910 --> 00:11:18,100 некоторых маркетинговых соображений. 240 00:11:18,100 --> 00:11:21,570 Они просто хотят канонизировать на www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Но это не совсем так. 242 00:11:24,040 --> 00:11:28,560 Если я прокрутите вниз здесь, давайте посмотрим, что произойдет. 243 00:11:28,560 --> 00:11:30,810 Это говорит мне, что мы переехал на постоянное жительство в 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Итак, давайте посмотрим на второй запрос что мой браузер посылает. 246 00:11:36,620 --> 00:11:40,070 К сожалению, похоже, что Facebook переехала снова, потому что второй 247 00:11:40,070 --> 00:11:44,420 запрос, выбрав, что URL вместо этого, говорит, что тоже переехал 248 00:11:44,420 --> 00:11:45,010 на постоянной основе. 249 00:11:45,010 --> 00:11:48,140 И позвольте мне здесь прокрутить вниз для заголовков ответа. 250 00:11:48,140 --> 00:11:51,530 Куда Facebook уже нет? 251 00:11:51,530 --> 00:11:52,680 >> Так HTTPS. 252 00:11:52,680 --> 00:11:56,130 Так что теперь Facebook началась, особенно в свете текущих 253 00:11:56,130 --> 00:11:59,750 событий в последние месяцы, особенно и Также в последние пару лет 254 00:11:59,750 --> 00:12:03,670 , чтобы заставить всех своих пользователей, в хорошем Кстати, использовать HTTPS, которая является более 255 00:12:03,670 --> 00:12:06,210 обеспечить, хотя и не совсем безопасно. 256 00:12:06,210 --> 00:12:10,000 И вот теперь моя страница, мой браузер собирается запросить эту третью URL. 257 00:12:10,000 --> 00:12:14,710 И вот, наконец, мы получаем иным причинам увидеть 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> Так что в мире или все эти другие строки здесь. 259 00:12:18,830 --> 00:12:22,630 Я буквально набрали одно, а моя браузер, кажется, просил, как 260 00:12:22,630 --> 00:12:23,840 20 некоторые странные вещи. 261 00:12:23,840 --> 00:12:24,640 Что это? 262 00:12:24,640 --> 00:12:25,810 >> АУДИТОРИЯ: сценарии? 263 00:12:25,810 --> 00:12:28,460 >> Выступающий 1: Сценарии, поэтому другие файлы написана на языке, называемом 264 00:12:28,460 --> 00:12:30,780 JavaScript, которые, опять же, мы будем посмотреть немного в среду. 265 00:12:30,780 --> 00:12:32,760 Что еще? 266 00:12:32,760 --> 00:12:33,390 Таблиц стилей. 267 00:12:33,390 --> 00:12:36,350 Так что-то на языке, называемом CSS, который мы увидим в немного. 268 00:12:36,350 --> 00:12:40,690 GIF-и JPEG, и PNG, и изображения, и видео файлов - все, что веб-страница 269 00:12:40,690 --> 00:12:43,280 имеет, скорее всего, в виде файла. 270 00:12:43,280 --> 00:12:46,750 И так, что мы видим на левой стороны есть все файлы 271 00:12:46,750 --> 00:12:50,280 Chrome, что пришлось скачать, рекурсивно, если хотите, для того, чтобы 272 00:12:50,280 --> 00:12:52,430 составляют полноту странице. 273 00:12:52,430 --> 00:12:56,210 >> Итак, что мы видели несколько минут назад с Google, Если я нажимаю на элементы 274 00:12:56,210 --> 00:13:00,470 закладка, это, конечно, является HTML, язык, который сочиняет этой странице. 275 00:13:00,470 --> 00:13:01,890 Но есть пучки других вещей. 276 00:13:01,890 --> 00:13:02,640 Там в логотипе. 277 00:13:02,640 --> 00:13:04,680 Там в эти голубые-иш Значки там. 278 00:13:04,680 --> 00:13:07,610 И есть еще другие элементы на страницы, которые сами могут быть 279 00:13:07,610 --> 00:13:08,610 отдельные файлы. 280 00:13:08,610 --> 00:13:11,860 >> Так что приятно об браузера является то, что он смотрит на языке, который мы собираемся 281 00:13:11,860 --> 00:13:14,690 , чтобы начать писать, или вы уже начал писать на множество Р 7, рисунков 282 00:13:14,690 --> 00:13:17,970 , где живут эти файлы, и идет и хватает их, а также. 283 00:13:17,970 --> 00:13:21,010 И я не могу не подчеркнуть, даже хотя некоторые из этого может выглядеть немного 284 00:13:21,010 --> 00:13:24,820 тайными или подавляющее на первый взгляд, обучения программированию 285 00:13:24,820 --> 00:13:28,500 приложений для Интернета, это неоценимую понять, как эти 286 00:13:28,500 --> 00:13:29,410 мало рабочих инструментов. 287 00:13:29,410 --> 00:13:33,830 Это вроде как GDB как инструменты, но гораздо проще, в конечном счете, в использовании - 288 00:13:33,830 --> 00:13:37,690 и действительно дает вам глаза на то, что мы принимали как должное для 289 00:13:37,690 --> 00:13:39,170 достаточно долгого времени теперь. 290 00:13:39,170 --> 00:13:42,270 >> Так что мы можем сейчас сделать с эту информацию? 291 00:13:42,270 --> 00:13:44,875 Ну, давайте на самом деле взглянуть на концепции, лежащие HTML. 292 00:13:44,875 --> 00:13:49,025 И мы отложим, а у нас уже есть, чтобы разделах этой неделе, к проблеме 293 00:13:49,025 --> 00:13:53,260 установлены 7 спецификации, в некоторых из более сведения об этих языках. 294 00:13:53,260 --> 00:13:57,020 Но давайте посмотрим, если мы не можем нарисовать картину того, что вы должны понимать, 295 00:13:57,020 --> 00:13:57,940 общее здесь. 296 00:13:57,940 --> 00:14:02,280 >> Так HTML, язык гипертекстовой разметки, не является языком программирования. 297 00:14:02,280 --> 00:14:03,520 Что это действительно означает? 298 00:14:03,520 --> 00:14:05,690 Так HTML выглядит следующим образом. 299 00:14:05,690 --> 00:14:06,810 И некоторые из вас уже знают это. 300 00:14:06,810 --> 00:14:08,130 Некоторые из вас делали это в течение некоторого времени. 301 00:14:08,130 --> 00:14:10,270 Но давайте посмотрим, если мы не можем заполнить некоторые пробелы, а также. 302 00:14:10,270 --> 00:14:11,760 Так заметить несколько вещей здесь. 303 00:14:11,760 --> 00:14:13,030 Один из них, это просто текст. 304 00:14:13,030 --> 00:14:15,960 Так что это просто, как в исходном коде C, или какой-либо другой язык. 305 00:14:15,960 --> 00:14:17,750 >> Обратите внимание, что, кажется, быть образцом здесь. 306 00:14:17,750 --> 00:14:20,870 Там в отступы, но технически отступ просто человеческая 307 00:14:20,870 --> 00:14:21,205 Конвенции. 308 00:14:21,205 --> 00:14:24,980 Браузеры не заботится, если есть новые линий и вкладки, как мы видим, есть. 309 00:14:24,980 --> 00:14:27,410 Но обратите внимание, что есть симметрии здесь. 310 00:14:27,410 --> 00:14:31,180 Там то, что я буду называть, в верхней части Этот файл, открытый тег или начало 311 00:14:31,180 --> 00:14:33,030 тег, называется HTML. 312 00:14:33,030 --> 00:14:36,800 И потом, внизу, прекрасно выстроились вверх, так же, как мы делаем с фигурными скобками, 313 00:14:36,800 --> 00:14:40,910 мы видим, открывающая скобка, вперед слэш, HTML, закрывающая скобка. 314 00:14:40,910 --> 00:14:44,610 Так вот соответствующий близко тег или закрывающего тега для этой вещи. 315 00:14:44,610 --> 00:14:47,990 >> Вместе все внутри так называемых открытых тегов и закрывающий тег 316 00:14:47,990 --> 00:14:50,440 сочинять, что мы назовем элементом. 317 00:14:50,440 --> 00:14:53,910 И мы увидим, только в данный момент, это очень нравится узла в деревьях. 318 00:14:53,910 --> 00:14:57,470 Потому что, если вы думаете о сейчас углубление, которое подразумевается, здесь, вы 319 00:14:57,470 --> 00:15:00,780 отчасти есть, вроде бы, бабушки и дедушки узел, который называется HTML. 320 00:15:00,780 --> 00:15:06,870 Сколько детей вы могли бы сказать, основанное На этой картине, HTML элемент имеет? 321 00:15:06,870 --> 00:15:07,720 >> Так, вероятно, два. 322 00:15:07,720 --> 00:15:10,240 Одним из них является головной элемент, по-видимому. 323 00:15:10,240 --> 00:15:11,710 И одно это тело элемента. 324 00:15:11,710 --> 00:15:12,555 А почему бы и двое детей? 325 00:15:12,555 --> 00:15:15,840 Ну, я только отчасти выведение, что если У меня есть открытый тег головы, а затем 326 00:15:15,840 --> 00:15:17,820 закрывающий тег голову, это элемент. 327 00:15:17,820 --> 00:15:21,200 И потом, если есть еще один открытый кузов тега и закрывающего тега тела, это все равно что 328 00:15:21,200 --> 00:15:22,340 другого элемента. 329 00:15:22,340 --> 00:15:26,000 Таким образом, в том смысле, что если я как бы поворот изображение на его стороне, это 330 00:15:26,000 --> 00:15:29,910 как с HTML тегов, а затем голова тег, а затем тело тега, и 331 00:15:29,910 --> 00:15:34,290 Затем текст, привет мир, болтая от тела сам тег. 332 00:15:34,290 --> 00:15:36,620 >> Так что мы можем нарисовать картину, что может выглядеть следующим образом. 333 00:15:36,620 --> 00:15:38,020 Формы могут быть любыми. 334 00:15:38,020 --> 00:15:40,870 Но обратите внимание, что я использовал рода эллипс в верхней представлять 335 00:15:40,870 --> 00:15:41,860 Сам документ. 336 00:15:41,860 --> 00:15:45,980 Оказывается, могут быть и другие вещи внутри веб-страницы, которые я не 337 00:15:45,980 --> 00:15:46,940 сделанные здесь. 338 00:15:46,940 --> 00:15:50,800 Таким образом, мы собираемся даже повесить HTML узла прочь так называемых узла документа. 339 00:15:50,800 --> 00:15:53,730 А то у нас голова и тела и названия, заметьте, 340 00:15:53,730 --> 00:15:55,360 который вложен дальше. 341 00:15:55,360 --> 00:15:58,650 Я не беспокоить положить дополнительную линию разрывов внутри заголовка. 342 00:15:58,650 --> 00:16:02,710 Он просто чувствовал, что это становилось слишком громоздким. 343 00:16:02,710 --> 00:16:07,000 Поэтому я оставил его в одну линию там, с Открытое название, привет мир, закрыла титул. 344 00:16:07,000 --> 00:16:09,380 И тогда у нас есть некоторый текст свисающие прочь здесь. 345 00:16:09,380 --> 00:16:12,200 >> Так что это картина вернется к нас, когда мы погружаемся в JavaScript. 346 00:16:12,200 --> 00:16:15,110 И понимание того, что, когда вы написать HTML, как это, то, что 347 00:16:15,110 --> 00:16:16,250 это браузер делает? 348 00:16:16,250 --> 00:16:19,290 Ну, мы не должны беспокоиться о как он это делает, или с тем, что 349 00:16:19,290 --> 00:16:23,090 алгоритм, но в конце концов, Когда браузер получает HTML как 350 00:16:23,090 --> 00:16:27,510 что с Facebook или Google, он анализирует это, так сказать, он читает, 351 00:16:27,510 --> 00:16:31,160 с чем-то вроде FREAD, сверху вниз, слева направо, и, как 352 00:16:31,160 --> 00:16:36,300 понимает, о, открывающего тега, а затем закройте тега, он начинает Malloc, так сказать, 353 00:16:36,300 --> 00:16:37,800 узла в дереве. 354 00:16:37,800 --> 00:16:41,130 И когда он сталкивается, как мы уже подразумевается здесь с отступом, 355 00:16:41,130 --> 00:16:45,400 дочерний узел, он mallocs узлом для этой и прикреплен что к дереву. 356 00:16:45,400 --> 00:16:49,150 >> Так древовидные структуры, бинарные деревья, тройных деревья, и больше деревьев, что 357 00:16:49,150 --> 00:16:53,380 мы поглядели на неделю или две назад, уведомления , что тот же принцип 358 00:16:53,380 --> 00:16:54,220 возвращаются к нам. 359 00:16:54,220 --> 00:16:57,590 И тот, кто реализован, что Chrome Команда сделала, что предположительно было 360 00:16:57,590 --> 00:17:00,800 осуществить какой-то структуры дерева под капотом. 361 00:17:00,800 --> 00:17:05,329 И это само по себе, вероятно, в язык, как C или C + +, или низшей 362 00:17:05,329 --> 00:17:08,540 уровне языка, что мы будем теперь использовать поверх Интернета. 363 00:17:08,540 --> 00:17:11,200 >> Так что теперь, может быть, это будет больше смысла. 364 00:17:11,200 --> 00:17:15,420 Фактические татуировки от какой-то парень, который может сожалеть об этом в конце концов, отчасти. 365 00:17:15,420 --> 00:17:17,359 Хорошо, все в порядке, так что многие веб-юмора. 366 00:17:17,359 --> 00:17:18,599 Это на самом деле не собирается за сегодня так хорошо. 367 00:17:18,599 --> 00:17:19,560 Таким образом мы будем двигаться дальше. 368 00:17:19,560 --> 00:17:20,180 Хорошо. 369 00:17:20,180 --> 00:17:22,760 >> Итак, давайте посмотрим теперь на несколько примеров. 370 00:17:22,760 --> 00:17:24,660 Простейшая вещь может быть в этом. 371 00:17:24,660 --> 00:17:29,170 Я собираюсь идти вперед и открывать в Gedit файл с именем hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 И внутри здесь, я иду быстро просто сделай это, Е, цитирую 374 00:17:36,330 --> 00:17:38,590 конец цитаты, "привет мир". 375 00:17:38,590 --> 00:17:42,460 >> Так уведомления, и я сделаю все от меня обратную косую черту N, Я не потрудился объявить основные. 376 00:17:42,460 --> 00:17:45,310 Оказывается, в PHP, и много языков, вам не нужны основные 377 00:17:45,310 --> 00:17:46,090 функции как таковой. 378 00:17:46,090 --> 00:17:47,720 Вы можете просто начать писать Вашей программе. 379 00:17:47,720 --> 00:17:51,210 Теперь, когда я сохранить этот файл, я замечаю придется выполнить следующие действия. 380 00:17:51,210 --> 00:17:55,360 Я не собираюсь пользоваться косметикой, и я не собираетесь использовать PHP лязг потому, в отличие от 381 00:17:55,360 --> 00:17:57,400 C, не компилируемый язык. 382 00:17:57,400 --> 00:18:01,400 Это то, что называется интерпретированы языка, что означает, что вы запустили его 383 00:18:01,400 --> 00:18:04,650 в качестве входного через другую программу называют переводчиком. 384 00:18:04,650 --> 00:18:08,150 И эта программа читает его, сверху вниз, слева направо, и делает 385 00:18:08,150 --> 00:18:09,290 все, что вы скажете ей сделать. 386 00:18:09,290 --> 00:18:12,920 >> Так что в этом случае у меня есть здесь одна строка, которая говорит Е. 387 00:18:12,920 --> 00:18:17,990 Поэтому, когда я запускаю этот исходный код, hello.php, хотя это программа, которая 388 00:18:17,990 --> 00:18:22,830 бывает, удобно, которое будет называться PHP, эта программа PHP будет читать 389 00:18:22,830 --> 00:18:26,120 Этот файл, сверху вниз, слева направо, и он будет делать то, что я 390 00:18:26,120 --> 00:18:30,110 скажете ей сделать - выполнения кода, а если он не признает что-то, просто 391 00:18:30,110 --> 00:18:31,320 плевки его. 392 00:18:31,320 --> 00:18:34,940 Так что я собираюсь идти вперед и Запустить PHP из hello.php. 393 00:18:34,940 --> 00:18:37,110 Enter. 394 00:18:37,110 --> 00:18:39,690 >> И это еще не совсем то, что я намеревался. 395 00:18:39,690 --> 00:18:40,530 Ну, почему же? 396 00:18:40,530 --> 00:18:43,910 Ну, PHP является языком, который на самом деле разработаны, чтобы быть достаточно 397 00:18:43,910 --> 00:18:46,150 переплетается с Интернета. 398 00:18:46,150 --> 00:18:50,460 При создании веб-страниц с этим языком PHP, как мы скоро увидим, мы 399 00:18:50,460 --> 00:18:54,560 хотим сделать что-то вроде печати из линий, как это. 400 00:18:54,560 --> 00:18:55,940 >> Так что я собираюсь сделать это. 401 00:18:55,940 --> 00:19:00,810 Открывающей скобки, знак вопроса, PHP, и Сейчас я просто хочу, отступ только, чтобы держать 402 00:19:00,810 --> 00:19:01,960 вещи хорошие. 403 00:19:01,960 --> 00:19:04,910 А теперь я собираюсь сделать вопрос марка ЗАКРЫТЬ кронштейна. 404 00:19:04,910 --> 00:19:06,270 Таким образом, есть немного асимметрии здесь. 405 00:19:06,270 --> 00:19:07,490 Вы не делаете этого. 406 00:19:07,490 --> 00:19:10,530 И вы не сделаете косой черты, так PHP это немного другое. 407 00:19:10,530 --> 00:19:14,610 >> Но теперь, если я повторно эту программу, PHP hello.php, теперь я 408 00:19:14,610 --> 00:19:16,090 на самом деле получить Hello World. 409 00:19:16,090 --> 00:19:17,750 И мы увидим, почему это ценно. 410 00:19:17,750 --> 00:19:20,960 Один из них, это позволяет мне указать, супер явно, это 411 00:19:20,960 --> 00:19:22,480 кода, выполнить это. 412 00:19:22,480 --> 00:19:25,480 И это действительно то, что эти специальные теги подразумевает здесь. 413 00:19:25,480 --> 00:19:30,330 >> Но это также означает, что, если я просто делаю что-то вроде я стремлюсь сюда, что 414 00:19:30,330 --> 00:19:34,000 означает, что, буквально, что будет просто распечатывается без необходимости 415 00:19:34,000 --> 00:19:36,850 на самом деле назвать Е, или печать, или любые аналогичные функции. 416 00:19:36,850 --> 00:19:39,445 Поэтому мы вернемся к этому через минуту. 417 00:19:39,445 --> 00:19:40,470 >> Во-первых, давайте сделаем это. 418 00:19:40,470 --> 00:19:43,950 Внутри прибора, у нас есть каталоге с именем VHosts, для виртуальных 419 00:19:43,950 --> 00:19:47,000 Хозяева, слэш локальный хост, подсечно-общественности. 420 00:19:47,000 --> 00:19:50,240 Так что это немного многословный, но длинная история Короче говоря, прибор предназначен не 421 00:19:50,240 --> 00:19:53,770 только поддерживать C. Это также предназначена для поддержки PHP. 422 00:19:53,770 --> 00:19:57,440 Но он также предназначен для веб- сервер и сервер базы данных. 423 00:19:57,440 --> 00:20:00,230 И он предназначен, и действительно настроен, быть напоминает любой 424 00:20:00,230 --> 00:20:04,230 коммерческие веб-хостинга компании, которая вы могли бы заплатить $ 5 в месяц в течение, 425 00:20:04,230 --> 00:20:05,040 $ 100 в месяц для. 426 00:20:05,040 --> 00:20:08,200 Какой бы ни была услуга, он настроен быть очень похож на 427 00:20:08,200 --> 00:20:10,170 реальный сервер мирового производства. 428 00:20:10,170 --> 00:20:13,485 >> А что это значит, что работает на прибор ПО веб-сервера. 429 00:20:13,485 --> 00:20:15,060 Это, оказывается, называется Apache. 430 00:20:15,060 --> 00:20:17,790 Это просто свободным, и с открытым исходным кодом, и очень популярны. 431 00:20:17,790 --> 00:20:23,260 И мы настроили Apache знать что, если я посещаю определенный URL, с 432 00:20:23,260 --> 00:20:28,060 Хром или любой браузер внутри Прибор, заглянуть в этот каталог 433 00:20:28,060 --> 00:20:31,030 для файлов, которые запрашивает пользователь. 434 00:20:31,030 --> 00:20:32,790 >> Другими словами, позвольте мне идти вперед и делать это. 435 00:20:32,790 --> 00:20:36,890 Внутри моего общего каталога, я собираюсь идти вперед и создать файл 436 00:20:36,890 --> 00:20:39,580 именем index.html. 437 00:20:39,580 --> 00:20:41,000 Это дает мне вкладку здесь. 438 00:20:41,000 --> 00:20:44,210 И я собираюсь пойти очень быстро и идти вперед и строчить 439 00:20:44,210 --> 00:20:45,010 этой программе. 440 00:20:45,010 --> 00:20:48,410 Doctype HTML, которая на данный момент, просто Предположим, у вас есть, чтобы напечатать. 441 00:20:48,410 --> 00:20:53,490 Это просто тайные тега, это не действительно теги HTML, который указывает, что 442 00:20:53,490 --> 00:20:55,050 вот идет некоторый HTML. 443 00:20:55,050 --> 00:20:57,400 >> Я собираюсь идти вперед и воссоздать что мы видели несколько минут назад. 444 00:20:57,400 --> 00:20:58,650 Вот глава странице. 445 00:20:58,650 --> 00:21:01,170 Внутри головы было - 446 00:21:01,170 --> 00:21:01,890 таким названием. 447 00:21:01,890 --> 00:21:04,340 Поэтому мы поздороваться, мира. 448 00:21:04,340 --> 00:21:06,570 И тогда здесь было тело тега. 449 00:21:06,570 --> 00:21:08,580 Позвольте мне в тело тега. 450 00:21:08,580 --> 00:21:12,280 А потом здесь я также говорю, просто для ясности, привет мир. 451 00:21:12,280 --> 00:21:14,770 >> Так что это, пожалуй, простейшая возможно веб-страницей 452 00:21:14,770 --> 00:21:15,770 может сделать это в силе. 453 00:21:15,770 --> 00:21:17,030 Это синтаксически правильные. 454 00:21:17,030 --> 00:21:18,620 Все, что открыт закрыт. 455 00:21:18,620 --> 00:21:20,910 Все это приятно в стиле и с отступом. 456 00:21:20,910 --> 00:21:23,600 Итак, давайте посмотрим теперь, как я может получить доступ к этому файлу. 457 00:21:23,600 --> 00:21:25,540 >> Ну, позвольте мне перейти к Chrome здесь. 458 00:21:25,540 --> 00:21:35,050 И позвольте мне перейти к http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 Так что локальный хост? 460 00:21:36,200 --> 00:21:39,400 Ну, большинство любого компьютера в мире, Linux, Mac OS, Windows, имеет прозвище 461 00:21:39,400 --> 00:21:40,680 называется локальным хостом. 462 00:21:40,680 --> 00:21:42,900 Так что, если вы хотите поговорить на свой компьютер - 463 00:21:42,900 --> 00:21:45,140 хотя, как ни рефлекторно - 464 00:21:45,140 --> 00:21:47,080 Вы называете себя локальный хост. 465 00:21:47,080 --> 00:21:50,390 Неважно, что ваш фактический компьютер называется, будь то MacBook Давида 466 00:21:50,390 --> 00:21:52,490 Воздух, или что-то более подробный подобное. 467 00:21:52,490 --> 00:21:57,760 >> Так что этот URL очевидно собирается использовать HTTP поговорить с локальным хостом, 468 00:21:57,760 --> 00:22:00,800 том же компьютере, устройство и он собирается попросить, просто взять 469 00:22:00,800 --> 00:22:02,570 гадать, какой файл? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Таким образом, прибор был настроен в перейти к знаю, что если я прошу 472 00:22:08,650 --> 00:22:13,460 за то, как index.html, ищите в папке под названием виртуальных доменов, в 473 00:22:13,460 --> 00:22:17,950 Папка называется локальный, в папке в нем называется общественности. 474 00:22:17,950 --> 00:22:20,400 Вот где все мои общественные Файлы будут. 475 00:22:20,400 --> 00:22:22,610 Так что я сейчас ударю Enter. 476 00:22:22,610 --> 00:22:27,100 >> И, черт побери, есть то, что запрещенная сообщение, иначе известный как 403, 477 00:22:27,100 --> 00:22:28,490 Числовой код для него. 478 00:22:28,490 --> 00:22:30,130 Так что тут не так? 479 00:22:30,130 --> 00:22:33,210 Ну, это не достаточно, чтобы просто положить файле внутри моей папке. 480 00:22:33,210 --> 00:22:35,790 Мне нужно, чтобы на самом деле сделать следующее. 481 00:22:35,790 --> 00:22:40,210 >> Отпустите меня в мой каталог виртуальных доменов, в локальный, в общественную, и пусть 482 00:22:40,210 --> 00:22:41,680 мне сделать Ls тире л. 483 00:22:41,680 --> 00:22:44,510 И есть несколько других вещей здесь для целей сегодня. 484 00:22:44,510 --> 00:22:50,540 Но обратите внимание на левой стороне, в следующем к index.html, мы видим только одну RW. 485 00:22:50,540 --> 00:22:53,560 И в прошлом, что была RW стоял? 486 00:22:53,560 --> 00:22:54,240 >> Просто читать, ни писать. 487 00:22:54,240 --> 00:22:58,000 Тот факт, что он говорит RW слева означает, что я, владелец этого файла, может 488 00:22:58,000 --> 00:22:59,020 читать или писать. 489 00:22:59,020 --> 00:23:05,010 Но мне нужно, чтобы все люди в мир читаете это, хотя и не писать. 490 00:23:05,010 --> 00:23:09,650 Так что я собираюсь изменить режим файла, CHMOD, все плюс R, чтобы дать 491 00:23:09,650 --> 00:23:13,910 все права на чтение файл с именем index.html. 492 00:23:13,910 --> 00:23:18,040 >> И если я сейчас Повторите Ls тире л, уведомления , что, здесь, еще несколько 493 00:23:18,040 --> 00:23:19,160 R в выскочили. 494 00:23:19,160 --> 00:23:21,090 И на данный момент, идет спекуляция более подробно. 495 00:23:21,090 --> 00:23:24,450 Для множества Р 7, что как раз означает, что каждый теперь могут читать этот файл. 496 00:23:24,450 --> 00:23:27,790 Если я вернусь в моем браузере Теперь и перезагрузите, вуаля. 497 00:23:27,790 --> 00:23:28,750 Привет мир. 498 00:23:28,750 --> 00:23:32,260 >> И я могу даже открыть Chrome инструменты и посмотреть, как и с Google 499 00:23:32,260 --> 00:23:34,590 Facebook, что есть мой HTML, отформатированные немного 500 00:23:34,590 --> 00:23:35,930 по-разному и раскрашенный. 501 00:23:35,930 --> 00:23:40,450 Если я иду на вкладку Сеть и перезагрузите страницы, заметить, что есть получить 502 00:23:40,450 --> 00:23:42,900 просить Chrome посылает к прибору. 503 00:23:42,900 --> 00:23:46,020 Там в 200, что для конкретный файл. 504 00:23:46,020 --> 00:23:49,340 Короче говоря, это, как все эти различные части собираются вместе. 505 00:23:49,340 --> 00:23:53,530 Просто так случилось, что веб-сервер мы используем сейчас не удаленных, 506 00:23:53,530 --> 00:23:54,210 как Facebook. 507 00:23:54,210 --> 00:23:58,330 Это буквально на том же компьютере, которая совершенно в порядке. 508 00:23:58,330 --> 00:24:00,590 >> Итак, что еще мы можем сделать в веб-страницу? 509 00:24:00,590 --> 00:24:03,110 Ну, просто, давайте ветер через пару таких вещей. 510 00:24:03,110 --> 00:24:07,860 Но позвольте мне идти вперед и вновь Gedit с index.html. 511 00:24:07,860 --> 00:24:13,980 И позвольте мне идти вперед и поздороваться CS50, сохранить этот файл, вернитесь к 512 00:24:13,980 --> 00:24:16,260 браузере, на самом деле изменения в восторг. 513 00:24:16,260 --> 00:24:19,130 >> Но что, если мы хотим на самом деле ссылку на что-то сейчас? 514 00:24:19,130 --> 00:24:23,480 Вот и получается, что мы можем иметь Ссылки в HTML, которые являются только теги 515 00:24:23,480 --> 00:24:24,140 собой. 516 00:24:24,140 --> 00:24:27,320 Это, оказывается, называется тега привязки. HREF равно 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net Закрыть цитаты, закрывающая скобка. 518 00:24:33,190 --> 00:24:35,230 А теперь давайте посмотрим, что еще будет дальше. 519 00:24:35,230 --> 00:24:36,500 >> Я открыл тега. 520 00:24:36,500 --> 00:24:38,990 Теперь нужно, чтобы дать ему фраза типа CS50. 521 00:24:38,990 --> 00:24:40,600 Позвольте мне закрыть тег. 522 00:24:40,600 --> 00:24:42,010 И обратите внимание несколько вещей. 523 00:24:42,010 --> 00:24:45,270 Хотя есть это загадочные вещи Здесь, я не повторил это, когда вы 524 00:24:45,270 --> 00:24:46,010 закрыть тег. 525 00:24:46,010 --> 00:24:48,230 Вы просто закрыть тег с его имени. 526 00:24:48,230 --> 00:24:50,940 И это то, что называется атрибут со значением. 527 00:24:50,940 --> 00:24:56,070 Атрибуты просто изменить поведение некоторых тег внутри страницы. 528 00:24:56,070 --> 00:24:59,150 >> Так что это уточнив, что гипер справки, причудливый способ сказать 529 00:24:59,150 --> 00:25:03,660 Ссылка на этот якорь, для этого ссылка, должны быть CS50.net. 530 00:25:03,660 --> 00:25:07,440 И текст, который мы хотим показать пользователь не URL, что сырой, а скорее 531 00:25:07,440 --> 00:25:08,730 Слово CS50. 532 00:25:08,730 --> 00:25:13,710 >> Так что если сейчас я перезагрузить, позвольте мне увеличить для ясности, позвольте мне перезагрузите страницу, 533 00:25:13,710 --> 00:25:16,460 заметить, что у нас есть эта старая школа синие подчеркнутые ссылки. 534 00:25:16,460 --> 00:25:20,000 И если я навести на нее, и это будет быть жестким, чтобы видеть, в левом нижнем углу 535 00:25:20,000 --> 00:25:23,690 углу экрана, заметит что он говорит, адрес, на который 536 00:25:23,690 --> 00:25:24,430 Я собираюсь пойти. 537 00:25:24,430 --> 00:25:27,940 И если я щелкаю, вуаля, Сейчас я создания веб-страниц. 538 00:25:27,940 --> 00:25:30,140 И мы привели себя на главную страницу. 539 00:25:30,140 --> 00:25:32,670 >> Но обратите внимание на то, что потенциал Тем самым нам. 540 00:25:32,670 --> 00:25:34,890 Безопасность очень много в моде в наши дни. 541 00:25:34,890 --> 00:25:41,210 Что делать, если я вместо этого сказать что-то вроде: это, и я вместо этого пойти, скажем, давайте 542 00:25:41,210 --> 00:25:42,460 см., fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Перезагрузите данную страницу. 545 00:25:46,360 --> 00:25:50,180 >> Итак, заметили это все еще выглядит, как я Не собираюсь CS50, если проницательный глаз 546 00:25:50,180 --> 00:25:51,560 заметите, что я собираюсь поддельные CS50. 547 00:25:51,560 --> 00:25:54,550 Я предполагаю, что эта область не принимается. 548 00:25:54,550 --> 00:25:55,960 ОК, так что это не доступно. 549 00:25:55,960 --> 00:25:56,600 Так что это хорошо. 550 00:25:56,600 --> 00:25:57,900 На самом деле никто не имеет этого домена. 551 00:25:57,900 --> 00:26:00,380 >> Но давайте быть немного злее потому что это как-то глупо. 552 00:26:00,380 --> 00:26:02,240 Что, если мы изменить это на Paypal. 553 00:26:02,240 --> 00:26:09,960 А что, если мы называем это, вроде бы, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 независимо от домена. 555 00:26:12,070 --> 00:26:13,700 Это, вероятно, существует. 556 00:26:13,700 --> 00:26:16,260 Так что теперь позвольте мне перезагрузите страницу. 557 00:26:16,260 --> 00:26:22,890 А вот у нас вроде фишинга атаки, P-H-I-S-H-I-N-G, который является 558 00:26:22,890 --> 00:26:26,760 глупо слово, данное для атаки, Рыба пытается информации, или, лучше сказать 559 00:26:26,760 --> 00:26:30,450 Тем не менее, деньги, из людей, обманывая их в предоставлении информации, что 560 00:26:30,450 --> 00:26:31,990 они не могли бы сделать. 561 00:26:31,990 --> 00:26:33,500 Это выглядит совершенно законно, правильно? 562 00:26:33,500 --> 00:26:34,930 Я должен иметь ссылку здесь, чтобы Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 Справедливости ради, если я сексуально его с некоторыми графики, мы можем сделать это выглядеть 565 00:26:40,430 --> 00:26:41,310 больше похоже PayPal. 566 00:26:41,310 --> 00:26:41,510 Верно? 567 00:26:41,510 --> 00:26:43,815 Потому что я мог, как в сторону, Я мог пойти в Paypal.com. 568 00:26:43,815 --> 00:26:47,110 И мы только что видели, как я могу см. все свои HTML. 569 00:26:47,110 --> 00:26:50,560 Я мог бы просто скопировать его и воссоздать Эстетика Paypal, а не идти 570 00:26:50,560 --> 00:26:51,490 старой школы здесь. 571 00:26:51,490 --> 00:26:55,010 Но обратите внимание, конечно, и это немного еще небольшой, только в нижнем 572 00:26:55,010 --> 00:26:59,190 левом углу, как в 10 пунктов шрифт, вы видите то, что вы URL 573 00:26:59,190 --> 00:27:01,310 самом деле будет привело. 574 00:27:01,310 --> 00:27:06,580 >> И поэтому, если вы когда-либо получали спам говоря идти вперед, а ты счета 575 00:27:06,580 --> 00:27:07,420 был взломан. 576 00:27:07,420 --> 00:27:10,615 Пожалуйста, нажмите на эту ссылку и сообщите нам Ваш пароль, мы можем гарантировать, что вы 577 00:27:10,615 --> 00:27:13,010 Вы, никогда не делайте этого. 578 00:27:13,010 --> 00:27:14,180 Эти вещи должны пойти, не говоря. 579 00:27:14,180 --> 00:27:17,670 Но это удивительно забавным, и трагическая, как каждый год это, кажется, 580 00:27:17,670 --> 00:27:19,660 случается, некоторые ненулевые количество людей. 581 00:27:19,660 --> 00:27:21,400 >> И в этом вся прелесть фишинговых атак. 582 00:27:21,400 --> 00:27:23,160 Вы можете отправить миллионов писем. 583 00:27:23,160 --> 00:27:27,720 И даже если 0,01% людей, на самом деле нажмите на Paypal и дать вам ваши 584 00:27:27,720 --> 00:27:31,040 пароль, это все еще ненулевое число людей, которые уже просто дать 585 00:27:31,040 --> 00:27:32,200 вам свои деньги. 586 00:27:32,200 --> 00:27:36,170 И отправки электронной почты, конечно, вполне легко и, по сути, бесплатно 587 00:27:36,170 --> 00:27:36,970 в эти дни. 588 00:27:36,970 --> 00:27:40,410 >> Такая длинная короткая история, прекрасно Красивая идея, не так ли? 589 00:27:40,410 --> 00:27:44,620 Много лет назад, это был самый ранний Интернет, позволяя паутине 590 00:27:44,620 --> 00:27:46,330 гиперссылки между ресурсами. 591 00:27:46,330 --> 00:27:49,520 Но так быстро, это может быть использоваться для больных целей. 592 00:27:49,520 --> 00:27:54,100 И электронной почте, достаточно сказать, эти дней, обладают встроенным HTML внутри. 593 00:27:54,100 --> 00:27:55,410 >> Ну, позвольте мне еще одну вещь. 594 00:27:55,410 --> 00:27:58,640 И мы отложим в значительной степени к разделу Проблема задать семь, чтобы позволить вам 595 00:27:58,640 --> 00:28:00,000 изучение частностей. 596 00:28:00,000 --> 00:28:01,990 Но позвольте мне идти вперед и сделать несколько вещей. 597 00:28:01,990 --> 00:28:04,840 Я собираюсь пойти и объявить то, что называется DIV или 598 00:28:04,840 --> 00:28:06,080 деление, на этой странице. 599 00:28:06,080 --> 00:28:07,770 Позвольте мне близко, что тег DIV. 600 00:28:07,770 --> 00:28:11,460 >> И я собираюсь сказать, до Здесь верхней части страницы. 601 00:28:11,460 --> 00:28:14,940 А потом ниже этого, я собираюсь сделать что-то вроде другой DIV, закройте это 602 00:28:14,940 --> 00:28:17,800 тег и сделать внизу страницы. 603 00:28:17,800 --> 00:28:18,840 И давай его сохранения. 604 00:28:18,840 --> 00:28:21,040 >> Итак, теперь давайте вернемся к моему файлу. 605 00:28:21,040 --> 00:28:22,120 Очень восторг. 606 00:28:22,120 --> 00:28:25,520 Но то, что разделение используется для, под капотом, это на самом деле 607 00:28:25,520 --> 00:28:26,920 хороший структурный элемент. 608 00:28:26,920 --> 00:28:30,300 Это не имеет эстетики так далеко, мы можем видеть, кроме, по-видимому, 609 00:28:30,300 --> 00:28:31,890 положить вещи по-новому. 610 00:28:31,890 --> 00:28:36,290 >> Но обратите внимание, как в сторону, просто нажимая Введите не режет его в HTML, как это 611 00:28:36,290 --> 00:28:39,840 делается в С. Можно подумать, что это собираются поставить хороший большой разрыв между 612 00:28:39,840 --> 00:28:41,300 верхней и нижней части страницы. 613 00:28:41,300 --> 00:28:43,420 Но оно игнорируется. 614 00:28:43,420 --> 00:28:48,040 Пробелы по существу игнорируется в веб-страниц кроме первой 615 00:28:48,040 --> 00:28:51,530 пробел характера, или возврат каретки, что вы попали на клавиатуре. 616 00:28:51,530 --> 00:28:55,370 Если вы хотите больше разрывов строк, вы должны определить это самостоятельно. 617 00:28:55,370 --> 00:28:59,080 >> Так что я собираюсь сделать несколько вещей здесь, чтобы показать, что происходит. 618 00:28:59,080 --> 00:29:02,700 Я собираюсь добавить атрибут, который существует, и снова, как вы узнаете 619 00:29:02,700 --> 00:29:07,110 какие атрибуты существуют, какие теги существуют, действительно, сейчас на ссылках. 620 00:29:07,110 --> 00:29:09,750 HTML является своего рода язык - это не является языком программирования. 621 00:29:09,750 --> 00:29:12,460 Это язык разметки, - что после добрых полчаса, может быть, час с 622 00:29:12,460 --> 00:29:15,930 его, вы, безусловно, понимаем, большинство вероятно, основная идея. 623 00:29:15,930 --> 00:29:20,350 И тогда поиск Google от отеля находится все возможных тегов, которые вы могли бы быть 624 00:29:20,350 --> 00:29:21,170 заинтересовать 625 00:29:21,170 --> 00:29:24,290 И в спецификации, что является довольно приветствуется и поощряется здесь. 626 00:29:24,290 --> 00:29:26,120 >> Так что теперь позвольте мне идти вперед и сделать что-то вроде этого. 627 00:29:26,120 --> 00:29:28,690 Цвет фона. 628 00:29:28,690 --> 00:29:32,060 И теперь, я собираюсь сделать что-то как красный, точка с запятой. 629 00:29:32,060 --> 00:29:33,970 И вы можете сделать это в несколькими различными способами. 630 00:29:33,970 --> 00:29:36,770 Я просто вид введя его как супер явно насколько это возможно. 631 00:29:36,770 --> 00:29:41,960 >> Но оказывается, что это значение здесь то, что называется CSS, каскадные таблицы 632 00:29:41,960 --> 00:29:43,700 Листы, что является еще одним языка в целом. 633 00:29:43,700 --> 00:29:46,770 CSS не имеет ничего общего с открытые теги и закрывают теги. 634 00:29:46,770 --> 00:29:48,230 Это связано со свойствами. 635 00:29:48,230 --> 00:29:52,660 >> И свойства просто ключевое значение пар, так как некоторые слова, 636 00:29:52,660 --> 00:29:54,680 толстой кишки, а затем некоторые другие слова. 637 00:29:54,680 --> 00:29:57,940 И если у вас есть несколько из них, или просто один здесь, вы можете закончить его 638 00:29:57,940 --> 00:29:59,390 точка с запятой, просто для ясности. 639 00:29:59,390 --> 00:30:01,370 Но это тоже будет работать здесь. 640 00:30:01,370 --> 00:30:02,500 >> Теперь то, что это будет делать? 641 00:30:02,500 --> 00:30:03,610 Вы, вероятно, догадываетесь. 642 00:30:03,610 --> 00:30:05,930 Позвольте мне идти вперед и перезагрузите данную страницу. 643 00:30:05,930 --> 00:30:07,300 И теперь это действительно идет. 644 00:30:07,300 --> 00:30:09,150 Так что первое, что пришло страница красным. 645 00:30:09,150 --> 00:30:12,380 Но то, что ключевым здесь является то, что я упомянул, ранее, что дает вам DIV 646 00:30:12,380 --> 00:30:13,220 Разделение страницы. 647 00:30:13,220 --> 00:30:14,410 И это действительно то, что он делает. 648 00:30:14,410 --> 00:30:17,920 Это существенно делит страницу в прямоугольник, который затем можно 649 00:30:17,920 --> 00:30:18,720 манипулировать. 650 00:30:18,720 --> 00:30:22,330 >> И это понятие прямоугольников вида убедительными в том, что если вы думаете о 651 00:30:22,330 --> 00:30:26,410 Наиболее любого веб-сайта, там, наверное, некоторые структуры к нему. 652 00:30:26,410 --> 00:30:29,620 Большинство из вас, наверное, редко можно увидеть Facebook домашнюю страницу, если вы вошли 653 00:30:29,620 --> 00:30:30,440 за все время. 654 00:30:30,440 --> 00:30:33,920 >> Но на главной странице Facebook, есть своего рода дел в верхней части. 655 00:30:33,920 --> 00:30:36,140 И это может быть не так просто, как один DIV, но есть 656 00:30:36,140 --> 00:30:37,560 прямоугольную область там. 657 00:30:37,560 --> 00:30:40,290 Остальная часть страницы, как огромный DIV, как много 658 00:30:40,290 --> 00:30:41,910 большую прямоугольную область. 659 00:30:41,910 --> 00:30:44,540 Так короче говоря, только при наличии этих маленьких строительных блоков, 660 00:30:44,540 --> 00:30:49,250 способность моделировать вещи, как прямоугольники, ли широкая или узкая, вы также можете 661 00:30:49,250 --> 00:30:53,680 сделать колонки потенциально, позволяет выложить страницах, на самом деле, однако вы 662 00:30:53,680 --> 00:30:54,100 хотелось бы. 663 00:30:54,100 --> 00:30:56,170 Мы действительно просто царапать Поверхность здесь. 664 00:30:56,170 --> 00:30:59,820 >> В самом деле, если я сделаю один другого, Позвольте мне пойти дальше и сделать стиль, 665 00:30:59,820 --> 00:31:05,410 фонового цвета, мы будем делать то, как синий, близкий кавычки. 666 00:31:05,410 --> 00:31:06,620 Давайте перезагрузить. 667 00:31:06,620 --> 00:31:08,260 Так что теперь это становится еще более уродливой. 668 00:31:08,260 --> 00:31:11,520 Но теперь я могу вид хвастаться мой P установил пять навыков, правильно? 669 00:31:11,520 --> 00:31:12,690 Красный. 670 00:31:12,690 --> 00:31:15,640 Это напоминает мне о RGB, красный Зеленый Синий троек. 671 00:31:15,640 --> 00:31:19,330 Что ж, оказывается, в веб-программировании, или веб-дизайн, который этого, у нас 672 00:31:19,330 --> 00:31:21,650 не запрограммирован ничего как такового, вы можете на самом деле 673 00:31:21,650 --> 00:31:22,880 есть шестнадцатеричный код. 674 00:31:22,880 --> 00:31:26,480 Так что-то что-то, что-то что-то, что-то чем-то. 675 00:31:26,480 --> 00:31:30,650 Таким образом, вы можете иметь шесть шестнадцатеричных символов или три, в некоторых случаях 676 00:31:30,650 --> 00:31:33,480 и каждая из этих знаков вопроса Должно быть шестнадцатеричных цифр, 677 00:31:33,480 --> 00:31:34,985 от нуля до F. 678 00:31:34,985 --> 00:31:41,000 >> Если я хочу иметь много красного, и Нет зеленый, и не синий, что 679 00:31:41,000 --> 00:31:43,740 противоположное нулю при использовании HEX? 680 00:31:43,740 --> 00:31:44,480 Это ф. 681 00:31:44,480 --> 00:31:51,130 Так что я могу сделать, и далее, ноль-ноль, ноль-ноль, сохранить, и теперь приехал сюда. 682 00:31:51,130 --> 00:31:52,700 И я на самом деле не видят изменений. 683 00:31:52,700 --> 00:31:56,230 Так кавычках "красный" является по-видимому синонимом для всех красных, 684 00:31:56,230 --> 00:31:57,610 Нет зеленый, не синий. 685 00:31:57,610 --> 00:31:59,960 Между тем, давайте сознательно изменить этого должно быть что-то 686 00:31:59,960 --> 00:32:01,210 случайными, как ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Давайте посмотрим, что это такое. 689 00:32:05,860 --> 00:32:08,530 Это действительно хороший синий, На самом деле, Baby Blue. 690 00:32:08,530 --> 00:32:11,820 Ладно, так что это только сейчас несколько случайных комбинаций 691 00:32:11,820 --> 00:32:12,210 символов. 692 00:32:12,210 --> 00:32:13,410 Поэтому мы не будем вязнуть здесь. 693 00:32:13,410 --> 00:32:15,930 Но опять же, это говорит о точности что вы можете начать 694 00:32:15,930 --> 00:32:19,090 применять - даже если вы очень перегружены по эстетике. 695 00:32:19,090 --> 00:32:21,750 В самом деле, если вы действительно хотите быть впечатлило, позвольте мне идти вперед и изменить 696 00:32:21,750 --> 00:32:23,500 размер шрифта, например. 697 00:32:23,500 --> 00:32:25,960 И обратите внимание на точку с запятой, которая Необходимо там. 698 00:32:25,960 --> 00:32:29,570 >> Размер шрифта, мы можем быть просто смешно Здесь, 96 точки. 699 00:32:29,570 --> 00:32:31,280 Сохраните это. 700 00:32:31,280 --> 00:32:33,670 Ничего себе, это большой размер шрифта. 701 00:32:33,670 --> 00:32:35,490 Ладно, так что это очень легко. 702 00:32:35,490 --> 00:32:38,260 А на самом деле, вы, по сути виде первых веб-страницы я сделал 703 00:32:38,260 --> 00:32:40,060 лет назад, когда я впервые узнал этот материал. 704 00:32:40,060 --> 00:32:42,190 Это очень легко сделать очень ужасные вещи быстро. 705 00:32:42,190 --> 00:32:46,115 >> И если вы знакомы с Wayback Машина на archive.org, вы 706 00:32:46,115 --> 00:32:48,210 можете найти все мои отвратительные страницы веб-старшекурсника. 707 00:32:48,210 --> 00:32:50,090 Надо было Кермит Лягушка на передней панели. 708 00:32:50,090 --> 00:32:53,150 Я прошел через этап, когда я думал, это было круто взять фоне 709 00:32:53,150 --> 00:32:56,320 красный занавес, когда я узнал, как вы изображения могут плитки снова, и снова, и 710 00:32:56,320 --> 00:32:59,540 снова, чтобы заполнить страницы с большой липким красным занавесом. 711 00:32:59,540 --> 00:33:03,120 И потом, на вершине этого, была икона что нужно было нажать, чтобы войти в мой дом 712 00:33:03,120 --> 00:33:04,960 страницу, так как это было очень в моде. 713 00:33:04,960 --> 00:33:08,870 >> А потом моя первая программа, которую я написал не было в PHP, но на языке, 714 00:33:08,870 --> 00:33:12,260 называется Pearl, написала гостевой книге, которая это действительно здорово, что 715 00:33:12,260 --> 00:33:14,250 Многие люди ожидают, что вы иметь на главной странице. 716 00:33:14,250 --> 00:33:17,510 Когда вы попадаете на страницу, они хотят, чтобы вы войти в систему, и сказать, кто вы, 717 00:33:17,510 --> 00:33:18,720 и почему вы там. 718 00:33:18,720 --> 00:33:21,320 Это очень 1990-х годов стиль веб-дизайна. 719 00:33:21,320 --> 00:33:24,130 >> Но в эти дни, конечно, у нас приходят намного дальше. 720 00:33:24,130 --> 00:33:27,560 И вы увидите, в разделе, и даже в задаче задать семь, по 721 00:33:27,560 --> 00:33:31,570 Используя библиотеки в эти дни, это гораздо легче сделать 722 00:33:31,570 --> 00:33:33,400 красивее вещи быстро. 723 00:33:33,400 --> 00:33:36,550 Здесь на самом деле, мы просто царапины поверхности того, что вы можете сделать 724 00:33:36,550 --> 00:33:37,400 стилистически. 725 00:33:37,400 --> 00:33:41,660 >> И в самом деле, уже, позвольте мне подчеркнуть, что это уже становится уродливым, не 726 00:33:41,660 --> 00:33:46,030 только эстетически, но с точки стиля моего кода, или 727 00:33:46,030 --> 00:33:47,260 дизайн моего кода. 728 00:33:47,260 --> 00:33:52,350 Я в настоящее время comingled HTML, которая является зеленовато открытые теги там, с 729 00:33:52,350 --> 00:33:55,160 CSS свойства, которые является абсолютно законным. 730 00:33:55,160 --> 00:33:57,200 Это действительно, где язык имеет свои истоки. 731 00:33:57,200 --> 00:34:01,030 >> Но в интересах чистого дизайна, так же, как мы начали факторинг вещи 732 00:34:01,030 --> 00:34:05,370 C из файлов в. файлы ч, не говоря меня на самом деле практикуют такую 733 00:34:05,370 --> 00:34:07,990 Принцип и начать делать это вместо. 734 00:34:07,990 --> 00:34:13,280 Позвольте мне сказать стиля тега здесь, которая существует и в HTML, и позвольте мне 735 00:34:13,280 --> 00:34:15,330 указать следующие. 736 00:34:15,330 --> 00:34:16,360 Позвольте мне удалить эту. 737 00:34:16,360 --> 00:34:18,110 Цвет фона будет красным. 738 00:34:18,110 --> 00:34:19,800 Я собираюсь удалить это полностью. 739 00:34:19,800 --> 00:34:22,580 Я собираюсь избавиться от стиля атрибут, а я буду однозначно 740 00:34:22,580 --> 00:34:24,620 идентифицировать этот DIV со словом - 741 00:34:24,620 --> 00:34:28,750 произвольно, но разумно, цитаты конец цитаты "сверху". И ID является специальным 742 00:34:28,750 --> 00:34:32,530 атрибут, который однозначно определяет определенный элемент HTML 743 00:34:32,530 --> 00:34:33,850 как имеющие, что ID. 744 00:34:33,850 --> 00:34:37,969 >> Если сейчас я хочу это стилизованная, здесь, в глава моей странице, внутри 745 00:34:37,969 --> 00:34:41,730 стиль тега, заметить, что Я могу сделать хэш вершине. 746 00:34:41,730 --> 00:34:45,300 И тогда я могу поставить пару фигурных скобки, напоминающий C, а потом пусть 747 00:34:45,300 --> 00:34:47,130 Мне вставьте в этой стилизации. 748 00:34:47,130 --> 00:34:49,929 И позвольте мне идти вперед и предвидеть здесь куда я иду с этим. 749 00:34:49,929 --> 00:34:53,380 Позвольте мне также создать один для нижнего дел. 750 00:34:53,380 --> 00:34:58,010 Позвольте мне захватить этот отвратительный код вниз Здесь, положил его здесь, и я буду 751 00:34:58,010 --> 00:35:00,770 немного больше анальный сейчас и это стилизованные просто положить на вещи сами по себе 752 00:35:00,770 --> 00:35:02,540 линии, заканчивая точкой с запятой. 753 00:35:02,540 --> 00:35:04,430 Позвольте мне избавиться от стиля тега. 754 00:35:04,430 --> 00:35:05,320 >> Но я еще не закончил. 755 00:35:05,320 --> 00:35:07,406 Мне нужно сделать еще одну вещь. 756 00:35:07,406 --> 00:35:10,070 Да, идентификатор равен кавычках, "дно" или что ID я хочу 757 00:35:10,070 --> 00:35:11,740 дать этому элементу. 758 00:35:11,740 --> 00:35:13,420 Теперь, позвольте мне вернуться сюда. 759 00:35:13,420 --> 00:35:14,360 И это ужасно. 760 00:35:14,360 --> 00:35:15,805 Я не могу иметь дело с 96 точкой. 761 00:35:15,805 --> 00:35:16,960 Давайте сделаем 24 точки. 762 00:35:16,960 --> 00:35:18,320 Или вы могли бы быть более точным. 763 00:35:18,320 --> 00:35:21,800 Вы можете использовать пикселы, PX, поэтому что вы действительно получите тонкое зерно 764 00:35:21,800 --> 00:35:23,220 контроль над вашей странице. 765 00:35:23,220 --> 00:35:26,860 >> Как в стороне, это не обязательно Лучше всего, если пользователи, для 766 00:35:26,860 --> 00:35:29,650 доступность причинам, хотят иметь возможность увеличить размеров. 767 00:35:29,650 --> 00:35:32,650 Так понимаю, что есть способы сделать вещи, которые не обязательно 768 00:35:32,650 --> 00:35:34,230 все жесткие кода. 769 00:35:34,230 --> 00:35:37,220 >> Ладно, так что это больше, 24 точка, чем все, что по умолчанию. 770 00:35:37,220 --> 00:35:38,630 Но теперь это немного чище. 771 00:35:38,630 --> 00:35:40,230 И позвольте мне сделать еще один шаг вперед. 772 00:35:40,230 --> 00:35:47,220 Так же, как идея файлы заголовков, заметить, что мы на один шаг ближе к этому. 773 00:35:47,220 --> 00:35:52,000 У меня есть вынесена, но еще осталось, Внутри моей странице, те правила CSS. 774 00:35:52,000 --> 00:35:56,200 Почему может я хочу сделать еще один шаг Кроме того, удалить эту в целом, и 775 00:35:56,200 --> 00:35:59,860 положите его в отдельный файл? 776 00:35:59,860 --> 00:36:01,070 >> Так что я могу использовать его, не так ли? 777 00:36:01,070 --> 00:36:03,155 Это просто какая-то интуиция Прямо сейчас. 778 00:36:03,155 --> 00:36:06,340 Раньше я утверждал, что это было просто получать уродливые имеющие стиль 779 00:36:06,340 --> 00:36:08,480 атрибуты внутри ДИВС себя. 780 00:36:08,480 --> 00:36:09,750 Но только отчасти думаю, что до конца. 781 00:36:09,750 --> 00:36:13,560 Как вашей страницы все дольше и дольше, если Вы приобрели здесь, и здесь, и 782 00:36:13,560 --> 00:36:18,350 здесь, и здесь, все эти различные цветов и размеров шрифта и другие подобные 783 00:36:18,350 --> 00:36:22,550 атрибуты, ваша страница очень быстро собирается стать неуправляемой для вас. 784 00:36:22,550 --> 00:36:24,570 >> Если кто-то приходит к вам и говорит, ой, вы знаете, что? 785 00:36:24,570 --> 00:36:28,070 Я бы очень хотел, чтобы изменить размер шрифта два дополнительных очков, вы 786 00:36:28,070 --> 00:36:31,275 возможно, придется пойти и найти и заменить Огромное количество строк кода. 787 00:36:31,275 --> 00:36:35,170 Это гораздо более привлекательным для централизации все такие эстетики здесь. 788 00:36:35,170 --> 00:36:38,850 Но если вы хотите повторно использовать те эстетику в нескольких веб-страниц, все 789 00:36:38,850 --> 00:36:41,100 Чем более привлекательны для, для Например, создайте файл 790 00:36:41,100 --> 00:36:45,290 называется с тех содержание. 791 00:36:45,290 --> 00:36:46,680 >> И позвольте мне сделать это. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Сохраните этот файл. 794 00:36:51,920 --> 00:36:55,580 Я говорю styles.css, произвольным, но обычные. 795 00:36:55,580 --> 00:36:58,770 Я поставлю его в доме Джона Гарварда каталог сейчас для простоты. 796 00:36:58,770 --> 00:37:03,880 А что я могу сделать в моей веб-странице, это получить избавиться от стиля тега в целом, 797 00:37:03,880 --> 00:37:08,270 и несколько unintuitively, используйте ссылку тег, который не дает вам ссылку в 798 00:37:08,270 --> 00:37:13,140 гиперссылки, интерактивные смысле, но где я говорю ссылке, HREF равно 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 И отношения, что этот элемент была с веб-страницы в качестве 801 00:37:20,050 --> 00:37:21,280 его таблицу стилей. 802 00:37:21,280 --> 00:37:22,670 >> Итак, как же я узнаю это? 803 00:37:22,670 --> 00:37:25,950 Один из них, вы только что прочитали руководство, или вы Google вокруг, и вы 804 00:37:25,950 --> 00:37:27,000 смотреть на различные ресурсы. 805 00:37:27,000 --> 00:37:30,520 Я хочу сказать, что действительно, как вы поднимаете методов, как это, и в соответствии 806 00:37:30,520 --> 00:37:34,720 с этой идеей преподавания себя новые языках, опять же, вы обнаружите, что 807 00:37:34,720 --> 00:37:38,830 есть только конечное число вещей на любом языке, который, как только вы получите 808 00:37:38,830 --> 00:37:41,310 их, вы увидите, что он получает все быстрее и быстрее писать. 809 00:37:41,310 --> 00:37:44,180 Действительно, изучение нового программирования язык намного быстрее, чем новые 810 00:37:44,180 --> 00:37:47,380 разговорный язык, потому что эти вещи гораздо меньше, и многое другое 811 00:37:47,380 --> 00:37:48,820 точно определены. 812 00:37:48,820 --> 00:37:51,590 >> Но я выделил немного аномалии здесь. 813 00:37:51,590 --> 00:37:57,750 Почему я выделил эту косая черта здесь? 814 00:37:57,750 --> 00:37:59,420 Потому что я должен закрыть тег. 815 00:37:59,420 --> 00:38:00,530 Я должен закрыть тег. 816 00:38:00,530 --> 00:38:02,750 И вы найдете огромный объем ресурсов Интернете, которые не 817 00:38:02,750 --> 00:38:04,080 обязательно закрывают теги. 818 00:38:04,080 --> 00:38:08,770 И реально, это не совсем необходимых для технического и есть 819 00:38:08,770 --> 00:38:11,950 Причины реальности, браузеры просто довольно терпимы ошибок в веб- 820 00:38:11,950 --> 00:38:14,360 Страницы, к лучшему или к худшему, но в основном хуже. 821 00:38:14,360 --> 00:38:18,830 >> Так что здесь просто экологически чистых способов сказать что-нибудь глупое, как это, 822 00:38:18,830 --> 00:38:22,330 где, если вы хотите открыть ссылку тега но закрыть его, нет действительно никакого понятия 823 00:38:22,330 --> 00:38:23,720 содержания для связи тега. 824 00:38:23,720 --> 00:38:26,000 Это просто означает, загрузить этот файл и положить его здесь. 825 00:38:26,000 --> 00:38:30,610 Это как резкие включить в C. Вы можете открывать и закрывать тег все сразу 826 00:38:30,610 --> 00:38:31,660 в пределах одного тега. 827 00:38:31,660 --> 00:38:33,520 И есть другие примеры. 828 00:38:33,520 --> 00:38:37,280 Это не способ сделать это, но бр тегов, для разрыва строки, если я 829 00:38:37,280 --> 00:38:41,780 действительно хотели добиться того, что я был пытаются перед нажав Enter, если 830 00:38:41,780 --> 00:38:45,380 Я явно говорят строки, строки, строки, строки, и 831 00:38:45,380 --> 00:38:49,100 перезагрузить страницу, в настоящее время вы заметите, что внизу страницы есть, 832 00:38:49,100 --> 00:38:51,940 В самом деле, гораздо дальше вниз в в нижней части страницы. 833 00:38:51,940 --> 00:38:55,840 Но даже это может быть сделано намного больше чисто с CSS, и с полями, 834 00:38:55,840 --> 00:38:58,120 и с другими такими эстетическими методов. 835 00:38:58,120 --> 00:38:59,940 >> Так что на данный момент, являются вынос этого. 836 00:38:59,940 --> 00:39:02,320 В HTML, у нас есть эти вещей, называемых тегами. 837 00:39:02,320 --> 00:39:04,830 В CSS, у нас есть эти вещи называются свойствами. 838 00:39:04,830 --> 00:39:08,700 Мы можем comingle этих двух языков, либо с помощью атрибута стиля, 839 00:39:08,700 --> 00:39:14,240 или стиль тега, или еще лучше, факторинг его в целом, как мы это делаем 840 00:39:14,240 --> 00:39:17,270 В задачу, поставленную 7. 841 00:39:17,270 --> 00:39:23,820 Вопросов, то, о концептуальные основы здесь? 842 00:39:23,820 --> 00:39:24,740 >> Зала: У меня вопрос. 843 00:39:24,740 --> 00:39:25,630 >> Выступающий 1: Ой, простите. 844 00:39:25,630 --> 00:39:28,880 >> Зал: А почему он не был цветным - 845 00:39:28,880 --> 00:39:31,410 >> Выступающий 1: О, В другой вкладке? 846 00:39:31,410 --> 00:39:32,232 Это здесь? 847 00:39:32,232 --> 00:39:33,482 >> АУДИТОРИЯ: Нет, это как - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> Выступающий 1: О, это потому, что Я был небрежен. 850 00:39:39,480 --> 00:39:41,350 Я положил файл в неправильном месте. 851 00:39:41,350 --> 00:39:47,840 Так что, если я на самом деле положил его здесь, и я CHMOD это все + R для styles.css и 852 00:39:47,840 --> 00:39:52,050 Теперь перезагрузить страницу, теперь мы получить стилизацию назад. 853 00:39:52,050 --> 00:39:54,530 И потому, что размеры шрифтов разные, мы не видим в той же степени 854 00:39:54,530 --> 00:39:55,010 пробелов. 855 00:39:55,010 --> 00:39:58,240 Вместо этого мы посмотрим, что умолчанию вместо этого. 856 00:39:58,240 --> 00:40:00,050 Хороший вопрос. 857 00:40:00,050 --> 00:40:00,846 Да? 858 00:40:00,846 --> 00:40:02,630 >> Зал: А почему это связь тег внутри заголовка? 859 00:40:02,630 --> 00:40:06,270 >> Выступающий 1: Почему ссылки тег внутри заголовка - 860 00:40:06,270 --> 00:40:07,650 Короткий ответ, просто потому что. 861 00:40:07,650 --> 00:40:08,930 Это то, что было принято решение. 862 00:40:08,930 --> 00:40:10,720 Вот где ссылка теги идти, когда у вас есть то, что называется 863 00:40:10,720 --> 00:40:13,650 Внешняя таблица стилей. 864 00:40:13,650 --> 00:40:16,430 Другие вопросы? 865 00:40:16,430 --> 00:40:17,770 >> Хорошо, ну давайте сделаем это. 866 00:40:17,770 --> 00:40:20,500 Мы так весело перед нами сегодня. 867 00:40:20,500 --> 00:40:22,480 Вот только царапины поверхность CSS. 868 00:40:22,480 --> 00:40:23,010 Давайте сделаем это. 869 00:40:23,010 --> 00:40:25,980 Давайте пятиминутный перерыв здесь , потому что, на мой e-mail, давайте висеть в 870 00:40:25,980 --> 00:40:27,200 там до 2:30-иш сегодня. 871 00:40:27,200 --> 00:40:28,540 Но если у вас есть, чтобы оставить, это нормально. 872 00:40:28,540 --> 00:40:30,380 Но мы будем двигаться вперед после пятиминутным перерывом. 873 00:40:30,380 --> 00:40:35,930 А мы будем знать кое-что о PHP, MySQL, и многое другое. 874 00:40:35,930 --> 00:40:44,520 >> Ладно, давай попробуем, сейчас, чтобы связать Некоторые из этих идей вместе и сделать, 875 00:40:44,520 --> 00:40:46,180 разумеется, наш собственный поисковик. 876 00:40:46,180 --> 00:40:48,570 Я заметил, весьма любопытно, следующем. 877 00:40:48,570 --> 00:40:52,610 Когда вы находитесь на Google.com, ты как правило, на адрес, такой как этот здесь 878 00:40:52,610 --> 00:40:54,870 с ничего после точка ком. 879 00:40:54,870 --> 00:40:59,760 Но если я ищу что-то глупое, как Кошки, и нажмите ввод, то мы получим - не 880 00:40:59,760 --> 00:41:01,300 глупо, но вы знаете. 881 00:41:01,300 --> 00:41:05,410 >> Итак, заметили, в верхней части страницы Теперь, адрес или она, конечно, изменены. 882 00:41:05,410 --> 00:41:07,190 И это далеко не все, новое для любого из нас. 883 00:41:07,190 --> 00:41:09,290 Вы нажимайте на ссылки и прочее происходит в Интернете. 884 00:41:09,290 --> 00:41:11,420 Но что здесь интересно состоит в следующем. 885 00:41:11,420 --> 00:41:14,500 Там целая много беспорядка, но пусть мне выбросить вещи, которые я не 886 00:41:14,500 --> 00:41:16,600 вполне понимает или не действительно выглядят актуальными. 887 00:41:16,600 --> 00:41:18,490 >> Позвольте мне избавиться от этого. 888 00:41:18,490 --> 00:41:20,030 Позвольте мне избавиться от этого. 889 00:41:20,030 --> 00:41:22,630 И позвольте мне просто избавиться всего этого. 890 00:41:22,630 --> 00:41:28,840 А теперь обратите внимание, что кошки в URL, следуют с Q, то равных 891 00:41:28,840 --> 00:41:29,710 знак перед ней. 892 00:41:29,710 --> 00:41:32,110 Вот и получается, это, как Как это работает, когда речь идет 893 00:41:32,110 --> 00:41:33,360 на входе и выходе. 894 00:41:33,360 --> 00:41:37,510 >> Мы давно говорили о черные ящики, не так ли? 895 00:41:37,510 --> 00:41:41,650 Так что, если это функция, выполняемая Здесь, как черный ящик, он принимает входные 896 00:41:41,650 --> 00:41:45,290 и производит выдачу, ну, значит, с помощью которого вы внести свой вклад в 897 00:41:45,290 --> 00:41:49,270 Веб-сайт является путем, часто, его URL. 898 00:41:49,270 --> 00:41:52,850 Вы просто поставил знак вопроса а затем ключ равна значению. 899 00:41:52,850 --> 00:41:56,740 И тогда, возможно, амперсанд, а затем Другим ключевым равна стоимости, то, возможно, 900 00:41:56,740 --> 00:41:58,810 другой амперсанд, ключевые равна значению. 901 00:41:58,810 --> 00:42:03,030 Вот как вы передаете ключи и значений, пары входов. 902 00:42:03,030 --> 00:42:07,050 >> Так что, если я ударил Введите Теперь, что интересное о Google в том, что все 903 00:42:07,050 --> 00:42:10,420 , которые загромождают я удалил не появляется строго необходимым. 904 00:42:10,420 --> 00:42:15,120 Все что мне нужно отправить Google является вопрос знак Q равна кошек, чтобы получить 905 00:42:15,120 --> 00:42:16,160 назад некоторые кошек. 906 00:42:16,160 --> 00:42:20,160 Ну, смысл этого, то, если я подтянуть Gedit, я начал 907 00:42:20,160 --> 00:42:24,360 сделать мои собственные поисковой здесь в файле с именем seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> И позвольте мне идти вперед и удалить еще одна линия, что вы 909 00:42:26,750 --> 00:42:27,910 не должны были видеть. 910 00:42:27,910 --> 00:42:31,070 А теперь, отпусти меня в мой собственный браузер, так, чтобы не Google, и перейти к 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 И что происходит, чтобы получить в пути. 913 00:42:36,220 --> 00:42:43,240 Итак, мы собираемся иметь, чтобы сказать до свидания что на данный момент, переместить этот здесь, 914 00:42:43,240 --> 00:42:46,270 О, теперь мы собираемся должны Попрощайтесь с файлом. 915 00:42:46,270 --> 00:42:51,700 >> Всякий раз, когда у вас есть файл с именем index.html или index.php в 916 00:42:51,700 --> 00:42:54,980 каталог, если веб-сервер настроена таким образом, что вы будете 917 00:42:54,980 --> 00:42:59,600 видите, по умолчанию, является содержание этого файла, а не перечнем 918 00:42:59,600 --> 00:43:02,330 каталог, как я хотел здесь. 919 00:43:02,330 --> 00:43:03,750 Подробнее об этом в спецификации. 920 00:43:03,750 --> 00:43:04,610 Вы не видели этого. 921 00:43:04,610 --> 00:43:06,360 >> Так это то, что я на самом деле хотел. 922 00:43:06,360 --> 00:43:08,810 Но минуту назад, был файл в этой папке 923 00:43:08,810 --> 00:43:11,290 index.html и index.php. 924 00:43:11,290 --> 00:43:13,380 И поэтому веб-сервер был показывал мне эти файлы. 925 00:43:13,380 --> 00:43:15,900 Вместо этого я хочу этого каталога перечислены здесь. 926 00:43:15,900 --> 00:43:18,340 >> Так что я собираюсь идти в CSS и перейти к search0. 927 00:43:18,340 --> 00:43:21,770 И я утверждаю, что это он будет начале моей собственной конкурентоспособной 928 00:43:21,770 --> 00:43:22,490 поисковой системе. 929 00:43:22,490 --> 00:43:27,630 А для этого, я собираюсь пойти в Сюда, в CSS, и открыть с 930 00:43:27,630 --> 00:43:30,190 Gedit, поиск 0. 931 00:43:30,190 --> 00:43:32,280 Но, к сожалению, есть не так много здесь происходит. 932 00:43:32,280 --> 00:43:35,690 Все, что я делал, было использовать тег заголовка, который , случается, называют h1, которая 933 00:43:35,690 --> 00:43:38,180 по существу означает большой и смелый, и этим все сказано. 934 00:43:38,180 --> 00:43:40,810 Но средства, с помощью которых мы можем обеспечить входы через эти 935 00:43:40,810 --> 00:43:42,180 что называется формами. 936 00:43:42,180 --> 00:43:46,040 >> Итак, позвольте мне идти вперед и открывать и закрывать, превентивно, а тег формы там. 937 00:43:46,040 --> 00:43:48,060 И позвольте мне идти вперед и делать что-то вроде этого. 938 00:43:48,060 --> 00:43:51,430 Вход, типа равна текста. 939 00:43:51,430 --> 00:43:56,320 А потом давайте закроем теге сами скобки. 940 00:43:56,320 --> 00:43:58,800 Мне не нужно, чтобы начать текстовое поле и остановить текстового поля. 941 00:43:58,800 --> 00:44:01,080 Это просто будет там или нет. 942 00:44:01,080 --> 00:44:06,210 >> А потом, что ниже, давайте сделаем Тип входа равна представить. 943 00:44:06,210 --> 00:44:06,870 Сохранить. 944 00:44:06,870 --> 00:44:08,630 А теперь давайте просто сделаем быстрая проверка исправности. 945 00:44:08,630 --> 00:44:09,820 Давайте перезагрузить. 946 00:44:09,820 --> 00:44:10,890 >> Хорошо, таким образом, это не плохо. 947 00:44:10,890 --> 00:44:13,260 Это не в стиле Google, но это довольно близко. 948 00:44:13,260 --> 00:44:13,920 Там в текстовом поле. 949 00:44:13,920 --> 00:44:17,190 Я могу напечатать некоторые вещи в, нажмите Enter, но ничего не происходит пока. 950 00:44:17,190 --> 00:44:21,090 И это потому, что я не указал действие для этой формы, так сказать. 951 00:44:21,090 --> 00:44:23,860 Так что, если я вернусь в элемент формы, Оказывается, и я знаю, что это только 952 00:44:23,860 --> 00:44:27,460 от прочитали документацию, что Форма метка имеет атрибут 953 00:44:27,460 --> 00:44:31,880 называют действие, которое URL веб-сайт, к которому 954 00:44:31,880 --> 00:44:34,790 необходимо отправить форме. 955 00:44:34,790 --> 00:44:37,610 >> Я действительно не думаю, что у нас есть время осуществлять весь конца назад для 956 00:44:37,610 --> 00:44:38,570 поисковой сегодня. 957 00:44:38,570 --> 00:44:41,900 Таким образом, мы просто будем говорить, а, перейти на google.com / поиска. 958 00:44:41,900 --> 00:44:43,450 А теперь позвольте мне в моих цитат. 959 00:44:43,450 --> 00:44:46,070 И позвольте мне указать, что дальнейшее метод, используемый собирается 960 00:44:46,070 --> 00:44:47,120 называть получить. 961 00:44:47,120 --> 00:44:50,650 >> Короче говоря, есть два пути, по крайней мере, что вы можете подать информацию 962 00:44:50,650 --> 00:44:51,880 от браузера к серверу. 963 00:44:51,880 --> 00:44:55,340 Один из них получить, и для целей сегодняшнего, это просто означает, в URL. 964 00:44:55,340 --> 00:44:58,730 Вы видите точно вопросительными знаками, знак равенства, и что амперсандах 965 00:44:58,730 --> 00:44:59,780 мы видели ранее. 966 00:44:59,780 --> 00:45:02,890 Или есть альтернатива называется пост. 967 00:45:02,890 --> 00:45:06,490 На данный момент известно, что пост часто используется когда вы хотите, чтобы загрузить файлы, например, 968 00:45:06,490 --> 00:45:09,820 изображения и т. д., или когда вы хотите представить информацию о кредитных картах, или 969 00:45:09,820 --> 00:45:13,810 пароли, все, что он не действительно имеет смысл, концептуально, или 970 00:45:13,810 --> 00:45:18,020 Мудрая безопасность, в конечном итоге в адрес ваш браузер, когда родители слежка, 971 00:45:18,020 --> 00:45:21,520 или соседей по комнате, или у кого есть доступ на компьютер, может видеть. 972 00:45:21,520 --> 00:45:23,110 >> Так давайте сохраним это здесь. 973 00:45:23,110 --> 00:45:24,480 И мне нужно сделать еще одну вещь. 974 00:45:24,480 --> 00:45:27,250 Это не достаточно просто сказал, дают мне текстовое поле. 975 00:45:27,250 --> 00:45:29,850 Я должен дать этого поля цените имя. 976 00:45:29,850 --> 00:45:34,500 Так что позвольте мне взять выбор Google о имена, Q, и указать, что второй 977 00:45:34,500 --> 00:45:38,150 приписываем Я действительно не заботятся о Название кнопки Submit. 978 00:45:38,150 --> 00:45:40,890 Все, что я заботятся о представлении что пользователь вводит дюйма 979 00:45:40,890 --> 00:45:41,940 >> А теперь это вроде уродливой. 980 00:45:41,940 --> 00:45:42,820 Он просто говорит представить. 981 00:45:42,820 --> 00:45:46,350 Оказывается, и я знаю это от документацию, я могу на самом деле сказать 982 00:45:46,350 --> 00:45:51,710 значение равно кавычках "CS50 Seach, "близкие цитаты. 983 00:45:51,710 --> 00:45:53,030 Тогда давайте еще раз перезагрузить. 984 00:45:53,030 --> 00:45:57,020 Так что я бьют Command-R или Control-R на клавиатуре, чтобы перезагрузить. 985 00:45:57,020 --> 00:45:58,605 >> Теперь у нас есть более интересные поисковой системе. 986 00:45:58,605 --> 00:46:00,340 Однако это не совсем похожи Google же, все же. 987 00:46:00,340 --> 00:46:04,100 Так что давайте идти вперед сюда и сделать небольшой перерыв линии. 988 00:46:04,100 --> 00:46:06,066 >> Итак, теперь у нас есть Google. 989 00:46:06,066 --> 00:46:08,260 Мы на самом деле почти меня есть Google. 990 00:46:08,260 --> 00:46:10,460 Так что теперь произойдет? 991 00:46:10,460 --> 00:46:12,220 Я собираюсь ввести в чем-то как кошки. 992 00:46:12,220 --> 00:46:16,570 И браузер будет разобрать эта форма, что я определен. 993 00:46:16,570 --> 00:46:19,470 И он собирается отправить пользователю, что URL. 994 00:46:19,470 --> 00:46:23,420 Поэтому в этот раз, для некоторых любопытных причин, Я получил больше информации о запасах 995 00:46:23,420 --> 00:46:24,410 , чем о реальных кошек. 996 00:46:24,410 --> 00:46:30,580 Но это нормально, потому что мы все еще замечают закончил здесь, Q равна кошек. 997 00:46:30,580 --> 00:46:35,200 >> Такая длинная короткая история, кажется, довольно тривиальным, чтобы получить входные данные от пользователя. 998 00:46:35,200 --> 00:46:38,190 И быть справедливыми, есть пучки других типов полей формы. 999 00:46:38,190 --> 00:46:41,510 Там в флажков, и мало взаимно эксклюзивные кнопки радио и 1000 00:46:41,510 --> 00:46:42,960 выпадающие меню и многое другое. 1001 00:46:42,960 --> 00:46:46,160 Но все эти являются относительно легко реализована в виде 1002 00:46:46,160 --> 00:46:48,040 это текстовое поле было. 1003 00:46:48,040 --> 00:46:52,050 И в конечном счете, мы просто должны сделать уверен, что кто-то слушает на другой 1004 00:46:52,050 --> 00:46:56,490 Конец линии для того, чтобы получить, что обрабатываемой информации, так или иначе, и 1005 00:46:56,490 --> 00:46:58,440 верните нам наши кошки. 1006 00:46:58,440 --> 00:47:00,840 >> Давайте посмотрим на несколько Более сложный пример. 1007 00:47:00,840 --> 00:47:06,020 Отпустите меня в мой каталог Vhost автора, в локальный хост, общественных, и где я 1008 00:47:06,020 --> 00:47:06,980 положить исходный код сегодня. 1009 00:47:06,980 --> 00:47:09,800 Все это будет на курсы Веб-сайт для вас, чтобы возиться с. 1010 00:47:09,800 --> 00:47:15,420 И если я иду в froshims, позвольте мне открыть этот файл сейчас, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Это одна немного более многословным, так мы не будем писать это с нуля. 1012 00:47:18,460 --> 00:47:21,970 Но только заметить теперь несколько несколько знакомые характеристики. 1013 00:47:21,970 --> 00:47:24,550 >> Один из них, тег формы, различные действия. 1014 00:47:24,550 --> 00:47:25,670 Это не полный URL. 1015 00:47:25,670 --> 00:47:29,930 Теперь, это видимо, файл с именем register0.php потому, что в момент, 1016 00:47:29,930 --> 00:47:32,660 Я собираюсь научить себя немного что-то о PHP, программировании 1017 00:47:32,660 --> 00:47:37,360 языка, так как PHP может быть использован для осуществить то, что Google реализован в виде 1018 00:47:37,360 --> 00:47:39,650 задней части их поисковыми системами. 1019 00:47:39,650 --> 00:47:42,890 >> Google, на самом деле, вероятно, использует некоторые Python, некоторые C + +, и 1020 00:47:42,890 --> 00:47:44,230 пучками других языках. 1021 00:47:44,230 --> 00:47:48,230 Но мы, безусловно, может реализовать поиск результатов с помощью PHP, если мы хотели. 1022 00:47:48,230 --> 00:47:49,610 Но пока, мы будем держать его проста. 1023 00:47:49,610 --> 00:47:53,320 И это на самом деле напоминает одну других первых сайтов я 1024 00:47:53,320 --> 00:47:54,490 сделанный лет назад. 1025 00:47:54,490 --> 00:47:58,160 >> Еще в свое время, ты зарегистрирован в очной спорта, как на первом курсе по 1026 00:47:58,160 --> 00:48:00,880 заполнив бумажку, ходьба через двор, и, положив его в 1027 00:48:00,880 --> 00:48:04,890 почтовый ящик в Proctor Wigglesworth, и это было, как вы 1028 00:48:04,890 --> 00:48:05,460 зарегистрирован. 1029 00:48:05,460 --> 00:48:09,650 И так мой проект вскоре после того, CS50, было поставить, что, что делает идеальным 1030 00:48:09,650 --> 00:48:13,460 смысле на полотно, которое не было как и в моде, то, как сейчас. 1031 00:48:13,460 --> 00:48:17,510 Но все, что нам нужно было создать, По существу, HTML формы. 1032 00:48:17,510 --> 00:48:19,640 >> И эта форма выглядела примерно так. 1033 00:48:19,640 --> 00:48:22,480 У меня был вклад в Имя новичка. 1034 00:48:22,480 --> 00:48:27,780 У меня был другой флажок или они или не хотел быть капитаном, то, что 1035 00:48:27,780 --> 00:48:30,400 их пол был и то, что их общежитие было. 1036 00:48:30,400 --> 00:48:33,370 И тогда я жестко в вещах как Apley суда и Canaday, 1037 00:48:33,370 --> 00:48:34,880 Серые, и так далее. 1038 00:48:34,880 --> 00:48:36,300 >> Итак, еще раз, новые теги. 1039 00:48:36,300 --> 00:48:39,820 Давно не видел их прежде, новое атрибутов, но довольно доступным. 1040 00:48:39,820 --> 00:48:42,360 Как только вы видите, например, вы можете вида из заимствовать эту идею и сделать падение 1041 00:48:42,360 --> 00:48:43,820 меню для большинства ничего. 1042 00:48:43,820 --> 00:48:46,350 Но то, что ключевым является то, что каждый из эти вещи имеют имена. 1043 00:48:46,350 --> 00:48:49,720 А внизу этой формы, есть кнопку отправки, метку, 1044 00:48:49,720 --> 00:48:51,510 или ценность, регистр. 1045 00:48:51,510 --> 00:48:52,670 >> Так что давайте идти на эту страницу. 1046 00:48:52,670 --> 00:48:55,050 Позвольте мне вернуться в каталогов. 1047 00:48:55,050 --> 00:48:59,410 Отпустите меня в froshims, и перейти к froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Так что это отвратительное, чтобы быть справедливым. 1049 00:49:01,150 --> 00:49:03,950 Так что я мог определенно стилизовать эту с некоторыми CSS, я мог бы сделать некоторые 1050 00:49:03,950 --> 00:49:06,890 графика, может быть, добавить некоторые цвета, и сделать это красивее. 1051 00:49:06,890 --> 00:49:10,530 Но функционально я бы утверждать, что это на самом деле довольно полно. 1052 00:49:10,530 --> 00:49:15,190 >> К сожалению, когда я заполняю это, Дэвид, капитан, Мужской, мы выберем, 1053 00:49:15,190 --> 00:49:20,510 скажем Matthews, регистрации, все, что происходит это. 1054 00:49:20,510 --> 00:49:21,910 Но заметим пару вынос. 1055 00:49:21,910 --> 00:49:27,130 Один из них, какой файл вернулись те, Результаты, по-видимому? 1056 00:49:27,130 --> 00:49:29,470 Так что это, действительно, register0.php. 1057 00:49:29,470 --> 00:49:34,570 Тот факт, что мы увидели, что действия Значение минуту назад для register0, это 1058 00:49:34,570 --> 00:49:37,500 подтверждает, что мы действительно закончилась до в тот конкретный файл. 1059 00:49:37,500 --> 00:49:39,040 >> Теперь это просто безобразно текста. 1060 00:49:39,040 --> 00:49:42,810 Но обратите внимание, что этот текст является Исходя из локального хоста, 1061 00:49:42,810 --> 00:49:44,170 который из устройства. 1062 00:49:44,170 --> 00:49:46,350 Подумайте о прибор сейчас, как только веб-сервер, который может быть в 1063 00:49:46,350 --> 00:49:46,910 Научный центр. 1064 00:49:46,910 --> 00:49:48,060 Это может быть на фактических веб. 1065 00:49:48,060 --> 00:49:49,850 Так что это публично доступны. 1066 00:49:49,850 --> 00:49:55,480 >> Итак, ясно, есть некоторый способ передачи полей формы входа на сервер 1067 00:49:55,480 --> 00:49:56,840 так что он может что-то с ними делать. 1068 00:49:56,840 --> 00:49:59,020 К сожалению, register0 довольно глупо. 1069 00:49:59,020 --> 00:50:01,870 Все это делает распечатать массив который выглядит следующим образом. 1070 00:50:01,870 --> 00:50:04,790 И это не массив в смысле, что мы ее знаем. 1071 00:50:04,790 --> 00:50:08,760 Оказывается, PHP, и много языков, не только численно 1072 00:50:08,760 --> 00:50:12,350 индексированные массивы, Первый индекс нулю, то один, то два, то точка, 1073 00:50:12,350 --> 00:50:13,780 точка, точка, N минус 1. 1074 00:50:13,780 --> 00:50:16,400 >> Это то, что называется ассоциативный массив. 1075 00:50:16,400 --> 00:50:21,150 Ассоциативный массив, при которой Вы можете хранить пар ключ-значение, где 1076 00:50:21,150 --> 00:50:23,160 ключа не обязательно является числом. 1077 00:50:23,160 --> 00:50:25,580 Это на самом деле может быть строкой, словом. 1078 00:50:25,580 --> 00:50:28,230 И так что это может быть реализовано, под капотом, оказывается, 1079 00:50:28,230 --> 00:50:31,896 использованием структуры данных, известных как? 1080 00:50:31,896 --> 00:50:33,600 Мысль что-то драматическое должно было произойти - 1081 00:50:33,600 --> 00:50:34,840 хэш-таблицу. 1082 00:50:34,840 --> 00:50:38,955 >> Так хэш-таблицу, напомним, те из вас, кто это сделал для P набор 6, или даже вспомнить 1083 00:50:38,955 --> 00:50:44,110 это, по крайней мере, даже если вы сделали попытку, хэш-таблицы, на наш использовании, были использованы для 1084 00:50:44,110 --> 00:50:45,090 просто хранить слов. 1085 00:50:45,090 --> 00:50:47,980 Но на самом деле, вы хранили ключей и значений. 1086 00:50:47,980 --> 00:50:51,940 Если вы реализовали хэш-таблицу для P набор 6 словарь, ключи были 1087 00:50:51,940 --> 00:50:56,890 сами слова, а значения были фактически истинными или ложными. 1088 00:50:56,890 --> 00:51:00,190 Да, здесь, или неявно, Нет, не здесь. 1089 00:51:00,190 --> 00:51:02,140 >> Ну, мы можем обобщить эту идею. 1090 00:51:02,140 --> 00:51:06,230 И мы могли бы использовать очень похожие данные Структура хранить не строка 1091 00:51:06,230 --> 00:51:10,180 Сам одиноки в вашей хэш-таблицы, но Предположим, что в каждом из ваших хэш 1092 00:51:10,180 --> 00:51:11,130 таблицы узлов. 1093 00:51:11,130 --> 00:51:14,210 А вы могли бы сделать это даже в попытке , а не просто логическое. 1094 00:51:14,210 --> 00:51:15,350 Вы могли бы что-то другое. 1095 00:51:15,350 --> 00:51:19,590 Что делать, если ключ не был Максвелл, для например, но в кавычках "имя", или 1096 00:51:19,590 --> 00:51:22,900 кавычках "капитан". И внутри С вашей структуре данных, вы помещаете 1097 00:51:22,900 --> 00:51:26,170 значение, а не только логическое, но и стоимость как в кавычках "Давида", или 1098 00:51:26,170 --> 00:51:28,690 "M" или "Matthews", и так далее. 1099 00:51:28,690 --> 00:51:33,170 >> Так что те же структуры данных мы использовали видимо существуют и в других языках. 1100 00:51:33,170 --> 00:51:37,650 И я бы утверждать, что они на самом деле много, гораздо проще получить доступ здесь. 1101 00:51:37,650 --> 00:51:40,300 Давайте на самом деле взглянуть Сейчас в какой-то такой синтаксис. 1102 00:51:40,300 --> 00:51:43,120 >> Я собираюсь пойти в каталог PHP. 1103 00:51:43,120 --> 00:51:48,390 И я собираюсь открыть лучше версия привет-0, чем прежде. 1104 00:51:48,390 --> 00:51:50,270 Обратите внимание, что все, что я делал, было добавить некоторые комментарии. 1105 00:51:50,270 --> 00:51:52,530 Итак, мы можем избавиться от этого безумия. 1106 00:51:52,530 --> 00:51:57,610 >> И эта программа действительно печатает привет, потому что я указал между 1107 00:51:57,610 --> 00:52:01,420 тегов, которые я хочу выполнить этот код. 1108 00:52:01,420 --> 00:52:03,380 Теперь мы увидим в момент почему это полезно. 1109 00:52:03,380 --> 00:52:05,630 Но давайте откроем один пример здесь. 1110 00:52:05,630 --> 00:52:10,430 Позвольте мне идти вперед и открывать сказать, Gedit условий один. 1111 00:52:10,430 --> 00:52:12,970 >> Это путь назад в время. 1112 00:52:12,970 --> 00:52:16,320 Но неделю назад, я думаю, в неделю один или две недели, у нас был пример называется 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 И я решил реализовать его в PHP, просто вид подчеркнуть, что 1115 00:52:22,050 --> 00:52:26,500 PHP, синтаксически, почти идентична и C. Это не огромный скачок 1116 00:52:26,500 --> 00:52:27,840 с прошлой недели на это. 1117 00:52:27,840 --> 00:52:31,230 >> Обратите внимание, в верхней части этой программы, которая начинается, как и раньше, с некоторыми 1118 00:52:31,230 --> 00:52:34,260 комментарии, которые Я избавлюсь как отвлечение. 1119 00:52:34,260 --> 00:52:37,410 Заметьте, что я нахожусь в PHP Режим в этом файле. 1120 00:52:37,410 --> 00:52:40,160 Так что этот код, мы увидим, будут выполнены. 1121 00:52:40,160 --> 00:52:42,670 Обратите внимание, что есть Readline, который, вероятно, 1122 00:52:42,670 --> 00:52:46,230 аналог в PHP из GetString. 1123 00:52:46,230 --> 00:52:47,390 Обратите внимание, что это немного разные. 1124 00:52:47,390 --> 00:52:51,410 Реально задается запрос на Функция называется читать линии, и это 1125 00:52:51,410 --> 00:52:52,180 что видит пользователь. 1126 00:52:52,180 --> 00:52:53,520 Таким образом, вы не должны Е вручную. 1127 00:52:53,520 --> 00:52:54,860 Но это не имеет большого значения. 1128 00:52:54,860 --> 00:52:59,150 Я собираюсь хранить, внутри $ N, вернуть значение этого, так что все 1129 00:52:59,150 --> 00:53:00,490 пользователь вводит является их Int. 1130 00:53:00,490 --> 00:53:01,660 А вот еще любопытство. 1131 00:53:01,660 --> 00:53:05,810 Оказывается, в PHP, любая переменная просто должен иметь префикс 1132 00:53:05,810 --> 00:53:06,970 со знаком доллара. 1133 00:53:06,970 --> 00:53:08,110 Это немного раздражает. 1134 00:53:08,110 --> 00:53:10,870 Но обратите внимание, что я не сделал в PHP. 1135 00:53:10,870 --> 00:53:13,980 Чего не хватает в левой руке стороны от знака равенства? 1136 00:53:13,980 --> 00:53:15,430 >> Никакого упоминания о типа. 1137 00:53:15,430 --> 00:53:19,400 Так что это отличается от C. Для лучшего или к худшему, PHP является свободно 1138 00:53:19,400 --> 00:53:20,550 типизированных языках. 1139 00:53:20,550 --> 00:53:22,010 У него есть цифры. 1140 00:53:22,010 --> 00:53:23,240 У него есть строки. 1141 00:53:23,240 --> 00:53:24,015 У него есть логические. 1142 00:53:24,015 --> 00:53:26,220 И у него есть несколько другие типы данных. 1143 00:53:26,220 --> 00:53:30,570 Но вы, программист, как правило, не должны заботиться о них. 1144 00:53:30,570 --> 00:53:34,010 Верх этого является то, что он делает это немного легче программировать. 1145 00:53:34,010 --> 00:53:35,380 Вы можете думать немного меньше. 1146 00:53:35,380 --> 00:53:39,840 Недостатком является то, оно также открывает вам до потенциальных ошибок, если вы случайно 1147 00:53:39,840 --> 00:53:43,080 лечения ряда в виде строки, строка как число, потенциально, но даже 1148 00:53:43,080 --> 00:53:46,150 Затем, PHP, и много языков, довольно терпимо. 1149 00:53:46,150 --> 00:53:49,050 Они будут использовать то, что называется неявной. 1150 00:53:49,050 --> 00:53:55,220 И если вы пытаетесь использовать N в контексте числового ситуации, он будет 1151 00:53:55,220 --> 00:53:58,040 превращает то, что здесь будет строкой, потому что, если пользователь вводит 1152 00:53:58,040 --> 00:54:01,570 что-то, и вы получите результат, Как и Readline, или получить строку, 1153 00:54:01,570 --> 00:54:02,910 что собирается возвращать строку. 1154 00:54:02,910 --> 00:54:07,360 >> Но обратите внимание, пару строк спустя, я проверить, если N больше нуля. 1155 00:54:07,360 --> 00:54:13,370 Итак, PHP будет неявно приведен мой "Строка" 123, или любой другой пользователь 1156 00:54:13,370 --> 00:54:14,860 типы, в Int. 1157 00:54:14,860 --> 00:54:18,730 Короче говоря, вещи просто работает намного больше интуитивно. 1158 00:54:18,730 --> 00:54:23,410 Таким образом, теперь начинают расслабляться несколько вещи, которые мы сделали в прошлом. 1159 00:54:23,410 --> 00:54:24,780 >> Многие этот материал то же, все же. 1160 00:54:24,780 --> 00:54:26,340 Все еще равных равных. 1161 00:54:26,340 --> 00:54:30,350 Как в сторону PHP также равна равна равных, но об этом, пожалуй, в 1162 00:54:30,350 --> 00:54:30,850 будущем. 1163 00:54:30,850 --> 00:54:31,150 Это было. 1164 00:54:31,150 --> 00:54:35,660 Опечатка, а два знака равенства означает то же самое , что и раньше, для сравнения. 1165 00:54:35,660 --> 00:54:37,060 Е означает то же самое, как раньше. 1166 00:54:37,060 --> 00:54:39,160 Обратная косая черта N означает то же самое , что и раньше. 1167 00:54:39,160 --> 00:54:40,390 >> Так как я могу запустить эту программу? 1168 00:54:40,390 --> 00:54:44,400 Ну, как и раньше, если я делаю PHP, conditions1.php и введите 1169 00:54:44,400 --> 00:54:46,560 число, например 123. 1170 00:54:46,560 --> 00:54:47,720 Это положительное число. 1171 00:54:47,720 --> 00:54:49,510 Если я печатаю в 0, я выбираю 0. 1172 00:54:49,510 --> 00:54:53,700 И если я печатаю в отрицательной 123, я получаю Резервное отрицательное число, которое является только 1173 00:54:53,700 --> 00:54:59,050 сказать, синтаксически, PHP супер, супер похожи. 1174 00:54:59,050 --> 00:55:03,250 >> Так почему же это сейчас полезно в веб-контексте? 1175 00:55:03,250 --> 00:55:06,710 Ну, давайте вернемся к этой froshims Например, который выглядел, 1176 00:55:06,710 --> 00:55:08,600 опять же, как это здесь. 1177 00:55:08,600 --> 00:55:11,580 И давайте на самом деле подтянуть веб-страницы снова, которое выглядело так. 1178 00:55:11,580 --> 00:55:14,930 Что мы можем сделать с данные, которые представлены? 1179 00:55:14,930 --> 00:55:18,770 >> Ну, позвольте мне открыть новые версия этого. 1180 00:55:18,770 --> 00:55:20,920 И вы увидите, что проблема наборы спецификаций проведет вас 1181 00:55:20,920 --> 00:55:22,850 через несколько из них. 1182 00:55:22,850 --> 00:55:29,610 Вместо того, чтобы начать с нуля, давайте посмотрим на froshims3, 1183 00:55:29,610 --> 00:55:31,410 который делает немного больше. 1184 00:55:31,410 --> 00:55:34,780 >> Обратите внимание, во-первых, на самом деле, давайте откроем от того, что было 0, так что вы видите 1185 00:55:34,780 --> 00:55:37,170 то, что было регистра 0. 1186 00:55:37,170 --> 00:55:40,040 Обратите внимание на то, что сделал регистра 0. 1187 00:55:40,040 --> 00:55:41,730 Один из них, у меня есть комментарии в начале. 1188 00:55:41,730 --> 00:55:43,900 Удаляем их и сосредоточиться только на этом. 1189 00:55:43,900 --> 00:55:48,730 Большинство содержимое register0.php , очевидно, на каком языке? 1190 00:55:48,730 --> 00:55:49,980 Просто сырое PHP. 1191 00:55:49,980 --> 00:55:53,430 >> Так уведомление, этот файл не запускается с, на данный момент, открывающая скобка, 1192 00:55:53,430 --> 00:55:54,970 Вопросительный знак, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP действительно позволяет смешиваться PHP кода с HTML тегами. 1194 00:55:59,800 --> 00:56:04,130 Но я сделал это здесь, внутри на странице здесь. 1195 00:56:04,130 --> 00:56:08,180 >> Теперь, опять же, вы только знаю это из посмотрев на руководстве. print_r, 1196 00:56:08,180 --> 00:56:13,410 Оказывается, это print_recursive. _recursive И это только удобный 1197 00:56:13,410 --> 00:56:16,780 функции полезности, который просто выводит, рекурсивно, что бы вы передать его. 1198 00:56:16,780 --> 00:56:18,760 Если вы вручаете ее массивом, это будет печати массива. 1199 00:56:18,760 --> 00:56:20,180 Если вы передать его номер, он будет печатать числа. 1200 00:56:20,180 --> 00:56:21,570 Передайте ему строки, он будет печатать строку. 1201 00:56:21,570 --> 00:56:24,500 Если вы передать его хэш-таблицу, она выведет хэш-таблицу. 1202 00:56:24,500 --> 00:56:26,730 Вам не нужно писать все этого кода самостоятельно. 1203 00:56:26,730 --> 00:56:29,490 >> А теперь обратите внимание, что я вхожу PHP режиме здесь. 1204 00:56:29,490 --> 00:56:32,070 Я выходе PHP режиме здесь. 1205 00:56:32,070 --> 00:56:35,950 Поэтому, когда веб-сервер читает этот файл сверху вниз, слева направо, потому что 1206 00:56:35,950 --> 00:56:40,750 она заканчивается в имени файла называется. PHP, все, что не внутри тегов PHP является 1207 00:56:40,750 --> 00:56:42,820 просто будет коса из, как сырые HTML. 1208 00:56:42,820 --> 00:56:43,630 Никакое грандиозное предприятие. 1209 00:56:43,630 --> 00:56:49,280 Но как только веб-сервер замечает это, он скажет, что я не должен 1210 00:56:49,280 --> 00:56:51,850 выплюнуть, буквально, print_r пост. 1211 00:56:51,850 --> 00:56:54,910 Я должен выполнить следующие строки кода. 1212 00:56:54,910 --> 00:56:59,850 >> Таким образом, последний вопрос, то, этот файл , ну, что же такое это? 1213 00:56:59,850 --> 00:57:00,530 Сделать предположение. 1214 00:57:00,530 --> 00:57:04,230 Что такое $ _POST, наверное? 1215 00:57:04,230 --> 00:57:07,070 >> АУДИТОРИЯ: [неразборчиво] 1216 00:57:07,070 --> 00:57:08,830 >> Выступающий 1: Да, отправленные данные. 1217 00:57:08,830 --> 00:57:11,350 Напомним, давай листать текст назад в Время на мгновение. 1218 00:57:11,350 --> 00:57:13,165 froshim0, опять же, выглядела следующим образом. 1219 00:57:13,165 --> 00:57:15,640 Супер большинства это всего лишь HTML. 1220 00:57:15,640 --> 00:57:18,410 Опять же, некоторые теги Вы не видел еще, или с которыми 1221 00:57:18,410 --> 00:57:19,360 Вы уже знакомы. 1222 00:57:19,360 --> 00:57:21,990 Но самое интересное было этого. 1223 00:57:21,990 --> 00:57:27,270 Это одна линия, что действительно связывает его в наш register0.php файла. 1224 00:57:27,270 --> 00:57:29,200 Я воспользуетесь методом поста. 1225 00:57:29,200 --> 00:57:33,130 А это значит, что параметры Пользователь вводит в не 1226 00:57:33,130 --> 00:57:35,150 будет в конечном итоге, где. 1227 00:57:35,150 --> 00:57:36,175 >> Они не собираются отображаться в URL. 1228 00:57:36,175 --> 00:57:39,020 Они по-прежнему собирается быть отправлено с клиентском компьютере, в браузере, чтобы 1229 00:57:39,020 --> 00:57:42,080 серверу, но только через некоторые другие механизм, который мы будем поступаться своими руками 1230 00:57:42,080 --> 00:57:44,330 на сегодня, но это не в URL. 1231 00:57:44,330 --> 00:57:47,630 Но обратите внимание на отношения сейчас с пост, который, по соглашению, является 1232 00:57:47,630 --> 00:57:49,160 нижний регистр здесь. 1233 00:57:49,160 --> 00:57:54,090 >> Но если я открываю register0.php, Я видимо печатью этого. 1234 00:57:54,090 --> 00:57:56,450 Так что это какое-то странное именования. 1235 00:57:56,450 --> 00:58:01,430 Но то, что хорошо в PHP является то, что, когда Использование PHP в веб-контексте, а не в 1236 00:58:01,430 --> 00:58:04,480 командной строки, как я сделал минуту назад, когда вы на самом деле оно используется в веб- 1237 00:58:04,480 --> 00:58:10,580 страницы, в Vhost каталога, как мы, PHP автоматически будет заполнить этот 1238 00:58:10,580 --> 00:58:15,560 вещь, которая представляет собой ассоциативный массив, так сказать, хэш-таблицы, с 1239 00:58:15,560 --> 00:58:17,290 все, что пользователь ввел дюйма 1240 00:58:17,290 --> 00:58:22,000 >> Короче говоря, $ _POST во всех колпачков глобальная переменная, которая просто PHP 1241 00:58:22,000 --> 00:58:25,050 магически создает для вас, когда Использование PHP в веб-контексте. 1242 00:58:25,050 --> 00:58:29,160 И это ставит внутри него все Названия параметров в том виде, 1243 00:58:29,160 --> 00:58:33,200 был представлен этот файл и все значения, которые пользователь вводит дюйма 1244 00:58:33,200 --> 00:58:37,790 Так что к Тебе руки то, что пользователь набрал в этой форме. 1245 00:58:37,790 --> 00:58:42,210 >> Поэтому, прежде чем, мы получили действительно глупо выходных из просто видеть это, потому что все, что я сделал 1246 00:58:42,210 --> 00:58:44,400 был Рекурсивный вывод этого массива. 1247 00:58:44,400 --> 00:58:46,060 Ключ имя, значение Давида. 1248 00:58:46,060 --> 00:58:46,980 Ключ капитан. 1249 00:58:46,980 --> 00:58:47,970 Значение далее. 1250 00:58:47,970 --> 00:58:52,300 И двойной стрелки и угол Кронштейн там, это всего лишь произвольные. 1251 00:58:52,300 --> 00:58:53,270 Это не кода. 1252 00:58:53,270 --> 00:58:57,690 Это всего лишь способ PHP, отображающим что значение некоторого ключа. 1253 00:58:57,690 --> 00:59:03,000 >> Но теперь позвольте мне предположить, что в froshIMs3, это почти идентичны 1254 00:59:03,000 --> 00:59:04,950 исключением того, что представляет на данный файл. 1255 00:59:04,950 --> 00:59:08,570 И опять же, мы собираемся вроде только взглянуть на это, просто чтобы посмотреть некоторые 1256 00:59:08,570 --> 00:59:12,040 синтаксис, но заметьте, что Этот файл делает. 1257 00:59:12,040 --> 00:59:14,930 Сделать предположение, основываясь только на линиях кода, который, вероятно, выглядеть 1258 00:59:14,930 --> 00:59:17,410 Греческий, до некоторой степени, видимо делают. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Этот файл так или иначе связано по почте, электронной почте. 1261 00:59:23,110 --> 00:59:24,770 Так что эта программа делает? 1262 00:59:24,770 --> 00:59:28,740 В этой версии, если бы я был на самом деле заполните эту форму - и отпустить меня в 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, не froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 Форма выглядит одинаково. 1266 00:59:34,540 --> 00:59:37,980 Дэвид, капитан, мужчина, общежитие, Мэтьюз. 1267 00:59:37,980 --> 00:59:42,980 Но если бы я этого представить, этот файл собираюсь пойти в register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> И я утверждаю, глядя на это исходный код, он собирается 1269 00:59:46,330 --> 00:59:47,650 так или иначе связаны с электронной почтой. 1270 00:59:47,650 --> 00:59:49,620 Позвольте мне идти вперед и открыть этот в большие окна, поэтому мы 1271 00:59:49,620 --> 00:59:51,030 может увидеть его чисто. 1272 00:59:51,030 --> 00:59:57,220 Мы находимся в виртуальных доменов, локальный хост, общественности, froshims. 1273 00:59:57,220 --> 00:59:58,680 Я собираюсь открыть другую Программа, именно так мы 1274 00:59:58,680 --> 01:00:00,160 Подробнее можно увидеть сразу. 1275 01:00:00,160 --> 01:00:03,100 >> Так что теперь здесь, заметить несколько вещей. 1276 01:00:03,100 --> 01:00:06,530 В верхней части файл открыт Кронштейн, вопросительный знак, PHP. 1277 01:00:06,530 --> 01:00:08,920 Тогда есть куча комментариев, которые мы можем игнорировать, является 1278 01:00:08,920 --> 01:00:10,450 неинтересные на данный момент. 1279 01:00:10,450 --> 01:00:11,300 >> Теперь есть это. 1280 01:00:11,300 --> 01:00:14,200 Оказывается, PHP имеет много кода, который называется требуют. 1281 01:00:14,200 --> 01:00:19,110 Это очень похожи по духу на Си включают, хэш включают, которая 1282 01:00:19,110 --> 01:00:21,980 по существу захватывает содержание некоторых другой файл и просто шлепает их здесь, 1283 01:00:21,980 --> 01:00:22,930 так что вы можете их использовать. 1284 01:00:22,930 --> 01:00:27,060 В этом случае устройство имеет, предварительно установлено, библиотека, свободных и 1285 01:00:27,060 --> 01:00:29,900 библиотека с открытым исходным кодом под названием PHP почтовой, что любой может 1286 01:00:29,900 --> 01:00:30,770 скачать из интернета. 1287 01:00:30,770 --> 01:00:32,000 Мы просто сделали это за вас. 1288 01:00:32,000 --> 01:00:36,130 А это значит, у меня теперь есть электронная почта функциональность в моем распоряжении. 1289 01:00:36,130 --> 01:00:38,170 >> Итак, обратите внимание несколько вещей. 1290 01:00:38,170 --> 01:00:41,120 Я собираюсь проверить формы представления. 1291 01:00:41,120 --> 01:00:45,980 Оказывается, PHP, одна, имеет восклицательного баллов за не оператора, так же, как 1292 01:00:45,980 --> 01:00:49,810 С. Но PHP также имеет функцию называется пустым. 1293 01:00:49,810 --> 01:00:53,920 >> Пустые просто возвращает истину, если значение о вещи вы передать его в 1294 01:00:53,920 --> 01:00:57,190 скобках пуст, как пользователь не вводите ничего дюйма 1295 01:00:57,190 --> 01:01:02,680 Так что это говорит, и обратите внимание на синтаксис, очень напоминает C, если 1296 01:01:02,680 --> 01:01:07,730 Название ключ, так что имя поля в форме который был представлен по почте, по 1297 01:01:07,730 --> 01:01:13,010 пользователя, не опорожнить и их Пол не пуст в том виде, 1298 01:01:13,010 --> 01:01:15,980 Ну, и их общежития не пуст - 1299 01:01:15,980 --> 01:01:19,980 но заметить, что я не забочусь о капитане, то что мы будем делать? 1300 01:01:19,980 --> 01:01:21,990 >> Я собираюсь выполнить эта строка кода. 1301 01:01:21,990 --> 01:01:24,100 И вы можете думать о такой как Malloc, но это немного 1302 01:01:24,100 --> 01:01:24,800 более необычным, чем это. 1303 01:01:24,800 --> 01:01:29,200 Но сейчас это дает мне специальные Построим типа PHP почтовой программы. 1304 01:01:29,200 --> 01:01:31,410 Но игнорировать новые ключевые слова на сегодняшний день. 1305 01:01:31,410 --> 01:01:35,670 >> Теперь я собираюсь вызвать функцию названную IsSMTP, в котором говорится, используйте SMTP. 1306 01:01:35,670 --> 01:01:39,380 Это порт 25, как и видео на прошлой неделе, когда вещь бросал 1307 01:01:39,380 --> 01:01:40,710 сообщений электронной почты в брандмауэр. 1308 01:01:40,710 --> 01:01:42,440 Порт 25 SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP означает использование почтового сервера. 1310 01:01:44,410 --> 01:01:46,215 Какой из них, мы можем использовать Гарварда SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Мы можем установить с адреса быть Джоном Гарварда. 1313 01:01:51,590 --> 01:01:55,090 Если я прокрутите вниз дальше, я могу установить адрес получателя, просто 1314 01:01:55,090 --> 01:01:56,840 произвольно, чтобы быть Джон Гарварда, а также. 1315 01:01:56,840 --> 01:01:59,210 Так он собирается посылать по электронной почте самому себе. 1316 01:01:59,210 --> 01:02:01,600 >> Теперь я могу установить тему быть регистрацию. 1317 01:02:01,600 --> 01:02:03,700 И я могу установить телом электронной почты следующим образом. 1318 01:02:03,700 --> 01:02:06,500 Эта линия выглядит немного более загадочным, но это только потому, что есть много 1319 01:02:06,500 --> 01:02:07,450 в ней информации. 1320 01:02:07,450 --> 01:02:10,670 Один из них, есть точка оператора. 1321 01:02:10,670 --> 01:02:14,510 Кто-то должен знать, что уже Оператор точка делает. 1322 01:02:14,510 --> 01:02:15,436 Это объединение. 1323 01:02:15,436 --> 01:02:19,240 Так что, если вы хотите взять строку в PHP, и добавить его, или в начало его, 1324 01:02:19,240 --> 01:02:23,500 другую строку в PHP, слава Богу, не должны использовать StrCopy и Malloc, 1325 01:02:23,500 --> 01:02:25,490 и все, что больше. 1326 01:02:25,490 --> 01:02:28,765 >> Если вы хотите соединить две строки, кто заботится о памяти. 1327 01:02:28,765 --> 01:02:30,850 Пусть PHP понять это для вас. 1328 01:02:30,850 --> 01:02:35,200 PHP Что будут делать с оператором точка здесь просто сделать большое предложение из 1329 01:02:35,200 --> 01:02:37,900 этой линии, эта линия, эту линию, эту линию. 1330 01:02:37,900 --> 01:02:40,460 А теперь уведомления, это будет для подключения значения. 1331 01:02:40,460 --> 01:02:43,680 Таким образом, электронной почты, который Джон Гарвард происходит получать буквально собирался сказать 1332 01:02:43,680 --> 01:02:49,450 имя, толстой кишки, то, скорее, то мы закрыть строку и объединить на 1333 01:02:49,450 --> 01:02:52,220 все, что пользователь ввел В, то новая строка. 1334 01:02:52,220 --> 01:02:54,570 >> Затем, на следующей строке Джона Гарварда E-mail, он собирается сказать 1335 01:02:54,570 --> 01:02:55,910 Капитан, С или ничего. 1336 01:02:55,910 --> 01:02:57,810 Он скажет пола, мужчина или женщина. 1337 01:02:57,810 --> 01:02:59,680 Общежитие будет Matthews в моем случае. 1338 01:02:59,680 --> 01:03:03,400 И обратите внимание на то знакомое запятой в самом конце. 1339 01:03:03,400 --> 01:03:07,830 И потом, здесь, заметьте, несколько загадочными до сих пор, но опять же, после 1340 01:03:07,830 --> 01:03:12,730 шаблон, который будет более подробно ознакомиться После множества Р 7, при отправке почты 1341 01:03:12,730 --> 01:03:16,610 возвращает ложь, а затем пойти дальше и умирают. 1342 01:03:16,610 --> 01:03:19,610 >> Итак, PHP есть функция, называемая умирают, которые, в буквальном смысле, просто убивает 1343 01:03:19,610 --> 01:03:22,830 сайт и просто выводит все вы сказать, что это - ее умирает 1344 01:03:22,830 --> 01:03:24,280 словами, так сказать. 1345 01:03:24,280 --> 01:03:28,310 И это, в случае, он будет печатать , что информация о ошибке для 1346 01:03:28,310 --> 01:03:29,860 что бы ни случилось пойти не так. 1347 01:03:29,860 --> 01:03:34,490 Такая длинная короткая история здесь, что у нас есть пример, в котором, когда пользователь 1348 01:03:34,490 --> 01:03:39,150 отправляет форму, froshim0, froshims3.php, он идет к 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Но затем переходит register3.php выполнить все из этих линий. 1351 01:03:45,290 --> 01:03:46,620 >> Таким образом, есть несколько сувенирной брать здесь. 1352 01:03:46,620 --> 01:03:50,380 Один из них, по-видимому, это довольно легко, программно, отправлять электронную почту, 1353 01:03:50,380 --> 01:03:50,830 и это хорошо. 1354 01:03:50,830 --> 01:03:53,500 Когда пользователи зарегистрироваться на вашем сайте, в этом случае, когда они регистрируются для вашего 1355 01:03:53,500 --> 01:03:56,220 спорта, вы можете по электронной почте новичка Проктор, или Джон 1356 01:03:56,220 --> 01:03:57,650 Гарвард, в этом случае. 1357 01:03:57,650 --> 01:04:01,630 >> Но это также означает, что вы можете делать то, что? 1358 01:04:01,630 --> 01:04:03,970 Отправить электронную почту от кого никому. 1359 01:04:03,970 --> 01:04:05,430 И это очень верно. 1360 01:04:05,430 --> 01:04:08,580 Это не так легко сделать, если Вы привыкли использовать Gmail. 1361 01:04:08,580 --> 01:04:11,310 Но если вы когда-либо использовали или Eudora Мировоззрения, вы можете очень многое сказать 1362 01:04:11,310 --> 01:04:13,720 почтовый сервер, который вы кем вы хотите. 1363 01:04:13,720 --> 01:04:16,450 И вот тут мне нужно поставить на эту шляпу и сказать: не делай этого. 1364 01:04:16,450 --> 01:04:21,140 Но это является свидетельством того, насколько легко это выполнить фишинга и 1365 01:04:21,140 --> 01:04:24,310 отправлять анонимные письма, и спама, в целом. 1366 01:04:24,310 --> 01:04:27,330 И это действительно сводится к тому, факт, что все, что нужно некоторое 1367 01:04:27,330 --> 01:04:28,500 программный доступ. 1368 01:04:28,500 --> 01:04:31,940 >> Как в стороне, мои самые близкие встречи с Доска объявлений, свой год новичка, 1369 01:04:31,940 --> 01:04:34,320 было, когда я обнаружил этот прохладный трюк, который, ничего себе, вы можете 1370 01:04:34,320 --> 01:04:36,850 отправлять электронную почту от кого. 1371 01:04:36,850 --> 01:04:39,770 И так у нас были некоторые глупые Аргумент, буквально, в Matthews, 1372 01:04:39,770 --> 01:04:40,790 Среди моих Проктор группы. 1373 01:04:40,790 --> 01:04:42,470 Я даже не помню, чем была проблема. 1374 01:04:42,470 --> 01:04:44,970 Но я хотел, чтобы попытаться положить конец этой глупой дискуссии. 1375 01:04:44,970 --> 01:04:48,580 >> Так что я решил, что мне будет просто отправить по электронной почте к моей группе Проктор, притворяясь 1376 01:04:48,580 --> 01:04:52,000 Другой парень, с мнением которых я не согласен, и иметь его согласиться на 1377 01:04:52,000 --> 01:04:54,680 все, что мое мнение было в данного обсуждения. 1378 01:04:54,680 --> 01:04:59,320 И поэтому я кованых это сообщение, указав Техника похожи по духу на это. 1379 01:04:59,320 --> 01:05:01,256 Но это было на самом деле проще в то время. 1380 01:05:01,256 --> 01:05:02,435 Нажмите отправить. 1381 01:05:02,435 --> 01:05:06,660 Он не был доволен, и при этом были Доска объявлений. 1382 01:05:06,660 --> 01:05:10,280 >> И я был очень быстро поймали в секунд, потому что, как вы знаете, я подписываю 1383 01:05:10,280 --> 01:05:11,420 мои электронные письма, в определенном смысле. 1384 01:05:11,420 --> 01:05:14,200 И хотя я делать это вручную, в больших части, спустя 15 лет, потому что я был 1385 01:05:14,200 --> 01:05:15,080 травмированы этим. 1386 01:05:15,080 --> 01:05:16,960 У меня нет подписи на мою электронную почту сейчас. 1387 01:05:16,960 --> 01:05:20,440 Но в 1995 году у меня просто было SIG, подпись в мою электронную почту. 1388 01:05:20,440 --> 01:05:24,630 Так появилась эта записку: Дорогой Проктор группе, я согласиться мое мнение 1389 01:05:24,630 --> 01:05:31,240 и согласиться с Давидом, так и подписанные Итак, новая линия, новая линия, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Так что не делайте этого или, в общем, принимают Преимущество этого метода. 1391 01:05:36,220 --> 01:05:39,950 Но при создании веб-сайта, как, ваш окончательный проект, при принятии 1392 01:05:39,950 --> 01:05:43,460 сайт что-то предпринимательской, Вот как, прагматично, вы можете 1393 01:05:43,460 --> 01:05:47,000 привлекать другие услуги в Интернете , такие как почта, а затем фактически 1394 01:05:47,000 --> 01:05:49,440 отправить вещи с помощью кода. 1395 01:05:49,440 --> 01:05:51,240 >> Так как мы можем улучшить это? 1396 01:05:51,240 --> 01:05:54,370 Ну, во-первых, давайте краткий обзор некоторые из вещей, которые вы увидите, 1397 01:05:54,370 --> 01:05:56,170 , а затем взгляните на Несколько примеров. 1398 01:05:56,170 --> 01:05:59,500 Так что, чтобы успокоить, потому что мы летим через PHP. 1399 01:05:59,500 --> 01:06:02,470 И я знаю, в какой-то момент, вы будете иметь на самом деле начать писать это, если вы 1400 01:06:02,470 --> 01:06:03,460 еще не сделали. 1401 01:06:03,460 --> 01:06:06,220 Поймите, что, один, основной добр из из окна с PHP. 1402 01:06:06,220 --> 01:06:09,420 Если вы хотите написать код, который получает выполнен, Вы просто начать писать его в 1403 01:06:09,420 --> 01:06:13,970 файл с именем. PHP тех пор, пока у вас есть открывающая скобка 1404 01:06:13,970 --> 01:06:15,620 Вопросительный знак PHP тега. 1405 01:06:15,620 --> 01:06:19,730 >> Но обратите внимание, это условия в PHP. 1406 01:06:19,730 --> 01:06:22,610 Обратите внимание, это точно такой же слайд мы имели в одну неделю, когда у нас были 1407 01:06:22,610 --> 01:06:25,670 В условиях C. Условия в PHP структурно и 1408 01:06:25,670 --> 01:06:27,140 синтаксически то же самое. 1409 01:06:27,140 --> 01:06:30,290 Единственное отличие в том, если у вас есть переменных факторов, у вас есть такие 1410 01:06:30,290 --> 01:06:31,600 знаки доллара. 1411 01:06:31,600 --> 01:06:33,970 >> Между тем, логические выражения выглядят так же, как это в течение 1412 01:06:33,970 --> 01:06:35,725 или-или и Ing-Ing вместе. 1413 01:06:35,725 --> 01:06:37,780 Переключатели выглядеть точно так же. 1414 01:06:37,780 --> 01:06:42,180 Что приятно в PHP, тогда как в C, переключатели должны быть дела по 1415 01:06:42,180 --> 01:06:46,380 примитивы, как целые или символы в PHP Ваши высказывания случае действительно может быть 1416 01:06:46,380 --> 01:06:48,430 на целые строки, которая на самом деле отчасти хорошо. 1417 01:06:48,430 --> 01:06:49,480 Экономит ваше время. 1418 01:06:49,480 --> 01:06:50,820 Не мог сделать этого C. 1419 01:06:50,820 --> 01:06:52,880 >> Вот цикл в PHP. 1420 01:06:52,880 --> 01:06:53,740 Он идентичен. 1421 01:06:53,740 --> 01:06:55,400 Возможно, некоторые знаки доллара переменных. 1422 01:06:55,400 --> 01:06:57,530 Вы не должны отметить, что что-то Int. 1423 01:06:57,530 --> 01:07:00,580 Вы просто объявить его со знаком доллара и имя переменной. 1424 01:07:00,580 --> 01:07:01,430 Но для цикла то же самое. 1425 01:07:01,430 --> 01:07:02,760 Время цикла то же самое. 1426 01:07:02,760 --> 01:07:04,870 Делать во время цикла оставался неизменным. 1427 01:07:04,870 --> 01:07:06,170 >> Это немного другое. 1428 01:07:06,170 --> 01:07:12,410 Так что с PHP, с массивом, можно статически объявить массив, как и в C, 1429 01:07:12,410 --> 01:07:14,420 но вы используете квадратные скобки. 1430 01:07:14,420 --> 01:07:17,060 В C, вы должны использовать фигурные скобки, Если вы даже не знали, что. 1431 01:07:17,060 --> 01:07:20,910 Но это на самом деле очень распространена в PHP объявить массив, в данном случае, 1432 01:07:20,910 --> 01:07:23,640 номеров и вызовите номера переменных. 1433 01:07:23,640 --> 01:07:25,300 >> Сами переменные выглядеть следующим образом. 1434 01:07:25,300 --> 01:07:28,710 Вот строка, в кавычках "привет мире ". Вы могли бы обратную косую черту N. 1435 01:07:28,710 --> 01:07:30,950 Я просто не в этом случае. 1436 01:07:30,950 --> 01:07:32,640 >> Теперь это интересная конструкция. 1437 01:07:32,640 --> 01:07:33,700 C не имеет этого. 1438 01:07:33,700 --> 01:07:34,700 Но это супер полезно. 1439 01:07:34,700 --> 01:07:38,160 И вы увидите это в наборе 7 P спецификации - для каждой конструкции. 1440 01:07:38,160 --> 01:07:41,800 Если вы хотите повторить над всеми элементы массива, вам не придется 1441 01:07:41,800 --> 01:07:45,500 иметь дело с $ I $ и N, и + +, и все такое. 1442 01:07:45,500 --> 01:07:47,640 Вы можете буквально скажем, в PHP, это - 1443 01:07:47,640 --> 01:07:51,890 Для каждого числа как числа, так что Я предполагаю, что $ номерами 1444 01:07:51,890 --> 01:07:53,380 является массив чисел. 1445 01:07:53,380 --> 01:07:56,460 И когда я говорю для каждого номера как номер, это будет 1446 01:07:56,460 --> 01:08:00,505 автоматически, как мой цикл выполняется, обновления, на каждой итерации значение 1447 01:08:00,505 --> 01:08:03,260 Внутри доллара знак номера - 1448 01:08:03,260 --> 01:08:07,730 снова, и снова, и снова ходьба для меня за этот массив. 1449 01:08:07,730 --> 01:08:08,735 Так что он просто спасает нас кода. 1450 01:08:08,735 --> 01:08:12,250 Нет запятой, нет + + 'с, не I, N нет, это не просто приятно. 1451 01:08:12,250 --> 01:08:13,700 >> Но PHP также имеет эту. 1452 01:08:13,700 --> 01:08:14,830 И это супер мощный. 1453 01:08:14,830 --> 01:08:17,410 И вы будете использовать это, руки на, в P установлен 7. 1454 01:08:17,410 --> 01:08:21,990 И ассоциативный массив также объявлен в квадратные скобки. 1455 01:08:21,990 --> 01:08:23,569 Но обратите внимание на синтаксис сейчас. 1456 01:08:23,569 --> 01:08:26,880 Это напоминает то, что мы видели print_r с минуту назад. 1457 01:08:26,880 --> 01:08:31,810 Сколько клавиш, а немного проверкой на вменяемость, эта массива, кажется, есть. 1458 01:08:31,810 --> 01:08:32,689 >> Так оно имеет два. 1459 01:08:32,689 --> 01:08:33,830 И я называю это массив. 1460 01:08:33,830 --> 01:08:36,760 Но если это поможет, вы можете думать об этом, как хэш-таблицы или в виде 1461 01:08:36,760 --> 01:08:37,930 ассоциативный массив. 1462 01:08:37,930 --> 01:08:39,580 Но это просто другой тип массива. 1463 01:08:39,580 --> 01:08:41,080 И опять же, разные языки есть эти. 1464 01:08:41,080 --> 01:08:43,810 Мы увидим нечто подобное В JavaScript, а также. 1465 01:08:43,810 --> 01:08:44,609 Там две клавиши. 1466 01:08:44,609 --> 01:08:48,390 Одним из них является в кавычках, "символ", один кавычках «цена». И эти ключи 1467 01:08:48,390 --> 01:08:49,250 каждый имеет значения. 1468 01:08:49,250 --> 01:08:54,420 В этом случае значение символа является FB, для Значение facebook, и цена составляет 49, 26, 1469 01:08:54,420 --> 01:08:56,899 который был со Facebook, цена на сегодняшнее утро. 1470 01:08:56,899 --> 01:09:00,170 >> Так что же такое полезное о ассоциативный массив. 1471 01:09:00,170 --> 01:09:02,620 Я, возможно, была численно индексированный массив с помощью всего 1472 01:09:02,620 --> 01:09:04,120 простые квадратные скобки. 1473 01:09:04,120 --> 01:09:09,380 И я, возможно, был знаком доллара цитата равно именно это. 1474 01:09:09,380 --> 01:09:10,529 Позвольте мне это сделать. 1475 01:09:10,529 --> 01:09:14,796 Предположим, что я вместо этого просто объявили этот массив подобного. 1476 01:09:14,796 --> 01:09:17,590 Это вполне допустимо, синтаксически. 1477 01:09:17,590 --> 01:09:20,569 Это не приводит к потере информации, таковой. 1478 01:09:20,569 --> 01:09:24,760 Я все еще вижу, что символ является FB, и что цена 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Так почему же ассоциативным массивов убедительным? 1480 01:09:28,939 --> 01:09:30,189 >> Зала: Вы не должны помнить, где вы положили вещи. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> Выступающий 1: Точно, у вас нет чтобы вспомнить, где вы положили вещи. 1483 01:09:34,130 --> 01:09:37,670 Вы не должны произвольно запомнить что символ акции находится в кронштейне нулю, 1484 01:09:37,670 --> 01:09:41,479 и цены на акции находится в одном кронштейне, что особенно опасно, если вы 1485 01:09:41,479 --> 01:09:43,220 изменить положение вещей, в конце концов. 1486 01:09:43,220 --> 01:09:46,399 Это гораздо приятнее ассоциировать что мы будем называть метаданными 1487 01:09:46,399 --> 01:09:48,340 с фактическими данными. 1488 01:09:48,340 --> 01:09:52,399 Я бы утверждать, что то, что мы действительно заботимся о вот и FB 49, 26. 1489 01:09:52,399 --> 01:09:57,020 Символ и цена метаданных которая описывает данные, которые мы 1490 01:09:57,020 --> 01:09:58,180 на самом деле волнует. 1491 01:09:58,180 --> 01:10:01,910 Но это только так легче получить доступ. 1492 01:10:01,910 --> 01:10:04,090 >> Теперь, как в стороне то, что цену мы платим? 1493 01:10:04,090 --> 01:10:06,600 Мы делали это в CS50 в течение многих недель. 1494 01:10:06,600 --> 01:10:10,740 Эта функция должна прийти в некоторых затрат. 1495 01:10:10,740 --> 01:10:11,350 Памяти. 1496 01:10:11,350 --> 01:10:13,830 Значит, вы не просто хранить 32-битные целое, например. 1497 01:10:13,830 --> 01:10:17,980 Вы храните символ / 0, наверное. 1498 01:10:17,980 --> 01:10:19,160 Так вы используете больше памяти. 1499 01:10:19,160 --> 01:10:22,540 >> И то, что производительность ищет что-то в 1500 01:10:22,540 --> 01:10:24,822 ассоциативный массив, наверное? 1501 01:10:24,822 --> 01:10:26,590 Это, вероятно, медленнее. 1502 01:10:26,590 --> 01:10:29,670 Произвольный доступ хорош, особенно когда вы можете сделать бинарный поиск. 1503 01:10:29,670 --> 01:10:33,380 Но если вы на самом деле сейчас не ищет для чисел, но для строк, это 1504 01:10:33,380 --> 01:10:37,630 действительно реализуется под капот, вероятно, в хэш-таблице, где 1505 01:10:37,630 --> 01:10:42,950 Вы использовали либо хэш-таблицы с отдельной цепочки. 1506 01:10:42,950 --> 01:10:46,040 Или вы используете пытаются на самом деле хранения значений. 1507 01:10:46,040 --> 01:10:50,550 Поэтому, возможно, вы можете сделать постоянным временем, но Вы все еще должны смотреть на S-Y-М-В-О-L, 1508 01:10:50,550 --> 01:10:54,510 потенциально, а не только 32 Биты искать что-то. 1509 01:10:54,510 --> 01:10:58,430 Итак, еще раз, те же идеи ближайшие Резервное повторяться в этом контексте. 1510 01:10:58,430 --> 01:11:02,120 >> Но, опять же, PHP теперь имеет некоторые супер глобальные, что, оказывается, являются 1511 01:11:02,120 --> 01:11:02,900 ассоциативные массивы. 1512 01:11:02,900 --> 01:11:05,590 Мы видели одну минуту назад, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 И это супер глобального имеет ключей и значений. 1514 01:11:08,400 --> 01:11:10,550 В частности, клавиши выстраиваться с чем? 1515 01:11:10,550 --> 01:11:14,520 Где ключи в $ _POST взялось? 1516 01:11:14,520 --> 01:11:15,380 Просто, чтобы резюмировать? 1517 01:11:15,380 --> 01:11:16,480 >> АУДИТОРИЯ: Имя. 1518 01:11:16,480 --> 01:11:17,900 >> Выступающий 1: Имя, где? 1519 01:11:17,900 --> 01:11:19,860 >> АУДИТОРИЯ: [неразборчиво] 1520 01:11:19,860 --> 01:11:20,750 >> Выступающий 1: Имя является атрибутом. 1521 01:11:20,750 --> 01:11:23,480 Ну где, где они первоначально взялось? 1522 01:11:23,480 --> 01:11:24,120 Форме. 1523 01:11:24,120 --> 01:11:30,140 Так что, если HTML странице тега формы, внутри которого находятся несколько входов, как 1524 01:11:30,140 --> 01:11:34,760 флажки, текстовые поля, выпадающие меню, каждое из которых имеет название, эти 1525 01:11:34,760 --> 01:11:40,260 имена в конечном итоге в качестве ключей в $ _POST, и, честно говоря, в этом отношении, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Если метод GET, той же идеи. 1527 01:11:42,130 --> 01:11:43,830 Это просто в другом супер глобальным. 1528 01:11:43,830 --> 01:11:47,620 И значения, конечно, исходить от все, что пользователь вводит в его или 1529 01:11:47,620 --> 01:11:48,890 ее браузером. 1530 01:11:48,890 --> 01:11:49,830 >> Но есть несколько других. 1531 01:11:49,830 --> 01:11:52,140 Там в печенья, которые мы вернуться в конце концов. 1532 01:11:52,140 --> 01:11:56,050 Но те вещи, которые вы знаете, Веб использует для некоторых добро или зло. 1533 01:11:56,050 --> 01:11:57,420 Но мы еще вернемся к этому. 1534 01:11:57,420 --> 01:12:01,720 Сервер и сессии, и эти два есть специальная утилита. 1535 01:12:01,720 --> 01:12:03,940 >> Но давайте взглянем на это. 1536 01:12:03,940 --> 01:12:13,330 Позвольте мне идти вперед и открывать пример Так называемые mvc0.php MVC 1537 01:12:13,330 --> 01:12:14,900 означает следующее. 1538 01:12:14,900 --> 01:12:19,390 И введем это раньше, чем типичные, на самом деле, чтобы вы проектировании 1539 01:12:19,390 --> 01:12:22,180 Архив задач 7, а также окончательные проекты, В роду промышленности 1540 01:12:22,180 --> 01:12:23,670 стандартным способом, и чистым способом. 1541 01:12:23,670 --> 01:12:24,820 Это хороший дизайн. 1542 01:12:24,820 --> 01:12:29,090 >> Таким образом, вы сейчас увидите, и вы будете опыта, в наборе 7 P, парадигма, отсортируйте 1543 01:12:29,090 --> 01:12:32,260 программирования мышления, который выглядит немного что-то вроде этого. 1544 01:12:32,260 --> 01:12:35,570 Для модели M, C для контроллера, V для просмотра. 1545 01:12:35,570 --> 01:12:39,690 Короче говоря, MVC является только отчасти методологии, способ сделать 1546 01:12:39,690 --> 01:12:43,360 веб-сайтов, в частности, в котором вы поставить все свои, глупые фразы - 1547 01:12:43,360 --> 01:12:44,970 бизнес-логика - 1548 01:12:44,970 --> 01:12:49,710 все ваши интеллектуальной собственности в то, что называется контроллером, файл 1549 01:12:49,710 --> 01:12:54,840 как index.php, или мы увидим, quote.php или buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> В контексте проблемы набора 7, ваш модели обычно содержат данные, 1551 01:12:59,570 --> 01:13:03,860 все, что связано с базой данных, как будет в конечном счете видеть, и ваши взгляды 1552 01:13:03,860 --> 01:13:07,510 несут в себе эстетику вашего сайта, HTML, CSS. 1553 01:13:07,510 --> 01:13:10,420 Таким образом, мы уже видели это в C немного бит с помощью. ч файлов. 1554 01:13:10,420 --> 01:13:15,010 Мы действительно видели его несколько минут назад с CSS, по факторингу стилизации CSS 1555 01:13:15,010 --> 01:13:16,520 вещи из наших HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Так MVC действительно только о рисовании линии на песке и сказать, 1557 01:13:20,730 --> 01:13:25,400 интересный программный код для Вашего сайт принадлежит в том, что мы будем называть 1558 01:13:25,400 --> 01:13:26,400 контроллера. 1559 01:13:26,400 --> 01:13:29,280 Вещи, связанные с базой данных обычно заканчивается в модели. 1560 01:13:29,280 --> 01:13:33,070 Но вы увидите, в Архив задач 7, слияние C и M, чтобы сохранить его простым. 1561 01:13:33,070 --> 01:13:37,630 Но вид, где все ваши HTML и эстетики обычно проходят. 1562 01:13:37,630 --> 01:13:39,160 >> Так что же это означает в реальном выражении? 1563 01:13:39,160 --> 01:13:45,980 Ну, позвольте мне пойти в наш MVC каталог следующим образом. 1564 01:13:45,980 --> 01:13:48,880 И вы будете видеть больше этих объездил в спецификации. 1565 01:13:48,880 --> 01:13:53,200 Таким образом, в mvc0, я утверждаю, что это, вроде бы, версия 0 сайтов CS50 автора. 1566 01:13:53,200 --> 01:13:56,670 >> Все у нас есть некоторые HTML, как и большая теги h1, по-видимому. 1567 01:13:56,670 --> 01:13:57,800 А потом маркированного списка. 1568 01:13:57,800 --> 01:13:59,860 Я никогда не видел маркированный список раньше, но не составило большого труда. 1569 01:13:59,860 --> 01:14:01,590 Давайте быстро посмотрим на исходный код. 1570 01:14:01,590 --> 01:14:06,610 Оказывается неупорядоченный список с пулями открыт ул кронштейн с одним или 1571 01:14:06,610 --> 01:14:09,065 более элементов списка, Ли. 1572 01:14:09,065 --> 01:14:10,650 Так Указание Здесь тега привязки. 1573 01:14:10,650 --> 01:14:12,130 Мы видели, что несколько минут назад. 1574 01:14:12,130 --> 01:14:13,810 >> Так что это, как я реализовал этой странице. 1575 01:14:13,810 --> 01:14:18,460 У меня есть две ссылки, два элемента списка, один уль для неупорядоченный список, а конец 1576 01:14:18,460 --> 01:14:22,700 Результат, эстетически, это очень довольно сайта, версия 0 здесь. 1577 01:14:22,700 --> 01:14:26,840 Но что интересно, в том, как это реализуется под капотом. 1578 01:14:26,840 --> 01:14:33,590 >> Отпустите меня в Gedit и открыть эту самом первом примере, чтобы нарисовать картину. 1579 01:14:33,590 --> 01:14:37,070 И мы будем смотреть на то, что недостатки, потенциально, здесь. 1580 01:14:37,070 --> 01:14:43,260 Теперь, если я иду в локальный, общественных, MVC, заметить несколько файлов. 1581 01:14:43,260 --> 01:14:45,780 Я буду называть эти, для момент все контроллеры. 1582 01:14:45,780 --> 01:14:48,640 Но это немного, потому что о нарушении Вы увидите все в смешанном 1583 01:14:48,640 --> 01:14:49,620 внутри них. 1584 01:14:49,620 --> 01:14:52,330 >> И отпустил меня внутри index.php. 1585 01:14:52,330 --> 01:14:54,700 И мы видим, в буквальном смысле, то же HTML. 1586 01:14:54,700 --> 01:14:57,970 Поэтому, даже если этот файл заканчивается . PHP, это не означает, что он должен 1587 01:14:57,970 --> 01:14:59,500 есть PHP кода. 1588 01:14:59,500 --> 01:15:02,290 Это может быть просто сырой HTML, хотя это глупо. 1589 01:15:02,290 --> 01:15:07,650 Но обратите внимание, нет открывающей скобки PHP тегов, за исключением этой, которая, честно говоря, 1590 01:15:07,650 --> 01:15:09,160 только там, чтобы служить в качестве комментария. 1591 01:15:09,160 --> 01:15:12,080 Но это не функционально даже то, что интересно. 1592 01:15:12,080 --> 01:15:12,960 >> Но заметить это. 1593 01:15:12,960 --> 01:15:15,400 Что интересно, о том, какой изменения на этой странице. 1594 01:15:15,400 --> 01:15:16,650 Позвольте мне нажмите лекций. 1595 01:15:16,650 --> 01:15:18,560 И обратите внимание на URL вот-вот изменится. 1596 01:15:18,560 --> 01:15:20,930 Теперь я в lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Позвольте мне нажмите нуля. 1598 01:15:22,630 --> 01:15:27,200 Теперь я в week0.php А теперь мне открыть эти файлы в Gedit. 1599 01:15:27,200 --> 01:15:30,120 Не только индекс, но пусть мне открыть лекций. 1600 01:15:30,120 --> 01:15:33,900 И позвольте мне избавиться от комментариев сосредоточить внимание на этой части только. 1601 01:15:33,900 --> 01:15:37,680 >> А теперь позвольте мне открыть еще один, week0.php, выбросить комментарии, 1602 01:15:37,680 --> 01:15:39,910 просто очистить это. 1603 01:15:39,910 --> 01:15:41,720 А теперь обратите внимание на следующее. 1604 01:15:41,720 --> 01:15:47,340 Мышление действительно рода тщательно о дизайн, и давайте сделаем это линия 1605 01:15:47,340 --> 01:15:52,013 на то же самое, что может быть сделано лучше здесь, как вы думаете? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Как я сделал одну неделю? 1608 01:15:57,780 --> 01:15:58,480 Как насчет этого. 1609 01:15:58,480 --> 01:16:00,450 Так вот как я сделал одну неделю. 1610 01:16:00,450 --> 01:16:08,290 Я подошел к File, New, Вставить, Сохранить, week1.php, а затем я пошел сюда. 1611 01:16:08,290 --> 01:16:09,875 И я изменил один - 1612 01:16:09,875 --> 01:16:11,646 что это был за, один по пятницу. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Я изменил нули к одному. 1615 01:16:15,810 --> 01:16:17,150 Я изменил это одному. 1616 01:16:17,150 --> 01:16:20,350 >> Итак, теперь посмотрите на мои файлы. 1617 01:16:20,350 --> 01:16:22,100 Что можно было бы сделать по-другому? 1618 01:16:22,100 --> 01:16:25,310 Где возможность, что ли? 1619 01:16:25,310 --> 01:16:28,330 Таким образом, есть возможность начать факторинг этот материал. 1620 01:16:28,330 --> 01:16:32,950 Позвольте мне открыть, как спойлер, для то, что вы увидите в множество Р 7. 1621 01:16:32,950 --> 01:16:38,750 Если я открываю, в настоящее время, в версии index.php пять из этого, это выглядит путь 1622 01:16:38,750 --> 01:16:40,730 более загадочного, по общему признанию. 1623 01:16:40,730 --> 01:16:43,710 >> Но это, в настоящее время, является то, что я позвоню контроллер, который по контролю за 1624 01:16:43,710 --> 01:16:44,770 Логика моя страница. 1625 01:16:44,770 --> 01:16:48,510 И вы можете реконструировать вид, Интуитивно, пожалуй, то, что происходит. 1626 01:16:48,510 --> 01:16:50,630 На первой линии, это немного загадочным. 1627 01:16:50,630 --> 01:16:54,040 Но заметьте, я требующих, как с резкое включают, файл с именем 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 И тогда я звоню, по-видимому, функции, называемой визуализации, передавая 1630 01:16:59,980 --> 01:17:00,850 два аргумента. 1631 01:17:00,850 --> 01:17:02,440 >> Одним из них является кавычках, заголовка. 1632 01:17:02,440 --> 01:17:04,800 А другой, какой Тип данных этого, на основе 1633 01:17:04,800 --> 01:17:07,180 на нашем синтаксисе раньше? 1634 01:17:07,180 --> 01:17:08,160 Это ассоциативный массив. 1635 01:17:08,160 --> 01:17:11,730 В частности, это проходящий в названии с некоторыми метаданными, который напоминает 1636 01:17:11,730 --> 01:17:13,430 мне, что это и его значение. 1637 01:17:13,430 --> 01:17:16,340 Потом я вижу жестко UL, поэтому некоторые сырые HTML. 1638 01:17:16,340 --> 01:17:20,020 Но тогда я вернулся в режим PHP вызове функции визуализации. 1639 01:17:20,020 --> 01:17:24,390 Так что даже если вы никогда не использовали HTML или PHP раньше, и даже если это выглядит 1640 01:17:24,390 --> 01:17:27,480 страшнее, почему это, вероятно, лучший дизайн? 1641 01:17:27,480 --> 01:17:31,310 Что может быть лучше об этом, на основе выводов? 1642 01:17:31,310 --> 01:17:32,130 >> АУДИТОРИЯ: [неразборчиво] 1643 01:17:32,130 --> 01:17:35,750 >> Выступающий 1: менее выражены, что в нет больше HTML тегов, не более 1644 01:17:35,750 --> 01:17:38,410 руководители тегов, не более тела тега В каждый проклятый файл. 1645 01:17:38,410 --> 01:17:41,860 Вместо этого, у меня вынесена общностей и, предположительно, положить их 1646 01:17:41,860 --> 01:17:45,150 в файл или иначе связаны к заголовку. 1647 01:17:45,150 --> 01:17:48,500 И то же самое для близких тела Тег, тесная HTML тегов. 1648 01:17:48,500 --> 01:17:52,165 Это, наверное, здесь внутри нижнего колонтитула где-то. 1649 01:17:52,165 --> 01:17:57,050 И вы увидите, в Архив задач 7, небольшой тур через это. 1650 01:17:57,050 --> 01:17:58,070 >> Итак, что ждет впереди? 1651 01:17:58,070 --> 01:18:03,390 Единственное, у нас нет возможности все же для является хранение данных. 1652 01:18:03,390 --> 01:18:06,110 И так, что мы начинаем видеть Среде, например, в том, что ваш 1653 01:18:06,110 --> 01:18:08,450 Старый друг Excel, или цифры, позволяет хранить большое количество 1654 01:18:08,450 --> 01:18:10,060 данные в строки и столбцы. 1655 01:18:10,060 --> 01:18:12,570 Оказывается, что вы можете сделать это в то, что называется базой данных, программными средствами. 1656 01:18:12,570 --> 01:18:16,620 маниакально И оказывается, после этого, мы будем иметь возможность хранить вещи, как 1657 01:18:16,620 --> 01:18:20,550 это, что вы будете видеть снова в комплекте P 7, целую кучу имен пользователей и 1658 01:18:20,550 --> 01:18:23,690 пароли, последний из которых на самом деле зашифрован, так же, как они 1659 01:18:23,690 --> 01:18:25,550 были в хакером издание P набор 2 в. 1660 01:18:25,550 --> 01:18:29,600 И в конце концов, вы будете осуществить это, собственный ETRADE-сайт, который, как 1661 01:18:29,600 --> 01:18:32,220 реализует коллективно CS50 финансов. 1662 01:18:32,220 --> 01:18:36,000 >> И наконец, поскольку Вы здесь останавливались так поздно Сегодня, если вы вернетесь к этой части 1663 01:18:36,000 --> 01:18:41,120 кампуса, в 4:00 вечера сегодня, мы будем дать вам не только советом, в SCES 1664 01:18:41,120 --> 01:18:44,200 Консультирование ярмарка, в 4:00 вечера в Максвелла-Дворкин, мы дадим вам некоторые 1665 01:18:44,200 --> 01:18:47,470 Americone Мечта, Cherry Garcia, Шоколад Fudge Brownie, Шоколад 1666 01:18:47,470 --> 01:18:50,840 Chip Cookie тесто, и, когда вы Google Коренастый Обезьяна, вы получите это. 1667 01:18:50,840 --> 01:18:53,620 Так что все, что ждет в 4:00 PM В Максвелла-Дворкин. 1668 01:18:53,620 --> 01:18:56,736 Увидимся в среду, а также. 1669 01:18:56,736 --> 01:18:59,960 >> Докладчик 2: На следующей CS50, RJ спит дюйма 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: Мой раздел! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ха! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 О, 1676 01:19:13,306 --> 01:19:16,374