1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI Pengo: Estamos case a través de todas as Serie de exercicios. 3 00:00:08,770 --> 00:00:12,080 De feito, nos terminais a maioría Serie de exercicios dos máis difíciles. 4 00:00:12,080 --> 00:00:14,350 Entón, nós estamos realmente só vai especie de brisa 5 00:00:14,350 --> 00:00:16,050 a través do seguinte par de semanas. 6 00:00:16,050 --> 00:00:19,520 >> Nós imos comezar a falar sobre a nosa proxectos finais, os eventos que se celebrarán en 7 00:00:19,520 --> 00:00:21,320 nas próximas semanas. 8 00:00:21,320 --> 00:00:23,825 E a vida será unha brisa. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Entón, non moi hoxe. 11 00:00:27,680 --> 00:00:30,280 >> Esperemos que realmente brisa a través da axenda para hoxe, 12 00:00:30,280 --> 00:00:33,400 e, a continuación, saír de aquí con tempo dabondo. 13 00:00:33,400 --> 00:00:36,210 Ademais, quero pedir desculpas á falta de doces hoxe. 14 00:00:36,210 --> 00:00:37,030 Non sei por que. 15 00:00:37,030 --> 00:00:40,520 Pero a semana que antecedeu Halloween, eu ía esquecer de doces. 16 00:00:40,520 --> 00:00:43,290 >> Entón, eu estou realmente só un amplo decepción para ti agora. 17 00:00:43,290 --> 00:00:47,050 Porque eu literalmente recordo doces para cada clase, pero o Día das meiga. 18 00:00:47,050 --> 00:00:49,345 Pero a próxima semana, eu traerei dobrar a cantidade de doces 19 00:00:49,345 --> 00:00:50,720 para compensar iso, todo para ti. 20 00:00:50,720 --> 00:00:53,260 Vai ser gran. 21 00:00:53,260 --> 00:00:56,690 >> Entón, eu teño un par de anuncios en relación a algunhas axenda. 22 00:00:56,690 --> 00:00:59,520 Eu teño algúns problemas de axenda. 23 00:00:59,520 --> 00:01:02,150 A continuación, imos pasar falar do que se chama chmod. 24 00:01:02,150 --> 00:01:05,980 Nós imos falar sobre rapidamente TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> E entón nós estamos indo a codificar nosa propio sitio usando HTML e CSS. 26 00:01:09,770 --> 00:01:13,030 E entón eu vou realmente deixar quizais como 20 minutos para falar pset6. 27 00:01:13,030 --> 00:01:16,550 Porque pset6 é realmente unha morea de cousas que vimos antes, 28 00:01:16,550 --> 00:01:19,090 pero eu quería para refrescar algúns deses conceptos 29 00:01:19,090 --> 00:01:22,140 así como ensinar un par de novas funcións. 30 00:01:22,140 --> 00:01:23,110 >> Legal. 31 00:01:23,110 --> 00:01:25,440 Entón, en primeiro lugar, Benvido de volta do intervalo. 32 00:01:25,440 --> 00:01:27,410 Espero que estea break foi agradable. 33 00:01:27,410 --> 00:01:29,695 Será que fixo para a ruptura? 34 00:01:29,695 --> 00:01:30,820 Audiencia: Fun a Nova York. 35 00:01:30,820 --> 00:01:32,030 ANDI Pengo: Foi a Nova York? 36 00:01:32,030 --> 00:01:33,738 Creo que a metade da nosa escola foi a Nova York. 37 00:01:33,738 --> 00:01:34,740 Está todo ben. 38 00:01:34,740 --> 00:01:38,250 Pasei a maior parte da miña pausa sedentario na cama Netflixing. 39 00:01:38,250 --> 00:01:39,760 E foi un bo tempo. 40 00:01:39,760 --> 00:01:43,450 >> Pero agora estamos de volta, de volta sesión, de volta ao balance das cousas. 41 00:01:43,450 --> 00:01:47,900 Temos un pset debido este venres ao mediodía. 42 00:01:47,900 --> 00:01:50,240 >> Creo que xa colleu o seu cuestionario, si? 43 00:01:50,240 --> 00:01:52,140 Así, calquera persoa que ten non tiveron os seus cuestionarios, 44 00:01:52,140 --> 00:01:55,416 por favor, veña cara seus quizzes desde me no fin da sección. 45 00:01:55,416 --> 00:01:56,540 Ou me derrubar no campus. 46 00:01:56,540 --> 00:01:59,310 Vou telo comigo en algún lugar. 47 00:01:59,310 --> 00:02:02,120 >> O noso proxecto final pre-proposta tamén. 48 00:02:02,120 --> 00:02:06,380 Polo tanto, para aqueles de nós que nunca tomaron esta clase antes, a pedra angular da CS50 49 00:02:06,380 --> 00:02:11,150 é moi culminou neste gran proxecto que os alumnos propoñen. 50 00:02:11,150 --> 00:02:14,300 E a condición proposta, só unha idea xeral 51 00:02:14,300 --> 00:02:18,500 do que se pode querer facer a súa proxecto, esa idea é debido luns 52 00:02:18,500 --> 00:02:20,780 vindeiro luns ao mediodía. 53 00:02:20,780 --> 00:02:23,800 >> Entón, basicamente, eu creo que vai David falar máis sobre iso na charla 54 00:02:23,800 --> 00:02:25,390 se non ten xa. 55 00:02:25,390 --> 00:02:28,710 E hai unha páxina sólido na nosa web explicando 56 00:02:28,710 --> 00:02:31,610 todos os requisitos do proxecto. 57 00:02:31,610 --> 00:02:34,082 Pero, esencialmente, escoller calquera asunto que ten 58 00:02:34,082 --> 00:02:35,915 interesado en durante todo o tempo aquí 59 00:02:35,915 --> 00:02:41,760 no CS, tanto se se trata de xogos ou deseño ou vídeo ou calquera cousa. 60 00:02:41,760 --> 00:02:44,920 >> E realmente pode tipo de agora aplicar algunhas das leccións 61 00:02:44,920 --> 00:02:52,470 que aprenden aquí en CS50-- ola, welcome-- a practicamente condución 62 00:02:52,470 --> 00:02:56,320 un proxecto final da súa elección. 63 00:02:56,320 --> 00:02:59,570 Todo o que é debido luns é só unha breve sinopse por correo electrónico 64 00:02:59,570 --> 00:03:02,010 para min, unha sentenza rápida, como, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Eu estou realmente interesado en proxecto un xogo que fai isto para IOS. 66 00:03:06,490 --> 00:03:07,420 Legal. 67 00:03:07,420 --> 00:03:10,767 Só deixe-me o seu breve inicial ideas para os seus proxectos finais. 68 00:03:10,767 --> 00:03:13,850 E imos falar a través ou non que é realmente unha boa idea ou non, 69 00:03:13,850 --> 00:03:15,590 se é unha idea viable ou non. 70 00:03:15,590 --> 00:03:20,760 Pero só o pre-proposta débese a próxima luns. 71 00:03:20,760 --> 00:03:24,190 pset6, a nosa linda web-- que está mal. 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, non? 75 00:03:26,680 --> 00:03:32,690 >> pset6, o noso servidor web, débese Venres ó mediodía co día de atraso. 76 00:03:32,690 --> 00:03:37,660 Horario de atención retomar normalmente de luns a xoves de 8: 00-11: 00 esta semana. 77 00:03:37,660 --> 00:03:39,710 Creo que para Commons os próximos tres noites. 78 00:03:39,710 --> 00:03:40,310 Legal. 79 00:03:40,310 --> 00:03:44,260 Antes tiñamos en material, fai calquera ten algunha preguntas, bromas, historias? 80 00:03:44,260 --> 00:03:46,662 O que fixo para romper a caída? 81 00:03:46,662 --> 00:03:48,640 >> Audiencia: O que fago? 82 00:03:48,640 --> 00:03:52,834 >> ANDI Pengo: Xa é moito tempo, en realidade. 83 00:03:52,834 --> 00:03:54,000 Christabel foi a Nova York. 84 00:03:54,000 --> 00:03:55,614 Eu quedei aquí e Netflixed. 85 00:03:55,614 --> 00:03:56,864 Audiencia: Ah, si, eu estaba aquí. 86 00:03:56,864 --> 00:03:57,614 ANDI Pengo: Oh, Aceptar. 87 00:03:57,614 --> 00:03:59,792 Audiencia: Non me lembro o que especificamente. 88 00:03:59,792 --> 00:04:00,710 ANDI Pengo: Isto é OK. 89 00:04:00,710 --> 00:04:01,960 Audiencia: Netflixing probablemente. 90 00:04:01,960 --> 00:04:02,990 ANDI Pengo: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Si, é un bo momento. 92 00:04:04,710 --> 00:04:05,780 Aceptar. 93 00:04:05,780 --> 00:04:06,340 Todo ben. 94 00:04:06,340 --> 00:04:08,877 Calquera preguntas antes ir para material? 95 00:04:08,877 --> 00:04:11,210 Ademais, nós estamos indo a tentar acelerar a sección de hoxe, 96 00:04:11,210 --> 00:04:12,504 non moito para cubrir. 97 00:04:12,504 --> 00:04:14,420 E, esperamos, imos chegar aquí fóra un pouco máis cedo. 98 00:04:14,420 --> 00:04:15,580 Sentímolo por non doces, tamén. 99 00:04:15,580 --> 00:04:20,310 Eu son unha decepción, especialmente durante o Día das meiga. 100 00:04:20,310 --> 00:04:21,110 >> Todo ben. 101 00:04:21,110 --> 00:04:21,810 Legal. 102 00:04:21,810 --> 00:04:28,370 Entón, imos comezar a falar un argumento da liña de comandos chamada chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, todo isto non é máis que un sistema Unix chamada feita a partir da liña de comandos 104 00:04:32,850 --> 00:04:34,700 para cambiar os permisos de arquivo. 105 00:04:34,700 --> 00:04:37,790 Así, por exemplo, temos todo atopou unha páxina 106 00:04:37,790 --> 00:04:40,550 como este, probablemente, nalgún momento noso tempo de vida de ser un internet 107 00:04:40,550 --> 00:04:45,110 usuario, onde o noso servidor web ten deunos o erro de Prohibida. 108 00:04:45,110 --> 00:04:49,086 Non ten os permisos necesarios para acceder, yadda, yadda, yadda, neste servidor. 109 00:04:49,086 --> 00:04:50,960 Todo o que realmente significa é que os permisos 110 00:04:50,960 --> 00:04:53,920 que foron ligados a calquera que sexa páxina que estaba tentando acceder 111 00:04:53,920 --> 00:04:55,840 non estaban abertas para vostede. 112 00:04:55,840 --> 00:04:57,870 Entón, basicamente, chmod é a forma en que 113 00:04:57,870 --> 00:05:02,140 podemos modificar os permisos do sistema para dar a todos, o usuario, o grupo, 114 00:05:02,140 --> 00:05:04,975 ou o mundo, ou calquera combinación deses acceso 115 00:05:04,975 --> 00:05:07,900 a determinados arquivos, directorios, nada realmente, 116 00:05:07,900 --> 00:05:11,720 calquera tipo de sistema en un sistema operativo. 117 00:05:11,720 --> 00:05:14,039 Polo tanto, se calquera dos caras teñen ordenadores, se sente 118 00:05:14,039 --> 00:05:17,080 como seguir xunto comigo hoxe, totalmente a gusto para escriba cousas 119 00:05:17,080 --> 00:05:17,580 en. 120 00:05:17,580 --> 00:05:19,790 Se non, pode simplemente saír. 121 00:05:19,790 --> 00:05:23,170 Entón, eu estou indo para realmente tirar o meu terminal de agora. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Así, a orde para executar chmod, ou polo menos só 124 00:05:32,310 --> 00:05:37,840 para consultar os permisos da súa directorio de arquivos, é só ls-l. 125 00:05:37,840 --> 00:05:42,270 Como verás, un grupo de material aparece a maioría dos cales 126 00:05:42,270 --> 00:05:45,390 é importante para nós en á esquerda aquí. 127 00:05:45,390 --> 00:05:48,710 Vostedes ver unha chea de rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Si. 129 00:05:49,210 --> 00:05:51,400 >> Estas son esencialmente só todos os permisos de ficheiro 130 00:05:51,400 --> 00:05:55,960 para explicar o que algúns directorios e arquivos do teu sistema. 131 00:05:55,960 --> 00:05:58,150 Entón imos voltar a punto de poder aquí. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Así, ademais dos nomes dos ficheiros como podedes ver á dereita, 134 00:06:06,500 --> 00:06:10,312 nós estamos mirando para ver, esencialmente, só a columna da esquerda. 135 00:06:10,312 --> 00:06:12,020 Así, ademais de só os nomes dos ficheiros, nós 136 00:06:12,020 --> 00:06:16,240 pode ver os permisos de arquivos, a grupo propietario, o nome do grupo, a data 137 00:06:16,240 --> 00:06:18,460 que o arquivo foi modificada, etcétera. 138 00:06:18,460 --> 00:06:20,640 Podes ver unha chea de cousas usando chmod. 139 00:06:20,640 --> 00:06:26,037 Así, a forma que lemos é que chmod a primeira letra que practicamente ignorar 140 00:06:26,037 --> 00:06:27,370 en termos de permisos de lectura. 141 00:06:27,370 --> 00:06:31,460 >> A primeira letra só nos di o que tipo de sistema que o fagas. 142 00:06:31,460 --> 00:06:34,240 d, neste caso, é un cartafol ou directorio. 143 00:06:34,240 --> 00:06:38,430 Entón, nós sabemos que actualmente o meu espazo de traballo sección sete era un directorio. 144 00:06:38,430 --> 00:06:41,530 E entón ve tres tríades, esencialmente só 145 00:06:41,530 --> 00:06:43,490 tres conxuntos de tres personaxes. 146 00:06:43,490 --> 00:06:45,680 E pode pensar de cada un como un pouco. 147 00:06:45,680 --> 00:06:49,260 >> Entón só ten tres conxuntos de tres bits, nove anacos en total. 148 00:06:49,260 --> 00:06:51,420 Trata-los en grupos de tres. 149 00:06:51,420 --> 00:06:56,230 Así, o primeiro grupo de tres é sempre os seus permisos de usuario. 150 00:06:56,230 --> 00:07:00,557 >> O seu segundo grupo de tres é sempre os seus permisos de grupo. 151 00:07:00,557 --> 00:07:02,765 E o seu terceiro conxunto de tres sempre como o mundo, 152 00:07:02,765 --> 00:07:04,380 os permisos en todos os lugares. 153 00:07:04,380 --> 00:07:06,320 Entón eu creo que o fácil pregunta que facer é o que é 154 00:07:06,320 --> 00:07:08,051 a diferenza entre o usuario eo grupo. 155 00:07:08,051 --> 00:07:09,800 A principal diferenza entre o usuario eo grupo 156 00:07:09,800 --> 00:07:13,180 é que un usuario é só ti, persoalmente, acceso a todo o que é agora. 157 00:07:13,180 --> 00:07:18,070 Un grupo pode ser se ten múltiple os usuarios nun ordenador, por exemplo. 158 00:07:18,070 --> 00:07:20,280 Todos eles poden ser considerados como un grupo. 159 00:07:20,280 --> 00:07:23,220 >> E entón o mundo é só o mundo, todo o mundo. 160 00:07:23,220 --> 00:07:31,010 Así, podemos ver, máis tarde, como podemos modificar aqueles en diferentes permisos. 161 00:07:31,010 --> 00:07:33,080 Entón, basicamente, estamos vai aínda centrar 162 00:07:33,080 --> 00:07:38,450 na parte da esquerda, onde ao directorio CS50 vemos drwx, 163 00:07:38,450 --> 00:07:40,970 onde a r só significa que é lexible. 164 00:07:40,970 --> 00:07:42,620 >> O w só significa que pode escribir nel. 165 00:07:42,620 --> 00:07:45,470 E entón o x só significa que é executable. 166 00:07:45,470 --> 00:07:47,220 Vostede pensar que tipo de que non ten sentido. 167 00:07:47,220 --> 00:07:47,993 Debe ser e. 168 00:07:47,993 --> 00:07:50,150 Pero x realmente tipo de funciona un pouco mellor, 169 00:07:50,150 --> 00:07:51,690 porque pode lembrar mellor. 170 00:07:51,690 --> 00:07:56,406 >> Así, os tres tipos de cousas que pode facer, pode ler un arquivo, 171 00:07:56,406 --> 00:07:59,280 pode que permite gravar unha ficheiro, ou podería ter permiso 172 00:07:59,280 --> 00:08:00,780 para executar un arquivo. 173 00:08:00,780 --> 00:08:04,580 E así, o xeito que nós, en realidade, representan os en bits 174 00:08:04,580 --> 00:08:06,940 é as cifras 4, 2 e 1. 175 00:08:06,940 --> 00:08:12,870 Entón, todo o que sexa lexible é representado polo número de catro. 176 00:08:12,870 --> 00:08:15,150 >> Todo o que pode escribir nel é representado por 2. 177 00:08:15,150 --> 00:08:18,880 E todo o que sexa executábel como representado por 1. 178 00:08:18,880 --> 00:08:22,860 Polo tanto, neste sentido, nós tamén podemos Números de representar eses 179 00:08:22,860 --> 00:08:25,281 ola, benvido, dun xeito diferente. 180 00:08:25,281 --> 00:08:25,780 Desculpe. 181 00:08:25,780 --> 00:08:28,510 Antes de todo, eu vou desculparse en nome de todos 182 00:08:28,510 --> 00:08:29,468 inserindo a clase agora. 183 00:08:29,468 --> 00:08:30,810 Esquecín de doces hoxe. 184 00:08:30,810 --> 00:08:33,640 Me desculpe, eu son un fracaso esta semana de Halloween. 185 00:08:33,640 --> 00:08:37,070 Vou levar o dobre da cantidade de doces a próxima vez para compensar iso. 186 00:08:37,070 --> 00:08:42,360 Pero de todos os xeitos, desculpe sobre ese caras, me desculpe. 187 00:08:42,360 --> 00:08:46,640 >> Así, a forma que podemos realmente entrada na nosa orde argumento é que 188 00:08:46,640 --> 00:08:51,760 pode facer chmod permisos grupo de barra, onde o grupo é só o que quere 189 00:08:51,760 --> 00:08:54,130 grupo que estamos intentando cambiar. 190 00:08:54,130 --> 00:08:56,600 E os permisos están o que quere que queremos engadir a el. 191 00:08:56,600 --> 00:08:58,860 Así, por exemplo, a máis engade permisos, 192 00:08:58,860 --> 00:09:01,590 ea subtracción tira permisos. 193 00:09:01,590 --> 00:09:07,060 >> E os tipos de grupo, temos a nosa un para todos, u para os usuarios, g para grupos, 194 00:09:07,060 --> 00:09:09,050 ou o dos demais. 195 00:09:09,050 --> 00:09:10,300 É un pouco abstracto agora. 196 00:09:10,300 --> 00:09:13,550 Pero nós imos pasar por riba de algúns exemplos só para demostrar isto ben rápido. 197 00:09:13,550 --> 00:09:16,960 Todos bo nesta foto, para que eu poida seguir adiante? 198 00:09:16,960 --> 00:09:18,280 Legal. 199 00:09:18,280 --> 00:09:21,290 >> Así, por exemplo, rwx. 200 00:09:21,290 --> 00:09:26,720 Antes de falar sobre o que representa, primeiro de todo o que rwx significa? 201 00:09:26,720 --> 00:09:31,450 Se ves que esta seguro arquivo ten permisos de rwx, 202 00:09:31,450 --> 00:09:34,270 o que significa o pode ser capaz de facer? 203 00:09:34,270 --> 00:09:35,740 >> Audiencia: Ler, escribir e executar. 204 00:09:35,740 --> 00:09:36,420 >> ANDI Pengo: Si, exactamente. 205 00:09:36,420 --> 00:09:37,840 Podes ler escribir e executar. 206 00:09:37,840 --> 00:09:40,790 Porque os tres deses caracteres están presentes. 207 00:09:40,790 --> 00:09:44,370 Entón, se nós ir adiante e falar sobre iso en termos de bits, 208 00:09:44,370 --> 00:09:48,490 o rwx tamén pode ser representada como 700. 209 00:09:48,490 --> 00:09:53,370 Porque, como se pode ver en calquera tipo de permiso de directorio de arquivos, 210 00:09:53,370 --> 00:09:54,320 hai tres tríades. 211 00:09:54,320 --> 00:09:58,060 >> Neste caso, só o primeiro tríade ten nada alí. 212 00:09:58,060 --> 00:10:04,050 Polo tanto, neste caso, o símbolo r representa 4, o w é 2, e X é 1. 213 00:10:04,050 --> 00:10:05,860 Se engadir os xuntos, é 7. 214 00:10:05,860 --> 00:10:08,730 >> E por iso, se converter Lo para binario, é de 700. 215 00:10:08,730 --> 00:10:10,310 Porque 7 é a primeira tríade. 216 00:10:10,310 --> 00:10:12,760 0, non hai nada de agasallo na segunda tríade. 217 00:10:12,760 --> 00:10:15,850 E non hai nada presente en a terceira tríade, de xeito que é outra 0. 218 00:10:15,850 --> 00:10:22,520 >> Así, no mesmo sentido, un grupo de tríades pode ser representado só en bits, só 219 00:10:22,520 --> 00:10:23,600 en binario ben. 220 00:10:23,600 --> 00:10:29,920 Así, 700 significa exactamente o mesmo como rwx ------ en termos de permisos. 221 00:10:29,920 --> 00:10:32,590 Todos clara sobre iso? 222 00:10:32,590 --> 00:10:33,090 Legal. 223 00:10:33,090 --> 00:10:40,290 E así chmod 111 daría que os permisos do ficheiro? 224 00:10:40,290 --> 00:10:42,600 Dar a vostedes unha parella segundos para converter este. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Teña en conta que, a primeira tríade é para o usuario. 227 00:10:53,250 --> 00:10:56,320 A segunda tríade é para o grupo. 228 00:10:56,320 --> 00:10:59,450 E a terceira tríade é para todos. 229 00:10:59,450 --> 00:11:03,680 >> E así chmod 111 daría cal tipo de permisos e para quen? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Tome un par de segundos para pensar sobre iso e volver. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Si. 234 00:11:20,910 --> 00:11:22,920 >> Audiencia: Para que todos poidan executalo. 235 00:11:22,920 --> 00:11:23,920 ANDI Pengo: Si, exactamente. 236 00:11:23,920 --> 00:11:25,544 Audiencia: Pero ninguén pode ler ou escribir. 237 00:11:25,544 --> 00:11:27,910 ANDI Pengo: E Sinto-se libre para explicar a todos 238 00:11:27,910 --> 00:11:29,860 como chegou a esa conclusión. 239 00:11:29,860 --> 00:11:34,290 >> Audiencia: Ben, para o usuario, o grupo, e no mundo, é todo un, 240 00:11:34,290 --> 00:11:35,700 que é o código do executábel. 241 00:11:35,700 --> 00:11:37,070 >> ANDI Pengo: Si, exactamente. 242 00:11:37,070 --> 00:11:42,320 Entón 1, neste caso, todos sabemos é que é ese o código executable. 243 00:11:42,320 --> 00:11:45,280 Porque a lectura é 4. 244 00:11:45,280 --> 00:11:45,990 Escribir é 2. 245 00:11:45,990 --> 00:11:47,230 E o executable é 1. 246 00:11:47,230 --> 00:11:51,580 Así é os tres tríades son 1, que significa que, para o mundo, para o usuario, 247 00:11:51,580 --> 00:11:54,680 e para o grupo, eles son todos executable. 248 00:11:54,680 --> 00:11:56,170 >> Todos ben con iso? 249 00:11:56,170 --> 00:11:56,940 Aceptar. 250 00:11:56,940 --> 00:11:59,180 E así a segunda forma que podemos, en realidade, 251 00:11:59,180 --> 00:12:01,220 escribir isto tamén é vostede podería só facer chmod 252 00:12:01,220 --> 00:12:05,050 unha vantaxe x. un significa todo ou todos. 253 00:12:05,050 --> 00:12:07,060 O plus significa dar permisos para. 254 00:12:07,060 --> 00:12:09,112 E entón o x significa executable. 255 00:12:09,112 --> 00:12:11,070 Polo tanto, hai dous comandos son, en realidade idéntica. 256 00:12:11,070 --> 00:12:12,903 Entón, se quere executar isto no seu terminal, 257 00:12:12,903 --> 00:12:15,830 facer chmod 111, nome seu directorio ou o arquivo. 258 00:12:15,830 --> 00:12:18,520 Ou pode facer chmod un plus x, Nome do seu arquivo de directorio. 259 00:12:18,520 --> 00:12:22,150 O mesmo, só un xeito máis doado, quizais para algúns representar ou cambio 260 00:12:22,150 --> 00:12:24,280 permisos de arquivo. 261 00:12:24,280 --> 00:12:28,806 >> Cada un OK con chmod antes de seguir adiante? 262 00:12:28,806 --> 00:12:31,700 Legal. 263 00:12:31,700 --> 00:12:35,336 Entón, agora imos a cabeza nun algúns diapositivas de conceptos moi abstractas 264 00:12:35,336 --> 00:12:37,210 que eu son moi fermoso vai brisa través. 265 00:12:37,210 --> 00:12:39,530 E é totalmente OK, se Non entendo todo. 266 00:12:39,530 --> 00:12:42,330 >> Aínda agora, eu non sei realmente entender todo completo. 267 00:12:42,330 --> 00:12:44,640 Pero é máis de estar a comprensión de nivel superior 268 00:12:44,640 --> 00:12:47,280 de como algunhas destas cousas funcionan. 269 00:12:47,280 --> 00:12:50,490 Entón, nós estamos indo falar rapidamente sobre TCP / IP, 270 00:12:50,490 --> 00:12:54,880 que é só Control Transmission Protocolo cortar Internet Protocol. 271 00:12:54,880 --> 00:12:57,135 >> Teña en conta que de charla, David, que ensinará 272 00:12:57,135 --> 00:13:00,700 o exemplo onde pasar as notas nun sobre 273 00:13:00,700 --> 00:13:02,790 ata gusto do cumio da clase? 274 00:13:02,790 --> 00:13:06,990 Así, no auditorio da escola de dereito David demostrou esencialmente 275 00:13:06,990 --> 00:13:10,370 como o TCP / IP funciona en no sentido de que todo o que 276 00:13:10,370 --> 00:13:14,300 é é un medio de asegurar que os datos se entrega a través dun servidor 277 00:13:14,300 --> 00:13:15,870 ou en internet. 278 00:13:15,870 --> 00:13:22,270 Así, no exemplo do sobre ea mensaxe, o usuario a finais 279 00:13:22,270 --> 00:13:26,410 podía ver que, oh, eu precisaba recibir catro paquetes de información. 280 00:13:26,410 --> 00:13:28,096 >> Pero realmente recibiu só tres. 281 00:13:28,096 --> 00:13:29,470 Isto significa que debe estar falta un. 282 00:13:29,470 --> 00:13:30,760 E non se entrega. 283 00:13:30,760 --> 00:13:33,990 E así, o TCP / IP en Internet, a través do seu ordenador eo servidor, 284 00:13:33,990 --> 00:13:35,500 fai exactamente o mesmo. 285 00:13:35,500 --> 00:13:38,900 Todo o que fai é especificar un cadro en que a perda de datos 286 00:13:38,900 --> 00:13:41,100 paquetes pode ser reenviado e recibido. 287 00:13:41,100 --> 00:13:44,760 >> Como en internet cando estás para acceder aos arquivos en liña ou enviar arquivos 288 00:13:44,760 --> 00:13:48,210 para o seu amigo ou mirar para web navegadores, miles e miles 289 00:13:48,210 --> 00:13:50,440 de millóns e millóns bytes de información 290 00:13:50,440 --> 00:13:52,840 son trasladados por milissegundo. 291 00:13:52,840 --> 00:13:54,560 E é moi, moi confuso. 292 00:13:54,560 --> 00:13:57,110 E é realmente difícil realmente saber o que xa foi enviado 293 00:13:57,110 --> 00:13:58,270 eo que non foi enviado. 294 00:13:58,270 --> 00:14:02,210 >> E así TCP / IP só especifica unha estrutura sólida 295 00:14:02,210 --> 00:14:04,115 en que o seu web navegador e servidor 296 00:14:04,115 --> 00:14:05,990 pode tipo de comunicar entre si, só 297 00:14:05,990 --> 00:14:08,550 asegúrese de que os paquetes son todo aquí e nada está perdido 298 00:14:08,550 --> 00:14:12,700 e todos os datos que solicitou é realmente aparece correctamente. 299 00:14:12,700 --> 00:14:16,350 Todos OK en só iso moi breve alto nivel entender? 300 00:14:16,350 --> 00:14:18,510 Legal. 301 00:14:18,510 --> 00:14:21,550 >> Entón imos mover para falar HTTP, que 302 00:14:21,550 --> 00:14:24,610 é só de transferencia de hipertexto Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, todo isto é o que quere que calquera páxina ou ficheiro é acceder no seu sitio web, 304 00:14:32,550 --> 00:14:35,810 servidor regresa un HTTP código de estado como resposta 305 00:14:35,810 --> 00:14:39,869 a petición asegurarse de que calquera, oh, esta solicitude foi aprobada. 306 00:14:39,869 --> 00:14:41,410 E todo está mostrando correctamente. 307 00:14:41,410 --> 00:14:43,500 Ou, oh, non, 404. 308 00:14:43,500 --> 00:14:44,730 Algo foi mal. 309 00:14:44,730 --> 00:14:45,940 Oh, eu non podo ver. 310 00:14:45,940 --> 00:14:50,370 >> Todo o que é que o que quere está intentando acceder, 311 00:14:50,370 --> 00:14:55,160 usar como o usuario está intentando acceder, na internet-- só asegurarse de 312 00:14:55,160 --> 00:15:00,080 que quere ter éxito acceder todo o que foi ou non 313 00:15:00,080 --> 00:15:02,080 acceder correctamente que quere que fose. 314 00:15:02,080 --> 00:15:05,120 E así o estado de HTTP código só fornece-lle 315 00:15:05,120 --> 00:15:09,910 un medio de poder saber ou non foi un éxito ou non. 316 00:15:09,910 --> 00:15:13,440 Así, por exemplo, unha solicitude de exemplo. 317 00:15:13,440 --> 00:15:16,050 >> Podes ver aquí é xeralmente tipicamente catro liñas. 318 00:15:16,050 --> 00:15:22,530 Temos un HTTP GET 1.1, que é só a URL solicitude método, o protocolo 319 00:15:22,530 --> 00:15:24,490 versión, o nome do campo, eo valor do campo. 320 00:15:24,490 --> 00:15:26,810 Entón non hai necesidade de completamente Recordar nada aquí. 321 00:15:26,810 --> 00:15:29,960 Só un tipo de coñecemento Se coa forma na que estas ollar. 322 00:15:29,960 --> 00:15:34,060 >> Neste exemplo, o método de petición URL é só o que quere solicitude 323 00:15:34,060 --> 00:15:35,620 está enviando o servidor. 324 00:15:35,620 --> 00:15:40,710 Como, hey, servidor, realmente quero acceso yadda, yadda, yadda, páxina HTTP. 325 00:15:40,710 --> 00:15:43,785 A versión do protocolo é só o que quere Versión seu servidor ou servidor 326 00:15:43,785 --> 00:15:45,490 Está a utilizar para acceder a información. 327 00:15:45,490 --> 00:15:49,510 >> O nome do campo é o sitio ou o URL que está intentando acceder, 328 00:15:49,510 --> 00:15:52,610 Neste caso, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 E o valor do campo é só tipicamente nome, valor. 330 00:15:56,110 --> 00:15:59,540 E iso pode ser calquera tipo de combinación de letras ou números ou o que quere. 331 00:15:59,540 --> 00:16:02,890 >> Así, unha proposta típico, entón o que o seu ordenador realmente 332 00:16:02,890 --> 00:16:08,400 envía o servidor que di, hey, vostede sabe o que eu teño esta aparece, 333 00:16:08,400 --> 00:16:13,000 ese é o tipo de solicitude que realmente recibir. 334 00:16:13,000 --> 00:16:16,760 Unha resposta exemplo do que o servidor ía enviar de volta para ti 335 00:16:16,760 --> 00:16:20,320 sería practicamente o mesmo, excepto cun código de estado na parte superior. 336 00:16:20,320 --> 00:16:24,550 Así, 200, 0 2 0 sempre o código de estado Aceptar. 337 00:16:24,550 --> 00:16:26,050 Como, OK, esta solicitude foi aprobada. 338 00:16:26,050 --> 00:16:27,980 Foi capaz de acceder todo correctamente. 339 00:16:27,980 --> 00:16:28,810 A vida é boa. 340 00:16:28,810 --> 00:16:29,990 A vida é bela. 341 00:16:29,990 --> 00:16:32,150 Todo é totalmente bo. 342 00:16:32,150 --> 00:16:36,050 >> E así, este só di navegador e servidor, hey, está todo ben. 343 00:16:36,050 --> 00:16:37,470 Teño toda a información que eu teño. 344 00:16:37,470 --> 00:16:39,160 Legal. 345 00:16:39,160 --> 00:16:41,790 Pero o problema é ás veces os problemas xorden 346 00:16:41,790 --> 00:16:46,850 cando have-- durar Coido Eu falei sobre dobre. 347 00:16:46,850 --> 00:16:48,870 Ten menos boas respostas. 348 00:16:48,870 --> 00:16:52,660 >> Así, por exemplo, 404 é o Page Not Found. 349 00:16:52,660 --> 00:16:54,897 Vostede ás veces ten un acceso prohibido. 350 00:16:54,897 --> 00:16:56,730 Ten outros códigos de estado que estou 351 00:16:56,730 --> 00:16:59,688 seguro de que todos vimos cando está intentando facer buscas na Internet. 352 00:16:59,688 --> 00:17:02,300 E o seu navegador dálle o, non, non pode acceder. 353 00:17:02,300 --> 00:17:04,190 E vostede é como, ben, porco. 354 00:17:04,190 --> 00:17:09,260 >> Entón, só moi ben, hai algúns códigos de estado bastante común. 355 00:17:09,260 --> 00:17:14,109 Quizais familiarizarse coas que son. 356 00:17:14,109 --> 00:17:16,000 O máis divertido que un Eu creo que eu xa oín 357 00:17:16,000 --> 00:17:18,040 de-- se ocorrer de mirar para arriba de todos eles 358 00:17:18,040 --> 00:17:21,490 en liña, por algunha razón hai de feito, un verdadeiro código de estado 359 00:17:21,490 --> 00:17:26,619 chamado 418 son un bule de té. 360 00:17:26,619 --> 00:17:29,610 >> Eu pesquisei onde a orixe desta era. 361 00:17:29,610 --> 00:17:33,150 E, ao parecer, un April Fools ' Día un par de décadas atrás, 362 00:17:33,150 --> 00:17:36,415 alguén pensou que sería divertido para crear un novo código de estado chamado 418 363 00:17:36,415 --> 00:17:37,380 Eu son un bule de té. 364 00:17:37,380 --> 00:17:40,760 Lexitimamente, o nome deste código chámase eu son un bule de té. 365 00:17:40,760 --> 00:17:43,670 >> Eu esquezo o que páxina ten que ir realmente facer esta exposición. 366 00:17:43,670 --> 00:17:47,955 Pero, ao parecer, pode, en realidade, obter un código de estado que eu son 367 00:17:47,955 --> 00:17:51,400 un bule de algunha maneira través facendo algo. 368 00:17:51,400 --> 00:17:54,480 Polo tanto, hai centos e centos de códigos de estado. 369 00:17:54,480 --> 00:17:56,730 >> Algúns deles fan máis sentido do que outros. 370 00:17:56,730 --> 00:18:01,430 Pero practicamente só coñecemento Se as máis comúns. 371 00:18:01,430 --> 00:18:04,090 O corpo da entidade é solicitada curto e stout, aparentemente. 372 00:18:04,090 --> 00:18:07,990 >> Entón, ás veces, hai máis erros asustado que eu son un bule de té. 373 00:18:07,990 --> 00:18:11,210 Pero este é un que eu creo vostede tipo de esperanza de acertar. 374 00:18:11,210 --> 00:18:14,130 Pero eu non creo que vai. 375 00:18:14,130 --> 00:18:17,260 Todos bo sobre o estado só códigos, solicitudes, procesos, toma de 376 00:18:17,260 --> 00:18:19,155 seguro información entrégase correctamente? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Entón agora imos transición en dunha parte divertida da sesión de hoxe, 379 00:18:26,120 --> 00:18:28,500 onde falamos un pouco sobre HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, todo o que é de hipertexto Linguaxe de reserva. 381 00:18:32,580 --> 00:18:35,160 É só a linguaxe estándar usa para crear as web 382 00:18:35,160 --> 00:18:36,690 páxinas en internet. 383 00:18:36,690 --> 00:18:39,560 >> Así, calquera páxina web, o que é túa páxina web favorita? 384 00:18:39,560 --> 00:18:40,855 Cal é a túa páxina web favorita? 385 00:18:40,855 --> 00:18:41,771 >> Audiencia: [inaudível]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI Pengo: Sentímolo? 388 00:18:43,090 --> 00:18:43,980 >> Audiencia: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI Pengo: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Entón Tumblr está escrito en HTML. 391 00:18:46,800 --> 00:18:50,700 E así imos realmente pasar e xogar con algunhas destas cousas 392 00:18:50,700 --> 00:18:51,980 máis tarde. 393 00:18:51,980 --> 00:18:54,980 Practicamente todo o que que aprender, coñecer, 394 00:18:54,980 --> 00:18:58,540 escribir HTML que pode ser só Google en internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, non é un programa como o C onde podes crear variables e facer 396 00:19:04,490 --> 00:19:05,600 cousas legais con el. 397 00:19:05,600 --> 00:19:08,747 É máis que, oh, é así que eu quere que as cousas aparecen no meu sitio. 398 00:19:08,747 --> 00:19:10,080 E eu só vou poñelas. 399 00:19:10,080 --> 00:19:12,160 E vai para denominalo lo. 400 00:19:12,160 --> 00:19:15,650 >> Entón, HTML, en certo sentido, é como un formato ou modelo de idioma. 401 00:19:15,650 --> 00:19:16,680 É moito máis fácil. 402 00:19:16,680 --> 00:19:19,030 É moito máis doado de aprender, moito máis fácil de escribir en 403 00:19:19,030 --> 00:19:21,450 da súa programación normal lingua, moi fácil, 404 00:19:21,450 --> 00:19:24,310 moi fácil accesible e agradable. 405 00:19:24,310 --> 00:19:29,040 >> Entón, nós estamos indo realmente para xogar arredor, escribir as nosas propias páxinas hoxe. 406 00:19:29,040 --> 00:19:32,900 Pero antes de comezar, eu só quero pasar por riba de algunhas breves mellores prácticas. 407 00:19:32,900 --> 00:19:35,660 Como o HTML é tal un fácil linguaxe e porque aínda 408 00:19:35,660 --> 00:19:39,012 se fai algunhas cousas erradas, ás veces pode non notar, 409 00:19:39,012 --> 00:19:41,970 queremos estar seguro de que estamos de feito, unirse ás mellores prácticas 410 00:19:41,970 --> 00:19:44,490 para asegurarse de que as cousas que podería estar a ocorrer ao redor, pero 411 00:19:44,490 --> 00:19:49,660 non sempre vai a non ir á dereita asegúrese de que eles están minimizados. 412 00:19:49,660 --> 00:19:53,570 >> Entón, basicamente, asegúrese seus pechando todas as etiquetas 413 00:19:53,570 --> 00:19:54,737 cando está escribindo en HTML. 414 00:19:54,737 --> 00:19:56,486 Se está abrindo un corpo, asegúrese de que vostede é 415 00:19:56,486 --> 00:19:58,015 pechalo cun corpo en algún lugar. 416 00:19:58,015 --> 00:20:00,720 Quere estar seguro de que o seu páxina web valida usando 417 00:20:00,720 --> 00:20:02,070 o que se chama o W3 comprobador. 418 00:20:02,070 --> 00:20:05,460 Pode só Google que en liña, e hai unha ligazón a el. 419 00:20:05,460 --> 00:20:07,820 >> E entón quere HTML separado, que 420 00:20:07,820 --> 00:20:13,060 é a súa linguaxe de marcado desde o seu estilo, que é a linguaxe CSS que David 421 00:20:13,060 --> 00:20:17,510 demostrou que tamén somos vai xogar un pouco con charla. 422 00:20:17,510 --> 00:20:19,120 Legal. 423 00:20:19,120 --> 00:20:23,500 Entón, cando quere realizar HTML no aparello CS50, 424 00:20:23,500 --> 00:20:26,240 nós estamos indo a executar un programa chamado apache, 425 00:20:26,240 --> 00:20:29,810 que todo é só un construído en servidor web que todos na CS50 426 00:20:29,810 --> 00:20:31,410 ten acceso. 427 00:20:31,410 --> 00:20:35,700 Chamamos iso de apache50 só porque nós gusto de chamar todo 50 en CS50. 428 00:20:35,700 --> 00:20:39,610 >> Así, a forma que se inicia o CS50 web servidor está escribindo no seu comando 429 00:20:39,610 --> 00:20:42,860 liña apache50 iniciar punto. 430 00:20:42,860 --> 00:20:46,665 E se quere remata-la a calquera tempo, apache50 acabar con ningún punto. 431 00:20:46,665 --> 00:20:47,910 E só prema Intro. 432 00:20:47,910 --> 00:20:50,810 E debe ser a posición ata aquí en breve. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Yup. 435 00:20:54,130 --> 00:20:58,110 Entón, eu estou indo só para ir rapidamente sobre un exemplo dunha páxina web realmente breve. 436 00:20:58,110 --> 00:21:00,280 E nós estamos indo a gastar como 10, 15 minutos xogando 437 00:21:00,280 --> 00:21:04,008 en torno a escribir nosas propias páxinas web. 438 00:21:04,008 --> 00:21:05,320 Aceptar. 439 00:21:05,320 --> 00:21:07,841 Entón, aquí no IDE-- todos poden ver iso? 440 00:21:07,841 --> 00:21:08,340 En realidade non. 441 00:21:08,340 --> 00:21:11,400 Aquí, eu vou aumentar o zoom. 442 00:21:11,400 --> 00:21:15,850 >> Eu só teño este breve template aquí con nada realmente nel. 443 00:21:15,850 --> 00:21:20,660 Nós só estamos indo a escribir rapidamente un programa de HTML na que acabamos 444 00:21:20,660 --> 00:21:22,050 dicir Hola para o mundo. 445 00:21:22,050 --> 00:21:24,970 Entón, aínda que en C, agora estamos só vai facelo en HTML. 446 00:21:24,970 --> 00:21:28,250 Alguén quere realmente só tentar darme o primeiro que 447 00:21:28,250 --> 00:21:31,870 tería que poñer nun documento HTML? 448 00:21:31,870 --> 00:21:32,850 Si. 449 00:21:32,850 --> 00:21:35,965 >> Audiencia: Os corchetes, o [inaudível]. 450 00:21:35,965 --> 00:21:36,590 ANDI Pengo: Yep. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Entón, algo que é moi orixinal para HTML que tipicamente tradicional 453 00:21:50,930 --> 00:21:56,080 non atopar noutro comando linguaxes de programación de nivel de liña 454 00:21:56,080 --> 00:21:59,890 é que realmente para especificar o tipo de ficheiro 455 00:21:59,890 --> 00:22:01,987 que este será na parte superior do noso código. 456 00:22:01,987 --> 00:22:04,570 Polo tanto, neste instance-- creo ese é o comando correcto, non? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Yup. 459 00:22:10,550 --> 00:22:14,860 Na parte superior, só quere incluir estrondo html DOCTYPE entre parénteses só 460 00:22:14,860 --> 00:22:17,670 para dicir ao seu ordenador, hey, ollar para fóra. 461 00:22:17,670 --> 00:22:20,050 E documento HTML está chegando. 462 00:22:20,050 --> 00:22:22,250 E entón como é que queremos para comezar noso arquivo? 463 00:22:22,250 --> 00:22:25,540 Se nós só queremos dicir Ola, teño un A páxina web que se Ola para o mundo, 464 00:22:25,540 --> 00:22:26,915 como é que imos construír isto? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> De feito, imos voltar a Google. 467 00:22:35,300 --> 00:22:36,910 E podemos realmente facer iso. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Yup. 470 00:22:43,670 --> 00:22:44,840 Alí imos nós. 471 00:22:44,840 --> 00:22:47,630 Entón HTML. 472 00:22:47,630 --> 00:22:52,390 Como verás, o meu navegador é, en realidade, denominar automaticamente iso para min. 473 00:22:52,390 --> 00:22:56,010 >> Mesmo que en C, cando crear unha chaveta aberta, 474 00:22:56,010 --> 00:22:59,020 o navegador automaticamente engade nun fin chaveta. 475 00:22:59,020 --> 00:23:02,210 Afortunadamente, o noso IDE adora facelo por nós tamén. 476 00:23:02,210 --> 00:23:05,490 Entón agora podemos tipo de tipo o inicio dunha cita, 477 00:23:05,490 --> 00:23:09,139 e só pode dicirnos sempre para lembrar de escribir o fin da etiqueta. 478 00:23:09,139 --> 00:23:10,680 Eu creo que iso debe ser capitalizado. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 E entón nós queremos engadir, sempre, unha cabeza que é o título. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Nós só queremos chamar quizais este Ola, e entón o corpo. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> E alí vai vostede. 485 00:23:36,310 --> 00:23:39,650 Isto é realmente o noso documento HTML. 486 00:23:39,650 --> 00:23:45,030 Así, a forma que calquera documento HTML sempre denominado em-- mesmo 487 00:23:45,030 --> 00:23:46,720 con void main int. 488 00:23:46,720 --> 00:23:49,600 Sempre quere ter HTML dunha etiqueta de apertura e peche 489 00:23:49,600 --> 00:23:52,100 na parte superior e inferior do seu código. 490 00:23:52,100 --> 00:23:56,900 >> Quere ter unha cabeza dentro que contén o título, calquera que sexa só 491 00:23:56,900 --> 00:24:01,430 vai ver a guía do seu web principal, e, a continuación, un corpo dentro do cal 492 00:24:01,430 --> 00:24:04,120 vai realmente mostrar o contido de todo o que quere facer. 493 00:24:04,120 --> 00:24:08,220 Entón, se quixese realmente executada iso, eu estou indo a zoom out. 494 00:24:08,220 --> 00:24:12,740 Realmente pode comezar apache50 iniciar punto. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Legal. 497 00:24:16,150 --> 00:24:18,980 E así como se pode ver, agora esta conexión apareceu. 498 00:24:18,980 --> 00:24:21,940 Di que o seu sitio é agora dispoñible nalgún ligazón. 499 00:24:21,940 --> 00:24:25,910 Entón, todo o noso IDE ten done-- non IDE, sorry-- si, 500 00:24:25,910 --> 00:24:33,280 nosa IDE fixo é crear unha web conexión na que todas as nosas páxinas web 501 00:24:33,280 --> 00:24:35,407 se pode acceder no servidor. 502 00:24:35,407 --> 00:24:36,490 Entón, imos dar un ollo aquí. 503 00:24:36,490 --> 00:24:40,240 >> Imos premer sobre iso, vai a hello.html. 504 00:24:40,240 --> 00:24:42,895 E ve unha forma moi simple A páxina web para Ola mundo. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 Aceptar. 507 00:24:47,420 --> 00:24:50,513 En realidade, estamos indo só ten everyone-- si, cal é? 508 00:24:50,513 --> 00:24:52,353 >> Audiencia: Eu teño unha pregunta básica. 509 00:24:52,353 --> 00:24:52,978 ANDI Pengo: Yup. 510 00:24:52,978 --> 00:24:58,064 Audiencia: Como gardar seu ficheiro como un HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI Pengo: Si. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Entón, se eu fose para crear un novo arquivo, se eu fai Novo ficheiro, Untittle, se eu fai, 514 00:25:10,820 --> 00:25:14,390 section.html, crecemento, iso é todo o que teño que facer. 515 00:25:14,390 --> 00:25:15,363 >> Audiencia: [inaudível]? 516 00:25:15,363 --> 00:25:15,946 ANDI Pengo: Non. 517 00:25:15,946 --> 00:25:16,660 Audiencia: [inaudível]. 518 00:25:16,660 --> 00:25:17,240 ANDI Pengo: Non. 519 00:25:17,240 --> 00:25:18,156 Audiencia: [inaudível]. 520 00:25:18,156 --> 00:25:19,110 ANDI Pengo: Si. 521 00:25:19,110 --> 00:25:24,300 Practicamente, a extensión da o ficheiro que está dentro do seu IDE, 522 00:25:24,300 --> 00:25:27,840 que informa ao ordenador, que di ao navegador, hey, ollar para fóra. 523 00:25:27,840 --> 00:25:30,480 Este será un código escrito nesta linguaxe. 524 00:25:30,480 --> 00:25:34,240 Así, por exemplo, en Microsoft Word, o que fai todos os documentos de Word 525 00:25:34,240 --> 00:25:37,070 acabar co que extensión? 526 00:25:37,070 --> 00:25:39,830 .doc ou .docx, non? 527 00:25:39,830 --> 00:25:42,299 >> Todo o que fai é especifica para o seu sistema operativo, hey, 528 00:25:42,299 --> 00:25:43,840 ten un documento de Word chegando. 529 00:25:43,840 --> 00:25:44,940 Abre-o co Word. 530 00:25:44,940 --> 00:25:46,955 O mesmo con PDFs. 531 00:25:46,955 --> 00:25:49,650 Sabe, oh, eu teño para abrir o ficheiro 532 00:25:49,650 --> 00:25:52,020 con Adobe Reader ou Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> E así extensións controlar o igual que no seu ordenador. 534 00:25:56,130 --> 00:26:00,750 Se só se especifica a súa páxina de código sendo nomeado HTML, el sabe, 535 00:26:00,750 --> 00:26:01,880 Oh, vostede ten código HTML. 536 00:26:01,880 --> 00:26:04,890 Vou tratalo como código html. 537 00:26:04,890 --> 00:26:06,600 Polo tanto, é super intelixente nese sentido. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Entón, todo o mundo, imos tomar como 10 minutos e só crear os nosos propios sitios web. 540 00:26:18,730 --> 00:26:21,020 Imos engadir nas cousas encantadoras. 541 00:26:21,020 --> 00:26:23,440 Sinto-se a liberdade de dicir o que queiras. 542 00:26:23,440 --> 00:26:27,890 Eu só quero estar seguro de que servidores de todos están funcionando correctamente 543 00:26:27,890 --> 00:26:31,220 antes de libera-lo para o pset. 544 00:26:31,220 --> 00:26:33,490 Porque os seus servidores non executar para o pset, 545 00:26:33,490 --> 00:26:34,847 que será moi, moi malo. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Estou indo só para flotar e ver o que todo o mundo está a traballar. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Cómo che vai? 550 00:27:27,590 --> 00:27:29,048 >> Audiencia: Eu só liguei o ordenador. 551 00:27:29,048 --> 00:27:29,923 >> ANDI Pengo: Isto é OK. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> Audiencia: [inaudível]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI Pengo: Só o IDE. 555 00:27:44,284 --> 00:27:44,784 Si. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> Audiencia: [inaudível]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI Pengo: É Aceptar. 559 00:27:57,590 --> 00:27:59,491 >> Audiencia: [inaudível]. 560 00:27:59,491 --> 00:28:00,490 ANDI Pengo: Totalmente ben. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Está todo o mundo accedendo Aceptar servidor web? 563 00:28:51,530 --> 00:28:52,970 É apache50 correndo OK? 564 00:28:52,970 --> 00:28:54,700 Coido que nalgúns dos as outras seccións, 565 00:28:54,700 --> 00:28:58,790 tivo problemas con xente non poder acceder ao servidor. 566 00:28:58,790 --> 00:28:59,290 Si. 567 00:28:59,290 --> 00:29:05,764 Entón só executar apache50 espazo iniciar período espazo. 568 00:29:05,764 --> 00:29:06,680 Audiencia: [inaudível]. 569 00:29:06,680 --> 00:29:07,610 ANDI Pengo: Yup. 570 00:29:07,610 --> 00:29:08,294 Bo? 571 00:29:08,294 --> 00:29:09,210 >> Audiencia: [inaudível]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI Pengo: Oh, Aceptar. 574 00:29:13,350 --> 00:29:14,808 Entón ten que ter un espazo. 575 00:29:14,808 --> 00:29:15,425 Entón apache50-- 576 00:29:15,425 --> 00:29:16,115 >> Audiencia: eu fixen. 577 00:29:16,115 --> 00:29:17,661 >> ANDI Pengo: espazo --start. 578 00:29:17,661 --> 00:29:18,660 Audiencia: Oh, espazo dot. 579 00:29:18,660 --> 00:29:20,110 ANDI Pengo: Yup, espazo dot. 580 00:29:20,110 --> 00:29:23,230 Alí vai. 581 00:29:23,230 --> 00:29:25,490 Así, pois, se ten unha páxina HTML creado, 582 00:29:25,490 --> 00:29:28,560 entón podes só ir directamente para a ligazón que especifica. 583 00:29:28,560 --> 00:29:30,539 E ten que ser capaz de acceder a ela. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Todo o mundo foi quen de acceder ás súas páxinas web OK? 586 00:29:37,876 --> 00:29:39,339 >> Audiencia: [inaudível]. 587 00:29:39,339 --> 00:29:40,380 ANDI Pengo: Ah, iso é OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> Audiencia: [inaudível]. 590 00:29:44,964 --> 00:29:45,630 ANDI Pengo: Si. 591 00:29:45,630 --> 00:29:48,171 Eu creo que realmente pode abrir Lo dentro do seu navegador, navegador 592 00:29:48,171 --> 00:29:49,955 e non só o seu navegador IDE. 593 00:29:49,955 --> 00:29:51,580 Si, eu creo que se copiar e pegalo. 594 00:29:51,580 --> 00:29:53,920 >> Audiencia: E, a continuación, como podemos desactiva-lo? 595 00:29:53,920 --> 00:29:54,590 [Inaudível] 596 00:29:54,590 --> 00:29:58,720 >> ANDI Pengo: Si, fai apache50 parar con ningún período. 597 00:29:58,720 --> 00:29:59,220 Yup. 598 00:29:59,220 --> 00:30:01,180 >> Audiencia: [inaudível]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI Pengo: Con ningún período. 600 00:30:02,768 --> 00:30:04,051 Si. 601 00:30:04,051 --> 00:30:04,550 Alí imos nós. 602 00:30:04,550 --> 00:30:05,050 Yup. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Estamos creando as nosas propias páxinas web. 605 00:30:09,855 --> 00:30:10,646 >> Audiencia: Ah, legal. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI Pengo: Si. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> Audiencia: Eu teño unha pregunta. 610 00:30:22,420 --> 00:30:25,294 Entón apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI Pengo: 50, si. 612 00:30:26,731 --> 00:30:28,168 >> Audiencia: [inaudível]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI Pengo: O que? 614 00:30:29,130 --> 00:30:29,750 Isto é raro. 615 00:30:29,750 --> 00:30:32,244 Mira, que era unha especie de cuestión que estaba a ocorrer antes. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 Aceptar. 618 00:30:38,730 --> 00:30:39,800 Verme despois sección. 619 00:30:39,800 --> 00:30:42,320 Porque estamos tendo algúns problemas co servidor. 620 00:30:42,320 --> 00:30:44,325 >> E quere facer Asegúrese de que o servidor é 621 00:30:44,325 --> 00:30:45,700 execución antes de iniciar pset. 622 00:30:45,700 --> 00:30:47,800 Porque vai ter del. 623 00:30:47,800 --> 00:30:48,300 Si. 624 00:30:48,300 --> 00:30:51,299 Existe alguén que non sexa capaces de obter o seu servidor para iniciar? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Para aqueles de vostedes que queren engadir estilo adicional para as súas páxinas web, 627 00:31:17,840 --> 00:31:20,450 podemos realmente facer o que David fixo na conferencia, así como, 628 00:31:20,450 --> 00:31:24,070 que é crear un estilo adicional folla, que é un punto CSS, en fervenza 629 00:31:24,070 --> 00:31:30,080 Style Sheet e, de feito, só engade-in. 630 00:31:30,080 --> 00:31:33,550 Así, por exemplo, eu creei só practicamente case a mesma exacta 631 00:31:33,550 --> 00:31:37,180 David fixo na charla. 632 00:31:37,180 --> 00:31:39,220 Pode moi ben só facer corpo. 633 00:31:39,220 --> 00:31:45,980 >> Ten o que son chamados de etiquetas no que pode aplicar para IDE sexa cal sexa sección 634 00:31:45,980 --> 00:31:48,650 quere dentro do seu real para páxina HTML. 635 00:31:48,650 --> 00:31:54,890 Así, o corpo da páxina, pode facer centro align texto. 636 00:31:54,890 --> 00:31:58,110 E entón eu vou creativo unha etiqueta chamado superior interna 637 00:31:58,110 --> 00:32:01,860 dos cales quero isto para pasar, asignar un tamaño maior de píxeles 638 00:32:01,860 --> 00:32:03,104 para a fonte. 639 00:32:03,104 --> 00:32:04,520 Quero que o espesor para ser ousado. 640 00:32:04,520 --> 00:32:06,478 E quero a cor para ser azul, así arbitraria 641 00:32:06,478 --> 00:32:08,570 valores que decidín escoller. 642 00:32:08,570 --> 00:32:10,870 Podo crear outra etiqueta chamado medio. 643 00:32:10,870 --> 00:32:12,640 Tamaño da fonte, facelo un pouco menor. 644 00:32:12,640 --> 00:32:17,730 E entón eu podo crear outra etiqueta chamado fondo onde quero o tamaño da fonte 645 00:32:17,730 --> 00:32:20,900 para ser aínda menor aínda. 646 00:32:20,900 --> 00:32:25,630 >> E así practicamente este é só exemplo de follas de estilo de código fonte ou orixe 647 00:32:25,630 --> 00:32:27,400 que é moi doado simplemente Google. 648 00:32:27,400 --> 00:32:31,560 Se di, oh, eu quero a miña fonte para estar en cursiva ou verde escuro, 649 00:32:31,560 --> 00:32:33,980 pode ser Google, e, a continuación, que vai dicir 650 00:32:33,980 --> 00:32:37,590 as etiquetas ou identificacións apropiadas para crear. 651 00:32:37,590 --> 00:32:41,670 E así a forma que realmente tipo de ter isto nun documento HTML 652 00:32:41,670 --> 00:32:45,660 ou usalo é todo o que ten a facer aquí é na cabeza 653 00:32:45,660 --> 00:32:48,560 engadir unha ligazón á folla de estilo. 654 00:32:48,560 --> 00:32:53,600 >> Entón pode simplemente conectar iguais href calquera que sexa o nome da súa folla de estilo 655 00:32:53,600 --> 00:32:54,590 é. 656 00:32:54,590 --> 00:32:56,740 E, a continuación, a relación é unha folla de estilo. 657 00:32:56,740 --> 00:33:00,700 Entón, dentro de calquera documento HTML, sempre que incluír esta folla CSS punto, 658 00:33:00,700 --> 00:33:07,140 ten que ser capaz de acceder e ter as propiedades alí. 659 00:33:07,140 --> 00:33:10,370 >> Así, por exemplo, aquí eu teño só xera unha páxina web exemplo. 660 00:33:10,370 --> 00:33:15,680 Este é benvido á sección CS50 Martes de 2:00 a 3:30 min. 661 00:33:15,680 --> 00:33:20,300 E entón eu engade unha imaxe bonita que que potencialmente debe ser capaz de ver. 662 00:33:20,300 --> 00:33:24,620 >> Entón, se der un ollo aquí, se vai para style.html, 663 00:33:24,620 --> 00:33:26,310 creamos unha páxina web con Gatinhos. 664 00:33:26,310 --> 00:33:29,420 Porque gatinho son impresionantes. 665 00:33:29,420 --> 00:33:33,570 Así, engadindo unha imaxe é só img conexión SRC. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Practicamente, se hai calquera tipo de recurso 668 00:33:38,310 --> 00:33:40,268 que quere engadir ao seu website-- entón imos dicir, 669 00:33:40,268 --> 00:33:43,290 quere engadir un menú ou unha barra de busca ou como 670 00:33:43,290 --> 00:33:46,450 un image-- só Google como facelo. 671 00:33:46,450 --> 00:33:48,277 E só plop nese formato. 672 00:33:48,277 --> 00:33:50,110 E pode só fermosa tanto basta engadir lo dentro. 673 00:33:50,110 --> 00:33:52,670 É moi, moi fácil. 674 00:33:52,670 --> 00:33:55,014 >> Estamos creando o noso propio páxinas web agora. 675 00:33:55,014 --> 00:33:55,680 Se ti queres-- 676 00:33:55,680 --> 00:33:56,580 >> Audiencia: [inaudível] 677 00:33:56,580 --> 00:33:57,470 >> ANDI Pengo: Sentímolo? 678 00:33:57,470 --> 00:33:59,310 >> Audiencia: [inaudível]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI Pengo: Oh, o div é só unha división 680 00:34:01,340 --> 00:34:04,370 dicíndome que, oh, eu teño unha determinada sección chamada 681 00:34:04,370 --> 00:34:07,480 medio no que eu estou aplicando miña tag CSS e logo 682 00:34:07,480 --> 00:34:09,619 miña outra división co fondo. 683 00:34:09,619 --> 00:34:10,785 Isto é todo o que está dicindo a vostede. 684 00:34:10,785 --> 00:34:12,743 Porque é bo para manter limpo cousas en orde, 685 00:34:12,743 --> 00:34:16,304 para que o programa sabe exactamente para ser executado. 686 00:34:16,304 --> 00:34:18,929 E creo que podo copiar e pegar este no meu navegador real tamén. 687 00:34:18,929 --> 00:34:21,110 Debe estar ben. 688 00:34:21,110 --> 00:34:21,610 Si. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Yay. 691 00:34:25,989 --> 00:34:29,380 Entón, se todo o mundo quere só tente crear unha páxina web, 692 00:34:29,380 --> 00:34:32,169 nós imos tomar outro dous a tres minutos. 693 00:34:32,169 --> 00:34:34,460 Eu só quero estar seguro servidores de todos están en execución 694 00:34:34,460 --> 00:34:36,941 e todo o mundo ten unha idea de como facelo. 695 00:34:36,941 --> 00:34:38,774 Se vós queredes sacar seus ordenadores. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Aínda non funciona? 698 00:34:45,635 --> 00:34:47,420 >> Audiencia: Eu son só [inaudível]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI Pengo: Quizais tente actualizar 50 tamén. 700 00:34:49,838 --> 00:34:51,392 Si. 701 00:34:51,392 --> 00:34:52,308 Audiencia: [inaudível]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI Pengo: Si. 704 00:35:18,990 --> 00:35:23,750 Así, a forma que iniciar un novo servidor web na IDE é só 705 00:35:23,750 --> 00:35:27,889 facer apache50 inicio espazo espazo dot. 706 00:35:27,889 --> 00:35:30,430 Eu só quería estar seguro servidores de todos están funcionando Aceptar. 707 00:35:30,430 --> 00:35:31,763 >> Audiencia: Aquí, na terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI Pengo: Si. 709 00:35:33,334 --> 00:35:34,250 Audiencia: [inaudível]. 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI Pengo: Apache. 712 00:35:38,985 --> 00:35:42,010 En realidade, eu creo que é executando algo xa. 713 00:35:42,010 --> 00:35:43,145 Si, está, de feito, executando un servidor diferente. 714 00:35:43,145 --> 00:35:43,830 Si, é bo. 715 00:35:43,830 --> 00:35:45,085 Mentres que traballa, está OK. 716 00:35:45,085 --> 00:35:45,626 >> Audiencia: Aceptar. 717 00:35:45,626 --> 00:35:47,615 ANDI Pengo: Hai dous formas de realizar servidores. 718 00:35:47,615 --> 00:35:49,990 Así, sempre que unha das formas funciona, está todo ben. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Imos tomar un minuto só a sorte de rematar 721 00:36:21,680 --> 00:36:25,280 os últimos retoques de calquera páxina web que vostedes querían facer. 722 00:36:25,280 --> 00:36:26,830 >> Está todo o mundo a traballar polo camiño? 723 00:36:26,830 --> 00:36:30,910 Servidores de todo son executando para alén de seu? 724 00:36:30,910 --> 00:36:32,210 Nós imos descubrir iso. 725 00:36:32,210 --> 00:36:34,137 E HTML de moi sinxelo. 726 00:36:34,137 --> 00:36:35,220 Entón eu creo que estamos todos ben. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Si. 729 00:36:38,760 --> 00:36:41,070 Vou volver. 730 00:36:41,070 --> 00:36:42,797 >> Audiencia: [inaudível]. 731 00:36:42,797 --> 00:36:43,380 ANDI Pengo: Aceptar. 732 00:36:43,380 --> 00:36:44,770 Audiencia: Entón é só comezou a cargar. 733 00:36:44,770 --> 00:36:45,686 ANDI Pengo: Non se preocupe. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Entón, HTML, non hai código fonte que será en liña despois da sección. 736 00:36:52,680 --> 00:36:54,810 Ademais, David ten un conxunto banda liña tamén. 737 00:36:54,810 --> 00:36:58,190 Só un tipo de ollar sobre el para ver como páxinas HTML son escritos. 738 00:36:58,190 --> 00:36:59,920 É moi fácil. 739 00:36:59,920 --> 00:37:03,979 O que non sabe, é fermosa moi só Google e é bo. 740 00:37:03,979 --> 00:37:06,270 Eu só quero estar seguro de que seus servidores están en execución. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Audiencia: Será que facelo moitas veces? 743 00:37:14,880 --> 00:37:16,421 >> ANDI Pengo: Iso nunca aconteceu. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Eu non sabía que podería incluso hibernación. 746 00:37:20,782 --> 00:37:22,516 >> Audiencia: [inaudível]. 747 00:37:22,516 --> 00:37:25,140 ANDI Pengo: Creo que everyone-- mine nunca hibernación antes. 748 00:37:25,140 --> 00:37:26,860 E eu non sei por que. 749 00:37:26,860 --> 00:37:27,566 É estraño. 750 00:37:27,566 --> 00:37:29,310 >> Audiencia: [inaudível]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI Pengo: é o seu hibernando? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> Audiencia: [inaudível]. 754 00:37:33,669 --> 00:37:34,335 ANDI Pengo: Si. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 Audiencia: É Aceptar. 757 00:37:39,872 --> 00:37:40,622 Polo tanto, unha vez que se abre. 758 00:37:40,622 --> 00:37:41,760 ANDI Pengo: Aceptar. 759 00:37:41,760 --> 00:37:43,940 Nós imos tratar con un servidor cuestións tras sección. 760 00:37:43,940 --> 00:37:44,860 Ten que estar ben. 761 00:37:44,860 --> 00:37:47,950 Aínda que, quere estar seguro de que vostede obtelos resoltos antes de saír. 762 00:37:47,950 --> 00:37:49,380 Porque se o seu servidor non correr, entón está 763 00:37:49,380 --> 00:37:52,004 non vai ser capaz de facer o pset, como calquera parte do pset. 764 00:37:52,004 --> 00:37:54,200 Entón quere estar seguro que que está a traballar. 765 00:37:54,200 --> 00:37:54,831 Legal. 766 00:37:54,831 --> 00:37:55,330 Todo ben. 767 00:37:55,330 --> 00:37:56,490 Diga adeus Gatinhos. 768 00:37:56,490 --> 00:37:59,670 Pasei moito tempo buscando que a imaxe Gatinho de poñer. 769 00:37:59,670 --> 00:38:02,272 Entón, de calquera maneira. 770 00:38:02,272 --> 00:38:04,950 >> Audiencia: [inaudível]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI Pengo: Sentímolo? 772 00:38:05,770 --> 00:38:07,345 >> Audiencia: [inaudível]. 773 00:38:07,345 --> 00:38:08,970 ANDI Pengo: Creo que é o sitio. 774 00:38:08,970 --> 00:38:11,064 Como a especificación? 775 00:38:11,064 --> 00:38:12,020 >> Audiencia: [inaudível]. 776 00:38:12,020 --> 00:38:16,080 Eu creo que a especificación é só liña en sete semanas. 777 00:38:16,080 --> 00:38:18,850 Eu creo que se chama pset6, mesmo aínda estamos en semana de sete, que 778 00:38:18,850 --> 00:38:19,641 é un bit. 779 00:38:19,641 --> 00:38:23,130 Audiencia: Pero quero dicir, se quero ollar at-- se 780 00:38:23,130 --> 00:38:28,666 quere puxar arriba a nosa versión do o sitio web da nosa Sever? 781 00:38:28,666 --> 00:38:31,820 Así como server.c é o pset, non? 782 00:38:31,820 --> 00:38:36,514 Se quere ollar para isto, como o xeito no que verifica para fóra? 783 00:38:36,514 --> 00:38:38,680 ANDI Pengo: Ah, entón, en realidade, o pset, todo o que estamos facendo 784 00:38:38,680 --> 00:38:41,405 aquí é implementing-- aquí, Vou pasar por riba deste brevemente. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Así, para todos os que está acabado a sección, vostedes teñen sorte. 787 00:38:47,020 --> 00:38:49,340 Hai moi pouco material para cubrir efectivamente hoxe. 788 00:38:49,340 --> 00:38:52,585 >> Eu só vou pasar á seguinte 20 minutos pasando por riba pset axuda. 789 00:38:52,585 --> 00:38:55,210 Porque hai algúns útil funcións que axudarán a súa vida. 790 00:38:55,210 --> 00:38:57,501 E, esperamos, imos estar fóra aquí en como 20 minutos. 791 00:38:57,501 --> 00:38:58,360 Aceptar. 792 00:38:58,360 --> 00:39:00,252 >> Entón pset7 está mal. 793 00:39:00,252 --> 00:39:02,460 Aínda que nós estamos en semana sete, é realmente pset6. 794 00:39:02,460 --> 00:39:04,220 Vou cambiar isto. 795 00:39:04,220 --> 00:39:07,550 Todo o que estamos facendo en pset6 é a creación dun servidor web. 796 00:39:07,550 --> 00:39:09,010 Isto soa super-asustado. 797 00:39:09,010 --> 00:39:11,010 >> E, sobre todo, para os de vostedes que xa ten 798 00:39:11,010 --> 00:39:14,530 mirou para o código de distribución, hai unha morea de código, unha morea de código. 799 00:39:14,530 --> 00:39:15,570 Pero é totalmente Aceptar. 800 00:39:15,570 --> 00:39:17,750 Porque o cerna da cuestión parte da realidade, creando 801 00:39:17,750 --> 00:39:20,140 o servidor está feito por nós. 802 00:39:20,140 --> 00:39:22,090 Todo o que está realmente pediu a facer nesta pset 803 00:39:22,090 --> 00:39:25,350 é só para facer algunha manipulación de cadea en arquivo I / O. É, de feito, 804 00:39:25,350 --> 00:39:27,570 como moi sinxelo. 805 00:39:27,570 --> 00:39:30,830 >> Entón, cando primeiro descargar isso-- que aquí ten realmente xa descargados 806 00:39:30,830 --> 00:39:32,540 o pset e deu un ollo? 807 00:39:32,540 --> 00:39:33,040 Todo ben. 808 00:39:33,040 --> 00:39:33,540 Si. 809 00:39:33,540 --> 00:39:36,042 Non hai como 500 liñas de código que vai ser como, 810 00:39:36,042 --> 00:39:36,750 Qué está a pasar? 811 00:39:36,750 --> 00:39:38,177 E iso é totalmente bo. 812 00:39:38,177 --> 00:39:39,760 Asegúrese de asistir os walk-throughs. 813 00:39:39,760 --> 00:39:41,610 Porque David e-- Non sei. 814 00:39:41,610 --> 00:39:43,870 Eu non creo que é Zamyla, este un. 815 00:39:43,870 --> 00:39:47,040 Pero eu creo que algún outro walk-throughs son bastante 816 00:39:47,040 --> 00:39:49,510 útil en termos de só deixando vostede sabe 817 00:39:49,510 --> 00:39:51,780 o que está a suceder dentro do seu código. 818 00:39:51,780 --> 00:39:53,330 >> E é totalmente Aceptar. 819 00:39:53,330 --> 00:39:57,860 Porque as catro funcións que se pediu para aplicar teñen realmente 820 00:39:57,860 --> 00:39:59,720 cero a ver co servidor real. 821 00:39:59,720 --> 00:40:02,590 Todos eles teñen que facer é só analizar diferentes cordas, 822 00:40:02,590 --> 00:40:05,780 buscar a través de cordas, para garantir que as cousas están a facer 823 00:40:05,780 --> 00:40:07,750 o que se quere facer. 824 00:40:07,750 --> 00:40:11,200 >> Así, con este fin, hai algunhas funcións moi, moi útiles, 825 00:40:11,200 --> 00:40:13,630 especialmente para cadea manipulación, que todos nós deberiamos 826 00:40:13,630 --> 00:40:15,879 pasar por riba que eu penso que sería ser moi útil para vós 827 00:40:15,879 --> 00:40:19,130 para aprender antes de o pset. 828 00:40:19,130 --> 00:40:23,350 E eles están todos contidos dentro da súa biblioteca string.h. 829 00:40:23,350 --> 00:40:25,980 Hai probablemente máis útil funcións de non incluír aquí, 830 00:40:25,980 --> 00:40:30,740 porque non quere usalos ou quizais eu simplemente non saben que existen. 831 00:40:30,740 --> 00:40:32,440 >> Sinto-se a liberdade de ollar a través student.h. 832 00:40:32,440 --> 00:40:36,460 Porque alí vai ser unha morea de funcións que son moi útiles. 833 00:40:36,460 --> 00:40:43,050 Entón, os seis que máis uso no meu pset cando estaba facendo iso a semana pasada 834 00:40:43,050 --> 00:40:49,620 foron strtok, strchr, strrcher, strstr, strcasecmp, e strcpy. 835 00:40:49,620 --> 00:40:53,060 E así os dous últimos poden parecer moi familiar para a maioría de vostedes. 836 00:40:53,060 --> 00:40:56,910 Caso Str comparar, o único que fai é comparar cordas para comprobar-los para a igualdade, 837 00:40:56,910 --> 00:40:58,110 ata o caso. 838 00:40:58,110 --> 00:41:01,430 E strcpy só copias unha secuencia de caracteres nun buffer. 839 00:41:01,430 --> 00:41:04,430 >> E así os dous deben parecer moi familiar para vós neste momento. 840 00:41:04,430 --> 00:41:07,100 Porque usei-os moi, especialmente para os últimos Serie de exercicios. 841 00:41:07,100 --> 00:41:10,734 Pero os catro primeiros quizais aínda non viu ata agora. 842 00:41:10,734 --> 00:41:12,400 Pero eu vou só pasar por eles. 843 00:41:12,400 --> 00:41:15,620 Porque eles están indo a facer a súa vida moi, moi fácil non for-- fácil, 844 00:41:15,620 --> 00:41:19,830 pero moito máis doado para este próximo pset. 845 00:41:19,830 --> 00:41:20,420 >> Aceptar. 846 00:41:20,420 --> 00:41:27,720 Entón char * strtok, esta é a función definición para esta función contida 847 00:41:27,720 --> 00:41:31,050 dentro da cadea, h biblioteca. 848 00:41:31,050 --> 00:41:34,340 Se se lle dada unha entrada de char * cadea, que non é máis que unha secuencia, 849 00:41:34,340 --> 00:41:38,220 ou un char constante * deliminator, delim para breve, 850 00:41:38,220 --> 00:41:42,410 todo o que está a facer é romper o maior cadea nunha serie que chamamos 851 00:41:42,410 --> 00:41:45,730 tokens separados por un determinado valor. 852 00:41:45,730 --> 00:42:03,340 Así, en certo sentido, se eu fose para dar vostede section.7.php, esta é unha cadea. 853 00:42:03,340 --> 00:42:09,520 >> De xeito que sería se eu fose para pasar neste como meu str, meu char * str, 854 00:42:09,520 --> 00:42:18,870 o meu deliminator foi punto, todo isto quere facer é a investigación a través de cordas. 855 00:42:18,870 --> 00:42:22,790 E a primeira vez que ve un punto, sería só volver o punteiro 856 00:42:22,790 --> 00:42:25,830 para o último token atopou na secuencia antes diso. 857 00:42:25,830 --> 00:42:27,230 Entón ía ben aquí. 858 00:42:27,230 --> 00:42:30,580 >> E sería só darme 7.php. 859 00:42:30,580 --> 00:42:34,070 E se eu fose para chamar a funcionar unha vez máis, 860 00:42:34,070 --> 00:42:37,580 el me daría só o .PHP. 861 00:42:37,580 --> 00:42:41,540 E así todo esta función está facendo é romper a secuencia maior 862 00:42:41,540 --> 00:42:44,620 en cadeas menores dependendo sobre o que está a procurar. 863 00:42:44,620 --> 00:42:46,670 >> E así, por exemplo, en súa función look-up 864 00:42:46,670 --> 00:42:49,895 se quere ollar para o que determinados caracteres ocorrer 865 00:42:49,895 --> 00:42:54,280 ou puntos ocorrer ou extensións ocorrer, esta función sería moi útil. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Si. 868 00:42:59,010 --> 00:42:59,510 Sen preocupacións. 869 00:42:59,510 --> 00:43:01,339 Isto todo vai ser-- si, cal é? 870 00:43:01,339 --> 00:43:07,087 >> Audiencia: Entón, na primeira liña, se estivésemos usando este exemplo, 871 00:43:07,087 --> 00:43:09,504 o que nos inserimos en que? 872 00:43:09,504 --> 00:43:10,170 ANDI Pengo: Si. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Só vai chamar un strtok delim corda coma. 875 00:43:25,640 --> 00:43:30,260 E cadea é igual a section.7.php. 876 00:43:30,260 --> 00:43:35,244 E entón está delim pode ser igual a só dot. 877 00:43:35,244 --> 00:43:36,654 >> Audiencia: Aceptar. 878 00:43:36,654 --> 00:43:39,010 >> ANDI Pengo: Si. 879 00:43:39,010 --> 00:43:41,266 Só como iso. 880 00:43:41,266 --> 00:43:43,890 Todas estas funcións son bastante semellante cando pasamos por eles. 881 00:43:43,890 --> 00:43:45,514 Eles só fan as cousas un pouco diferentes. 882 00:43:45,514 --> 00:43:49,530 Pero eles están todos indo a facer a súa vida moito máis fácil. 883 00:43:49,530 --> 00:43:53,940 Segunda función, este é como super, super, super importante, 884 00:43:53,940 --> 00:43:58,254 é as-- realizarse. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Oops. 887 00:44:08,730 --> 00:44:13,810 Pescudas strchr para o primeiro occurrence-- en realidade, si. 888 00:44:13,810 --> 00:44:16,385 Strchr é a función que Eu sempre só pasou. 889 00:44:16,385 --> 00:44:18,260 Polo tanto, pode ignorar o que eu dixen para a primeira función. 890 00:44:18,260 --> 00:44:20,980 Realmente chamado strchr. 891 00:44:20,980 --> 00:44:24,840 >> Entón, o que pasou aquí é se fose dada unha secuencia de caracteres nun char c, 892 00:44:24,840 --> 00:44:28,660 sería só dar sexa alí o que era. 893 00:44:28,660 --> 00:44:29,230 Si. 894 00:44:29,230 --> 00:44:33,700 Entón, pense nisto como str, que é unha cadea, e chr como char. 895 00:44:33,700 --> 00:44:38,621 Entón todo o que estás a facer é buscar onde un char está dentro dunha cadea. 896 00:44:38,621 --> 00:44:41,120 E así el procura o primeiro aparición do carácter 897 00:44:41,120 --> 00:44:43,601 c na cadea str. 898 00:44:43,601 --> 00:44:46,463 >> Audiencia: [inaudível]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI Pengo: Yup. 900 00:44:48,380 --> 00:44:51,230 E entón se non atopa Lo, que vai voltar NULL. 901 00:44:51,230 --> 00:44:54,313 Entón, algo que vai ser moi útil para vós en facer o pset 902 00:44:54,313 --> 00:44:59,030 Se, por exemplo, estaba a buscar un extensión como un .docx a un Palabra 903 00:44:59,030 --> 00:45:04,740 documento ou .pdf para un documento PDF, pode tipo de usalo para ollar 904 00:45:04,740 --> 00:45:08,720 para o que sexa máis tarde cada vez que ver un punto, non? 905 00:45:08,720 --> 00:45:11,880 E así moi ben, se executar que a través da función, 906 00:45:11,880 --> 00:45:13,610 se volve NULL, entón vostede sabe que 907 00:45:13,610 --> 00:45:17,292 non atopalo punto, o que significa que esta claramente non é unha extensión de arquivo válido. 908 00:45:17,292 --> 00:45:19,000 Ou se volve algo, entón vostede sabe 909 00:45:19,000 --> 00:45:21,940 vai volver con independencia de de feito, tras a prórroga. 910 00:45:21,940 --> 00:45:24,190 Polo tanto, aqueles de vostedes que tivo comecei a ollar a través de busca 911 00:45:24,190 --> 00:45:28,640 e analizar, esta función de Será super útil. 912 00:45:28,640 --> 00:45:32,010 Entón, nós estamos indo realmente para demostrar a usar este. 913 00:45:32,010 --> 00:45:36,670 >> Por que vostedes non tente escribir un función bool sentenza char * s que 914 00:45:36,670 --> 00:45:39,610 só retorna true se s é unha sentenza e falso se non. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Entón información, está indo probablemente para usar strchr. 917 00:45:46,830 --> 00:45:50,420 Ou só buscar no cadea para un determinado personaxe. 918 00:45:50,420 --> 00:45:54,950 E así, nunha frase, o que separa unha frase 919 00:45:54,950 --> 00:45:57,510 a partir dun non-sentenza, o carácter específico? 920 00:45:57,510 --> 00:45:58,260 Audiencia: Un espazo. 921 00:45:58,260 --> 00:45:59,343 ANDI Pengo: Un espazo, non? 922 00:45:59,343 --> 00:46:03,354 E entón o que, probablemente, vai quero facer neste función aquí? 923 00:46:03,354 --> 00:46:04,290 >> Audiencia: [inaudível]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI Pengo: Nós imos querer strchr cadea para o aspecto do espazo. 925 00:46:07,623 --> 00:46:11,330 Porque se volve algo, entón sabemos que esta debe ser unha frase. 926 00:46:11,330 --> 00:46:14,510 Isto significa que temos ter un espazo nesa secuencia. 927 00:46:14,510 --> 00:46:17,660 >> Se non hai espazo, entón sabemos que, hey, creo que non é unha cadea. 928 00:46:17,660 --> 00:46:20,060 Probablemente é só unha palabra moi longa. 929 00:46:20,060 --> 00:46:23,242 Entón, eu vou dar a vostedes unha parella minutos para escribir esta función. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Si. 932 00:46:45,874 --> 00:46:47,970 >> Audiencia: Conseguiu esta cadea de usuario? 933 00:46:47,970 --> 00:46:48,440 >> ANDI Pengo: Si. 934 00:46:48,440 --> 00:46:49,565 Polo tanto, esta é só unha función. 935 00:46:49,565 --> 00:46:54,586 Entón, imaxine dentro da súa función principal xa have-- imos aquí. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 Aceptar. 938 00:47:00,540 --> 00:47:05,270 Entón eu escribín este programa onde Eu teño a miña función principal, onde 939 00:47:05,270 --> 00:47:07,432 Acaba de crear dúas cordas. 940 00:47:07,432 --> 00:47:09,890 O primeiro é Hi, my name é Andi-- claramente, unha frase. 941 00:47:09,890 --> 00:47:13,240 Meu segundo é só Andi, claramente non condenar. 942 00:47:13,240 --> 00:47:18,390 >> E así eu estou correndo tanto daqueles cadeas para esta función. 943 00:47:18,390 --> 00:47:20,540 Quero que vostedes escriben sentenza frío. 944 00:47:20,540 --> 00:47:23,380 E eu estou almacenando estes valores, e despois é só imprimir-las. 945 00:47:23,380 --> 00:47:26,549 Entón, pense que o usuario é vai pasar unha cadea. 946 00:47:26,549 --> 00:47:29,590 E entón vai, esencialmente, descubrir se é unha frase ou non 947 00:47:29,590 --> 00:47:31,131 e voltar verdadeiro ou falso de conformidade. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Se vós queredes dar un polgares cara arriba ou heads-up, Acene coa cabeza, 950 00:48:45,200 --> 00:48:49,080 é calquera está preparado para comezar esta, que sería bo. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Quizais máis uns 30 segundos? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Todo ben. 955 00:50:50,070 --> 00:50:52,870 Imos ver se pode probar escribir esta función. 956 00:50:52,870 --> 00:50:57,480 >> Entón pseudo coding-- estou indo só para tipo de camiñar por este momento. 957 00:50:57,480 --> 00:51:00,570 Practicamente, sabemos o función que necesitamos usar. 958 00:51:00,570 --> 00:51:04,390 Imos chamar esa función en nosa cadea e busca por un espazo. 959 00:51:04,390 --> 00:51:08,682 Se volve algo, entón debemos sabe que, claramente, trátase dunha frase. 960 00:51:08,682 --> 00:51:09,640 Porque non hai espazos. 961 00:51:09,640 --> 00:51:10,930 Entón imos voltar true. 962 00:51:10,930 --> 00:51:12,310 Senón, imos voltar falso. 963 00:51:12,310 --> 00:51:14,393 Alguén quere dar me a primeira liña de código 964 00:51:14,393 --> 00:51:16,890 que en realidade imos usar para escribir isto? 965 00:51:16,890 --> 00:51:19,680 En realidade, é o máis difícil liña de código tamén. 966 00:51:19,680 --> 00:51:21,026 Si. 967 00:51:21,026 --> 00:51:28,942 >> Audiencia: Se strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI Pengo: Só strchr. 969 00:51:29,900 --> 00:51:35,354 Audiencia: [interpoñendo voces] o espazo non é igual a cero. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI Pengo: Cool. 972 00:51:40,710 --> 00:51:41,470 Exactamente. 973 00:51:41,470 --> 00:51:43,200 Todos entenden que a primeira liña? 974 00:51:43,200 --> 00:51:46,110 Nós imos chamar strstr, que é unha función que busca 975 00:51:46,110 --> 00:51:51,830 a cadea s ao carácter de espazo. 976 00:51:51,830 --> 00:51:56,010 E se atopa-lo, que vai voltar un punteiro para onde é. 977 00:51:56,010 --> 00:51:58,500 >> Se non atopalo, vai voltar NULL. 978 00:51:58,500 --> 00:52:02,530 Entón, se volve algo diferente de NULL, a continuación, sabemos que atopou un espazo. 979 00:52:02,530 --> 00:52:03,553 Isto ten sentido? 980 00:52:03,553 --> 00:52:04,090 Legal. 981 00:52:04,090 --> 00:52:04,590 Todo ben. 982 00:52:04,590 --> 00:52:08,246 Entón, se sabemos que atopou unha espazo, o que queremos facer? 983 00:52:08,246 --> 00:52:09,162 Audiencia: Volta certo. 984 00:52:09,162 --> 00:52:09,787 ANDI Pengo: Yup. 985 00:52:09,787 --> 00:52:11,940 Return true. 986 00:52:11,940 --> 00:52:15,034 E entón, alguén quere rematar a función para min? 987 00:52:15,034 --> 00:52:16,300 Si. 988 00:52:16,300 --> 00:52:19,720 Senón, só como aquel. 989 00:52:19,720 --> 00:52:20,780 E tentar compilar este. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Yup. 992 00:52:28,000 --> 00:52:33,099 Entón, como podedes ver desde o saídas, lembre-se Booleans en C 993 00:52:33,099 --> 00:52:34,390 son sempre expresadas en binario. 994 00:52:34,390 --> 00:52:35,100 1 é certo. 995 00:52:35,100 --> 00:52:36,350 0 é falso. 996 00:52:36,350 --> 00:52:39,720 >> Se fósemos para realizar este función na secuencia dun, que 997 00:52:39,720 --> 00:52:42,900 é Ola, meu nome é Andi-- claramente, un sentence-- resultado 998 00:52:42,900 --> 00:52:45,700 impreso a 1, que é certa. 999 00:52:45,700 --> 00:52:48,420 A segunda, que é só Nunha palabra, resultado impreso 1000 00:52:48,420 --> 00:52:50,630 a 0, o que é falso. 1001 00:52:50,630 --> 00:52:54,820 Todos clara tipo de sobre como esta función foi escrito? 1002 00:52:54,820 --> 00:52:55,800 Si. 1003 00:52:55,800 --> 00:52:59,770 >> Audiencia: Podemos tamén facer, en vez de non é igual non é igual a igual a 0, 1004 00:52:59,770 --> 00:53:03,677 de xeito que é igual a? 1005 00:53:03,677 --> 00:53:04,260 ANDI Pengo: Non. 1006 00:53:04,260 --> 00:53:07,480 Porque strchr é unha función. 1007 00:53:07,480 --> 00:53:09,940 Eu vou volver a este. 1008 00:53:09,940 --> 00:53:14,624 Entón, cal é o tipo de retorno da nosa función strchr? 1009 00:53:14,624 --> 00:53:15,332 Audiencia: Oh, Aceptar. 1010 00:53:15,332 --> 00:53:15,800 Ou NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI Pengo: Si. 1012 00:53:16,466 --> 00:53:20,890 É un char * que me di que o que quere esta función vai volver, 1013 00:53:20,890 --> 00:53:22,090 vai ser un punteiro. 1014 00:53:22,090 --> 00:53:24,860 Ou o punteiro será apuntando a onde se atopa, 1015 00:53:24,860 --> 00:53:27,550 ou que vai volver un punteiro para NULL. 1016 00:53:27,550 --> 00:53:30,930 En calquera circunstancia, que vai para voltar un punteiro para algo. 1017 00:53:30,930 --> 00:53:34,354 >> E por iso, se fose para equiparar isto equivale, iguais, 0, 1018 00:53:34,354 --> 00:53:36,020 está indo a obter un erro de compilación. 1019 00:53:36,020 --> 00:53:37,645 Porque vai voltar un punteiro. 1020 00:53:37,645 --> 00:53:40,240 E está indo a tentar comparar un punteiro para un enteiro. 1021 00:53:40,240 --> 00:53:42,515 E o ordenador non é vai gusta diso. 1022 00:53:42,515 --> 00:53:45,630 Si, exactamente. 1023 00:53:45,630 --> 00:53:46,540 Legal. 1024 00:53:46,540 --> 00:53:47,525 Todo o mundo é bo? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> E en segundo lugar, nós estamos indo a ir máis dunha función chamada strstr. 1027 00:53:59,770 --> 00:54:02,020 Non te preocupes se eses funcións están confundindo vostede. 1028 00:54:02,020 --> 00:54:03,750 Están me confundindo. 1029 00:54:03,750 --> 00:54:07,250 Polo tanto, vostedes poderían ver, todos eles son practicamente o mesmo. 1030 00:54:07,250 --> 00:54:10,400 Así, sempre que está confuso, puxar arriba a biblioteca string.h. 1031 00:54:10,400 --> 00:54:13,290 E vostedes poden clasificarse a través do cal é cal. 1032 00:54:13,290 --> 00:54:18,910 >> Entón strstr, todo o que fai é buscar unha secuencia de caracteres a outra corda toda. 1033 00:54:18,910 --> 00:54:21,980 Entón, onde só strchr investigacións para un único carácter, 1034 00:54:21,980 --> 00:54:24,090 Pescudas strstr para unha cadea enteira. 1035 00:54:24,090 --> 00:54:30,440 Entón, eu quería mirar, non sabe, Ola, meu nome é Andi. 1036 00:54:30,440 --> 00:54:32,490 E o nome do meu mellor amigo tamén é Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Se eu quixese mirar neste sentenza para toda a palabra de Andi, 1038 00:54:37,180 --> 00:54:39,930 miña agulla sería o que está a procurar. 1039 00:54:39,930 --> 00:54:43,440 E o seu palheiro é o que quere estás buscando o en. 1040 00:54:43,440 --> 00:54:47,050 Entón, se está a buscar un palabra específica dentro dunha frase, 1041 00:54:47,050 --> 00:54:48,800 aquela palabra será a súa agulla. 1042 00:54:48,800 --> 00:54:51,397 E, a continuación, a propia sentenza será o seu palheiro. 1043 00:54:51,397 --> 00:54:53,230 E así el só busca a primeira aparición 1044 00:54:53,230 --> 00:54:55,063 da agulla cadea no palheiro cadea. 1045 00:54:55,063 --> 00:54:57,140 Retorna o punteiro para a primeira aparición. 1046 00:54:57,140 --> 00:55:00,510 Excepto, Teña en conta que, neste caso, é o primeira aparición de toda a cadea 1047 00:55:00,510 --> 00:55:02,510 que está a buscar para, non só un personaxe. 1048 00:55:02,510 --> 00:55:04,676 >> E así, este é case o mesmo que a función 1049 00:55:04,676 --> 00:55:09,100 acabamos de facer, só con un pouco máis especificidade. 1050 00:55:09,100 --> 00:55:12,730 Porque está a buscar máis que un personaxe. 1051 00:55:12,730 --> 00:55:16,310 E o uso é o mesmo como a que acabamos de facer. 1052 00:55:16,310 --> 00:55:18,070 Todos OK con iso? 1053 00:55:18,070 --> 00:55:20,250 Aceptar. 1054 00:55:20,250 --> 00:55:23,560 >> Último que nós estamos indo a ir sobre strrchr é, que non é 1055 00:55:23,560 --> 00:55:26,320 confundida con strstr ou strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr ten un r extra alí. 1057 00:55:27,890 --> 00:55:29,140 Teña coidado cando está escribindo. 1058 00:55:29,140 --> 00:55:33,851 Podes atopar-se ata un r extra ou non incluíndo un R, 1059 00:55:33,851 --> 00:55:35,850 e, a continuación, a súa función non teño que ir traballar. 1060 00:55:35,850 --> 00:55:37,183 E vai ser confuso. 1061 00:55:37,183 --> 00:55:40,150 Teña coidado de que está soletrado todas estas funcións dereita. 1062 00:55:40,150 --> 00:55:43,770 >> Entón strrchr é exactamente mesmo que strchr 1063 00:55:43,770 --> 00:55:47,480 excepto el busca non é o primeiro aparición dun personaxe específico, 1064 00:55:47,480 --> 00:55:49,350 mais si a última ocorrencia. 1065 00:55:49,350 --> 00:55:52,800 E así, nese sentido, é case exactamente o mesmo. 1066 00:55:52,800 --> 00:55:54,620 Pero, en vez de moverse transmitir nunha corda, 1067 00:55:54,620 --> 00:55:57,230 vai estar movendo atrás nunha cadea. 1068 00:55:57,230 --> 00:56:00,510 Exactamente o mesmo, que é só buscar nunha orde diferente. 1069 00:56:00,510 --> 00:56:04,690 >> E así que este podería ser super, super útil para a súa investigación 1070 00:56:04,690 --> 00:56:07,490 función, o primeiro función no seu pset. 1071 00:56:07,490 --> 00:56:12,710 Imos finxir que é necesario para escribir un función da extensión de baleiro en que 1072 00:56:12,710 --> 00:56:17,850 pasar unha constante carácter nome do ficheiro *, só unha secuencia, o nome do ficheiro, 1073 00:56:17,850 --> 00:56:21,370 que leva ese nome en e gravados a extensión do ficheiro. 1074 00:56:21,370 --> 00:56:26,520 Así, por exemplo, se eu fose para pasar na secuencia de pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 vai imprimir só a extensión, que é .zip. 1076 00:56:30,004 --> 00:56:31,920 E iso vai traballar para calquera tipo de extensión, 1077 00:56:31,920 --> 00:56:38,290 .docx a Word ou .pdf para un PDF arquivar ou .html a un arquivo HTML. 1078 00:56:38,290 --> 00:56:40,425 Moi ben, escribir función que pode facelo. 1079 00:56:40,425 --> 00:56:42,300 Vou realmente para optar polo IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 Non é load-- alí imos nós. 1082 00:56:56,740 --> 00:57:00,990 >> Entón todo o que eu teño feito aquí é creado un char *, a primeira corda, 1083 00:57:00,990 --> 00:57:01,930 chamado pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Eu estou indo a facer zoom. 1085 00:57:04,530 --> 00:57:08,520 Eu creei unha segunda corda chamado finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 E escribe-me unha función que, cando chamado vai só imprimir 1087 00:57:12,649 --> 00:57:13,690 as extensións de nome de ficheiro. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Quizais levar uns minutos para pensar sobre como está indo para facelo. 1090 00:57:19,660 --> 00:57:22,510 Un pouco máis reto que o último, 1091 00:57:22,510 --> 00:57:24,770 pero o uso é case exactamente o mesmo. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Si. 1094 00:57:30,170 --> 00:57:37,540 Entón escriba unha extensión de función chamada que, se eu lle der o nome dun ficheiro, 1095 00:57:37,540 --> 00:57:41,340 se eu fose para lle dar pset7.zip-- I quero que imprimir só o .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Se eu lle der gusto finalpaper.docx, só imprimir o .docx, 1098 00:57:49,890 --> 00:57:51,538 só a extensión de calquera arquivo. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Isto realmente só leva dúas liñas de código. 1101 00:59:07,790 --> 00:59:10,692 Polo tanto, proba ver se quizais poida facelo niso. 1102 00:59:10,692 --> 00:59:12,400 En realidade, só leva unha liña de código. 1103 00:59:12,400 --> 00:59:14,074 Pero dúas liñas é probablemente máis estándar. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Que función son probablemente Vai querer chamar? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> Audiencia: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI Pengo: strrchr, non. 1109 00:59:27,343 --> 00:59:29,570 Porque nós estamos a buscar a partir de esquerda a dereita. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Non dar a vostedes un exemplo como este, 1112 00:59:33,940 --> 00:59:38,870 pero se eu lle dei un exemplo como www.apple.com e eu só quería 1113 00:59:38,870 --> 00:59:43,005 o .com, sería un exemplo de onde que quere chamar a última instancia 1114 00:59:43,005 --> 00:59:44,630 do período e non o primeiro, non? 1115 00:59:44,630 --> 00:59:47,470 Se fose strchr chamada, el daría-lle a apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Se chamado strrchr-lo, tería lle deu o .com. 1117 00:59:49,966 --> 00:59:53,062 E por iso teña coidado onde ways-- no meu exemplo, 1118 00:59:53,062 --> 00:59:55,520 podería probablemente podería só escrito usando strchr, 1119 00:59:55,520 --> 00:59:57,130 xa que hai só un punto. 1120 00:59:57,130 --> 00:59:59,790 Pero noutros casos, que pode non ser o caso. 1121 00:59:59,790 --> 01:00:04,960 E así sempre tentar proxectar seu código ben, así que-- si? 1122 01:00:04,960 --> 01:00:07,365 >> Audiencia: Entón, o exemplo, que acaba de dicir, 1123 01:00:07,365 --> 01:00:11,760 cando strrchr que sería darlle .com ou só vir? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI Pengo: Sería darlle o .com. 1125 01:00:13,960 --> 01:00:14,794 >> Audiencia: Aceptar. 1126 01:00:14,794 --> 01:00:15,460 ANDI Pengo: Si. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 El apunta para onde el a atopou. 1129 01:00:19,744 --> 01:00:20,244 Si. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 segundos, quizais? 1132 01:00:25,188 --> 01:00:25,688 Si. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Todos bo ou quizais un pouco máis de tempo? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Concerto de mans? 1137 01:01:01,640 --> 01:01:02,320 Mostra de cabezas? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Legal. 1140 01:01:05,300 --> 01:01:07,924 Calquera quere me dar o primeiro liña de código para este programa? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 Audiencia: [inaudível]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI Pengo: Entón, primeiro de todo, imos quizais decompô-lo. 1145 01:01:20,160 --> 01:01:24,370 Entón, cal é o tipo de retorno strrchr? 1146 01:01:24,370 --> 01:01:26,150 Imos volver. 1147 01:01:26,150 --> 01:01:29,015 strrchr, cal é o tipo de retorno? 1148 01:01:29,015 --> 01:01:29,640 Audiencia: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI Pengo: É un char *, non? 1150 01:01:31,270 --> 01:01:35,760 O que significa que probablemente vai querer crear outro tipo de char * 1151 01:01:35,760 --> 01:01:40,400 de tenda sempre que se retornando para, non? 1152 01:01:40,400 --> 01:01:43,200 Porque se chamar o strrchr función, 1153 01:01:43,200 --> 01:01:47,030 vai darlle un punteiro para onde queira que ela descubriu que último período, 1154 01:01:47,030 --> 01:01:47,580 non? 1155 01:01:47,580 --> 01:01:49,913 >> Pero vai querer almacenar que nalgún lugar, non? 1156 01:01:49,913 --> 01:01:52,612 E así como podemos codificar iso no noso programa? 1157 01:01:52,612 --> 01:01:54,320 Audiencia: Fai o char * [inaudível]. 1158 01:01:54,320 --> 01:01:55,240 ANDI Pengo: Yep. 1159 01:01:55,240 --> 01:01:57,120 Audiencia: [inaudível]. 1160 01:01:57,120 --> 01:01:58,000 ANDI Pengo: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Si. 1162 01:01:58,390 --> 01:01:59,306 Oh, perdeu unha r alí. 1163 01:01:59,306 --> 01:02:02,877 Audiencia: O nome do ficheiro [inaudível]. 1164 01:02:02,877 --> 01:02:03,376 Que é iso? 1165 01:02:03,376 --> 01:02:04,420 Oh, é só s. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI Pengo: Oh, é só s. 1167 01:02:04,940 --> 01:02:05,610 Yup, desculpe. 1168 01:02:05,610 --> 01:02:06,330 My bad. 1169 01:02:06,330 --> 01:02:08,370 Exemplos non se atoparon. 1170 01:02:08,370 --> 01:02:12,130 >> Audiencia: E entón dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI Pengo: Yup. 1172 01:02:13,970 --> 01:02:16,570 Teña coidado cando caras é-- aquí, déixeme facer zoom. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Alí imos nós. 1175 01:02:24,400 --> 01:02:26,770 Teña coidado cando caras está escribindo, sobre todo cando 1176 01:02:26,770 --> 01:02:27,920 está facendo só un char. 1177 01:02:27,920 --> 01:02:32,480 É realmente fácil de accidentalmente só facer comiñas dobres no canto de individual. 1178 01:02:32,480 --> 01:02:35,212 >> Isto non vai funcionar. 1179 01:02:35,212 --> 01:02:36,670 Seu compilador vai reclamar. 1180 01:02:36,670 --> 01:02:38,790 E a súa función é só non vai funcionar. 1181 01:02:38,790 --> 01:02:40,540 E por iso teña coidado cando está facendo as cousas 1182 01:02:40,540 --> 01:02:42,622 con caracteres que se comiñas simples. 1183 01:02:42,622 --> 01:02:44,830 E o mesmo sucede con esta liña de código de ter sentido para todos? 1184 01:02:44,830 --> 01:02:46,810 Estamos creando un punteiro char *. 1185 01:02:46,810 --> 01:02:50,310 Porque strrchr retorno algo do tipo punteiro. 1186 01:02:50,310 --> 01:02:53,440 >> E así imos chamar strchr en s, que é a secuencia, o ficheiro 1187 01:02:53,440 --> 01:02:55,140 nome, que estamos pasando. 1188 01:02:55,140 --> 01:02:59,750 E nós estamos mirando para o pasado instancia dun período, que é 1189 01:02:59,750 --> 01:03:02,200 só o apóstrofo dot comiñas simples. 1190 01:03:02,200 --> 01:03:02,700 Si. 1191 01:03:02,700 --> 01:03:05,180 >> Audiencia: Cando é que imos usar comiñas dobres e cando é que imos usar comiñas simples? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI Pengo: Si. 1193 01:03:05,320 --> 01:03:07,180 Entón citas dobres son sempre usado cando 1194 01:03:07,180 --> 01:03:10,120 ter unha secuencia de máis que un. 1195 01:03:10,120 --> 01:03:13,070 Entón, se está facendo strstr, que é o que 1196 01:03:13,070 --> 01:03:16,320 buscar unha secuencia de caracteres para cadea, ía pasalo entre comiñas. 1197 01:03:16,320 --> 01:03:18,070 Pero calquera momento é só un carácter único, 1198 01:03:18,070 --> 01:03:19,870 quere facer comiñas simples. 1199 01:03:19,870 --> 01:03:22,880 >> É bo para manter presente. 1200 01:03:22,880 --> 01:03:25,864 Polo tanto, agora que temos o noso punteiro, o que imos facer con el? 1201 01:03:25,864 --> 01:03:27,780 Eu estou pedindo a vostedes para imprimilas los, non? 1202 01:03:27,780 --> 01:03:30,940 Entón, [inaudível], quere dáme a liña de código? 1203 01:03:30,940 --> 01:03:31,780 >> Audiencia: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI Pengo: Si. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 Audiencia: --você precisa dun lugar titular. 1207 01:03:36,843 --> 01:03:37,340 ANDI Pengo: Yup. 1208 01:03:37,340 --> 01:03:38,334 Audiencia: Imprimir o titular do lugar. 1209 01:03:38,334 --> 01:03:40,322 Non sei o que o sitio é titular, pero vinculado a el. 1210 01:03:40,322 --> 01:03:40,819 >> Aceptar. 1211 01:03:40,819 --> 01:03:42,027 Imos saltar que, polo de agora, a continuación. 1212 01:03:42,027 --> 01:03:44,556 Audiencia: E entón comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI Pengo: Pointer, non? 1214 01:03:45,720 --> 01:03:47,970 >> Audiencia: Pointer, si. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI Pengo: Así tipo de unha pregunta capciosa, ten que ver con punteiros e cordas 1216 01:03:51,140 --> 01:03:53,130 que nós medio que xa falamos. 1217 01:03:53,130 --> 01:03:57,766 Que tipo de soporte do lugar nós necesidade dun punteiro para un char *? 1218 01:03:57,766 --> 01:03:59,574 >> Audiencia: [inaudível]. 1219 01:03:59,574 --> 01:04:00,240 ANDI Pengo: Si. 1220 01:04:00,240 --> 01:04:02,522 É máis fácil do que vostedes pensan que é. 1221 01:04:02,522 --> 01:04:03,230 Audiencia: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI Pengo: É só unha corda, exactamente. 1223 01:04:04,730 --> 01:04:06,595 Porque lembre se cordas non hai realmente. 1224 01:04:06,595 --> 01:04:09,430 Un char * é o exacto mesmo que unha cadea. 1225 01:04:09,430 --> 01:04:14,461 E iso realmente é o que este s debería ser usado o tempo. 1226 01:04:14,461 --> 01:04:14,960 Aceptar. 1227 01:04:14,960 --> 01:04:17,810 >> A ver se podemos tentar executar este. 1228 01:04:17,810 --> 01:04:19,450 Imos facer unha extensión make. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Legal. 1231 01:04:23,396 --> 01:04:28,830 Vostedes ver como eu pase o psset7.zip eo finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 e el simplemente imprime o .zip eo .docx? 1233 01:04:32,500 --> 01:04:34,150 Ten sentido? 1234 01:04:34,150 --> 01:04:36,660 >> OK Entón eu creo que no seu ollar cara arriba función no seu pset é 1235 01:04:36,660 --> 01:04:41,050 será pregunte se a cadea ten un determinado fin, 1236 01:04:41,050 --> 01:04:42,800 ten que dar un certo código de erro. 1237 01:04:42,800 --> 01:04:44,820 E así será bastante horrible. 1238 01:04:44,820 --> 01:04:47,350 Porque se pode descubrir o que é a extensión, 1239 01:04:47,350 --> 01:04:49,810 pode entón comparar extensión para ver se corresponde up 1240 01:04:49,810 --> 01:04:51,251 con certa extensión. 1241 01:04:51,251 --> 01:04:53,250 E entón podes devolvê- unha mensaxe de erro, non? 1242 01:04:53,250 --> 01:04:53,860 Si. 1243 01:04:53,860 --> 01:04:55,370 >> Audiencia: Entón non ten que engadir unha ou algo? 1244 01:04:55,370 --> 01:04:56,530 O punteiro situarase as-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI Pengo: Non. 1246 01:04:56,660 --> 01:04:57,530 >> Audiencia: --point despois. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI Pengo: Si. 1248 01:04:58,196 --> 01:05:00,650 El apunta exactamente para onde a aparición foi. 1249 01:05:00,650 --> 01:05:04,010 Así, por exemplo aquí, somos busca para o período. 1250 01:05:04,010 --> 01:05:06,597 Entón vai para volver un punteiro para o período. 1251 01:05:06,597 --> 01:05:08,930 E entón el vai imprimir out comezando no período. 1252 01:05:08,930 --> 01:05:10,260 >> Entón non necesita engadir un. 1253 01:05:10,260 --> 01:05:15,000 Aínda que, é totalmente bo para si non está seguro, a só un tipo 1254 01:05:15,000 --> 01:05:16,070 de proba-lo vostede mesmo. 1255 01:05:16,070 --> 01:05:17,590 Construír un programa de exemplo. 1256 01:05:17,590 --> 01:05:20,240 Proba-o ti mesmo e ver onde é a impresión. 1257 01:05:20,240 --> 01:05:23,380 Isto tampouco é unha mala forma de facelo. 1258 01:05:23,380 --> 01:05:26,040 >> Legal. 1259 01:05:26,040 --> 01:05:28,880 E iso é moi fermoso todo Eu tiña a vostedes hoxe. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Fixemos unha morea de cousas pset hoxe. 1262 01:05:33,300 --> 01:05:35,720 Así, cando en dúbida, como Dixen, sempre mirar para arriba 1263 01:05:35,720 --> 01:05:37,620 a biblioteca string.h para este pset. 1264 01:05:37,620 --> 01:05:40,370 Non vai ser unha morea de en que hai función pode ser útil. 1265 01:05:40,370 --> 01:05:41,300 Algúns poden non ser útil. 1266 01:05:41,300 --> 01:05:42,133 Eu realmente non sei. 1267 01:05:42,133 --> 01:05:44,370 Wade a través del, hai unha morea deles. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, son strrchr super, super útil, así como 1269 01:05:49,100 --> 01:05:52,080 os strcpys e strcasecmps que xa usei. 1270 01:05:52,080 --> 01:05:56,510 >> É só moi de andar con cordas, determinar se son iguais, 1271 01:05:56,510 --> 01:05:59,960 recibindo o material fóra das cordas, e poder abrir ficheiros correctamente. 1272 01:05:59,960 --> 01:06:02,252 É unha morea de arquivos I / O. pset realmente non é tan malo. 1273 01:06:02,252 --> 01:06:04,210 Vai ter un ollalo, baixa-lo, 1274 01:06:04,210 --> 01:06:05,590 para ver unha morea de código. 1275 01:06:05,590 --> 01:06:09,220 Non te preocupes, o código realmente escribir non é malo de todo. 1276 01:06:09,220 --> 01:06:12,870 Se alguén ten problemas co seu servidor, veña verme tras sección. 1277 01:06:12,870 --> 01:06:16,040 >> Desculpar unha vez por non traendo doces para o Día das meiga. 1278 01:06:16,040 --> 01:06:18,790 Non sei o que había de malo comigo. 1279 01:06:18,790 --> 01:06:20,800 Pero teremos doble o doce a próxima vez. 1280 01:06:20,800 --> 01:06:25,620 E boa sorte na súa pset esta semana. 1281 01:06:25,620 --> 01:06:27,170 Yup. 1282 01:06:27,170 --> 01:06:28,722