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