1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> ALTAVOZ 1: Todos, bienvenidos de nuevo a la derecha. 3 00:00:12,764 --> 00:00:14,140 Este es CS50. 4 00:00:14,140 --> 00:00:16,800 Y este es el comienzo de la novena semana. 5 00:00:16,800 --> 00:00:19,960 Y esto es el comienzo de el resto de su tiempo en CS50, en el que 6 00:00:19,960 --> 00:00:23,170 transición ahora, finalmente, a la web aspecto del curso, donde 7 00:00:23,170 --> 00:00:26,200 encontrará que muchos de los fundamentos que hemos estado exportando durante semanas 8 00:00:26,200 --> 00:00:29,270 aun así volver a visitar, o acosando, nosotros. 9 00:00:29,270 --> 00:00:33,440 Pero ahora, usted encontrará que se trata de una orden de magnitud más fácil 10 00:00:33,440 --> 00:00:36,540 realizar ciertas tareas y resolver ciertos problemas - 11 00:00:36,540 --> 00:00:41,050 tanto es así que incluso si usted cree ciertos conjuntos de problemas eran divertidas en su 12 00:00:41,050 --> 00:00:44,200 manera, creo que usted encontrará que p fijó 7, p set 8, y luego, 13 00:00:44,200 --> 00:00:47,990 en última instancia, el proyecto final será tanto más gratificante porque se le 14 00:00:47,990 --> 00:00:51,830 encontramos que empezamos a dar por sentado ahora cosas como la gestión de memoria, y 15 00:00:51,830 --> 00:00:54,190 punteros, y lo que está pasando de debajo del capó. 16 00:00:54,190 --> 00:00:57,310 Y de nuevo, temática, durante todo el semestre ha sido de esta estratificación 17 00:00:57,310 --> 00:00:58,030 y todas las ocasiones. 18 00:00:58,030 --> 00:01:00,530 Y ahora somos una especie de hasta aquí, de pie en el 19 00:01:00,530 --> 00:01:01,930 hombros de semana pasado. 20 00:01:01,930 --> 00:01:05,360 >> Ahora, recordar la última vez que hablado de cómo funcionaba el internet. 21 00:01:05,360 --> 00:01:08,120 Y esto era quizás un simplificación excesiva, pero recuerde que 22 00:01:08,120 --> 00:01:12,960 todos los ordenadores del mundo tiene una IP abordar, aunque eso es un poco de una 23 00:01:12,960 --> 00:01:14,570 excesiva simplificación todavía. 24 00:01:14,570 --> 00:01:18,180 Y esas direcciones se utilizan para únicamente identificar las máquinas de manera que 25 00:01:18,180 --> 00:01:22,010 cuando se envía información o paquetes, por así decirlo, que pueden tener un origen 26 00:01:22,010 --> 00:01:24,000 dirección y una dirección de destino. 27 00:01:24,000 --> 00:01:27,830 Y esas mismas direcciones IP se pueden utilizar tanto para lo bueno y también para lo malo, 28 00:01:27,830 --> 00:01:29,270 para efectuar su seguimiento, por ejemplo. 29 00:01:29,270 --> 00:01:32,200 De hecho, cada uno de ustedes con un ordenador portátil abrir ahora, o un teléfono en su 30 00:01:32,200 --> 00:01:35,070 bolsillo, tiene una dirección IP en la red de Harvard. 31 00:01:35,070 --> 00:01:39,120 Y no es tan difícil correlacionar que a quién y donde se 32 00:01:39,120 --> 00:01:40,180 son estos días. 33 00:01:40,180 --> 00:01:42,090 Pero más sobre esto quizá en el futuro. 34 00:01:42,090 --> 00:01:46,510 >> Ahora que pensé en traer de vuelta algunos recuerdos de [? mejorar?] y le dará 35 00:01:46,510 --> 00:01:49,360 otro clip de un show que puede ser que encuentre familiarizado. 36 00:01:49,360 --> 00:01:52,710 Si pudiéramos apagar las luces por tan sólo unos segundos. 37 00:01:52,710 --> 00:01:53,960 El espectáculo Numb3rs. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> ALTAVOZ 2: Es una dirección IPP4 32 bits. 40 00:02:00,540 --> 00:02:01,610 >> ALTAVOZ 3: IPP, como en Internet? 41 00:02:01,610 --> 00:02:02,968 >> ALTAVOZ 2: Red privada. 42 00:02:02,968 --> 00:02:04,960 Para la red privada de Amita. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Ella es tan increíble. 45 00:02:19,602 --> 00:02:21,030 >> ALTAVOZ 3: Vamos, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> ALTAVOZ 2: Es. 47 00:02:21,490 --> 00:02:22,470 Una dirección IP espejo. 48 00:02:22,470 --> 00:02:27,680 Ella está dejando velemos lo que está haciendo en tiempo real. 49 00:02:27,680 --> 00:02:30,930 >> ALTAVOZ 1: OK, así que un par de cosas mal con esta imagen. 50 00:02:30,930 --> 00:02:32,920 Así que uno, y éste es aceptable, esto es en realidad 51 00:02:32,920 --> 00:02:34,400 no es una dirección IP válida. 52 00:02:34,400 --> 00:02:38,190 Una dirección IP válida tiene que ser números de la forma w.x.y.z, donde cada uno de 53 00:02:38,190 --> 00:02:40,000 esas cartas es de 0 a 255. 54 00:02:40,000 --> 00:02:42,330 Pero eso está bien, porque al igual que el películas donde estén disponibles los números de teléfono falsos, 55 00:02:42,330 --> 00:02:43,520 que las direcciones IP falsas. 56 00:02:43,520 --> 00:02:45,230 En realidad no golpeas servidores reales. 57 00:02:45,230 --> 00:02:46,760 >> Pero eso sí, se trata de un navegador. 58 00:02:46,760 --> 00:02:50,760 Y los navegadores no empiezan salida código informático como este. 59 00:02:50,760 --> 00:02:54,230 Y si miramos un poco más profundo, el aviso que el idioma que están viendo 60 00:02:54,230 --> 00:02:57,040 en la pantalla es un lenguaje llamado Objetivo C, que es el idioma en el 61 00:02:57,040 --> 00:02:59,520 aplicaciones para el iPhone que se escriben, en particular los que implican 62 00:02:59,520 --> 00:03:03,540 lápices de colores, como se puede ver en el código fuente aquí. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> Bueno, pensé que esto era gracioso. 65 00:03:07,560 --> 00:03:12,240 Así que este fragmento de código no tiene absolutamente nada que ver con lo que esta 66 00:03:12,240 --> 00:03:13,940 en particular episodio trataba. 67 00:03:13,940 --> 00:03:17,590 Así que la broma es algo sobre la gente teniendo para este hecho. 68 00:03:17,590 --> 00:03:20,220 Pero esto no es tan difícil de conseguir estos detalles técnicos. 69 00:03:20,220 --> 00:03:21,980 Y les animo. 70 00:03:21,980 --> 00:03:25,530 Y, de hecho, 50 muy bien podría estropear una gran cantidad de programas de televisión y películas o 71 00:03:25,530 --> 00:03:27,320 porque usted encontrará que es justo no es posible lo que están 72 00:03:27,320 --> 00:03:28,630 haciendo en la pantalla. 73 00:03:28,630 --> 00:03:31,750 Pero de hecho, este es el código que puede verlo en una aplicación iPhone 74 00:03:31,750 --> 00:03:33,640 o aplicación de Mac OS. 75 00:03:33,640 --> 00:03:35,685 No tiene nada en absoluto que ver con la seguridad. 76 00:03:35,685 --> 00:03:38,610 Así que mantener un ojo hacia fuera para más cosas tan divertidas como esas. 77 00:03:38,610 --> 00:03:42,720 >> Pero hoy comenzamos a bucear en realidad profundamente a toda una variedad de idiomas. 78 00:03:42,720 --> 00:03:45,410 Un hecho, uno de los objetivos globales comida para llevar de esta porción de la 79 00:03:45,410 --> 00:03:51,815 Por supuesto que no es para aprender a programar en PHP, no aprender SQL per se, no 80 00:03:51,815 --> 00:03:58,100 para aprender JavaScript per se, sino más bien a enseñar cómo enseñar 81 00:03:58,100 --> 00:04:02,030 usted mismo los nuevos lenguajes, ya que, de hecho, empezamos a tomar ahora la 82 00:04:02,030 --> 00:04:06,020 ruedas de entrenamiento fuera de modo que después de final del curso, que no esperes un 20 83 00:04:06,020 --> 00:04:08,890 especificación de la página que le diga cómo implementar algún programa. 84 00:04:08,890 --> 00:04:12,970 Usted tiene suficientes ingredientes en su mente, y las herramientas suficientes en su herramienta 85 00:04:12,970 --> 00:04:15,750 Kit, con el que para empezar a construir soluciones a los problemas de interés para los 86 00:04:15,750 --> 00:04:19,130 por algún grupo de estudiantes, por alguna proyecto de investigación, o en realidad cualquier cosa 87 00:04:19,130 --> 00:04:20,140 de interés para usted. 88 00:04:20,140 --> 00:04:24,150 >> Así que con ese fin, recordemos que esto era la foto se hizo la última vez. 89 00:04:24,150 --> 00:04:27,620 Y esto es de dos ordenadores, el cliente y el cortar, hablando el uno al otro. 90 00:04:27,620 --> 00:04:31,130 Y el protocolo, el idioma, por lo que hablan, que estos dos ordenadores suceden 91 00:04:31,130 --> 00:04:33,220 que se habla se llama HTTP. 92 00:04:33,220 --> 00:04:37,730 Y eso es sólo el protocolo utilizado por computadoras para transferir información a través 93 00:04:37,730 --> 00:04:38,710 la World Wide Web. 94 00:04:38,710 --> 00:04:41,770 La web, por supuesto, es sólo un servicio de que se ejecuta en la parte superior de la 95 00:04:41,770 --> 00:04:43,000 llamado Internet. 96 00:04:43,000 --> 00:04:48,660 ¿Cuál es otro servicio disponible en parte superior de la Internet en estos días? 97 00:04:48,660 --> 00:04:51,600 Algún otro protocolo o - ¿qué es eso? 98 00:04:51,600 --> 00:04:52,300 >> AUDIENCIA: FTP. 99 00:04:52,300 --> 00:04:52,790 >> ALTAVOZ 1: FTP. 100 00:04:52,790 --> 00:04:54,630 Así Protocolo de transferencia de archivos es otra. 101 00:04:54,630 --> 00:04:56,050 La mayoría de ustedes probablemente no lo han utilizado. 102 00:04:56,050 --> 00:04:58,830 Pero la mayoría de ustedes probablemente han utilizado cosas como Gchat o instantánea 103 00:04:58,830 --> 00:05:00,970 mensajería más en general, ciertamente de correo electrónico. 104 00:05:00,970 --> 00:05:04,470 Y esos, también, son servicios que se ejecutan en parte superior de la Internet, ya que, en el 105 00:05:04,470 --> 00:05:08,180 final del día, la propia Internet realmente sólo obtener los datos del punto A al 106 00:05:08,180 --> 00:05:12,480 punto B. Y utiliza una serie de sí mismo partículas, uno de ellos o dos 107 00:05:12,480 --> 00:05:17,340 de ellos más general, llamado TCP / IP, lo que quiere decir que un ordenador de 108 00:05:17,340 --> 00:05:19,960 Internet puede realmente estar haciendo diferentes cosas, correo electrónico, 109 00:05:19,960 --> 00:05:20,980 y web, y así sucesivamente. 110 00:05:20,980 --> 00:05:22,220 Google hace un montón de esto. 111 00:05:22,220 --> 00:05:26,310 Entonces, ¿cómo son los servicios de forma exclusiva identificado, dijimos, en un ordenador 112 00:05:26,310 --> 00:05:29,080 que en realidad podría estar haciendo varias cosas? 113 00:05:29,080 --> 00:05:29,860 >> El número de puerto. 114 00:05:29,860 --> 00:05:34,180 Y estos son humanos arbitraria convenciones como 80 es la web, 443 es 115 00:05:34,180 --> 00:05:36,580 Web cifrado, 25 es el correo electrónico. 116 00:05:36,580 --> 00:05:38,230 Y hay un racimo de otros. 117 00:05:38,230 --> 00:05:41,860 Y esas cifras son simplemente incluidos en los paquetes de información, los 118 00:05:41,860 --> 00:05:46,230 envolvente virtual, que en realidad contenía una solicitud o una respuesta. 119 00:05:46,230 --> 00:05:51,300 >> Así que cuando usted regrese una respuesta de la web, por lo general, no ve ninguna 120 00:05:51,300 --> 00:05:54,780 número absoluto en términos de la código de estado de la respuesta. 121 00:05:54,780 --> 00:05:56,770 En realidad no ve la funcionamiento interno de la 122 00:05:56,770 --> 00:05:58,090 paquetes que regresar. 123 00:05:58,090 --> 00:05:59,860 Pero 200 significa de hecho en Aceptar. 124 00:05:59,860 --> 00:06:01,530 Y eso significa que todo está bien. 125 00:06:01,530 --> 00:06:02,870 Usted podría haber visto un montón de ellos. 126 00:06:02,870 --> 00:06:05,710 Lo cual es probablemente el más común que has visto en la web? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Sólo significa que el archivo no encontrado. 129 00:06:07,330 --> 00:06:08,270 Significa que alguien metió la pata. 130 00:06:08,270 --> 00:06:11,450 Lo hiciste por escribir mal la dirección, o alguien más hizo por darle un 131 00:06:11,450 --> 00:06:15,100 URL no válida, o que eliminan el archivo y la URL es todavía 132 00:06:15,100 --> 00:06:16,130 siendo utilizado por la gente. 133 00:06:16,130 --> 00:06:19,670 Así que cualquier número de razones pueden explicar ¿por qué no se encuentra un archivo. 134 00:06:19,670 --> 00:06:22,990 Y verás, en las próximas semanas, estos otros códigos de error, y se le 135 00:06:22,990 --> 00:06:24,195 tomar ventaja de algunos de ellos. 136 00:06:24,195 --> 00:06:25,760 Lo peor es 500. 137 00:06:25,760 --> 00:06:29,820 Si obtiene un error 500 en el código que has por escrito, piensa en eso como una especie de 138 00:06:29,820 --> 00:06:33,290 analógica de fallos seg en el mundo de la programación de web. 139 00:06:33,290 --> 00:06:34,560 No es tan grave. 140 00:06:34,560 --> 00:06:36,660 Pero sólo significa que, en algún lugar, te equivocaste. 141 00:06:36,660 --> 00:06:38,260 Así que esperamos que esos. 142 00:06:38,260 --> 00:06:39,910 >> Pero vamos a ver si podemos verlas en su contexto. 143 00:06:39,910 --> 00:06:43,460 Déjame ir a un navegador aquí y haga lo siguiente. 144 00:06:43,460 --> 00:06:45,710 Así que esto es Chrome, que pasa a ser instalado en el aparato. 145 00:06:45,710 --> 00:06:49,410 Pero la mayoría de cada navegador en estos días tiene parte de la funcionalidad equivalente. 146 00:06:49,410 --> 00:06:52,610 Voy a ir hasta el menú del cromo, e ir a Herramientas, y yo voy a ir 147 00:06:52,610 --> 00:06:53,990 a Herramientas de desarrollo. 148 00:06:53,990 --> 00:06:57,040 Y verás que este pequeño panel se abre en la parte inferior de la ventana. 149 00:06:57,040 --> 00:07:00,190 Otro atajo, para ser honesto, que me suele utilizar a mí mismo es hacer clic derecho 150 00:07:00,190 --> 00:07:04,370 o Control, haga clic en cualquier lugar de la web página y sólo tiene que ir a Inspeccionar Elemento. 151 00:07:04,370 --> 00:07:07,440 Y eso no sólo se abrirá esto tiene para usted. 152 00:07:07,440 --> 00:07:10,230 También se abrirá, específicamente, la parte de los elementos en 153 00:07:10,230 --> 00:07:11,430 el lado izquierdo. 154 00:07:11,430 --> 00:07:12,460 >> Así que estamos, por supuesto, ver a Google. 155 00:07:12,460 --> 00:07:13,930 Cambiaron su logotipo de hoy. 156 00:07:13,930 --> 00:07:20,200 Pero si me desplazo hasta aquí, el aviso que en virtud de los elementos, que se ve 157 00:07:20,200 --> 00:07:23,460 lo que se llama HTML, marcado de hipertexto El lenguaje, y este es el lenguaje 158 00:07:23,460 --> 00:07:26,000 que esta y todas las páginas web, Realmente, están escritos pulg 159 00:07:26,000 --> 00:07:28,950 Pero en realidad es el formato para nosotros mucho más legible 160 00:07:28,950 --> 00:07:29,970 de lo que normalmente es. 161 00:07:29,970 --> 00:07:34,810 De hecho, si el zoom, y yo en su lugar simplemente Haga clic o control Click 162 00:07:34,810 --> 00:07:39,630 haga clic en la página, y luego vaya a Ver Origen de la página, esto es, literalmente, lo que 163 00:07:39,630 --> 00:07:42,150 Google ha hecho descender a mi navegador. 164 00:07:42,150 --> 00:07:46,480 >> Así que alguna persona o personas escribieron Google.com utilizando este código fuente. 165 00:07:46,480 --> 00:07:47,790 La mayor parte de esto no es HTML. 166 00:07:47,790 --> 00:07:49,340 En realidad es un lenguaje llamado JavaScript, que 167 00:07:49,340 --> 00:07:50,880 vamos a llegar a el miércoles. 168 00:07:50,880 --> 00:07:55,580 Pero lo que Chrome, y lo que todos los navegadores puede hacer por nosotros, es una especie de ver 169 00:07:55,580 --> 00:07:59,610 más allá de todas las distracciones de la sintaxis loco, y vuelva a insertar espacios en blanco 170 00:07:59,610 --> 00:08:02,940 para nosotros, e incluso resaltado de sintaxis, o colorear las cosas para nosotros. 171 00:08:02,940 --> 00:08:06,470 Así que usted encontrará que estos llamados herramientas de desarrollo integradas en navegadores; 172 00:08:06,470 --> 00:08:10,830 le hará la vida mucho, mucho más fácil porque usted puede explorar, a través de este menú 173 00:08:10,830 --> 00:08:13,940 interfaz, exactamente lo que el subyacente código fuente es para 174 00:08:13,940 --> 00:08:15,750 cualquier página de internet. 175 00:08:15,750 --> 00:08:19,070 Y, de hecho, este es uno de los más maneras eficaces de aprender cómo hacerlo 176 00:08:19,070 --> 00:08:22,860 algo nuevo, por lo menos si la página no es tan complejo como para abrumar, es 177 00:08:22,860 --> 00:08:26,700 para empezar a jugar es de HTML, busque en su llamado CSS, lo que vamos a venir 178 00:08:26,700 --> 00:08:30,310 a un poco también, para obtener una comprensión de la forma que el programador 179 00:08:30,310 --> 00:08:33,480 implementado algún particular, característica de la página. 180 00:08:33,480 --> 00:08:36,530 >> Pero lo más interesante técnicamente correcto ahora va a ser esto. 181 00:08:36,530 --> 00:08:39,429 Si voy a la pestaña Red, ahora vamos a aclarar esto. 182 00:08:39,429 --> 00:08:43,429 Voy a hacer clic en el pequeño cruzar símbolo aquí, y luego 183 00:08:43,429 --> 00:08:45,630 ir a otro sitio web. 184 00:08:45,630 --> 00:08:48,430 Y yo sólo voy a escribir en Facebook.com. 185 00:08:48,430 --> 00:08:51,940 Sin HTTP, HTTPS sin, sin WWW. 186 00:08:51,940 --> 00:08:53,850 Vamos a ver realmente lo que pasa aquí. 187 00:08:53,850 --> 00:08:55,030 >> Intro. 188 00:08:55,030 --> 00:08:58,480 Ahora note un montón de cosas sólo aparecido en este panel inferior, en 189 00:08:58,480 --> 00:09:00,285 Además de la página web que aparece en la parte superior. 190 00:09:00,285 --> 00:09:04,890 Voy a desplazarse de nuevo hacia la Ficha Red aquí, y voy a 191 00:09:04,890 --> 00:09:06,080 haga clic en la primera fila. 192 00:09:06,080 --> 00:09:10,580 Lo que esta herramienta va a revelarnos es cada una de las peticiones HTTP 193 00:09:10,580 --> 00:09:13,550 que rápidamente se acaba de ir hacia atrás y vuelta entre mi navegador 194 00:09:13,550 --> 00:09:14,930 y el servidor de Facebook. 195 00:09:14,930 --> 00:09:17,830 Y así, cada una de las filas representa uno de tales solicitud o 196 00:09:17,830 --> 00:09:20,970 respuesta, uno o más de los envolvente virtual. 197 00:09:20,970 --> 00:09:24,080 O más informal, es como una persona como una persona, un cliente en un 198 00:09:24,080 --> 00:09:26,710 restaurante, pedir algo otra vez, y otra vez, y otra vez. 199 00:09:26,710 --> 00:09:29,400 Y el camarero sigue trayendo de nuevo de uno en uno. 200 00:09:29,400 --> 00:09:33,850 >> Así que ahora, si puedo ampliar sobre este tema, previo aviso y este será el tipo de cosas 201 00:09:33,850 --> 00:09:36,600 que le invitamos a y alentó para jugar por su cuenta, ya que 202 00:09:36,600 --> 00:09:38,150 no pasará a través de todo con gran detalle. 203 00:09:38,150 --> 00:09:40,070 Pero note que hay una pocos subfichas aquí - 204 00:09:40,070 --> 00:09:43,700 Cabezales, vista previa, la respuesta, Cookies, y el momento. 205 00:09:43,700 --> 00:09:48,280 Yo sólo voy a mirar las cabeceras por ahora, porque estos son poco 206 00:09:48,280 --> 00:09:53,600 ingredientes dentro de la envoltura que ayudan a obtener datos desde y hacia lugares. 207 00:09:53,600 --> 00:09:57,590 >> Así que en primer lugar, permítanme Haga clic en este, Vistas Fuente junto a los encabezados de solicitud. 208 00:09:57,590 --> 00:10:01,910 No es la petición de que mi navegador, Cromo, en este caso, envía dentro de 209 00:10:01,910 --> 00:10:02,910 el sobre virtual. 210 00:10:02,910 --> 00:10:04,800 Usted recordará la semana pasada tecleado manualmente mientras 211 00:10:04,800 --> 00:10:06,380 haciéndose pasar por un navegador. 212 00:10:06,380 --> 00:10:09,980 Entonces recordó el servidor que es buscando el host llamado 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 Y luego está un poco más arcano la información que vamos a agitamos 215 00:10:13,630 --> 00:10:14,830 nuestras manos por ahora. 216 00:10:14,830 --> 00:10:18,640 >> Pero si empiezo a desplazarse hacia abajo ahora en esta ventana, vamos a llegar a la 217 00:10:18,640 --> 00:10:19,980 cabeceras de respuesta. 218 00:10:19,980 --> 00:10:23,270 Esto era lo que hay en el mundo virtual sobre que regresó de 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 Y si hago clic en Ver código sólo para ver el texto sin procesar de la misma, 221 00:10:27,390 --> 00:10:28,400 notar un par de cosas. 222 00:10:28,400 --> 00:10:32,130 Uno, Facebook también habla el mismo protocolo, la versión 1.1 de la misma. 223 00:10:32,130 --> 00:10:33,390 Así que eso es bueno. 224 00:10:33,390 --> 00:10:36,820 Pero el código de estado 301, trasladado de manera permanente. 225 00:10:36,820 --> 00:10:38,880 >> Bueno, ¿dónde diablos se fue de Facebook? 226 00:10:38,880 --> 00:10:40,430 ¿Qué es esto tratando de transmitir a nosotros? 227 00:10:40,430 --> 00:10:44,310 Bueno, note aquí abajo hay otra cabecera llamó Ubicación. 228 00:10:44,310 --> 00:10:51,050 ¿Por qué es Facebook diciéndome que trasladado de manera permanente a la URL 229 00:10:51,050 --> 00:10:53,580 al lado de Ubicación? 230 00:10:53,580 --> 00:10:54,962 Se me olvidó el www. 231 00:10:54,962 --> 00:10:56,250 >> Así que esa fue mi elección. 232 00:10:56,250 --> 00:11:00,450 De hecho, la mayoría de nosotros rara vez, probablemente, escriba www.whatever.com estos días. 233 00:11:00,450 --> 00:11:03,390 Pero resulta que un administrador del sistema, como Facebook de, puede 234 00:11:03,390 --> 00:11:06,800 configurar sus servidores de tal manera que o Facebook.com funciona, o 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com trabaja, o, en realidad, cualquier prefijo delante de su 236 00:11:12,450 --> 00:11:13,210 nombre de dominio. 237 00:11:13,210 --> 00:11:14,500 Así que lo que han hecho por nosotros. 238 00:11:14,500 --> 00:11:16,910 Y ellos nos están reorientando, probablemente por alguna técnica, 239 00:11:16,910 --> 00:11:18,100 algunas de las razones de marketing. 240 00:11:18,100 --> 00:11:21,570 Ellos sólo quieren canonizar en www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Pero eso no es todo ello. 242 00:11:24,040 --> 00:11:28,560 Si me desplazo hasta aquí, vamos a ver qué pasa. 243 00:11:28,560 --> 00:11:30,810 Esto me está diciendo que trasladado de manera permanente a 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Así que echemos un vistazo a la segunda solicitud que mi navegador envía. 246 00:11:36,620 --> 00:11:40,070 Por desgracia, parece que Facebook se ha trasladado de nuevo porque el segundo 247 00:11:40,070 --> 00:11:44,420 solicitar, mediante la selección de la URL en su lugar, dice que, también, se trasladó 248 00:11:44,420 --> 00:11:45,010 de forma permanente. 249 00:11:45,010 --> 00:11:48,140 Y permítanme desplazo hasta aquí a las cabeceras de respuesta. 250 00:11:48,140 --> 00:11:51,530 ¿Dónde ha ido Facebook ahora? 251 00:11:51,530 --> 00:11:52,680 >> Así HTTPS. 252 00:11:52,680 --> 00:11:56,130 Así que ahora Facebook ha comenzado, particularmente a la luz de la actual 253 00:11:56,130 --> 00:11:59,750 acontecimientos de los últimos meses, sobre todo y También en los últimos dos años 254 00:11:59,750 --> 00:12:03,670 para obligar a la totalidad de sus usuarios, en una buena manera, para usar HTTPS, que es más 255 00:12:03,670 --> 00:12:06,210 asegurar, aunque no del todo seguro. 256 00:12:06,210 --> 00:12:10,000 Y ahora mi página, mi navegador no está va a pedir esta tercera URL. 257 00:12:10,000 --> 00:12:14,710 Y ahora, por fin, tenemos la de otro modo invisible 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> Así que lo que en el mundo o la totalidad de estas otras filas de aquí abajo. 259 00:12:18,830 --> 00:12:22,630 Yo, literalmente, escribí una cosa, y mi navegador parece haber solicitado como 260 00:12:22,630 --> 00:12:23,840 20 algunas cosas extrañas. 261 00:12:23,840 --> 00:12:24,640 ¿Qué es eso? 262 00:12:24,640 --> 00:12:25,810 >> AUDIENCIA: Scripts? 263 00:12:25,810 --> 00:12:28,460 >> ALTAVOZ 1: Secuencias de comandos, por lo que otros archivos escrito en un lenguaje llamado 264 00:12:28,460 --> 00:12:30,780 JavaScript, lo que, de nuevo, vamos a ver un poco de este miércoles. 265 00:12:30,780 --> 00:12:32,760 ¿Qué más? 266 00:12:32,760 --> 00:12:33,390 Las hojas de estilo. 267 00:12:33,390 --> 00:12:36,350 Así que algo en un lenguaje llamado CSS, que veremos en un momento. 268 00:12:36,350 --> 00:12:40,690 Gifs e imágenes JPEG, y PNG, y las imágenes, y archivos de película - lo que una página web 269 00:12:40,690 --> 00:12:43,280 tiene es más probable en la forma de un archivo. 270 00:12:43,280 --> 00:12:46,750 Y así, lo que estamos viendo en el lado izquierdo lado no todos los archivos 271 00:12:46,750 --> 00:12:50,280 que Chrome tuvo que descargar, recursivamente, si se quiere, con el fin de 272 00:12:50,280 --> 00:12:52,430 componer la totalidad de la página. 273 00:12:52,430 --> 00:12:56,210 >> Así que lo que vimos hace un momento con Google, si hago clic en los elementos 274 00:12:56,210 --> 00:13:00,470 pestaña, esto, claro, es el HTML, el lenguaje que compone esta página. 275 00:13:00,470 --> 00:13:01,890 Pero hay montones de otras cosas. 276 00:13:01,890 --> 00:13:02,640 Hay un logo. 277 00:13:02,640 --> 00:13:04,680 Hay quienes azulado iconos allá. 278 00:13:04,680 --> 00:13:07,610 Y hay otros elementos aún en la página que ellos mismos podrían ser 279 00:13:07,610 --> 00:13:08,610 archivos separados. 280 00:13:08,610 --> 00:13:11,860 >> Así que lo bueno de un navegador es que se ve en el lenguaje que vamos 281 00:13:11,860 --> 00:13:14,690 para empezar a escribir, o que ya ha comenzó a escribir en P puesto 7, figuras 282 00:13:14,690 --> 00:13:17,970 dónde viven esos archivos, y va y les agarra también. 283 00:13:17,970 --> 00:13:21,010 Y no puedo enfatizar lo suficiente, incluso aunque algo de esto podría parecer un poco 284 00:13:21,010 --> 00:13:24,820 arcano o abrumador a primera vista, aprender a programar 285 00:13:24,820 --> 00:13:28,500 aplicaciones para la web, es invaluable para entender cómo estos 286 00:13:28,500 --> 00:13:29,410 pequeñas herramientas de trabajo. 287 00:13:29,410 --> 00:13:33,830 Estos son una especie de GDB como herramientas, pero mucho más simple, en última instancia, a utilizar - 288 00:13:33,830 --> 00:13:37,690 y realmente te da ojos a lo que hemos estado dando por sentado durante 289 00:13:37,690 --> 00:13:39,170 desde hace bastante tiempo. 290 00:13:39,170 --> 00:13:42,270 >> ¿Qué podemos hacer ahora con esta información? 291 00:13:42,270 --> 00:13:44,875 Bueno, vamos a realmente echar un vistazo a Los conceptos HTML subyacente. 292 00:13:44,875 --> 00:13:49,025 Y vamos a aplazar, como ya tenemos, a secciones esta semana, que el problema 293 00:13:49,025 --> 00:13:53,260 establecer 7 especificación, a algunos de los más pormenores de estos idiomas. 294 00:13:53,260 --> 00:13:57,020 Pero vamos a ver si no podemos pintar un imagen de lo que usted debe entender 295 00:13:57,020 --> 00:13:57,940 general aquí. 296 00:13:57,940 --> 00:14:02,280 >> Así HTML, HyperText Markup Language, no es un lenguaje de programación. 297 00:14:02,280 --> 00:14:03,520 ¿Qué significa eso realmente? 298 00:14:03,520 --> 00:14:05,690 Así HTML se parece a esto. 299 00:14:05,690 --> 00:14:06,810 Y algunos de ustedes ya saben esto. 300 00:14:06,810 --> 00:14:08,130 Algunos de ustedes han estado haciendo esto durante algún tiempo. 301 00:14:08,130 --> 00:14:10,270 Pero vamos a ver si no podemos llenar en algunos espacios en blanco también. 302 00:14:10,270 --> 00:14:11,760 Así cuenta un par de cosas aquí. 303 00:14:11,760 --> 00:14:13,030 Uno, es sólo texto. 304 00:14:13,030 --> 00:14:15,960 Así es como el código fuente en C, o algún otro idioma. 305 00:14:15,960 --> 00:14:17,750 >> Tenga en cuenta que no parece ser un patrón aquí. 306 00:14:17,750 --> 00:14:20,870 Hay sangría, pero técnicamente la sangría es sólo humana 307 00:14:20,870 --> 00:14:21,205 convención. 308 00:14:21,205 --> 00:14:24,980 A navegadores no le importa si hay nueva líneas y las pestañas como vemos allí. 309 00:14:24,980 --> 00:14:27,410 Pero note que hay simetrías aquí. 310 00:14:27,410 --> 00:14:31,180 No es lo que yo llamo, en la parte superior de el archivo, la etiqueta abierta, o el inicio 311 00:14:31,180 --> 00:14:33,030 etiqueta, llamado HTML. 312 00:14:33,030 --> 00:14:36,800 Y luego, más abajo, perfectamente alineados arriba, al igual que hacemos con las llaves, 313 00:14:36,800 --> 00:14:40,910 vemos paréntesis abierto, hacia adelante slash, HTML, corchete de cierre. 314 00:14:40,910 --> 00:14:44,610 Así que esa es la estrecha correspondiente tag o etiqueta final, por esa cosa. 315 00:14:44,610 --> 00:14:47,990 >> En conjunto, todo dentro de la llamado tag de apertura y cierre de etiquetas 316 00:14:47,990 --> 00:14:50,440 componemos lo que llamaremos un elemento. 317 00:14:50,440 --> 00:14:53,910 Y vamos a ver, en un momento, es realmente como un nodo dentro de los árboles. 318 00:14:53,910 --> 00:14:57,470 Porque si lo piensas ahora la sangría que está implícito aquí, 319 00:14:57,470 --> 00:15:00,780 tipo de tener, como, un abuelo nodo llamado HTML. 320 00:15:00,780 --> 00:15:06,870 ¿Cuántos niños puede usted decir, con base en esta imagen, el elemento HTML tiene? 321 00:15:06,870 --> 00:15:07,720 >> Así probablemente dos. 322 00:15:07,720 --> 00:15:10,240 Uno es el elemento de cabeza, al parecer. 323 00:15:10,240 --> 00:15:11,710 Y uno es el elemento del cuerpo. 324 00:15:11,710 --> 00:15:12,555 ¿Y por qué dos niños? 325 00:15:12,555 --> 00:15:15,840 Bueno, yo sólo tipo de inferir que si Tengo una etiqueta de la cabeza abierta y luego un 326 00:15:15,840 --> 00:15:17,820 cerca etiqueta de la cabeza, que es un elemento. 327 00:15:17,820 --> 00:15:21,200 Y luego, si hay otro cuerpo abierto etiqueta y una etiqueta de cierre del cuerpo, que es como 328 00:15:21,200 --> 00:15:22,340 otro elemento. 329 00:15:22,340 --> 00:15:26,000 Así, en el sentido de que si que tipo de rotar la imagen de su lado, es 330 00:15:26,000 --> 00:15:29,910 como tener una etiqueta HTML, y luego un etiqueta de la cabeza, y luego un cuerpo de la etiqueta, y 331 00:15:29,910 --> 00:15:34,290 a continuación, un poco de texto, hola mundo, colgando fuera del propio cuerpo de la etiqueta. 332 00:15:34,290 --> 00:15:36,620 >> Así que podemos hacer un dibujo que podría tener este aspecto. 333 00:15:36,620 --> 00:15:38,020 Las formas son arbitrarias. 334 00:15:38,020 --> 00:15:40,870 Pero noto que he utilizado una especie de elipse en la parte superior para representar la 335 00:15:40,870 --> 00:15:41,860 propio documento. 336 00:15:41,860 --> 00:15:45,980 Resulta que no puede haber otras cosas dentro de una página web que no tengo 337 00:15:45,980 --> 00:15:46,940 dibujado aquí. 338 00:15:46,940 --> 00:15:50,800 Así que vamos a pasar el rato, incluso el código HTML nodo fuera de un nodo denominado documento. 339 00:15:50,800 --> 00:15:53,730 Y luego tenemos la cabeza y cuerpo y el título, previo aviso, 340 00:15:53,730 --> 00:15:55,360 que está anidado más. 341 00:15:55,360 --> 00:15:58,650 No me molesté en poner línea adicional pausas dentro de la etiqueta del título. 342 00:15:58,650 --> 00:16:02,710 Se sentía como que estaba recibiendo un poco demasiado detallado. 343 00:16:02,710 --> 00:16:07,000 Así que lo dejé en una línea allí, con título abierto, hola mundo, cerca del título. 344 00:16:07,000 --> 00:16:09,380 Y luego tenemos un poco de texto colgando fuera de aquí. 345 00:16:09,380 --> 00:16:12,200 >> Así que la imagen volverá a nosotros cuando nos sumergimos en JavaScript. 346 00:16:12,200 --> 00:16:15,110 Y la comprensión de que cuando usted escribir HTML como este, lo que 347 00:16:15,110 --> 00:16:16,250 está haciendo un navegador? 348 00:16:16,250 --> 00:16:19,290 Bueno, nosotros no tenemos que preocuparnos por cómo se está haciendo esto, o con lo que 349 00:16:19,290 --> 00:16:23,090 algoritmo, pero al final de la día, cuando un navegador recibe HTML como 350 00:16:23,090 --> 00:16:27,510 que, a partir de Facebook o Google, analiza que, por así decirlo, se lee, 351 00:16:27,510 --> 00:16:31,160 con algo como fread, de arriba a abajo, de izquierda a derecha, y como 352 00:16:31,160 --> 00:16:36,300 se da cuenta, oh, la etiqueta de apertura y cierre etiqueta, comienza a malloc, por así decirlo, 353 00:16:36,300 --> 00:16:37,800 un nodo en un árbol. 354 00:16:37,800 --> 00:16:41,130 Y cuando se encuentra, como hemos implícita aquí con la indentación, una 355 00:16:41,130 --> 00:16:45,400 nodo hijo, mallocs un nodo para que y que se adjunta al árbol. 356 00:16:45,400 --> 00:16:49,150 >> Así que las estructuras de árbol, árboles binarios, árboles ternarios, y los árboles más grandes, que 357 00:16:49,150 --> 00:16:53,380 nos miró a una o dos semanas atrás, el aviso que el mismo principio es 358 00:16:53,380 --> 00:16:54,220 viene de nuevo a nosotros. 359 00:16:54,220 --> 00:16:57,590 Y quien implementó, Chrome lo equipo hizo que, presumiblemente tenía 360 00:16:57,590 --> 00:17:00,800 para poner en práctica algún tipo de estructura de árbol debajo de la capucha. 361 00:17:00,800 --> 00:17:05,329 Y eso en sí es, probablemente, en un lenguaje como C o C + +, o una menor 362 00:17:05,329 --> 00:17:08,540 lenguaje de alto nivel que vamos a ahora utilizan la cima de la web. 363 00:17:08,540 --> 00:17:11,200 >> Así que ahora, tal vez, esto hará tener más sentido. 364 00:17:11,200 --> 00:17:15,420 Tatuaje real de un tipo que podría arrepentirá eventualmente, algo así. 365 00:17:15,420 --> 00:17:17,359 Vale, de acuerdo, por lo que una gran cantidad de humor de la tela. 366 00:17:17,359 --> 00:17:18,599 No es realmente va sobre tan bien hoy. 367 00:17:18,599 --> 00:17:19,560 Así que vamos a seguir adelante. 368 00:17:19,560 --> 00:17:20,180 Está bien. 369 00:17:20,180 --> 00:17:22,760 >> Así que echemos un vistazo ahora algunos ejemplos. 370 00:17:22,760 --> 00:17:24,660 El más simple posible cosa podría ser esto. 371 00:17:24,660 --> 00:17:29,170 Voy a seguir adelante y abrir en gedit un archivo llamado hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 Y dentro de aquí, voy a rápidamente sólo hacer esto, printf, cita 374 00:17:36,330 --> 00:17:38,590 Lo dijeron ellos, "hola mundo". 375 00:17:38,590 --> 00:17:42,460 >> Entonces noto, y voy a hacer mi barra invertida n, Yo no he molestado a declarar principal. 376 00:17:42,460 --> 00:17:45,310 Resulta que, en php, y una gran cantidad de idiomas, no es necesario un principal 377 00:17:45,310 --> 00:17:46,090 funcionar per se. 378 00:17:46,090 --> 00:17:47,720 Usted puede simplemente comenzar a escribir su programa. 379 00:17:47,720 --> 00:17:51,210 Ahora, al guardar el archivo, notará que soy va a tener que hacer lo siguiente. 380 00:17:51,210 --> 00:17:55,360 Yo no voy a usar maquillaje, y no estoy va a utilizar clang porque PHP, a diferencia de 381 00:17:55,360 --> 00:17:57,400 C, no es un lenguaje compilado. 382 00:17:57,400 --> 00:18:01,400 Es lo que se llama un interpretados lenguaje, lo que significa que se ejecuta 383 00:18:01,400 --> 00:18:04,650 como una entrada a través de otro programa llamada de un intérprete. 384 00:18:04,650 --> 00:18:08,150 Y ese programa lo lee, de arriba a abajo, de izquierda a derecha, y lo hace 385 00:18:08,150 --> 00:18:09,290 lo que sea que digas que haga. 386 00:18:09,290 --> 00:18:12,920 >> Así que en este caso aquí tengo una línea que dice printf. 387 00:18:12,920 --> 00:18:17,990 Así que cuando ejecuto el código fuente, hola.php, aunque un programa que 388 00:18:17,990 --> 00:18:22,830 sucede, convenientemente, que se llamará PHP, ese programa PHP va a leer 389 00:18:22,830 --> 00:18:26,120 este archivo, de arriba a abajo, de izquierda a derecha, y que va a hacer lo que 390 00:18:26,120 --> 00:18:30,110 decirle que haga - la ejecución de código, y si que no reconoce algo, 391 00:18:30,110 --> 00:18:31,320 escupirlo. 392 00:18:31,320 --> 00:18:34,940 Así que voy a seguir adelante y ejecutar PHP de hello.php. 393 00:18:34,940 --> 00:18:37,110 Intro. 394 00:18:37,110 --> 00:18:39,690 >> Y eso no es exactamente lo que yo pretendía. 395 00:18:39,690 --> 00:18:40,530 Bueno, ¿por qué es eso? 396 00:18:40,530 --> 00:18:43,910 Bueno, PHP es un lenguaje que en realidad es diseñado para ser bastante 397 00:18:43,910 --> 00:18:46,150 entrelazada con la web. 398 00:18:46,150 --> 00:18:50,460 Al hacer páginas web con este lenguaje PHP, como pronto veremos, vamos a 399 00:18:50,460 --> 00:18:54,560 querer hacer algo así como de impresión líneas fuera les gusta esto. 400 00:18:54,560 --> 00:18:55,940 >> Así que voy a hacer esto. 401 00:18:55,940 --> 00:19:00,810 Soporte abierto, signo de interrogación, PHP, y Ahora sólo voy guión sólo para mantener 402 00:19:00,810 --> 00:19:01,960 cosas bonitas. 403 00:19:01,960 --> 00:19:04,910 Y ahora me voy a hacer una pregunta marcar corchete de cierre. 404 00:19:04,910 --> 00:19:06,270 Así que hay un poco de asimetría aquí. 405 00:19:06,270 --> 00:19:07,490 Usted no hace esto. 406 00:19:07,490 --> 00:19:10,530 Y no haces una barra, por lo que PHP es un poco diferente. 407 00:19:10,530 --> 00:19:14,610 >> Pero ahora, si me vuelva a ejecutar este programa, Hello.php PHP, ahora 408 00:19:14,610 --> 00:19:16,090 conseguir realmente Hello World. 409 00:19:16,090 --> 00:19:17,750 Y vamos a ver por qué esto es valioso. 410 00:19:17,750 --> 00:19:20,960 Uno de ellos, que me permite especificar, muy explícita, esto es 411 00:19:20,960 --> 00:19:22,480 código, ejecutar este. 412 00:19:22,480 --> 00:19:25,480 Y eso es precisamente lo que estos etiquetas especiales implican aquí. 413 00:19:25,480 --> 00:19:30,330 >> Pero también significa que si acabo de hacer algo así como mi objetivo aquí, que 414 00:19:30,330 --> 00:19:34,000 significa que, literalmente, que se acaba de pueden imprimir sin la necesidad de 415 00:19:34,000 --> 00:19:36,850 en realidad llamar printf, o imprimir, o cualquier función similar. 416 00:19:36,850 --> 00:19:39,445 Así que vamos a volver a la en un momento. 417 00:19:39,445 --> 00:19:40,470 >> En primer lugar, vamos a hacer esto. 418 00:19:40,470 --> 00:19:43,950 En el interior del aparato, tenemos una directorio llamado Vhosts, por virtuales 419 00:19:43,950 --> 00:19:47,000 hosts, slash host local, slash público. 420 00:19:47,000 --> 00:19:50,240 Así que es un poco prolijo, pero larga historia resumen, el aparato no está diseñado 421 00:19:50,240 --> 00:19:53,770 sólo para el apoyo C. También es diseñado para soportar PHP. 422 00:19:53,770 --> 00:19:57,440 Pero también está diseñado para ser una web servidor, y un servidor de base de datos. 423 00:19:57,440 --> 00:20:00,230 Y está diseñado, y verdaderamente configurado, a ser una reminiscencia de cualquier 424 00:20:00,230 --> 00:20:04,230 empresa de alojamiento web comercial que usted podría pagar $ 5 al mes para, 425 00:20:04,230 --> 00:20:05,040 $ 100 al mes para. 426 00:20:05,040 --> 00:20:08,200 Sea cual sea el servicio es, de que está configurado a ser muy similar a una 427 00:20:08,200 --> 00:20:10,170 verdadero servidor de la producción mundial. 428 00:20:10,170 --> 00:20:13,485 >> Y lo que eso significa es que se ejecuta en el aparato es un software de servidor web. 429 00:20:13,485 --> 00:20:15,060 Le pasa a ser llamado Apache. 430 00:20:15,060 --> 00:20:17,790 Es sólo libre y de código abierto, y muy popular. 431 00:20:17,790 --> 00:20:23,260 Y hemos configurado Apache para saber que si vuelvo a visitar una determinada URL, con 432 00:20:23,260 --> 00:20:28,060 Chrome o cualquier otro navegador en el interior del aparato, que debe buscar en este directorio 433 00:20:28,060 --> 00:20:31,030 para los archivos que el usuario está solicitando. 434 00:20:31,030 --> 00:20:32,790 >> En otras palabras, me dejó seguir adelante y hacerlo. 435 00:20:32,790 --> 00:20:36,890 Dentro de mi directorio público, voy seguir adelante y crear un archivo de 436 00:20:36,890 --> 00:20:39,580 llamado index.html. 437 00:20:39,580 --> 00:20:41,000 Eso me da la pestaña aquí. 438 00:20:41,000 --> 00:20:44,210 Y yo voy a ir muy rápido y seguir adelante y golpear a 439 00:20:44,210 --> 00:20:45,010 este programa. 440 00:20:45,010 --> 00:20:48,410 Doctype HTML, que por ahora, sólo se supone que tiene que escribir. 441 00:20:48,410 --> 00:20:53,490 Es sólo una etiqueta arcano, eso no es verdaderamente una etiqueta HTML, que especifica que 442 00:20:53,490 --> 00:20:55,050 aquí viene algo de HTML. 443 00:20:55,050 --> 00:20:57,400 >> Voy a seguir adelante y volver a crear lo que vimos hace un momento. 444 00:20:57,400 --> 00:20:58,650 Aquí está la cabeza de la página. 445 00:20:58,650 --> 00:21:01,170 En el interior de la cabeza era el - 446 00:21:01,170 --> 00:21:01,890 por lo que el título. 447 00:21:01,890 --> 00:21:04,340 Así que vamos a decir hola, mundo. 448 00:21:04,340 --> 00:21:06,570 Y luego aquí abajo era el cuerpo de la etiqueta. 449 00:21:06,570 --> 00:21:08,580 Déjenme cerrar la etiqueta body. 450 00:21:08,580 --> 00:21:12,280 Y entonces aquí También voy a decir, sólo por la claridad, hola mundo. 451 00:21:12,280 --> 00:21:14,770 >> Así que este es, sin duda, la más sencilla posible la página web que 452 00:21:14,770 --> 00:21:15,770 puede hacer que eso es válido. 453 00:21:15,770 --> 00:21:17,030 Es sintácticamente válida. 454 00:21:17,030 --> 00:21:18,620 Todo lo que ha abierto es cerrado. 455 00:21:18,620 --> 00:21:20,910 Todo está muy bien en estilo y sangrada. 456 00:21:20,910 --> 00:21:23,600 Así que vamos a ver ahora cómo me puede acceder a este archivo. 457 00:21:23,600 --> 00:21:25,540 >> Bueno, déjame ir a Chrome aquí. 458 00:21:25,540 --> 00:21:35,050 Y déjame ir a http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 ¿Cuál es tan host local? 460 00:21:36,200 --> 00:21:39,400 Bueno, la mayoría de cualquier computadora en el mundo, Linux, Mac OS, Windows, tiene un apodo 461 00:21:39,400 --> 00:21:40,680 llamado host local. 462 00:21:40,680 --> 00:21:42,900 Así que si alguna vez quieres hablar a su propia computadora - 463 00:21:42,900 --> 00:21:45,140 aunque, por extraño que reflexivamente - 464 00:21:45,140 --> 00:21:47,080 se llama a sí mismo host local. 465 00:21:47,080 --> 00:21:50,390 No importa lo que su equipo actual es llama, si se trata de MacBook de David 466 00:21:50,390 --> 00:21:52,490 Aire, o algo más verbose así. 467 00:21:52,490 --> 00:21:57,760 >> Así que esta URL al parecer, va a utilizar el HTTP para hablar con el host local, 468 00:21:57,760 --> 00:22:00,800 el mismo equipo, el aparato, y que va a pedir, simplemente tomar un 469 00:22:00,800 --> 00:22:02,570 adivinar, qué archivo? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Así que el aparato ha sido configurado en avanzar a saber que si lo que estoy pidiendo 472 00:22:08,650 --> 00:22:13,460 para algo como index.html, busca en una carpeta llamada Vhosts, en un 473 00:22:13,460 --> 00:22:17,950 carpeta llamada localhost, en una carpeta en la misma llamada pública. 474 00:22:17,950 --> 00:22:20,400 Ahí es donde todos los de mi público archivos van a ser. 475 00:22:20,400 --> 00:22:22,610 Así que ahora voy a presionar Enter. 476 00:22:22,610 --> 00:22:27,100 >> Y maldita sea, no es que prohíbe mensaje, conocido de otra manera como 403, la 477 00:22:27,100 --> 00:22:28,490 código numérico por ello. 478 00:22:28,490 --> 00:22:30,130 Así que lo que está mal aquí? 479 00:22:30,130 --> 00:22:33,210 Bueno, no es suficiente con sólo poner el interior de archivos de mi carpeta. 480 00:22:33,210 --> 00:22:35,790 Necesito hacer realidad lo siguiente. 481 00:22:35,790 --> 00:22:40,210 >> Déjame ir a mi directorio Vhosts, en localhost, en público, y dejar 482 00:22:40,210 --> 00:22:41,680 me hago ls tablero l. 483 00:22:41,680 --> 00:22:44,510 Y hay algunas otras cosas aquí para los propósitos de la actualidad. 484 00:22:44,510 --> 00:22:50,540 Pero fíjate en el lado izquierdo, junto de index.html, sólo vemos uno RW. 485 00:22:50,540 --> 00:22:53,560 Y en el pasado, lo RW ha sido sinónimo de? 486 00:22:53,560 --> 00:22:54,240 >> Acabo de leer o escribir. 487 00:22:54,240 --> 00:22:58,000 El hecho de que se dice RW a la izquierda significa que, el dueño de este archivo, puede 488 00:22:58,000 --> 00:22:59,020 leer o escribir en él. 489 00:22:59,020 --> 00:23:05,010 Pero tengo que dejar todas las personas en el mundo leer esto, aunque lo escriba. 490 00:23:05,010 --> 00:23:09,650 Así que me voy a cambiar el modo de la archivo, chmod, todo plus r para dar 491 00:23:09,650 --> 00:23:13,910 todo el mundo el permiso de lectura en la archivo llamado index.html. 492 00:23:13,910 --> 00:23:18,040 >> Y si ahora me vuelva a escribir ls tablero l, el aviso que, por aquí, un poco más 493 00:23:18,040 --> 00:23:19,160 R han aparecido. 494 00:23:19,160 --> 00:23:21,090 Y por ahora, la especificación va en más detalles. 495 00:23:21,090 --> 00:23:24,450 Para P fijó 7, eso sólo significa que todo el mundo ahora puede leer este archivo. 496 00:23:24,450 --> 00:23:27,790 Si regreso a mi navegador ahora y volver a cargar, voila. 497 00:23:27,790 --> 00:23:28,750 ¡Hola, mundo. 498 00:23:28,750 --> 00:23:32,260 >> Y yo ni siquiera puedo abrir mis herramientas de Chrome y ver, al igual que con Google y 499 00:23:32,260 --> 00:23:34,590 Facebook, que ahí está mi HTML, formateado un poco 500 00:23:34,590 --> 00:23:35,930 de manera diferente y coloreada. 501 00:23:35,930 --> 00:23:40,450 Si voy a la pestaña de la red y vuelva a cargar la página, observe que no es el get 502 00:23:40,450 --> 00:23:42,900 solicitud de que Chrome es el envío de al aparato. 503 00:23:42,900 --> 00:23:46,020 Ahí está el 200 para que archivo en particular. 504 00:23:46,020 --> 00:23:49,340 Así que en resumen, se trata de cómo todos estos varias piezas se están uniendo. 505 00:23:49,340 --> 00:23:53,530 Lo que pasa es que el servidor web que estamos utilizando en este momento no es remoto, 506 00:23:53,530 --> 00:23:54,210 como Facebook. 507 00:23:54,210 --> 00:23:58,330 Es, literalmente, en el mismo equipo, que es perfectamente correcto. 508 00:23:58,330 --> 00:24:00,590 >> Entonces, ¿qué más podemos hacer en una página web? 509 00:24:00,590 --> 00:24:03,110 Bueno, simplemente, vamos a pasar rápidamente por un par de estas cosas. 510 00:24:03,110 --> 00:24:07,860 Pero déjame ir por delante y volver a abrir Gedit con index.html. 511 00:24:07,860 --> 00:24:13,980 Y déjame seguir adelante y decir hola CS50, guardar este archivo, vuelva a la 512 00:24:13,980 --> 00:24:16,260 navegador, el cambio realmente decepcionante. 513 00:24:16,260 --> 00:24:19,130 >> Pero lo que si queremos realmente vincular a algo ahora? 514 00:24:19,130 --> 00:24:23,480 Así resulta que podemos tener la enlaces en HTML que son sólo etiquetas 515 00:24:23,480 --> 00:24:24,140 a sí mismos. 516 00:24:24,140 --> 00:24:27,320 Le pasa a ser llamado el anclar la etiqueta. A es igual a href 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net Cierre de comillas, paréntesis cerrado. 518 00:24:33,190 --> 00:24:35,230 Y ahora vamos a ver lo cosa que viene a continuación. 519 00:24:35,230 --> 00:24:36,500 >> He abierto la etiqueta. 520 00:24:36,500 --> 00:24:38,990 Ahora necesito darle una frase como CS50. 521 00:24:38,990 --> 00:24:40,600 Déjenme cerrar la etiqueta. 522 00:24:40,600 --> 00:24:42,010 Y note algunas cosas. 523 00:24:42,010 --> 00:24:45,270 A pesar de que hay una cosa críptica aquí, no he repetido cuando 524 00:24:45,270 --> 00:24:46,010 cerrar la etiqueta. 525 00:24:46,010 --> 00:24:48,230 Usted acaba de cerrar la etiqueta con su nombre por sí solo. 526 00:24:48,230 --> 00:24:50,940 Y esto es lo que se conoce como un atributo con un valor. 527 00:24:50,940 --> 00:24:56,070 Atributos simplemente modifican el comportamiento de alguna etiqueta en el interior de una página. 528 00:24:56,070 --> 00:24:59,150 >> Así que esto está especificando que el hiper referencia, la forma elegante de decir la 529 00:24:59,150 --> 00:25:03,660 URL de esta ancla, para este enlace, debe ser CS50.net. 530 00:25:03,660 --> 00:25:07,440 Y el texto que queremos mostrar la usuario no es que dirección URL original, sino más bien 531 00:25:07,440 --> 00:25:08,730 la palabra CS50. 532 00:25:08,730 --> 00:25:13,710 >> Así que si ahora vuelvo a cargar, déjame hacer zoom para claridad, permítanme volver a cargar la página, 533 00:25:13,710 --> 00:25:16,460 cuenta de que tenemos esta vieja escuela azul subrayado enlace. 534 00:25:16,460 --> 00:25:20,000 Y si se ciernen sobre ella, y que va a ser difícil de ver, en la parte inferior izquierda 535 00:25:20,000 --> 00:25:23,690 esquina de la pantalla, el aviso que dice que la URL a la que 536 00:25:23,690 --> 00:25:24,430 Voy a ir. 537 00:25:24,430 --> 00:25:27,940 Y si hago clic allí, voila, ahora estoy haciendo páginas web. 538 00:25:27,940 --> 00:25:30,140 Y nosotros mismos hemos liderado a la página principal. 539 00:25:30,140 --> 00:25:32,670 >> Pero note lo que el potencial esto nos ofrece. 540 00:25:32,670 --> 00:25:34,890 La seguridad es muy en boga en estos días. 541 00:25:34,890 --> 00:25:41,210 ¿Qué pasa si en lugar de decir algo así como esto, y en lugar de ir a, por ejemplo, vamos a 542 00:25:41,210 --> 00:25:42,460 ver, fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Actualizar esta página. 545 00:25:46,360 --> 00:25:50,180 >> OK, así que observe que todavía se ve como si estuviera va a CS50, a menos que un ojo astuto 546 00:25:50,180 --> 00:25:51,560 se dará cuenta de que voy a CS50 falso. 547 00:25:51,560 --> 00:25:54,550 Supongo que este dominio no se toma. 548 00:25:54,550 --> 00:25:55,960 OK, así que no está disponible. 549 00:25:55,960 --> 00:25:56,600 Así que eso es bueno. 550 00:25:56,600 --> 00:25:57,900 En realidad, nadie tiene ese dominio. 551 00:25:57,900 --> 00:26:00,380 >> Pero vamos a ser un poco más malicioso porque eso es un poco estúpido. 552 00:26:00,380 --> 00:26:02,240 ¿Y si cambiamos esto a Paypal. 553 00:26:02,240 --> 00:26:09,960 ¿Y si a esto le llamamos, como, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 cualquiera que sea el dominio es. 555 00:26:12,070 --> 00:26:13,700 Eso probablemente existe. 556 00:26:13,700 --> 00:26:16,260 Así que ahora quiero volver a cargar la página. 557 00:26:16,260 --> 00:26:22,890 Y aquí tenemos una especie de phishing ataque, P-H-I-S-H-Me-N-G, que es la 558 00:26:22,890 --> 00:26:26,760 palabra tonta dado para un ataque que intenta pescar información, o, mejor 559 00:26:26,760 --> 00:26:30,450 sin embargo, el dinero de la gente engañando ellos para que proporcione información que 560 00:26:30,450 --> 00:26:31,990 de otra manera no podrían hacer. 561 00:26:31,990 --> 00:26:33,500 Esto parece totalmente legítimo, ¿no? 562 00:26:33,500 --> 00:26:34,930 Debo tener un enlace aquí para Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 Para ser justos, si yo sexuado para arriba con un poco de gráficos, podemos hacer que se vea 565 00:26:40,430 --> 00:26:41,310 más como PayPal. 566 00:26:41,310 --> 00:26:41,510 ¿Cierto? 567 00:26:41,510 --> 00:26:43,815 Debido a que he podido, en un aparte, Yo podría ir a Paypal.com. 568 00:26:43,815 --> 00:26:47,110 Y que acabamos de ver cómo puedo ver todos los de su HTML. 569 00:26:47,110 --> 00:26:50,560 Yo sólo podía copiarlo y volver a crear el estética de Paypal en vez de ir 570 00:26:50,560 --> 00:26:51,490 vieja escuela aquí. 571 00:26:51,490 --> 00:26:55,010 Pero aviso, por supuesto, y es un poco pequeña aún, sólo en la parte inferior 572 00:26:55,010 --> 00:26:59,190 esquina izquierda, en como un punto de 10 fuente, ¿ves lo que estás URL 573 00:26:59,190 --> 00:27:01,310 en realidad va a ser llevado a. 574 00:27:01,310 --> 00:27:06,580 >> Y así, si alguna vez has conseguido dicho correo no deseado seguir adelante, y ya está en cuenta 575 00:27:06,580 --> 00:27:07,420 ha sido comprometida. 576 00:27:07,420 --> 00:27:10,615 Por favor, haga clic en este enlace y háganos saber su contraseña para poder asegurarse de que está 577 00:27:10,615 --> 00:27:13,010 usted, no vuelvas a hacer eso. 578 00:27:13,010 --> 00:27:14,180 Estas cosas deberían ser evidente. 579 00:27:14,180 --> 00:27:17,670 Pero es maravillosamente divertido, y trágico, como cada año esto parece 580 00:27:17,670 --> 00:27:19,660 pasar a algunos no-cero número de personas. 581 00:27:19,660 --> 00:27:21,400 >> Y esa es la belleza de los ataques de phishing. 582 00:27:21,400 --> 00:27:23,160 Usted puede enviar un millón de correos electrónicos. 583 00:27:23,160 --> 00:27:27,720 E incluso si el 0,01% de las personas en realidad haga clic en Paypal y le dará su 584 00:27:27,720 --> 00:27:31,040 contraseña, que sigue siendo un número que no sea cero de las personas que acaban de dar 585 00:27:31,040 --> 00:27:32,200 usted su dinero. 586 00:27:32,200 --> 00:27:36,170 Y el envío de correos electrónicos, por supuesto, es bastante fácil y, esencialmente, libre 587 00:27:36,170 --> 00:27:36,970 estos días. 588 00:27:36,970 --> 00:27:40,410 >> Así que cuento largo, maravillosamente hermosa idea, ¿verdad? 589 00:27:40,410 --> 00:27:44,620 Hace años, esta fue la primera Web, permitiendo una red de 590 00:27:44,620 --> 00:27:46,330 hipervínculos entre los recursos. 591 00:27:46,330 --> 00:27:49,520 Pero tan rápido podía ser de utilizado para los propósitos enfermos. 592 00:27:49,520 --> 00:27:54,100 Y el correo electrónico, basta con decir que estos día, han HTML incrustado dentro. 593 00:27:54,100 --> 00:27:55,410 >> Bueno, permítanme una cosa más. 594 00:27:55,410 --> 00:27:58,640 Y nos remitimos en gran medida a la sección de problema fijó siete para que pueda 595 00:27:58,640 --> 00:28:00,000 explorar los detalles. 596 00:28:00,000 --> 00:28:01,990 Pero déjame seguir adelante y hacer algunas cosas aquí. 597 00:28:01,990 --> 00:28:04,840 Voy a entrar y declarar lo que se llama un div o 598 00:28:04,840 --> 00:28:06,080 la división, de la página. 599 00:28:06,080 --> 00:28:07,770 Déjenme cerrar esa etiqueta div. 600 00:28:07,770 --> 00:28:11,460 >> Y yo voy a decir hasta aquí la parte superior de la página. 601 00:28:11,460 --> 00:28:14,940 Y luego, por debajo de este, yo voy a hacer algo así como otro div, cierre esta 602 00:28:14,940 --> 00:28:17,800 etiqueta, y haga parte inferior de la página. 603 00:28:17,800 --> 00:28:18,840 Y vamos a guardarlo. 604 00:28:18,840 --> 00:28:21,040 >> Así que ahora vamos a volver a mi archivo. 605 00:28:21,040 --> 00:28:22,120 Muy decepcionante. 606 00:28:22,120 --> 00:28:25,520 Pero lo que la división se utiliza para, debajo de la capilla, es en realidad es 607 00:28:25,520 --> 00:28:26,920 un elemento estructural agradable. 608 00:28:26,920 --> 00:28:30,300 No tiene ningún estética hasta ahora como podemos ver, que no sea, al parecer, 609 00:28:30,300 --> 00:28:31,890 poner las cosas en líneas nuevas. 610 00:28:31,890 --> 00:28:36,290 >> Pero aviso, como un aparte, simplemente con apretar Introduzca Sin Cortar en HTML como si 611 00:28:36,290 --> 00:28:39,840 hace en C. Se podría pensar que eso es va a poner una agradable gran brecha entre 612 00:28:39,840 --> 00:28:41,300 la parte superior e inferior de la página. 613 00:28:41,300 --> 00:28:43,420 Pero se ignora. 614 00:28:43,420 --> 00:28:48,040 El espacio en blanco se ignora esencialmente en páginas web distintas de la primera 615 00:28:48,040 --> 00:28:51,530 carácter barra espaciadora, o retorno de carro, que se golpea en el teclado. 616 00:28:51,530 --> 00:28:55,370 Si desea más saltos de línea, que que especificar usted mismo. 617 00:28:55,370 --> 00:28:59,080 >> Así que me voy a hacer un par de cosas aquí para ver lo que está pasando. 618 00:28:59,080 --> 00:29:02,700 Voy a añadir un atributo que existe y otra vez, el camino se aprende 619 00:29:02,700 --> 00:29:07,110 qué atributos existe, existen lo que las etiquetas, Realmente, es referencias en línea. 620 00:29:07,110 --> 00:29:09,750 HTML es el tipo de lenguaje - es no es un lenguaje de programación. 621 00:29:09,750 --> 00:29:12,460 Es un lenguaje de marcas - que después de un buena media hora, tal vez, de una hora con 622 00:29:12,460 --> 00:29:15,930 ella, sin duda va a comprender, la mayoría probablemente, la idea básica. 623 00:29:15,930 --> 00:29:20,350 Y a continuación, una búsqueda en Google de distancia es todo las etiquetas posibles que usted puede ser 624 00:29:20,350 --> 00:29:21,170 interese 625 00:29:21,170 --> 00:29:24,290 Y por la especificación, que es bastante bienvenidos y alentados aquí. 626 00:29:24,290 --> 00:29:26,120 >> Así que ahora me dejes ir adelante y hacer algo como esto. 627 00:29:26,120 --> 00:29:28,690 Background-color. 628 00:29:28,690 --> 00:29:32,060 Y ahora, voy a hacer algo como el rojo, punto y coma. 629 00:29:32,060 --> 00:29:33,970 Y usted puede hacer esto en algunas maneras diferentes. 630 00:29:33,970 --> 00:29:36,770 Estoy sólo tipo de escribirlo como súper explícitamente como sea posible. 631 00:29:36,770 --> 00:29:41,960 >> Pero resulta que este valor aquí es lo que se llama CSS, Cascading Style 632 00:29:41,960 --> 00:29:43,700 Sábanas, que es otra idioma por completo. 633 00:29:43,700 --> 00:29:46,770 CSS no tiene nada que ver con etiquetas de apertura y cierre de etiquetas. 634 00:29:46,770 --> 00:29:48,230 Tiene que ver con las propiedades. 635 00:29:48,230 --> 00:29:52,660 >> Y las propiedades son simplemente valor clave pares, que sólo significa una palabra, 636 00:29:52,660 --> 00:29:54,680 colon, y luego alguna otra palabra. 637 00:29:54,680 --> 00:29:57,940 Y si usted tiene múltiples queridos, o simplemente de aquí, usted puede terminar con un 638 00:29:57,940 --> 00:29:59,390 punto y coma, sólo para mayor claridad. 639 00:29:59,390 --> 00:30:01,370 Pero eso, también, va a funcionar aquí. 640 00:30:01,370 --> 00:30:02,500 >> Ahora, ¿qué es esto va a hacer? 641 00:30:02,500 --> 00:30:03,610 Usted probablemente puede adivinar. 642 00:30:03,610 --> 00:30:05,930 Déjame ir por delante y recarga esta página. 643 00:30:05,930 --> 00:30:07,300 Y ahora está realmente llegando a lo largo. 644 00:30:07,300 --> 00:30:09,150 Así que la parte superior de mi página es de color rojo. 645 00:30:09,150 --> 00:30:12,380 Pero lo que es clave aquí es que, como he mencionado antes, que le da div 646 00:30:12,380 --> 00:30:13,220 una división de la página. 647 00:30:13,220 --> 00:30:14,410 Y eso es precisamente lo que hace. 648 00:30:14,410 --> 00:30:17,920 En esencia, divide la página en un rectángulo que luego se puede 649 00:30:17,920 --> 00:30:18,720 manipular. 650 00:30:18,720 --> 00:30:22,330 >> Y esta noción de rectángulos es una especie de apremiante en que, si se piensa en 651 00:30:22,330 --> 00:30:26,410 la mayoría de cualquier sitio web, es probable que haya alguna estructura a la misma. 652 00:30:26,410 --> 00:30:29,620 La mayoría de ustedes probablemente han visto raramente Página de inicio de Facebook si has ingresado 653 00:30:29,620 --> 00:30:30,440 en todo el tiempo. 654 00:30:30,440 --> 00:30:33,920 >> Pero en la página principal de Facebook, hay algún tipo de div en la parte superior. 655 00:30:33,920 --> 00:30:36,140 Y tal vez no sea tan sencillo como una div, pero hay una 656 00:30:36,140 --> 00:30:37,560 región rectangular allí. 657 00:30:37,560 --> 00:30:40,290 El resto de la página es como una gran div, como una gran parte 658 00:30:40,290 --> 00:30:41,910 región rectangular más grande. 659 00:30:41,910 --> 00:30:44,540 Así que cuento largo, sólo por tener estos pequeños bloques de construcción, la 660 00:30:44,540 --> 00:30:49,250 capacidad de modelar cosas como rectángulos, ya sea amplia o estrecha, también puede 661 00:30:49,250 --> 00:30:53,680 hacen potencialmente columnas, que permite a distribuir las páginas, de verdad, sin embargo, 662 00:30:53,680 --> 00:30:54,100 le gustaría. 663 00:30:54,100 --> 00:30:56,170 Realmente estamos sólo arañando la superficie aquí. 664 00:30:56,170 --> 00:30:59,820 >> De hecho, si hago uno otro, déjame ir adelante y hacerlo estilo, 665 00:30:59,820 --> 00:31:05,410 background-color, vamos a hacer algo como azules, muy próximo comillas. 666 00:31:05,410 --> 00:31:06,620 Vamos Actualizar esta. 667 00:31:06,620 --> 00:31:08,260 Así que ahora se está haciendo aún más feo. 668 00:31:08,260 --> 00:31:11,520 Pero ahora puedo clase de mostrar mi P establece cinco habilidades, ¿verdad? 669 00:31:11,520 --> 00:31:12,690 Rojo. 670 00:31:12,690 --> 00:31:15,640 Me recuerda a RGB, Rojo Verde Azul triplica. 671 00:31:15,640 --> 00:31:19,330 Bueno, resulta que en la programación web, o diseño de páginas web, que es esto, hemos 672 00:31:19,330 --> 00:31:21,650 aún no programada nada per se, en realidad se puede 673 00:31:21,650 --> 00:31:22,880 tener código hexadecimal. 674 00:31:22,880 --> 00:31:26,480 Así que algo algo, algo algo, algo de algo. 675 00:31:26,480 --> 00:31:30,650 Así que puedes tener seis hexadecimal caracteres, o tres, en algunos casos, 676 00:31:30,650 --> 00:31:33,480 y cada uno de los signos de interrogación tiene que ser un dígito hexadecimal, 677 00:31:33,480 --> 00:31:34,985 cero a f. 678 00:31:34,985 --> 00:31:41,000 >> Si quiero tener un montón de rojo, y no verde, y no azul, ¿cuál es la 679 00:31:41,000 --> 00:31:43,740 opuesto de cero cuando se utilice hexagonal? 680 00:31:43,740 --> 00:31:44,480 Es f. 681 00:31:44,480 --> 00:31:51,130 Así que yo puedo hacer ff, cero cero cero cero, salvar esto, y ahora venir aquí. 682 00:31:51,130 --> 00:31:52,700 Y yo en realidad no veo un cambio. 683 00:31:52,700 --> 00:31:56,230 Así citar "rojo" fin de la cita es al parecer sinónimo de toda roja, 684 00:31:56,230 --> 00:31:57,610 no verde, no azul. 685 00:31:57,610 --> 00:31:59,960 Mientras tanto, vamos a cambiar deliberadamente éste sea algo 686 00:31:59,960 --> 00:32:01,210 al azar, como ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Vamos a ver lo que es. 689 00:32:05,860 --> 00:32:08,530 Es un muy bonito azul, En realidad, los azules cielos. 690 00:32:08,530 --> 00:32:11,820 Muy bien, así que estos son ahora combinaciones aleatorias de algo 691 00:32:11,820 --> 00:32:12,210 personajes. 692 00:32:12,210 --> 00:32:13,410 Así que no te agobies aquí. 693 00:32:13,410 --> 00:32:15,930 Pero de nuevo, esto habla de la precisión que usted puede comenzar a 694 00:32:15,930 --> 00:32:19,090 aplicar - incluso si estás muy agobiada por la estética. 695 00:32:19,090 --> 00:32:21,750 De hecho, si realmente quieres ser impresionado, déjame ir por delante y el cambio 696 00:32:21,750 --> 00:32:23,500 el tamaño de la fuente, por ejemplo. 697 00:32:23,500 --> 00:32:25,960 Y note el punto y coma, que es necesario allí. 698 00:32:25,960 --> 00:32:29,570 >> Tamaño de la fuente, podemos estar simplemente ridículo aquí, 96 puntos. 699 00:32:29,570 --> 00:32:31,280 Guarde eso. 700 00:32:31,280 --> 00:32:33,670 Wow, eso es un gran tamaño de fuente. 701 00:32:33,670 --> 00:32:35,490 Muy bien, así que es muy fácil. 702 00:32:35,490 --> 00:32:38,260 Y en realidad, básicamente estás viendo la primera página web que hice 703 00:32:38,260 --> 00:32:40,060 Hace años, cuando por primera vez aprendido estas cosas. 704 00:32:40,060 --> 00:32:42,190 Es muy fácil de hacer muy cosas horribles rápidamente. 705 00:32:42,190 --> 00:32:46,115 >> Y si usted está familiarizado con el Wayback Automático en archive.org, que 706 00:32:46,115 --> 00:32:48,210 puede encontrar toda mi horrible páginas web de pregrado. 707 00:32:48,210 --> 00:32:50,090 Uno tenía la rana Gustavo en el frente. 708 00:32:50,090 --> 00:32:53,150 Pasé por una fase en la que yo pensaba que era genial para tomar el fondo de 709 00:32:53,150 --> 00:32:56,320 una cortina roja, cuando me enteré de cómo se puede imágenes azulejo nuevo, y de nuevo, y 710 00:32:56,320 --> 00:32:59,540 una vez más, para llenar una página con una gran cortina roja pegajosa. 711 00:32:59,540 --> 00:33:03,120 Y luego, encima de esto, fue un icono que había que hacer clic para entrar en mi casa 712 00:33:03,120 --> 00:33:04,960 página, ya que era muy en boga. 713 00:33:04,960 --> 00:33:08,870 >> Y entonces mi primer programa que he escrito no era en PHP, pero en un lenguaje 714 00:33:08,870 --> 00:33:12,260 conocida como la perla, escribió un libro de visitas, que es un dato bueno de que un 715 00:33:12,260 --> 00:33:14,250 Mucha gente se puede esperar para tener en una página de inicio. 716 00:33:14,250 --> 00:33:17,510 Al llegar a la página, te quieren iniciar sesión, y dices que eres, 717 00:33:17,510 --> 00:33:18,720 y por qué estás allí. 718 00:33:18,720 --> 00:33:21,320 Este es el diseño web de estilo de 1990 muy. 719 00:33:21,320 --> 00:33:24,130 >> Pero en estos días, sin duda, hemos llegado mucho más lejos. 720 00:33:24,130 --> 00:33:27,560 Y verás, en sección, e incluso en el conjunto de problemas y siete, por 721 00:33:27,560 --> 00:33:31,570 el aprovechamiento de las bibliotecas en estos días, es mucho más fácil de hacer 722 00:33:31,570 --> 00:33:33,400 cosas bonitas rápidamente. 723 00:33:33,400 --> 00:33:36,550 Realmente aquí, sólo estamos rascando la superficie de lo que puede hacer 724 00:33:36,550 --> 00:33:37,400 estilísticamente. 725 00:33:37,400 --> 00:33:41,660 >> Y de hecho, ya, permítanme hacer hincapié en que esto ya está poniendo feo, no 726 00:33:41,660 --> 00:33:46,030 sólo estéticamente, sino en términos del estilo de mi código, o la 727 00:33:46,030 --> 00:33:47,260 diseño de mi código. 728 00:33:47,260 --> 00:33:52,350 He comingled actualmente HTML, que es las etiquetas de apertura verdosos allí, con 729 00:33:52,350 --> 00:33:55,160 Propiedades de CSS, que es totalmente legítimo. 730 00:33:55,160 --> 00:33:57,200 Esto es realmente donde el idioma tuvo sus orígenes. 731 00:33:57,200 --> 00:34:01,030 >> Pero en aras de diseño limpio, al igual que empezamos cosas factoring 732 00:34:01,030 --> 00:34:05,370 a partir de archivos de C en archivos h., y mucho yo realmente practico ese tipo de 733 00:34:05,370 --> 00:34:07,990 principio y empezar a hacer esta vez. 734 00:34:07,990 --> 00:34:13,280 Permítanme decirlo de una etiqueta de estilo aquí, que existe también en HTML, y me dejó 735 00:34:13,280 --> 00:34:15,330 especificar lo siguiente. 736 00:34:15,330 --> 00:34:16,360 Déjame borro esto. 737 00:34:16,360 --> 00:34:18,110 El color de fondo será de color rojo. 738 00:34:18,110 --> 00:34:19,800 Voy a eliminar este completo. 739 00:34:19,800 --> 00:34:22,580 Voy a deshacerse del estilo Atribuyo, y yo voy a unívocamente 740 00:34:22,580 --> 00:34:24,620 identificar este div con una palabra - 741 00:34:24,620 --> 00:34:28,750 arbitrariamente, pero razonablemente, cita "top". unquote Y id es un especial 742 00:34:28,750 --> 00:34:32,530 atributo que define de forma única un cierto elemento HTML 743 00:34:32,530 --> 00:34:33,850 como tener que id. 744 00:34:33,850 --> 00:34:37,969 >> Si yo ahora quiero estilizada que, aquí, en la cabeza de mi página, en el interior del 745 00:34:37,969 --> 00:34:41,730 etiqueta de estilo, observe que Yo puedo hacer la parte superior hash. 746 00:34:41,730 --> 00:34:45,300 Y entonces puedo poner un par de rizado llaves, que recuerda a C, y luego dejar que 747 00:34:45,300 --> 00:34:47,130 me pego en esa estilización. 748 00:34:47,130 --> 00:34:49,929 Y déjame ir por delante aquí y anticipo donde voy con esto. 749 00:34:49,929 --> 00:34:53,380 Permítanme también crear uno para el div inferior. 750 00:34:53,380 --> 00:34:58,010 Déjame agarrar este código horrible desde abajo aquí, lo puso aquí, y voy a estar 751 00:34:58,010 --> 00:35:00,770 un poco más anal ahora y estilizada que con solo colocar las cosas en su propia 752 00:35:00,770 --> 00:35:02,540 línea, terminando con punto y coma. 753 00:35:02,540 --> 00:35:04,430 Déjame deshacerme de la etiqueta de estilo. 754 00:35:04,430 --> 00:35:05,320 >> Pero no he terminado todavía. 755 00:35:05,320 --> 00:35:07,406 Tengo que hacer una cosa más. 756 00:35:07,406 --> 00:35:10,070 Sí, id es igual, entre comillas, "fondo" o lo que sea Identificación quiero 757 00:35:10,070 --> 00:35:11,740 dar a ese elemento. 758 00:35:11,740 --> 00:35:13,420 Ahora, déjame volver por aquí. 759 00:35:13,420 --> 00:35:14,360 Y esto es atroz. 760 00:35:14,360 --> 00:35:15,805 No puedo lidiar con 96 puntos. 761 00:35:15,805 --> 00:35:16,960 Vamos a hacer 24 puntos. 762 00:35:16,960 --> 00:35:18,320 O bien, podría ser más preciso. 763 00:35:18,320 --> 00:35:21,800 En realidad se puede utilizar píxeles, píxeles, por lo que que usted realmente consigue un grano más fino 764 00:35:21,800 --> 00:35:23,220 control sobre su página. 765 00:35:23,220 --> 00:35:26,860 >> Como acotación al margen, eso no es necesariamente lo mejor si los usuarios, por 766 00:35:26,860 --> 00:35:29,650 razones de accesibilidad, quieren ser capaz de aumentar los tamaños. 767 00:35:29,650 --> 00:35:32,650 Entonces se dan cuenta de que hay formas de hacer las cosas que no necesariamente 768 00:35:32,650 --> 00:35:34,230 codificar todo. 769 00:35:34,230 --> 00:35:37,220 >> Muy bien, así que es más grande, más de 24 puntos, que cualquiera que sea el valor por defecto es. 770 00:35:37,220 --> 00:35:38,630 Pero ahora es un poco más limpio. 771 00:35:38,630 --> 00:35:40,230 Y quiero aprovechar esta un paso más allá. 772 00:35:40,230 --> 00:35:47,220 Al igual que la idea de los archivos de cabecera, notamos que estamos un paso más cerca de eso. 773 00:35:47,220 --> 00:35:52,000 He factor fuera, pero aún quedan, dentro de mi página, esas reglas CSS. 774 00:35:52,000 --> 00:35:56,200 ¿Por qué podría querer dar un paso además, eliminar esta completo, y 775 00:35:56,200 --> 00:35:59,860 ponerlo en un archivo separado? 776 00:35:59,860 --> 00:36:01,070 >> Así que puedo volver a utilizarlo, ¿verdad? 777 00:36:01,070 --> 00:36:03,155 Esto es sólo un poco de intuición en estos momentos. 778 00:36:03,155 --> 00:36:06,340 Antes, yo decía que era sólo consiguiendo tener feo el estilo 779 00:36:06,340 --> 00:36:08,480 atributos dentro del divs sí mismos. 780 00:36:08,480 --> 00:36:09,750 Pero sólo un poco de pensar que a través de. 781 00:36:09,750 --> 00:36:13,560 A medida que su página se hace más largo y más largo, si usted está poniendo aquí, y aquí, y 782 00:36:13,560 --> 00:36:18,350 aquí, y aquí, todos estos diferentes colores y tamaños de fuente, y otro tipo de 783 00:36:18,350 --> 00:36:22,550 atributos, su página es muy rápido va a ser difícil de manejar para usted. 784 00:36:22,550 --> 00:36:24,570 >> Si alguien se te acerca y dice, oh, ¿sabes qué? 785 00:36:24,570 --> 00:36:28,070 Realmente me gustaría cambiar el tamaño de la fuente por dos puntos adicionales, 786 00:36:28,070 --> 00:36:31,275 podría tener que ir a buscar y reemplazar un gran número de líneas de código. 787 00:36:31,275 --> 00:36:35,170 Es mucho más convincente para centralizar todos esos estética aquí. 788 00:36:35,170 --> 00:36:38,850 Pero si desea volver a utilizar los estética en múltiples páginas web, todo 789 00:36:38,850 --> 00:36:41,100 la más convincente, por ejemplo, crear un archivo 790 00:36:41,100 --> 00:36:45,290 llamada con esos contenidos. 791 00:36:45,290 --> 00:36:46,680 >> Y déjame hacer esto. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Guardar este archivo. 794 00:36:51,920 --> 00:36:55,580 Digo styles.css, arbitraria, pero convencional. 795 00:36:55,580 --> 00:36:58,770 Lo pondré en la casa de John Harvard directorio ahora para simplicidad. 796 00:36:58,770 --> 00:37:03,880 Y lo que puedo hacer en mi página web es conseguir deshacerse de la etiqueta de estilo por completo, 797 00:37:03,880 --> 00:37:08,270 y algo unintuitively, use un enlace etiqueta, que no te da un enlace en 798 00:37:08,270 --> 00:37:13,140 en el hipervínculo, el sentido se puede hacer clic, pero donde digo vínculo, iguales href 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 Y la relación que este elemento tiene con la página web es la de servir como 801 00:37:20,050 --> 00:37:21,280 su hoja de estilos. 802 00:37:21,280 --> 00:37:22,670 >> Entonces, ¿cómo lo sé? 803 00:37:22,670 --> 00:37:25,950 Uno de ellos, que acaba de leer el manual, o se busca en Google en todo, y usted 804 00:37:25,950 --> 00:37:27,000 mirar a los distintos recursos. 805 00:37:27,000 --> 00:37:30,520 Quiero decir, que realmente es la forma de recoger técnicas de este tipo, y, en consonancia 806 00:37:30,520 --> 00:37:34,720 con esta idea de enseñar a sí mismo nuevo lenguas, de nuevo, usted encontrará que 807 00:37:34,720 --> 00:37:38,830 sólo hay un número finito de cosas a cualquier idioma, que, una vez que llegue 808 00:37:38,830 --> 00:37:41,310 ellos, usted encontrará que se pone más rápido y más rápido para escribir. 809 00:37:41,310 --> 00:37:44,180 De hecho, el aprendizaje de una nueva programación idioma es mucho más rápido que un nuevo 810 00:37:44,180 --> 00:37:47,380 lenguaje hablado, porque estas cosas son mucho más pequeño y mucho más 811 00:37:47,380 --> 00:37:48,820 precisamente definido. 812 00:37:48,820 --> 00:37:51,590 >> Pero yo he destacado un poco de una anomalía aquí. 813 00:37:51,590 --> 00:37:57,750 ¿Por qué he puesto de relieve este barra diagonal aquí? 814 00:37:57,750 --> 00:37:59,420 Porque tengo que cerrar la etiqueta. 815 00:37:59,420 --> 00:38:00,530 Debería cerrar la etiqueta. 816 00:38:00,530 --> 00:38:02,750 Y usted encontrará innumerables recursos en línea que no lo hacen 817 00:38:02,750 --> 00:38:04,080 necesariamente para abrir y cerrar. 818 00:38:04,080 --> 00:38:08,770 Y siendo realistas, que no es estrictamente necesario por razones técnicas y hay 819 00:38:08,770 --> 00:38:11,950 razones de la realidad, los navegadores son sólo bastante tolerante con los errores en la web 820 00:38:11,950 --> 00:38:14,360 páginas, para bien o para mal, pero sobre todo peor. 821 00:38:14,360 --> 00:38:18,830 >> Así que esta aquí es sólo una forma más limpia de diciendo algo estúpido como esto, 822 00:38:18,830 --> 00:38:22,330 donde si desea abrir la etiqueta de enlace pero cerrarla, no hay realmente ninguna noción 823 00:38:22,330 --> 00:38:23,720 de contenido para una etiqueta de enlace. 824 00:38:23,720 --> 00:38:26,000 Sólo significa cargar este presentar y poner aquí. 825 00:38:26,000 --> 00:38:30,610 Es como aguda incluyen en C. Puede abrir y cerrar una etiqueta a la vez 826 00:38:30,610 --> 00:38:31,660 dentro de la misma etiqueta. 827 00:38:31,660 --> 00:38:33,520 Y hay otros ejemplos de esto. 828 00:38:33,520 --> 00:38:37,280 Esta no es la manera de hacer esto, pero la etiqueta de ancho, para saltos de línea, si 829 00:38:37,280 --> 00:38:41,780 muchas ganas de lograr lo que yo estaba intentar antes de oprimir la tecla Enter, si 830 00:38:41,780 --> 00:38:45,380 Yo digo explícitamente salto de línea, salto de línea, salto de línea, salto de línea y 831 00:38:45,380 --> 00:38:49,100 a continuación, volver a cargar esta página, ahora se dará cuenta de que el fondo de la página es, 832 00:38:49,100 --> 00:38:51,940 de hecho, mucho más abajo en la parte inferior de la página. 833 00:38:51,940 --> 00:38:55,840 Pero incluso eso se puede hacer mucho más limpiamente con CSS, y con márgenes, 834 00:38:55,840 --> 00:38:58,120 y con otras tales estética técnicas. 835 00:38:58,120 --> 00:38:59,940 >> Así que por ahora, los robos de balón son esto. 836 00:38:59,940 --> 00:39:02,320 En HTML, tenemos estos cosas llaman las etiquetas. 837 00:39:02,320 --> 00:39:04,830 En CSS, tenemos estas cosas llamado propiedades. 838 00:39:04,830 --> 00:39:08,700 Podemos comingle estas dos lenguas, ya sea mediante el atributo de estilo, 839 00:39:08,700 --> 00:39:14,240 o la etiqueta de estilo, o mejor aún, el factoring que fuera en conjunto, como lo hacemos 840 00:39:14,240 --> 00:39:17,270 en conjunto de problemas 7. 841 00:39:17,270 --> 00:39:23,820 Preguntas y, a continuación, sobre el fundamentos conceptuales aquí? 842 00:39:23,820 --> 00:39:24,740 >> AUDIENCIA: Tengo una pregunta. 843 00:39:24,740 --> 00:39:25,630 >> ALTAVOZ 1: Oh, lo siento. 844 00:39:25,630 --> 00:39:28,880 >> AUDIENCIA: ¿Por qué no es de color - 845 00:39:28,880 --> 00:39:31,410 >> ALTAVOZ 1: Oh, en la otra pestaña? 846 00:39:31,410 --> 00:39:32,232 Esta aquí? 847 00:39:32,232 --> 00:39:33,482 >> AUDIENCIA: No, es como el - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> ALTAVOZ 1: Oh, eso es porque Yo estaba siendo descuidado. 850 00:39:39,480 --> 00:39:41,350 Puse el archivo en el lugar equivocado. 851 00:39:41,350 --> 00:39:47,840 Así que si yo realmente pongo aquí, y yo chmod, todo r + para styles.css y 852 00:39:47,840 --> 00:39:52,050 Ahora vuelva a cargar la página, ahora nos obtener la estilización de nuevo. 853 00:39:52,050 --> 00:39:54,530 Y debido a que los tamaños de fuente son diferente, no vemos absolutamente tanto 854 00:39:54,530 --> 00:39:55,010 espacio en blanco. 855 00:39:55,010 --> 00:39:58,240 En su lugar vemos cuál es la defecto es su lugar. 856 00:39:58,240 --> 00:40:00,050 Buena pregunta. 857 00:40:00,050 --> 00:40:00,846 ¿Sí? 858 00:40:00,846 --> 00:40:02,630 >> AUDIENCIA: ¿Por qué es el enlace etiquetar dentro de la cabecera? 859 00:40:02,630 --> 00:40:06,270 >> ALTAVOZ 1: ¿Por qué son los vínculos etiquetar dentro de la cabecera - 860 00:40:06,270 --> 00:40:07,650 respuesta corta, porque sí. 861 00:40:07,650 --> 00:40:08,930 Eso es lo que se decidió. 862 00:40:08,930 --> 00:40:10,720 Ahí es donde las etiquetas de vínculos van cuando Tienes lo que se llama un 863 00:40:10,720 --> 00:40:13,650 hoja de estilos externa. 864 00:40:13,650 --> 00:40:16,430 Otras preguntas? 865 00:40:16,430 --> 00:40:17,770 >> Muy bien, así que vamos a hacer esto. 866 00:40:17,770 --> 00:40:20,500 Tenemos tanta diversión por delante de nosotros hoy en día. 867 00:40:20,500 --> 00:40:22,480 Eso es sólo arañando la superficie de CSS. 868 00:40:22,480 --> 00:40:23,010 Vamos a hacer esto. 869 00:40:23,010 --> 00:40:25,980 Tomemos un descanso de cinco minutos aquí porque, por mi correo electrónico, colguemos en 870 00:40:25,980 --> 00:40:27,200 allí hasta 2:30-ish hoy. 871 00:40:27,200 --> 00:40:28,540 Pero si usted tiene que dejar, eso está bien. 872 00:40:28,540 --> 00:40:30,380 Pero vamos a forjar adelante después un descanso de cinco minutos. 873 00:40:30,380 --> 00:40:35,930 Y vamos a aprender un poco de algo sobre PHP, MySQL, y más. 874 00:40:35,930 --> 00:40:44,520 >> Muy bien, así que vamos a tratar, ahora, para atar una algunas de estas ideas en conjunto y hacer, 875 00:40:44,520 --> 00:40:46,180 decir, nuestro propio motor de búsqueda. 876 00:40:46,180 --> 00:40:48,570 Me di cuenta, curiosamente, el siguiente. 877 00:40:48,570 --> 00:40:52,610 Cuando usted está en Google.com, eres normalmente a una URL como esta de aquí 878 00:40:52,610 --> 00:40:54,870 sin nada después del punto com. 879 00:40:54,870 --> 00:40:59,760 Pero si busco algo estúpido como gatos, y presione Enter, nos pondremos en contacto - no 880 00:40:59,760 --> 00:41:01,300 estúpido, pero ya sabes. 881 00:41:01,300 --> 00:41:05,410 >> Aceptar, por lo que cuenta, en la parte superior de la página, ahora, la URL ha, por supuesto, cambiado. 882 00:41:05,410 --> 00:41:07,190 Y esto no es nada nuevo a cualquiera de nosotros. 883 00:41:07,190 --> 00:41:09,290 Haga clic en los enlaces y otras cosas que sucede en la web. 884 00:41:09,290 --> 00:41:11,420 Pero lo que es interesante aquí es el siguiente. 885 00:41:11,420 --> 00:41:14,500 Hay un montón de desorden, pero vamos me deshago de cosas que yo no sé 886 00:41:14,500 --> 00:41:16,600 entiendo muy bien o no lo mirar realmente relevante. 887 00:41:16,600 --> 00:41:18,490 >> Déjame deshacerme de esto. 888 00:41:18,490 --> 00:41:20,030 Déjame deshacerme de esto. 889 00:41:20,030 --> 00:41:22,630 Y déjame deshacerme de todo esto. 890 00:41:22,630 --> 00:41:28,840 Y ahora notan que los gatos están en la URL, seguido de un q, entonces un igual 891 00:41:28,840 --> 00:41:29,710 firmar en frente de él. 892 00:41:29,710 --> 00:41:32,110 Así que resulta que esto es como el forma en que funciona cuando se trata de 893 00:41:32,110 --> 00:41:33,360 a la entrada y la salida. 894 00:41:33,360 --> 00:41:37,510 >> Durante mucho tiempo hemos hablado de cajas negras, ¿verdad? 895 00:41:37,510 --> 00:41:41,650 Así que si esta es una función implementada aquí como un cuadro negro, toma de entrada 896 00:41:41,650 --> 00:41:45,290 y la produce, así, los medios por el cual usted proporciona entrada a un 897 00:41:45,290 --> 00:41:49,270 sitio web es a través, a menudo, de sus URLs. 898 00:41:49,270 --> 00:41:52,850 Usted sólo tiene que poner un signo de interrogación y luego una clave igual valor. 899 00:41:52,850 --> 00:41:56,740 Y entonces tal vez un símbolo de unión, y luego otra clave es igual al valor, entonces tal vez 900 00:41:56,740 --> 00:41:58,810 otro signo, tecla igual valor. 901 00:41:58,810 --> 00:42:03,030 Así es como se pasa en las llaves y valores, pares de entradas. 902 00:42:03,030 --> 00:42:07,050 >> Así que si le pego Entra ahora, lo que es interesante de Google es que todos 903 00:42:07,050 --> 00:42:10,420 que el desorden He eliminado no aparece ser estrictamente necesario. 904 00:42:10,420 --> 00:42:15,120 Todo lo que necesito para enviar a Google es cuestión marca q es igual a los gatos para obtener 905 00:42:15,120 --> 00:42:16,160 copias de algunos gatos. 906 00:42:16,160 --> 00:42:20,160 Bueno, la implicación de que, a continuación, es que si me levanto gedit, he comenzado 907 00:42:20,160 --> 00:42:24,360 hacer mi propio motor de búsqueda aquí en un archivo llamado seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> Y déjame seguir adelante y eliminar una línea más que usted 909 00:42:26,750 --> 00:42:27,910 No se suponía que ver. 910 00:42:27,910 --> 00:42:31,070 Y ahora, déjame ir a mi propio navegador, por lo que no a Google, y vaya a 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 Y eso va a ponerse en el camino. 913 00:42:36,220 --> 00:42:43,240 Así que vamos a tener que decir adiós a que, por ahora, mueve esto aquí, 914 00:42:43,240 --> 00:42:46,270 oh, ahora vamos a tener que decir adiós a ese archivo. 915 00:42:46,270 --> 00:42:51,700 >> Siempre que usted tiene un archivo llamado index.html o index.php en un 916 00:42:51,700 --> 00:42:54,980 directorio, si el servidor web es se configura de esta manera, lo que va a 917 00:42:54,980 --> 00:42:59,600 ver, por defecto, es el contenido de ese archivo en lugar de una lista de la 918 00:42:59,600 --> 00:43:02,330 directorio, ya que quería aquí. 919 00:43:02,330 --> 00:43:03,750 Más sobre esto en la especificación. 920 00:43:03,750 --> 00:43:04,610 Usted no vio eso. 921 00:43:04,610 --> 00:43:06,360 >> Así que esto es lo que yo realmente quería. 922 00:43:06,360 --> 00:43:08,810 Pero hace un momento, hubo un presentar en esta carpeta llamada 923 00:43:08,810 --> 00:43:11,290 index.html y index.php. 924 00:43:11,290 --> 00:43:13,380 Y lo que el servidor web era mostrándome esos archivos. 925 00:43:13,380 --> 00:43:15,900 En cambio, quiero este directorio aqui. 926 00:43:15,900 --> 00:43:18,340 >> Así que voy a entrar en CSS y vaya a search0. 927 00:43:18,340 --> 00:43:21,770 Y afirmo que esto se va a ser Al principio de mi propia competencia 928 00:43:21,770 --> 00:43:22,490 motor de búsqueda. 929 00:43:22,490 --> 00:43:27,630 Y para hacer esto, yo voy a ir en aquí, en CSS, y abrir con 930 00:43:27,630 --> 00:43:30,190 gedit, búsqueda 0. 931 00:43:30,190 --> 00:43:32,280 Pero, por desgracia, no hay No hay mucho que hacer aquí. 932 00:43:32,280 --> 00:43:35,690 Todo lo que hice fue usar una etiqueta de partida, que pasa a llamarse h1, que 933 00:43:35,690 --> 00:43:38,180 esencialmente significa grande y negrita, y eso es todo. 934 00:43:38,180 --> 00:43:40,810 Pero el medio por el cual podemos proporcionan entradas son a través de estos 935 00:43:40,810 --> 00:43:42,180 cosas llaman formas. 936 00:43:42,180 --> 00:43:46,040 >> Así que déjame ir adelante y se abren y cierran, preventivamente, una etiqueta de formulario allí. 937 00:43:46,040 --> 00:43:48,060 Y déjame seguir adelante y hacer algo como esto. 938 00:43:48,060 --> 00:43:51,430 De entrada, el tipo es igual a texto. 939 00:43:51,430 --> 00:43:56,320 Y luego vamos a cerrar la etiqueta dentro los corchetes. 940 00:43:56,320 --> 00:43:58,800 No necesito para iniciar un campo de texto y detener un campo de texto. 941 00:43:58,800 --> 00:44:01,080 Es que va a estar ahí o no. 942 00:44:01,080 --> 00:44:06,210 >> Y luego, debajo de eso, vamos a hacer tipo de entrada es igual a presentar. 943 00:44:06,210 --> 00:44:06,870 Guardar este. 944 00:44:06,870 --> 00:44:08,630 Y ahora vamos a hacer una comprobación de validez rápida. 945 00:44:08,630 --> 00:44:09,820 Vamos a volver a cargar. 946 00:44:09,820 --> 00:44:10,890 >> OK, así que no está mal. 947 00:44:10,890 --> 00:44:13,260 No es el estilo de Google, pero es bastante estrecha. 948 00:44:13,260 --> 00:44:13,920 Hay un campo de texto. 949 00:44:13,920 --> 00:44:17,190 Puedo escribir algunas cosas en, pulse intro, pero no pasa nada todavía. 950 00:44:17,190 --> 00:44:21,090 Y eso es porque no he especificado una acción de este tipo, por así decirlo. 951 00:44:21,090 --> 00:44:23,860 Así que si vuelvo al elemento de formulario, resulta, y sé que esto sólo 952 00:44:23,860 --> 00:44:27,460 de no leer la documentación, que la etiqueta de formulario lleva un atributo 953 00:44:27,460 --> 00:44:31,880 llamada acción que es la URL de la página web a la que se 954 00:44:31,880 --> 00:44:34,790 desea enviar el formulario. 955 00:44:34,790 --> 00:44:37,610 >> Yo realmente no creo que tengamos tiempo para implementar toda la parte de atrás de un 956 00:44:37,610 --> 00:44:38,570 motor de búsqueda de la actualidad. 957 00:44:38,570 --> 00:44:41,900 Así que sólo vamos a decir, eh, ir a google.com / categoría. 958 00:44:41,900 --> 00:44:43,450 Y ahora déjame cierro comillas. 959 00:44:43,450 --> 00:44:46,070 Y déjenme especificar, además, que el método a utilizar va 960 00:44:46,070 --> 00:44:47,120 ser llamado get. 961 00:44:47,120 --> 00:44:50,650 >> Larga historia corta, hay dos maneras, al menos, que se puede presentar información 962 00:44:50,650 --> 00:44:51,880 desde el navegador al servidor. 963 00:44:51,880 --> 00:44:55,340 Uno de ellos es conseguir, y, a efectos de la actualidad, eso sólo significa que en la URL. 964 00:44:55,340 --> 00:44:58,730 Verá exactamente los signos de interrogación, el iguales signos y símbolos de unión que 965 00:44:58,730 --> 00:44:59,780 vimos anteriormente. 966 00:44:59,780 --> 00:45:02,890 O hay una alternativa llamada posterior. 967 00:45:02,890 --> 00:45:06,490 Por ahora, sabemos que después se utiliza a menudo cuando se quiere cargar archivos, como 968 00:45:06,490 --> 00:45:09,820 imágenes y demás, o cuando se quiere presentar la información de tarjetas de crédito, o 969 00:45:09,820 --> 00:45:13,810 contraseñas, cualquier cosa que no hace realmente tiene sentido, conceptualmente, o 970 00:45:13,810 --> 00:45:18,020 vista de la seguridad, para terminar en la dirección de su navegador, donde los padres de espionaje, 971 00:45:18,020 --> 00:45:21,520 o compañeros, o cualquier persona con acceso a su ordenador podría ver. 972 00:45:21,520 --> 00:45:23,110 >> Así que vamos sino esa. 973 00:45:23,110 --> 00:45:24,480 Y tengo que hacer una cosa más. 974 00:45:24,480 --> 00:45:27,250 No es suficiente sólo para digamos darme un campo de texto. 975 00:45:27,250 --> 00:45:29,850 Tengo que dar ese campo de valorar un nombre. 976 00:45:29,850 --> 00:45:34,500 Así que me preste la elección de Google de nombres, q, y especificar que la segunda 977 00:45:34,500 --> 00:45:38,150 atribuyo yo realmente no importa el nombre del botón Enviar. 978 00:45:38,150 --> 00:45:40,890 Todo lo que me importa es la presentación de lo que el usuario escribe pulg 979 00:45:40,890 --> 00:45:41,940 >> Y ahora esto es un poco feo. 980 00:45:41,940 --> 00:45:42,820 Sólo dice presente. 981 00:45:42,820 --> 00:45:46,350 Resulta, y sé que esto de la documentación, realmente puedo decir 982 00:45:46,350 --> 00:45:51,710 valor es igual, entre comillas CS50 " seach, "Cierre de comillas. 983 00:45:51,710 --> 00:45:53,030 Entonces vamos a reload de nuevo. 984 00:45:53,030 --> 00:45:57,020 Así que yo sigo golpeando Comando-R, o Control-R en mi teclado para recargar. 985 00:45:57,020 --> 00:45:58,605 >> Ahora tenemos un más interesante motor de búsqueda. 986 00:45:58,605 --> 00:46:00,340 Esto no acaba de ver como De Google, sin embargo. 987 00:46:00,340 --> 00:46:04,100 Así que vamos a seguir adelante en el aquí y hacer un poco de salto de línea. 988 00:46:04,100 --> 00:46:06,066 >> OK, así que ahora tenemos Google. 989 00:46:06,066 --> 00:46:08,260 En realidad, casi tenemos Google. 990 00:46:08,260 --> 00:46:10,460 ¿Y ahora qué va a pasar? 991 00:46:10,460 --> 00:46:12,220 Voy a escribir algo como los gatos. 992 00:46:12,220 --> 00:46:16,570 Y el navegador va a analizar que la forma en que he definido. 993 00:46:16,570 --> 00:46:19,470 Y se va a enviar el usuario a esa URL. 994 00:46:19,470 --> 00:46:23,420 Así que esta vez, por alguna curiosa razón, Tengo más información acerca de las acciones 995 00:46:23,420 --> 00:46:24,410 que alrededor de gatos reales. 996 00:46:24,410 --> 00:46:30,580 Pero eso está bien porque aviso que todavía terminado aquí, q es igual a los gatos. 997 00:46:30,580 --> 00:46:35,200 >> Así que cuento largo, parece bastante trivial para obtener la entrada del usuario. 998 00:46:35,200 --> 00:46:38,190 Y para ser justos, hay racimos de otros tipos de campos de formulario. 999 00:46:38,190 --> 00:46:41,510 Hay casillas de verificación y, poco mutuamente botones de opción de exclusividad, y 1000 00:46:41,510 --> 00:46:42,960 menús desplegables, y más. 1001 00:46:42,960 --> 00:46:46,160 Pero todos esos son relativamente fácilmente implementado como 1002 00:46:46,160 --> 00:46:48,040 este campo de texto era. 1003 00:46:48,040 --> 00:46:52,050 Y en última instancia, sólo tenemos que hacer seguro que alguien está escuchando en el otro 1004 00:46:52,050 --> 00:46:56,490 final de la línea con el fin de conseguir que la información procesada, de alguna manera, y 1005 00:46:56,490 --> 00:46:58,440 nos devuelva nuestros gatos. 1006 00:46:58,440 --> 00:47:00,840 >> Veamos un poco ejemplo más complicado. 1007 00:47:00,840 --> 00:47:06,020 Déjame ir en el directorio de mi Vhost, en host local, público, y donde yo 1008 00:47:06,020 --> 00:47:06,980 poner código fuente actual. 1009 00:47:06,980 --> 00:47:09,800 Todo esto va a ser en el curso de sitio web para que usted pueda jugar con. 1010 00:47:09,800 --> 00:47:15,420 Y si entro en froshims, déjame abrir seguridad de este archivo ahora, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Éste es un poco más detallado, por lo que no vamos a escribir esto desde el principio. 1012 00:47:18,460 --> 00:47:21,970 Pero sólo cuenta ahora algunos un tanto características familiares. 1013 00:47:21,970 --> 00:47:24,550 >> Uno, etiqueta de formulario, acción diferente. 1014 00:47:24,550 --> 00:47:25,670 No es una dirección URL completa. 1015 00:47:25,670 --> 00:47:29,930 Ahora, es al parecer para archivo llamado register0.php porque, en un momento, 1016 00:47:29,930 --> 00:47:32,660 Voy a enseñar a mí mismo un poco algo acerca de PHP, una programación 1017 00:47:32,660 --> 00:47:37,360 idioma, debido a que PHP se puede utilizar para implementar lo que Google implementa como 1018 00:47:37,360 --> 00:47:39,650 la parte final de sus motores de búsqueda. 1019 00:47:39,650 --> 00:47:42,890 >> Google, en realidad, utiliza probablemente algunos de Python, algunos de C + +, y 1020 00:47:42,890 --> 00:47:44,230 racimos de otros idiomas. 1021 00:47:44,230 --> 00:47:48,230 Pero sin duda podríamos poner en práctica la búsqueda resultados utilizando PHP si queríamos. 1022 00:47:48,230 --> 00:47:49,610 Pero por ahora, vamos a mantener las cosas simples. 1023 00:47:49,610 --> 00:47:53,320 Y esto es en realidad una reminiscencia de una de los otros primeros sitios web que 1024 00:47:53,320 --> 00:47:54,490 hecho hace años. 1025 00:47:54,490 --> 00:47:58,160 >> En mis tiempos, se registró para deportes intramuros como un estudiante de primer año de 1026 00:47:58,160 --> 00:48:00,880 rellenando una hoja de papel, caminando a través del patio, y colocándolo en 1027 00:48:00,880 --> 00:48:04,890 el buzón de correo de un Proctor en Wigglesworth, y eso era cómo 1028 00:48:04,890 --> 00:48:05,460 registrado. 1029 00:48:05,460 --> 00:48:09,650 Y así mi proyecto poco después de CS50, iba a poner eso, lo que hace al maestro 1030 00:48:09,650 --> 00:48:13,460 sentido, sobre la banda, que no era tan en boga entonces como lo es ahora. 1031 00:48:13,460 --> 00:48:17,510 Pero todo lo que teníamos que hacer era crear, esencialmente, un formulario HTML. 1032 00:48:17,510 --> 00:48:19,640 >> Y esa forma parecía más o menos así. 1033 00:48:19,640 --> 00:48:22,480 Tenía una entrada para el El nombre del estudiante de primer año. 1034 00:48:22,480 --> 00:48:27,780 Tuve otra casilla de verificación de si o no querían ser capitán, lo que 1035 00:48:27,780 --> 00:48:30,400 era su género, y cuál era su dormitorio. 1036 00:48:30,400 --> 00:48:33,370 Y luego codificado en las cosas como Apley Corte y Canaday, 1037 00:48:33,370 --> 00:48:34,880 Grays, y así sucesivamente. 1038 00:48:34,880 --> 00:48:36,300 >> Así que de nuevo, las nuevas etiquetas. 1039 00:48:36,300 --> 00:48:39,820 No he visto esto antes, nuevo atributos, pero bastante accesible. 1040 00:48:39,820 --> 00:48:42,360 Una vez que vea un ejemplo, puede tipo de pedir prestado esa idea y hacer que una gota 1041 00:48:42,360 --> 00:48:43,820 en el menú desplegable para casi cualquier cosa. 1042 00:48:43,820 --> 00:48:46,350 Pero lo que es fundamental es que cada uno de estas cosas tienen nombres. 1043 00:48:46,350 --> 00:48:49,720 Y en la parte inferior de esta forma, no hay un botón cuya etiqueta presentar, 1044 00:48:49,720 --> 00:48:51,510 o el valor, es el registro. 1045 00:48:51,510 --> 00:48:52,670 >> Así que vamos a ir a esta página. 1046 00:48:52,670 --> 00:48:55,050 Permítanme volver a la lista de directorios. 1047 00:48:55,050 --> 00:48:59,410 Déjame ir a froshims, e ir a froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Así que es horrible, para ser justos. 1049 00:49:01,150 --> 00:49:03,950 Así que podría definitivamente estilizar esta con un poco de CSS, yo podría hacer algo de 1050 00:49:03,950 --> 00:49:06,890 gráficos, añadir tal vez algunos colores, y hacer de esta bonita. 1051 00:49:06,890 --> 00:49:10,530 Pero funcionalmente, yo diría que este es realmente muy completa. 1052 00:49:10,530 --> 00:49:15,190 >> Por desgracia, cuando complete, sin, David, Capitán, Hombre, vamos a elegir, 1053 00:49:15,190 --> 00:49:20,510 digamos Matthews, Register, todo lo que sucede es esto. 1054 00:49:20,510 --> 00:49:21,910 Pero notar un par de robos de balón. 1055 00:49:21,910 --> 00:49:27,130 Uno de ellos, lo que volvió a los archivos resultados, aparentemente? 1056 00:49:27,130 --> 00:49:29,470 Así es, en efecto, register0.php. 1057 00:49:29,470 --> 00:49:34,570 Así que el hecho de que vimos que la acción valorar hace un momento para register0, esta 1058 00:49:34,570 --> 00:49:37,500 corrobora que de hecho terminamos hacia ese archivo en particular. 1059 00:49:37,500 --> 00:49:39,040 >> Ahora bien, esto es sólo el texto feo. 1060 00:49:39,040 --> 00:49:42,810 Pero note que este texto es proveniente de host local, 1061 00:49:42,810 --> 00:49:44,170 que es desde el aparato. 1062 00:49:44,170 --> 00:49:46,350 Piense en el aparato ahora tan sólo un servidor web que podría estar en el 1063 00:49:46,350 --> 00:49:46,910 Science Center. 1064 00:49:46,910 --> 00:49:48,060 Podría ser en la web real. 1065 00:49:48,060 --> 00:49:49,850 Así que es de acceso público. 1066 00:49:49,850 --> 00:49:55,480 >> Así que, claramente, hay alguna manera de pasar entradas de campos de formulario a un servidor 1067 00:49:55,480 --> 00:49:56,840 para que se pueda hacer algo con ellos. 1068 00:49:56,840 --> 00:49:59,020 Desafortunadamente, register0 es bastante estúpido. 1069 00:49:59,020 --> 00:50:01,870 Todo lo que hace es imprimir un array que se parece a esto. 1070 00:50:01,870 --> 00:50:04,790 Y no es una matriz en la sentido que la conocemos. 1071 00:50:04,790 --> 00:50:08,760 Resulta que PHP, y una gran cantidad de idiomas, tienen no sólo numéricamente 1072 00:50:08,760 --> 00:50:12,350 arrays indexados cuyo primer índice es cero, uno, luego dos, luego del punto, 1073 00:50:12,350 --> 00:50:13,780 punto, punto, n menos 1. 1074 00:50:13,780 --> 00:50:16,400 >> Esto es lo que se llama un matriz asociativa. 1075 00:50:16,400 --> 00:50:21,150 Una matriz asociativa es una en la que puede almacenar pares de valores clave en los 1076 00:50:21,150 --> 00:50:23,160 la clave no es necesariamente un número. 1077 00:50:23,160 --> 00:50:25,580 Podría ser en realidad una cadena, una palabra. 1078 00:50:25,580 --> 00:50:28,230 Y por lo que este puede ser implementado, debajo de la capilla, que resulta, 1079 00:50:28,230 --> 00:50:31,896 utilizando una estructura de datos conocida como una? 1080 00:50:31,896 --> 00:50:33,600 El pensamiento algo dramático que iba a suceder - 1081 00:50:33,600 --> 00:50:34,840 la tabla de hash. 1082 00:50:34,840 --> 00:50:38,955 >> Así que una tabla hash, el recuerdo, las de usted quien lo hizo por P puesto 6, o incluso retirada 1083 00:50:38,955 --> 00:50:44,110 que, por lo menos, incluso si se hizo un intento, un tabla hash, en nuestro uso, se utiliza para 1084 00:50:44,110 --> 00:50:45,090 simplemente almacenar palabras. 1085 00:50:45,090 --> 00:50:47,980 Pero en realidad, estabas almacenando claves y valores. 1086 00:50:47,980 --> 00:50:51,940 Si implementa una tabla hash para P set 6 diccionario, las claves fueron la 1087 00:50:51,940 --> 00:50:56,890 propios, y los valores de palabras fueron efectivamente verdaderas o falsas. 1088 00:50:56,890 --> 00:51:00,190 Sí, aquí, o implícitamente, no, no aquí. 1089 00:51:00,190 --> 00:51:02,140 >> Bueno, podemos generalizar esa idea. 1090 00:51:02,140 --> 00:51:06,230 Y podríamos utilizar un dato muy similar estructura para almacenar la cadena no 1091 00:51:06,230 --> 00:51:10,180 sí solo en su tabla hash, pero supongamos que en cada uno de su hachís 1092 00:51:10,180 --> 00:51:11,130 nodos de la tabla. 1093 00:51:11,130 --> 00:51:14,210 Y que incluso podría hacer esto en una oportunidad en lugar de sólo tener un bool. 1094 00:51:14,210 --> 00:51:15,350 Usted podría tener algo más. 1095 00:51:15,350 --> 00:51:19,590 ¿Qué pasa si la clave no era maxwell, para ejemplo, pero, entre comillas "nombre", o 1096 00:51:19,590 --> 00:51:22,900 comillas "capitán". Y en el interior de la estructura de datos C, se puso una 1097 00:51:22,900 --> 00:51:26,170 valor, no sólo un booleano, pero de valor como entre comillas "David", o 1098 00:51:26,170 --> 00:51:28,690 "M" o "Matthews", y así sucesivamente. 1099 00:51:28,690 --> 00:51:33,170 >> Así que esas mismas estructuras de datos que utilizamos aparentemente existen en otros idiomas. 1100 00:51:33,170 --> 00:51:37,650 Y yo diría que son en realidad mucho, mucho más sencillo acceder aquí. 1101 00:51:37,650 --> 00:51:40,300 Vamos, de hecho, miren ahora en algún tales sintaxis. 1102 00:51:40,300 --> 00:51:43,120 >> Voy a entrar en un directorio de PHP. 1103 00:51:43,120 --> 00:51:48,390 Y voy a abrir un mejor versión del hola-0 de antes. 1104 00:51:48,390 --> 00:51:50,270 Tenga en cuenta que todo lo que hice fue añadir algunos comentarios. 1105 00:51:50,270 --> 00:51:52,530 Así que podemos deshacernos de esa distracción. 1106 00:51:52,530 --> 00:51:57,610 >> Y este programa lo hace de hecho impresiones hola porque he especificado entre 1107 00:51:57,610 --> 00:52:01,420 etiquetas que quiero ejecutar ese código. 1108 00:52:01,420 --> 00:52:03,380 Ahora, vamos a ver en un momento ¿por qué esto es útil. 1109 00:52:03,380 --> 00:52:05,630 Pero vamos a abrir otro ejemplo aquí. 1110 00:52:05,630 --> 00:52:10,430 Déjame ir adelante y abro digamos, gedit de las condiciones de uno. 1111 00:52:10,430 --> 00:52:12,970 >> Esta es la forma en el tiempo ahora. 1112 00:52:12,970 --> 00:52:16,320 Pero hace semanas, creo, en la semana uno o la segunda semana, tuvimos un ejemplo llamado 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 Y decidí volverlo a implementar en PHP, sólo para tipo de destacar que 1115 00:52:22,050 --> 00:52:26,500 PHP, sintácticamente, es casi idéntico a C. Esto no es un gran salto 1116 00:52:26,500 --> 00:52:27,840 desde la semana pasada a esta. 1117 00:52:27,840 --> 00:52:31,230 >> Fíjese en la parte superior de este programa, que comienza, como antes, con algunos 1118 00:52:31,230 --> 00:52:34,260 comentarios, que me desharé como una distracción. 1119 00:52:34,260 --> 00:52:37,410 Fíjate que estoy en PHP el modo en este archivo. 1120 00:52:37,410 --> 00:52:40,160 Así que este código, ya veremos, se quieran realizar. 1121 00:52:40,160 --> 00:52:42,670 Tenga en cuenta que hay readline, que es probablemente la 1122 00:52:42,670 --> 00:52:46,230 analógico en PHP de getString. 1123 00:52:46,230 --> 00:52:47,390 Observe que es un poco diferente. 1124 00:52:47,390 --> 00:52:51,410 En realidad se especifica un mensaje para el función llamada línea leer, y eso es 1125 00:52:51,410 --> 00:52:52,180 lo que ve el usuario. 1126 00:52:52,180 --> 00:52:53,520 Así que usted no tiene que printf manualmente. 1127 00:52:53,520 --> 00:52:54,860 Pero eso no es una gran cosa. 1128 00:52:54,860 --> 00:52:59,150 Voy a guardar, en el interior de $ n, la valor de retorno de esta, por lo que cualquiera que sea el 1129 00:52:59,150 --> 00:53:00,490 usuario escribe es su int. 1130 00:53:00,490 --> 00:53:01,660 Y aquí hay otra curiosidad. 1131 00:53:01,660 --> 00:53:05,810 Resulta que, en PHP, cualquier variable sólo tiene que llevar el prefijo 1132 00:53:05,810 --> 00:53:06,970 con un signo de dólar. 1133 00:53:06,970 --> 00:53:08,110 Es un poco molesto. 1134 00:53:08,110 --> 00:53:10,870 Pero noto lo que yo no haya hecho en PHP. 1135 00:53:10,870 --> 00:53:13,980 ¿Qué falta en la mano izquierda lado del signo igual? 1136 00:53:13,980 --> 00:53:15,430 >> No hay mención de tipo. 1137 00:53:15,430 --> 00:53:19,400 Así que esto es diferente de C. Para una mejor o para mal, PHP es un vagamente 1138 00:53:19,400 --> 00:53:20,550 lenguaje con tipo. 1139 00:53:20,550 --> 00:53:22,010 Se tiene números. 1140 00:53:22,010 --> 00:53:23,240 Se tiene cadenas. 1141 00:53:23,240 --> 00:53:24,015 Se tiene Booleanos. 1142 00:53:24,015 --> 00:53:26,220 Y sí tiene algunos otros tipos de datos. 1143 00:53:26,220 --> 00:53:30,570 Pero usted, el programador, por lo general no tienen que preocuparse por ellos. 1144 00:53:30,570 --> 00:53:34,010 La ventaja de esto es que hace un poco más fácil de programar. 1145 00:53:34,010 --> 00:53:35,380 Usted puede pensar en un poco menos. 1146 00:53:35,380 --> 00:53:39,840 Lo malo es que también le abre a errores potenciales si accidentalmente 1147 00:53:39,840 --> 00:53:43,080 tratar un número como una cadena, una cadena como un número, potencialmente, pero incluso 1148 00:53:43,080 --> 00:53:46,150 entonces, PHP, y una gran cantidad de idiomas, son bastante tolerantes. 1149 00:53:46,150 --> 00:53:49,050 Van a utilizar lo que se llama la conversión implícita. 1150 00:53:49,050 --> 00:53:55,220 Y si intenta utilizar n en el contexto de una situación numérica, lo hará 1151 00:53:55,220 --> 00:53:58,040 convertir lo que aquí se va a ser un cadena, ya que si el usuario escribe 1152 00:53:58,040 --> 00:54:01,570 algo, y se obtiene el resultado, al igual que con readline, o conseguir la secuencia, 1153 00:54:01,570 --> 00:54:02,910 eso va a devolver una cadena. 1154 00:54:02,910 --> 00:54:07,360 >> Pero fíjate, un par de líneas más tarde, comprobar si n es mayor que cero. 1155 00:54:07,360 --> 00:54:13,370 Así que PHP se va a lanzar de forma implícita mi "Cadena" 123, o lo que sea el usuario 1156 00:54:13,370 --> 00:54:14,860 tipos en, en un int. 1157 00:54:14,860 --> 00:54:18,730 Así que en resumen, sólo cosas funciona mucho más intuitiva. 1158 00:54:18,730 --> 00:54:23,410 Así que ahora empezamos a relajar algunas de las las cosas que hemos hecho en el pasado. 1159 00:54:23,410 --> 00:54:24,780 >> Una gran cantidad de este material es la misma, sin embargo. 1160 00:54:24,780 --> 00:54:26,340 Todavía tienen iguales iguales. 1161 00:54:26,340 --> 00:54:30,350 Como acotación al margen PHP también ha iguales iguales iguales, pero más de eso, tal vez, en 1162 00:54:30,350 --> 00:54:30,850 el futuro. 1163 00:54:30,850 --> 00:54:31,150 Esa fue una. 1164 00:54:31,150 --> 00:54:35,660 Typos pero dos signos de igualdad significa lo mismo cosa como antes, para la comparación. 1165 00:54:35,660 --> 00:54:37,060 printf significa lo mismo que antes. 1166 00:54:37,060 --> 00:54:39,160 Backslash n significa lo mismo Lo que antes. 1167 00:54:39,160 --> 00:54:40,390 >> Entonces, ¿cómo puedo ejecutar este programa? 1168 00:54:40,390 --> 00:54:44,400 Pues bien, como antes, si lo hago PHP, conditions1.php, y el tipo de 1169 00:54:44,400 --> 00:54:46,560 un número como 123. 1170 00:54:46,560 --> 00:54:47,720 Eso es un número positivo. 1171 00:54:47,720 --> 00:54:49,510 Si escribo en 0, recojo 0. 1172 00:54:49,510 --> 00:54:53,700 Y si escribo en negativo 123, recibo copias de un número negativo, que sólo es 1173 00:54:53,700 --> 00:54:59,050 decir, sintácticamente, PHP es super, super similar. 1174 00:54:59,050 --> 00:55:03,250 >> ¿Por qué es esto ahora útil en un contexto web? 1175 00:55:03,250 --> 00:55:06,710 Bueno, vamos a volver a este froshims ejemplo, que parecía, 1176 00:55:06,710 --> 00:55:08,600 una vez más, como esto aquí. 1177 00:55:08,600 --> 00:55:11,580 Y seamos realmente tire hacia arriba de la página web de nuevo, que se parecía a esto. 1178 00:55:11,580 --> 00:55:14,930 ¿Qué podemos hacer con el datos que se presentaron? 1179 00:55:14,930 --> 00:55:18,770 >> Bueno, déjame abrir una nueva versión de este. 1180 00:55:18,770 --> 00:55:20,920 Y verás que el problema especificación de los conjuntos que camina 1181 00:55:20,920 --> 00:55:22,850 a través de algunos de estos. 1182 00:55:22,850 --> 00:55:29,610 En lugar de comenzar con cero, echemos un vistazo a froshims3, 1183 00:55:29,610 --> 00:55:31,410 que lo hace un poco más. 1184 00:55:31,410 --> 00:55:34,780 >> Nótese en primer lugar, de hecho, vamos a abrir por lo que era 0, por lo que se ve 1185 00:55:34,780 --> 00:55:37,170 lo que era el registro 0. 1186 00:55:37,170 --> 00:55:40,040 Note lo que el registro 0 lo hicieron. 1187 00:55:40,040 --> 00:55:41,730 Uno, no tengo comentarios en la parte superior. 1188 00:55:41,730 --> 00:55:43,900 Eliminar esos y centrarse sólo en esto. 1189 00:55:43,900 --> 00:55:48,730 La mayor parte de los contenidos de register0.php son, obviamente, ¿qué idioma? 1190 00:55:48,730 --> 00:55:49,980 PHP Justo prima. 1191 00:55:49,980 --> 00:55:53,430 >> Así que notar, este archivo no se inicia con, de momento, el soporte abierto, 1192 00:55:53,430 --> 00:55:54,970 signo de interrogación, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP no permite que se mezclen Código PHP con etiquetas HTML. 1194 00:55:59,800 --> 00:56:04,130 Pero lo he hecho aquí en el interior de la página de aquí. 1195 00:56:04,130 --> 00:56:08,180 >> Ahora, de nuevo, usted sólo lo sabe por habiendo mirado el manual. print_r, 1196 00:56:08,180 --> 00:56:13,410 Resulta que es print_recursive. _recursive Y esto es sólo un práctico 1197 00:56:13,410 --> 00:56:16,780 función de utilidad que sólo imprime, recursiva, lo que lo entrega. 1198 00:56:16,780 --> 00:56:18,760 Si usted lo da una matriz, que va a imprimir una matriz. 1199 00:56:18,760 --> 00:56:20,180 Si usted pasa una cantidad, que va a imprimir un número. 1200 00:56:20,180 --> 00:56:21,570 Pasa una cadena, que va a imprimir una cadena. 1201 00:56:21,570 --> 00:56:24,500 Si usted pasa una tabla hash, que imprimirá una tabla hash. 1202 00:56:24,500 --> 00:56:26,730 Usted no tiene que escribir todo de ese código por ti mismo. 1203 00:56:26,730 --> 00:56:29,490 >> Ahora noto que estoy entrando Modo PHP por aquí. 1204 00:56:29,490 --> 00:56:32,070 Estoy de salir del modo PHP por aquí. 1205 00:56:32,070 --> 00:56:35,950 Así que cuando el servidor Web lee este archivo arriba a abajo, de izquierda a derecha, porque 1206 00:56:35,950 --> 00:56:40,750 termina en un nombre de archivo llamado. php, todo lo que no hay dentro de las etiquetas PHP es 1207 00:56:40,750 --> 00:56:42,820 sólo va a ser escupido a cabo, al igual que el HTML puro. 1208 00:56:42,820 --> 00:56:43,630 No es gran cosa. 1209 00:56:43,630 --> 00:56:49,280 Pero tan pronto como las noticias del servidor web esto, que va a decir, que no debería 1210 00:56:49,280 --> 00:56:51,850 escupir, literalmente, print_r de correos. 1211 00:56:51,850 --> 00:56:54,910 Debería ejecutar el siguiente línea de código. 1212 00:56:54,910 --> 00:56:59,850 >> Así que la última pregunta, entonces, de este archivo es, bueno, ¿qué diablos es esto? 1213 00:56:59,850 --> 00:57:00,530 Tome una conjetura. 1214 00:57:00,530 --> 00:57:04,230 ¿Qué es de $ _POST, probablemente? 1215 00:57:04,230 --> 00:57:07,070 >> AUDIENCIA: [inaudible] 1216 00:57:07,070 --> 00:57:08,830 >> ALTAVOZ 1: Sí, los datos publicados. 1217 00:57:08,830 --> 00:57:11,350 Recordemos, vamos a retroceder en tiempo para un momento. 1218 00:57:11,350 --> 00:57:13,165 froshim0, de nuevo, se veía así. 1219 00:57:13,165 --> 00:57:15,640 Una mayoría absoluta de que esto es sólo HTML. 1220 00:57:15,640 --> 00:57:18,410 Una vez más, algunas etiquetas no tiene visto todavía, o con los que 1221 00:57:18,410 --> 00:57:19,360 que ya está familiarizado. 1222 00:57:19,360 --> 00:57:21,990 Pero lo interesante era esto. 1223 00:57:21,990 --> 00:57:27,270 Esta línea es la que realmente vincula que en nuestro archivo register0.php. 1224 00:57:27,270 --> 00:57:29,200 Estoy presentando a través de método de entrada. 1225 00:57:29,200 --> 00:57:33,130 Y eso significa que los parámetros el usuario teclea no son 1226 00:57:33,130 --> 00:57:35,150 va a terminar donde. 1227 00:57:35,150 --> 00:57:36,175 >> Ellos no van a aparecer en la URL. 1228 00:57:36,175 --> 00:57:39,020 Todavía van a ser enviada desde el cliente, desde el navegador, a la 1229 00:57:39,020 --> 00:57:42,080 servidor, pero sólo a través de algún otro mecanismo que no te cobraremos nuestras manos 1230 00:57:42,080 --> 00:57:44,330 a para hoy, pero no lo es en la URL. 1231 00:57:44,330 --> 00:57:47,630 Pero nótese la relación ahora con destino que, por convención, es 1232 00:57:47,630 --> 00:57:49,160 minúsculas aquí. 1233 00:57:49,160 --> 00:57:54,090 >> Pero si abro register0.php, Aparentemente estoy imprimiendo esto. 1234 00:57:54,090 --> 00:57:56,450 Así que esto es una especie de extraño convención de nomenclatura. 1235 00:57:56,450 --> 00:58:01,430 Pero lo que es agradable en PHP es que cuando usando PHP en un contexto web, ni a una 1236 00:58:01,430 --> 00:58:04,480 línea de comandos como lo hice hace un momento, cuando en realidad estás usando en una web 1237 00:58:04,480 --> 00:58:10,580 página, en un directorio vhost como somos, automáticamente será PHP llenar este 1238 00:58:10,580 --> 00:58:15,560 cosa, que es una matriz asociativa, por así decirlo, una tabla hash, con 1239 00:58:15,560 --> 00:58:17,290 todo lo que el usuario escribió pulg 1240 00:58:17,290 --> 00:58:22,000 >> En resumen, $ _POST en mayúsculas es un variable global que acaba de PHP 1241 00:58:22,000 --> 00:58:25,050 mágicamente crea para usted cuando usando PHP en un contexto web. 1242 00:58:25,050 --> 00:58:29,160 Y pone dentro de ella toda la nombres de parámetros en la forma que 1243 00:58:29,160 --> 00:58:33,200 se presentó a este archivo y todas los valores que el usuario ha escrito pulg 1244 00:58:33,200 --> 00:58:37,790 Así que manos a lo que el usuario escrito en ese formulario. 1245 00:58:37,790 --> 00:58:42,210 >> Así que antes, tenemos salida realmente estúpido de sólo ver esto, porque todo lo que hice 1246 00:58:42,210 --> 00:58:44,400 se imprima recursivamente esta matriz. 1247 00:58:44,400 --> 00:58:46,060 La clave está en el nombre, el valor es David. 1248 00:58:46,060 --> 00:58:46,980 La clave es el capitán. 1249 00:58:46,980 --> 00:58:47,970 El valor está encendido. 1250 00:58:47,970 --> 00:58:52,300 Y la doble flecha y el ángulo soporte de ahí, esto es sólo arbitraria. 1251 00:58:52,300 --> 00:58:53,270 Este no es el código. 1252 00:58:53,270 --> 00:58:57,690 Esto es sólo forma de mostrar que de PHP lo que el valor de alguna llave. 1253 00:58:57,690 --> 00:59:03,000 >> Pero ahora permítanme proponer que, en froshIMs3, es casi idéntica 1254 00:59:03,000 --> 00:59:04,950 excepto que se somete a este archivo. 1255 00:59:04,950 --> 00:59:08,570 Y de nuevo, vamos a clase de sólo mirada a esto, sólo para ver un poco de 1256 00:59:08,570 --> 00:59:12,040 sintaxis, pero fíjate lo que este archivo tiene. 1257 00:59:12,040 --> 00:59:14,930 Tome una conjetura justa basada en las líneas de código, lo que probablemente no parezca 1258 00:59:14,930 --> 00:59:17,410 Griega, en cierta medida, aparentemente está haciendo. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Este archivo es de alguna manera relacionada para enviar por correo, correo electrónico. 1261 00:59:23,110 --> 00:59:24,770 Entonces, ¿qué está haciendo este programa? 1262 00:59:24,770 --> 00:59:28,740 En esta versión, si yo tuviera que realmente llenar este formulario - y déjame ir a 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, no froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 la forma tiene el mismo aspecto. 1266 00:59:34,540 --> 00:59:37,980 David, capitán, hombre, dormitorio, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Pero si presento esto, este archivo es va a ir a register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> Y afirmo, al observar que es código fuente, que va a 1269 00:59:46,330 --> 00:59:47,650 de alguna manera involucrar correo electrónico. 1270 00:59:47,650 --> 00:59:49,620 Déjame ir por delante y abro este en una ventana más grande, por lo que 1271 00:59:49,620 --> 00:59:51,030 lo puede ver de forma más limpia. 1272 00:59:51,030 --> 00:59:57,220 Estamos en Vhosts, anfitrión local, pública, froshims. 1273 00:59:57,220 --> 00:59:58,680 Voy a abrir una diferente programa, por lo que sólo 1274 00:59:58,680 --> 01:00:00,160 puede ver más de una vez. 1275 01:00:00,160 --> 01:00:03,100 >> Así que ahora es, darse cuenta de algunas cosas. 1276 01:00:03,100 --> 01:00:06,530 En la parte superior del archivo está abierto soporte, signo de interrogación, PHP. 1277 01:00:06,530 --> 01:00:08,920 Luego hay un montón de comentarios, que podemos ignorar, es 1278 01:00:08,920 --> 01:00:10,450 sin interés por el momento. 1279 01:00:10,450 --> 01:00:11,300 >> Ahora está esto. 1280 01:00:11,300 --> 01:00:14,200 Resulta que PHP tiene mucho de código llamado requerir. 1281 01:00:14,200 --> 01:00:19,110 Es muy similar en espíritu a C de incluir, de hash incluye, que 1282 01:00:19,110 --> 01:00:21,980 esencialmente toma el contenido de algunos otro archivo y sólo les deja caer aquí, 1283 01:00:21,980 --> 01:00:22,930 para que pueda utilizarlos. 1284 01:00:22,930 --> 01:00:27,060 En este caso, el aparato tiene, preinstalado, una biblioteca, libre y 1285 01:00:27,060 --> 01:00:29,900 biblioteca de código abierto llamado PHP anuncio publicitario que cualquiera puede 1286 01:00:29,900 --> 01:00:30,770 descargar desde Internet. 1287 01:00:30,770 --> 01:00:32,000 Acabamos de hacer por usted. 1288 01:00:32,000 --> 01:00:36,130 Y esto significa que ahora tengo email funcionalidad a mi disposición. 1289 01:00:36,130 --> 01:00:38,170 >> Ahora, observe algunas cosas. 1290 01:00:38,170 --> 01:00:41,120 Voy a validar la presentación del formulario. 1291 01:00:41,120 --> 01:00:45,980 Resulta que PHP, uno, tiene exclamación puntos para el operador not, al igual que 1292 01:00:45,980 --> 01:00:49,810 C. Pero PHP también tiene una función llamado vacía. 1293 01:00:49,810 --> 01:00:53,920 >> Empty sólo devuelve true si el valor de lo que la mano en 1294 01:00:53,920 --> 01:00:57,190 paréntesis está vacía, al igual que el usuario no escribe nada pulg 1295 01:00:57,190 --> 01:01:02,680 Así que esto está diciendo, y observe la sintaxis, recuerda mucho a C, si el 1296 01:01:02,680 --> 01:01:07,730 clave, por lo que el campo de nombre en el formulario Nombre, que fue presentado a través de correo, 1297 01:01:07,730 --> 01:01:13,010 el usuario, es no vaciar, y su de género no está vacío en la forma como 1298 01:01:13,010 --> 01:01:15,980 bien, y su dormitorio no está vacío - 1299 01:01:15,980 --> 01:01:19,980 pero note que no se preocupan por el capitán, entonces, ¿qué vamos a hacer? 1300 01:01:19,980 --> 01:01:21,990 >> Voy a ejecutar esta línea de código. 1301 01:01:21,990 --> 01:01:24,100 Y usted puede pensar en este tipo de como malloc, pero es un poco 1302 01:01:24,100 --> 01:01:24,800 más elegante que eso. 1303 01:01:24,800 --> 01:01:29,200 Pero de momento, esto me da una especial estructura de tipo PHP mailer. 1304 01:01:29,200 --> 01:01:31,410 Pero ignorar la palabra clave new para hoy. 1305 01:01:31,410 --> 01:01:35,670 >> Ahora voy a llamar a una función llamada IsSMTP, que dice, usa SMTP. 1306 01:01:35,670 --> 01:01:39,380 Este es el puerto 25, al igual que el video la semana pasada, cuando la cosa estaba lanzando 1307 01:01:39,380 --> 01:01:40,710 mensajes de correo electrónico en el servidor de seguridad. 1308 01:01:40,710 --> 01:01:42,440 El puerto 25 es SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP significa utilizar el servidor de correo. 1310 01:01:44,410 --> 01:01:46,215 ¿Cuál, podemos utilizar Harvard SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Podemos ajustar la dirección de ser John Harvard. 1313 01:01:51,590 --> 01:01:55,090 Si me desplazo hacia abajo aún más, puedo establecer la dirección del destinatario, sólo 1314 01:01:55,090 --> 01:01:56,840 arbitrariamente, ser John Harvard también. 1315 01:01:56,840 --> 01:01:59,210 Así que él va a estar enviando un correo electrónico a sí mismo. 1316 01:01:59,210 --> 01:02:01,600 >> Ahora puedo configurar el tema a ser de registro. 1317 01:02:01,600 --> 01:02:03,700 Y puedo configurar el cuerpo de correo electrónico de la siguiente manera. 1318 01:02:03,700 --> 01:02:06,500 Esta línea se ve un poco más críptica, pero eso es sólo porque hay una gran cantidad 1319 01:02:06,500 --> 01:02:07,450 de la información en él. 1320 01:02:07,450 --> 01:02:10,670 Uno, hay un operador punto. 1321 01:02:10,670 --> 01:02:14,510 Alguien tiene que saber ya lo que el operador de punto hace. 1322 01:02:14,510 --> 01:02:15,436 Es concatenación. 1323 01:02:15,436 --> 01:02:19,240 Así que si usted desea tomar una cadena en PHP, y añadirlo, o anteponer, para 1324 01:02:19,240 --> 01:02:23,500 otra cadena en PHP, gracias a Dios que no tienen que usar strcopy y malloc, 1325 01:02:23,500 --> 01:02:25,490 y todo eso. 1326 01:02:25,490 --> 01:02:28,765 >> Si desea concatenar dos cadenas, que se preocupa por la memoria. 1327 01:02:28,765 --> 01:02:30,850 Deje que figura PHP que fuera para usted. 1328 01:02:30,850 --> 01:02:35,200 Lo que PHP lo hará con el operador punto Aquí es sólo hacer una gran frase en 1329 01:02:35,200 --> 01:02:37,900 de esta línea, esta línea, esta línea, esta línea. 1330 01:02:37,900 --> 01:02:40,460 Y ahora note, que va a ser de enchufar valores. 1331 01:02:40,460 --> 01:02:43,680 Así que el correo electrónico que John Harvard va recibir literalmente va a decir 1332 01:02:43,680 --> 01:02:49,450 nombre, de colon, algo, más bien, a continuación, nos cerrar la cadena y concatenar en 1333 01:02:49,450 --> 01:02:52,220 lo que el usuario escribió en, a continuación, una nueva línea. 1334 01:02:52,220 --> 01:02:54,570 >> Luego, en la siguiente línea de John Harvard correo electrónico, que va a decir 1335 01:02:54,570 --> 01:02:55,910 Capitán, On o Nada. 1336 01:02:55,910 --> 01:02:57,810 Se va a decir el sexo, hombre o mujer. 1337 01:02:57,810 --> 01:02:59,680 Dormitorio va a ser Matthews en mi caso. 1338 01:02:59,680 --> 01:03:03,400 Y a continuación, observe y coma familiarizado en el final. 1339 01:03:03,400 --> 01:03:07,830 Y entonces, aquí abajo, note, algo críptico todavía, pero de nuevo, después de un 1340 01:03:07,830 --> 01:03:12,730 patrón que se familiarice después de P fijó 7, si el envío de correo 1341 01:03:12,730 --> 01:03:16,610 devuelve false, entonces adelante y morir. 1342 01:03:16,610 --> 01:03:19,610 >> Así que PHP tiene una función llamada morir, que, literalmente, sólo mata al 1343 01:03:19,610 --> 01:03:22,830 sitio web y sólo imprime lo usted le dice - es está muriendo 1344 01:03:22,830 --> 01:03:24,280 palabras, por así decirlo. 1345 01:03:24,280 --> 01:03:28,310 Y eso, en el caso, se imprimirá lo que la información de error es de 1346 01:03:28,310 --> 01:03:29,860 ¿qué pasó a ir mal. 1347 01:03:29,860 --> 01:03:34,490 Siempre cuento aquí, lo que tenemos es un ejemplo en el que cuando el usuario 1348 01:03:34,490 --> 01:03:39,150 envía el formulario, froshim0, froshims3.php, va a 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Pero register3.php luego procede para ejecutar todas estas líneas. 1351 01:03:45,290 --> 01:03:46,620 >> Así que hay un par de tomar domicilio aquí. 1352 01:03:46,620 --> 01:03:50,380 Uno de ellos, al parecer es bastante fácil, programación, para enviar mensajes de correo electrónico, 1353 01:03:50,380 --> 01:03:50,830 lo cual es bueno. 1354 01:03:50,830 --> 01:03:53,500 Cuando los usuarios se registran para su sitio, en este caso, cuando se registran para su 1355 01:03:53,500 --> 01:03:56,220 deporte, usted puede enviar el primer año Proctor, o John 1356 01:03:56,220 --> 01:03:57,650 De Harvard, en este caso. 1357 01:03:57,650 --> 01:04:01,630 >> Pero también significa que usted puede hacer qué? 1358 01:04:01,630 --> 01:04:03,970 Enviar mensajes de correo electrónico de cualquier persona a cualquier persona. 1359 01:04:03,970 --> 01:04:05,430 Y esto es muy cierto. 1360 01:04:05,430 --> 01:04:08,580 Esto no se hace tan fácilmente si estás acostumbrado a usar Gmail. 1361 01:04:08,580 --> 01:04:11,310 Pero si alguna vez has utilizado Eudora o Outlook, se puede casi contar una 1362 01:04:11,310 --> 01:04:13,720 servidor de correo que usted es quien quieras. 1363 01:04:13,720 --> 01:04:16,450 Y aquí es donde tengo que poner en ese sombrero y decir, no hagas esto. 1364 01:04:16,450 --> 01:04:21,140 Pero esta es una prueba de lo fácil es para realizar ataques de phishing, y 1365 01:04:21,140 --> 01:04:24,310 enviar correos electrónicos anónimos, y correo no deseado, de manera más general. 1366 01:04:24,310 --> 01:04:27,330 Y que realmente se reduce a la hecho de que todo lo que necesita es un poco de 1367 01:04:27,330 --> 01:04:28,500 acceso programático. 1368 01:04:28,500 --> 01:04:31,940 >> Como acotación al margen, mi encuentro más cercano con el tablero de anuncios, mi primer año de estudios, 1369 01:04:31,940 --> 01:04:34,320 fue cuando descubrí este fresco truco que, wow, puede 1370 01:04:34,320 --> 01:04:36,850 enviar mensajes de correo electrónico de cualquier persona. 1371 01:04:36,850 --> 01:04:39,770 Y así nos lo estábamos pasando un estúpido argumento, literalmente, en Matthews, 1372 01:04:39,770 --> 01:04:40,790 entre mi grupo de Proctor. 1373 01:04:40,790 --> 01:04:42,470 Ni siquiera recuerdo ¿cuál era el problema. 1374 01:04:42,470 --> 01:04:44,970 Pero yo quería tratar de poner poner fin a este estúpido debate. 1375 01:04:44,970 --> 01:04:48,580 >> Así que decidí simplemente voy a enviar un correo electrónico a mi grupo Proctor, que pretende ser 1376 01:04:48,580 --> 01:04:52,000 el otro tipo, con cuya opinión en desacuerdo, y que él allanó a 1377 01:04:52,000 --> 01:04:54,680 cualquiera que sea mi opinión estaba en este debate particular. 1378 01:04:54,680 --> 01:04:59,320 Y así me forjé este correo electrónico utilizando un técnica similar en espíritu a esto. 1379 01:04:59,320 --> 01:05:01,256 Pero en realidad era más fácil en el momento. 1380 01:05:01,256 --> 01:05:02,435 Pulse enviar. 1381 01:05:02,435 --> 01:05:06,660 Él no estaba contento, ni tampoco han sido el tablero de anuncios. 1382 01:05:06,660 --> 01:05:10,280 >> Y me cogieron muy rápidamente dentro de segundo, porque, como usted sabe, firmo 1383 01:05:10,280 --> 01:05:11,420 mis correos electrónicos de una manera determinada. 1384 01:05:11,420 --> 01:05:14,200 Y aunque lo hago manualmente, en gran parte, 15 años más tarde porque estaba 1385 01:05:14,200 --> 01:05:15,080 traumatizados por eso. 1386 01:05:15,080 --> 01:05:16,960 Yo no tengo una firma en mi e-mail ahora. 1387 01:05:16,960 --> 01:05:20,440 Pero en 1995, sólo tenía un sig, una firma en mi correo electrónico. 1388 01:05:20,440 --> 01:05:24,630 Así que no había esta nota diciendo: Estimado Grupo Proctor, yo consentir mi opinión 1389 01:05:24,630 --> 01:05:31,240 y estoy de acuerdo con David, firmado tal y así, la nueva línea, la nueva línea, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Así que no hagas eso o, en general, tomar ventaja de esta técnica. 1391 01:05:36,220 --> 01:05:39,950 Pero al hacer una página web, como por su proyecto final, al realizar una 1392 01:05:39,950 --> 01:05:43,460 sitio web para algo empresarial, así es como, de manera pragmática, puede 1393 01:05:43,460 --> 01:05:47,000 aprovechar otros servicios en Internet como el correo y luego en realidad 1394 01:05:47,000 --> 01:05:49,440 enviar cosas mediante código. 1395 01:05:49,440 --> 01:05:51,240 >> Entonces, cómo podemos mejorar esto? 1396 01:05:51,240 --> 01:05:54,370 Bueno, primero vamos a echar un rápido recorrido por algunas de las cosas que se ven, 1397 01:05:54,370 --> 01:05:56,170 y luego echar un vistazo a un par de ejemplos. 1398 01:05:56,170 --> 01:05:59,500 Así que uno, para tranquilizar, porque estamos volando a través de PHP. 1399 01:05:59,500 --> 01:06:02,470 Y sé que, en algún momento, tendrá para realmente empezar a escribir esto si 1400 01:06:02,470 --> 01:06:03,460 No lo ha hecho. 1401 01:06:03,460 --> 01:06:06,220 Darse cuenta de que, uno, el principal es una especie de por la ventana con PHP. 1402 01:06:06,220 --> 01:06:09,420 Si desea escribir código que obtiene ejecutado, que acaba de empezar a escribir en 1403 01:06:09,420 --> 01:06:13,970 un archivo llamado. php, siempre y cuando usted tiene el corchete abierto 1404 01:06:13,970 --> 01:06:15,620 signo de interrogación de etiquetas PHP. 1405 01:06:15,620 --> 01:06:19,730 >> Pero nótese que son condiciones en php. 1406 01:06:19,730 --> 01:06:22,610 Aviso, esta es la misma diapositiva exacta tuvimos en una semana cuando tuvimos 1407 01:06:22,610 --> 01:06:25,670 condiciones en C. Condiciones en PHP son estructuralmente y 1408 01:06:25,670 --> 01:06:27,140 sintácticamente iguales. 1409 01:06:27,140 --> 01:06:30,290 La única diferencia real es que si tienes variables implicadas, que tienen los 1410 01:06:30,290 --> 01:06:31,600 signos de dólar. 1411 01:06:31,600 --> 01:06:33,970 >> Mientras tanto, las expresiones booleanas un aspecto como este para 1412 01:06:33,970 --> 01:06:35,725 o-ing o-ing y juntos. 1413 01:06:35,725 --> 01:06:37,780 Los interruptores son exactamente lo mismo. 1414 01:06:37,780 --> 01:06:42,180 Lo que es bueno en PHP, mientras que en C, interruptores tienen que ser en casos 1415 01:06:42,180 --> 01:06:46,380 primitivos como enteros o caracteres, en PHP declaraciones de su caso pueden ser realmente 1416 01:06:46,380 --> 01:06:48,430 en un todo las cadenas, que es realmente bonito. 1417 01:06:48,430 --> 01:06:49,480 Le ahorra algo de tiempo. 1418 01:06:49,480 --> 01:06:50,820 No se puede hacer eso en C. 1419 01:06:50,820 --> 01:06:52,880 >> Esto es un bucle en PHP. 1420 01:06:52,880 --> 01:06:53,740 Es idéntica. 1421 01:06:53,740 --> 01:06:55,400 Podría tener algunos signos de dólar para las variables. 1422 01:06:55,400 --> 01:06:57,530 Usted no tiene que mencionar que algo es un int. 1423 01:06:57,530 --> 01:07:00,580 Usted acaba de declarar con un signo de dólar y el nombre de la variable. 1424 01:07:00,580 --> 01:07:01,430 Sin embargo, un bucle for es la misma. 1425 01:07:01,430 --> 01:07:02,760 Un bucle while es la misma. 1426 01:07:02,760 --> 01:07:04,870 Un bucle Do While es el mismo. 1427 01:07:04,870 --> 01:07:06,170 >> Esto es un poco diferente. 1428 01:07:06,170 --> 01:07:12,410 Así que con PHP, con una gran variedad, puede declarar de forma estática una matriz, como en C, 1429 01:07:12,410 --> 01:07:14,420 pero utiliza corchetes. 1430 01:07:14,420 --> 01:07:17,060 En C, deberá utilizar llaves, si aun lo sabías. 1431 01:07:17,060 --> 01:07:20,910 Pero esto es en realidad muy común en PHP para declarar una matriz, en este caso, 1432 01:07:20,910 --> 01:07:23,640 de los números, y llame al un número variable. 1433 01:07:23,640 --> 01:07:25,300 >> Mismas variables se ven así. 1434 01:07:25,300 --> 01:07:28,710 Aquí es una cadena, fin de la cita cita "hola mundo. "Usted podría tener una barra invertida n. 1435 01:07:28,710 --> 01:07:30,950 Yo simplemente no lo hago en este caso. 1436 01:07:30,950 --> 01:07:32,640 >> Ahora bien, esto es una construcción interesante. 1437 01:07:32,640 --> 01:07:33,700 C no tiene esto. 1438 01:07:33,700 --> 01:07:34,700 Pero esto es muy servicial. 1439 01:07:34,700 --> 01:07:38,160 Y verás esto en P puesto 7 especificaciones - una para cada construcción. 1440 01:07:38,160 --> 01:07:41,800 Si desea reiterar sobre la totalidad de la elementos de una matriz, no tiene 1441 01:07:41,800 --> 01:07:45,500 para hacer frente a $ i y $ n, y + +, y todo eso. 1442 01:07:45,500 --> 01:07:47,640 Usted, literalmente, puede decir, en PHP, este - 1443 01:07:47,640 --> 01:07:51,890 para cada uno de los números como el número, por lo Estoy asumiendo que los números de $ 1444 01:07:51,890 --> 01:07:53,380 es un conjunto de números. 1445 01:07:53,380 --> 01:07:56,460 Y cuando digo que por cada número como el número, esto va a 1446 01:07:56,460 --> 01:08:00,505 automáticamente, ya que mi bucle se ejecuta, actualización, en cada iteración, el valor 1447 01:08:00,505 --> 01:08:03,260 interior de número signo de dólar - 1448 01:08:03,260 --> 01:08:07,730 otra vez, y otra vez, y otra vez a caminar para mí en esa matriz. 1449 01:08:07,730 --> 01:08:08,735 Por lo que sólo nos salva código. 1450 01:08:08,735 --> 01:08:12,250 No hay punto y coma, no hay + s + ', no íes, n no lo es, es simplemente agradable. 1451 01:08:12,250 --> 01:08:13,700 >> Pero PHP también tiene esta. 1452 01:08:13,700 --> 01:08:14,830 Y esto es súper poderoso. 1453 01:08:14,830 --> 01:08:17,410 Y vamos a usar esto, las manos adelante, en P puesto 7. 1454 01:08:17,410 --> 01:08:21,990 Y array asociativo también se declara con corchetes. 1455 01:08:21,990 --> 01:08:23,569 Pero nótese la sintaxis ahora. 1456 01:08:23,569 --> 01:08:26,880 Es una reminiscencia de lo que vimos con print_r hace un momento. 1457 01:08:26,880 --> 01:08:31,810 ¿Cuántas teclas, como una pequeña prueba de cordura, no esta matriz parecen tener. 1458 01:08:31,810 --> 01:08:32,689 >> Por lo tanto, tiene dos. 1459 01:08:32,689 --> 01:08:33,830 Y yo llamo a esto una matriz. 1460 01:08:33,830 --> 01:08:36,760 Pero si ayuda, se puede pensar de esta tabla como hash, o como 1461 01:08:36,760 --> 01:08:37,930 una matriz asociativa. 1462 01:08:37,930 --> 01:08:39,580 Pero es sólo una diferente tipo de matriz. 1463 01:08:39,580 --> 01:08:41,080 Y de nuevo, diferentes lenguas tener estos. 1464 01:08:41,080 --> 01:08:43,810 Veremos algo similar en JavaScript también. 1465 01:08:43,810 --> 01:08:44,609 Hay dos claves. 1466 01:08:44,609 --> 01:08:48,390 Uno de ellos es, entre comillas, "simbolo", uno es Citando "precio". unquote Y esas llaves 1467 01:08:48,390 --> 01:08:49,250 cada uno tiene un valor. 1468 01:08:49,250 --> 01:08:54,420 En este caso el valor del símbolo es FB, por Valor de Facebook, y su precio es de 49, 26, 1469 01:08:54,420 --> 01:08:56,899 que era la acción de Facebook Precio a partir de esta mañana. 1470 01:08:56,899 --> 01:09:00,170 >> Entonces, ¿qué es útil sobre una matriz asociativa. 1471 01:09:00,170 --> 01:09:02,620 Yo podría haber tenido una forma numérica matriz indexada con sólo 1472 01:09:02,620 --> 01:09:04,120 corchetes simples. 1473 01:09:04,120 --> 01:09:09,380 Y yo podría haber tenido el signo de dólar presupuesto equivale precisamente esto. 1474 01:09:09,380 --> 01:09:10,529 Déjame hacerlo realmente. 1475 01:09:10,529 --> 01:09:14,796 Supongamos que en lugar de simplemente declaré esta matriz de esa manera. 1476 01:09:14,796 --> 01:09:17,590 Esto es perfectamente válido, sintácticamente. 1477 01:09:17,590 --> 01:09:20,569 No pierde ninguna información, per se. 1478 01:09:20,569 --> 01:09:24,760 Todavía veo que el símbolo es fb, y que el precio es de 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Así que ¿por qué asociativo matrices de peso? 1480 01:09:28,939 --> 01:09:30,189 >> AUDIENCIA: Usted no tiene que recordar donde poner cosas. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> ALTAVOZ 1: Exactamente, usted no tiene recordar donde poner cosas. 1483 01:09:34,130 --> 01:09:37,670 Usted no tiene que recordar de manera arbitraria que símbolo de la acción se encuentra en el soporte de cero, 1484 01:09:37,670 --> 01:09:41,479 y precios de las acciones se encuentra en el soporte uno, lo que es particularmente peligroso si usted 1485 01:09:41,479 --> 01:09:43,220 cambiar las cosas, con el tiempo. 1486 01:09:43,220 --> 01:09:46,399 Es mucho más agradable para asociar lo que vamos a llamar a los metadatos 1487 01:09:46,399 --> 01:09:48,340 con sus datos reales. 1488 01:09:48,340 --> 01:09:52,399 Yo diría que lo que realmente importa aquí es de fb y 49, 26. 1489 01:09:52,399 --> 01:09:57,020 El símbolo y el precio es de metadatos que describe la que los datos 1490 01:09:57,020 --> 01:09:58,180 realmente se preocupan. 1491 01:09:58,180 --> 01:10:01,910 Pero esto es sólo tanto más fácil acceso. 1492 01:10:01,910 --> 01:10:04,090 >> Ahora, como un aparte lo que es el precio que pagamos? 1493 01:10:04,090 --> 01:10:06,600 Hemos estado haciendo esto en CS50 durante semanas. 1494 01:10:06,600 --> 01:10:10,740 Esta característica debe venir en algún costo. 1495 01:10:10,740 --> 01:10:11,350 Memoria. 1496 01:10:11,350 --> 01:10:13,830 Así que no sólo está almacenando una de 32 bits enteros, por ejemplo. 1497 01:10:13,830 --> 01:10:17,980 Usted está almacenando símbolo / 0, probablemente. 1498 01:10:17,980 --> 01:10:19,160 Así que usted está utilizando más memoria. 1499 01:10:19,160 --> 01:10:22,540 >> ¿Y cuál es el rendimiento de los buscando algo en un 1500 01:10:22,540 --> 01:10:24,822 matriz asociativa, probablemente? 1501 01:10:24,822 --> 01:10:26,590 Es probable que sea más lento. 1502 01:10:26,590 --> 01:10:29,670 El acceso aleatorio es agradable, especialmente cuando se puede hacer la búsqueda binaria. 1503 01:10:29,670 --> 01:10:33,380 Pero si en realidad estás ahora sin mirar para los números, pero para las cadenas, esta 1504 01:10:33,380 --> 01:10:37,630 verdaderamente se implementa debajo de la campana, probablemente como una tabla hash, donde 1505 01:10:37,630 --> 01:10:42,950 utiliza cualquiera una tabla hash con encadenamiento separado. 1506 01:10:42,950 --> 01:10:46,040 O utilice una oportunidad para realmente almacenar los valores. 1507 01:10:46,040 --> 01:10:50,550 Así que tal vez usted puede hacer a tiempo constante, pero usted todavía tiene que mirar a S-Y-M-B-O-L, 1508 01:10:50,550 --> 01:10:54,510 potencialmente, en lugar de 32 bits para buscar algo. 1509 01:10:54,510 --> 01:10:58,430 Así que de nuevo, esas mismas ideas que viene copia que se repita en este contexto. 1510 01:10:58,430 --> 01:11:02,120 >> Pero, de nuevo, PHP ahora tiene unos magníficos globales que, resulta, son 1511 01:11:02,120 --> 01:11:02,900 matrices asociativas. 1512 01:11:02,900 --> 01:11:05,590 Vimos uno hace un momento, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 Y esa superpotencia mundial tiene las claves y valores. 1514 01:11:08,400 --> 01:11:10,550 Específicamente, las teclas alinearse con qué? 1515 01:11:10,550 --> 01:11:14,520 ¿De dónde proceden las claves en $ _POST vienen? 1516 01:11:14,520 --> 01:11:15,380 Sólo para recapitular? 1517 01:11:15,380 --> 01:11:16,480 >> AUDIENCIA: Nombre. 1518 01:11:16,480 --> 01:11:17,900 >> ALTAVOZ 1: Nombre, ¿dónde? 1519 01:11:17,900 --> 01:11:19,860 >> AUDIENCIA: [inaudible] 1520 01:11:19,860 --> 01:11:20,750 >> ALTAVOZ 1: El nombre es el atributo. 1521 01:11:20,750 --> 01:11:23,480 Bien por dónde, de dónde han originalmente viene? 1522 01:11:23,480 --> 01:11:24,120 La forma. 1523 01:11:24,120 --> 01:11:30,140 Así que si una página HTML tiene una etiqueta de formulario, dentro de los cuales hay algunos insumos, como 1524 01:11:30,140 --> 01:11:34,760 casillas de verificación, cuadros de texto, desplegables menús, cada uno de los cuales tiene un nombre, los 1525 01:11:34,760 --> 01:11:40,260 nombres terminan como claves en $ _POST, y, francamente, para el caso, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Si el método se consigue, la misma idea. 1527 01:11:42,130 --> 01:11:43,830 Es sólo en una diferente superpotencia mundial. 1528 01:11:43,830 --> 01:11:47,620 Y los valores, por supuesto, vienen de cualquiera que sea el usuario escribió en su o 1529 01:11:47,620 --> 01:11:48,890 su navegador. 1530 01:11:48,890 --> 01:11:49,830 >> Pero hay algunos otros. 1531 01:11:49,830 --> 01:11:52,140 Hay galletas, que vamos a volver a la larga. 1532 01:11:52,140 --> 01:11:56,050 Pero esas son las cosas que usted sabe utiliza la web para un determinado bien o el mal. 1533 01:11:56,050 --> 01:11:57,420 Pero vamos a volver a eso. 1534 01:11:57,420 --> 01:12:01,720 Server y sesión, y los dos tener alguna utilidad especial. 1535 01:12:01,720 --> 01:12:03,940 >> Pero echemos un vistazo a esto. 1536 01:12:03,940 --> 01:12:13,330 Déjame ir adelante y abro un ejemplo llamado mvc0.php Así MVC 1537 01:12:13,330 --> 01:12:14,900 significa lo siguiente. 1538 01:12:14,900 --> 01:12:19,390 Y te presentamos esta antes de lo típico, de verdad, para que te diseñar 1539 01:12:19,390 --> 01:12:22,180 Boletín de problemas 7, así como los proyectos finales, en una especie de industria 1540 01:12:22,180 --> 01:12:23,670 manera estándar, y de forma limpia. 1541 01:12:23,670 --> 01:12:24,820 Es un buen diseño. 1542 01:12:24,820 --> 01:12:29,090 >> Así que estás a punto de ver, y usted experiencia, en P fijó 7, paradigma, tipo 1543 01:12:29,090 --> 01:12:32,260 de una mentalidad de programación, que se ve un poco de algo como esto. 1544 01:12:32,260 --> 01:12:35,570 M para el Modelo, C para el regulador, V para Vista. 1545 01:12:35,570 --> 01:12:39,690 Larga historia corta, MVC es sólo un poco de una metodología, una forma de hacer 1546 01:12:39,690 --> 01:12:43,360 sitios web, en particular, mediante el cual se poner todo su frase estúpida - 1547 01:12:43,360 --> 01:12:44,970 lógica de negocio - 1548 01:12:44,970 --> 01:12:49,710 toda su propiedad intelectual en lo que se llama un controlador, un archivo 1549 01:12:49,710 --> 01:12:54,840 como index.php, o vamos a ver, quote.php, o buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> En el contexto del problema fije 7, su modelos típicamente contienen sus datos, 1551 01:12:59,570 --> 01:13:03,860 todo lo relacionado con una base de datos, como veremos finalmente ver, y sus puntos de vista 1552 01:13:03,860 --> 01:13:07,510 contener la estética de su sitio, el HTML, el CSS. 1553 01:13:07,510 --> 01:13:10,420 Así que ya vimos en C un poco bits utilizando archivos. h. 1554 01:13:10,420 --> 01:13:15,010 Realmente vimos hace un momento con CSS, al factorizar la estilización CSS 1555 01:13:15,010 --> 01:13:16,520 cosas fuera de nuestro HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Así MVC es realmente sólo de dibujo líneas en la arena y decir, la 1557 01:13:20,730 --> 01:13:25,400 interesante código de programación para su web pertenece a lo que llamamos la 1558 01:13:25,400 --> 01:13:26,400 controlador. 1559 01:13:26,400 --> 01:13:29,280 Cosas relacionadas con la base de datos por lo general termina en un modelo. 1560 01:13:29,280 --> 01:13:33,070 Pero ya verás, en el problema fije 7, que fusionar C y M que sea sencillo. 1561 01:13:33,070 --> 01:13:37,630 Pero la visión es el lugar donde todos los de su HTML y la estética suelen ir. 1562 01:13:37,630 --> 01:13:39,160 >> Entonces, ¿qué significa esto en términos reales? 1563 01:13:39,160 --> 01:13:45,980 Bueno, déjame ir a nuestro MVC directorio de la siguiente manera. 1564 01:13:45,980 --> 01:13:48,880 Y verás más de estos realizado giras a través de la especificación. 1565 01:13:48,880 --> 01:13:53,200 Así que en mvc0, afirmo que se trata, al igual que, Versión 0 de los sitios web de CS50. 1566 01:13:53,200 --> 01:13:56,670 >> Todo lo que tenemos es un poco de HTML, como una gran etiqueta h1, al parecer. 1567 01:13:56,670 --> 01:13:57,800 Y a continuación, una lista con viñetas. 1568 01:13:57,800 --> 01:13:59,860 Nunca he visto una lista con viñetas antes, pero no es gran cosa. 1569 01:13:59,860 --> 01:14:01,590 Echemos un vistazo rápido al código fuente. 1570 01:14:01,590 --> 01:14:06,610 Resulta que una lista desordenada con balas Se paréntesis abierto UL con uno o 1571 01:14:06,610 --> 01:14:09,065 más elementos de lista, li. 1572 01:14:09,065 --> 01:14:10,650 Así que notar aquí es una etiqueta de ancla. 1573 01:14:10,650 --> 01:14:12,130 Vimos que hace un momento. 1574 01:14:12,130 --> 01:14:13,810 >> Así que esta es la forma en que he implementado esta página. 1575 01:14:13,810 --> 01:14:18,460 Tengo dos enlaces, dos elementos de la lista, uno ul de lista desordenada, y el final 1576 01:14:18,460 --> 01:14:22,700 resultado, estéticamente, es esta misma sitio bonito, versión 0 aquí. 1577 01:14:22,700 --> 01:14:26,840 Pero lo interesante es cómo esta se implementa bajo la campana. 1578 01:14:26,840 --> 01:14:33,590 >> Déjame ir en gedit y abro este primer ejemplo para pintar un cuadro. 1579 01:14:33,590 --> 01:14:37,070 Y vamos a ver lo que está viciado, potencialmente, aquí. 1580 01:14:37,070 --> 01:14:43,260 Ahora si voy a localhost, público, MVC, observe algunos archivos. 1581 01:14:43,260 --> 01:14:45,780 Voy a llamar a estos, para la momento, todos los controladores. 1582 01:14:45,780 --> 01:14:48,640 Pero eso es un poco de un abuso porque usted verá que todo está entremezclado 1583 01:14:48,640 --> 01:14:49,620 dentro de ellos. 1584 01:14:49,620 --> 01:14:52,330 >> Y déjame ir dentro de index.php. 1585 01:14:52,330 --> 01:14:54,700 Y vemos, literalmente, el mismo HTML. 1586 01:14:54,700 --> 01:14:57,970 Así que, aunque el archivo termina en . Php, No significa que tiene que 1587 01:14:57,970 --> 01:14:59,500 tener cualquier código PHP. 1588 01:14:59,500 --> 01:15:02,290 Simplemente puede ser HTML puro, aunque eso es un poco tonto. 1589 01:15:02,290 --> 01:15:07,650 Pero note que no hay soporte de PHP abierta etiquetar, a excepción de esto, que, francamente, 1590 01:15:07,650 --> 01:15:09,160 es justo allí para servir como un comentario. 1591 01:15:09,160 --> 01:15:12,080 Pero eso no es funcionalmente aun que interesante. 1592 01:15:12,080 --> 01:15:12,960 >> Pero fíjate en esto. 1593 01:15:12,960 --> 01:15:15,400 Lo interesante ahora es qué cambios en esta página. 1594 01:15:15,400 --> 01:15:16,650 Permítanme clic Conferencias. 1595 01:15:16,650 --> 01:15:18,560 Y note la URL está a punto de cambiar. 1596 01:15:18,560 --> 01:15:20,930 Ahora estoy en lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Permítanme clic cero. 1598 01:15:22,630 --> 01:15:27,200 Ahora estoy en week0.php Y ahora dejo a abrir estos archivos en gedit. 1599 01:15:27,200 --> 01:15:30,120 No sólo índice, pero vamos me abro conferencias. 1600 01:15:30,120 --> 01:15:33,900 Y déjame deshacerme de los comentarios centrarse en sólo esta parte. 1601 01:15:33,900 --> 01:15:37,680 >> Y ahora déjame abro uno más, week0.php, deseche los comentarios, 1602 01:15:37,680 --> 01:15:39,910 sólo para limpiar esto. 1603 01:15:39,910 --> 01:15:41,720 Y ahora fíjense lo siguiente. 1604 01:15:41,720 --> 01:15:47,340 Pensando en realidad una especie de cuidado acerca de diseño, y vamos a hacer que la línea 1605 01:15:47,340 --> 01:15:52,013 por lo mismo, lo que se podría hacer mejor aquí, qué te parece? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> ¿Cómo me puedo hacer una semana una? 1608 01:15:57,780 --> 01:15:58,480 ¿Qué tal esto. 1609 01:15:58,480 --> 01:16:00,450 Así que esta es la forma en que hice la semana uno. 1610 01:16:00,450 --> 01:16:08,290 Subí a Archivo, Nuevo, Pegar, Guardar, week1.php, y luego me fui de aquí. 1611 01:16:08,290 --> 01:16:09,875 Y cambié uno - 1612 01:16:09,875 --> 01:16:11,646 lo que era esto, uno a viernes. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 He cambiado los ceros a uno. 1615 01:16:15,810 --> 01:16:17,150 He cambiado esto a uno. 1616 01:16:17,150 --> 01:16:20,350 >> OK, así que ahora mira en mis archivos. 1617 01:16:20,350 --> 01:16:22,100 ¿Qué podría hacerse de otra manera? 1618 01:16:22,100 --> 01:16:25,310 ¿Dónde está la oportunidad, tal vez? 1619 01:16:25,310 --> 01:16:28,330 Así que hay la oportunidad de empezar factoring esta materia hacia fuera. 1620 01:16:28,330 --> 01:16:32,950 Permítanme abro, como un spoiler, para lo que verás en P fijó 7. 1621 01:16:32,950 --> 01:16:38,750 Si abro, ahora, index.php en la versión cinco de esto, parece camino 1622 01:16:38,750 --> 01:16:40,730 más críptico, hay que reconocerlo. 1623 01:16:40,730 --> 01:16:43,710 >> Pero esto, ahora, es lo que yo llamo un controlador que está controlando la 1624 01:16:43,710 --> 01:16:44,770 lógica de mi página. 1625 01:16:44,770 --> 01:16:48,510 Y usted puede tipo de reconstruir, intuitivamente, tal vez, lo que está pasando. 1626 01:16:48,510 --> 01:16:50,630 En la primera línea, es un poco críptico. 1627 01:16:50,630 --> 01:16:54,040 Pero noto que estoy exigiendo, al igual que con agudo incluyen, un archivo llamado 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 Y luego te llamo, al parecer, un función, llamada render, pasando 1630 01:16:59,980 --> 01:17:00,850 dos argumentos. 1631 01:17:00,850 --> 01:17:02,440 >> Uno de ellos es, entre comillas, de cabecera. 1632 01:17:02,440 --> 01:17:04,800 Y la otra es, ¿qué tipo de tipo de datos es esta, basado 1633 01:17:04,800 --> 01:17:07,180 en nuestra sintaxis anterior? 1634 01:17:07,180 --> 01:17:08,160 Es un conjunto asociado. 1635 01:17:08,160 --> 01:17:11,730 En concreto, se está pasando en el título con algunos metadatos que recuerda 1636 01:17:11,730 --> 01:17:13,430 yo lo que es y su valor. 1637 01:17:13,430 --> 01:17:16,340 Entonces veo un duro Coded ul, por lo que algunos HTML puro. 1638 01:17:16,340 --> 01:17:20,020 Pero estoy de vuelta en el modo PHP llamar a una función de procesamiento. 1639 01:17:20,020 --> 01:17:24,390 Así que incluso si usted nunca ha usado HTML o PHP antes, y aunque esto se ve 1640 01:17:24,390 --> 01:17:27,480 más miedo, ¿por qué es esto probablemente mejor diseño? 1641 01:17:27,480 --> 01:17:31,310 ¿Qué es mejor en ello, sobre la base de la inferencia? 1642 01:17:31,310 --> 01:17:32,130 >> AUDIENCIA: [inaudible] 1643 01:17:32,130 --> 01:17:35,750 >> ALTAVOZ 1: Menos redundante en ese no hay más etiquetas HTML, no más 1644 01:17:35,750 --> 01:17:38,410 cabezas de etiquetas, no más etiqueta del cuerpo en cada archivo maldita. 1645 01:17:38,410 --> 01:17:41,860 En lugar de ello, he eliminado casi la elementos comunes y, presumiblemente, ponerlos 1646 01:17:41,860 --> 01:17:45,150 en un archivo de alguna manera relacionada a un colector. 1647 01:17:45,150 --> 01:17:48,500 Y lo mismo para el cierre del cuerpo etiqueta, la etiqueta de cierre HTML. 1648 01:17:48,500 --> 01:17:52,165 Eso es probablemente por aquí dentro del pie en algún lugar. 1649 01:17:52,165 --> 01:17:57,050 Y verás, en el problema fije 7, un pequeño recorrido a través de este. 1650 01:17:57,050 --> 01:17:58,070 >> Entonces, ¿qué nos depara el futuro? 1651 01:17:58,070 --> 01:18:03,390 Lo único que no tenemos la capacidad sin embargo, para es realmente el de almacenar datos. 1652 01:18:03,390 --> 01:18:06,110 Y así lo vamos a empezar a ver Miércoles, por ejemplo, es que su 1653 01:18:06,110 --> 01:18:08,450 viejo amigo Excel, o números, le permite almacenar una gran cantidad de 1654 01:18:08,450 --> 01:18:10,060 datos en filas y columnas. 1655 01:18:10,060 --> 01:18:12,570 Resulta que puede hacer que en lo que es llamado una base de datos, mediante programación. 1656 01:18:12,570 --> 01:18:16,620 maníaco Y resulta que, después de eso, vamos a ser capaces de almacenar cosas como 1657 01:18:16,620 --> 01:18:20,550 esto, que usted verá de nuevo en conjunto P 7, un montón de nombres de usuario y 1658 01:18:20,550 --> 01:18:23,690 contraseñas, el último de los cuales son realidad cifrada, al igual que lo 1659 01:18:23,690 --> 01:18:25,550 fueron en P puesto la edición del 2 de piratería informática. 1660 01:18:25,550 --> 01:18:29,600 Y con el tiempo, podrás poner en práctica este, su propio sitio web eTrade-así 1661 01:18:29,600 --> 01:18:32,220 implementa en conjunto CS50 finanzas. 1662 01:18:32,220 --> 01:18:36,000 >> Por último, ya que se hospedó aquí tan tarde hoy en día, si usted se vuelve a esta parte 1663 01:18:36,000 --> 01:18:41,120 del campus, a las 4:00 horas de hoy, lo haremos le dará no sólo consejos, en los SCES 1664 01:18:41,120 --> 01:18:44,200 Asesoramiento Feria, a las 4:00 PM en la Maxwell-Dworkin, vamos a darle un poco de 1665 01:18:44,200 --> 01:18:47,470 Americone Sueño, Cherry Garcia, Chocolate Fudge Brownie, Chocolate 1666 01:18:47,470 --> 01:18:50,840 Galleta con trozos de masa, y, cuando Google Chunky Monkey, usted consigue esto. 1667 01:18:50,840 --> 01:18:53,620 Así que todos los que les espera a las 4:00 PM en Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Nos vemos el miércoles también. 1669 01:18:56,736 --> 01:18:59,960 >> ALTAVOZ 2: En la siguiente CS50, RJ duerme pulg 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: Mi sección! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ha! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 Oh, 1676 01:19:13,306 --> 01:19:16,374