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 натисніть на сторінці, а потім виберіть View Вихідний код сторінки, це буквально те, що 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 Але якщо я шукаю щось дурне, як Кішки, та натисніть Enter, то ми отримаємо - не 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