1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> COLUMNA 1: Todos, non benvidos de volta. 3 00:00:12,764 --> 00:00:14,140 É dicir CS50. 4 00:00:14,140 --> 00:00:16,800 E este é o comezo de semana nove. 5 00:00:16,800 --> 00:00:19,960 E isto é o inicio do resto seu tempo no CS50, no que 6 00:00:19,960 --> 00:00:23,170 transición agora, por fin, a tea aspectos do curso, onde se 7 00:00:23,170 --> 00:00:26,200 descubrir que moitos dos fundamentos que temos que chegou a exportar a semana 8 00:00:26,200 --> 00:00:29,270 aínda volver a visitar, ou asombrar, nós. 9 00:00:29,270 --> 00:00:33,440 Pero agora, vai descubrir que el é un orde de magnitude máis fácil 10 00:00:33,440 --> 00:00:36,540 realizar determinadas tarefas e resolver certos problemas - 11 00:00:36,540 --> 00:00:41,050 tanto que aínda que penso determinados conxuntos de problemas eran divertidos no seu 12 00:00:41,050 --> 00:00:44,200 propia maneira, eu creo que vai atopar que p axuste 7, p axuste 8, e entón, 13 00:00:44,200 --> 00:00:47,990 en definitiva, o proxecto final será todo o máis gratificante, porque vai 14 00:00:47,990 --> 00:00:51,830 considerar que comezamos a tomar para concedida agora as cousas como xestión de memoria e 15 00:00:51,830 --> 00:00:54,190 punteiros, e que está a suceder por baixo do capó. 16 00:00:54,190 --> 00:00:57,310 E, de novo, temática, durante todo o semestre foi tan capas 17 00:00:57,310 --> 00:00:58,030 e capas. 18 00:00:58,030 --> 00:01:00,530 E agora estamos especie de up aquí, de pé sobre a 19 00:01:00,530 --> 00:01:01,930 ombreiros de semana pasado. 20 00:01:01,930 --> 00:01:05,360 >> Agora, lembre-se a última vez que falou sobre como a Internet funciona. 21 00:01:05,360 --> 00:01:08,120 E ese foi, quizais, un simplificación, pero lembre que 22 00:01:08,120 --> 00:01:12,960 todos os ordenadores do mundo ten un IP resolver, a pesar de que é un pouco de un 23 00:01:12,960 --> 00:01:14,570 simplificación aínda. 24 00:01:14,570 --> 00:01:18,180 E estes enderezos son usados ​​exclusivamente para máquinas, de xeito que identifican 25 00:01:18,180 --> 00:01:22,010 cando envía información, ou paquetes, por así dicir, que poden ter unha orixe 26 00:01:22,010 --> 00:01:24,000 enderezo e un enderezo de destino. 27 00:01:24,000 --> 00:01:27,830 E eses mesmos enderezos IP poden ser usados tanto para o ben e tamén para o mal, 28 00:01:27,830 --> 00:01:29,270 para rastro-lo, por exemplo. 29 00:01:29,270 --> 00:01:32,200 En realidade, cada un de vós cun portátil abrir agora, ou un teléfono no seu 30 00:01:32,200 --> 00:01:35,070 bolsa, ten un enderezo IP na rede de Harvard. 31 00:01:35,070 --> 00:01:39,120 E non é tan difícil de correlacionar isto con quen e onde se 32 00:01:39,120 --> 00:01:40,180 son estes días. 33 00:01:40,180 --> 00:01:42,090 Pero máis sobre iso quizais no futuro. 34 00:01:42,090 --> 00:01:46,510 >> Agora eu pensei en traer de volta algunhas memorias de [? mellorar?] e darlle 35 00:01:46,510 --> 00:01:49,360 outro clip dun concerto que pode atopar familiar. 36 00:01:49,360 --> 00:01:52,710 Se puidésemos reducir as luces por só uns segundos. 37 00:01:52,710 --> 00:01:53,960 O show Numb3rs. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> COLUMNA 2: É un enderezo IPP4 32 bits. 40 00:02:00,540 --> 00:02:01,610 >> COLUMNA 3: IPP, como en internet? 41 00:02:01,610 --> 00:02:02,968 >> COLUMNA 2: rede privada. 42 00:02:02,968 --> 00:02:04,960 A rede privada da Amita. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Ela é tan incrible. 45 00:02:19,602 --> 00:02:21,030 >> COLUMNA 3: Imos, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> COLUMNA 2: É. 47 00:02:21,490 --> 00:02:22,470 Un enderezo IP espello. 48 00:02:22,470 --> 00:02:27,680 Ela está deixando ver o que se está facendo en tempo real. 49 00:02:27,680 --> 00:02:30,930 >> Speaker 1: OK, entón algunhas cousas de malo con esta foto. 50 00:02:30,930 --> 00:02:32,920 Entón, un, e este é aceptable, esta é realmente 51 00:02:32,920 --> 00:02:34,400 non é un enderezo IP válido. 52 00:02:34,400 --> 00:02:38,190 Un enderezo IP válido ten que ser números da forma w.x.y.z, onde cada un de 53 00:02:38,190 --> 00:02:40,000 esas cartas é de 0 a 255. 54 00:02:40,000 --> 00:02:42,330 Pero iso é bo, porque así como o películas onde os números de teléfono falsos, 55 00:02:42,330 --> 00:02:43,520 eles falsificam enderezos IP. 56 00:02:43,520 --> 00:02:45,230 Realmente non alcanzou os servidores reais. 57 00:02:45,230 --> 00:02:46,760 >> Pero lembre, este é un navegador. 58 00:02:46,760 --> 00:02:50,760 E navegadores non comezar saída código de ordenador así. 59 00:02:50,760 --> 00:02:54,230 E se miramos un pouco máis, teña en conta que a linguaxe que está a ver 60 00:02:54,230 --> 00:02:57,040 na pantalla é unha linguaxe chamada Objective C, que é a lingua en 61 00:02:57,040 --> 00:02:59,520 que aplicacións para iPhone están escritas, particularmente os que envolven 62 00:02:59,520 --> 00:03:03,540 lapis de cor, como se pode ver dende o código de fonte aquí. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> OK, eu penso que iso era divertido. 65 00:03:07,560 --> 00:03:12,240 Entón, ese fragmento de código ten absolutamente nada que ver co que esta 66 00:03:12,240 --> 00:03:13,940 determinado episodio era sobre. 67 00:03:13,940 --> 00:03:17,590 Polo tanto, a broma é unha especie de sobre os pobos levando a este concedida. 68 00:03:17,590 --> 00:03:20,220 Pero iso non é tan difícil de obter eses detalles técnicos correctos. 69 00:03:20,220 --> 00:03:21,980 E gustaríame incentivos-lo. 70 00:03:21,980 --> 00:03:25,530 E, de feito, o 50 pode moi ben romper unha morea de concertos de televisión e películas ou 71 00:03:25,530 --> 00:03:27,320 porque vai considerar que é só non é posible que están 72 00:03:27,320 --> 00:03:28,630 facendo na pantalla. 73 00:03:28,630 --> 00:03:31,750 Pero, en realidade, este é o código que pode velo nunha aplicación para iPhone 74 00:03:31,750 --> 00:03:33,640 ou aplicación de Mac OS. 75 00:03:33,640 --> 00:03:35,685 Non ten nada en todo que ver con seguridade. 76 00:03:35,685 --> 00:03:38,610 Polo tanto, manter un ollo para fóra para máis esas cousas divertidas como esta. 77 00:03:38,610 --> 00:03:42,720 >> Pero hoxe nós comezamos a mergullo en realidade profundamente a toda unha gama de linguas. 78 00:03:42,720 --> 00:03:45,410 Un feito, un dos máis ampla temas desta porción do 79 00:03:45,410 --> 00:03:51,815 curso non é para aprender a programar en PHP, non para aprender SQL, por si só, non 80 00:03:51,815 --> 00:03:58,100 aprender JavaScript, por si só, pero en vez para ensinar a si mesmo como ensinar 81 00:03:58,100 --> 00:04:02,030 yourself novas linguaxes, porque, de feito, comezamos a tomar agora a 82 00:04:02,030 --> 00:04:06,020 Rodas pequenas para que despois final do curso, non espera que a 20 83 00:04:06,020 --> 00:04:08,890 especificación páxina para dicirlle como aplicar algún programa. 84 00:04:08,890 --> 00:04:12,970 Ten ingredientes suficientes na súa mente, e ferramentas suficientes na súa ferramenta 85 00:04:12,970 --> 00:04:15,750 Kit, coa cal comezar a construír solucións a problemas de interese 86 00:04:15,750 --> 00:04:19,130 ti por algún grupo de estudantes, para algúns proxecto de investigación, ou realmente nada 87 00:04:19,130 --> 00:04:20,140 do seu interese. 88 00:04:20,140 --> 00:04:24,150 >> Entón, para iso, lembre que este era a imaxe que deseñou última vez. 89 00:04:24,150 --> 00:04:27,620 E isto é dous ordenadores, cliente e cortar, falando uns cos outros. 90 00:04:27,620 --> 00:04:31,130 E o protocolo, a linguaxe, co fin de falar, que estes dous ordenadores ocorrer 91 00:04:31,130 --> 00:04:33,220 estar falando chámase HTTP. 92 00:04:33,220 --> 00:04:37,730 E iso é só o protocolo usado polo ordenadores para transferir información sobre 93 00:04:37,730 --> 00:04:38,710 a World Wide Web. 94 00:04:38,710 --> 00:04:41,770 A web, claro, é só un servizo que roda encima do 95 00:04:41,770 --> 00:04:43,000 chamado internet. 96 00:04:43,000 --> 00:04:48,660 Que é outro servizo dispoñible en parte superior da Internet nos días de hoxe? 97 00:04:48,660 --> 00:04:51,600 Algún outro protocolo ou - o que é iso? 98 00:04:51,600 --> 00:04:52,300 >> Audiencia: FTP. 99 00:04:52,300 --> 00:04:52,790 >> COLUMNA 1: FTP. 100 00:04:52,790 --> 00:04:54,630 Entón File Transfer Protocol é outra. 101 00:04:54,630 --> 00:04:56,050 A maioría de vostedes probablemente non telo usado. 102 00:04:56,050 --> 00:04:58,830 Pero a maioría de vostedes probablemente xa usado cousas como Gchat ou instantánea 103 00:04:58,830 --> 00:05:00,970 Mensaxes dun modo máis xeral, seguro electrónico. 104 00:05:00,970 --> 00:05:04,470 E aqueles, tamén, son os servizos que son executados en arriba de Internet, xa que, no 105 00:05:04,470 --> 00:05:08,180 final do día, a propia Internet realmente é só incorporarse os datos do punto A ó 106 00:05:08,180 --> 00:05:12,480 punto B. E el usa unha serie de as partículas en si, un ou dous deles 107 00:05:12,480 --> 00:05:17,340 deles máis xeralmente chamado o TCP / IP, que é para dicir que un ordenador 108 00:05:17,340 --> 00:05:19,960 Internet realmente pode estar facendo cousas diferentes, correo electrónico, 109 00:05:19,960 --> 00:05:20,980 e web, e así por diante. 110 00:05:20,980 --> 00:05:22,220 Google fai unha morea de presente. 111 00:05:22,220 --> 00:05:26,310 Entón, como son os servizos en exclusiva identificado, non podemos dicir que, nun computador 112 00:05:26,310 --> 00:05:29,080 que realmente pode estar facendo varias cousas? 113 00:05:29,080 --> 00:05:29,860 >> O número do porto. 114 00:05:29,860 --> 00:05:34,180 E estes son só humana arbitraria convencións como 80 é web, 443 é 115 00:05:34,180 --> 00:05:36,580 web cifrada, 25 e correo electrónico. 116 00:05:36,580 --> 00:05:38,230 E hai un acios doutros. 117 00:05:38,230 --> 00:05:41,860 E eses números son simplemente incluídos na os paquetes de información, os 118 00:05:41,860 --> 00:05:46,230 Sobre virtual, que efectivamente contiña unha petición ou unha resposta. 119 00:05:46,230 --> 00:05:51,300 >> Entón, cando recibe de volta unha resposta do web, normalmente, non ve calquera 120 00:05:51,300 --> 00:05:54,780 números de calquera natureza en termos de código de estado da resposta. 121 00:05:54,780 --> 00:05:56,770 Realmente non ve a funcionamento interno do 122 00:05:56,770 --> 00:05:58,090 paquetes que veñen de atrás. 123 00:05:58,090 --> 00:05:59,860 Pero 200, de feito, significa Aceptar. 124 00:05:59,860 --> 00:06:01,530 E isto significa que está todo ben. 125 00:06:01,530 --> 00:06:02,870 Pode ver unha chea deles. 126 00:06:02,870 --> 00:06:05,710 Que é probablemente a máis común xa viu na web? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Significa só que arquivo non se atopou. 129 00:06:07,330 --> 00:06:08,270 Isto significa que alguén errou. 130 00:06:08,270 --> 00:06:11,450 Fixeches por erros de dixitación da URL, ou alguén máis fixo, dándolle un 131 00:06:11,450 --> 00:06:15,100 URL non válido, ou que excluíu a ficheiro ea URL é aínda 132 00:06:15,100 --> 00:06:16,130 a ser usado por persoas. 133 00:06:16,130 --> 00:06:19,670 Así, calquera número de razóns poden explicar por que un arquivo non se atopou. 134 00:06:19,670 --> 00:06:22,990 E vai ver, nas próximas semanas, eses outros códigos de erro, e vai 135 00:06:22,990 --> 00:06:24,195 sacar proveito dalgúns deles. 136 00:06:24,195 --> 00:06:25,760 O peor é 500. 137 00:06:25,760 --> 00:06:29,820 Se recibe un erro 500 no código que escrito, pense nisto como unha especie de 138 00:06:29,820 --> 00:06:33,290 análogo da SEG fallos no mundo de programación web. 139 00:06:33,290 --> 00:06:34,560 El non é tan terrible. 140 00:06:34,560 --> 00:06:36,660 Pero iso significa só que, en algún lugar, vostede errou. 141 00:06:36,660 --> 00:06:38,260 Entón mire para adiante a eles. 142 00:06:38,260 --> 00:06:39,910 >> Pero imos ver se podemos velos en contexto. 143 00:06:39,910 --> 00:06:43,460 Déixeme ir a un navegador aquí e faga o seguinte. 144 00:06:43,460 --> 00:06:45,710 Polo tanto, este é o Chrome, que pasa a instalarse no aparello. 145 00:06:45,710 --> 00:06:49,410 Pero a maioría todos os navegadores hoxe en día ten algunhas funcións equivalentes. 146 00:06:49,410 --> 00:06:52,610 Eu estou indo a ir ata o menú de Chrome, e vaia a Ferramentas, e eu estou indo a ir 147 00:06:52,610 --> 00:06:53,990 a Developer Tools. 148 00:06:53,990 --> 00:06:57,040 E vai ver que este panel pouco ábrese na parte inferior da ventá. 149 00:06:57,040 --> 00:07:00,190 Outro atallo, para ser honesto, que eu eu costume usar é premer co botón dereito 150 00:07:00,190 --> 00:07:04,370 ou de control prema en calquera lugar na web páxina e vaia Inspect Element. 151 00:07:04,370 --> 00:07:07,440 E que non só abre isto ten para ti. 152 00:07:07,440 --> 00:07:10,230 Tamén estará aberto, especialmente, a porción en Elementos 153 00:07:10,230 --> 00:07:11,430 o lado esquerdo. 154 00:07:11,430 --> 00:07:12,460 >> Entón, nós estamos, por suposto, a ver Google. 155 00:07:12,460 --> 00:07:13,930 Cambiaron o seu logotipo hoxe. 156 00:07:13,930 --> 00:07:20,200 Pero se eu rolar por aquí, teña en conta que baixo Elements, ve 157 00:07:20,200 --> 00:07:23,460 o que se chama HTML, de formato Linguaxe, e esta é a linguaxe 158 00:07:23,460 --> 00:07:26,000 que esta e todas as páxinas web, realmente, está escrito dentro 159 00:07:26,000 --> 00:07:28,950 Pero en realidade é formatado para nós moito máis lexible 160 00:07:28,950 --> 00:07:29,970 do que normalmente é. 161 00:07:29,970 --> 00:07:34,810 En realidade, se eu reducir o zoom, e eu, en vez simplemente prema co botón dereito ou Control Preme 162 00:07:34,810 --> 00:07:39,630 faga clic sobre a páxina, e logo vaia en Ver Páxina Fonte, que é literalmente o que 163 00:07:39,630 --> 00:07:42,150 Google enviou ao meu navegador. 164 00:07:42,150 --> 00:07:46,480 >> Entón, algunha persoa ou persoas escribiron Google.com utilizando este código fonte. 165 00:07:46,480 --> 00:07:47,790 A maior parte deste non é HTML. 166 00:07:47,790 --> 00:07:49,340 É realmente unha linguaxe chamada JavaScript, que 167 00:07:49,340 --> 00:07:50,880 nós imos chegar a mércores. 168 00:07:50,880 --> 00:07:55,580 Pero Chrome, e que cada navegador pode facer por nós, é unha especie de ver 169 00:07:55,580 --> 00:07:59,610 pasado todas as distraccións do sintaxe tolo, e volva a colocar espazo en branco 170 00:07:59,610 --> 00:08:02,940 para nós, e mesmo destaque de sintaxe, ou colorear as cousas para nós. 171 00:08:02,940 --> 00:08:06,470 Entón podes ver que os chamados ferramentas de desenvolvemento construído en navegadores 172 00:08:06,470 --> 00:08:10,830 pode facer a súa vida moito máis fácil porque pode explorar, a través deste menú 173 00:08:10,830 --> 00:08:13,940 interfaz, exactamente o que o subxacente código fonte é a 174 00:08:13,940 --> 00:08:15,750 calquera páxina en internet. 175 00:08:15,750 --> 00:08:19,070 E, de feito, esta é unha das máis formas eficaces para aprender a facer 176 00:08:19,070 --> 00:08:22,860 algo novo, polo menos, se a páxina non é tan complexa como a mergullar, é 177 00:08:22,860 --> 00:08:26,700 para comezar a picar arredor é HTML, ollar na súa chamada CSS, que virá 178 00:08:26,700 --> 00:08:30,310 a un bit, así como, para obter unha a comprensión de como ese programador 179 00:08:30,310 --> 00:08:33,480 aplicaron un especial característica da páxina. 180 00:08:33,480 --> 00:08:36,530 >> Pero o máis interesante tecnicamente dereita agora é que vai ser iso. 181 00:08:36,530 --> 00:08:39,429 Se eu vaia á pestana Rede, agora imos limpar isto. 182 00:08:39,429 --> 00:08:43,429 Eu estou indo a premer a pequena atravesar símbolo aquí, e, a continuación, 183 00:08:43,429 --> 00:08:45,630 ir a outro sitio. 184 00:08:45,630 --> 00:08:48,430 E eu só vou escribir en Facebook.com. 185 00:08:48,430 --> 00:08:51,940 O HTTP, HTTPS non, non WWW. 186 00:08:51,940 --> 00:08:53,850 Imos realmente ver o que pasa aquí. 187 00:08:53,850 --> 00:08:55,030 >> Intro. 188 00:08:55,030 --> 00:08:58,480 Agora, teña en conta unha morea de cousas só apareceu neste panel de fondo, en 189 00:08:58,480 --> 00:09:00,285 Ademais da páxina web aparecendo na parte superior. 190 00:09:00,285 --> 00:09:04,890 Eu estou indo a ir ao seu Guía rede aquí, e eu vou 191 00:09:04,890 --> 00:09:06,080 clic na primeira liña. 192 00:09:06,080 --> 00:09:10,580 O que esta ferramenta vai revelar-nos é cada unha das peticións HTTP 193 00:09:10,580 --> 00:09:13,550 que axiña só volveu e outro entre o meu navegador 194 00:09:13,550 --> 00:09:14,930 eo servidor de Facebook. 195 00:09:14,930 --> 00:09:17,830 E así, cada unha destas liñas representa un tal solicitude, ou 196 00:09:17,830 --> 00:09:20,970 resposta, un ou máis dos aqueles sobre virtual. 197 00:09:20,970 --> 00:09:24,080 Ou máis casualmente, é como unha persoa como unha persoa, un cliente nunha 198 00:09:24,080 --> 00:09:26,710 restaurante, pedindo algo de novo, e de novo, e de novo. 199 00:09:26,710 --> 00:09:29,400 E o camareiro continúa traendo de volta un de cada vez. 200 00:09:29,400 --> 00:09:33,850 >> Entón, agora, se eu aumentar o zoom en tanto, teña en conta e este será o tipo de cousas 201 00:09:33,850 --> 00:09:36,600 que está Benvido ao e animou xogar coa súa propia, porque nós 202 00:09:36,600 --> 00:09:38,150 non vai pasar por todo en gran detalle. 203 00:09:38,150 --> 00:09:40,070 Mais repare que hai unha algúns sub pestanas aquí - 204 00:09:40,070 --> 00:09:43,700 Cabeceiras, Preview, resposta, Cookies, e timing. 205 00:09:43,700 --> 00:09:48,280 Eu só vou mirar cabeceiras de momento, porque estes son pouco 206 00:09:48,280 --> 00:09:53,600 ingredientes dentro do sobre que axudar a obter datos para e de lugares. 207 00:09:53,600 --> 00:09:57,590 >> Entón, primeiro, déixeme prema neste, Vista Fonte próxima á petición cabeceiras. 208 00:09:57,590 --> 00:10:01,910 Non é a solicitude que o meu navegador, Cromado, neste caso enviado en 209 00:10:01,910 --> 00:10:02,910 que o sobre virtual. 210 00:10:02,910 --> 00:10:04,800 Ten que lembrar, a semana pasada escribiu mentres a man 211 00:10:04,800 --> 00:10:06,380 finxindo ser un navegador. 212 00:10:06,380 --> 00:10:09,980 A continuación, el recordou que o servidor é ollando para o servidor chamado 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 E entón hai algo máis misterioso información que imos acenar 215 00:10:13,630 --> 00:10:14,830 nosas mans agora. 216 00:10:14,830 --> 00:10:18,640 >> Pero se eu comezar a rodar agora en Nesta ventá, déixeme chegar ao 217 00:10:18,640 --> 00:10:19,980 cabeceiras de resposta. 218 00:10:19,980 --> 00:10:23,270 Iso era o que é o virtual Sobre que volveu de 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 E se eu premer en Ver o código fonte só para ver o texto bruto do mesmo, 221 00:10:27,390 --> 00:10:28,400 entender algunhas cousas. 222 00:10:28,400 --> 00:10:32,130 Un deles, Facebook tamén fala a mesma protocolo, a versión 1.1 da mesma. 223 00:10:32,130 --> 00:10:33,390 Entón, iso é bo. 224 00:10:33,390 --> 00:10:36,820 Pero o código de estado 301, movido permanentemente. 225 00:10:36,820 --> 00:10:38,880 >> Ben, onde diaños Facebook ir? 226 00:10:38,880 --> 00:10:40,430 O que esta tentando pasar para nós? 227 00:10:40,430 --> 00:10:44,310 Así, entende-se aquí non hai outra cabeceira chamado Localización. 228 00:10:44,310 --> 00:10:51,050 Entón, por que é Facebook me dicindo que eles movido permanentemente para que URL 229 00:10:51,050 --> 00:10:53,580 xunto a localización? 230 00:10:53,580 --> 00:10:54,962 Esquecín o www. 231 00:10:54,962 --> 00:10:56,250 >> Entón esa foi a miña elección. 232 00:10:56,250 --> 00:11:00,450 De feito, a maioría de nós raramente, probablemente, escribir www.whatever.com estes días. 233 00:11:00,450 --> 00:11:03,390 Pero resulta que un administrador de sistema, como Facebook do, pode 234 00:11:03,390 --> 00:11:06,800 configurar os seus servidores de tal xeito que ou Facebook.com funciona, ou 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com funciona, ou, realmente, tal prefixo fronte da súa 236 00:11:12,450 --> 00:11:13,210 nome de dominio. 237 00:11:13,210 --> 00:11:14,500 Entón, eles fixeron iso por nós. 238 00:11:14,500 --> 00:11:16,910 E eles están nos redirección, probablemente por algunha técnica, 239 00:11:16,910 --> 00:11:18,100 algunhas razóns de marketing. 240 00:11:18,100 --> 00:11:21,570 Eles só queren canonizar en www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Pero isto non é así iso. 242 00:11:24,040 --> 00:11:28,560 Se eu rodar aquí, imos mira o que acontece. 243 00:11:28,560 --> 00:11:30,810 Isto está me dicindo que movido permanentemente a 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Entón, imos ollar para a segunda petición que o meu navegador envía. 246 00:11:36,620 --> 00:11:40,070 Desafortunadamente, parece que Facebook mudouse novamente porque a segunda 247 00:11:40,070 --> 00:11:44,420 solicitude, seleccionando esta URL no seu lugar, di que, tamén, cambiou-se 248 00:11:44,420 --> 00:11:45,010 permanentemente. 249 00:11:45,010 --> 00:11:48,140 E déixeme rolar aquí para as cabeceiras de resposta. 250 00:11:48,140 --> 00:11:51,530 Onde ten Facebook foi agora? 251 00:11:51,530 --> 00:11:52,680 >> Entón HTTPS. 252 00:11:52,680 --> 00:11:56,130 Entón agora Facebook comezou, especialmente á luz da actual 253 00:11:56,130 --> 00:11:59,750 eventos nos últimos meses, en especial e Tamén no último par de anos 254 00:11:59,750 --> 00:12:03,670 para obrigar a todos os seus usuarios, nun bo Así, o uso de HTTPS, que é máis 255 00:12:03,670 --> 00:12:06,210 seguro, aínda que non totalmente segura. 256 00:12:06,210 --> 00:12:10,000 E agora a miña páxina, o meu navegador é vai solicitar esta terceira URL. 257 00:12:10,000 --> 00:12:14,710 E agora, por fin, temos o doutro xeito invisible 200 Aceptar. 258 00:12:14,710 --> 00:12:18,830 >> Entón, o que no mundo, ou todos estas outras liñas aquí. 259 00:12:18,830 --> 00:12:22,630 Eu literalmente escribiu unha cousa, e miña navegador parece solicitado como 260 00:12:22,630 --> 00:12:23,840 20 cousas estrañas. 261 00:12:23,840 --> 00:12:24,640 ¿Que é iso? 262 00:12:24,640 --> 00:12:25,810 >> Audiencia: Scripts? 263 00:12:25,810 --> 00:12:28,460 >> COLUMNA 1: scripts, para que outros arquivos escritas nunha linguaxe chamada 264 00:12:28,460 --> 00:12:30,780 JavaScript, o que, unha vez máis, nós imos ver un pouco o mércores. 265 00:12:30,780 --> 00:12:32,760 Que máis? 266 00:12:32,760 --> 00:12:33,390 As follas de estilo. 267 00:12:33,390 --> 00:12:36,350 Entón, algo nunha linguaxe chamada CSS, o que veremos de aquí a pouco. 268 00:12:36,350 --> 00:12:40,690 Gifs, e JPEG e pngs e imaxes, e arquivos de película - o que unha páxina web 269 00:12:40,690 --> 00:12:43,280 É máis probable que en a forma dun arquivo. 270 00:12:43,280 --> 00:12:46,750 E así, o que estamos a ver na esquerda banda, hai todos os ficheiros 271 00:12:46,750 --> 00:12:50,280 que Chrome tivo que baixar, recursiva, se quere, a fin de 272 00:12:50,280 --> 00:12:52,430 compoñer a totalidade da páxina. 273 00:12:52,430 --> 00:12:56,210 >> Entón, o que vimos hai pouco con Google, se eu facer clic sobre os elementos 274 00:12:56,210 --> 00:13:00,470 tab, este, con certeza, é a HTML, o linguaxe que compón esta páxina. 275 00:13:00,470 --> 00:13:01,890 Pero hai acios de outras cousas. 276 00:13:01,890 --> 00:13:02,640 Hai un logotipo. 277 00:13:02,640 --> 00:13:04,680 Hai quen azul-ISH iconas alí. 278 00:13:04,680 --> 00:13:07,610 E hai outros elementos aínda en a páxina que se pode 279 00:13:07,610 --> 00:13:08,610 arquivos separados. 280 00:13:08,610 --> 00:13:11,860 >> Entón, o que é agradable sobre un navegador é que ten en conta a linguaxe que vai 281 00:13:11,860 --> 00:13:14,690 para comezar a escribir, ou xa escrita comezou en I set 7, figuras 282 00:13:14,690 --> 00:13:17,970 de onde estes arquivos vivir e vai e agarra-los tamén. 283 00:13:17,970 --> 00:13:21,010 E eu non podo salientar o suficiente, mesmo aínda que algúns isto pode parecer un pouco 284 00:13:21,010 --> 00:13:24,820 arcano ou esmagadora, a primeira vista, aprender a programar 285 00:13:24,820 --> 00:13:28,500 aplicacións para a web, é inestimable para entender como estes 286 00:13:28,500 --> 00:13:29,410 pequenas ferramentas de traballo. 287 00:13:29,410 --> 00:13:33,830 Trátase de unha especie de como GDB como ferramentas, pero moito máis sinxelo, en definitiva, para usar - 288 00:13:33,830 --> 00:13:37,690 e realmente dálle os ollos para o que temos que chegou a tomar para concedida para 289 00:13:37,690 --> 00:13:39,170 algún tempo agora. 290 00:13:39,170 --> 00:13:42,270 >> Entón o que podemos facer agora con esta información? 291 00:13:42,270 --> 00:13:44,875 Ben, imos realmente un ollo Os conceptos subxacentes ás HTML. 292 00:13:44,875 --> 00:13:49,025 E imos adiar, como xa temos, para seccións esta semana, para o problema 293 00:13:49,025 --> 00:13:53,260 axuste 7 especificación, a algúns dos máis peculiaridades de linguas. 294 00:13:53,260 --> 00:13:57,020 Pero imos ver se non podemos pintar un imaxe do que ten que entender 295 00:13:57,020 --> 00:13:57,940 xeral aquí. 296 00:13:57,940 --> 00:14:02,280 >> Entón, HTML, HyperText Markup Language, non é unha linguaxe de programación. 297 00:14:02,280 --> 00:14:03,520 O que isto realmente significa? 298 00:14:03,520 --> 00:14:05,690 Así HTML coma este. 299 00:14:05,690 --> 00:14:06,810 E algúns de vós xa saben diso. 300 00:14:06,810 --> 00:14:08,130 Algúns de vós teñen benvida a facer iso hai algún tempo. 301 00:14:08,130 --> 00:14:10,270 Pero imos ver se a xente non pode encher algunhas lagoas ben. 302 00:14:10,270 --> 00:14:11,760 Entón, teña en conta algunhas cousas aquí. 303 00:14:11,760 --> 00:14:13,030 Un deles, é só texto. 304 00:14:13,030 --> 00:14:15,960 Así é como o código fonte en C, ou dalgún outro idioma. 305 00:14:15,960 --> 00:14:17,750 >> Teña en conta que non parece ser un estándar aquí. 306 00:14:17,750 --> 00:14:20,870 Non hai retroceso, pero técnicamente a retirada é só humano 307 00:14:20,870 --> 00:14:21,205 convención. 308 00:14:21,205 --> 00:14:24,980 A navegadores non importa se hai novo liñas e guías como vemos alí. 309 00:14:24,980 --> 00:14:27,410 Pero teña en conta que non hai simetrías aquí. 310 00:14:27,410 --> 00:14:31,180 Non é o que eu chamo, na parte superior do este ficheiro, a etiqueta aberto, ou o inicio 311 00:14:31,180 --> 00:14:33,030 etiqueta, chamado HTML. 312 00:14:33,030 --> 00:14:36,800 E entón, alí en baixo, perfectamente aliñados anterior, así como facemos con chaves, 313 00:14:36,800 --> 00:14:40,910 vemos apoio aberto, para adiante slash, HTML, preto do soporte. 314 00:14:40,910 --> 00:14:44,610 Entón ese é o correspondente preto tag, ou no fin tag, para aquela cousa. 315 00:14:44,610 --> 00:14:47,990 >> Xuntos, todo dentro do o chamado tag abrir e pechar tag 316 00:14:47,990 --> 00:14:50,440 compoñer o que imos chamar de un elemento. 317 00:14:50,440 --> 00:14:53,910 E nós imos ver, en só un momento, é Realmente me gusta dun nodo nunha árbore. 318 00:14:53,910 --> 00:14:57,470 Porque se pensar agora a retroceso que está implícito aquí, 319 00:14:57,470 --> 00:15:00,780 medio que ten, así, un avó no chamado HTML. 320 00:15:00,780 --> 00:15:06,870 Cantos fillos pode dicir, baseado nesta imaxe, o elemento HTML ten? 321 00:15:06,870 --> 00:15:07,720 >> Entón, probablemente dous. 322 00:15:07,720 --> 00:15:10,240 Un deles é o elemento principal, aparentemente. 323 00:15:10,240 --> 00:15:11,710 E é o elemento do corpo. 324 00:15:11,710 --> 00:15:12,555 E por dous fillos? 325 00:15:12,555 --> 00:15:15,840 Ben, eu son só un tipo de inferencia que se Eu teño unha marca de cabeza aberta e, a continuación, un 326 00:15:15,840 --> 00:15:17,820 tag cabeza estreita, que é un elemento. 327 00:15:17,820 --> 00:15:21,200 E entón, se hai outro corpo aberto etiqueta e unha etiqueta corpo preto, é como 328 00:15:21,200 --> 00:15:22,340 outro elemento. 329 00:15:22,340 --> 00:15:26,000 Así, no sentido de que se eu tipo de rotación a imaxe do seu lado, é 330 00:15:26,000 --> 00:15:29,910 como ter unha etiqueta HTML, e despois un tag cabeza, e entón unha etiqueta corpo, e 331 00:15:29,910 --> 00:15:34,290 logo algún texto, Ola mundo, oscilando fóra da propia etiqueta body. 332 00:15:34,290 --> 00:15:36,620 >> Así, podemos deseñar un cadro que pode ser así. 333 00:15:36,620 --> 00:15:38,020 As formas son arbitrarias. 334 00:15:38,020 --> 00:15:40,870 Pero teña en conta que eu usei unha especie de elipse na parte superior para representar o 335 00:15:40,870 --> 00:15:41,860 documento en si. 336 00:15:41,860 --> 00:15:45,980 Acontece aí fóra, pode ser outra cousa dentro dunha páxina web que eu non teño 337 00:15:45,980 --> 00:15:46,940 trazada aquí. 338 00:15:46,940 --> 00:15:50,800 Entón imos ata colgar o HTML fóra de nodo un chamado nodo documento. 339 00:15:50,800 --> 00:15:53,730 E entón temos cabeza e corpo e título, previo aviso, 340 00:15:53,730 --> 00:15:55,360 que está aninhado máis. 341 00:15:55,360 --> 00:15:58,650 Non me incomoda poñer liña adicional rupturas dentro da etiqueta title. 342 00:15:58,650 --> 00:16:02,710 El só parecía que estaba quedando un pouco detallado. 343 00:16:02,710 --> 00:16:07,000 Entón eu deixei el nunha liña alí, con Título aberta, Ola Mundo, próximo título. 344 00:16:07,000 --> 00:16:09,380 E entón temos algún texto pendendo fóra de aquí. 345 00:16:09,380 --> 00:16:12,200 >> Polo tanto, esta imaxe vai voltar nós cando mergullo Javascript. 346 00:16:12,200 --> 00:16:15,110 Ea comprensión de que, cando escribir HTML como esta, o que 347 00:16:15,110 --> 00:16:16,250 é un navegador facendo? 348 00:16:16,250 --> 00:16:19,290 Ben, nós non temos que preocuparse como está facendo iso, ou co que 349 00:16:19,290 --> 00:16:23,090 algoritmo, pero ao final do día, cando un navegador recibe HTML como 350 00:16:23,090 --> 00:16:27,510 que, de Facebook ou Google, el analiza é, por así dicir, le-lo, 351 00:16:27,510 --> 00:16:31,160 con algo como fread, de arriba abaixo, de esquerda a dereita, e como 352 00:16:31,160 --> 00:16:36,300 entende, oh, etiqueta aberto e peche etiqueta, el comeza a malloc, por así dicir, 353 00:16:36,300 --> 00:16:37,800 un nodo nunha árbore. 354 00:16:37,800 --> 00:16:41,130 E cando atopa, como xa implícita aquí co retroceso, un 355 00:16:41,130 --> 00:16:45,400 nó fillo, mallocs un nó para que e adxunto para que a árbore. 356 00:16:45,400 --> 00:16:49,150 >> Así, a estrutura de árbore, árbores binarias, árbores ternários, e árbores máis grandes, que 357 00:16:49,150 --> 00:16:53,380 que mirou para unha ou dúas semanas, o aviso que é o mesmo principio 358 00:16:53,380 --> 00:16:54,220 Voltar a nós. 359 00:16:54,220 --> 00:16:57,590 E quen aplicado, o que Chrome equipo fixo que, presuntamente, tiña 360 00:16:57,590 --> 00:17:00,800 para aplicar algún tipo de estrutura de árbore debaixo do capó. 361 00:17:00,800 --> 00:17:05,329 E iso en si é, probablemente, nun linguaxe como C, C + + ou, ou unha menor 362 00:17:05,329 --> 00:17:08,540 linguaxe de nivel que imos agora utilizar na parte superior da web. 363 00:17:08,540 --> 00:17:11,200 >> Entón, agora, quizais iso vai facer máis sentido. 364 00:17:11,200 --> 00:17:15,420 Tatuaxe real dun cara que pode arrepentir, finalmente, un pouco. 365 00:17:15,420 --> 00:17:17,359 OK, todo ben, entón unha chea de humor web. 366 00:17:17,359 --> 00:17:18,599 Non está realmente a suceder sobre tan ben hoxe. 367 00:17:18,599 --> 00:17:19,560 Entón, imos seguir adiante. 368 00:17:19,560 --> 00:17:20,180 Todo ben. 369 00:17:20,180 --> 00:17:22,760 >> Entón, imos dar un ollo agora nalgúns exemplos. 370 00:17:22,760 --> 00:17:24,660 O máis sinxelo posible cousa pode ser iso. 371 00:17:24,660 --> 00:17:29,170 Eu estou indo a ir adiante e abrir en gedit un arquivo chamado hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 E aquí dentro, eu vou rápido só iso, printf, citar 374 00:17:36,330 --> 00:17:38,590 unquote, "Ola mundo". 375 00:17:38,590 --> 00:17:42,460 >> Así, o previo aviso, e eu vou facer a miña barra invertida n, Non teño preocupou en declarar principal. 376 00:17:42,460 --> 00:17:45,310 Acontece que, en php, e unha morea de idiomas, non precisa de un principal 377 00:17:45,310 --> 00:17:46,090 función de per se. 378 00:17:46,090 --> 00:17:47,720 Pode simplemente comezar a escribir seu programa. 379 00:17:47,720 --> 00:17:51,210 Agora, cando gardar o ficheiro, repare que eu son terá que facer o seguinte. 380 00:17:51,210 --> 00:17:55,360 Eu non vou usar make, e eu non son vai utilizar bumbum porque PHP, a diferenza 381 00:17:55,360 --> 00:17:57,400 C, non é unha linguaxe compilada. 382 00:17:57,400 --> 00:18:01,400 É o que se chama de interpretación linguaxe, o que significa que executa-lo 383 00:18:01,400 --> 00:18:04,650 como unha entrada a través de outro programa chamado un intérprete. 384 00:18:04,650 --> 00:18:08,150 E este programa le-lo, de arriba abaixo, de esquerda a dereita, e forma 385 00:18:08,150 --> 00:18:09,290 o que diga a el para facer. 386 00:18:09,290 --> 00:18:12,920 >> Polo tanto, neste caso aquí eu teño unha liña que di printf. 387 00:18:12,920 --> 00:18:17,990 Entón, cando executar este código fonte, ola.php, a pesar dun programa que 388 00:18:17,990 --> 00:18:22,830 ocorre, cómodo, a ser chamado de PHP, este programa PHP vai ler 389 00:18:22,830 --> 00:18:26,120 este ficheiro, de arriba a abaixo, de esquerda a dereita, e vai facer o que me 390 00:18:26,120 --> 00:18:30,110 diga a el para facer - a execución de código, e se el non recoñece algo, só 391 00:18:30,110 --> 00:18:31,320 cuspídela. 392 00:18:31,320 --> 00:18:34,940 Entón, eu estou indo a ir adiante e executar PHP de hello.php. 393 00:18:34,940 --> 00:18:37,110 Intro. 394 00:18:37,110 --> 00:18:39,690 >> E iso non é moito o que eu pretendía. 395 00:18:39,690 --> 00:18:40,530 Ben, por que isto? 396 00:18:40,530 --> 00:18:43,910 Ben, PHP é unha linguaxe que é realmente deseñado para ser moi 397 00:18:43,910 --> 00:18:46,150 confúndese coa web. 398 00:18:46,150 --> 00:18:50,460 Ao facer páxinas web con esta linguaxe PHP, como veremos en breve, imos 399 00:18:50,460 --> 00:18:54,560 quero facer algo parecido con impresión as liñas como esta. 400 00:18:54,560 --> 00:18:55,940 >> Entón eu vou facelo. 401 00:18:55,940 --> 00:19:00,810 Abra o soporte, punto de interrogación, PHP, e agora eu só vou recuar só para manter 402 00:19:00,810 --> 00:19:01,960 cousas boas. 403 00:19:01,960 --> 00:19:04,910 E agora eu vou facer unha pregunta marcar preto do soporte. 404 00:19:04,910 --> 00:19:06,270 Polo tanto, hai un pouco de asimetría aquí. 405 00:19:06,270 --> 00:19:07,490 Non fai iso. 406 00:19:07,490 --> 00:19:10,530 E non fai un corte, de xeito PHP é un pouco diferente. 407 00:19:10,530 --> 00:19:14,610 >> Pero agora, se eu reprise deste programa, PHP hello.php, agora 408 00:19:14,610 --> 00:19:16,090 realmente obter Ola Mundo. 409 00:19:16,090 --> 00:19:17,750 E nós imos ver por que iso é valioso. 410 00:19:17,750 --> 00:19:20,960 Un deles, que me permite especificar, Super explicitamente, trátase 411 00:19:20,960 --> 00:19:22,480 código, realizar iso. 412 00:19:22,480 --> 00:19:25,480 E iso é realmente o que estas etiquetas especiais implica aquí. 413 00:19:25,480 --> 00:19:30,330 >> Pero iso tamén significa que, se eu só fago algo así como o meu obxectivo aquí, que 414 00:19:30,330 --> 00:19:34,000 quere dicir que, literalmente, que só ser impresos sen necesidade de 415 00:19:34,000 --> 00:19:36,850 realmente chamar printf, ou impresión, ou calquera outra función similar. 416 00:19:36,850 --> 00:19:39,445 Entón, imos volver ao que en só un momento. 417 00:19:39,445 --> 00:19:40,470 >> En primeiro lugar, imos facelo. 418 00:19:40,470 --> 00:19:43,950 Dentro do aparello, temos unha directorio chamado VHosts, para o Virtual 419 00:19:43,950 --> 00:19:47,000 Exércitos, cortar servidor local, cortar público. 420 00:19:47,000 --> 00:19:50,240 Entón é un pouco prolixo, pero longa historia En resumo, o aparello non foi deseñado 421 00:19:50,240 --> 00:19:53,770 só para apoiar C. Tamén é deseñado para soportar PHP. 422 00:19:53,770 --> 00:19:57,440 Pero tamén está deseñado para ser un web servidor, e un servidor de base de datos. 423 00:19:57,440 --> 00:20:00,230 E el está deseñado, e verdadeiramente configurado, para ser reminiscente de ningunha 424 00:20:00,230 --> 00:20:04,230 comercial da empresa de hospedaxe que pode pagar R $ 5 por mes para, 425 00:20:04,230 --> 00:20:05,040 100 dólares por mes para. 426 00:20:05,040 --> 00:20:08,200 Sexa cal sexa o servizo é, está configurado sexa moi semellante a un 427 00:20:08,200 --> 00:20:10,170 servidor de produción no mundo real. 428 00:20:10,170 --> 00:20:13,485 >> E o que significa isto é que a execución en o aparello é un software de servidor web. 429 00:20:13,485 --> 00:20:15,060 Ela pasa a ser chamado de Apache. 430 00:20:15,060 --> 00:20:17,790 É só libre e de código aberto, e moi popular. 431 00:20:17,790 --> 00:20:23,260 E nós configuran Apache saber que se eu visitar unha determinada dirección, con 432 00:20:23,260 --> 00:20:28,060 Chrome ou calquera navegador dentro do aparello, a mirar para este directorio 433 00:20:28,060 --> 00:20:31,030 para os arquivos que o usuario está pedindo. 434 00:20:31,030 --> 00:20:32,790 >> Noutras palabras, déixeme dalle faga iso. 435 00:20:32,790 --> 00:20:36,890 Dentro do meu directorio público, vou para ir adiante e crear un ficheiro 436 00:20:36,890 --> 00:20:39,580 chamado index.html. 437 00:20:39,580 --> 00:20:41,000 Tanto me dá a guía aquí. 438 00:20:41,000 --> 00:20:44,210 E eu estou indo a ir moi rápido e dalle bater a fóra 439 00:20:44,210 --> 00:20:45,010 este programa. 440 00:20:45,010 --> 00:20:48,410 DOCTYPE HTML, o que, de momento, só supoñer que ten que escribir. 441 00:20:48,410 --> 00:20:53,490 É só unha etiqueta arcano, que non é realmente unha etiqueta HTML, que especifica que 442 00:20:53,490 --> 00:20:55,050 aquí vén un pouco de HTML. 443 00:20:55,050 --> 00:20:57,400 >> Eu estou indo a ir adiante e volver a crear o que vimos hai pouco. 444 00:20:57,400 --> 00:20:58,650 Aquí está a cabeza da páxina. 445 00:20:58,650 --> 00:21:01,170 Dentro da cabeza era o - 446 00:21:01,170 --> 00:21:01,890 así título. 447 00:21:01,890 --> 00:21:04,340 Entón, imos dicir Ola, mundo. 448 00:21:04,340 --> 00:21:06,570 E entón para acá foi a marca do corpo. 449 00:21:06,570 --> 00:21:08,580 Déixeme pechar a etiqueta body. 450 00:21:08,580 --> 00:21:12,280 E entón, aquí eu tamén vou dicir, só para maior claridade, Ola mundo. 451 00:21:12,280 --> 00:21:14,770 >> Polo tanto, esta é, sen dúbida, o máis simple posíbel páxina web vostede 452 00:21:14,770 --> 00:21:15,770 pode facelo é válido. 453 00:21:15,770 --> 00:21:17,030 É sintaticamente válido. 454 00:21:17,030 --> 00:21:18,620 Todo o que está aberta é pechada. 455 00:21:18,620 --> 00:21:20,910 Todo está ben en estilo e recuado. 456 00:21:20,910 --> 00:21:23,600 Entón, imos ver agora como eu Pode acceder a este ficheiro. 457 00:21:23,600 --> 00:21:25,540 >> Ben, deixe-me ir para Chrome aquí. 458 00:21:25,540 --> 00:21:35,050 E deixe-me ir http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 Entón o que é servidor local? 460 00:21:36,200 --> 00:21:39,400 Así, a maioría de calquera ordenador do mundo, Linux, Mac OS, Windows, ten un apelido 461 00:21:39,400 --> 00:21:40,680 chamado servidor local. 462 00:21:40,680 --> 00:21:42,900 Entón, se quere falar para o seu propio ordenador - 463 00:21:42,900 --> 00:21:45,140 aínda que, estrañamente reflexivamente - 464 00:21:45,140 --> 00:21:47,080 se chama servidor local. 465 00:21:47,080 --> 00:21:50,390 Non importa o que o seu ordenador actual é chamada, sexa MacBook de David 466 00:21:50,390 --> 00:21:52,490 Aire, ou algo máis detallado coma este. 467 00:21:52,490 --> 00:21:57,760 >> Polo tanto, este URL é, ao parecer, vai utilizar o HTTP para falar co servidor local, 468 00:21:57,760 --> 00:22:00,800 no mesmo ordenador, o dispositivo, e que vai pedir, simplemente dar unha 469 00:22:00,800 --> 00:22:02,570 creo, que arquivo? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Así, o aparello foi configurado no avanzar saber que, se eu estou pedindo 472 00:22:08,650 --> 00:22:13,460 a algo como index.html, busque nunha carpeta chamada VHosts, nun 473 00:22:13,460 --> 00:22:17,950 cartafol chamado localhost, nunha carpeta aí chamados público. 474 00:22:17,950 --> 00:22:20,400 É aí que todo o meu público ficheiros van ser. 475 00:22:20,400 --> 00:22:22,610 Entón, eu estou indo agora prema Intro. 476 00:22:22,610 --> 00:22:27,100 >> E, caramba, non é que prohibido mensaxe, tamén coñecido como 403, o 477 00:22:27,100 --> 00:22:28,490 código numérico para iso. 478 00:22:28,490 --> 00:22:30,130 Entón o que está mal aquí? 479 00:22:30,130 --> 00:22:33,210 Ben, non é suficiente só para poñer o ficheiro dentro da miña carpeta. 480 00:22:33,210 --> 00:22:35,790 Eu teño realmente facer o seguinte. 481 00:22:35,790 --> 00:22:40,210 >> Déixeme ir ao meu directorio VHosts, en localhost, en público, e que 482 00:22:40,210 --> 00:22:41,680 facerme ls trazo l. 483 00:22:41,680 --> 00:22:44,510 E hai algunhas outras cousas aquí para fins de hoxe. 484 00:22:44,510 --> 00:22:50,540 Mais repare no lado esquerdo, xunto para index.html vemos só un RW. 485 00:22:50,540 --> 00:22:53,560 E, no pasado, o que ten RW representaba? 486 00:22:53,560 --> 00:22:54,240 >> Só ten que ler ou escribir. 487 00:22:54,240 --> 00:22:58,000 O feito de que el di rw á esquerda Significa que, o propietario deste arquivo, pode 488 00:22:58,000 --> 00:22:59,020 ler ou escribir. 489 00:22:59,020 --> 00:23:05,010 Pero eu teño que todas as persoas no mundo ler isto, pero non escribilo. 490 00:23:05,010 --> 00:23:09,650 Entón, eu vou cambiar o modo de arquivo, chmod, todo para dar máis r 491 00:23:09,650 --> 00:23:13,910 todo permiso de lectura no arquivo chamado index.html. 492 00:23:13,910 --> 00:23:18,040 >> E se eu agora redigitar ls trazo l, teña en conta que, por aquí, un pouco máis 493 00:23:18,040 --> 00:23:19,160 R da xurdiron. 494 00:23:19,160 --> 00:23:21,090 E, de momento, a especificación vai en máis detalle. 495 00:23:21,090 --> 00:23:24,450 Para P set 7, que quere dicir que todos agora pode ler este ficheiro. 496 00:23:24,450 --> 00:23:27,790 Se eu atrás para o meu navegador agora e actualizar, listo. 497 00:23:27,790 --> 00:23:28,750 Ola, mundo. 498 00:23:28,750 --> 00:23:32,260 >> E podo incluso abrir miñas ferramentas de Chrome para ver, así como con Google e 499 00:23:32,260 --> 00:23:34,590 Facebook que non é o meu HTML, formato algo 500 00:23:34,590 --> 00:23:35,930 diferente e cores. 501 00:23:35,930 --> 00:23:40,450 Se eu vaia á pestana de rede e recargar a páxina, teña en conta que hai a chegar 502 00:23:40,450 --> 00:23:42,900 solicitar que Chrome é o envío de ao dispositivo. 503 00:23:42,900 --> 00:23:46,020 Hai o 200 para que arquivo específico. 504 00:23:46,020 --> 00:23:49,340 Entón, en suma, é así que todos estes varias pezas están encaixando. 505 00:23:49,340 --> 00:23:53,530 O que pasa é que o servidor web estamos usando agora non é remota, 506 00:23:53,530 --> 00:23:54,210 como Facebook. 507 00:23:54,210 --> 00:23:58,330 É literalmente o mesmo ordenador, o que é perfectamente Aceptar. 508 00:23:58,330 --> 00:24:00,590 >> Entón, o que máis podemos facer nunha páxina web? 509 00:24:00,590 --> 00:24:03,110 Ben, só, imos brisa través un par destas cousas. 510 00:24:03,110 --> 00:24:07,860 Pero déixeme ir adiante e reabrir Gedit con index.html. 511 00:24:07,860 --> 00:24:13,980 E déixeme ir adiante e dicir Hola CS50, salve este ficheiro, volva para o 512 00:24:13,980 --> 00:24:16,260 navegador, moi por baixo do esperado cambio. 513 00:24:16,260 --> 00:24:19,130 >> Pero o que se quere, de feito, obrigar a algo agora? 514 00:24:19,130 --> 00:24:23,480 Así, verifícase que podemos ter a ligazóns HTML que son só marcas 515 00:24:23,480 --> 00:24:24,140 si. 516 00:24:24,140 --> 00:24:27,320 Ela pasa a ser chamado tag ancora. a href igual 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net seguinte cita, preto do soporte. 518 00:24:33,190 --> 00:24:35,230 E agora imos ver o que resto ven xunto. 519 00:24:35,230 --> 00:24:36,500 >> Abrín a etiqueta. 520 00:24:36,500 --> 00:24:38,990 Agora eu teño que darlle unha frase como CS50. 521 00:24:38,990 --> 00:24:40,600 Déixeme pechar a etiqueta. 522 00:24:40,600 --> 00:24:42,010 E conta algunhas cousas. 523 00:24:42,010 --> 00:24:45,270 Aínda que non hai esa cousa enigmática aquí, eu non teño repetido cando 524 00:24:45,270 --> 00:24:46,010 pechar a etiqueta. 525 00:24:46,010 --> 00:24:48,230 Acaba de pechar a etiqueta co seu nome só. 526 00:24:48,230 --> 00:24:50,940 E iso é o que se coñece como un atributo cun valor. 527 00:24:50,940 --> 00:24:56,070 Atributos só modificar o comportamento dalgunha etiqueta dentro dunha páxina. 528 00:24:56,070 --> 00:24:59,150 >> Polo tanto, esta é a especificación de que a amiga referencia o xeito elegante de dicir o 529 00:24:59,150 --> 00:25:03,660 URL para esta áncora con esta ligazón, debe ser CS50.net. 530 00:25:03,660 --> 00:25:07,440 E o texto que queremos mostrar a usuario non é que URL cru, senón 531 00:25:07,440 --> 00:25:08,730 a palabra CS50. 532 00:25:08,730 --> 00:25:13,710 >> Entón, se agora eu actualizar, déixeme zoom in para claridade, déixeme volver cargar a páxina, 533 00:25:13,710 --> 00:25:16,460 ter en conta que temos esa vella escola subliñado azul ligazón. 534 00:25:16,460 --> 00:25:20,000 E se eu pasar o rato sobre el, e que vai ser difícil de ver, na parte inferior esquerda 535 00:25:20,000 --> 00:25:23,690 esquina da pantalla, teña en conta que di que a URL á que 536 00:25:23,690 --> 00:25:24,430 Eu estou indo a ir. 537 00:25:24,430 --> 00:25:27,940 E se eu facer clic alí, listo, agora eu estou facendo páxinas web. 538 00:25:27,940 --> 00:25:30,140 E nós levounos á páxina de inicio. 539 00:25:30,140 --> 00:25:32,670 >> Pero teña en conta que potencia este nos ofrece. 540 00:25:32,670 --> 00:25:34,890 A seguridade é moi en voga nos días de hoxe. 541 00:25:34,890 --> 00:25:41,210 E se eu, no canto dicir algo así como iso, e eu en vez de ir para, por exemplo, imos 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 Volva a esta páxina. 545 00:25:46,360 --> 00:25:50,180 >> OK, así que ter en conta que aínda parece que estou vai CS50, a menos que un ollo astuto 546 00:25:50,180 --> 00:25:51,560 Vai notar que eu estou indo a CS50 falso. 547 00:25:51,560 --> 00:25:54,550 Estou supoñendo que este dominio non se toma. 548 00:25:54,550 --> 00:25:55,960 OK, entón non está dispoñible. 549 00:25:55,960 --> 00:25:56,600 Entón, iso é bo. 550 00:25:56,600 --> 00:25:57,900 Ninguén realmente ten ese dominio. 551 00:25:57,900 --> 00:26:00,380 >> Pero imos ser un pouco máis malicioso porque ese é o tipo de estúpido. 552 00:26:00,380 --> 00:26:02,240 E se a xente cambiar isto para Paypal. 553 00:26:02,240 --> 00:26:09,960 E se chamamos este tipo, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 calquera que sexa o seu dominio é. 555 00:26:12,070 --> 00:26:13,700 Isto probablemente existe. 556 00:26:13,700 --> 00:26:16,260 Entón, agora déixeme volver cargar a páxina. 557 00:26:16,260 --> 00:26:22,890 E aquí temos unha especie de phishing ataque, P-H-I-S-H-I-N-L, que é o 558 00:26:22,890 --> 00:26:26,760 palabra parvo xa para un ataque que intenta información peixe, ou, mellor 559 00:26:26,760 --> 00:26:30,450 aínda, diñeiro, das persoas, enganando los para proporcionar información que 560 00:26:30,450 --> 00:26:31,990 eles non poderían facer. 561 00:26:31,990 --> 00:26:33,500 Isto parece totalmente lexítimo, non? 562 00:26:33,500 --> 00:26:34,930 Debo ter unha ligazón aquí para Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 Para ser xusto, se eu sexados-lo con algún gráficos, podemos facela 565 00:26:40,430 --> 00:26:41,310 máis como PayPal 566 00:26:41,310 --> 00:26:41,510 Non? 567 00:26:41,510 --> 00:26:43,815 Por que eu podería, como un aparte, Podería ir Paypal.com. 568 00:26:43,815 --> 00:26:47,110 E acabamos de ver como podo ver todo o seu HTML. 569 00:26:47,110 --> 00:26:50,560 Podería simplemente copia-lo e recrear a estética do Paypal en vez de ir 570 00:26:50,560 --> 00:26:51,490 vella escola aquí. 571 00:26:51,490 --> 00:26:55,010 Mais repare, claro, e é un pouco pequeno, aínda así, só no fondo 572 00:26:55,010 --> 00:26:59,190 esquina esquerda, como nun punto 10 fonte, ve o que está a URL 573 00:26:59,190 --> 00:27:01,310 realmente vai ser levado a. 574 00:27:01,310 --> 00:27:06,580 >> E por iso, se xa quedou spam dicindo vai adiante, e vostede conta 575 00:27:06,580 --> 00:27:07,420 foi comprometida. 576 00:27:07,420 --> 00:27:10,615 Por favor, prema nesta ligazón e déixenos saber o contrasinal para que poidamos garantir que é 577 00:27:10,615 --> 00:27:13,010 ti, nunca máis faga iso. 578 00:27:13,010 --> 00:27:14,180 Estas cousas deben ir sen dicir. 579 00:27:14,180 --> 00:27:17,670 Pero é marabillosas divertido, e tráxico, como todos os anos, este parece 580 00:27:17,670 --> 00:27:19,660 acontecer con algúns non nula número de persoas. 581 00:27:19,660 --> 00:27:21,400 >> E esa é a beleza de ataques de phishing. 582 00:27:21,400 --> 00:27:23,160 Pode enviar un millón de correos electrónicos. 583 00:27:23,160 --> 00:27:27,720 E aínda que 0,01% das persoas que realmente prema no Paypal e darlle o 584 00:27:27,720 --> 00:27:31,040 contrasinal, que aínda é un número distinto de cero de persoas que acabou dando 585 00:27:31,040 --> 00:27:32,200 lle o seu diñeiro. 586 00:27:32,200 --> 00:27:36,170 E envío de correos electrónicos, por suposto, é moi fácil e, esencialmente, libre 587 00:27:36,170 --> 00:27:36,970 nos días de hoxe. 588 00:27:36,970 --> 00:27:40,410 >> Así, longa historia curta, marabillosas fermosa idea, non? 589 00:27:40,410 --> 00:27:44,620 Anos, esta foi a primeira web, o que permite unha rede de 590 00:27:44,620 --> 00:27:46,330 hyperlinks entre recursos. 591 00:27:46,330 --> 00:27:49,520 Pero tan axiña podería ser utilizado para fins de enfermos. 592 00:27:49,520 --> 00:27:54,100 Correo electrónico, basta dicir que, estes días, xa HTML embutida dentro. 593 00:27:54,100 --> 00:27:55,410 >> Ben, deixe-me só unha cousa. 594 00:27:55,410 --> 00:27:58,640 E imos adiar en gran parte á sección conxunto de problemas de sete para permitir que 595 00:27:58,640 --> 00:28:00,000 explotar os detalles. 596 00:28:00,000 --> 00:28:01,990 Pero déixeme ir adiante e facer algunhas cousas aquí. 597 00:28:01,990 --> 00:28:04,840 Eu estou indo a ir e declarar o que se chama un div ou 598 00:28:04,840 --> 00:28:06,080 división, da páxina. 599 00:28:06,080 --> 00:28:07,770 Déixeme pechar a etiqueta div. 600 00:28:07,770 --> 00:28:11,460 >> E eu vou dicir-se aquí parte superior da páxina. 601 00:28:11,460 --> 00:28:14,940 E, a continuación, por debaixo deste, eu vou facer algo así como outra div, pecha esta 602 00:28:14,940 --> 00:28:17,800 etiqueta, e facer parte inferior da páxina. 603 00:28:17,800 --> 00:28:18,840 E imos salvalo. 604 00:28:18,840 --> 00:28:21,040 >> Entón agora imos voltar para o meu arquivo. 605 00:28:21,040 --> 00:28:22,120 Moi por baixo do esperado. 606 00:28:22,120 --> 00:28:25,520 Pero o que se emprega para a división, debaixo do capó, e é que é certo 607 00:28:25,520 --> 00:28:26,920 dun elemento estrutural agradable. 608 00:28:26,920 --> 00:28:30,300 Non ten ningún estética medida en podemos ver, ademais de parecer 609 00:28:30,300 --> 00:28:31,890 poñer as cousas en novas liñas. 610 00:28:31,890 --> 00:28:36,290 >> Pero aviso, como un aparte, só bater Escriba non corte-lo en HTML como 611 00:28:36,290 --> 00:28:39,840 non en C. Pode pensar que isto é vai poñer unha gran lagoa legal entre 612 00:28:39,840 --> 00:28:41,300 a parte superior e na parte inferior da páxina. 613 00:28:41,300 --> 00:28:43,420 Pero é ignorado. 614 00:28:43,420 --> 00:28:48,040 O espazo en branco é esencialmente ignorada en excepto o primeiro páxinas 615 00:28:48,040 --> 00:28:51,530 personaxe barra de espazo, ou retorno de coche que bateu no teclado. 616 00:28:51,530 --> 00:28:55,370 Se desexa máis saltos de liña, ten que indicar-lo só. 617 00:28:55,370 --> 00:28:59,080 >> Entón, eu vou facer algunhas cousas aquí para dar a coñecer o que está pasando. 618 00:28:59,080 --> 00:29:02,700 Eu estou indo a engadir un atributo que existe e, de novo, o xeito como aprende 619 00:29:02,700 --> 00:29:07,110 que atribúe existe, o que hai etiquetas Realmente, é referencia en liña. 620 00:29:07,110 --> 00:29:09,750 HTML é o tipo de linguaxe - é non é unha linguaxe de programación. 621 00:29:09,750 --> 00:29:12,460 É unha linguaxe de reserva - que despois dun boa media hora, quizais, dunha hora con 622 00:29:12,460 --> 00:29:15,930 tanto, certamente vai entender, máis probablemente, a idea básica. 623 00:29:15,930 --> 00:29:20,350 E, a continuación, unha procura en Google para lonxe é todo as posíbeis etiquetas que pode ser 624 00:29:20,350 --> 00:29:21,170 interesado polgadas 625 00:29:21,170 --> 00:29:24,290 E por a especificación, que é moi benvida e incentivadas aquí. 626 00:29:24,290 --> 00:29:26,120 >> Entón, agora déixeme ir adiante e facer algo así. 627 00:29:26,120 --> 00:29:28,690 Background-color. 628 00:29:28,690 --> 00:29:32,060 E agora, eu vou facer algo como vermello, punto e coma. 629 00:29:32,060 --> 00:29:33,970 E pode facelo na algunhas formas diferentes. 630 00:29:33,970 --> 00:29:36,770 Eu son só un tipo de escriba-lo como super explicitamente como sexa posible. 631 00:29:36,770 --> 00:29:41,960 >> Pero parece que este valor é aquí que se chama CSS, Cascading Style 632 00:29:41,960 --> 00:29:43,700 Follas, que é outra linguaxe completamente. 633 00:29:43,700 --> 00:29:46,770 CSS non ten nada que ver coa abrir etiquetas e etiquetas íntimos. 634 00:29:46,770 --> 00:29:48,230 Ten a ver coas propiedades. 635 00:29:48,230 --> 00:29:52,660 >> E as propiedades son de valor simplemente clave pares, o que supón só unha palabra, 636 00:29:52,660 --> 00:29:54,680 colon e logo, outra palabra. 637 00:29:54,680 --> 00:29:57,940 E se ten varios queridos, ou só aquí, pode remata-la cun 638 00:29:57,940 --> 00:29:59,390 punto e coma, só para maior claridade. 639 00:29:59,390 --> 00:30:01,370 Pero iso tamén vai funcionar aquí. 640 00:30:01,370 --> 00:30:02,500 >> Agora, o que iso vai facer? 641 00:30:02,500 --> 00:30:03,610 Probablemente pode adiviñar. 642 00:30:03,610 --> 00:30:05,930 Déixeme ir adiante e volva a páxina. 643 00:30:05,930 --> 00:30:07,300 E agora está realmente ben benvida. 644 00:30:07,300 --> 00:30:09,150 Entón parte superior da miña páxina é o vermello. 645 00:30:09,150 --> 00:30:12,380 Pero o que é importante aquí é que, eu mencionen antes, que lle dá div 646 00:30:12,380 --> 00:30:13,220 unha división da páxina. 647 00:30:13,220 --> 00:30:14,410 E iso é realmente o que fai. 648 00:30:14,410 --> 00:30:17,920 É esencialmente divide a páxina en un rectángulo que pode, entón, 649 00:30:17,920 --> 00:30:18,720 manipular. 650 00:30:18,720 --> 00:30:22,330 >> E esa noción de rectángulos é unha especie de convincente no que, se pensar 651 00:30:22,330 --> 00:30:26,410 máis calquera sitio, hai probablemente dalgunha estrutura que lle. 652 00:30:26,410 --> 00:30:29,620 A maioría de vostedes xa debe ter visto raramente Páxina principal de Facebook, se está dentro do sistema 653 00:30:29,620 --> 00:30:30,440 en todo o tempo. 654 00:30:30,440 --> 00:30:33,920 >> Pero na páxina principal de Facebook, hai algún tipo de div, ao longo da parte superior. 655 00:30:33,920 --> 00:30:36,140 E isto pode non ser tan sinxelo como unha div, pero non hai unha 656 00:30:36,140 --> 00:30:37,560 alá da rexión rectangular. 657 00:30:37,560 --> 00:30:40,290 O resto da páxina é como unha enorme div, como un gran 658 00:30:40,290 --> 00:30:41,910 maior rexión rectangular. 659 00:30:41,910 --> 00:30:44,540 Así, longa historia curta, só por ter eses pequenos bloques de construción, os 660 00:30:44,540 --> 00:30:49,250 capacidade de cousas modelo como rectángulos, se ancha ou estreita, tamén se pode 661 00:30:49,250 --> 00:30:53,680 facer columnas potencialmente, permite que lay out páxinas, en realidade, pero 662 00:30:53,680 --> 00:30:54,100 desexa. 663 00:30:54,100 --> 00:30:56,170 Nós realmente estamos só rabuñando a superficie aquí. 664 00:30:56,170 --> 00:30:59,820 >> En realidade, se eu fai un outro, déixeme ir adiante e facer estilo, 665 00:30:59,820 --> 00:31:05,410 background-color, imos facer algo como azul, multimedia próximos. 666 00:31:05,410 --> 00:31:06,620 Imos actualizar esta. 667 00:31:06,620 --> 00:31:08,260 Entón, agora está quedando aínda máis fea. 668 00:31:08,260 --> 00:31:11,520 Pero agora podo tipo de show off miña P establecer cinco habilidades, non? 669 00:31:11,520 --> 00:31:12,690 Vermello. 670 00:31:12,690 --> 00:31:15,640 Isto me lembra de RGB, Vermello Triplica verde e azul. 671 00:31:15,640 --> 00:31:19,330 Pois ben, ao parecer en programación web, ou deseño web, o que é iso, temos 672 00:31:19,330 --> 00:31:21,650 aínda non programou nada por si só, pode realmente 673 00:31:21,650 --> 00:31:22,880 ten o código hexadecimal. 674 00:31:22,880 --> 00:31:26,480 Entón, algo algo, algo algo, algo algo. 675 00:31:26,480 --> 00:31:30,650 Entón pode ter seis hexadecimal caracteres, ou tres, nalgúns casos, 676 00:31:30,650 --> 00:31:33,480 e cada un deses puntos de interrogación Ten que haber unha díxitos hexadecimais 677 00:31:33,480 --> 00:31:34,985 cero a f. 678 00:31:34,985 --> 00:31:41,000 >> Se eu queira ter unha morea de vermello, e ningún verde, e non azul, que é a 679 00:31:41,000 --> 00:31:43,740 contrario cero cando a usar hexadecimal? 680 00:31:43,740 --> 00:31:44,480 É f. 681 00:31:44,480 --> 00:31:51,130 Entón eu podo facer ff, cero cero, cero cero, gardar este, e agora vén aquí. 682 00:31:51,130 --> 00:31:52,700 E eu realmente non ver un cambio. 683 00:31:52,700 --> 00:31:56,230 Entón cita unquote "red" é, ao parecer, sinónimo para todo vermello, 684 00:31:56,230 --> 00:31:57,610 ningún verde, non azul. 685 00:31:57,610 --> 00:31:59,960 Mentres tanto, imos cambiar deliberadamente este ser algo 686 00:31:59,960 --> 00:32:01,210 aleatoria, como ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Imos ver o que é. 689 00:32:05,860 --> 00:32:08,530 É realmente un bo azul, en realidade, azul bebé. 690 00:32:08,530 --> 00:32:11,820 Todo ben, entón estes son só agora combinacións de máis ou menos aleatorias 691 00:32:11,820 --> 00:32:12,210 caracteres. 692 00:32:12,210 --> 00:32:13,410 Polo tanto, non imos quedar atascados aquí. 693 00:32:13,410 --> 00:32:15,930 Pero, de novo, iso fala coa precisión que pode comezar a 694 00:32:15,930 --> 00:32:19,090 aplicar - aínda se está moi resaltado pola estética. 695 00:32:19,090 --> 00:32:21,750 En realidade, se realmente quere ser impresionado, déixeme ir adiante e cambiar 696 00:32:21,750 --> 00:32:23,500 o tamaño da fonte, por exemplo. 697 00:32:23,500 --> 00:32:25,960 E teña en conta o punto e coma, que Cómpre aí. 698 00:32:25,960 --> 00:32:29,570 >> Tamaño de fonte, que se pode simplemente ridículo aquí, 96 puntos. 699 00:32:29,570 --> 00:32:31,280 Salva isto. 700 00:32:31,280 --> 00:32:33,670 Guau, iso é un tamaño de fonte grande. 701 00:32:33,670 --> 00:32:35,490 Todo ben, por iso é moi fácil. 702 00:32:35,490 --> 00:32:38,260 E, de feito, está esencialmente a ver primeira páxina web que fixen 703 00:32:38,260 --> 00:32:40,060 anos, cando por primeira vez Aprendín isto. 704 00:32:40,060 --> 00:32:42,190 É moi fácil de facer moito cousas horribles rapidamente. 705 00:32:42,190 --> 00:32:46,115 >> E se está familiarizado co Wayback Máquina en archive.org, ten 706 00:32:46,115 --> 00:32:48,210 pode atopar toda a miña hediondo páxinas web de graduación. 707 00:32:48,210 --> 00:32:50,090 Un tiña Caco, o Sapo na fronte. 708 00:32:50,090 --> 00:32:53,150 Eu pasei por unha fase na que eu penso foi legal para levar o pano de fondo 709 00:32:53,150 --> 00:32:56,320 unha cortina vermella, cando eu aprendín como crear imaxes de baldosas de novo, e de novo, e 710 00:32:56,320 --> 00:32:59,540 de novo, para encher unha páxina con unha gran cortina vermella brega. 711 00:32:59,540 --> 00:33:03,120 E entón, enriba diso, foi unha icona que tiña que premer para entrar na miña casa 712 00:33:03,120 --> 00:33:04,960 páxina porque era moi en voga. 713 00:33:04,960 --> 00:33:08,870 >> E entón o meu primeiro programa que eu xa escribín Non era o PHP, pero nunha linguaxe 714 00:33:08,870 --> 00:33:12,260 chamada Perla, escribiu un libro de visitas, que é unha cousa moi legal que a 715 00:33:12,260 --> 00:33:14,250 Moitas persoas esperan que ter nunha páxina principal. 716 00:33:14,250 --> 00:33:17,510 Cando chegar á páxina, eles queren que para entrar e dicir quen é vostede, 717 00:33:17,510 --> 00:33:18,720 e por que está alí. 718 00:33:18,720 --> 00:33:21,320 Iso é moi 1990 deseño web estilo. 719 00:33:21,320 --> 00:33:24,130 >> Pero a día de hoxe, con certeza, temos chegar moito máis lonxe. 720 00:33:24,130 --> 00:33:27,560 E vai ver, na sección, e mesmo o problema de definir sete, por 721 00:33:27,560 --> 00:33:31,570 alavancar bibliotecas estes días, é moito máis fácil de facer 722 00:33:31,570 --> 00:33:33,400 cousas máis bonitas rapidamente. 723 00:33:33,400 --> 00:33:36,550 Realmente aquí, estamos só rabuñando a superficie do que se pode facer 724 00:33:36,550 --> 00:33:37,400 estilisticamente. 725 00:33:37,400 --> 00:33:41,660 >> E, de feito, xa, déixeme salientar que isto xa está quedando feo, non 726 00:33:41,660 --> 00:33:46,030 só estéticamente, pero en termos do estilo do meu código, ou o 727 00:33:46,030 --> 00:33:47,260 deseño do meu código. 728 00:33:47,260 --> 00:33:52,350 Estou actualmente comingled HTML, que é as etiquetas abertas esverdeados alí, con 729 00:33:52,350 --> 00:33:55,160 Propiedades CSS, que é totalmente lexítimo. 730 00:33:55,160 --> 00:33:57,200 Isto é realmente onde a lingua tivo as súas orixes. 731 00:33:57,200 --> 00:34:01,030 >> Pero o interese de deseño clean, así como comezamos cousas factoring 732 00:34:01,030 --> 00:34:05,370 fóra de ficheiros C en arquivos h., imos me realmente practicar este tipo de 733 00:34:05,370 --> 00:34:07,990 principio e comezar a facer esta vez. 734 00:34:07,990 --> 00:34:13,280 Deixe-me poñer unha marca de estilo aquí, que tamén existe en HTML, e déixeme 735 00:34:13,280 --> 00:34:15,330 especifica a continuación. 736 00:34:15,330 --> 00:34:16,360 Déixeme borrar iso. 737 00:34:16,360 --> 00:34:18,110 Cor de fondo será vermella. 738 00:34:18,110 --> 00:34:19,800 Vou borrar iso enteiramente. 739 00:34:19,800 --> 00:34:22,580 Eu estou indo para se librar do estilo atribuír, e eu vou con exclusividade 740 00:34:22,580 --> 00:34:24,620 identificar esta div cunha palabra - 741 00:34:24,620 --> 00:34:28,750 arbitrariamente, pero razoablemente, citas unquote "top". E id é unha especial 742 00:34:28,750 --> 00:34:32,530 atributo que define exclusivamente un determinado elemento HTML 743 00:34:32,530 --> 00:34:33,850 como ter ese ID. 744 00:34:33,850 --> 00:34:37,969 >> Agora quero estilizado que, ata aquí, en a cabeza de miña páxina, dentro do 745 00:34:37,969 --> 00:34:41,730 etiqueta estilo, teña en conta que Eu podo facer top hash. 746 00:34:41,730 --> 00:34:45,300 E entón podo poñer un par de rizado aparello, que lembra C, e entón deixar 747 00:34:45,300 --> 00:34:47,130 me pegar no que estilización. 748 00:34:47,130 --> 00:34:49,929 E déixeme ir adiante aquí e anticipar onde estou indo con iso. 749 00:34:49,929 --> 00:34:53,380 Permítanme tamén crear unha ao div de fondo. 750 00:34:53,380 --> 00:34:58,010 Déixeme ir este código horrible de baixo aquí, poñelas aquí, e eu vou estar 751 00:34:58,010 --> 00:35:00,770 algo máis anal agora e estilizado que por só poñer as cousas no seu propio 752 00:35:00,770 --> 00:35:02,540 liña, terminando con punto e coma. 753 00:35:02,540 --> 00:35:04,430 Déixeme librar-se da marca de estilo. 754 00:35:04,430 --> 00:35:05,320 >> Pero eu non estou preparado aínda. 755 00:35:05,320 --> 00:35:07,406 Eu teño que facer outra cousa. 756 00:35:07,406 --> 00:35:10,070 Si, id iguais cita pecha comiñas, "bottom", ou calquera id quero 757 00:35:10,070 --> 00:35:11,740 dar a este elemento. 758 00:35:11,740 --> 00:35:13,420 Agora déixeme volver para aquí. 759 00:35:13,420 --> 00:35:14,360 E isto é atroz. 760 00:35:14,360 --> 00:35:15,805 Non podo tratar con 96 puntos. 761 00:35:15,805 --> 00:35:16,960 Imos facer 24 puntos. 762 00:35:16,960 --> 00:35:18,320 Ou podería ser máis preciso. 763 00:35:18,320 --> 00:35:21,800 Pode realmente usar píxeles, px, entón que realmente granulação máis fina 764 00:35:21,800 --> 00:35:23,220 control sobre a súa páxina. 765 00:35:23,220 --> 00:35:26,860 >> Como un aparte, que non é necesariamente o mellor que se os usuarios, para 766 00:35:26,860 --> 00:35:29,650 razóns de accesibilidade, tanto poder aumentar os tamaños. 767 00:35:29,650 --> 00:35:32,650 Entón, entendo que hai formas de facer cousas que non necesariamente 768 00:35:32,650 --> 00:35:34,230 codificar todo difícil. 769 00:35:34,230 --> 00:35:37,220 >> Todo ben, polo que é máis grande, de 24 puntos, que calquera que sexa o estándar é. 770 00:35:37,220 --> 00:35:38,630 Pero agora é un pouco máis limpa. 771 00:35:38,630 --> 00:35:40,230 E deixe-me dar un paso adiante. 772 00:35:40,230 --> 00:35:47,220 Así como a idea de ficheiros de cabeceira, entender que estamos un paso máis preto diso. 773 00:35:47,220 --> 00:35:52,000 Teño consignado, pero aínda quedan, dentro da miña páxina, esas regras CSS. 774 00:35:52,000 --> 00:35:56,200 Por que quero dar un paso aínda, eliminar esta completo, e 775 00:35:56,200 --> 00:35:59,860 poñelas nun ficheiro separado? 776 00:35:59,860 --> 00:36:01,070 >> Para que eu poida reutiliza-lo, non? 777 00:36:01,070 --> 00:36:03,155 Esta é só unha especie de intuición agora. 778 00:36:03,155 --> 00:36:06,340 Antes, eu afirmaba que era só quedando feo ter o estilo 779 00:36:06,340 --> 00:36:08,480 atributos dentro do Divs si. 780 00:36:08,480 --> 00:36:09,750 Pero só unha especie de pensar que pasar. 781 00:36:09,750 --> 00:36:13,560 Como a súa páxina está máis e máis, se está poñendo aquí, e aquí, e 782 00:36:13,560 --> 00:36:18,350 aquí, e aquí, todos estes diferentes cores e tamaños de fonte e outras 783 00:36:18,350 --> 00:36:22,550 atributos, a súa páxina é moi rápido Vai chegar a ser incontrolable para ti. 784 00:36:22,550 --> 00:36:24,570 >> Se alguén chega ata vostede e di, oh, vostede sabe o que? 785 00:36:24,570 --> 00:36:28,070 Realmente quere cambiar o tamaño da fonte por dous puntos adicionais, 786 00:36:28,070 --> 00:36:31,275 pode ter que ir e localizar e substituír un gran número de liñas de código. 787 00:36:31,275 --> 00:36:35,170 É moito máis atractivo para centralizar todos estes aquí estética. 788 00:36:35,170 --> 00:36:38,850 Pero se quere reutilizar os estética en varias páxinas web, as 789 00:36:38,850 --> 00:36:41,100 o máis interesante para, por exemplo, crear un arquivo 790 00:36:41,100 --> 00:36:45,290 chamado con estes contidos. 791 00:36:45,290 --> 00:36:46,680 >> E déixeme facelo. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Garde este ficheiro. 794 00:36:51,920 --> 00:36:55,580 Digo styles.css, arbitraria pero convencional. 795 00:36:55,580 --> 00:36:58,770 Vou poñelas na casa de John Harvard directorio agora pola sinxeleza. 796 00:36:58,770 --> 00:37:03,880 E que podo facer na miña páxina web é obter librar da marca de estilo por completo, 797 00:37:03,880 --> 00:37:08,270 e algo unintuitively, use unha ligazón etiqueta, que non darlle unha ligazón no 798 00:37:08,270 --> 00:37:13,140 o hiperenlace, sentido de previsión, pero onde digo enlace, é igual a href 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 E a relación que este elemento ten coa páxina web é servir como 801 00:37:20,050 --> 00:37:21,280 súa folla de estilo. 802 00:37:21,280 --> 00:37:22,670 >> Entón como é que eu sei diso? 803 00:37:22,670 --> 00:37:25,950 Un deles, que acaba de ler o manual, ou Google ao redor, e vostede 804 00:37:25,950 --> 00:37:27,000 ollar a varios recursos. 805 00:37:27,000 --> 00:37:30,520 Quero dicir, que realmente é como incorporarse técnicas como esta, e, de acordo 806 00:37:30,520 --> 00:37:34,720 con esa idea de ensinar a si mesmo novo linguaxes, unha vez máis, vai descubrir que 807 00:37:34,720 --> 00:37:38,830 só hai un número finito de cousas a calquera lingua que, unha vez que comeza 808 00:37:38,830 --> 00:37:41,310 eles, verás que queda máis e máis rápido a escribir. 809 00:37:41,310 --> 00:37:44,180 En realidade, a aprendizaxe dunha nova programación idioma é moito máis rápido que unha nova 810 00:37:44,180 --> 00:37:47,380 lingua falada, porque estas cousas son moi pequenos e moito máis 811 00:37:47,380 --> 00:37:48,820 definidos con precisión. 812 00:37:48,820 --> 00:37:51,590 >> Pero eu destacado algo dunha anomalía aquí. 813 00:37:51,590 --> 00:37:57,750 Por que destaquei esta barra aquí? 814 00:37:57,750 --> 00:37:59,420 Porque eu teño que pechar a etiqueta. 815 00:37:59,420 --> 00:38:00,530 Eu debería pechar a etiqueta. 816 00:38:00,530 --> 00:38:02,750 E vai atopar moitos recursos en liña que non 817 00:38:02,750 --> 00:38:04,080 necesariamente marcas próximos. 818 00:38:04,080 --> 00:38:08,770 E realista, non é estrictamente necesaria para a técnica e existen 819 00:38:08,770 --> 00:38:11,950 razóns da realidade, os navegadores son só moi tolerante a erros na rede 820 00:38:11,950 --> 00:38:14,360 páxinas, para mellor ou para peor, pero sobre peor. 821 00:38:14,360 --> 00:38:18,830 >> Entón, iso aquí é só unha maneira máis limpa de dicir algo estúpido como este, 822 00:38:18,830 --> 00:38:22,330 onde se pretende abrir a etiqueta ligazón pero pechalo, non hai realmente ningunha noción 823 00:38:22,330 --> 00:38:23,720 de contidos para a etiqueta ligazón. 824 00:38:23,720 --> 00:38:26,000 Significa só que cargar este ficheiro e poñelas aquí. 825 00:38:26,000 --> 00:38:30,610 É como include pechada C. Pódese abrir e pechar unha etiqueta dunha soa vez 826 00:38:30,610 --> 00:38:31,660 dentro da mesma etiqueta. 827 00:38:31,660 --> 00:38:33,520 E hai outros exemplos. 828 00:38:33,520 --> 00:38:37,280 Esta non é a forma de facelo, pero tag br, para saltos de liña, se eu 829 00:38:37,280 --> 00:38:41,780 realmente quería lograr o que era intentando antes de premer Intro, se 830 00:38:41,780 --> 00:38:45,380 Eu explicitamente dicir salto de liña, salto de liña, salto de liña, salto de liña, e 831 00:38:45,380 --> 00:38:49,100 entón volver cargar a páxina, agora vai notar que a parte inferior da páxina é, 832 00:38:49,100 --> 00:38:51,940 en realidade, moito máis lonxe no na parte inferior da páxina. 833 00:38:51,940 --> 00:38:55,840 Pero aínda que se pode facer moito máis limpa con CSS, e con marxes, 834 00:38:55,840 --> 00:38:58,120 e con outro tipo de estética técnicas. 835 00:38:58,120 --> 00:38:59,940 >> Entón, por agora, o delivery é iso. 836 00:38:59,940 --> 00:39:02,320 HTML, temos estes cousas chamadas etiquetas. 837 00:39:02,320 --> 00:39:04,830 En CSS, temos esas cousas chamadas de propiedades. 838 00:39:04,830 --> 00:39:08,700 Podemos comingle estas dúas linguaxes, ou usando o atributo de estilo, 839 00:39:08,700 --> 00:39:14,240 ou a etiqueta de estilo, ou mellor aínda, factoring Lo por completo, como facemos 840 00:39:14,240 --> 00:39:17,270 no conxunto de problemas 7. 841 00:39:17,270 --> 00:39:23,820 Preguntas, entón, sobre o fundamentos conceptuais aquí? 842 00:39:23,820 --> 00:39:24,740 >> Audiencia: Eu teño unha pregunta. 843 00:39:24,740 --> 00:39:25,630 >> COLUMNA 1: Oh, desculpe. 844 00:39:25,630 --> 00:39:28,880 >> Audiencia: Por que non foi en cor - 845 00:39:28,880 --> 00:39:31,410 >> COLUMNA 1: Oh, na outra pestana? 846 00:39:31,410 --> 00:39:32,232 Este aquí? 847 00:39:32,232 --> 00:39:33,482 >> Audiencia: Non, é coma se o - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> COLUMNA 1: Ah, iso é porque Estaba a ser desleixado. 850 00:39:39,480 --> 00:39:41,350 Engada o arquivo no lugar incorrecto. 851 00:39:41,350 --> 00:39:47,840 Entón, se realmente poñelas aquí, e eu chmod, todo o + r para styles.css e 852 00:39:47,840 --> 00:39:52,050 agora volver cargar a páxina, agora nós obter a estilización de volta. 853 00:39:52,050 --> 00:39:54,530 E por que os tamaños de fonte son diferente, non vemos tan grande 854 00:39:54,530 --> 00:39:55,010 espazo en branco. 855 00:39:55,010 --> 00:39:58,240 No seu lugar, ver o que está a estándar é de vez. 856 00:39:58,240 --> 00:40:00,050 Boa pregunta. 857 00:40:00,050 --> 00:40:00,846 Si? 858 00:40:00,846 --> 00:40:02,630 >> Audiencia: Por que é o elo etiqueta dentro da cabeceira? 859 00:40:02,630 --> 00:40:06,270 >> COLUMNA 1: Por que as conexións etiqueta dentro da cabeceira - 860 00:40:06,270 --> 00:40:07,650 resposta curta, só porque. 861 00:40:07,650 --> 00:40:08,930 Iso é o que se decidiu. 862 00:40:08,930 --> 00:40:10,720 É onde as etiquetas de enlace ir cando Ten o que se chama 863 00:40:10,720 --> 00:40:13,650 folla de estilo externa. 864 00:40:13,650 --> 00:40:16,430 Outras preguntas? 865 00:40:16,430 --> 00:40:17,770 >> Todo ben, ben, imos facelo. 866 00:40:17,770 --> 00:40:20,500 Nós nos divertimos moi por diante de nós hoxe. 867 00:40:20,500 --> 00:40:22,480 Isto é só rabuñando a superficie do CSS. 868 00:40:22,480 --> 00:40:23,010 Imos facelo. 869 00:40:23,010 --> 00:40:25,980 Imos dar unha pausa de cinco minutos aquí porque, por meu correo electrónico, imos colgar 870 00:40:25,980 --> 00:40:27,200 alí ata 2:30-ISH hoxe. 871 00:40:27,200 --> 00:40:28,540 Pero se ten a saír, iso é bo. 872 00:40:28,540 --> 00:40:30,380 Pero imos seguir adiante despois de unha pausa de cinco minutos. 873 00:40:30,380 --> 00:40:35,930 E nós imos aprender un pouco sobre PHP, MySQL, e moito máis. 874 00:40:35,930 --> 00:40:44,520 >> Todo ben, entón imos tentar, agora, para amarre un algunhas destas ideas xuntos e facer, 875 00:40:44,520 --> 00:40:46,180 dicir, o noso propio buscador. 876 00:40:46,180 --> 00:40:48,570 Notei, curiosamente, a continuación. 877 00:40:48,570 --> 00:40:52,610 Cando está no Google.com, está normalmente a unha URL como este aquí 878 00:40:52,610 --> 00:40:54,870 con nada tralo dot com. 879 00:40:54,870 --> 00:40:59,760 Pero se eu buscar algo estúpido como gatos e presione enter, nós imos chegar - non 880 00:40:59,760 --> 00:41:01,300 estúpido, pero xa sabe. 881 00:41:01,300 --> 00:41:05,410 >> OK, así que ter en conta, na parte superior da páxina, Agora, o URL ten, por suposto, cambiou. 882 00:41:05,410 --> 00:41:07,190 E iso non é nada novo para calquera de nós. 883 00:41:07,190 --> 00:41:09,290 Fai clic en ligazóns e outras cousas acontece na web. 884 00:41:09,290 --> 00:41:11,420 Pero o que é interesante aquí é o seguinte. 885 00:41:11,420 --> 00:41:14,500 Hai unha morea de confusión, pero imos me xogar fóra cousas que eu non fago 886 00:41:14,500 --> 00:41:16,600 entendo moi ben ou non ollar realmente relevante. 887 00:41:16,600 --> 00:41:18,490 >> Deixe-me librar diso. 888 00:41:18,490 --> 00:41:20,030 Deixe-me librar diso. 889 00:41:20,030 --> 00:41:22,630 E déixeme só se librar de todo isto. 890 00:41:22,630 --> 00:41:28,840 E agora conta que os gatos está na URL, seguido cun q, entón un igual 891 00:41:28,840 --> 00:41:29,710 asinar diante del. 892 00:41:29,710 --> 00:41:32,110 Entón non é que esta é a forma na que o así que funciona cando se trata 893 00:41:32,110 --> 00:41:33,360 para entrada e saída. 894 00:41:33,360 --> 00:41:37,510 >> Nós falamos moito sobre caixas negras, non? 895 00:41:37,510 --> 00:41:41,650 Así, se esta é unha función aplicada aquí como unha caixa negra, que leva entrada 896 00:41:41,650 --> 00:41:45,290 e produce unha saída, así como, os medios polo cal fornecer datos para a 897 00:41:45,290 --> 00:41:49,270 sitio web é de forma, moitas veces, da súa URL. 898 00:41:49,270 --> 00:41:52,850 Vostede simplemente poñer un punto de interrogación e logo, unha chave igual valor. 899 00:41:52,850 --> 00:41:56,740 E entón, quizais un e comercial, e logo, outra clave é igual ao valor, entón quizais 900 00:41:56,740 --> 00:41:58,810 outro comercial, clave igual valor. 901 00:41:58,810 --> 00:42:03,030 É así que pasar en claves e valores, pares de entradas. 902 00:42:03,030 --> 00:42:07,050 >> Entón, se eu premer Intro, agora, o que é interesante sobre Google é que todos 903 00:42:07,050 --> 00:42:10,420 que confusión eu delete non aparece sexa estrictamente necesario. 904 00:42:10,420 --> 00:42:15,120 Todo o que eu teño enviar a Google é a pregunta marca q é igual a gatos para obter 905 00:42:15,120 --> 00:42:16,160 facer algúns gatos. 906 00:42:16,160 --> 00:42:20,160 Ben, a implicación de que, entón, é se eu puxar arriba gedit, comece 907 00:42:20,160 --> 00:42:24,360 facer o meu propio buscador aquí nun arquivo chamado seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> E déixeme ir adiante e eliminar unha liña que 909 00:42:26,750 --> 00:42:27,910 non deberían ver. 910 00:42:27,910 --> 00:42:31,070 E agora, deixe-me ir ao meu propio navegador, polo tanto, non a Google, e ir a 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 E iso vai estar no camiño. 913 00:42:36,220 --> 00:42:43,240 Entón, nós imos ter que dicir adeus ao que, polo momento, mover este aquí, 914 00:42:43,240 --> 00:42:46,270 Oh, agora imos ter que dicir adeus a ese ficheiro. 915 00:42:46,270 --> 00:42:51,700 >> Sempre que ten un arquivo chamado index.html ou index.php nun 916 00:42:51,700 --> 00:42:54,980 directorio, se o servidor web está configurado desta forma, o que vai 917 00:42:54,980 --> 00:42:59,600 ver, por defecto, é o contido do que ficheiro en vez de unha listaxe do 918 00:42:59,600 --> 00:43:02,330 directorio, como eu quería aquí. 919 00:43:02,330 --> 00:43:03,750 Ler máis sobre este asunto en spec. 920 00:43:03,750 --> 00:43:04,610 Non viu iso. 921 00:43:04,610 --> 00:43:06,360 >> Entón iso é o que realmente quería. 922 00:43:06,360 --> 00:43:08,810 Pero hai un momento, houbo unha arquivo neste cartafol chamada 923 00:43:08,810 --> 00:43:11,290 index.html e index.php. 924 00:43:11,290 --> 00:43:13,380 E para que o servidor web se me amosar estes arquivos. 925 00:43:13,380 --> 00:43:15,900 Pola contra, quero que este directorio list aquí. 926 00:43:15,900 --> 00:43:18,340 >> Entón, eu estou indo a ir a CSS e ir search0. 927 00:43:18,340 --> 00:43:21,770 E eu afirmo que este é que será o inicio da miña propia competitivo 928 00:43:21,770 --> 00:43:22,490 buscador. 929 00:43:22,490 --> 00:43:27,630 E para facelo, eu estou indo a ir en aquí, en CSS, e abrir-se con 930 00:43:27,630 --> 00:43:30,190 gedit, procura 0. 931 00:43:30,190 --> 00:43:32,280 Pero, desgraciadamente, non hai non moita cousa a ocorrer aquí. 932 00:43:32,280 --> 00:43:35,690 Todo o que eu fixen foi usar unha etiqueta título, que pasa a chamarse H1, que 933 00:43:35,690 --> 00:43:38,180 significa, esencialmente, grandes e negra, e é iso. 934 00:43:38,180 --> 00:43:40,810 Pero os medios polos que podemos fornecen insumos son a través destes 935 00:43:40,810 --> 00:43:42,180 cousas chamadas formas. 936 00:43:42,180 --> 00:43:46,040 >> Entón deixe-me ir adiante e abrir e pechar, cautelarmente, unha etiqueta de formulario alí. 937 00:43:46,040 --> 00:43:48,060 E déixeme ir adiante e facer algo así. 938 00:43:48,060 --> 00:43:51,430 Entrada, tipo de texto é igual. 939 00:43:51,430 --> 00:43:56,320 E entón imos pechar a etiqueta de dentro os propios soportes. 940 00:43:56,320 --> 00:43:58,800 Eu non teño para comezar un campo de texto e deixar un campo de texto. 941 00:43:58,800 --> 00:44:01,080 El só vai estar alí ou non. 942 00:44:01,080 --> 00:44:06,210 >> E, a continuación, por debaixo diso, faremos tipo de entrada é igual a enviar. 943 00:44:06,210 --> 00:44:06,870 Gardar esta. 944 00:44:06,870 --> 00:44:08,630 E agora imos facer un verificación de sanidade rápida. 945 00:44:08,630 --> 00:44:09,820 Imos actualizar. 946 00:44:09,820 --> 00:44:10,890 >> OK, por iso non é malo. 947 00:44:10,890 --> 00:44:13,260 Non é o estilo de Google, pero é ben preto. 948 00:44:13,260 --> 00:44:13,920 Hai un campo de texto. 949 00:44:13,920 --> 00:44:17,190 Podo escribir algunhas cousas en, prema Intro, pero non pasa nada aínda. 950 00:44:17,190 --> 00:44:21,090 E iso é porque eu non especificou unha acción por esta forma, por así dicir. 951 00:44:21,090 --> 00:44:23,860 Entón, se eu volver para o elemento de formulario, ao parecer, e sei que isto só 952 00:44:23,860 --> 00:44:27,460 de ler a documentación, que tag form ten un atributo 953 00:44:27,460 --> 00:44:31,880 chamado de acción que é a URL do sitio web para o que 954 00:44:31,880 --> 00:44:34,790 quere enviar o formulario. 955 00:44:34,790 --> 00:44:37,610 >> Realmente non creo que temos tempo para aplicar todo o back-end para o 956 00:44:37,610 --> 00:44:38,570 buscador hoxe en día. 957 00:44:38,570 --> 00:44:41,900 Entón imos só dicir, eh, ir a google.com / search. 958 00:44:41,900 --> 00:44:43,450 E agora déixeme pechar miñas citas. 959 00:44:43,450 --> 00:44:46,070 E déixeme especificar mellor que o método a utilizar vai 960 00:44:46,070 --> 00:44:47,120 a ser chamado de conseguir. 961 00:44:47,120 --> 00:44:50,650 >> Para reducir a historia, hai dous xeitos, polo menos, que pode enviar información 962 00:44:50,650 --> 00:44:51,880 desde o navegador ao servidor. 963 00:44:51,880 --> 00:44:55,340 Un deles é conseguir, e, para fins de hoxe, iso só significa na URL. 964 00:44:55,340 --> 00:44:58,730 Ve exactamente os puntos de interrogación, os signos de igual e que ampersands 965 00:44:58,730 --> 00:44:59,780 vimos anteriormente. 966 00:44:59,780 --> 00:45:02,890 Ou hai unha alternativa chamada post. 967 00:45:02,890 --> 00:45:06,490 Polo momento, sabemos que o post é frecuentemente usado cando quere subir arquivos, como 968 00:45:06,490 --> 00:45:09,820 imaxes e así por diante, ou cando quere Enviar información de tarxeta de crédito, ou 969 00:45:09,820 --> 00:45:13,810 contrasinais, calquera cousa que non realmente ten sentido, conceptualmente, ou 970 00:45:13,810 --> 00:45:18,020 seguridade sabio, para acabar na dirección de o navegador, onde espionaxe pais, 971 00:45:18,020 --> 00:45:21,520 ou compañeiros, ou calquera con acceso para o seu ordenador pode ver. 972 00:45:21,520 --> 00:45:23,110 >> Entón, imos gardar este aquí. 973 00:45:23,110 --> 00:45:24,480 E eu teño que facer outra cousa. 974 00:45:24,480 --> 00:45:27,250 Non é suficiente só para dicir-me dar un campo de texto. 975 00:45:27,250 --> 00:45:29,850 Teño que dar que o campo Valorados un nome. 976 00:45:29,850 --> 00:45:34,500 Entón deixe-me prestar elección de Google nomes, Q e especificar que segundo 977 00:45:34,500 --> 00:45:38,150 asignar Realmente non me importa sobre o nome do botón enviar. 978 00:45:38,150 --> 00:45:40,890 Todo o que me importa é a presentación o que o usuario escribe Pol 979 00:45:40,890 --> 00:45:41,940 >> E agora ese é o tipo de feo. 980 00:45:41,940 --> 00:45:42,820 El só di enviar. 981 00:45:42,820 --> 00:45:46,350 Acontece, e sei que dende o documentación, podo realmente dicir 982 00:45:46,350 --> 00:45:51,710 valor equivale a cita unquote "CS50 da investigación, "preto das citas. 983 00:45:51,710 --> 00:45:53,030 Entón imos actualizar de novo. 984 00:45:53,030 --> 00:45:57,020 Entón eu sigo batendo Command-R ou Control-R no meu teclado para actualizar. 985 00:45:57,020 --> 00:45:58,605 >> Agora temos un máis interesante buscador. 986 00:45:58,605 --> 00:46:00,340 Non chega a parecer Google aínda, con todo. 987 00:46:00,340 --> 00:46:04,100 Entón, imos adiante aquí e facer un pouco de salto de liña. 988 00:46:04,100 --> 00:46:06,066 >> OK, entón agora temos Google. 989 00:46:06,066 --> 00:46:08,260 De feito, apenas ten Google. 990 00:46:08,260 --> 00:46:10,460 Entón agora o que vai pasar? 991 00:46:10,460 --> 00:46:12,220 Vou escribir algo como Cats. 992 00:46:12,220 --> 00:46:16,570 E o navegador vai analizar de que xeito que eu definido. 993 00:46:16,570 --> 00:46:19,470 E enviará o usuario a este URL. 994 00:46:19,470 --> 00:46:23,420 Entón, esta vez, por algún motivo curioso, Teño máis información sobre stocks 995 00:46:23,420 --> 00:46:24,410 que sobre os gatos reais. 996 00:46:24,410 --> 00:46:30,580 Pero iso é bo, porque entende que aínda acabei aquí, q é igual a gatos. 997 00:46:30,580 --> 00:46:35,200 >> Así, longa historia curta, parece bastante trivial para a entrada do usuario. 998 00:46:35,200 --> 00:46:38,190 E para ser xusto, hai acios doutros tipos de campos de formulario. 999 00:46:38,190 --> 00:46:41,510 Hai caixas de verificación e pouco mutuamente botóns exclusivos e 1000 00:46:41,510 --> 00:46:42,960 menús desplegable, e moito máis. 1001 00:46:42,960 --> 00:46:46,160 Pero todos estes son como concepto facilmente aplicado como 1002 00:46:46,160 --> 00:46:48,040 este campo de texto era. 1003 00:46:48,040 --> 00:46:52,050 E, finalmente, só temos que facer seguro de que alguén está escoitando no outro 1004 00:46:52,050 --> 00:46:56,490 Fin da liña para conseguir que información procesadas, de algunha maneira, e 1005 00:46:56,490 --> 00:46:58,440 nos devolver os nosos gatos. 1006 00:46:58,440 --> 00:47:00,840 >> Vexamos un pouco máis implicados exemplo. 1007 00:47:00,840 --> 00:47:06,020 Déixeme ir ao directorio do meu VHost, no servidor local, público, e onde 1008 00:47:06,020 --> 00:47:06,980 poñer o código fonte de hoxe. 1009 00:47:06,980 --> 00:47:09,800 Todo iso estará no curso de web para que poida xogar. 1010 00:47:09,800 --> 00:47:15,420 E se eu entrar froshims, déixeme abrir se este ficheiro agora, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Este é un pouco máis detallado, así Non imos escribir isto a partir de cero. 1012 00:47:18,460 --> 00:47:21,970 Pero só agora entender algúns un pouco características familiares. 1013 00:47:21,970 --> 00:47:24,550 >> Un, etiqueta form, acción diferente. 1014 00:47:24,550 --> 00:47:25,670 Non é unha URL completa. 1015 00:47:25,670 --> 00:47:29,930 Agora, é aparentemente para arquivo chamado register0.php porque, nun momento, 1016 00:47:29,930 --> 00:47:32,660 Vou ensinar-me un pouco algo sobre PHP, unha programación 1017 00:47:32,660 --> 00:47:37,360 lingua, xa que o PHP se pode usar para implantar Google implementado como 1018 00:47:37,360 --> 00:47:39,650 o back-end dos seus motores de busca. 1019 00:47:39,650 --> 00:47:42,890 >> Google, en realidade, probablemente usa algúns Python, algúns C + +, e 1020 00:47:42,890 --> 00:47:44,230 acios de outras linguas. 1021 00:47:44,230 --> 00:47:48,230 Pero seguramente poderiamos aplicar a investigación resultados usando PHP, se quixésemos. 1022 00:47:48,230 --> 00:47:49,610 Pero, por agora, imos mantelo simple. 1023 00:47:49,610 --> 00:47:53,320 E iso é realmente unha reminiscencia dunha dos demais primeiros sitios que eu 1024 00:47:53,320 --> 00:47:54,490 fixo anos. 1025 00:47:54,490 --> 00:47:58,160 >> Na miña época, se catastrouse para deportes internos como un calouro por 1026 00:47:58,160 --> 00:48:00,880 recheo de un anaco de papel, camiñando en todo o curro, e soltalo no 1027 00:48:00,880 --> 00:48:04,890 a caixa de correo dun Proctor en Wigglesworth, e foi así que 1028 00:48:04,890 --> 00:48:05,460 rexistrada. 1029 00:48:05,460 --> 00:48:09,650 E así o meu proxecto logo CS50, era poñer que, o que fai perfecto 1030 00:48:09,650 --> 00:48:13,460 sentido, para a web, o que non foi como en voga, a continuación, como é agora. 1031 00:48:13,460 --> 00:48:17,510 Pero todo o que tiña que facer era crear, esencialmente, un formulario HTML. 1032 00:48:17,510 --> 00:48:19,640 >> E esa forma mirou máis ou menos así. 1033 00:48:19,640 --> 00:48:22,480 Eu tiña unha entrada para o O nome de calouro. 1034 00:48:22,480 --> 00:48:27,780 Eu tiña outra caixa de verificación ou ou non quería ser capitán, que 1035 00:48:27,780 --> 00:48:30,400 seu xénero era, e o seu dormitorio era. 1036 00:48:30,400 --> 00:48:33,370 E entón eu codificado en cousas como Apley Court, e Canaday, 1037 00:48:33,370 --> 00:48:34,880 Cinzas, e así por diante. 1038 00:48:34,880 --> 00:48:36,300 >> Entón, de novo, novas etiquetas. 1039 00:48:36,300 --> 00:48:39,820 Aínda non vin iso antes, novo atributos, pero moi accesible. 1040 00:48:39,820 --> 00:48:42,360 Unha vez que ver un exemplo, pode tipo de prestar esa idea e facer unha caída 1041 00:48:42,360 --> 00:48:43,820 menú para nada no estómago. 1042 00:48:43,820 --> 00:48:46,350 Pero o que é importante é que cada un dos estas cousas teñen nomes. 1043 00:48:46,350 --> 00:48:49,720 E na parte inferior do formulario, hai un botón de envío cuxo rótulo, 1044 00:48:49,720 --> 00:48:51,510 ou valor, é rexistro. 1045 00:48:51,510 --> 00:48:52,670 >> Entón imos para esta páxina. 1046 00:48:52,670 --> 00:48:55,050 Déixeme volver a listaxe do directorio. 1047 00:48:55,050 --> 00:48:59,410 Déixeme entrar froshims, e ir froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Por iso, é horrible, para ser xusto. 1049 00:49:01,150 --> 00:49:03,950 Entón, eu sempre podería estilizar este con un pouco de CSS, eu podería facer algún 1050 00:49:03,950 --> 00:49:06,890 gráficos, quizais engadir algunhas cores, e facer este máis fermosa. 1051 00:49:06,890 --> 00:49:10,530 Pero funcionalmente, eu diría que este é realmente moi completo. 1052 00:49:10,530 --> 00:49:15,190 >> Desafortunadamente, cando encher tanto, David, Capitán, home, imos escoller, 1053 00:49:15,190 --> 00:49:20,510 digamos Matthews, Register, todo o que pasa é o seguinte. 1054 00:49:20,510 --> 00:49:21,910 Pero teña en conta un par de delivery. 1055 00:49:21,910 --> 00:49:27,130 Un deles, o arquivo de retorno aos resulta aparentemente? 1056 00:49:27,130 --> 00:49:29,470 Así é, de feito, register0.php. 1057 00:49:29,470 --> 00:49:34,570 Así, o feito de que xa vimos que a acción valor hai un momento para register0, este 1058 00:49:34,570 --> 00:49:37,500 confirma que de feito acaba naquel arquivo particular. 1059 00:49:37,500 --> 00:49:39,040 >> Agora, este é só un texto feo. 1060 00:49:39,040 --> 00:49:42,810 Pero teña en conta que este texto é vindo servidor local, 1061 00:49:42,810 --> 00:49:44,170 que se produce polo aparello. 1062 00:49:44,170 --> 00:49:46,350 Pense no aparello agora só como un servidor web que se pode en 1063 00:49:46,350 --> 00:49:46,910 Science Center. 1064 00:49:46,910 --> 00:49:48,060 Podería ser na web real. 1065 00:49:48,060 --> 00:49:49,850 Por iso, é accesíbel ao público. 1066 00:49:49,850 --> 00:49:55,480 >> Entón, claramente, hai algunha maneira de pasar formar entradas de campo a un servidor 1067 00:49:55,480 --> 00:49:56,840 de xeito que se pode facer algo con eles. 1068 00:49:56,840 --> 00:49:59,020 Desafortunadamente, register0 é moi estúpido. 1069 00:49:59,020 --> 00:50:01,870 Todo o que fai é imprimir un array que se parece con isto. 1070 00:50:01,870 --> 00:50:04,790 E non é unha matriz na sentido que coñecemos. 1071 00:50:04,790 --> 00:50:08,760 Acontece que o PHP, e unha morea de linguas, que non só numericamente 1072 00:50:08,760 --> 00:50:12,350 arrays indexadas cuxo primeiro índice é cero, un, dous, logo despois do punto, 1073 00:50:12,350 --> 00:50:13,780 punto, punto, n menos 1. 1074 00:50:13,780 --> 00:50:16,400 >> Isto é o que se chama array asociativo. 1075 00:50:16,400 --> 00:50:21,150 Unha matriz asociativa é aquel en que pode almacenar pares de valores clave onde 1076 00:50:21,150 --> 00:50:23,160 a clave non é necesariamente un número. 1077 00:50:23,160 --> 00:50:25,580 Podería ser de feito unha corda, unha palabra. 1078 00:50:25,580 --> 00:50:28,230 E por iso este pode ser aplicado, debaixo do capó, ao parecer, 1079 00:50:28,230 --> 00:50:31,896 utilizando unha estrutura de datos coñecido como un? 1080 00:50:31,896 --> 00:50:33,600 Penso que algo dramático estaba a piques de ocorrer - 1081 00:50:33,600 --> 00:50:34,840 táboa de hash. 1082 00:50:34,840 --> 00:50:38,955 >> Así, unha táboa hash, aviso, aqueles de vostedes quen fixo isto para I set 6, ou incluso recordar 1083 00:50:38,955 --> 00:50:44,110 el, polo menos, mesmo se fixo un intento, un táboa hash, no noso uso, foi usada para 1084 00:50:44,110 --> 00:50:45,090 almacenar só palabras. 1085 00:50:45,090 --> 00:50:47,980 Pero, realmente, estaba almacenando chaves e valores. 1086 00:50:47,980 --> 00:50:51,940 Se aplicou unha táboa hash para P set 6 dicionario, as chaves estaban 1087 00:50:51,940 --> 00:50:56,890 palabras en si, e os valores foron efectivamente verdadeiro ou falso. 1088 00:50:56,890 --> 00:51:00,190 Si, aquí, ou implicitamente, Non, aquí non. 1089 00:51:00,190 --> 00:51:02,140 >> Así, podemos xeneralizar esta idea. 1090 00:51:02,140 --> 00:51:06,230 E poderiamos usar unha base de datos moi semellantes estrutura para almacenar a cadea non 1091 00:51:06,230 --> 00:51:10,180 -Se só na súa táboa hash, mais supoñer que en cada un de súa haxix 1092 00:51:10,180 --> 00:51:11,130 nós da táboa. 1093 00:51:11,130 --> 00:51:14,210 E pode ata facelo nun intento no canto de só ter un bool. 1094 00:51:14,210 --> 00:51:15,350 Podería ter algo máis. 1095 00:51:15,350 --> 00:51:19,590 E se a chave non estaba Maxwell, para instancia, pero cita unquote "nome", ou 1096 00:51:19,590 --> 00:51:22,900 Citando "capitán". Unquote E dentro súa estrutura de datos C, se pon un 1097 00:51:22,900 --> 00:51:26,170 valor, e non só un valor booleano, pero de valor como cita unquote "David", ou 1098 00:51:26,170 --> 00:51:28,690 "M", ou "Matthews", e así por diante. 1099 00:51:28,690 --> 00:51:33,170 >> Entón, estas mesmas estruturas de datos que usan aparentemente existen noutras linguas. 1100 00:51:33,170 --> 00:51:37,650 E eu diría que son realmente moi, moito máis sinxelo de acceder aquí. 1101 00:51:37,650 --> 00:51:40,300 Imos, de feito, un ollo agora, nalgún tal sintaxe. 1102 00:51:40,300 --> 00:51:43,120 >> Eu estou indo a ir en un directorio PHP. 1103 00:51:43,120 --> 00:51:48,390 E eu vou abrir unha mellor versión de Ola-0 de antes. 1104 00:51:48,390 --> 00:51:50,270 Teña en conta que o único que fixen foi engadir algúns comentarios. 1105 00:51:50,270 --> 00:51:52,530 Entón, podemos librar desa distracción. 1106 00:51:52,530 --> 00:51:57,610 >> E este programa fai realmente imprime Ola, por que eu especifiquei entre 1107 00:51:57,610 --> 00:52:01,420 marcas que quero facer este código. 1108 00:52:01,420 --> 00:52:03,380 Agora, imos ver en un momento Por que isto é útil. 1109 00:52:03,380 --> 00:52:05,630 Pero imos abrir outro exemplo aquí. 1110 00:52:05,630 --> 00:52:10,430 Déixeme ir adiante e abrir dicir: gedit condicións dunha. 1111 00:52:10,430 --> 00:52:12,970 >> Este é o camiño de volta no tempo. 1112 00:52:12,970 --> 00:52:16,320 Pero semanas, eu creo que, nunha semana ou dúas semanas, tivemos un exemplo chamada 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 E decidín reimplementar en PHP, só a sorte de destacar que 1115 00:52:22,050 --> 00:52:26,500 PHP, sintaticamente, é case idéntico a C. Isto non é un enorme salto 1116 00:52:26,500 --> 00:52:27,840 da semana pasada a esta. 1117 00:52:27,840 --> 00:52:31,230 >> Teña en conta na parte superior do programa, que comeza, como antes, con algunha 1118 00:52:31,230 --> 00:52:34,260 comentarios, que vou me librar como unha distracción. 1119 00:52:34,260 --> 00:52:37,410 Repare que eu estou en PHP Modo neste arquivo. 1120 00:52:37,410 --> 00:52:40,160 Entón este código, imos ver, serán executados. 1121 00:52:40,160 --> 00:52:42,670 Teña en conta que hai readline, que é, probablemente, o 1122 00:52:42,670 --> 00:52:46,230 analóxico en PHP de getstring. 1123 00:52:46,230 --> 00:52:47,390 Teña en conta que é un pouco diferente. 1124 00:52:47,390 --> 00:52:51,410 Realmente especificar un aviso ao función chamada liña lida, e iso é 1125 00:52:51,410 --> 00:52:52,180 o que o usuario ve. 1126 00:52:52,180 --> 00:52:53,520 Entón non ten que printf manual. 1127 00:52:53,520 --> 00:52:54,860 Pero isto non é un gran negocio. 1128 00:52:54,860 --> 00:52:59,150 Vou gardar, dentro $ n, o valor dese retorno, calquera que sexa o 1129 00:52:59,150 --> 00:53:00,490 usuario escribe é a súa int. 1130 00:53:00,490 --> 00:53:01,660 E aquí está outra curiosidade. 1131 00:53:01,660 --> 00:53:05,810 Acontece que, en PHP, calquera variable só ten que ser prefixado 1132 00:53:05,810 --> 00:53:06,970 cun cifrão. 1133 00:53:06,970 --> 00:53:08,110 É un pouco aburrido. 1134 00:53:08,110 --> 00:53:10,870 Mais repare que eu non fixen en PHP. 1135 00:53:10,870 --> 00:53:13,980 O que falta na man esquerda lado do signo igual? 1136 00:53:13,980 --> 00:53:15,430 >> Ningunha mención do tipo. 1137 00:53:15,430 --> 00:53:19,400 Entón, iso é distinto de C. Para mellor ou para o mal, o PHP é unha vagamente 1138 00:53:19,400 --> 00:53:20,550 linguaxe ingresaran. 1139 00:53:20,550 --> 00:53:22,010 Ten números. 1140 00:53:22,010 --> 00:53:23,240 Ela ten cadeas. 1141 00:53:23,240 --> 00:53:24,015 Ela ten booleanos. 1142 00:53:24,015 --> 00:53:26,220 E ten algo outros tipos de datos. 1143 00:53:26,220 --> 00:53:30,570 Pero, o programador, xeralmente Non se preocupe con eles. 1144 00:53:30,570 --> 00:53:34,010 A vantaxe disto é que fai un pouco máis fácil de programar. 1145 00:53:34,010 --> 00:53:35,380 Pode pensar un pouco menos. 1146 00:53:35,380 --> 00:53:39,840 A desvantaxe é que tamén lle abre para posibles erros, se accidentalmente 1147 00:53:39,840 --> 00:53:43,080 tratar un número como unha cadea, unha cadea como un número, potencialmente, pero aínda 1148 00:53:43,080 --> 00:53:46,150 entón, PHP, e unha chea de idiomas, son moi tolerantes. 1149 00:53:46,150 --> 00:53:49,050 Eles van usar o que se chama conversión implícita. 1150 00:53:49,050 --> 00:53:55,220 E se tentar empregar n, no contexto dunha situación numérica, será 1151 00:53:55,220 --> 00:53:58,040 converter o que aquí será un cadea, porque, se o usuario escribe 1152 00:53:58,040 --> 00:54:01,570 algo, e obter o resultado, como con readline, ou chegar a cadea, 1153 00:54:01,570 --> 00:54:02,910 que vai voltar unha cadea. 1154 00:54:02,910 --> 00:54:07,360 >> Pero teña en conta, algunhas liñas despois, eu comprobar se n é maior que cero. 1155 00:54:07,360 --> 00:54:13,370 Entón PHP lanzará implicitamente miña 123 "cadea", ou o que o usuario 1156 00:54:13,370 --> 00:54:14,860 tipos de, nun int. 1157 00:54:14,860 --> 00:54:18,730 Así, en breve, o material só funciona moito máis intuitiva. 1158 00:54:18,730 --> 00:54:23,410 Así, temos agora comezar a relaxarse ​​algunhas das as cousas que fixemos no pasado. 1159 00:54:23,410 --> 00:54:24,780 >> Unha gran cantidade deste material é o mesmo, con todo. 1160 00:54:24,780 --> 00:54:26,340 Aínda non é igual a igual. 1161 00:54:26,340 --> 00:54:30,350 Como un aparte PHP tamén coincide coincide iguais, pero máis sobre iso, quizais, en 1162 00:54:30,350 --> 00:54:30,850 futuro. 1163 00:54:30,850 --> 00:54:31,150 Esa foi unha. 1164 00:54:31,150 --> 00:54:35,660 Typo pero dous sinais igual significa o mesmo cousa como antes, para comparación. 1165 00:54:35,660 --> 00:54:37,060 printf significa o mesmo que antes. 1166 00:54:37,060 --> 00:54:39,160 Barra invertida n significa o mesmo cousa como antes. 1167 00:54:39,160 --> 00:54:40,390 >> Entón, como fago para executar este programa? 1168 00:54:40,390 --> 00:54:44,400 Ben, como antes, se eu fai PHP, conditions1.php e escriba 1169 00:54:44,400 --> 00:54:46,560 un número como 123. 1170 00:54:46,560 --> 00:54:47,720 Este é un número positivo. 1171 00:54:47,720 --> 00:54:49,510 Se eu escribir 0, I elixir 0. 1172 00:54:49,510 --> 00:54:53,700 E se eu escribir 123 negativo, eu fico facer un número negativo, que é só 1173 00:54:53,700 --> 00:54:59,050 é dicir, sintaticamente, PHP é super, super similar. 1174 00:54:59,050 --> 00:55:03,250 >> Entón, por que iso agora útil nun contexto web? 1175 00:55:03,250 --> 00:55:06,710 Ben, imos volver a este froshims exemplo, que parecía, 1176 00:55:06,710 --> 00:55:08,600 de novo, como este aquí. 1177 00:55:08,600 --> 00:55:11,580 E imos realmente puxar arriba a páxina web de novo, o que semella iso. 1178 00:55:11,580 --> 00:55:14,930 Que podemos facer co datos que aparecen? 1179 00:55:14,930 --> 00:55:18,770 >> Ben, deixe-me abrir unha nova versión deste. 1180 00:55:18,770 --> 00:55:20,920 E vai ver que o problema especificación actuacións anda vostede 1181 00:55:20,920 --> 00:55:22,850 a través de algúns deles. 1182 00:55:22,850 --> 00:55:29,610 En vez de comezar con cero, imos ollar para froshims3, 1183 00:55:29,610 --> 00:55:31,410 que fai un pouco máis. 1184 00:55:31,410 --> 00:55:34,780 >> Teña en conta en primeiro lugar, de feito, imos abrir o que 0 é, entón ve 1185 00:55:34,780 --> 00:55:37,170 o rexistro 0 era. 1186 00:55:37,170 --> 00:55:40,040 Teña en conta o rexistro 0 fixo. 1187 00:55:40,040 --> 00:55:41,730 Un deles, eu teño comentarios na parte superior. 1188 00:55:41,730 --> 00:55:43,900 Eliminar os e centrar só iso. 1189 00:55:43,900 --> 00:55:48,730 A maior parte do contido de register0.php son, obviamente, que lingua? 1190 00:55:48,730 --> 00:55:49,980 Só PHP cru. 1191 00:55:49,980 --> 00:55:53,430 >> Así, o aviso previo, este arquivo non comezar con, no momento, o apoio aberto, 1192 00:55:53,430 --> 00:55:54,970 punto de interrogação, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP non permite que se mesturan Código PHP con etiquetas HTML. 1194 00:55:59,800 --> 00:56:04,130 Pero eu fixen iso aquí dentro da páxina aquí. 1195 00:56:04,130 --> 00:56:08,180 >> Agora, de novo, só se sabe que iso despois mirou para o guía. print_r, 1196 00:56:08,180 --> 00:56:13,410 ao parecer, é print_recursive. _recursive E este é só un práctico 1197 00:56:13,410 --> 00:56:16,780 función de utilidade que imprime, recursiva, o que entregalo. 1198 00:56:16,780 --> 00:56:18,760 Se entrega-lo dunha matriz, vai imprimir un array. 1199 00:56:18,760 --> 00:56:20,180 Se entrega-lo un número, vai imprimir un número. 1200 00:56:20,180 --> 00:56:21,570 Entregalo a corda, que vai imprimir unha cadea. 1201 00:56:21,570 --> 00:56:24,500 Se entrega-lo unha táboa hash, el imprimirá unha táboa hash. 1202 00:56:24,500 --> 00:56:26,730 Non ten que escribir todo de que o código só. 1203 00:56:26,730 --> 00:56:29,490 >> Agora conta que eu estou entrando Modo PHP aquí. 1204 00:56:29,490 --> 00:56:32,070 Estou saíndo do modo PHP aquí. 1205 00:56:32,070 --> 00:56:35,950 Así, cando o servidor web le este ficheiro de arriba abaixo, de esquerda a dereita, porque 1206 00:56:35,950 --> 00:56:40,750 remata nun ficheiro chamado. php, todo o que non está dentro de etiquetas PHP é 1207 00:56:40,750 --> 00:56:42,820 só será pincho fóra, como HTML puro. 1208 00:56:42,820 --> 00:56:43,630 Non é gran cousa. 1209 00:56:43,630 --> 00:56:49,280 Pero tan pronto o servidor web conta iso, que vai dicir que eu non debería 1210 00:56:49,280 --> 00:56:51,850 cuspir literalmente print_r do post. 1211 00:56:51,850 --> 00:56:54,910 Eu debería executar a seguinte liña de código. 1212 00:56:54,910 --> 00:56:59,850 >> Así, a última pregunta, entón, é esta imaxe é, así, o que diaños é isto? 1213 00:56:59,850 --> 00:57:00,530 Tomé un palpite. 1214 00:57:00,530 --> 00:57:04,230 Que é de R $ _POST, probablemente? 1215 00:57:04,230 --> 00:57:07,070 >> Audiencia: [inaudível] 1216 00:57:07,070 --> 00:57:08,830 >> COLUMNA 1: Si, os datos publicados. 1217 00:57:08,830 --> 00:57:11,350 Lembre, imos rolar de volta tempo por só un momento. 1218 00:57:11,350 --> 00:57:13,165 froshim0, unha vez máis, quedou así. 1219 00:57:13,165 --> 00:57:15,640 Un super maioría deste é só HTML. 1220 00:57:15,640 --> 00:57:18,410 Unha vez máis, algunhas marcas que non ten visto aínda, ou cos que 1221 00:57:18,410 --> 00:57:19,360 xa está familiarizado. 1222 00:57:19,360 --> 00:57:21,990 Pero o interesante foi iso. 1223 00:57:21,990 --> 00:57:27,270 Esta liña é o que realmente une para o noso arquivo register0.php. 1224 00:57:27,270 --> 00:57:29,200 Estou enviando vía método post. 1225 00:57:29,200 --> 00:57:33,130 E isto significa que os parámetros o usuario escribe non son 1226 00:57:33,130 --> 00:57:35,150 vai acabar onde. 1227 00:57:35,150 --> 00:57:36,175 >> Eles non van para aparecerá na URL. 1228 00:57:36,175 --> 00:57:39,020 Eles aínda van ser enviadas dende o do cliente, desde o navegador, 1229 00:57:39,020 --> 00:57:42,080 servidor, pero só a través dalgún outro mecanismo que imos renunciar a nosas mans 1230 00:57:42,080 --> 00:57:44,330 no para hoxe, pero non é na URL. 1231 00:57:44,330 --> 00:57:47,630 Pero teña en conta a relación agora con post, que, por convención, é 1232 00:57:47,630 --> 00:57:49,160 minúsculas aquí. 1233 00:57:49,160 --> 00:57:54,090 >> Pero se eu abrir register0.php, Estou parecer imprimir esta. 1234 00:57:54,090 --> 00:57:56,450 Polo tanto, esta é unha especie de estraño convención de nomenclatura. 1235 00:57:56,450 --> 00:58:01,430 Pero o que é bo en PHP é que, cando usando PHP nun contexto web, non nun 1236 00:58:01,430 --> 00:58:04,480 liña de comandos, como eu fixen hai pouco, cando está realmente usalo nun web 1237 00:58:04,480 --> 00:58:10,580 páxina, nun directorio VHost como somos, PHP automaticamente pode cubrir esta 1238 00:58:10,580 --> 00:58:15,560 cousa, que é unha matriz asociativa, por así dicir, unha táboa hash, con 1239 00:58:15,560 --> 00:58:17,290 todo o que o usuario inseriu dentro 1240 00:58:17,290 --> 00:58:22,000 >> En suma, $ _POST en todas as tapas é un variable global que o PHP só 1241 00:58:22,000 --> 00:58:25,050 Magic crea para vostede cando usando PHP nun contexto web. 1242 00:58:25,050 --> 00:58:29,160 E pon dentro de todo o nomes dos parámetros na forma en que 1243 00:58:29,160 --> 00:58:33,200 foi sometido a este ficheiro e todos os valores que o usuario inseriu dentro 1244 00:58:33,200 --> 00:58:37,790 Por iso, entrégalle o que o usuario ingresaran no formulario. 1245 00:58:37,790 --> 00:58:42,210 >> Entón, antes, debemos saída realmente parvo de só ver iso, porque todo o que fixen 1246 00:58:42,210 --> 00:58:44,400 foi recursivamente imprimir este array. 1247 00:58:44,400 --> 00:58:46,060 A clave é o nome, o valor é David. 1248 00:58:46,060 --> 00:58:46,980 A clave é o capitán. 1249 00:58:46,980 --> 00:58:47,970 O valor está conectado. 1250 00:58:47,970 --> 00:58:52,300 E a frecha dobre e do ángulo soporte de alí, isto é só arbitraria. 1251 00:58:52,300 --> 00:58:53,270 Isto non é un código. 1252 00:58:53,270 --> 00:58:57,690 Esta é só unha forma de amosar que de PHP cal é o valor dalgunha clave é. 1253 00:58:57,690 --> 00:59:03,000 >> Pero agora déixeme propoñer que, en froshIMs3, é case idéntico 1254 00:59:03,000 --> 00:59:04,950 salvo que se somete a ese ficheiro. 1255 00:59:04,950 --> 00:59:08,570 E, de novo, imos medio que mirar para iso, só para ver algúns 1256 00:59:08,570 --> 00:59:12,040 sintaxe, pero teña en conta o que este ficheiro fai. 1257 00:59:12,040 --> 00:59:14,930 Dar un palpite baseado só nas liñas de código, o que probablemente se parecen 1258 00:59:14,930 --> 00:59:17,410 Grego, en certa medida, aparentemente está facendo. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Este ficheiro é de algunha maneira relacionados ao correo, correo electrónico. 1261 00:59:23,110 --> 00:59:24,770 Entón o que é este programa está facendo? 1262 00:59:24,770 --> 00:59:28,740 Nesta versión, se eu fose realmente enche este formulario - e déixeme ir 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, non froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 o xeito que parece o mesmo. 1266 00:59:34,540 --> 00:59:37,980 David, capitán, do sexo masculino, dormitorio, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Pero se eu enviar isto, esta imaxe é indo a ir a register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> E eu afirmo, de ollar para el é código fonte, que vai 1269 00:59:46,330 --> 00:59:47,650 implican algunha forma de correo electrónico. 1270 00:59:47,650 --> 00:59:49,620 Déixeme ir adiante e abrir este nunha fiestra máis grande, entón nós 1271 00:59:49,620 --> 00:59:51,030 pode ve-la máis limpa. 1272 00:59:51,030 --> 00:59:57,220 Estamos en VHosts, servidor local, público, froshims. 1273 00:59:57,220 --> 00:59:58,680 Vou abrir unha diferente programa, só para que 1274 00:59:58,680 --> 01:00:00,160 Pode ver máis dunha vez. 1275 01:00:00,160 --> 01:00:03,100 >> Entón, agora aquí, teña en conta algunhas cousas. 1276 01:00:03,100 --> 01:00:06,530 Na parte superior do ficheiro está aberto soporte, punto de interrogación, PHP. 1277 01:00:06,530 --> 01:00:08,920 Despois, hai unha morea de comentarios, que podemos pasar por alto, é 1278 01:00:08,920 --> 01:00:10,450 desinteressante para agora. 1279 01:00:10,450 --> 01:00:11,300 >> Agora hai este. 1280 01:00:11,300 --> 01:00:14,200 Acontece PHP ten unha morea de código chamado precisa. 1281 01:00:14,200 --> 01:00:19,110 É moi semellante en espírito á C do incluír, mestura include, que 1282 01:00:19,110 --> 01:00:21,980 esencialmente agarra o contido dalgúns outro arquivo e só se Estatela los aquí, 1283 01:00:21,980 --> 01:00:22,930 para que poida usalos. 1284 01:00:22,930 --> 01:00:27,060 Neste caso, o aparello ten, preinstalado, unha biblioteca, libre e 1285 01:00:27,060 --> 01:00:29,900 biblioteca de código aberto chamado PHP sistema de correo que calquera pode 1286 01:00:29,900 --> 01:00:30,770 descargar de internet. 1287 01:00:30,770 --> 01:00:32,000 Nós só fixemos isto por ti. 1288 01:00:32,000 --> 01:00:36,130 E isto significa que agora teño correo-e función á miña disposición. 1289 01:00:36,130 --> 01:00:38,170 >> Agora, teña en conta algunhas cousas. 1290 01:00:38,170 --> 01:00:41,120 Eu estou indo a validar a envío do formulario. 1291 01:00:41,120 --> 01:00:45,980 Acontece que PHP, un, ten de admiración puntos para o operador, non só como 1292 01:00:45,980 --> 01:00:49,810 C. Pero o PHP tamén ten unha función chamado baleiro. 1293 01:00:49,810 --> 01:00:53,920 >> Baleiro, só devolve true se o valor da cousa que entrega-lo 1294 01:00:53,920 --> 01:00:57,190 parénteses está baleira, como o usuario non escribir nada dentro 1295 01:00:57,190 --> 01:01:02,680 Entón, iso está dicindo, e observará o sintaxe, lembra moito C, se o 1296 01:01:02,680 --> 01:01:07,730 clave de nome, de xeito que o campo nome no formulario, que foi sometido a través de correo, por 1297 01:01:07,730 --> 01:01:13,010 o usuario, non é baleira, ea súa xénero non é baleiro na forma en que 1298 01:01:13,010 --> 01:01:15,980 ben, e seu dormitorio non é baleiro - 1299 01:01:15,980 --> 01:01:19,980 mais repare que eu non me importa o capitán, entón que é o que imos facer? 1300 01:01:19,980 --> 01:01:21,990 >> Eu estou indo a executar esta liña de código. 1301 01:01:21,990 --> 01:01:24,100 E pode pensar neste tipo de como malloc, pero é un pouco 1302 01:01:24,100 --> 01:01:24,800 máis sofisticado do que iso. 1303 01:01:24,800 --> 01:01:29,200 Pero de momento isto me dá unha especial struct do tipo PHP sistema de correo. 1304 01:01:29,200 --> 01:01:31,410 Pero ignorar a palabra chave new para hoxe. 1305 01:01:31,410 --> 01:01:35,670 >> Agora eu vou chamar a unha función chamada IsSMTP, que di: usar SMTP. 1306 01:01:35,670 --> 01:01:39,380 Este é o porto 25, así como o vídeo a semana pasada, cando a cousa estaba xogando 1307 01:01:39,380 --> 01:01:40,710 correos electrónicos ao cortalumes. 1308 01:01:40,710 --> 01:01:42,440 A porta 25 é SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP significa usar o servidor de correo-e. 1310 01:01:44,410 --> 01:01:46,215 Cal deles, 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 definir a partir do enderezo ser John Harvard. 1313 01:01:51,590 --> 01:01:55,090 Se eu rolar máis lonxe, podo establecer o enderezo do destinatario, só 1314 01:01:55,090 --> 01:01:56,840 arbitrariamente, ser John Harvard é así. 1315 01:01:56,840 --> 01:01:59,210 Entón, que vai ser o propio correo electrónico. 1316 01:01:59,210 --> 01:02:01,600 >> Agora podo axustar o asunto ser de rexistro. 1317 01:02:01,600 --> 01:02:03,700 E podo facer que o corpo de correo electrónico do seguinte xeito. 1318 01:02:03,700 --> 01:02:06,500 Esa liña parece algo máis enigmática, pero iso é só porque hai moito 1319 01:02:06,500 --> 01:02:07,450 da información nel contida. 1320 01:02:07,450 --> 01:02:10,670 Un deles, hai un operador punto. 1321 01:02:10,670 --> 01:02:14,510 Alguén xa debería saber o que o operador punto fai. 1322 01:02:14,510 --> 01:02:15,436 É concatenação. 1323 01:02:15,436 --> 01:02:19,240 Entón, se quere ter unha cadea en PHP, e anexo-la, ou preceder-lo, 1324 01:02:19,240 --> 01:02:23,500 outra cadea en PHP, grazas a Deus lle Non ten que usar strcopy e malloc, 1325 01:02:23,500 --> 01:02:25,490 e todo iso máis. 1326 01:02:25,490 --> 01:02:28,765 >> Se quere concatenar dúas cadeas, que se preocupa a memoria. 1327 01:02:28,765 --> 01:02:30,850 Imos figura PHP que para ti. 1328 01:02:30,850 --> 01:02:35,200 PHP fará co operador punto aquí é só facer unha gran frase fóra 1329 01:02:35,200 --> 01:02:37,900 desta liña, esta liña, Nesta liña, esta liña. 1330 01:02:37,900 --> 01:02:40,460 E agora, o aviso previo, que vai a conectar os valores. 1331 01:02:40,460 --> 01:02:43,680 Así, o correo electrónico que John Harvard vai para recibir é, literalmente, vai dicir 1332 01:02:43,680 --> 01:02:49,450 nome, colon, algo mellor, entón nós pechar a corda e concatenar en 1333 01:02:49,450 --> 01:02:52,220 o que o usuario inseriu no, entón unha nova liña. 1334 01:02:52,220 --> 01:02:54,570 >> A continuación, na seguinte liña de John Harvard correo electrónico, que vai dicir 1335 01:02:54,570 --> 01:02:55,910 Capitán, On ou Nada. 1336 01:02:55,910 --> 01:02:57,810 Vai dicir o sexo, masculino ou feminino. 1337 01:02:57,810 --> 01:02:59,680 Dormitorio será Matthews no meu caso. 1338 01:02:59,680 --> 01:03:03,400 E, a continuación, entender coma familiarizado ao final. 1339 01:03:03,400 --> 01:03:07,830 E entón, aquí abaixo, o aviso previo, algo enigmática aínda, pero, de novo, seguindo unha 1340 01:03:07,830 --> 01:03:12,730 estándar que vai facer máis familiar P tras axuste 7, se o envío de correo-e 1341 01:03:12,730 --> 01:03:16,610 devolve false, entón vai adiante e morrer. 1342 01:03:16,610 --> 01:03:19,610 >> Entón, PHP ten unha función chamada morrer, que, literalmente, só mata o 1343 01:03:19,610 --> 01:03:22,830 web e só amosa o que diga a el - o está a morrer 1344 01:03:22,830 --> 01:03:24,280 palabras, por así dicir. 1345 01:03:24,280 --> 01:03:28,310 E que, no caso, el ha imprimir o que a información de erro é de 1346 01:03:28,310 --> 01:03:29,860 o que pasou para dar mal. 1347 01:03:29,860 --> 01:03:34,490 Así, longa historia curta aquí, o que temos é un exemplo en que, cando o usuario 1348 01:03:34,490 --> 01:03:39,150 envía o formulario, froshim0, froshims3.php, que vai para 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Pero register3.php prosegue entón para realizar todas estas liñas. 1351 01:03:45,290 --> 01:03:46,620 >> Polo tanto, hai algunhas desmarcações tomar aquí. 1352 01:03:46,620 --> 01:03:50,380 Unha, é aparentemente moi fácil, programaticamente, para enviar correos electrónicos, 1353 01:03:50,380 --> 01:03:50,830 cal é bo. 1354 01:03:50,830 --> 01:03:53,500 Cando os usuarios rexistrar para a súa web, en Neste caso, cando se rexistrar para a súa 1355 01:03:53,500 --> 01:03:56,220 deporte, pode enviar o calouro Proctor, ou John 1356 01:03:56,220 --> 01:03:57,650 Harvard, neste caso. 1357 01:03:57,650 --> 01:04:01,630 >> Pero iso tamén significa que pode facer o que? 1358 01:04:01,630 --> 01:04:03,970 Enviar un correo dende calquera a calquera. 1359 01:04:03,970 --> 01:04:05,430 E iso é moi certo. 1360 01:04:05,430 --> 01:04:08,580 Isto non é tan fácil de facer se está acostumado a usar o Gmail. 1361 01:04:08,580 --> 01:04:11,310 Pero se xa usou ou Eudora Outlook, pode moi ben contar unha 1362 01:04:11,310 --> 01:04:13,720 servidor de correo que é quen queira. 1363 01:04:13,720 --> 01:04:16,450 E é aí que eu teño para poñer en ese sombreiro e dicir: non fagas iso. 1364 01:04:16,450 --> 01:04:21,140 Pero iso é proba de quão doado é para realizar ataques de phishing, e 1365 01:04:21,140 --> 01:04:24,310 enviar un correo anónimos e Spam, de xeito máis xeral. 1366 01:04:24,310 --> 01:04:27,330 E realmente se reduce á feito de que todo o que precisa é de algúns 1367 01:04:27,330 --> 01:04:28,500 acceso programático. 1368 01:04:28,500 --> 01:04:31,940 >> Como un aparte, o meu encontro máis próximo con a tarxeta do anuncio, o meu primeiro ano, 1369 01:04:31,940 --> 01:04:34,320 Foi cando descubrín que legal truco que, uau, pode 1370 01:04:34,320 --> 01:04:36,850 enviar correos electrónicos a partir de calquera. 1371 01:04:36,850 --> 01:04:39,770 E así estabamos tendo algún parvo argumento, literalmente, en Matthews, 1372 01:04:39,770 --> 01:04:40,790 entre o meu grupo Proctor. 1373 01:04:40,790 --> 01:04:42,470 Eu nin me lembro cal era o problema. 1374 01:04:42,470 --> 01:04:44,970 Pero eu quería tentar poñer un fin a este debate estúpido. 1375 01:04:44,970 --> 01:04:48,580 >> Entón eu decidir que só enviará un correo electrónico ao meu grupo Proctor, finxindo ser 1376 01:04:48,580 --> 01:04:52,000 outro cara, con cuxa opinión eu desacordo, e telo de acordo con 1377 01:04:52,000 --> 01:04:54,680 calquera que sexa a miña opinión foi en este debate concreto. 1378 01:04:54,680 --> 01:04:59,320 E así eu forxou este correo a través dun técnica similar en espírito para iso. 1379 01:04:59,320 --> 01:05:01,256 Pero foi realmente máis fácil no momento. 1380 01:05:01,256 --> 01:05:02,435 Prema en enviar. 1381 01:05:02,435 --> 01:05:06,660 El non estaba satisfeito, nin ser a tarxeta do anuncio. 1382 01:05:06,660 --> 01:05:10,280 >> E eu estaba moi rapidamente capturadas en segundo, porque como vostede sabe, eu asino 1383 01:05:10,280 --> 01:05:11,420 meus correos electrónicos dunha certa maneira. 1384 01:05:11,420 --> 01:05:14,200 E a pesar de eu facelo manualmente, en gran parte, 15 anos despois, porque eu estaba 1385 01:05:14,200 --> 01:05:15,080 traumatizado por iso. 1386 01:05:15,080 --> 01:05:16,960 Non teño unha sinatura no meu correo agora. 1387 01:05:16,960 --> 01:05:20,440 Pero en 1995, eu só tiña un SIX, unha sinatura no meu correo electrónico. 1388 01:05:20,440 --> 01:05:24,630 Entón houbo esa nota dicindo, Dear Grupo Proctor, eu aquiescer miña opinión 1389 01:05:24,630 --> 01:05:31,240 e estou de acordo con David, asinado así e así, nova liña, nova liña, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Polo tanto, non faga iso, ou, en xeral, tomar vantaxe desta técnica. 1391 01:05:36,220 --> 01:05:39,950 Pero cando facer un sitio, como, por seu proxecto final, ao facer unha 1392 01:05:39,950 --> 01:05:43,460 sitio para algo emprendedor, é así que, pragmaticamente, é posible 1393 01:05:43,460 --> 01:05:47,000 alavancar outros servizos en Internet como correo electrónico e logo, en realidade, 1394 01:05:47,000 --> 01:05:49,440 enviar cousas usando código. 1395 01:05:49,440 --> 01:05:51,240 >> Entón, como podemos mellorar isto? 1396 01:05:51,240 --> 01:05:54,370 Ben, primeiro imos dar un rápido paseo algunhas das cousas que vai ver, 1397 01:05:54,370 --> 01:05:56,170 e logo, un ollo un par de exemplos. 1398 01:05:56,170 --> 01:05:59,500 Entón, un, para tranquilizar porque Estamos voando a través do PHP. 1399 01:05:59,500 --> 01:06:02,470 E sei que, nalgún momento, vai ter para realmente comezar a escribir este 1400 01:06:02,470 --> 01:06:03,460 non o fixo. 1401 01:06:03,460 --> 01:06:06,220 Entenda que, unha, principal especie de fóra da fiestra con PHP. 1402 01:06:06,220 --> 01:06:09,420 Se queres escribir un código que recibe executado, pode comezar a escribir en 1403 01:06:09,420 --> 01:06:13,970 un ficheiro chamado. php mentres ten o soporte aberto 1404 01:06:13,970 --> 01:06:15,620 punto de interrogação PHP tag. 1405 01:06:15,620 --> 01:06:19,730 >> Pero teña en conta que estes son condicións en PHP. 1406 01:06:19,730 --> 01:06:22,610 Note, este é exactamente o mesmo foto tivemos unha semana, cando tivemos 1407 01:06:22,610 --> 01:06:25,670 en condicións en condicións C. PHP son estruturalmente e 1408 01:06:25,670 --> 01:06:27,140 sintaticamente a mesma. 1409 01:06:27,140 --> 01:06:30,290 Única verdadeira diferenza é que ten variables involucradas, ten aqueles 1410 01:06:30,290 --> 01:06:31,600 cifrões. 1411 01:06:31,600 --> 01:06:33,970 >> Mentres tanto, as expresións booleanas ollar só como este para 1412 01:06:33,970 --> 01:06:35,725 ou-ing ou e-ing xuntos. 1413 01:06:35,725 --> 01:06:37,780 Switches exactamente o mesmo. 1414 01:06:37,780 --> 01:06:42,180 O que é bo en PHP, mentres que no C, interruptores ten que ser en casos 1415 01:06:42,180 --> 01:06:46,380 primitivos como enteiros ou chars, en PHP as súas declaracións de casos realmente pode ser 1416 01:06:46,380 --> 01:06:48,430 sobre toda unha corda, que é en realidade, unha especie de bo. 1417 01:06:48,430 --> 01:06:49,480 Aforre-lle moito tempo. 1418 01:06:49,480 --> 01:06:50,820 Non podería facelo en C. 1419 01:06:50,820 --> 01:06:52,880 >> Velaquí un loop en PHP. 1420 01:06:52,880 --> 01:06:53,740 É idéntico. 1421 01:06:53,740 --> 01:06:55,400 Dispoña de cifrões para as variables. 1422 01:06:55,400 --> 01:06:57,530 Non ten que mencionar que algo é un int. 1423 01:06:57,530 --> 01:07:00,580 Vostede só declaralo lo con un sinal de dólar e nome da variable. 1424 01:07:00,580 --> 01:07:01,430 Pero un loop é o mesmo. 1425 01:07:01,430 --> 01:07:02,760 Un loop while é o mesmo. 1426 01:07:02,760 --> 01:07:04,870 A facer loop while é o mesmo. 1427 01:07:04,870 --> 01:07:06,170 >> Este é un pouco diferente. 1428 01:07:06,170 --> 01:07:12,410 Así, con PHP, cunha matriz, pode estaticamente declarar unha matriz, como en A, 1429 01:07:12,410 --> 01:07:14,420 pero usa corchetes. 1430 01:07:14,420 --> 01:07:17,060 En C, que podería usar chaves, se mesmo sabía. 1431 01:07:17,060 --> 01:07:20,910 Pero iso é realmente moi común en PHP para declarar unha matriz, no caso en apreciado, 1432 01:07:20,910 --> 01:07:23,640 de números, e chamar o número de variables. 1433 01:07:23,640 --> 01:07:25,300 >> Propias variables semellante a esta. 1434 01:07:25,300 --> 01:07:28,710 Aquí está unha corda, cita da cita "Ola mundo ". Podería ter unha barra invertida n. 1435 01:07:28,710 --> 01:07:30,950 Eu simplemente non neste caso. 1436 01:07:30,950 --> 01:07:32,640 >> Agora, esta é unha construción interesante. 1437 01:07:32,640 --> 01:07:33,700 C non ten iso. 1438 01:07:33,700 --> 01:07:34,700 Pero isto é super útil. 1439 01:07:34,700 --> 01:07:38,160 E vai ver isto en I set 7 especificación - un para cada constructo. 1440 01:07:38,160 --> 01:07:41,800 Se queres reiterar sobre toda a elementos dunha matriz, non ten 1441 01:07:41,800 --> 01:07:45,500 para xestionar i $ e $ n, e + +, e todo iso. 1442 01:07:45,500 --> 01:07:47,640 Pode literalmente dicir, en PHP, este - 1443 01:07:47,640 --> 01:07:51,890 para cada número como número, de xeito Estou asumindo que $ números 1444 01:07:51,890 --> 01:07:53,380 é unha matriz de números. 1445 01:07:53,380 --> 01:07:56,460 E cando digo para cada número como o número, este vai 1446 01:07:56,460 --> 01:08:00,505 automaticamente, como o meu loop é executado, actualizar, en cada iteración, o valor 1447 01:08:00,505 --> 01:08:03,260 dentro do número de cifrão - 1448 01:08:03,260 --> 01:08:07,730 de novo, e de novo, e de novo camiñando para min sobre esta matriz. 1449 01:08:07,730 --> 01:08:08,735 Por iso, só nos salva código. 1450 01:08:08,735 --> 01:08:12,250 Non hai punto e coma, sen + + 's, no i é, non n da, é só bo. 1451 01:08:12,250 --> 01:08:13,700 >> Pero o PHP tamén ten iso. 1452 01:08:13,700 --> 01:08:14,830 E iso é super poderoso. 1453 01:08:14,830 --> 01:08:17,410 E vai usar isto, mans diante, conxuntamente P 7. 1454 01:08:17,410 --> 01:08:21,990 E matriz asociativa tamén é declarada con corchetes. 1455 01:08:21,990 --> 01:08:23,569 Pero teña en conta a sintaxe agora. 1456 01:08:23,569 --> 01:08:26,880 É unha reminiscencia do que vimos con print_r un momento atrás. 1457 01:08:26,880 --> 01:08:31,810 Cantas claves, como un pouco de verificación de sanidade, que esta matriz parecen. 1458 01:08:31,810 --> 01:08:32,689 >> Por iso, ten dous. 1459 01:08:32,689 --> 01:08:33,830 E chaman iso dunha matriz. 1460 01:08:33,830 --> 01:08:36,760 Pero se iso axuda, pode pensar desta táboa, como mestura, ou como 1461 01:08:36,760 --> 01:08:37,930 unha matriz asociativa. 1462 01:08:37,930 --> 01:08:39,580 Pero é só unha diferente tipo de matriz. 1463 01:08:39,580 --> 01:08:41,080 E, de novo, linguas diferentes telos. 1464 01:08:41,080 --> 01:08:43,810 Veremos algo parecido en JavaScript tamén. 1465 01:08:43,810 --> 01:08:44,609 Hai dúas chaves. 1466 01:08:44,609 --> 01:08:48,390 Un deles está entre comiñas, "símbolo", unha é citar unquote "prezo". E esas claves 1467 01:08:48,390 --> 01:08:49,250 cada un ten un valor. 1468 01:08:49,250 --> 01:08:54,420 Neste caso, o valor do símbolo é FB, por Valor Facebook, e de prezo é de 49, 26, 1469 01:08:54,420 --> 01:08:56,899 que era das accións de Facebook prezo dende esta mañá. 1470 01:08:56,899 --> 01:09:00,170 >> Entón, o que é útil sobre unha matriz asociativa. 1471 01:09:00,170 --> 01:09:02,620 Podería ter un numéricamente matriz indexadas con só 1472 01:09:02,620 --> 01:09:04,120 simple corchetes. 1473 01:09:04,120 --> 01:09:09,380 E eu podería ter cifrão Cita equivale exactamente isto. 1474 01:09:09,380 --> 01:09:10,529 Déixeme realmente facelo. 1475 01:09:10,529 --> 01:09:14,796 Supoñamos que eu en vez de só declarou esa matriz así. 1476 01:09:14,796 --> 01:09:17,590 Isto é perfectamente válida, sintaticamente. 1477 01:09:17,590 --> 01:09:20,569 Non perde ningunha información, per si. 1478 01:09:20,569 --> 01:09:24,760 Eu vexo que o símbolo é fb, e que o prezo é 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Entón, por que son asociativas matrices atractivo? 1480 01:09:28,939 --> 01:09:30,189 >> Audiencia: Non ten que se lembrar onde se pon cousas. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> COLUMNA 1: Exactamente, non ten lembrar de onde se pon cousas. 1483 01:09:34,130 --> 01:09:37,670 Non ten que lembrar arbitrariamente que o símbolo da acción está na franxa de cero, 1484 01:09:37,670 --> 01:09:41,479 e os prezos das accións está nun soporte, o que é especialmente perigoso se 1485 01:09:41,479 --> 01:09:43,220 cambiar as cousas, eventualmente. 1486 01:09:43,220 --> 01:09:46,399 É moito máis agradable para asociar o que imos chamar de metadatos 1487 01:09:46,399 --> 01:09:48,340 cos seus datos reais. 1488 01:09:48,340 --> 01:09:52,399 Eu diría que o que realmente importa E aquí é fb e 49, 26. 1489 01:09:52,399 --> 01:09:57,020 O símbolo eo prezo é de metadatos que describe os datos que 1490 01:09:57,020 --> 01:09:58,180 realmente se preocupan. 1491 01:09:58,180 --> 01:10:01,910 Pero este é só moi máis fácil acceso. 1492 01:10:01,910 --> 01:10:04,090 >> Agora, como un aparte o que se o prezo que pagamos? 1493 01:10:04,090 --> 01:10:06,600 Estamos a facer iso en CS50 por semanas. 1494 01:10:06,600 --> 01:10:10,740 Esta función debe vir con algún custo. 1495 01:10:10,740 --> 01:10:11,350 Memoria. 1496 01:10:11,350 --> 01:10:13,830 Entón, non só está almacenando a 32 bits número enteiro, por exemplo. 1497 01:10:13,830 --> 01:10:17,980 Está almacenando símbolo / 0, probablemente. 1498 01:10:17,980 --> 01:10:19,160 Entón está a usar máis memoria. 1499 01:10:19,160 --> 01:10:22,540 >> E cal é a actuación de máis que nunha 1500 01:10:22,540 --> 01:10:24,822 matriz asociativa, probablemente? 1501 01:10:24,822 --> 01:10:26,590 É probablemente máis lento. 1502 01:10:26,590 --> 01:10:29,670 De acceso aleatorio é agradable, sobre todo cando se pode facer procura binaria. 1503 01:10:29,670 --> 01:10:33,380 Pero se está realmente ollando agora non por números, senón por cordas, este 1504 01:10:33,380 --> 01:10:37,630 verdadeiramente é aplicado baixo a capuz, probablemente como unha táboa hash, onde 1505 01:10:37,630 --> 01:10:42,950 usa unha táboa hash con fío separado. 1506 01:10:42,950 --> 01:10:46,040 Ou usa un intento de verdade almacenar os valores. 1507 01:10:46,040 --> 01:10:50,550 Entón, talvez poida facer o tempo constante, pero aínda ten que ollar para S-Y-M-B-O-L, 1508 01:10:50,550 --> 01:10:54,510 potencialmente, no canto de só 32 bits para buscar algo. 1509 01:10:54,510 --> 01:10:58,430 Entón, de novo, esas mesmas ideas que vén volver a repetirse neste contexto. 1510 01:10:58,430 --> 01:11:02,120 >> Pero, de novo, PHP agora ten algúns super- globals que, ao parecer, son 1511 01:11:02,120 --> 01:11:02,900 arrays asociativos. 1512 01:11:02,900 --> 01:11:05,590 Vimos un momento atrás, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 E esa super-mundial ten claves e valores. 1514 01:11:08,400 --> 01:11:10,550 En concreto, as teclas Aliñar-se co que? 1515 01:11:10,550 --> 01:11:14,520 Onde é que as claves $ _POST vén? 1516 01:11:14,520 --> 01:11:15,380 Só para recapitular? 1517 01:11:15,380 --> 01:11:16,480 >> Audiencia: Nome. 1518 01:11:16,480 --> 01:11:17,900 >> COLUMNA 1: Nome, onde? 1519 01:11:17,900 --> 01:11:19,860 >> Audiencia: [inaudível] 1520 01:11:19,860 --> 01:11:20,750 >> COLUMNA 1: Nome é o atributo. 1521 01:11:20,750 --> 01:11:23,480 Ben, onde, de onde orixinalmente vén? 1522 01:11:23,480 --> 01:11:24,120 O formulario. 1523 01:11:24,120 --> 01:11:30,140 Entón, se unha páxina HTML ten unha etiqueta de formulario, no interior dos cales son algunhas entradas, como 1524 01:11:30,140 --> 01:11:34,760 caixas, caixas de texto, desc menús, cada un dos cales ten un nome, estes 1525 01:11:34,760 --> 01:11:40,260 nomes acabar como chaves en $ _POST, e, francamente, para que o asunto, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 O método é get, mesma idea. 1527 01:11:42,130 --> 01:11:43,830 É só dunha forma diferente de super global. 1528 01:11:43,830 --> 01:11:47,620 E os valores de, por suposto, desde vir o que o usuario introduciu no seu ou 1529 01:11:47,620 --> 01:11:48,890 seu navegador. 1530 01:11:48,890 --> 01:11:49,830 >> Pero hai algúns outros. 1531 01:11:49,830 --> 01:11:52,140 Hai cookie, que imos volver eventualmente. 1532 01:11:52,140 --> 01:11:56,050 Pero estas son as cousas que vostede sabe a web emprega por algún ben ou o mal. 1533 01:11:56,050 --> 01:11:57,420 Pero imos volver a iso. 1534 01:11:57,420 --> 01:12:01,720 Servidor e sesión, e os dous ter algunha utilidade especial. 1535 01:12:01,720 --> 01:12:03,940 >> Pero imos dar un ollo niso. 1536 01:12:03,940 --> 01:12:13,330 Déixeme ir adiante e abrir un exemplo chamado mvc0.php Entón MVC 1537 01:12:13,330 --> 01:12:14,900 significa o seguinte. 1538 01:12:14,900 --> 01:12:19,390 E nós presentamos esta máis cedo do que se típico, de feito, para ti proxecto 1539 01:12:19,390 --> 01:12:22,180 7 Conxunto de problemas, e tamén os proxectos finais nunha especie de industria 1540 01:12:22,180 --> 01:12:23,670 forma estándar e forma limpa. 1541 01:12:23,670 --> 01:12:24,820 É bo deseño. 1542 01:12:24,820 --> 01:12:29,090 >> Entón, está a piques de ver, e vai experiencia en I set 7, paradigma, tipo 1543 01:12:29,090 --> 01:12:32,260 dunha mentalidade de programación, que parece un pouco algo así. 1544 01:12:32,260 --> 01:12:35,570 M para o modelo, C para Controller, V para View. 1545 01:12:35,570 --> 01:12:39,690 Longa historia curta, MVC é só un tipo dunha metodoloxía, un xeito de facer 1546 01:12:39,690 --> 01:12:43,360 sitios, en particular, a través do cal poñer toda a súa, a frase estúpida - 1547 01:12:43,360 --> 01:12:44,970 lóxica de negocios - 1548 01:12:44,970 --> 01:12:49,710 todo da súa propiedade intelectual no o que se chama un controlador, un arquivo 1549 01:12:49,710 --> 01:12:54,840 como index.php, ou veremos, quote.php ou buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> No contexto dun conxunto de problemas 7, a súa modelos xeralmente conteñen os datos, 1551 01:12:59,570 --> 01:13:03,860 calquera cousa relacionada a unha base de datos, como veremos finalmente ver, e os seus puntos de vista 1552 01:13:03,860 --> 01:13:07,510 conter a estética do seu web, HTML, o CSS. 1553 01:13:07,510 --> 01:13:10,420 Entón, xa vimos isto en C algo bits usando arquivos h .. 1554 01:13:10,420 --> 01:13:15,010 Realmente vin hai pouco con CSS, por factoring a estilización CSS 1555 01:13:15,010 --> 01:13:16,520 cousas fóra do noso HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Entón MVC é realmente só sobre deseño liñas na area e dicir: o 1557 01:13:20,730 --> 01:13:25,400 código de programación interesante para a súa sitio pertence a que chamaremos o 1558 01:13:25,400 --> 01:13:26,400 controlador. 1559 01:13:26,400 --> 01:13:29,280 Cousas relacionadas á base de datos normalmente acaba nun modelo. 1560 01:13:29,280 --> 01:13:33,070 Pero vai ver, en conxunto Problema 7, nos funden C e M para mantelo simple. 1561 01:13:33,070 --> 01:13:37,630 Pero a visión é o lugar onde todo o seu HTML e estética tipicamente ir. 1562 01:13:37,630 --> 01:13:39,160 >> Entón, o que iso significa en termos reais? 1563 01:13:39,160 --> 01:13:45,980 Ben, deixe-me ir ao noso MVC directorio como segue. 1564 01:13:45,980 --> 01:13:48,880 E vai ver máis destes excursionou por medio da especificación. 1565 01:13:48,880 --> 01:13:53,200 Así, en mvc0, eu afirmo que dicir, como, Versión 0 de sitios do CS50. 1566 01:13:53,200 --> 01:13:56,670 >> Todo o que temos é un pouco de HTML, como unha grande etiqueta h1, aparentemente. 1567 01:13:56,670 --> 01:13:57,800 E, a continuación, unha lista con viñetas. 1568 01:13:57,800 --> 01:13:59,860 Nunca vin unha lista con viñetas antes, pero non é gran cousa. 1569 01:13:59,860 --> 01:14:01,590 Imos rapidamente ollar para o código fonte. 1570 01:14:01,590 --> 01:14:06,610 Acontece que unha lista non ordenada con balas ul soporte ábrese cun ou 1571 01:14:06,610 --> 01:14:09,065 máis elementos da lista, Li 1572 01:14:09,065 --> 01:14:10,650 Entón, aviso aquí é unha marca de referencia. 1573 01:14:10,650 --> 01:14:12,130 Vimos que un momento atrás. 1574 01:14:12,130 --> 01:14:13,810 >> Entón é así que eu apliquei nesta páxina. 1575 01:14:13,810 --> 01:14:18,460 Teño dous enlaces, dous elementos de lista, un ul a lista non ordenada, e ao final 1576 01:14:18,460 --> 01:14:22,700 resultado, esteticamente, iso é moi sitio bonito, versión 0 aquí. 1577 01:14:22,700 --> 01:14:26,840 Pero o que é interesante agora é saber como este é aplicado baixo o capó. 1578 01:14:26,840 --> 01:14:33,590 >> Déixeme ir gedit e abrir este primeiro exemplo, para pintar un cadro. 1579 01:14:33,590 --> 01:14:37,070 E nós imos ollar o que está fallo, potencialmente, aquí. 1580 01:14:37,070 --> 01:14:43,260 Agora, se eu entro en localhost, público, MVC, teña en conta algúns arquivos. 1581 01:14:43,260 --> 01:14:45,780 Vou chamar a eles, ao momento, todos os controladores. 1582 01:14:45,780 --> 01:14:48,640 Pero iso é un pouco de abuso, xa que verás todo está mesturado 1583 01:14:48,640 --> 01:14:49,620 dentro delas. 1584 01:14:49,620 --> 01:14:52,330 >> E déixeme ir dentro index.php. 1585 01:14:52,330 --> 01:14:54,700 E vemos literalmente o mesmo HTML. 1586 01:14:54,700 --> 01:14:57,970 Así, aínda que este ficheiro remata en . Php, Iso non significa que ten que 1587 01:14:57,970 --> 01:14:59,500 ten algún código PHP. 1588 01:14:59,500 --> 01:15:02,290 Pode ser só HTML puro, aínda que iso é medio parvo. 1589 01:15:02,290 --> 01:15:07,650 Pero teña en conta que non hai soporte aberto PHP marcar, con excepción para iso, o que, a verdade, 1590 01:15:07,650 --> 01:15:09,160 está alí só para servir como un comentario. 1591 01:15:09,160 --> 01:15:12,080 Pero isto non é funcionalmente ata que interesante. 1592 01:15:12,080 --> 01:15:12,960 >> Pero entender iso. 1593 01:15:12,960 --> 01:15:15,400 O que é interesante é agora o que Os cambios nesta páxina. 1594 01:15:15,400 --> 01:15:16,650 Déixeme clic Conferencias. 1595 01:15:16,650 --> 01:15:18,560 E teña en conta a dirección está a piques de cambiar. 1596 01:15:18,560 --> 01:15:20,930 Agora estou no lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Déixeme clic cero. 1598 01:15:22,630 --> 01:15:27,200 Agora estou no week0.php E agora imos me abrir estes arquivos no gedit. 1599 01:15:27,200 --> 01:15:30,120 Non só o contido, pero imos me abrir conferencias. 1600 01:15:30,120 --> 01:15:33,900 E déixeme librar-se dos comentarios centrar só esta parte. 1601 01:15:33,900 --> 01:15:37,680 >> E agora déixeme abrir só un, week0.php, xogue fóra os comentarios, 1602 01:15:37,680 --> 01:15:39,910 só para limpar isto. 1603 01:15:39,910 --> 01:15:41,720 E agora entender o seguinte. 1604 01:15:41,720 --> 01:15:47,340 Pensando realmente tipo de coidado sobre deseño, e imos facelo de liña 1605 01:15:47,340 --> 01:15:52,013 anterior do mesmo, o que se pode facer mellor aquí, que pensas? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Como é que fago unha semana un? 1608 01:15:57,780 --> 01:15:58,480 Como sobre isto. 1609 01:15:58,480 --> 01:16:00,450 Entón é así que eu fixen unha semana. 1610 01:16:00,450 --> 01:16:08,290 Fun ata Arquivo, Novo, Cartafol, Gardar week1.php, e entón eu fun aquí. 1611 01:16:08,290 --> 01:16:09,875 E eu mudei un - 1612 01:16:09,875 --> 01:16:11,646 o que era aquilo, unha para o venres. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Mudei os ceros a un. 1615 01:16:15,810 --> 01:16:17,150 Eu mudei isto para unha. 1616 01:16:17,150 --> 01:16:20,350 >> OK, entón agora ollar os meus arquivos. 1617 01:16:20,350 --> 01:16:22,100 O que podería ser feito de forma diferente? 1618 01:16:22,100 --> 01:16:25,310 Onde está a oportunidade, quizais? 1619 01:16:25,310 --> 01:16:28,330 Polo tanto, hai a oportunidade de comezar factoring isto para fóra. 1620 01:16:28,330 --> 01:16:32,950 Déixeme abrir, como un spoiler, para o que vai ver en I set 7. 1621 01:16:32,950 --> 01:16:38,750 Se eu abrir-se, agora, na versión index.php cinco disto, parece moi 1622 01:16:38,750 --> 01:16:40,730 máis enigmático, en realidade. 1623 01:16:40,730 --> 01:16:43,710 >> Pero, agora, é o que eu chamo un controlador que está controlando a 1624 01:16:43,710 --> 01:16:44,770 lóxica da miña páxina. 1625 01:16:44,770 --> 01:16:48,510 E pode tipo de reconstruír, intuitivamente, se cadra, o que está a suceder. 1626 01:16:48,510 --> 01:16:50,630 Na primeira liña, está algo enigmática. 1627 01:16:50,630 --> 01:16:54,040 Mais repare que estou esixindo, como con include afiada, un arquivo chamado 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 E entón eu estou chamando, ao parecer, un función, chamada renderse, pasando 1630 01:16:59,980 --> 01:17:00,850 dous argumentos. 1631 01:17:00,850 --> 01:17:02,440 >> Unha delas é cita unquote, cabeceira. 1632 01:17:02,440 --> 01:17:04,800 E o outro é, que tipo de tipo de datos é esta, baseada 1633 01:17:04,800 --> 01:17:07,180 no noso anterior sintaxe? 1634 01:17:07,180 --> 01:17:08,160 É unha matriz asociada. 1635 01:17:08,160 --> 01:17:11,730 En concreto, está pasando no título con algúns metadatos que lembra 1636 01:17:11,730 --> 01:17:13,430 me o que é eo seu valor. 1637 01:17:13,430 --> 01:17:16,340 Entón eu vexo un disco codificado ul, de ningún xeito HTML puro. 1638 01:17:16,340 --> 01:17:20,020 Pero, entón, eu estou de volta en modo PHP chamando a renderización función. 1639 01:17:20,020 --> 01:17:24,390 Así, mesmo se nunca usou HTML ou PHP antes, e aínda que iso parece 1640 01:17:24,390 --> 01:17:27,480 máis asustado, porque este é, probablemente, mellor deseño? 1641 01:17:27,480 --> 01:17:31,310 ¿Que hai de mellor sobre o tema, baseada en inferencia? 1642 01:17:31,310 --> 01:17:32,130 >> Audiencia: [inaudível] 1643 01:17:32,130 --> 01:17:35,750 >> COLUMNA 1: Menos redundante en que non hai ningunha etiqueta HTML máis, non máis 1644 01:17:35,750 --> 01:17:38,410 cabezas etiqueta, non máis etiqueta body en todos os ficheiros de maldición. 1645 01:17:38,410 --> 01:17:41,860 Pola contra, eu teño consignado o semellanzas e, presuntamente, poñelos 1646 01:17:41,860 --> 01:17:45,150 nun arquivo de algunha maneira relacionados a unha cabeceira. 1647 01:17:45,150 --> 01:17:48,500 Ea mesma cousa para o corpo preto tag, tag HTML preto. 1648 01:17:48,500 --> 01:17:52,165 Isto é probablemente aquí dentro nalgún lugar do rodapé. 1649 01:17:52,165 --> 01:17:57,050 E vai ver, xuntos Problema 7, un pequeno paseo por iso. 1650 01:17:57,050 --> 01:17:58,070 >> Entón, o que está por vir? 1651 01:17:58,070 --> 01:18:03,390 O único que non ten a capacidade aínda para realmente almacenar datos. 1652 01:18:03,390 --> 01:18:06,110 E entón o que nós imos comezar a ver Mércores, por exemplo, é que a súa 1653 01:18:06,110 --> 01:18:08,450 vello amigo Excel, ou números, permite que almacenar moitas 1654 01:18:08,450 --> 01:18:10,060 datos en liñas e columnas. 1655 01:18:10,060 --> 01:18:12,570 Acontece que pode facelo no que se chamado unha base de datos, por medio de programación. 1656 01:18:12,570 --> 01:18:16,620 maníaco E ocorre que, despois diso, nós imos ser capaces de almacenar cousas como 1657 01:18:16,620 --> 01:18:20,550 tanto, o que vai ver de novo xuntos P 7, unha chea de nomes de usuarios e 1658 01:18:20,550 --> 01:18:23,690 contrasinais, o último dos cales está realmente cifrado, así como 1659 01:18:23,690 --> 01:18:25,550 estaban en edición pirata da P set 2. 1660 01:18:25,550 --> 01:18:29,600 E, finalmente, vai aplicar tanto, o seu propio sitio web eTrade-así 1661 01:18:29,600 --> 01:18:32,220 aplica colectivamente CS50 finanzas. 1662 01:18:32,220 --> 01:18:36,000 >> Por último, unha vez que quedou aquí tan tarde hoxe, se volver a esta parte 1663 01:18:36,000 --> 01:18:41,120 do campus, ás 4:00 horas de hoxe, imos darlle non só asesoramento, a SCES 1664 01:18:41,120 --> 01:18:44,200 Asesoría Fair, en 4:00 no Maxwell-Dworkin, nós imos dar-lle algunhas 1665 01:18:44,200 --> 01:18:47,470 Americone soño, Cereixa García, Chocolate Fudge Brownie, Chocolate 1666 01:18:47,470 --> 01:18:50,840 Chip Cookie Dough, e, cando Google Chunky Monkey, vostede pode iso. 1667 01:18:50,840 --> 01:18:53,620 Entón, todo isto espérase ás 4:00 PM de Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Vexo vostede o mércores tamén. 1669 01:18:56,736 --> 01:18:59,960 >> COLUMNA 2: Na seguinte CS50, RJ durmir dentro 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: A miña 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