1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI Peng: Estamos casi a través de todos los conjuntos de procesadores. 3 00:00:08,770 --> 00:00:12,080 De hecho, estamos a través de la mayoría de los conjuntos de procesadores más difíciles. 4 00:00:12,080 --> 00:00:14,350 Así que estamos en realidad sólo ir a clase de brisa 5 00:00:14,350 --> 00:00:16,050 a través de un par de semanas. 6 00:00:16,050 --> 00:00:19,520 >> Vamos a empezar a hablar de nuestra proyectos fin de carrera, los eventos que sucederán 7 00:00:19,520 --> 00:00:21,320 en las próximas semanas. 8 00:00:21,320 --> 00:00:23,825 Y la vida será una brisa. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Así que no hay mucho en la actualidad. 11 00:00:27,680 --> 00:00:30,280 >> Esperemos que, en realidad brisa a través de la agenda de hoy, 12 00:00:30,280 --> 00:00:33,400 y luego salir de aquí con un poco de tiempo de sobra. 13 00:00:33,400 --> 00:00:36,210 También, quiero disculparme por la falta de caramelo hoy. 14 00:00:36,210 --> 00:00:37,030 No sé por qué. 15 00:00:37,030 --> 00:00:40,520 Pero en la semana previa Halloween, me olvidaría de caramelo. 16 00:00:40,520 --> 00:00:43,290 >> Así que estoy en realidad sólo un vasto decepción para usted en este momento. 17 00:00:43,290 --> 00:00:47,050 Porque yo, literalmente, recuerdo dulces para cada clase única, pero de Halloween. 18 00:00:47,050 --> 00:00:49,345 Pero la próxima semana, voy a traer duplicar la cantidad de caramelo 19 00:00:49,345 --> 00:00:50,720 para compensar eso, todo para usted. 20 00:00:50,720 --> 00:00:53,260 Será genial. 21 00:00:53,260 --> 00:00:56,690 >> Así que tengo un par de anuncios con respecto a algunos de programación. 22 00:00:56,690 --> 00:00:59,520 Tengo algunos problemas de programación. 23 00:00:59,520 --> 00:01:02,150 Entonces vamos a pasar a hablar de lo que se llama chmod. 24 00:01:02,150 --> 00:01:05,980 Vamos a hablar acerca de rápidamente TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Y luego vamos a codificar nuestra propia página web usando HTML y CSS. 26 00:01:09,770 --> 00:01:13,030 Y luego voy a realmente dejo quizá como 20 minutos para hablar de pset6. 27 00:01:13,030 --> 00:01:16,550 Debido pset6 es en realidad una gran cantidad de cosas que ya hemos visto antes, 28 00:01:16,550 --> 00:01:19,090 pero quería refrescar algunos de esos conceptos 29 00:01:19,090 --> 00:01:22,140 así como enseñar a un par de nuevas funciones. 30 00:01:22,140 --> 00:01:23,110 >> Guay. 31 00:01:23,110 --> 00:01:25,440 Así que primero de todo, bienvenido de vuelta de las vacaciones. 32 00:01:25,440 --> 00:01:27,410 Espero que estés ruptura fue agradable. 33 00:01:27,410 --> 00:01:29,695 Sería qué hacer durante las vacaciones? 34 00:01:29,695 --> 00:01:30,820 AUDIENCIA: fue a Nueva York. 35 00:01:30,820 --> 00:01:32,030 ANDI Peng: Usted fue a Nueva York? 36 00:01:32,030 --> 00:01:33,738 Creo que la mitad de nuestra escuela se fue a Nueva York. 37 00:01:33,738 --> 00:01:34,740 Está todo bien. 38 00:01:34,740 --> 00:01:38,250 Pasé la mayor parte de mi descanso sedentaria en la cama Netflixing. 39 00:01:38,250 --> 00:01:39,760 Y era un buen momento. 40 00:01:39,760 --> 00:01:43,450 >> Pero ahora estamos de vuelta, de vuelta en sesión, de nuevo en el ritmo de las cosas. 41 00:01:43,450 --> 00:01:47,900 Tenemos un conjunto de procesadores por este viernes al mediodía. 42 00:01:47,900 --> 00:01:50,240 >> Creo que ya ha recogido su concurso, sí? 43 00:01:50,240 --> 00:01:52,140 Así que cualquier otra persona que tiene No tenían sus cuestionarios, 44 00:01:52,140 --> 00:01:55,416 por favor venga y obtener sus concursos de mí en el extremo de la sección. 45 00:01:55,416 --> 00:01:56,540 O me rastrear en el campus. 46 00:01:56,540 --> 00:01:59,310 Voy a tener conmigo en alguna parte. 47 00:01:59,310 --> 00:02:02,120 >> Nuestro proyecto final pre-propuesta también. 48 00:02:02,120 --> 00:02:06,380 Así que para aquellos de nosotros que nunca han tomado esta clase antes, la piedra angular del CS50 49 00:02:06,380 --> 00:02:11,150 está muy culminado en este gran proyecto que los estudiantes proponen. 50 00:02:11,150 --> 00:02:14,300 Y el proyecto de propuesta, sólo una idea general 51 00:02:14,300 --> 00:02:18,500 de lo que se podría querer hacer por su proyecto, esa idea se debe lunes 52 00:02:18,500 --> 00:02:20,780 el próximo lunes al mediodía. 53 00:02:20,780 --> 00:02:23,800 >> Así que más o menos, David creo que va a hablar más sobre esto en la conferencia 54 00:02:23,800 --> 00:02:25,390 si no lo ha hecho ya. 55 00:02:25,390 --> 00:02:28,710 Y hay una página sólida en nuestra página web que explica 56 00:02:28,710 --> 00:02:31,610 todos los requisitos del proyecto. 57 00:02:31,610 --> 00:02:34,082 Pero, en esencia, elegir cualquier tema que usted tiene 58 00:02:34,082 --> 00:02:35,915 han interesado por durante su tiempo aquí 59 00:02:35,915 --> 00:02:41,760 en CS, ya sea de juego o diseño o de vídeo o cualquier cosa. 60 00:02:41,760 --> 00:02:44,920 >> Y usted puede realmente clase de Ahora aplicar algunas de las lecciones 61 00:02:44,920 --> 00:02:52,470 que hemos aprendido aquí en CS50-- hi, welcome-- a la realización de más o menos 62 00:02:52,470 --> 00:02:56,320 un proyecto final de su elección. 63 00:02:56,320 --> 00:02:59,570 Todo lo que es debido el lunes es sólo una breve nota publicitaria por correo electrónico 64 00:02:59,570 --> 00:03:02,010 para mí, una sentencia rápida, como, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Estoy muy interesado en el diseño un juego que hace esto para iOS. 66 00:03:06,490 --> 00:03:07,420 Guay. 67 00:03:07,420 --> 00:03:10,767 Sólo tienes que dejar que su escrito inicial Ideas para sus proyectos finales. 68 00:03:10,767 --> 00:03:13,850 Y hablaremos a través o no que en realidad es una buena idea o no, 69 00:03:13,850 --> 00:03:15,590 si es una idea factible o no. 70 00:03:15,590 --> 00:03:20,760 Pero sólo el proyecto de propuesta se debe el próximo lunes. 71 00:03:20,760 --> 00:03:24,190 pset6, nuestra encantadora 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 Es pset6, ¿verdad? 75 00:03:26,680 --> 00:03:32,690 >> pset6, nuestro servidor web, se debe Viernes al mediodía con el último día. 76 00:03:32,690 --> 00:03:37,660 Las horas de oficina reanudan normalmente de lunes a jueves 8:00-11:00 esta semana. 77 00:03:37,660 --> 00:03:39,710 Creo Commons para las próximas tres noches. 78 00:03:39,710 --> 00:03:40,310 Guay. 79 00:03:40,310 --> 00:03:44,260 Antes de que tuviéramos en el material, ¿alguien tiene cualquier pregunta, chistes, historias? 80 00:03:44,260 --> 00:03:46,662 ¿Qué hiciste durante las vacaciones de otoño? 81 00:03:46,662 --> 00:03:48,640 >> AUDIENCIA: ¿Qué debo hacer? 82 00:03:48,640 --> 00:03:52,834 >> ANDI Peng: Ya es edades hace realidad. 83 00:03:52,834 --> 00:03:54,000 Christabel fue a Nueva York. 84 00:03:54,000 --> 00:03:55,614 Me alojé aquí y Netflixed. 85 00:03:55,614 --> 00:03:56,864 AUDIENCIA: Oh, si yo estaba aquí. 86 00:03:56,864 --> 00:03:57,614 ANDI Peng: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 AUDIENCIA: No me acuerdo lo que específicamente. 88 00:03:59,792 --> 00:04:00,710 ANDI Peng: Eso está bien. 89 00:04:00,710 --> 00:04:01,960 AUDIENCIA: Netflixing probablemente. 90 00:04:01,960 --> 00:04:02,990 ANDI Peng: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Sí, es un buen momento. 92 00:04:04,710 --> 00:04:05,780 OK. 93 00:04:05,780 --> 00:04:06,340 Correcto. 94 00:04:06,340 --> 00:04:08,877 Para cualquier duda antes saltamos en el material? 95 00:04:08,877 --> 00:04:11,210 Además, vamos a tratar de acelerar la sección de hoy en día, 96 00:04:11,210 --> 00:04:12,504 no hay mucho que cubrir. 97 00:04:12,504 --> 00:04:14,420 Y es de esperar, nos pondremos en contacto aquí un poco temprano. 98 00:04:14,420 --> 00:04:15,580 Lo siento por no dulces, también. 99 00:04:15,580 --> 00:04:20,310 Soy una decepción, especialmente durante Halloween. 100 00:04:20,310 --> 00:04:21,110 >> Correcto. 101 00:04:21,110 --> 00:04:21,810 Guay. 102 00:04:21,810 --> 00:04:28,370 Así que vamos a empezar a hablar un argumento de línea de comandos llamado chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, todo lo que es es sólo un sistema Unix de llamadas realizadas desde la línea de comandos 104 00:04:32,850 --> 00:04:34,700 para cambiar los permisos de archivos. 105 00:04:34,700 --> 00:04:37,790 Así, por ejemplo, tenemos todo encontró una página 106 00:04:37,790 --> 00:04:40,550 como éste, probablemente, en algún momento nuestra esperanza de vida de ser un internet 107 00:04:40,550 --> 00:04:45,110 usuario, donde nuestro servidor web tiene nos ha dado el error del Prohibida. 108 00:04:45,110 --> 00:04:49,086 Usted no tiene permiso para acceder, bla, bla, bla, en este servidor. 109 00:04:49,086 --> 00:04:50,960 Todo lo que realmente significa es que los permisos 110 00:04:50,960 --> 00:04:53,920 que se adjunta a lo página que estaba intentando acceder 111 00:04:53,920 --> 00:04:55,840 no estaban abiertas para usted. 112 00:04:55,840 --> 00:04:57,870 Así que más o menos, chmod es la manera en la cual 113 00:04:57,870 --> 00:05:02,140 podemos modificar los permisos del sistema dar a cada uno, el usuario, el grupo, 114 00:05:02,140 --> 00:05:04,975 o el mundo, o cualquier combinación de los acceso 115 00:05:04,975 --> 00:05:07,900 a ciertos archivos, directorios, nada realmente, 116 00:05:07,900 --> 00:05:11,720 cualquier tipo de sistema de un sistema operativo. 117 00:05:11,720 --> 00:05:14,039 Así que si alguno de los chicos tienen ordenadores si se siente 118 00:05:14,039 --> 00:05:17,080 como seguir conmigo hoy, totalmente dude en sólo tienes que escribir cosas 119 00:05:17,080 --> 00:05:17,580 en. 120 00:05:17,580 --> 00:05:19,790 Si no, usted puede simplemente pasar el rato. 121 00:05:19,790 --> 00:05:23,170 Así que voy a tirar en realidad hasta mi terminal en este momento. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Así que el comando se ejecute chmod, o al menos solo 124 00:05:32,310 --> 00:05:37,840 para listar los permisos de su directorio de archivos, es sólo ls-l. 125 00:05:37,840 --> 00:05:42,270 Como puede ver, un montón de cosas aparece mayoría de los cuales 126 00:05:42,270 --> 00:05:45,390 es importante para nosotros el lado izquierdo aquí. 127 00:05:45,390 --> 00:05:48,710 Ustedes ver un montón de rs, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Sí. 129 00:05:49,210 --> 00:05:51,400 >> Esas son esencialmente sólo todos los permisos de archivo 130 00:05:51,400 --> 00:05:55,960 para explicar lo que ciertos directorios y archivos dentro de su sistema tienen. 131 00:05:55,960 --> 00:05:58,150 Así que vamos a volver a el punto aquí el poder. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Así que además de los nombres de archivo como ustedes pueden ver a la derecha, 134 00:06:06,500 --> 00:06:10,312 estamos buscando para ver esencialmente sólo la columna de la izquierda. 135 00:06:10,312 --> 00:06:12,020 Así que además de justo los nombres de los archivos, que 136 00:06:12,020 --> 00:06:16,240 puede ver los permisos de archivos, su grupo propietario, el nombre del grupo, la fecha 137 00:06:16,240 --> 00:06:18,460 que el archivo por última vez modificada, etcétera. 138 00:06:18,460 --> 00:06:20,640 Usted puede ver un montón de cosas usando chmod. 139 00:06:20,640 --> 00:06:26,037 Así que la forma en que leemos chmod es que la primera letra que prácticamente ignoramos 140 00:06:26,037 --> 00:06:27,370 en cuanto a los permisos de lectura. 141 00:06:27,370 --> 00:06:31,460 >> La primera carta sólo nos dice lo tipo de sistema que estamos accediendo. 142 00:06:31,460 --> 00:06:34,240 d, en este caso, es una carpeta o directorio. 143 00:06:34,240 --> 00:06:38,430 Así que sabemos que actualmente mi espacio de trabajo la sección siete era un directorio. 144 00:06:38,430 --> 00:06:41,530 Y luego ves de tres tríadas, esencialmente sólo 145 00:06:41,530 --> 00:06:43,490 tres series de tres caracteres. 146 00:06:43,490 --> 00:06:45,680 Y usted puede pensar en cada uno como un poco. 147 00:06:45,680 --> 00:06:49,260 >> Así que sólo hay tres conjuntos de tres bits, nueve bits en total. 148 00:06:49,260 --> 00:06:51,420 Se les trata en grupos de tres. 149 00:06:51,420 --> 00:06:56,230 Así que el primer grupo de tres es siempre los permisos de usuario. 150 00:06:56,230 --> 00:07:00,557 >> Su segundo grupo de tres es siempre sus permisos de grupo. 151 00:07:00,557 --> 00:07:02,765 Y el tercer conjunto de tres siempre es como el mundo, 152 00:07:02,765 --> 00:07:04,380 los permisos de todo el mundo. 153 00:07:04,380 --> 00:07:06,320 Así que supongo que la fácil pregunta que debemos hacernos es ¿cuál es 154 00:07:06,320 --> 00:07:08,051 la diferencia entre el usuario y grupo. 155 00:07:08,051 --> 00:07:09,800 La principal diferencia entre el usuario y el grupo 156 00:07:09,800 --> 00:07:13,180 es que un usuario es sólo usted personalmente accediendo a lo que es ahora. 157 00:07:13,180 --> 00:07:18,070 Un grupo puede ser si usted tiene múltiples usuarios en un ordenador, por ejemplo. 158 00:07:18,070 --> 00:07:20,280 Todos ellos pueden ser tratados como un grupo. 159 00:07:20,280 --> 00:07:23,220 >> Y entonces el mundo es sólo el mundo, todo el mundo. 160 00:07:23,220 --> 00:07:31,010 Así que podemos ver más adelante cómo podemos modificar aquellos en los diferentes permisos. 161 00:07:31,010 --> 00:07:33,080 Así que más o menos, estamos va a centrarse aún 162 00:07:33,080 --> 00:07:38,450 en la parte de la izquierda, donde para el directorio CS50 vemos drwx, 163 00:07:38,450 --> 00:07:40,970 donde el r simplemente significa que es fácil de leer. 164 00:07:40,970 --> 00:07:42,620 >> La w simplemente significa que es modificable. 165 00:07:42,620 --> 00:07:45,470 Y luego los x solo significa que es ejecutable. 166 00:07:45,470 --> 00:07:47,220 Se podría pensar que tipo de que no tiene sentido. 167 00:07:47,220 --> 00:07:47,993 Debe ser e. 168 00:07:47,993 --> 00:07:50,150 Pero x realidad un poco funciona un poco mejor, 169 00:07:50,150 --> 00:07:51,690 porque puedes recordarlo mejor. 170 00:07:51,690 --> 00:07:56,406 >> Así que los tres tipos de cosas que usted puede hacer, se puede leer un archivo, 171 00:07:56,406 --> 00:07:59,280 usted puede tener permiso para escribir un presentar, ya que podría tener el permiso 172 00:07:59,280 --> 00:08:00,780 para ejecutar un archivo. 173 00:08:00,780 --> 00:08:04,580 Y así el camino que en realidad representar aquellos en bits 174 00:08:04,580 --> 00:08:06,940 es el número 4, 2 y 1. 175 00:08:06,940 --> 00:08:12,870 Así que cualquier cosa que sea legible es representado por el número de 4. 176 00:08:12,870 --> 00:08:15,150 >> Cualquier cosa que sea escribible está representado por 2. 177 00:08:15,150 --> 00:08:18,880 Y cualquier cosa que sea ejecutable representada por 1. 178 00:08:18,880 --> 00:08:22,860 Así que en este sentido, también puede representar estos numbers-- 179 00:08:22,860 --> 00:08:25,281 Hola, bienvenido, de una manera diferente. 180 00:08:25,281 --> 00:08:25,780 Apenado. 181 00:08:25,780 --> 00:08:28,510 Antes de todos, voy a pedir disculpas en nombre de todos 182 00:08:28,510 --> 00:08:29,468 entrar en la clase ahora. 183 00:08:29,468 --> 00:08:30,810 Olvidé dulces hoy. 184 00:08:30,810 --> 00:08:33,640 Siento que soy un fracaso esta semana de Halloween. 185 00:08:33,640 --> 00:08:37,070 Traeré el doble de la cantidad de dulces próxima vez para compensar por ello. 186 00:08:37,070 --> 00:08:42,360 Pero de todos modos, lo siento acerca de que los chicos, lo siento. 187 00:08:42,360 --> 00:08:46,640 >> Así que la forma en que podemos realmente entrada en nuestro comando el argumento es que 188 00:08:46,640 --> 00:08:51,760 puede hacer chmod permisos slash grupo, donde el grupo es sólo lo que sea 189 00:08:51,760 --> 00:08:54,130 grupo estamos tratando de cambiar. 190 00:08:54,130 --> 00:08:56,600 Y los permisos son lo que queramos añadir a la misma. 191 00:08:56,600 --> 00:08:58,860 Así, por ejemplo, la además añade permisos, 192 00:08:58,860 --> 00:09:01,590 y la resta quita permisos. 193 00:09:01,590 --> 00:09:07,060 >> Y el tipo de grupo tenemos nuestra una para todos, para los usuarios u, g para los grupos, 194 00:09:07,060 --> 00:09:09,050 o o para otros. 195 00:09:09,050 --> 00:09:10,300 Es un poco abstracta en este momento. 196 00:09:10,300 --> 00:09:13,550 Pero vamos a repasar un par de ejemplos sólo para demostrar esto muy rápido. 197 00:09:13,550 --> 00:09:16,960 Todo el mundo en esta buena diapositiva, así que puede pasar? 198 00:09:16,960 --> 00:09:18,280 Guay. 199 00:09:18,280 --> 00:09:21,290 >> Así, por ejemplo, rwx. 200 00:09:21,290 --> 00:09:26,720 Antes de hablar de lo que representa, en primer lugar ¿qué significa rwx? 201 00:09:26,720 --> 00:09:31,450 Si usted ve que esta cierta archivo tiene permisos de rwx, 202 00:09:31,450 --> 00:09:34,270 ¿qué significa la persona podría ser capaz de hacer? 203 00:09:34,270 --> 00:09:35,740 >> AUDIENCIA: Leer, escribir y ejecutar. 204 00:09:35,740 --> 00:09:36,420 >> ANDI Peng: Sí, exactamente. 205 00:09:36,420 --> 00:09:37,840 Usted puede leer escribir y ejecutar. 206 00:09:37,840 --> 00:09:40,790 Debido a que los tres de los personajes están presentes. 207 00:09:40,790 --> 00:09:44,370 Así que si seguimos adelante y hablar acerca de esto en términos de bits, 208 00:09:44,370 --> 00:09:48,490 la rwx también se puede representar como 700. 209 00:09:48,490 --> 00:09:53,370 Debido a que como se puede ver en cualquier tipo de permiso directorio de archivos, 210 00:09:53,370 --> 00:09:54,320 hay tres tríadas. 211 00:09:54,320 --> 00:09:58,060 >> En este caso, sólo la primera tríada tiene nada allí. 212 00:09:58,060 --> 00:10:04,050 Así pues, en este caso, el r es 4, la w es 2, y la x es 1. 213 00:10:04,050 --> 00:10:05,860 Si agrega los juntos, es 7. 214 00:10:05,860 --> 00:10:08,730 >> Y así, si convierte que a binario, es 700. 215 00:10:08,730 --> 00:10:10,310 Debido a 7 es la primera tríada. 216 00:10:10,310 --> 00:10:12,760 0, no hay nada presente en el segundo tríada. 217 00:10:12,760 --> 00:10:15,850 Y entonces no hay nada presente en la tercera tríada, por lo que esa es otra 0. 218 00:10:15,850 --> 00:10:22,520 >> Así que en el mismo sentido, un montón de tríadas se puede representar simplemente en bits, justo 219 00:10:22,520 --> 00:10:23,600 en binario también. 220 00:10:23,600 --> 00:10:29,920 Así que 700 significa exactamente lo mismo como rwx ------ en términos de permisos. 221 00:10:29,920 --> 00:10:32,590 Todo el mundo claro? 222 00:10:32,590 --> 00:10:33,090 Guay. 223 00:10:33,090 --> 00:10:40,290 Y así chmod 111 daría que los permisos para el archivo? 224 00:10:40,290 --> 00:10:42,600 Darle chicos un par segundo para convertir esto. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Recuerde que la primera tríada es para el usuario. 227 00:10:53,250 --> 00:10:56,320 La segunda tríada es para el grupo. 228 00:10:56,320 --> 00:10:59,450 Y la tercera tríada es para todo el mundo. 229 00:10:59,450 --> 00:11:03,680 >> Y así chmod 111 daría que tipo de permisos y para quién? 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 en ello y volver. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Sí. 234 00:11:20,910 --> 00:11:22,920 >> AUDIENCIA: Para que todos puedan ejecutarlo. 235 00:11:22,920 --> 00:11:23,920 ANDI Peng: Sí, exactamente. 236 00:11:23,920 --> 00:11:25,544 AUDIENCIA: Pero nadie sabe leer ni escribir. 237 00:11:25,544 --> 00:11:27,910 ANDI Peng: Y no dude para explicar a todo el mundo 238 00:11:27,910 --> 00:11:29,860 cómo llegó a esa conclusión. 239 00:11:29,860 --> 00:11:34,290 >> AUDIENCIA: Bueno, para el usuario, el grupo, y el mundo, todo es 1, 240 00:11:34,290 --> 00:11:35,700 que es el código de ejecutable. 241 00:11:35,700 --> 00:11:37,070 >> ANDI Peng: Sí, exactamente. 242 00:11:37,070 --> 00:11:42,320 Así 1, en este caso, lo único que sabemos es que ese es el código ejecutable. 243 00:11:42,320 --> 00:11:45,280 Porque la lectura es 4. 244 00:11:45,280 --> 00:11:45,990 La escritura es 2. 245 00:11:45,990 --> 00:11:47,230 Y el ejecutable es 1. 246 00:11:47,230 --> 00:11:51,580 Así se las tres tríadas son 1, que significa que para el mundo, para el usuario, 247 00:11:51,580 --> 00:11:54,680 y para el grupo, son todos ejecutable. 248 00:11:54,680 --> 00:11:56,170 >> Todo el mundo bien con eso? 249 00:11:56,170 --> 00:11:56,940 OK. 250 00:11:56,940 --> 00:11:59,180 Y así, la segunda forma que podemos realidad 251 00:11:59,180 --> 00:12:01,220 escribir esto también es Sólo podía hacer chmod 252 00:12:01,220 --> 00:12:05,050 un x más. una significa todos o todos. 253 00:12:05,050 --> 00:12:07,060 El plus significa dar permisos. 254 00:12:07,060 --> 00:12:09,112 Y entonces la x significa ejecutable. 255 00:12:09,112 --> 00:12:11,070 Así que hay dos comandos en realidad son idénticos. 256 00:12:11,070 --> 00:12:12,903 Así que si desea ejecutar esto en su terminal, 257 00:12:12,903 --> 00:12:15,830 haces chmod 111, nombre del el directorio o el archivo. 258 00:12:15,830 --> 00:12:18,520 O usted puede hacer chmod un plus x, nombre del archivo de directorio. 259 00:12:18,520 --> 00:12:22,150 La misma cosa, sólo una manera más fácil, quizás, para algunos representan o el cambio 260 00:12:22,150 --> 00:12:24,280 permisos de archivo. 261 00:12:24,280 --> 00:12:28,806 >> Todo el bien con chmod antes de seguir adelante? 262 00:12:28,806 --> 00:12:31,700 Guay. 263 00:12:31,700 --> 00:12:35,336 Así que ahora vamos a la cabeza en una algunas diapositivas de conceptos muy abstractos 264 00:12:35,336 --> 00:12:37,210 que estoy más o menos ir a la brisa a través. 265 00:12:37,210 --> 00:12:39,530 Y es totalmente bien si no lo entiendo todo. 266 00:12:39,530 --> 00:12:42,330 >> Incluso ahora, todavía no se sabe muy entender todo por completo. 267 00:12:42,330 --> 00:12:44,640 Pero es más de conseguir el entendimiento de nivel superior 268 00:12:44,640 --> 00:12:47,280 de cómo algunas de estas cosas funcionan. 269 00:12:47,280 --> 00:12:50,490 Así que vamos a hablar rápidamente sobre TCP / IP, 270 00:12:50,490 --> 00:12:54,880 que es sólo de Control de Transmisión Protocolo slash Protocolo de Internet. 271 00:12:54,880 --> 00:12:57,135 >> Recordemos de conferencia, David, ¿te enseñan 272 00:12:57,135 --> 00:13:00,700 el ejemplo donde había pasar las notas en un sobre 273 00:13:00,700 --> 00:13:02,790 hasta recibir la parte superior de la sala de conferencias? 274 00:13:02,790 --> 00:13:06,990 Así, en el auditorio del colegio de abogados David demostró esencialmente 275 00:13:06,990 --> 00:13:10,370 cómo TCP / IP trabaja en el sentido de que todo lo que 276 00:13:10,370 --> 00:13:14,300 es es un medio para asegurar que los datos ha sido entregado a través de un servidor 277 00:13:14,300 --> 00:13:15,870 o en Internet. 278 00:13:15,870 --> 00:13:22,270 Así, en el ejemplo de la envolvente y el mensaje, el usuario al final 279 00:13:22,270 --> 00:13:26,410 pudo ver que, oh, necesitaba recibir cuatro paquetes de información. 280 00:13:26,410 --> 00:13:28,096 >> Pero en realidad sólo recibió tres. 281 00:13:28,096 --> 00:13:29,470 Eso significa que debo estar perdiendo una. 282 00:13:29,470 --> 00:13:30,760 Y no fue entregado. 283 00:13:30,760 --> 00:13:33,990 Y así TCP / IP en el Internet, a través de su equipo y el servidor, 284 00:13:33,990 --> 00:13:35,500 hace exactamente lo mismo. 285 00:13:35,500 --> 00:13:38,900 Todo lo que hace es especificar un marco en el que una pérdida de datos 286 00:13:38,900 --> 00:13:41,100 los paquetes pueden ser reenviados y recibidos. 287 00:13:41,100 --> 00:13:44,760 >> Al igual que en el Internet cuando usted está tratando para acceder a archivos en línea o enviar archivos 288 00:13:44,760 --> 00:13:48,210 a tu amigo o mirar en la web navegadores, miles y miles 289 00:13:48,210 --> 00:13:50,440 de miles de millones de bytes de información 290 00:13:50,440 --> 00:13:52,840 se transfieren por milisegundo. 291 00:13:52,840 --> 00:13:54,560 Y es muy, muy confuso. 292 00:13:54,560 --> 00:13:57,110 Y es muy difícil realmente saben lo que se ha enviado 293 00:13:57,110 --> 00:13:58,270 y lo que no ha sido enviado. 294 00:13:58,270 --> 00:14:02,210 >> Y así TCP / IP simplemente especifica un marco coherente 295 00:14:02,210 --> 00:14:04,115 en el que su web navegador y el servidor 296 00:14:04,115 --> 00:14:05,990 puede tipo de comunicación con unos a otros, 297 00:14:05,990 --> 00:14:08,550 asegurarse de que los paquetes son Todo está aquí y nada de perdida 298 00:14:08,550 --> 00:14:12,700 y todos los datos que requeridos en realidad está mostrando correctamente. 299 00:14:12,700 --> 00:14:16,350 Todo el mundo en Aceptar en sólo que muy entender breve alto nivel? 300 00:14:16,350 --> 00:14:18,510 Guay. 301 00:14:18,510 --> 00:14:21,550 >> Así que vamos a mover a hablar de HTTP, que 302 00:14:21,550 --> 00:14:24,610 es sólo Protocolo de transferencia de hipertexto. 303 00:14:24,610 --> 00:14:32,550 HTTP, todo lo que es es lo que sea cualquier página o archivo se accede en su sitio web, 304 00:14:32,550 --> 00:14:35,810 el servidor devuelve un HTTP código de estado en respuesta 305 00:14:35,810 --> 00:14:39,869 a la petición asegurándose de que o bien, oh, esta solicitud pasó. 306 00:14:39,869 --> 00:14:41,410 Y todo está mostrando correctamente. 307 00:14:41,410 --> 00:14:43,500 O bien, oh, no, 404. 308 00:14:43,500 --> 00:14:44,730 Algo salió mal. 309 00:14:44,730 --> 00:14:45,940 Oh, no puedo mostrar. 310 00:14:45,940 --> 00:14:50,370 >> Todo lo que es, es que lo que sea usted está tratando de acceder, 311 00:14:50,370 --> 00:14:55,160 utilizar como el usuario está tratando de acceder, en la Internet- simplemente asegurarse 312 00:14:55,160 --> 00:15:00,080 que o bien tiene éxito acceder lo que fuera o no 313 00:15:00,080 --> 00:15:02,080 acceder con éxito lo que fuera. 314 00:15:02,080 --> 00:15:05,120 Y por lo que el estado HTTP código sólo le proporciona 315 00:15:05,120 --> 00:15:09,910 un medio de poder saber si o no se ha realizado correctamente o no. 316 00:15:09,910 --> 00:15:13,440 Así, por ejemplo, una solicitud de ejemplo. 317 00:15:13,440 --> 00:15:16,050 >> Se puede ver aquí es generalmente generalmente de cuatro líneas. 318 00:15:16,050 --> 00:15:22,530 Tenemos un HTTP GET 1.1, que es justo la URL petición método, el protocolo 319 00:15:22,530 --> 00:15:24,490 versión, el nombre del campo, y el valor del campo. 320 00:15:24,490 --> 00:15:26,810 Así que no hay necesidad de completo memorizar nada aquí. 321 00:15:26,810 --> 00:15:29,960 Sólo tipo de familiarizarse con cómo éstas se ven. 322 00:15:29,960 --> 00:15:34,060 >> En este ejemplo, la petición método URL es sólo lo que sea pedido 323 00:15:34,060 --> 00:15:35,620 va a enviar al servidor. 324 00:15:35,620 --> 00:15:40,710 Al igual que, hey, servidor, realmente quiero Acceso bla, bla, bla, página HTTP. 325 00:15:40,710 --> 00:15:43,785 La versión del protocolo es sólo lo que sea versión de su anfitrión o el servidor 326 00:15:43,785 --> 00:15:45,490 se utiliza para acceder a la información. 327 00:15:45,490 --> 00:15:49,510 >> El nombre del campo es el sitio web o en el URL que usted está tratando de acceder, 328 00:15:49,510 --> 00:15:52,610 en este caso, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Y el valor del campo es simplemente típicamente nombre, valor. 330 00:15:56,110 --> 00:15:59,540 Y puede ser cualquier tipo de combinación de letras o números o lo que sea. 331 00:15:59,540 --> 00:16:02,890 >> Así que una solicitud típica, por lo lo que el equipo realmente 332 00:16:02,890 --> 00:16:08,400 envía al servidor que dice, hey, usted sabe lo que necesito esta muestra, 333 00:16:08,400 --> 00:16:13,000 eso es del tipo de demanda que en realidad reciben. 334 00:16:13,000 --> 00:16:16,760 Un ejemplo de lo que la respuesta servidor enviaría de nuevo a usted 335 00:16:16,760 --> 00:16:20,320 sería más o menos la misma cosa, excepto con un código de estado en la parte superior. 336 00:16:20,320 --> 00:16:24,550 Así que 200, 2 0 0 es siempre el código de estado de OK. 337 00:16:24,550 --> 00:16:26,050 Al igual que, OK, esta solicitud pasó. 338 00:16:26,050 --> 00:16:27,980 Usted fue capaz de acceder todo correctamente. 339 00:16:27,980 --> 00:16:28,810 La vida es buena. 340 00:16:28,810 --> 00:16:29,990 La vida es bella. 341 00:16:29,990 --> 00:16:32,150 Todo es totalmente bueno. 342 00:16:32,150 --> 00:16:36,050 >> Y así, esto sólo le dice a su navegador y su servidor, bueno, de todo lo bueno. 343 00:16:36,050 --> 00:16:37,470 Tengo toda la información que necesito. 344 00:16:37,470 --> 00:16:39,160 Guay. 345 00:16:39,160 --> 00:16:41,790 Pero el problema es a veces surgen problemas 346 00:16:41,790 --> 00:16:46,850 cuando tener-- durar Creo Hablé de los duplicados. 347 00:16:46,850 --> 00:16:48,870 Usted tiene menos buenas respuestas. 348 00:16:48,870 --> 00:16:52,660 >> Así, por ejemplo, 404 es la Página no encontrada. 349 00:16:52,660 --> 00:16:54,897 A veces se tiene un acceso prohibido. 350 00:16:54,897 --> 00:16:56,730 Usted tiene varios otros códigos de estado que estoy 351 00:16:56,730 --> 00:16:59,688 Seguro que has visto todo cuando estás tratando de hacer investigación en el Internet. 352 00:16:59,688 --> 00:17:02,300 Y su navegador le da la, no, no se puede acceder. 353 00:17:02,300 --> 00:17:04,190 Y usted es como, bueno, mierda. 354 00:17:04,190 --> 00:17:09,260 >> Así que más o menos, hay algunos códigos de estado bastante comunes. 355 00:17:09,260 --> 00:17:14,109 Quizás familiarizarse con la que los que son. 356 00:17:14,109 --> 00:17:16,000 El más divertido que Creo que he escuchado 357 00:17:16,000 --> 00:17:18,040 de-- si le toca buscar todos ellos 358 00:17:18,040 --> 00:17:21,490 en línea, por alguna razón hay en realidad un código de estado de bienes 359 00:17:21,490 --> 00:17:26,619 llamado 418 Soy una tetera. 360 00:17:26,619 --> 00:17:29,610 >> Busqué en Google donde el origen de esta era. 361 00:17:29,610 --> 00:17:33,150 Y al parecer uno April Fools ' Hace un par de décadas Día, 362 00:17:33,150 --> 00:17:36,415 alguien pensó que sería divertido para crear un nuevo código de estado de llamada 418 363 00:17:36,415 --> 00:17:37,380 Soy una tetera. 364 00:17:37,380 --> 00:17:40,760 Legítimamente, el nombre de este código se llama Soy una tetera. 365 00:17:40,760 --> 00:17:43,670 >> Me olvide de qué página hay que ir a hacer realidad esta pantalla. 366 00:17:43,670 --> 00:17:47,955 Pero, al parecer, en realidad se puede obtener un código de estado que soy 367 00:17:47,955 --> 00:17:51,400 una tetera de alguna manera a través de hacer algo. 368 00:17:51,400 --> 00:17:54,480 Así que hay cientos y cientos de códigos de estado. 369 00:17:54,480 --> 00:17:56,730 >> Algunos de ellos hacen más sentido que otros. 370 00:17:56,730 --> 00:18:01,430 Pero prácticamente sólo familiarizarse usted mismo con los más comunes. 371 00:18:01,430 --> 00:18:04,090 El cuerpo de la entidad solicitada es bajo y robusto, al parecer. 372 00:18:04,090 --> 00:18:07,990 >> Así que a veces hay más errores espantosos que soy una tetera. 373 00:18:07,990 --> 00:18:11,210 Pero esta es una que supongo que tipo de esperanza de golpear. 374 00:18:11,210 --> 00:18:14,130 Pero yo no creo que lo hará. 375 00:18:14,130 --> 00:18:17,260 Todo el mundo bien en el estado justo códigos, las solicitudes, los procesos, la toma de 376 00:18:17,260 --> 00:18:19,155 que la información se entrega correctamente? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Así que ahora vamos a la transición en una parte divertida de la sección de hoy, 379 00:18:26,120 --> 00:18:28,500 donde hablamos un poco sobre HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, todo lo que es de hipertexto Lenguaje de marcado. 381 00:18:32,580 --> 00:18:35,160 Es sólo la lengua estándar se utiliza para crear todas las web 382 00:18:35,160 --> 00:18:36,690 páginas en Internet. 383 00:18:36,690 --> 00:18:39,560 >> Así que cualquier página web, lo que es tu página web favorita? 384 00:18:39,560 --> 00:18:40,855 ¿Cuál es tu página web favorita? 385 00:18:40,855 --> 00:18:41,771 >> AUDIENCIA: [inaudible]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI Peng: Lo siento? 388 00:18:43,090 --> 00:18:43,980 >> AUDIENCIA: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI Peng: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Así Tumblr está escrito en HTML. 391 00:18:46,800 --> 00:18:50,700 Y, entonces, realmente vamos a través y jugar con algunas de estas cosas 392 00:18:50,700 --> 00:18:51,980 mas tarde. 393 00:18:51,980 --> 00:18:54,980 Casi todo lo que usted la necesidad de aprender, conocer, 394 00:18:54,980 --> 00:18:58,540 para escribir HTML puedas probablemente solo Google en Internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, no es un programa como C donde se pueden crear variables y hacer 396 00:19:04,490 --> 00:19:05,600 enfriar las cosas con él. 397 00:19:05,600 --> 00:19:08,747 Es más justo, oh, así es como yo quieren que las cosas aparecen en mi sitio web. 398 00:19:08,747 --> 00:19:10,080 Y yo sólo voy a ponerlo en. 399 00:19:10,080 --> 00:19:12,160 Y se va con el estilo de ella. 400 00:19:12,160 --> 00:19:15,650 >> Así HTML, en cierto sentido, es como un lenguaje de formato o plantilla. 401 00:19:15,650 --> 00:19:16,680 Es mucho más fácil. 402 00:19:16,680 --> 00:19:19,030 Es mucho más fácil de aprender, mucho más fácil de escribir en 403 00:19:19,030 --> 00:19:21,450 de su programación típica idioma, muy fácil, 404 00:19:21,450 --> 00:19:24,310 accesible y muy fácil de usar. 405 00:19:24,310 --> 00:19:29,040 >> Así que estamos realmente va a jugar alrededor, escribir nuestras propias páginas hoy. 406 00:19:29,040 --> 00:19:32,900 Pero antes de comenzar, solo quiero repasar algunas mejores prácticas breves. 407 00:19:32,900 --> 00:19:35,660 Debido a HTML es tal un fácil lenguaje y porque incluso 408 00:19:35,660 --> 00:19:39,012 si lo haces un par de cosas mal, a veces puede no notar, 409 00:19:39,012 --> 00:19:41,970 queremos asegurarnos de que estamos en realidad la adhesión a nuestras mejores prácticas 410 00:19:41,970 --> 00:19:44,490 para asegurarse de que las cosas que podría dar la vuelta, pero 411 00:19:44,490 --> 00:19:49,660 No siempre van a no ir a la derecha asegurarse de que están minimizados. 412 00:19:49,660 --> 00:19:53,570 >> Así que más o menos, asegúrese tus cierre todas las etiquetas 413 00:19:53,570 --> 00:19:54,737 cuando estás escribiendo en HTML. 414 00:19:54,737 --> 00:19:56,486 Si va a abrir un cuerpo, asegúrese de que está 415 00:19:56,486 --> 00:19:58,015 cerrándola con un cuerpo en alguna parte. 416 00:19:58,015 --> 00:20:00,720 Usted quiere asegurarse de que su página web valida mediante el uso de 417 00:20:00,720 --> 00:20:02,070 lo que llama el W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Usted puede simplemente Google que en línea, y hay un enlace a la misma. 419 00:20:05,460 --> 00:20:07,820 >> Y entonces usted quiere separada HTML, que 420 00:20:07,820 --> 00:20:13,060 es el lenguaje de marcado de su estilo, que es el lenguaje CSS que David 421 00:20:13,060 --> 00:20:17,510 demostramos que también somos va a jugar un poco con la conferencia. 422 00:20:17,510 --> 00:20:19,120 Guay. 423 00:20:19,120 --> 00:20:23,500 Así que cada vez que desee ejecutar HTML en el aparato CS50, 424 00:20:23,500 --> 00:20:26,240 vamos a ejecutar un programa llamado apache, 425 00:20:26,240 --> 00:20:29,810 que todo lo que está a sólo construido en servidor web que todos en CS50 426 00:20:29,810 --> 00:20:31,410 tiene acceso a. 427 00:20:31,410 --> 00:20:35,700 Lo llamamos apache50 sólo porque gustaría llamar a todo 50 en CS50. 428 00:20:35,700 --> 00:20:39,610 >> Así que la forma en que se inicia la web CS50 servidor está escribiendo en su comando 429 00:20:39,610 --> 00:20:42,860 línea apache50 iniciar punto. 430 00:20:42,860 --> 00:20:46,665 Y si quieres ponerle fin en cualquier tiempo, usted apache50 terminar sin puntos. 431 00:20:46,665 --> 00:20:47,910 Y usted acaba de golpear Intro. 432 00:20:47,910 --> 00:20:50,810 Y debe ser la partida aquí pronto. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Sip. 435 00:20:54,130 --> 00:20:58,110 Así que sólo voy a ir rápidamente sobre un ejemplo de un muy breve página web. 436 00:20:58,110 --> 00:21:00,280 Y vamos a pasar como 10, 15 minutos jugando 437 00:21:00,280 --> 00:21:04,008 alrededor de escribir nuestras propias páginas web. 438 00:21:04,008 --> 00:21:05,320 OK. 439 00:21:05,320 --> 00:21:07,841 Así que aquí en el IDE-- puede ver que todo el mundo? 440 00:21:07,841 --> 00:21:08,340 En realidad no. 441 00:21:08,340 --> 00:21:11,400 Aquí, voy a acercar. 442 00:21:11,400 --> 00:21:15,850 >> Sólo tengo este breve plantilla aquí sin nada realmente en él. 443 00:21:15,850 --> 00:21:20,660 Sólo vamos a escribir rápidamente un programa de HTML en el que acabamos de 444 00:21:20,660 --> 00:21:22,050 saludar al mundo. 445 00:21:22,050 --> 00:21:24,970 Así mismo que en C, ahora estamos sólo va a hacerlo en HTML. 446 00:21:24,970 --> 00:21:28,250 ¿Alguien quiere en realidad sólo intente darme la primera cosa que usted 447 00:21:28,250 --> 00:21:31,870 tendría que poner en un documento HTML? 448 00:21:31,870 --> 00:21:32,850 Sí. 449 00:21:32,850 --> 00:21:35,965 >> AUDIENCIA: Los soportes, el [inaudible]. 450 00:21:35,965 --> 00:21:36,590 ANDI Peng: Sí. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Así que algo que es muy único para HTML que normalmente tradicionalmente 453 00:21:50,930 --> 00:21:56,080 no encontrará en otro comando lenguajes de programación de nivel de línea 454 00:21:56,080 --> 00:21:59,890 es que en realidad a especificar el tipo de archivo 455 00:21:59,890 --> 00:22:01,987 que este va a ser en la parte superior de nuestro código. 456 00:22:01,987 --> 00:22:04,570 Así que en este instance-- Creo eso es el comando correcto, ¿no? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Sip. 459 00:22:10,550 --> 00:22:14,860 En la parte superior, lo que desea incluir Bang DOCTYPE html entre paréntesis justo 460 00:22:14,860 --> 00:22:17,670 de decirle a su equipo, hey, mirar hacia fuera. 461 00:22:17,670 --> 00:22:20,050 Y documento HTML está llegando. 462 00:22:20,050 --> 00:22:22,250 Y entonces, ¿cómo queremos para empezar nuestro archivo? 463 00:22:22,250 --> 00:22:25,540 Si sólo queremos saludar, tener un página web que dice hola al mundo, 464 00:22:25,540 --> 00:22:26,915 cómo hacemos para construir esto? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> En realidad, pasemos a Google. 467 00:22:35,300 --> 00:22:36,910 Y en realidad podemos hacer esto. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Sip. 470 00:22:43,670 --> 00:22:44,840 Allá vamos. 471 00:22:44,840 --> 00:22:47,630 Así HTML. 472 00:22:47,630 --> 00:22:52,390 Como se puede ver, mi navegador es en realidad peinar automáticamente esto para mí. 473 00:22:52,390 --> 00:22:56,010 >> Lo mismo que en C, cuando crear una llave de apertura, 474 00:22:56,010 --> 00:22:59,020 su navegador de forma automática añade en una llave de cierre. 475 00:22:59,020 --> 00:23:02,210 Por suerte, nuestra IDE le encanta hacer esto por nosotros también. 476 00:23:02,210 --> 00:23:05,490 Así que ahora podemos especie de escriba el comienzo de una etiqueta, 477 00:23:05,490 --> 00:23:09,139 y va siempre nos dicen que recuerde escribir el final de la etiqueta. 478 00:23:09,139 --> 00:23:10,680 Creo que esto debe ser capitalizado. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Y luego queremos agregar, siempre, una cabeza en la que es el título. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Sólo queremos llamar tal vez este hola, y luego el cuerpo. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Y ahí lo tienes. 485 00:23:36,310 --> 00:23:39,650 Eso es en realidad nuestro documento HTML. 486 00:23:39,650 --> 00:23:45,030 Así que la forma que cualquier documento HTML Siempre se labró en-- misma cosa 487 00:23:45,030 --> 00:23:46,720 con void main int. 488 00:23:46,720 --> 00:23:49,600 Usted siempre quiere tener HTML una etiqueta de apertura y cierre 489 00:23:49,600 --> 00:23:52,100 en la parte superior e inferior de su código. 490 00:23:52,100 --> 00:23:56,900 >> ¿Quieres tener una cabeza en el interior de que contiene el título, justo lo que sea 491 00:23:56,900 --> 00:24:01,430 va a mostrar la ficha de su web página, y luego un cuerpo dentro de los cuales 492 00:24:01,430 --> 00:24:04,120 en realidad mostrar el contenido de lo que quieras hacer. 493 00:24:04,120 --> 00:24:08,220 Así que si quería correr en realidad esto, me voy a acercar a salir. 494 00:24:08,220 --> 00:24:12,740 Puede comenzar realidad apache50 comenzar punto. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Guay. 497 00:24:16,150 --> 00:24:18,980 Y así como se puede ver, ahora este enlace ha aparecido. 498 00:24:18,980 --> 00:24:21,940 Dice que su sitio es ahora disponible en algún enlace de abajo. 499 00:24:21,940 --> 00:24:25,910 Así que todo nuestro IDE tiene done-- No IDE, sorry-- sí, 500 00:24:25,910 --> 00:24:33,280 nuestra IDE ha hecho es crear una web enlace sobre el que todas nuestras páginas web 501 00:24:33,280 --> 00:24:35,407 se puede acceder en el servidor. 502 00:24:35,407 --> 00:24:36,490 Así que vamos a echar un vistazo aquí. 503 00:24:36,490 --> 00:24:40,240 >> Hagamos clic sobre este, vaya a hello.html. 504 00:24:40,240 --> 00:24:42,895 Y usted ve un muy simple página web para hola mundo. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 OK. 507 00:24:47,420 --> 00:24:50,513 Estamos realmente va a acaba tener everyone-- sí, ¿qué pasa? 508 00:24:50,513 --> 00:24:52,353 >> AUDIENCIA: Tengo una pregunta básica. 509 00:24:52,353 --> 00:24:52,978 ANDI Peng: Sí. 510 00:24:52,978 --> 00:24:58,064 AUDIENCIA: ¿Cómo ahorrar su archivo como HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI Peng: Sí. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Así que si yo fuera a crear un nuevo archivo, si lo hago nuevo archivo, Untittle, si lo hago, 514 00:25:10,820 --> 00:25:14,390 section.html, boom, eso es todo lo que tengo que hacer. 515 00:25:14,390 --> 00:25:15,363 >> AUDIENCIA: [inaudible]? 516 00:25:15,363 --> 00:25:15,946 ANDI Peng: No. 517 00:25:15,946 --> 00:25:16,660 AUDIENCIA: [inaudible]. 518 00:25:16,660 --> 00:25:17,240 ANDI Peng: No. 519 00:25:17,240 --> 00:25:18,156 AUDIENCIA: [inaudible]. 520 00:25:18,156 --> 00:25:19,110 ANDI Peng: Sí. 521 00:25:19,110 --> 00:25:24,300 Más o menos, la extensión de el archivo que está dentro de su IDE, 522 00:25:24,300 --> 00:25:27,840 que cuenta el equipo, que le dice al navegador, hey, cuidado. 523 00:25:27,840 --> 00:25:30,480 Este va a ser el código escrita en esta lengua. 524 00:25:30,480 --> 00:25:34,240 Así, por ejemplo, en Microsoft Palabra, ¿qué hacer todos los documentos de Word 525 00:25:34,240 --> 00:25:37,070 terminar con, qué extensión? 526 00:25:37,070 --> 00:25:39,830 .doc o .docx, ¿verdad? 527 00:25:39,830 --> 00:25:42,299 >> Todo lo que hace es especifica a su sistema operativo, hey, 528 00:25:42,299 --> 00:25:43,840 usted tiene un documento de Word que viene. 529 00:25:43,840 --> 00:25:44,940 Abrirlo con Word. 530 00:25:44,940 --> 00:25:46,955 Lo mismo con los archivos PDF. 531 00:25:46,955 --> 00:25:49,650 Sabe, oh, necesito para abrir este archivo 532 00:25:49,650 --> 00:25:52,020 con Adobe Reader o Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Y así extensiones operan la misma forma que en el equipo. 534 00:25:56,130 --> 00:26:00,750 Si especifica la página de códigos ser nombrado HTML, entonces se sabe, 535 00:26:00,750 --> 00:26:01,880 oh, tienes código HTML. 536 00:26:01,880 --> 00:26:04,890 Voy a tratarlo como código html. 537 00:26:04,890 --> 00:26:06,600 Así que es muy inteligente en ese sentido. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Así que todo el mundo, vamos a tomar como 10 minutos y acaba de crear nuestros propios sitios web. 540 00:26:18,730 --> 00:26:21,020 Vamos a añadir en las cosas bonitas. 541 00:26:21,020 --> 00:26:23,440 Siéntase libre de decir lo que quieras. 542 00:26:23,440 --> 00:26:27,890 Sólo quiero para asegurarse de que servidores de todo el mundo se están ejecutando correctamente 543 00:26:27,890 --> 00:26:31,220 antes de que le liberamos en el conjunto de procesadores. 544 00:26:31,220 --> 00:26:33,490 Porque si los servidores no se ejecutan para el conjunto de procesadores, 545 00:26:33,490 --> 00:26:34,847 que va a ser muy, muy malo. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Yo sólo voy a flotar alrededor y ver lo que todo el mundo está trabajando. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 ¿Cómo te va? 550 00:27:27,590 --> 00:27:29,048 >> AUDIENCIA: Acabo de cumplir en mi equipo. 551 00:27:29,048 --> 00:27:29,923 >> ANDI Peng: Eso está bien. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> AUDIENCIA: [inaudible]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI Peng: Sólo su IDE. 555 00:27:44,284 --> 00:27:44,784 Sí. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> AUDIENCIA: [inaudible]. 558 00:27:55,910 --> 00:27:57,590 >> ANDI Peng: Está bien. 559 00:27:57,590 --> 00:27:59,491 >> AUDIENCIA: [inaudible]. 560 00:27:59,491 --> 00:28:00,490 ANDI Peng: Totalmente bien. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Está todo el mundo el acceso a su servidor OK web? 563 00:28:51,530 --> 00:28:52,970 Está apache50 funcionando bien? 564 00:28:52,970 --> 00:28:54,700 Creo que en algunos de las otras secciones, 565 00:28:54,700 --> 00:28:58,790 tenido problemas con no personas ser capaz de acceder al servidor. 566 00:28:58,790 --> 00:28:59,290 Sí. 567 00:28:59,290 --> 00:29:05,764 Así que usted acaba de ejecutar apache50 espacio empezar período espacio. 568 00:29:05,764 --> 00:29:06,680 AUDIENCIA: [inaudible]. 569 00:29:06,680 --> 00:29:07,610 ANDI Peng: Sí. 570 00:29:07,610 --> 00:29:08,294 ¿Bien? 571 00:29:08,294 --> 00:29:09,210 >> AUDIENCIA: [inaudible]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI Peng: Oh, OK. 574 00:29:13,350 --> 00:29:14,808 Así que se supone que tienen un espacio. 575 00:29:14,808 --> 00:29:15,425 Así apache50-- 576 00:29:15,425 --> 00:29:16,115 >> AUDIENCIA: yo lo hice. 577 00:29:16,115 --> 00:29:17,661 >> ANDI Peng: espacio --start. 578 00:29:17,661 --> 00:29:18,660 AUDIENCIA: ¡Oh, punto del espacio. 579 00:29:18,660 --> 00:29:20,110 ANDI Peng: Sí, punto del espacio. 580 00:29:20,110 --> 00:29:23,230 Ahi tienes. 581 00:29:23,230 --> 00:29:25,490 Así que si usted tiene una página HTML creada, 582 00:29:25,490 --> 00:29:28,560 entonces usted puede ir directamente al enlace que se especifica. 583 00:29:28,560 --> 00:29:30,539 Y usted debería ser capaz de acceder a él. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Todo el mundo ha podido acceder a sus páginas web bien? 586 00:29:37,876 --> 00:29:39,339 >> AUDIENCIA: [inaudible]. 587 00:29:39,339 --> 00:29:40,380 ANDI Peng: Oh, eso está bien. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> AUDIENCIA: [inaudible]. 590 00:29:44,964 --> 00:29:45,630 ANDI Peng: Sí. 591 00:29:45,630 --> 00:29:48,171 Creo que en realidad se puede abrir dentro de su navegador, el navegador 592 00:29:48,171 --> 00:29:49,955 y no sólo su navegador IDE. 593 00:29:49,955 --> 00:29:51,580 Sí, creo que si copia y pega. 594 00:29:51,580 --> 00:29:53,920 >> AUDIENCIA: Y entonces ¿cómo apagarlo? 595 00:29:53,920 --> 00:29:54,590 [INAUDIBLE] 596 00:29:54,590 --> 00:29:58,720 >> ANDI Peng: Sí, lo haces apache50 dejar sin período. 597 00:29:58,720 --> 00:29:59,220 Sip. 598 00:29:59,220 --> 00:30:01,180 >> AUDIENCIA: [inaudible]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI Peng: Sin período. 600 00:30:02,768 --> 00:30:04,051 Sí. 601 00:30:04,051 --> 00:30:04,550 Allá vamos. 602 00:30:04,550 --> 00:30:05,050 Sip. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Estamos creando nuestras propias páginas web. 605 00:30:09,855 --> 00:30:10,646 >> AUDIENCIA: Oh, genial. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI Peng: Sí. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> AUDIENCIA: Tengo una pregunta. 610 00:30:22,420 --> 00:30:25,294 Así apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI Peng: 50, sí. 612 00:30:26,731 --> 00:30:28,168 >> AUDIENCIA: [inaudible]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI Peng: ¿Qué? 614 00:30:29,130 --> 00:30:29,750 Eso es raro. 615 00:30:29,750 --> 00:30:32,244 Véase, que era una especie de la cuestión que sucedía antes. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 OK. 618 00:30:38,730 --> 00:30:39,800 Verme después de la sección. 619 00:30:39,800 --> 00:30:42,320 Debido a que estamos teniendo algunos problemas con el servidor. 620 00:30:42,320 --> 00:30:44,325 >> Y usted quiere hacer Asegúrese de que su servidor es 621 00:30:44,325 --> 00:30:45,700 en ejecución antes de comenzar el conjunto de procesadores. 622 00:30:45,700 --> 00:30:47,800 Porque vas a necesitar. 623 00:30:47,800 --> 00:30:48,300 Sí. 624 00:30:48,300 --> 00:30:51,299 ¿Hay alguien más que no ha sido capaz de obtener su servidor para empezar? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Para aquellos de ustedes que quieren añadir estilo adicional a sus páginas web, 627 00:31:17,840 --> 00:31:20,450 en realidad podemos hacer lo que David hizo en la conferencia, así, 628 00:31:20,450 --> 00:31:24,070 que es crear un estilo adicional hoja, que es un CSS punto, en cascada 629 00:31:24,070 --> 00:31:30,080 Hoja de estilo y en realidad sólo tiene que añadir en. 630 00:31:30,080 --> 00:31:33,550 Así, por ejemplo, he acabo de crear casi casi lo mismo 631 00:31:33,550 --> 00:31:37,180 David hizo en la conferencia. 632 00:31:37,180 --> 00:31:39,220 Puede prácticamente sólo hacer cuerpo. 633 00:31:39,220 --> 00:31:45,980 >> Usted tiene lo que se llaman las etiquetas en las que se puede aplicar a IDE cualquier sección 634 00:31:45,980 --> 00:31:48,650 desea dentro de su real a la página HTML. 635 00:31:48,650 --> 00:31:54,890 Así que el cuerpo de la página, puede hacer centro align texto. 636 00:31:54,890 --> 00:31:58,110 Y luego voy creativa una etiqueta llamada superior interna 637 00:31:58,110 --> 00:32:01,860 de los cuales quiero estas cosas suceder, asignar un tamaño de píxel más grande 638 00:32:01,860 --> 00:32:03,104 para la fuente. 639 00:32:03,104 --> 00:32:04,520 Quiero que el peso de la fuente a ser audaces. 640 00:32:04,520 --> 00:32:06,478 Y quiero que el color ser azul, simplemente arbitraria 641 00:32:06,478 --> 00:32:08,570 valores que me decidí a elegir. 642 00:32:08,570 --> 00:32:10,870 Yo puedo crear otra etiqueta llamada media. 643 00:32:10,870 --> 00:32:12,640 Tamaño de la fuente, que sea un poco más pequeño. 644 00:32:12,640 --> 00:32:17,730 Y entonces puedo crear otra etiqueta llamado fondo donde quiero que el tamaño de la fuente 645 00:32:17,730 --> 00:32:20,900 ser aún más pequeño aún. 646 00:32:20,900 --> 00:32:25,630 >> Y así, más o menos esto es sólo ejemplo de código fuente o de origen hojas de estilo 647 00:32:25,630 --> 00:32:27,400 que es muy fácil sólo Google. 648 00:32:27,400 --> 00:32:31,560 Si usted dice, oh, quiero que mi fuente para ser en cursiva y de color verde oscuro, 649 00:32:31,560 --> 00:32:33,980 usted puede probablemente Google, y luego le dirá 650 00:32:33,980 --> 00:32:37,590 las etiquetas o identificadores apropiados para crear. 651 00:32:37,590 --> 00:32:41,670 Y así, la forma en que lo haría realidad tipo de tener esto en un documento HTML 652 00:32:41,670 --> 00:32:45,660 o utilizarlo es todo lo que tienes que hacer aquí es a la cabeza 653 00:32:45,660 --> 00:32:48,560 agregar un enlace a la hoja de estilos. 654 00:32:48,560 --> 00:32:53,600 >> Por lo que sólo puede vincular iguales href cualquiera que sea el nombre de la hoja de estilo 655 00:32:53,600 --> 00:32:54,590 es. 656 00:32:54,590 --> 00:32:56,740 Y entonces la relación es una hoja de estilo. 657 00:32:56,740 --> 00:33:00,700 Así que dentro de cualquier documento HTML, siempre y cuando incluya esta hoja CSS punto, 658 00:33:00,700 --> 00:33:07,140 usted debería ser capaz de acceder a y tienen las propiedades allí. 659 00:33:07,140 --> 00:33:10,370 >> Así, por ejemplo, aquí acabo crear otro ejemplo de la página web. 660 00:33:10,370 --> 00:33:15,680 Esta es bienvenido a la sección CS50 Los martes de 02:00 a 03:30 conmigo. 661 00:33:15,680 --> 00:33:20,300 Y luego he añadido una imagen preciosa que que potencialmente deberíamos ser capaces de ver. 662 00:33:20,300 --> 00:33:24,620 >> Así que si usted echa un vistazo aquí, si vas a style.html, 663 00:33:24,620 --> 00:33:26,310 hemos creado una página web con los gatitos. 664 00:33:26,310 --> 00:33:29,420 Debido gatito son impresionantes. 665 00:33:29,420 --> 00:33:33,570 Así que la adición de una imagen es sólo img enlace SRC. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Más o menos, si hay cualquier tipo de función 668 00:33:38,310 --> 00:33:40,268 que desea añadir a su website-- así que digamos, 669 00:33:40,268 --> 00:33:43,290 desea agregar un menú o una barra de búsqueda o como 670 00:33:43,290 --> 00:33:46,450 un image-- sólo Google cómo hacer eso. 671 00:33:46,450 --> 00:33:48,277 Y usted apenas plop en ese formato. 672 00:33:48,277 --> 00:33:50,110 Y usted puede simplemente bastante tanto sólo tiene que añadir en. 673 00:33:50,110 --> 00:33:52,670 Es muy, muy fácil. 674 00:33:52,670 --> 00:33:55,014 >> Estamos creando nuestro propio páginas web en este momento. 675 00:33:55,014 --> 00:33:55,680 Si quieres-- 676 00:33:55,680 --> 00:33:56,580 >> AUDIENCIA: [inaudible] 677 00:33:56,580 --> 00:33:57,470 >> ANDI Peng: Lo siento? 678 00:33:57,470 --> 00:33:59,310 >> AUDIENCIA: [inaudible]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI Peng: Oh, el div es sólo una división 680 00:34:01,340 --> 00:34:04,370 diciéndome que, oh, tengo una cierta sección llamada 681 00:34:04,370 --> 00:34:07,480 medio en el que me estoy aplicando mi etiqueta de CSS, y luego 682 00:34:07,480 --> 00:34:09,619 mi otra división con la parte inferior. 683 00:34:09,619 --> 00:34:10,785 Eso es todo lo que te está diciendo. 684 00:34:10,785 --> 00:34:12,743 Porque es bueno para mantener cosas interesantes con el fin, 685 00:34:12,743 --> 00:34:16,304 por lo que el programa sabe exactamente cómo funciona. 686 00:34:16,304 --> 00:34:18,929 Y creo que puedo copiar pegar este en mi navegador actual, así. 687 00:34:18,929 --> 00:34:21,110 Debe estar bien. 688 00:34:21,110 --> 00:34:21,610 Sí. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Hurra. 691 00:34:25,989 --> 00:34:29,380 Así que si todo el mundo quiere simplemente intente crear una página web, 692 00:34:29,380 --> 00:34:32,169 vamos a echar otra de dos a tres minutos. 693 00:34:32,169 --> 00:34:34,460 Solo quiero estar seguro servidores de todo el mundo se están ejecutando 694 00:34:34,460 --> 00:34:36,941 y todo el mundo tiene una idea de cómo hacerlo. 695 00:34:36,941 --> 00:34:38,774 Si ustedes quieren sacar sus computadoras. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 ¿Sigue sin funcionar? 698 00:34:45,635 --> 00:34:47,420 >> AUDIENCIA: Sólo soy [inaudible]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI Peng: Tal vez intente actualizar 50 también. 700 00:34:49,838 --> 00:34:51,392 Sí. 701 00:34:51,392 --> 00:34:52,308 AUDIENCIA: [inaudible]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI Peng: Sí. 704 00:35:18,990 --> 00:35:23,750 Así que la forma en que se inicia un nuevo servidor web en el IDE es sólo 705 00:35:23,750 --> 00:35:27,889 hacer apache50 espacio de punto de inicio espacio. 706 00:35:27,889 --> 00:35:30,430 Yo sólo quería asegurarme servidores de todo el mundo se están ejecutando en Aceptar. 707 00:35:30,430 --> 00:35:31,763 >> AUDIENCIA: Aquí, en el terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI Peng: Sí. 709 00:35:33,334 --> 00:35:34,250 AUDIENCIA: [inaudible]. 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI Peng: Apache. 712 00:35:38,985 --> 00:35:42,010 En realidad, creo que tienes correr algo ya. 713 00:35:42,010 --> 00:35:43,145 Sí, eres en realidad la ejecución de un servidor diferente. 714 00:35:43,145 --> 00:35:43,830 Sí, ya está bueno. 715 00:35:43,830 --> 00:35:45,085 Mientras que está funcionando, que estás bien. 716 00:35:45,085 --> 00:35:45,626 >> AUDIENCIA: OK. 717 00:35:45,626 --> 00:35:47,615 ANDI Peng: Hay de dos maneras de ejecutar servidores. 718 00:35:47,615 --> 00:35:49,990 Así que, mientras una de las formas está trabajando, está bien. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Vamos a tomar un minuto sólo para terminar la clase de arriba 721 00:36:21,680 --> 00:36:25,280 los toques finales de lo que sea página web que ustedes querían hacer. 722 00:36:25,280 --> 00:36:26,830 >> Está todo el mundo trabajando por el camino? 723 00:36:26,830 --> 00:36:30,910 Servidores de cada persona son correr, además de la suya? 724 00:36:30,910 --> 00:36:32,210 Se nos ocurrirá eso. 725 00:36:32,210 --> 00:36:34,137 Y de bastante simple HTML. 726 00:36:34,137 --> 00:36:35,220 Así que creo que estamos todos bien. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Sí. 729 00:36:38,760 --> 00:36:41,070 Voy a volver. 730 00:36:41,070 --> 00:36:42,797 >> AUDIENCIA: [inaudible]. 731 00:36:42,797 --> 00:36:43,380 ANDI Peng: OK. 732 00:36:43,380 --> 00:36:44,770 AUDIENCIA: Así que es sólo comenzado a cargar. 733 00:36:44,770 --> 00:36:45,686 ANDI Peng: No se preocupe. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Así HTML, no hay código fuente que estará en línea después de la sección. 736 00:36:52,680 --> 00:36:54,810 Además, David tiene un todo montón en línea también. 737 00:36:54,810 --> 00:36:58,190 Sólo tipo de mirada sobre él para ver cómo se escriben las páginas HTML. 738 00:36:58,190 --> 00:36:59,920 Es bastante fácil. 739 00:36:59,920 --> 00:37:03,979 Cualquier cosa que no sé, es bastante tanto sólo Google y ya está bueno. 740 00:37:03,979 --> 00:37:06,270 Sólo quiero para asegurarse de que los servidores se están ejecutando. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> AUDIENCIA: ¿Hace esto a menudo? 743 00:37:14,880 --> 00:37:16,421 >> ANDI Peng: Nunca me pasó a mí. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Yo no sabía que incluso podría hibernar. 746 00:37:20,782 --> 00:37:22,516 >> AUDIENCIA: [inaudible]. 747 00:37:22,516 --> 00:37:25,140 ANDI Peng: Creo everyone-- la mía nunca ha hibernado antes. 748 00:37:25,140 --> 00:37:26,860 Y no sé por qué. 749 00:37:26,860 --> 00:37:27,566 Es raro. 750 00:37:27,566 --> 00:37:29,310 >> AUDIENCIA: [inaudible]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI Peng: es tuyo hibernando? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> AUDIENCIA: [inaudible]. 754 00:37:33,669 --> 00:37:34,335 ANDI Peng: Sí. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 AUDIENCIA: Está bien. 757 00:37:39,872 --> 00:37:40,622 Así que una vez que esté abierta. 758 00:37:40,622 --> 00:37:41,760 ANDI Peng: OK. 759 00:37:41,760 --> 00:37:43,940 Nos ocuparemos de algún servidor cuestiones después de la sección. 760 00:37:43,940 --> 00:37:44,860 Usted debe estar bien. 761 00:37:44,860 --> 00:37:47,950 Aunque, usted quiere asegurarse de que conseguir que se resuelvan antes de salir. 762 00:37:47,950 --> 00:37:49,380 Porque si de su servidor no se está ejecutando, entonces estás 763 00:37:49,380 --> 00:37:52,004 no va a ser capaz de hacer el conjunto de procesadores, como cualquier parte del conjunto de procesadores. 764 00:37:52,004 --> 00:37:54,200 Así que usted quiere asegurarse de que que que está trabajando. 765 00:37:54,200 --> 00:37:54,831 Guay. 766 00:37:54,831 --> 00:37:55,330 Correcto. 767 00:37:55,330 --> 00:37:56,490 Diga adiós gatitos. 768 00:37:56,490 --> 00:37:59,670 Pasé mucho tiempo buscando esa foto gatito a poner. 769 00:37:59,670 --> 00:38:02,272 Así que, de todos modos. 770 00:38:02,272 --> 00:38:04,950 >> AUDIENCIA: [inaudible]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI Peng: Lo siento? 772 00:38:05,770 --> 00:38:07,345 >> AUDIENCIA: [inaudible]. 773 00:38:07,345 --> 00:38:08,970 ANDI Peng: Creo que es en el sitio web. 774 00:38:08,970 --> 00:38:11,064 Al igual que la especificación? 775 00:38:11,064 --> 00:38:12,020 >> AUDIENCIA: [inaudible]. 776 00:38:12,020 --> 00:38:16,080 Creo que la especificación es sólo en línea en la semana siete. 777 00:38:16,080 --> 00:38:18,850 Yo creo que se llama pset6, incluso aunque estamos en la semana siete, que 778 00:38:18,850 --> 00:38:19,641 es un poco de computación. 779 00:38:19,641 --> 00:38:23,130 AUDIENCIA: Pero quiero decir si que desee ver at-- si 780 00:38:23,130 --> 00:38:28,666 querer levantar nuestra versión de la página web de nuestro Sever? 781 00:38:28,666 --> 00:38:31,820 Así como server.c es el conjunto de procesadores, ¿verdad? 782 00:38:31,820 --> 00:38:36,514 Si usted quiere ver esto, como lo comprueba hacia fuera? 783 00:38:36,514 --> 00:38:38,680 ANDI Peng: Oh, así que en realidad el conjunto de procesadores, todo lo que estamos haciendo 784 00:38:38,680 --> 00:38:41,405 aquí se implementing-- aquí, Voy a ir sobre esto brevemente. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Así que para todo el mundo que acaba metido a la sección, ustedes está de enhorabuena. 787 00:38:47,020 --> 00:38:49,340 Hay muy poco material para cubrir realidad hoy en día. 788 00:38:49,340 --> 00:38:52,585 >> Voy sólo para pasar al siguiente 20 minutos repasando pset ayuda. 789 00:38:52,585 --> 00:38:55,210 Porque hay algo útil funciones que ayudarán a su vida. 790 00:38:55,210 --> 00:38:57,501 Y con suerte, estaremos fuera de aquí en como 20 minutos. 791 00:38:57,501 --> 00:38:58,360 OK. 792 00:38:58,360 --> 00:39:00,252 >> Así pset7 está mal. 793 00:39:00,252 --> 00:39:02,460 A pesar de que estamos en la semana siete, en realidad es pset6. 794 00:39:02,460 --> 00:39:04,220 Voy a cambiar eso. 795 00:39:04,220 --> 00:39:07,550 Todo lo que estamos haciendo en pset6 es la creación de un servidor web. 796 00:39:07,550 --> 00:39:09,010 Eso suena muy aterrador. 797 00:39:09,010 --> 00:39:11,010 >> Y especialmente para aquellos de ustedes que ya tienen 798 00:39:11,010 --> 00:39:14,530 mirado el código de distribución, hay una gran cantidad de código, una gran cantidad de código. 799 00:39:14,530 --> 00:39:15,570 Pero es totalmente bien. 800 00:39:15,570 --> 00:39:17,750 Debido a que el quid de la cuestión parte de crear realmente 801 00:39:17,750 --> 00:39:20,140 el servidor se hace por nosotros. 802 00:39:20,140 --> 00:39:22,090 Todo lo que está realmente pedirá que hacer en este conjunto de procesadores 803 00:39:22,090 --> 00:39:25,350 se acaba de hacer un poco de manipulación de cadenas en el archivo de E / S. En realidad es 804 00:39:25,350 --> 00:39:27,570 como bastante simple. 805 00:39:27,570 --> 00:39:30,830 >> Así que cuando usted primero descargar que-- que aquí en realidad ya ha descargado 806 00:39:30,830 --> 00:39:32,540 el conjunto de procesadores y llevado un vistazo? 807 00:39:32,540 --> 00:39:33,040 Correcto. 808 00:39:33,040 --> 00:39:33,540 Sí. 809 00:39:33,540 --> 00:39:36,042 Hay como 500 líneas de código que usted va a ser así, 810 00:39:36,042 --> 00:39:36,750 ¿Qué está pasando? 811 00:39:36,750 --> 00:39:38,177 Y eso es totalmente bien. 812 00:39:38,177 --> 00:39:39,760 Asegúrese de que usted mira los paseos virtuales. 813 00:39:39,760 --> 00:39:41,610 Porque David y-- No sé. 814 00:39:41,610 --> 00:39:43,870 Yo no creo que sea de Zamyla, éste. 815 00:39:43,870 --> 00:39:47,040 Pero creo que alguna otra walk-through son bastante 816 00:39:47,040 --> 00:39:49,510 útil en términos de solo que le permite saber 817 00:39:49,510 --> 00:39:51,780 lo que está sucediendo dentro de su código. 818 00:39:51,780 --> 00:39:53,330 >> Y es totalmente bien. 819 00:39:53,330 --> 00:39:57,860 Debido a que las cuatro funciones que eres pedido para implementar realmente tener 820 00:39:57,860 --> 00:39:59,720 cero que ver con el servidor real. 821 00:39:59,720 --> 00:40:02,590 Todo lo que tienen que hacer es analizar diferentes cuerdas, 822 00:40:02,590 --> 00:40:05,780 buscando a través de las cadenas, para asegurarse que las cosas están haciendo 823 00:40:05,780 --> 00:40:07,750 lo que se supone que deben estar haciendo. 824 00:40:07,750 --> 00:40:11,200 >> Así que en este sentido, hay algunas funciones muy, muy útiles, 825 00:40:11,200 --> 00:40:13,630 especialmente para string manipulación, que todos debemos 826 00:40:13,630 --> 00:40:15,879 voy otra vez que pensé que sería ser muy útil para ustedes 827 00:40:15,879 --> 00:40:19,130 aprender antes de intentar el conjunto de procesadores. 828 00:40:19,130 --> 00:40:23,350 Y están todos contenidos dentro de su biblioteca string.h. 829 00:40:23,350 --> 00:40:25,980 Hay probablemente más útil funciones que no he incluido aquí, 830 00:40:25,980 --> 00:40:30,740 porque o bien nunca los uso o tal vez no sabía que existían. 831 00:40:30,740 --> 00:40:32,440 >> Siéntase libre para mirar a través student.h. 832 00:40:32,440 --> 00:40:36,460 Debido a que va a ser mucho de funciones que son muy útiles. 833 00:40:36,460 --> 00:40:43,050 Así que los seis que utilizo más en mi pset cuando lo estaba haciendo la semana pasada 834 00:40:43,050 --> 00:40:49,620 eran strtok, strchr, strrcher, strstr, strcasecmp y strcpy. 835 00:40:49,620 --> 00:40:53,060 Y así los dos últimos pueden parecer muy familiar para la mayoría de ustedes. 836 00:40:53,060 --> 00:40:56,910 Caso Str comparar, lo único que hace es comparar cadenas para comprobar que por la igualdad, 837 00:40:56,910 --> 00:40:58,110 incluyendo estuche. 838 00:40:58,110 --> 00:41:01,430 Y strcpy sólo copias una cadena en un buffer. 839 00:41:01,430 --> 00:41:04,430 >> Y así, los dos deben parecer muy familiar para ustedes en este momento. 840 00:41:04,430 --> 00:41:07,100 Debido a que los he usado mucho, especialmente para los últimos conjuntos de procesadores. 841 00:41:07,100 --> 00:41:10,734 Pero los cuatro primeros quizá usted no ha visto hasta ahora. 842 00:41:10,734 --> 00:41:12,400 Pero yo voy a caminar a través de ellos. 843 00:41:12,400 --> 00:41:15,620 Debido a que van a hacer sus vidas muy, muy fácil no para-- fácil, 844 00:41:15,620 --> 00:41:19,830 pero mucho más fácil para este próximo conjunto de procesadores. 845 00:41:19,830 --> 00:41:20,420 >> OK. 846 00:41:20,420 --> 00:41:27,720 Así char * strtok, esta es la función definición para esta función contenía 847 00:41:27,720 --> 00:41:31,050 dentro de la cadena, h biblioteca. 848 00:41:31,050 --> 00:41:34,340 Si se le da una entrada de char * cadena, que es sólo una cadena, 849 00:41:34,340 --> 00:41:38,220 o un char constante * deliminator, delim para abreviar, 850 00:41:38,220 --> 00:41:42,410 todo lo que está haciendo es romper el mayor cadena en una serie de lo que llamamos 851 00:41:42,410 --> 00:41:45,730 tokens separadas por un cierto valor. 852 00:41:45,730 --> 00:42:03,340 Así que en cierto sentido, si me iban a dar que section.7.php, esto es una cadena. 853 00:42:03,340 --> 00:42:09,520 >> Así que eso sería si tuviera que pasar en esto como mi str, mi char * str, 854 00:42:09,520 --> 00:42:18,870 si mi deliminator era punto, todo esto que hacer es buscar a través de cadenas. 855 00:42:18,870 --> 00:42:22,790 Y la primera vez que ve un punto, sería simplemente volver al puntero 856 00:42:22,790 --> 00:42:25,830 a la última ficha encontrado en la cadena antes de esto. 857 00:42:25,830 --> 00:42:27,230 Por lo que sería ir a la derecha aquí. 858 00:42:27,230 --> 00:42:30,580 >> Y sólo me daría 7.php. 859 00:42:30,580 --> 00:42:34,070 Y si yo fuera a llamar a la funcionar una vez más, 860 00:42:34,070 --> 00:42:37,580 me daría sólo la .php. 861 00:42:37,580 --> 00:42:41,540 Y por lo que todo esta función está haciendo está rompiendo la cadena más grande 862 00:42:41,540 --> 00:42:44,620 en cadenas más pequeñas dependiendo en lo que usted está buscando. 863 00:42:44,620 --> 00:42:46,670 >> Y así, por ejemplo, en su mirada hasta la función 864 00:42:46,670 --> 00:42:49,895 si quieres ver lo que ciertos personajes se acerca 865 00:42:49,895 --> 00:42:54,280 o si los puntos suceden o extensiones suceden, esta función sería bastante útil. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Sí. 868 00:42:59,010 --> 00:42:59,510 Sin preocupaciones. 869 00:42:59,510 --> 00:43:01,339 Esto todo ser-- sí, ¿qué pasa? 870 00:43:01,339 --> 00:43:07,087 >> AUDIENCIA: Entonces, en la primera línea, si estábamos usando este ejemplo, 871 00:43:07,087 --> 00:43:09,504 ¿qué haríamos insertar en eso? 872 00:43:09,504 --> 00:43:10,170 ANDI Peng: Sí. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Usted acaba de llamar a un strtok delim coma cadena. 875 00:43:25,640 --> 00:43:30,260 Y cuerda es igual a section.7.php. 876 00:43:30,260 --> 00:43:35,244 Y entonces estás delim podría ser igual a solo dot. 877 00:43:35,244 --> 00:43:36,654 >> AUDIENCIA: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI Peng: Sí. 879 00:43:39,010 --> 00:43:41,266 Así. 880 00:43:41,266 --> 00:43:43,890 Todas estas funciones son bastante similar cuando pasamos por ellos. 881 00:43:43,890 --> 00:43:45,514 Sólo hacen ligeramente diferentes cosas. 882 00:43:45,514 --> 00:43:49,530 Pero todos van a hacer su vida mucho más fácil. 883 00:43:49,530 --> 00:43:53,940 Segunda función, ésta es como súper, súper, súper importante, 884 00:43:53,940 --> 00:43:58,254 es el-- aguantar. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Vaya. 887 00:44:08,730 --> 00:44:13,810 Búsquedas strchr por primera occurrence-- realidad, sí. 888 00:44:13,810 --> 00:44:16,385 Strchr es la función que Definitivamente me fui otra vez. 889 00:44:16,385 --> 00:44:18,260 Así que ignoro lo que dije para la primera función. 890 00:44:18,260 --> 00:44:20,980 Se llama en realidad strchr. 891 00:44:20,980 --> 00:44:24,840 >> Así que lo que sucedió aquí es si le dieron una cadena en un char c, 892 00:44:24,840 --> 00:44:28,660 sería justo dar que fuera lo que fuese. 893 00:44:28,660 --> 00:44:29,230 Sí. 894 00:44:29,230 --> 00:44:33,700 Así que pensar en ello como str, que es una cadena, y la Comisión de Derechos Humanos como char. 895 00:44:33,700 --> 00:44:38,621 Así que todo lo que estamos tratando de hacer es buscar para que un char es dentro de una cadena. 896 00:44:38,621 --> 00:44:41,120 Y por lo que busca para la primera ocurrencia del carácter 897 00:44:41,120 --> 00:44:43,601 c en la cadena str. 898 00:44:43,601 --> 00:44:46,463 >> AUDIENCIA: [inaudible]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI Peng: Sí. 900 00:44:48,380 --> 00:44:51,230 Y luego si no se encontró ella, que va a devolver NULL. 901 00:44:51,230 --> 00:44:54,313 Así que algo que va a ser muy útil para ustedes en hacer el conjunto de procesadores 902 00:44:54,313 --> 00:44:59,030 Si, por ejemplo, a quien estabas buscando un extensión como un .docx para una palabra 903 00:44:59,030 --> 00:45:04,740 documento o un .pdf de un documento PDF, puedes tipo de utilizarlo para buscar 904 00:45:04,740 --> 00:45:08,720 para lo que es después cada vez que vea un punto, ¿no? 905 00:45:08,720 --> 00:45:11,880 Y así, más o menos, si correr que a través de la función, 906 00:45:11,880 --> 00:45:13,610 si devuelve NULL, entonces usted sabe que 907 00:45:13,610 --> 00:45:17,292 no encontrarlo punto, que significa que este claramente no es una extensión de archivo válida. 908 00:45:17,292 --> 00:45:19,000 O si devuelve algo, entonces usted sabe 909 00:45:19,000 --> 00:45:21,940 que va a devolver lo que sea de en realidad después de la ampliación. 910 00:45:21,940 --> 00:45:24,190 Así que aquellos de ustedes que tenía comenzó a buscar a través de las operaciones de búsqueda 911 00:45:24,190 --> 00:45:28,640 y analizar, esta función de va a ser super útil. 912 00:45:28,640 --> 00:45:32,010 Así que estamos realmente va para demostrar el uso de este. 913 00:45:32,010 --> 00:45:36,670 >> ¿Por qué no es lo que ustedes intentar escribir un función bool frase char * s que 914 00:45:36,670 --> 00:45:39,610 simplemente devuelve true si s es un sentencia y false en caso contrario. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Así pista, vas que probablemente utilice strchr. 917 00:45:46,830 --> 00:45:50,420 O simplemente buscar en el cadena para un cierto carácter. 918 00:45:50,420 --> 00:45:54,950 Y así, en una frase, lo que separa a una sentencia 919 00:45:54,950 --> 00:45:57,510 de un no-condena, qué carácter específico? 920 00:45:57,510 --> 00:45:58,260 AUDIENCIA: Un espacio. 921 00:45:58,260 --> 00:45:59,343 ANDI Peng: Un espacio, ¿no? 922 00:45:59,343 --> 00:46:03,354 Y así, ¿qué es lo que probablemente va a querer hacer dentro de esta función en esta lista? 923 00:46:03,354 --> 00:46:04,290 >> AUDIENCIA: [inaudible]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI Peng: Vamos a querer strchr cadena para la apariencia del espacio. 925 00:46:07,623 --> 00:46:11,330 Porque si devuelve algo, entonces sabemos que esto debe ser una oración. 926 00:46:11,330 --> 00:46:14,510 Eso significa que debemos tener un espacio en esta cadena. 927 00:46:14,510 --> 00:46:17,660 >> Si no hay espacio, entonces sabemos que, bueno, supongo que no es una cadena. 928 00:46:17,660 --> 00:46:20,060 Probablemente es sólo una palabra muy larga. 929 00:46:20,060 --> 00:46:23,242 Así que te voy a dar un par chicos minutos para escribir esta función. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Sí. 932 00:46:45,874 --> 00:46:47,970 >> AUDIENCIA: ¿Recibiste esta cadena desde el usuario? 933 00:46:47,970 --> 00:46:48,440 >> ANDI Peng: Sí. 934 00:46:48,440 --> 00:46:49,565 Así que esto es sólo una función. 935 00:46:49,565 --> 00:46:54,586 Así que imaginen dentro de su función principal ya tener-- vamos a ir aquí. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 OK. 938 00:47:00,540 --> 00:47:05,270 Así que he escrito este programa donde Tengo mi función principal, donde 939 00:47:05,270 --> 00:47:07,432 Yo sólo he creado dos cadenas. 940 00:47:07,432 --> 00:47:09,890 La primera es: Hola, mi nombre es Andi-- claramente, una oración. 941 00:47:09,890 --> 00:47:13,240 Mi segundo es simplemente Andi, claramente no sentenciar. 942 00:47:13,240 --> 00:47:18,390 >> Y así me estoy quedando ambas cosas cuerdas a través de esta función. 943 00:47:18,390 --> 00:47:20,540 Quiero que ustedes escriben frase fría. 944 00:47:20,540 --> 00:47:23,380 Y estoy almacenando esos valores, y luego simplemente imprimirlos. 945 00:47:23,380 --> 00:47:26,549 Así que creo que el usuario es va a pasar en una cadena. 946 00:47:26,549 --> 00:47:29,590 Y luego vas a esencialmente averiguar si se trata de una sentencia o no 947 00:47:29,590 --> 00:47:31,131 y devolver verdadero o falso en consecuencia. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Si ustedes quieren dar una pulgares para arriba o mano a mano, gesto de cabeza, 950 00:48:45,200 --> 00:48:49,080 es que nadie está listo para comenzar esto, que sería bueno. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Tal como 30 segundos más? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Correcto. 955 00:50:50,070 --> 00:50:52,870 Vamos a ver si se puede tratar escribir esta función. 956 00:50:52,870 --> 00:50:57,480 >> Así seudo coding-- Yo sólo voy a tipo de caminar a través de esto ahora mismo. 957 00:50:57,480 --> 00:51:00,570 Más o menos, sabemos que el función que tenemos que utilizar. 958 00:51:00,570 --> 00:51:04,390 Vamos a llamar a esa función en nuestra cadena y la búsqueda de un espacio. 959 00:51:04,390 --> 00:51:08,682 Si devuelve algo, entonces tenemos que sabe que, claramente, esto es una frase. 960 00:51:08,682 --> 00:51:09,640 Porque no hay espacios. 961 00:51:09,640 --> 00:51:10,930 Entonces vamos a volver realidad. 962 00:51:10,930 --> 00:51:12,310 Si no, vamos a devolver false. 963 00:51:12,310 --> 00:51:14,393 ¿Alguien quiere dar mí la primera línea de código 964 00:51:14,393 --> 00:51:16,890 que en realidad estamos pasando a utilizar para escribir esto? 965 00:51:16,890 --> 00:51:19,680 En realidad es el más difícil línea de código también. 966 00:51:19,680 --> 00:51:21,026 Sí. 967 00:51:21,026 --> 00:51:28,942 >> AUDIENCIA: Si strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI Peng: Sólo strchr. 969 00:51:29,900 --> 00:51:35,354 AUDIENCIA: [interponiendo VOCES] el espacio no es igual a null. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI Peng: Cool. 972 00:51:40,710 --> 00:51:41,470 Exactamente correcto. 973 00:51:41,470 --> 00:51:43,200 Todo el mundo entiende que la primera línea? 974 00:51:43,200 --> 00:51:46,110 Vamos a llamar a strstr, que es una función que busca 975 00:51:46,110 --> 00:51:51,830 la cadena s para el carácter del espacio. 976 00:51:51,830 --> 00:51:56,010 Y si lo encuentra, se va a devolver un puntero a dónde está. 977 00:51:56,010 --> 00:51:58,500 >> Si no lo encuentra, que va a devolver NULL. 978 00:51:58,500 --> 00:52:02,530 Así que si vuelve otra cosa que NULL, entonces sabemos que ha encontrado un espacio. 979 00:52:02,530 --> 00:52:03,553 ¿Tiene sentido? 980 00:52:03,553 --> 00:52:04,090 Guay. 981 00:52:04,090 --> 00:52:04,590 Correcto. 982 00:52:04,590 --> 00:52:08,246 Así que si lo conocemos ha encontrado un espacio, ¿qué es lo que queremos hacer? 983 00:52:08,246 --> 00:52:09,162 AUDIENCIA: Devuelve true. 984 00:52:09,162 --> 00:52:09,787 ANDI Peng: Sí. 985 00:52:09,787 --> 00:52:11,940 Devuelve verdadero. 986 00:52:11,940 --> 00:52:15,034 Y entonces, alguien quiere terminar la función para mí? 987 00:52:15,034 --> 00:52:16,300 Sí. 988 00:52:16,300 --> 00:52:19,720 Si no, así como así. 989 00:52:19,720 --> 00:52:20,780 Y tratar de compilar esto. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Sip. 992 00:52:28,000 --> 00:52:33,099 Así como ustedes pueden ver en la salidas, recuerde Booleans en C 993 00:52:33,099 --> 00:52:34,390 siempre se expresan en binario. 994 00:52:34,390 --> 00:52:35,100 1 es verdadera. 995 00:52:35,100 --> 00:52:36,350 0 es falsa. 996 00:52:36,350 --> 00:52:39,720 >> Si fuéramos a ejecutar este función en la cadena uno, lo que 997 00:52:39,720 --> 00:52:42,900 es Hola, mi nombre es Andi-- claramente, el resultado de un sentence-- 998 00:52:42,900 --> 00:52:45,700 impresa a 1 lo cual es cierto. 999 00:52:45,700 --> 00:52:48,420 El segundo, que es justo una palabra, resultado impreso a cabo 1000 00:52:48,420 --> 00:52:50,630 a 0, lo que es falso. 1001 00:52:50,630 --> 00:52:54,820 Todo el mundo claro tipo de sobre cómo esta función fue escrito? 1002 00:52:54,820 --> 00:52:55,800 Sí. 1003 00:52:55,800 --> 00:52:59,770 >> AUDIENCIA: ¿Podemos también hacer, en lugar de no es igual no, es igual a igual a 0, 1004 00:52:59,770 --> 00:53:03,677 por lo que es igual a? 1005 00:53:03,677 --> 00:53:04,260 ANDI Peng: No. 1006 00:53:04,260 --> 00:53:07,480 Debido strchr es una función. 1007 00:53:07,480 --> 00:53:09,940 Voy a volver a esto. 1008 00:53:09,940 --> 00:53:14,624 ¿Cuál es el tipo de retorno de nuestra función strchr? 1009 00:53:14,624 --> 00:53:15,332 AUDIENCIA: ¡Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 O NULO. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI Peng: Sí. 1012 00:53:16,466 --> 00:53:20,890 Es un char * que me dice que todo lo que esta función va a devolver, 1013 00:53:20,890 --> 00:53:22,090 que va a ser un puntero. 1014 00:53:22,090 --> 00:53:24,860 O bien el puntero va a ser apuntando a donde se encontró, 1015 00:53:24,860 --> 00:53:27,550 o que va a volver un puntero a NULL. 1016 00:53:27,550 --> 00:53:30,930 En cualquier circunstancia, va para devolver un puntero a algo. 1017 00:53:30,930 --> 00:53:34,354 >> Y por lo que si usted fuera a equiparar esto es igual, es igual, 0, 1018 00:53:34,354 --> 00:53:36,020 usted va a obtener un error de compilación. 1019 00:53:36,020 --> 00:53:37,645 Debido a que va a devolver un puntero. 1020 00:53:37,645 --> 00:53:40,240 Y usted va a tratar de comparar un puntero a un entero. 1021 00:53:40,240 --> 00:53:42,515 Y el equipo no es va a gustar eso. 1022 00:53:42,515 --> 00:53:45,630 Si exacto. 1023 00:53:45,630 --> 00:53:46,540 Guay. 1024 00:53:46,540 --> 00:53:47,525 ¿Todos bien? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Y en segundo lugar, vamos a ir más de una función llamada strstr. 1027 00:53:59,770 --> 00:54:02,020 No se preocupe si éstos funciones que son confusas. 1028 00:54:02,020 --> 00:54:03,750 Me están confundiendo. 1029 00:54:03,750 --> 00:54:07,250 Como tal, ustedes podrían haber visto, todos ellos suenan más o menos la misma. 1030 00:54:07,250 --> 00:54:10,400 Sólo cuando estás confundido, tire hacia arriba de la biblioteca string.h. 1031 00:54:10,400 --> 00:54:13,290 Y ustedes pueden ordenar través del cual uno de los cuales. 1032 00:54:13,290 --> 00:54:18,910 >> Así strstr, lo único que hace es búsquedas una cadena para un conjunto la otra cadena. 1033 00:54:18,910 --> 00:54:21,980 Entonces, ¿dónde strchr sólo búsquedas para un solo carácter, 1034 00:54:21,980 --> 00:54:24,090 Búsquedas strstr para una cadena entera. 1035 00:54:24,090 --> 00:54:30,440 Así que quería mirar, no lo hago conocer, Hola, mi nombre es Andi. 1036 00:54:30,440 --> 00:54:32,490 Y el nombre de mi mejor amigo es también Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Si quisiera buscar en esta condena para toda la palabra de Andi, 1038 00:54:37,180 --> 00:54:39,930 mi aguja habría sido lo que usted está buscando. 1039 00:54:39,930 --> 00:54:43,440 Y el pajar es lo usted está buscando en. 1040 00:54:43,440 --> 00:54:47,050 Así que si usted está buscando un palabra específica dentro de una oración, 1041 00:54:47,050 --> 00:54:48,800 esa palabra va a ser su aguja. 1042 00:54:48,800 --> 00:54:51,397 Y entonces la frase en sí va a ser el pajar. 1043 00:54:51,397 --> 00:54:53,230 Y por lo que sólo busca la primera aparición 1044 00:54:53,230 --> 00:54:55,063 de la aguja cadena en el pajar cadena. 1045 00:54:55,063 --> 00:54:57,140 Se devuelve el puntero a la primera ocurrencia. 1046 00:54:57,140 --> 00:55:00,510 Excepto, recuerda, en este caso, es el primera aparición de la cadena completa 1047 00:55:00,510 --> 00:55:02,510 que usted está buscando para, no sólo un carácter. 1048 00:55:02,510 --> 00:55:04,676 >> Y por lo que este es casi el lo mismo que la función 1049 00:55:04,676 --> 00:55:09,100 que acabamos de hacer, sólo con un poco más especificidad. 1050 00:55:09,100 --> 00:55:12,730 Debido a que usted está buscando más de un carácter. 1051 00:55:12,730 --> 00:55:16,310 Y el uso es exactamente el mismo como el que acabamos hicimos. 1052 00:55:16,310 --> 00:55:18,070 Todo el mundo de acuerdo con esto? 1053 00:55:18,070 --> 00:55:20,250 OK. 1054 00:55:20,250 --> 00:55:23,560 >> El último que vamos a ir más es strrchr, que no es 1055 00:55:23,560 --> 00:55:26,320 confundirse con strstr o con strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr tiene un r extra en allí. 1057 00:55:27,890 --> 00:55:29,140 Tenga cuidado cuando estás escribiendo. 1058 00:55:29,140 --> 00:55:33,851 Usted puede encontrarse incluidos un r adicional o no incluir una r, 1059 00:55:33,851 --> 00:55:35,850 y entonces su función se consiguió no ir a trabajar. 1060 00:55:35,850 --> 00:55:37,183 Y tú vas a ser confuso. 1061 00:55:37,183 --> 00:55:40,150 Tenga cuidado de que está deletreando todas estas funciones derecha. 1062 00:55:40,150 --> 00:55:43,770 >> Así strrchr es la exacta mismo que strchr 1063 00:55:43,770 --> 00:55:47,480 excepto que busca no es la primera ocurrencia de un carácter específico, 1064 00:55:47,480 --> 00:55:49,350 sino más bien la última aparición. 1065 00:55:49,350 --> 00:55:52,800 Y así, en ese sentido, es casi exactamente el mismo. 1066 00:55:52,800 --> 00:55:54,620 Pero en lugar de mover hacia adelante en una cadena, 1067 00:55:54,620 --> 00:55:57,230 usted va a estar en movimiento hacia atrás en una cadena. 1068 00:55:57,230 --> 00:56:00,510 Exactamente lo mismo, no eres más que buscar en un orden diferente. 1069 00:56:00,510 --> 00:56:04,690 >> Y por lo que este podría ser súper, super útil para su búsqueda 1070 00:56:04,690 --> 00:56:07,490 función, el primero función en su conjunto de procesadores. 1071 00:56:07,490 --> 00:56:12,710 Hagamos de cuenta que teníamos que escribir una función de la extensión de vacío en la que nos 1072 00:56:12,710 --> 00:56:17,850 pasar un nombre de archivo * Char constante, sólo una cadena, un nombre de archivo, 1073 00:56:17,850 --> 00:56:21,370 que lleva en ese nombre y grabados la extensión de ese archivo. 1074 00:56:21,370 --> 00:56:26,520 Así, por ejemplo, si yo fuera a pasar en la cadena de pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 que va a imprimir solo la extensión, que es .zip. 1076 00:56:30,004 --> 00:56:31,920 Y esto funcionaría para cualquier tipo de extensión, 1077 00:56:31,920 --> 00:56:38,290 .docx para Word o pdf de un PDF presentar o .html para un archivo HTML. 1078 00:56:38,290 --> 00:56:40,425 Más o menos, escribir función que puede hacer eso. 1079 00:56:40,425 --> 00:56:42,300 De hecho voy a cambiar a la IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 No se load-- allí vamos. 1082 00:56:56,740 --> 00:57:00,990 >> Así que todo lo que he hecho aquí es creado un char *, una primera secuencia, 1083 00:57:00,990 --> 00:57:01,930 llamada pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Voy a hacer un zoom. 1085 00:57:04,530 --> 00:57:08,520 He creado una segunda cadena llamada finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Y me escriba una función que cuando llamada va a simplemente imprimir 1087 00:57:12,649 --> 00:57:13,690 las extensiones de nombre de archivo. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Tal vez tome un par de minutos a pensar acerca de cómo se va a hacer esto. 1090 00:57:19,660 --> 00:57:22,510 Ligeramente más desafiante que el anterior, 1091 00:57:22,510 --> 00:57:24,770 pero el uso es casi exactamente lo mismo. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Sí. 1094 00:57:30,170 --> 00:57:37,540 Así que escribir una extensión función llamada que, si te doy el nombre de un archivo, 1095 00:57:37,540 --> 00:57:41,340 si tuviera que darle pset7.zip-- I Quieres imprimir sólo el .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Si doy te gusta finalpaper.docx, simplemente imprimir el .docx, 1098 00:57:49,890 --> 00:57:51,538 sólo la extensión de cualquier archivo. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Esta realidad sólo tiene dos líneas de código. 1101 00:59:07,790 --> 00:59:10,692 Así que trate de ver si tal vez puede hacerlo en eso. 1102 00:59:10,692 --> 00:59:12,400 En realidad, sólo tiene una línea de código. 1103 00:59:12,400 --> 00:59:14,074 Pero dos líneas es probablemente más estándar. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 ¿Qué función somos probablemente va a querer llamar? 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 Peng: strrchr, derecha. 1109 00:59:27,343 --> 00:59:29,570 Debido a que estamos buscando desde la izquierda a la derecha. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Yo no te di chicos un ejemplo de este tipo, 1112 00:59:33,940 --> 00:59:38,870 pero si te doy un ejemplo como www.apple.com y yo sólo quería 1113 00:59:38,870 --> 00:59:43,005 el .com, sería un ejemplo de dónde que desea llamar la última instancia 1114 00:59:43,005 --> 00:59:44,630 del período y no la primera, ¿verdad? 1115 00:59:44,630 --> 00:59:47,470 Si usted fuera strchr llamada, le han dado la apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Si usted llama strrchr, que te habría dado el .com. 1117 00:59:49,966 --> 00:59:53,062 Y así que tenga cuidado en la que ways-- en mi ejemplo, 1118 00:59:53,062 --> 00:59:55,520 que probablemente podría podría tener simplemente escrito usando strchr, 1119 00:59:55,520 --> 00:59:57,130 ya que no hay un solo punto. 1120 00:59:57,130 --> 00:59:59,790 Pero en otros casos, que puede no ser el caso. 1121 00:59:59,790 --> 01:00:04,960 Y por lo que siempre tratar de diseñar su código y, por lo que-- ¿sí? 1122 01:00:04,960 --> 01:00:07,365 >> AUDIENCIA: Así que en el ejemplo que acabas de decir, 1123 01:00:07,365 --> 01:00:11,760 cuando no strrchr lo haría le dan .com o simplemente vienes? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI Peng: Sería darle el .com. 1125 01:00:13,960 --> 01:00:14,794 >> AUDIENCIA: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI Peng: Sí. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Apunta a donde lo encontró. 1129 01:00:19,744 --> 01:00:20,244 Sí. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 segundos tal vez? 1132 01:00:25,188 --> 01:00:25,688 Sí. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Todo el mundo bueno o tal vez un poco más de tiempo? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 ¿Votación a mano alzada? 1137 01:01:01,640 --> 01:01:02,320 Mostrar de los jefes? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Guay. 1140 01:01:05,300 --> 01:01:07,924 Alguien quiere que me diera la primera línea 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: [inaudible]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI Peng: Así que en primer lugar, vamos quizá descomponerlo. 1145 01:01:20,160 --> 01:01:24,370 Entonces, ¿cuál es el tipo de retorno de strrchr? 1146 01:01:24,370 --> 01:01:26,150 Volvamos. 1147 01:01:26,150 --> 01:01:29,015 strrchr, ¿cuál es el tipo de cambio? 1148 01:01:29,015 --> 01:01:29,640 AUDIENCIA: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI Peng: Es un char *, ¿verdad? 1150 01:01:31,270 --> 01:01:35,760 Lo que significa que probablemente vas querer crear otro char * a clase 1151 01:01:35,760 --> 01:01:40,400 del almacén siempre que sea volviendo a, ¿verdad? 1152 01:01:40,400 --> 01:01:43,200 Porque si usted llama strrchr la función, 1153 01:01:43,200 --> 01:01:47,030 que va a darle un puntero a dondequiera que encontró ese último período, 1154 01:01:47,030 --> 01:01:47,580 ¿derecho? 1155 01:01:47,580 --> 01:01:49,913 >> Pero vas a querer almacenar que en alguna parte, ¿no? 1156 01:01:49,913 --> 01:01:52,612 Y así, ¿cómo codificamos esto en nuestro programa? 1157 01:01:52,612 --> 01:01:54,320 AUDIENCIA: Usted hace el char * [inaudible]. 1158 01:01:54,320 --> 01:01:55,240 ANDI Peng: Sí. 1159 01:01:55,240 --> 01:01:57,120 AUDIENCIA: [inaudible]. 1160 01:01:57,120 --> 01:01:58,000 ANDI Peng: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Sí. 1162 01:01:58,390 --> 01:01:59,306 Oh, perdido una r allí. 1163 01:01:59,306 --> 01:02:02,877 AUDIENCIA: Nombre del archivo [inaudible]. 1164 01:02:02,877 --> 01:02:03,376 ¿Qué es? 1165 01:02:03,376 --> 01:02:04,420 Oh, es sólo lo es. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI Peng: Oh, es sólo lo es. 1167 01:02:04,940 --> 01:02:05,610 Sí, lo siento. 1168 01:02:05,610 --> 01:02:06,330 Mi error. 1169 01:02:06,330 --> 01:02:08,370 Ejemplos no coinciden. 1170 01:02:08,370 --> 01:02:12,130 >> AUDIENCIA: Y entonces dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI Peng: Sí. 1172 01:02:13,970 --> 01:02:16,570 Tenga cuidado cuando chicos trate: aquí, permítanme acercar. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Allá vamos. 1175 01:02:24,400 --> 01:02:26,770 Tenga cuidado cuando chicos están escribiendo, especialmente cuando 1176 01:02:26,770 --> 01:02:27,920 que está haciendo simplemente un char. 1177 01:02:27,920 --> 01:02:32,480 Es realmente fácil de querer simplemente hacer comillas dobles en lugar de una sola. 1178 01:02:32,480 --> 01:02:35,212 >> Eso no funcionará. 1179 01:02:35,212 --> 01:02:36,670 Su compilador va a quejarse. 1180 01:02:36,670 --> 01:02:38,790 Y su función es simplemente no va a funcionar. 1181 01:02:38,790 --> 01:02:40,540 Y así que ten cuidado cuando que estás haciendo las cosas 1182 01:02:40,540 --> 01:02:42,622 con caracteres que se trata de comillas simples. 1183 01:02:42,622 --> 01:02:44,830 Y lo mismo ocurre con esta línea de código de sentido para todo el mundo? 1184 01:02:44,830 --> 01:02:46,810 Estamos creando un puntero char *. 1185 01:02:46,810 --> 01:02:50,310 Debido a que los retornos strrchr algo de tipo puntero. 1186 01:02:50,310 --> 01:02:53,440 >> Y así vamos a llamar strchr en s, que es la cadena, el archivo 1187 01:02:53,440 --> 01:02:55,140 nombre, lo que estamos pasando. 1188 01:02:55,140 --> 01:02:59,750 Y estamos en busca de la última instancia de un periodo, que es 1189 01:02:59,750 --> 01:03:02,200 sólo la comilla simple dot comilla simple. 1190 01:03:02,200 --> 01:03:02,700 Sí. 1191 01:03:02,700 --> 01:03:05,180 >> AUDIENCIA: ¿Cuándo usamos comillas dobles y cuando lo usamos comillas simples? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI Peng: Sí. 1193 01:03:05,320 --> 01:03:07,180 Cotizaciones Así dobles siempre se utiliza cuando se 1194 01:03:07,180 --> 01:03:10,120 tener una cadena de más de uno solo. 1195 01:03:10,120 --> 01:03:13,070 Así que si usted está haciendo strstr, que es el que más le 1196 01:03:13,070 --> 01:03:16,320 buscar una cadena de cadena, pasaría entre comillas dobles. 1197 01:03:16,320 --> 01:03:18,070 Pero cada vez es sólo un solo carácter, 1198 01:03:18,070 --> 01:03:19,870 que quieres hacer comillas simples. 1199 01:03:19,870 --> 01:03:22,880 >> Es una buena cosa a tener en cuenta. 1200 01:03:22,880 --> 01:03:25,864 Así que ahora que tenemos nuestro puntero, ¿qué hacemos con él? 1201 01:03:25,864 --> 01:03:27,780 Te estoy pidiendo chicos imprimirlo, ¿verdad? 1202 01:03:27,780 --> 01:03:30,940 Así que [inaudible], que desea dame la línea de código? 1203 01:03:30,940 --> 01:03:31,780 >> AUDIENCIA: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI Peng: Sí. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 AUDIENCIA: --Usted necesita un marcador de posición. 1207 01:03:36,843 --> 01:03:37,340 ANDI Peng: Sí. 1208 01:03:37,340 --> 01:03:38,334 AUDIENCIA: Imprima el marcador de posición. 1209 01:03:38,334 --> 01:03:40,322 No sé lo que el lugar titular no es más que el punto a la misma. 1210 01:03:40,322 --> 01:03:40,819 >> OK. 1211 01:03:40,819 --> 01:03:42,027 Vamos a saltar que por ahora entonces. 1212 01:03:42,027 --> 01:03:44,556 AUDIENCIA: Y entonces comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI Peng: Puntero, ¿verdad? 1214 01:03:45,720 --> 01:03:47,970 >> AUDIENCIA: Puntero, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI Peng: Así que tipo de una pregunta con trampa, tiene que ver con los punteros y cadenas 1216 01:03:51,140 --> 01:03:53,130 que hemos hablado de la clase de ya. 1217 01:03:53,130 --> 01:03:57,766 ¿Qué tipo de lugar titular qué tenemos la necesidad de un puntero para un char *? 1218 01:03:57,766 --> 01:03:59,574 >> AUDIENCIA: [inaudible]. 1219 01:03:59,574 --> 01:04:00,240 ANDI Peng: Sí. 1220 01:04:00,240 --> 01:04:02,522 Es más fácil de lo que ustedes piensan que es. 1221 01:04:02,522 --> 01:04:03,230 AUDIENCIA: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI Peng: Es sólo una cadena, exactamente. 1223 01:04:04,730 --> 01:04:06,595 Porque recuerda cadenas en realidad no existe. 1224 01:04:06,595 --> 01:04:09,430 Un char * es la exacta lo mismo que una cadena. 1225 01:04:09,430 --> 01:04:14,461 Y así que realmente este s es lo debería haberse utilizado todo el tiempo. 1226 01:04:14,461 --> 01:04:14,960 OK. 1227 01:04:14,960 --> 01:04:17,810 >> Vamos a ver si podemos tratar de ejecutar este. 1228 01:04:17,810 --> 01:04:19,450 Vamos a hacer una extensión de marca. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Guay. 1231 01:04:23,396 --> 01:04:28,830 Ustedes ver cómo pasé en el psset7.zip y la finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 y que sólo se imprime el .zip y .docx? 1233 01:04:32,500 --> 01:04:34,150 ¿Tener sentido? 1234 01:04:34,150 --> 01:04:36,660 >> Aceptar Así que creo que en tu mirada hasta función en el conjunto de procesadores que eres 1235 01:04:36,660 --> 01:04:41,050 va a pedir si el cadena tiene un determinado fin, 1236 01:04:41,050 --> 01:04:42,800 usted tiene que dar un cierto código de error. 1237 01:04:42,800 --> 01:04:44,820 Y lo que este será bastante horrible. 1238 01:04:44,820 --> 01:04:47,350 Porque si usted puede imaginar lo que la extensión es, 1239 01:04:47,350 --> 01:04:49,810 a continuación, puede comparar eso extensión para ver si coincide 1240 01:04:49,810 --> 01:04:51,251 con una cierta extensión. 1241 01:04:51,251 --> 01:04:53,250 Y entonces usted puede volver un mensaje de error, ¿no? 1242 01:04:53,250 --> 01:04:53,860 Sí. 1243 01:04:53,860 --> 01:04:55,370 >> AUDIENCIA: Entonces no lo hacemos hay que añadir 1 o algo? 1244 01:04:55,370 --> 01:04:56,530 El puntero se destinará a el-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI Peng: Nope. 1246 01:04:56,660 --> 01:04:57,530 >> AUDIENCIA: --quioscos de la Punto después de ella. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI Peng: Sí. 1248 01:04:58,196 --> 01:05:00,650 Señala exactamente a donde estaba la ocurrencia. 1249 01:05:00,650 --> 01:05:04,010 Así, por ejemplo, aquí, estamos la búsqueda de la época. 1250 01:05:04,010 --> 01:05:06,597 Así que va a volver un puntero al período. 1251 01:05:06,597 --> 01:05:08,930 Y luego se va a imprimir a cabo a partir de la época. 1252 01:05:08,930 --> 01:05:10,260 >> Así que usted no necesita agregar 1. 1253 01:05:10,260 --> 01:05:15,000 Aunque, es totalmente bien para, si alguna vez no está seguro, a sólo un poco 1254 01:05:15,000 --> 01:05:16,070 de probar por ti mismo. 1255 01:05:16,070 --> 01:05:17,590 Construir un programa de ejemplo. 1256 01:05:17,590 --> 01:05:20,240 Pruébelo usted mismo y ver en donde está la impresión. 1257 01:05:20,240 --> 01:05:23,380 También Eso no es una mala manera de hacerlo. 1258 01:05:23,380 --> 01:05:26,040 >> Guay. 1259 01:05:26,040 --> 01:05:28,880 Y eso es prácticamente todo Tuve hoy para ustedes. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Hicimos un montón de cosas pset hoy. 1262 01:05:33,300 --> 01:05:35,720 Así que en caso de duda, como Yo dije, siempre mirar hacia arriba 1263 01:05:35,720 --> 01:05:37,620 la biblioteca string.h para este conjunto de procesadores. 1264 01:05:37,620 --> 01:05:40,370 No va a haber una gran cantidad de función de ahí que puede ser útil. 1265 01:05:40,370 --> 01:05:41,300 Algunos pueden no ser útiles. 1266 01:05:41,300 --> 01:05:42,133 Realmente no lo sé. 1267 01:05:42,133 --> 01:05:44,370 Wade a través de él, no hay un montón de ellos. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, strrchr son super, super útil, así como 1269 01:05:49,100 --> 01:05:52,080 los strcpys y strcasecmps que ya hemos utilizado. 1270 01:05:52,080 --> 01:05:56,510 >> Es mucho sólo de jugar un poco con cuerdas, determinar si son iguales, 1271 01:05:56,510 --> 01:05:59,960 conseguir cosas de cuerdas, y ser capaz de abrir archivos correctamente. 1272 01:05:59,960 --> 01:06:02,252 Es una gran cantidad de archivos de E / S. pset en realidad no es tan malo. 1273 01:06:02,252 --> 01:06:04,210 Usted va a tomar un mirarlo, descargarlo, 1274 01:06:04,210 --> 01:06:05,590 y ver un montón de código. 1275 01:06:05,590 --> 01:06:09,220 No se preocupe, el código que escriba realmente no es malo en absoluto. 1276 01:06:09,220 --> 01:06:12,870 Si alguien tiene problemas con su servidor, ven a verme después de la sección. 1277 01:06:12,870 --> 01:06:16,040 >> Pedir disculpas una vez más por no trayendo dulces para Halloween. 1278 01:06:16,040 --> 01:06:18,790 No sé lo que estaba mal conmigo. 1279 01:06:18,790 --> 01:06:20,800 Pero vamos a tener doble los dulces la próxima vez. 1280 01:06:20,800 --> 01:06:25,620 Y buena suerte en su conjunto de procesadores esta semana. 1281 01:06:25,620 --> 01:06:27,170 Sip. 1282 01:06:27,170 --> 01:06:28,722