1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminario] [Preparando seu sitio web para a Web] 2 00:00:02,000 --> 00:00:05,000 [Yuechen Zhao] [Harvard University] 3 00:00:05,000 --> 00:00:07,000 [É dicir CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,660 >> Okay. Aquí está máis unha hora de desenvolvemento web se vostedes están a facer por el. 5 00:00:11,660 --> 00:00:16,290 Hoxe eu vou estar falando sobre a preparación do seu sitio web para a web. 6 00:00:16,290 --> 00:00:20,260 Todo o día - e, probablemente, para os últimos 2 semanas - 7 00:00:20,260 --> 00:00:22,240 nós falamos sobre como crear un sitio web, 8 00:00:22,240 --> 00:00:24,880 como usar HTML, como usar o PHP, como usar frameworks, 9 00:00:24,880 --> 00:00:29,420 como estar seguro de que pode interactuar co banco de datos - cousas así. 10 00:00:29,420 --> 00:00:34,830 Pero hoxe, imos falar de que o seu sitio vai vivir despois CS50. 11 00:00:34,830 --> 00:00:40,010 Porque ao final, CS50 non acontece pasado decembro. 12 00:00:40,010 --> 00:00:42,090 Nós imos estar fala de nomes de dominio, hospedaxe. 13 00:00:42,090 --> 00:00:44,790 Nós imos estar fala de que a compatibilidade cross-browser 14 00:00:44,790 --> 00:00:49,540 e compatibilidade multiplataforma, e como pode que seguro que o seu sitio 15 00:00:49,540 --> 00:00:51,610 vai operar en todas as condicións. 16 00:00:51,610 --> 00:00:54,330 Imos falar sobre o tratamento de erros e outro máxico servidor. 17 00:00:54,330 --> 00:00:57,890 Estamos a falar de optimización de rendemento, search engine optimization, 18 00:00:57,890 --> 00:01:00,310 e como levar a xente a verdade visitar os seus sitios web. 19 00:01:00,310 --> 00:01:05,960 E, finalmente, só algúns bos recursos para asegurarse de que vostedes teñen o suficiente dos 20 00:01:05,960 --> 00:01:09,680 para saír co seu proxecto final, e espero que despois. 21 00:01:09,680 --> 00:01:13,120 >> O primeiro que imos falar é de nomes de dominio. 22 00:01:13,120 --> 00:01:18,020 Agora está programando no seu dispositivo, está indo a un servidor local 23 00:01:18,020 --> 00:01:20,360 o que non é realmente un nome de dominio. 24 00:01:20,360 --> 00:01:26,370 É unha especie de só un apelido ou un alias para a súa instalación real Linux 25 00:01:26,370 --> 00:01:31,150 dentro de calquera VMware nun xogador Mac ou VMware nun PC. 26 00:01:31,150 --> 00:01:36,510 Os nomes de dominio permiten que poñer un sitio web e, a continuación, ir a algo así como 27 00:01:36,510 --> 00:01:39,400 www.google.com e conseguir o web. 28 00:01:39,400 --> 00:01:41,500 Como eles funcionan? 29 00:01:41,500 --> 00:01:43,390 Imos dicir que é só un servidor web medio - 30 00:01:43,390 --> 00:01:50,080 media internauta e ten un portátil, e vai para www.howstuffworks.com. 31 00:01:50,080 --> 00:01:52,570 Probablemente, podes ver onde eu roubei isto. 32 00:01:52,570 --> 00:01:57,300 How Stuff Works - o ordenador ha entón pedir un servidor DNS local, 33 00:01:57,300 --> 00:01:59,300 "Vostede sabe onde o sitio é?" 34 00:01:59,300 --> 00:02:02,200 "Vostede sabe o enderezo IP de www.howstuffworks.com?" 35 00:02:02,200 --> 00:02:05,580 O servidor de DNS pode dicir: "Si, eu fago." 36 00:02:05,580 --> 00:02:09,139 Neste caso, obter o enderezo IP, e seu ordenador accede este enderezo IP. 37 00:02:09,139 --> 00:02:15,050 Se iso non acontecer, el pide outro servidor DNS, "Hey! Vostede sabe o que www.howstuffworks.com é?" 38 00:02:15,050 --> 00:02:17,670 Este servidor podería dicir: "Si, eu fago." 39 00:02:17,670 --> 00:02:22,500 Así, di o outro o que é, e, por fin, que a información é pasada para o ordenador, 40 00:02:22,500 --> 00:02:24,680 e pode acceder howstuffworks.com. 41 00:02:24,680 --> 00:02:27,540 >> Como pode obter unha desas cousas máxicas? 42 00:02:27,540 --> 00:02:32,940 Como pode obter quizais www.yourname.com ou www.ilovecats.com? 43 00:02:32,940 --> 00:02:35,350 Podes rexistrarte para un, 44 00:02:35,350 --> 00:02:38,280 e hai unha morea de sitios por aí que lle permiten facelo. 45 00:02:38,280 --> 00:02:41,420 Debería - na maioría dos casos ten que pagar por eles. 46 00:02:41,420 --> 00:02:43,890 Hai certos nomes de dominio que son gratuítas. 47 00:02:43,890 --> 00:02:50,900 Se vai para tkdomainnames www.co.cc ou., Aqueles son gratuítos. 48 00:02:50,900 --> 00:02:56,500 Pero, eles veñen con certas restricións, e de feito algúns deles poden ata non ser 49 00:02:56,500 --> 00:03:00,540 , Certos nomes de dominio de primeiro nivel, como. Con ou. Net. 50 00:03:00,540 --> 00:03:03,300 Normalmente eu suxeriría ir a un deles 51 00:03:03,300 --> 00:03:07,060 porque os usuarios son só máis cómodo con iso. 52 00:03:07,060 --> 00:03:10,070 Xa viu unha morea de. Coms. Xa viu unha morea de. Redes. 53 00:03:10,070 --> 00:03:13,790 Probablemente non viu unha morea de. Co.cc 's, polo que son máis difíciles de recordar. 54 00:03:13,790 --> 00:03:18,900 Diferentes sitios como GoDaddy ou NameCheap ou - Eu usei un que é 55 00:03:18,900 --> 00:03:21,550 tipo de esbozado - chamado activedomain.com. 56 00:03:21,550 --> 00:03:24,160 Parece moi superficial, pero funcionou moi ben para min. 57 00:03:24,160 --> 00:03:27,810 >> E, finalmente, ten outros que quizais facer máis publicidade como a Network Solutions. 58 00:03:27,810 --> 00:03:31,140 Pero se vai a NetworkSolutions.com e ollar os seus prezos 59 00:03:31,140 --> 00:03:34,070 é moi caro. Eu estaba mirando para eles na noite pasada. 60 00:03:34,070 --> 00:03:37,400 Durante un ano, dun nome de dominio, non é probablemente paga moito diñeiro. 61 00:03:37,400 --> 00:03:40,210 En realidade, se está a recibir un. Con ou. Org ou. Net 62 00:03:40,210 --> 00:03:43,430 o prezo normal é de aproximadamente 10 dólares por ano. 63 00:03:43,430 --> 00:03:48,710 Entón, se está pagando moito máis que iso, non é probable que paga a pena 64 00:03:48,710 --> 00:03:52,440 porque, ao final, estes sitios non fan nada con ese nome de dominio. 65 00:03:52,440 --> 00:03:58,270 Eles só dar a ti, e por iso, se pode obterse barato, por que non? 66 00:03:58,270 --> 00:04:02,540 >> A outra cousa é cando ten o seu nome de dominio, entón probablemente vai querer 67 00:04:02,540 --> 00:04:08,610 ir a calquera Godaddy.com ou onde comprou o seu nome de dominio 68 00:04:08,610 --> 00:04:11,220 e establecer o nome dos servidores para que o nome de dominio. 69 00:04:11,220 --> 00:04:15,560 O que isto significa é así que un usuario vai para www.howstuffworks.com, 70 00:04:15,560 --> 00:04:20,839 os enderezos IP do servidor de nome son os enderezos IP que eles serían capaces de ollar para arriba. 71 00:04:20,839 --> 00:04:24,680 Eles serían capaces de acceder ao seu sitio web a través destes servidores de nome. 72 00:04:24,680 --> 00:04:26,830 Se aplicar para aloxar nalgún lugar 73 00:04:26,830 --> 00:04:31,210 logo o anfitrión probablemente ha darlle o nome dos servidores a seren usados. 74 00:04:31,210 --> 00:04:34,210 >> E, finalmente, hai esa cousa chamada WHOIS. 75 00:04:34,210 --> 00:04:38,890 Unha base de datos WHOIS é unha base de datos co cal pode introducir un nome de dominio 76 00:04:38,890 --> 00:04:44,170 e vai cuspir unha información sobre o propietario do local e outra información de contacto. 77 00:04:44,170 --> 00:04:49,080 Agora, pode dicir: "Eu realmente non quero o meu enderezo de casa ou eu realmente non quero o meu enderezo de correo-e 78 00:04:49,080 --> 00:04:54,010 na web para calquera ver ou en internet para todo o mundo ver ". 79 00:04:54,010 --> 00:04:57,740 Entón podes querer usar algo que unha morea de servizos de hospedaxe ofrecen - 80 00:04:57,740 --> 00:04:59,740 como un director de WHOIS. 81 00:04:59,740 --> 00:05:03,550 Un director de WHOIS é simplemente outro servizo que moitos deles prevén que 82 00:05:03,550 --> 00:05:07,700 oculta esta información e só pon en que é director para o nome - 83 00:05:07,700 --> 00:05:13,070 ao enderezo normalmente é só que o nome da empresa que lle deu este nome de dominio - 84 00:05:13,070 --> 00:05:17,350 e así, logo a súa información persoal non está a ser difundida en Internet, 85 00:05:17,350 --> 00:05:19,350 que normalmente é moi bo. 86 00:05:19,350 --> 00:05:21,350 Eu mesmo uso destes servizos. 87 00:05:21,350 --> 00:05:25,630 Se non se preocupan súa propia intimidade, el realmente non importa. 88 00:05:25,630 --> 00:05:32,490 >> Un servidor DNS significa Domain Name System, e que é - 89 00:05:32,490 --> 00:05:36,560 É como unha especie de táboa hash nalgún lugar que di: 90 00:05:36,560 --> 00:05:42,320  "Este enderezo de sitio vai mapear a este enderezo IP." E iso é todo o que é. 91 00:05:42,320 --> 00:05:48,180 Entón, despois de consultar este servidor DNS, entón podes obter os enderezos IP 92 00:05:48,180 --> 00:05:51,930 para que o nome de dominio correspondente e, a continuación, visite o sitio. 93 00:05:51,930 --> 00:05:59,820 (Membro da platéia facer unha pregunta - inaudível) 94 00:05:59,820 --> 00:06:07,910 O primeiro? O primeiro nivel, en realidade, é xeralmente só o seu propio caché do ordenador. 95 00:06:07,910 --> 00:06:12,570 Computador tipo de recorda a última vez que foi a www.google.com 96 00:06:12,570 --> 00:06:18,090 foi neste enderezo IP, e despois de moito tempo, que o caché remata, 97 00:06:18,090 --> 00:06:23,560 e vai preguntar como Comcast DNS, 98 00:06:23,560 --> 00:06:26,400 "Ei, o que é www.google.com?" 99 00:06:26,400 --> 00:06:31,040 Normalmente, cando compra un nome de dominio e se rexistrar, e crear un sitio web, 100 00:06:31,040 --> 00:06:35,670 non pode ir ao sitio web inmediatamente con este nome de dominio, pois os servidores de nomes 101 00:06:35,670 --> 00:06:40,180 en todo o mundo non sabe sobre o seu nome de dominio aínda. Ten que cubrir. 102 00:06:40,180 --> 00:06:43,220 El normalmente leva uns 24-48 horas. 103 00:06:43,220 --> 00:06:48,460 Todo ben. Entón, iso é un pouco sobre nomes de dominio. Son moi legal. 104 00:06:48,460 --> 00:06:51,540 Eu creo que ten que obter un se vostede é serio sobre o proxecto 105 00:06:51,540 --> 00:06:55,300 e se o quere facer o seu proxecto coñecido en todo campus, 106 00:06:55,300 --> 00:06:58,050 ter un nome de dominio fai que pareza moi profesional. 107 00:06:58,050 --> 00:07:01,510 >> Entón, o seguinte paso, por suposto, é ter algún tipo de hosting. 108 00:07:01,510 --> 00:07:05,540 Se acaba de hóspede-lo no seu ordenador, ninguén nunca vai ser capaz de ir a el. 109 00:07:05,540 --> 00:07:09,110 Podería configurar un servidor no seu ordenador e manter o seu ordenador para sempre, 110 00:07:09,110 --> 00:07:11,160 pero iso non se recomenda. 111 00:07:11,160 --> 00:07:14,000 Existen diferentes tipos de hospedaxe dispoñibles en liña. 112 00:07:14,000 --> 00:07:21,870 Ten de Aloxamento compartida. Hai VPN (inintelixible), que son máquinas virtuais. 113 00:07:21,870 --> 00:07:23,870 Hai semi-dedicado e dedicado. 114 00:07:23,870 --> 00:07:29,030 Dos últimos 3, VPN, semi-dedicado e dedicado son xeralmente máis caros. 115 00:07:29,030 --> 00:07:32,660 Son xeralmente utilizados para sitios que esixen máis recursos. 116 00:07:32,660 --> 00:07:34,680 Se vostede está só comezando cun sitio web, 117 00:07:34,680 --> 00:07:40,670 el só podería ser máis económico para ir coa hospedaxe compartida. 118 00:07:40,670 --> 00:07:43,430 E o medio compartido é só unha morea de sitios están todos xuntos 119 00:07:43,430 --> 00:07:51,560 clasificar de nun servidor na páxina neste servidor host, e pode acceder a súa web 120 00:07:51,560 --> 00:07:53,660 a través do nome de dominio. 121 00:07:53,660 --> 00:07:55,980 >> Hai un gran número de máquinas populares alí fora. 122 00:07:55,980 --> 00:08:01,160 HostGator e DreamHost - os que son moi, moi grande e moi, moi popular 123 00:08:01,160 --> 00:08:03,160 e moito, moi acertada. 124 00:08:03,160 --> 00:08:05,160 Eu persoalmente uso un chamado MDDHosting. 125 00:08:05,160 --> 00:08:08,240 Se vai para www.mddhosting.com, esa é a miña serie de elección. 126 00:08:08,240 --> 00:08:10,240 Eu creo que son moi bos. 127 00:08:10,240 --> 00:08:14,550 Eles foron sempre moi fiable, e eu nunca tiven ningún problema con eles. 128 00:08:14,550 --> 00:08:18,610 Eles tamén teñen prezos moi competitivos. 129 00:08:18,610 --> 00:08:24,400 Dous que realmente non me gusta son GoDaddy - que tamén é unha serie moi popular, 130 00:08:24,400 --> 00:08:26,400 pero eu tiven experiencias terribles con eles, 131 00:08:26,400 --> 00:08:29,430 e unha morea de persoas que eu coñezo tiveron experiencias realmente terribles con eles. 132 00:08:29,430 --> 00:08:32,150 Eles medio que ir detrás de persoas que non saben o que están facendo - 133 00:08:32,150 --> 00:08:34,150 talvez estea facendo un sitio por primeira vez, 134 00:08:34,150 --> 00:08:37,150 e así que tipo de erro-los na compra do seu paquete de hospedaxe. 135 00:08:37,150 --> 00:08:42,570 Non faga iso. Non caia nesa. Vaia buscar outros paquetes de hospedaxe que realmente se encaixan ás súas necesidades. 136 00:08:42,570 --> 00:08:44,880 E o outro é - hai anfitrións libres por aí. 137 00:08:44,880 --> 00:08:47,350 Hai sitios que ha hospedar o seu sitio web de balde - 138 00:08:47,350 --> 00:08:49,350 ás veces, poñendo un anuncio na súa páxina web, 139 00:08:49,350 --> 00:08:52,290 ás veces, facéndolle participar os seus foros, 140 00:08:52,290 --> 00:08:54,340 mais tamén, por veces, só de forma gratuíta. 141 00:08:54,340 --> 00:09:00,000 Pero coidado cos anfitrións libres, xa que moitos deles realmente só saír da empresa 142 00:09:00,000 --> 00:09:03,480 despois de algúns meses. Vostede simplemente non pode manter-se cos custos. 143 00:09:03,480 --> 00:09:07,460 Outros son só moi pouco fiables, e seu sitio será sempre para abaixo, 144 00:09:07,460 --> 00:09:09,700 e non quere que isto ocorre. 145 00:09:09,700 --> 00:09:12,330 >> Cada servidor vai ofrecer o seu propio panel de control. 146 00:09:12,330 --> 00:09:16,520 Teña en conta que para o seu dispositivo, non hai realmente un panel de control en si. 147 00:09:16,520 --> 00:09:19,230 Ten que usar o terminal para ir e editar os ficheiros. 148 00:09:19,230 --> 00:09:21,230 Ten que chmod cousas por si mesmo. 149 00:09:21,230 --> 00:09:24,770 Se quería ir ao phpMyAdmin, 150 00:09:24,770 --> 00:09:29,560 tes que ir a @ localhost / phpmyadmin e cousas dese tipo. 151 00:09:29,560 --> 00:09:36,660 Pero, con un panel de control que pode entrar e modificar os ficheiros no seu servidor 152 00:09:36,660 --> 00:09:40,350 con Windows Explorer ou unha aplicación do tipo localizador. 153 00:09:40,350 --> 00:09:44,810 Ou pode pasar e ollar para os seus bancos de datos coa súa propia ferramenta 154 00:09:44,810 --> 00:09:47,280 no canto de phpMyAdmin. 155 00:09:47,280 --> 00:09:52,240 Así, non hai moita opción aquí, e algúns dos paneis de control máis populares están alí enriba. 156 00:09:52,240 --> 00:09:54,240 Pero se está a buscar un servidor, 157 00:09:54,240 --> 00:09:57,090 entón podes querer ollar para o que tipo de personalización e opcións 158 00:09:57,090 --> 00:10:02,810 ofrecen-me a personalizar o meu servidor e facer o meu sitio funciona mellor. 159 00:10:02,810 --> 00:10:07,110 Así, pode preguntar: "Ben, como fago para escoller aloxamento?" 160 00:10:07,110 --> 00:10:11,460 Se entrar en calquera sitio hospedeiro hai unha chea de xerga, e hai unha morea de opcións. 161 00:10:11,460 --> 00:10:14,470 Hai unha serie de diferentes prezos tamén. 162 00:10:14,470 --> 00:10:19,690 Normalmente eu ir para os máis baratos só porque sitios que quizais ti e eu facemos - 163 00:10:19,690 --> 00:10:23,520 e, sobre todo agora, especialmente como entradas - poden non ter moitos recursos 164 00:10:23,520 --> 00:10:26,770 como pode un sitio como o Microsoft.com. 165 00:10:26,770 --> 00:10:32,090 >> En primeiro lugar, quere ollar para o sistema operativo se está realmente curioso se 166 00:10:32,090 --> 00:10:35,090 seu sitio será aloxado en Linux, en Windows ou en Mac 167 00:10:35,090 --> 00:10:39,790 Normalmente temos só ir con Linux porque é xeralmente o máis barato, 168 00:10:39,790 --> 00:10:43,730 e tamén o que quizais vostedes están máis familiarizados co debido ao aparello. 169 00:10:43,730 --> 00:10:48,040 E entón, quizais eles van poñer algunhas restricións sobre a cantidade de ancho de banda que ten - 170 00:10:48,040 --> 00:10:53,030 como cantos megabytes ou gigabytes de datos de usuarios poden baixar 171 00:10:53,030 --> 00:10:55,470 desde o seu sitio por mes? Ou espazo en disco. 172 00:10:55,470 --> 00:11:00,640 En canto espazo ten? É de 500 MB? É 2GB? É ilimitado? 173 00:11:00,640 --> 00:11:05,920 Hoxe en día, un gran número de servidores web darlle espazo en disco ilimitado como un xeito para que eles 174 00:11:05,920 --> 00:11:08,560 seducir-lo para conseguir o seu paquete de hospedaxe. 175 00:11:08,560 --> 00:11:11,850 Pero se realmente pensar niso, cando é que nunca vai ter de espazo no disco ilimitado? 176 00:11:11,850 --> 00:11:18,060 Se tes un par de arquivos HTML, un par de PHP, un par de imaxes - 177 00:11:18,060 --> 00:11:20,060 iso é só un par de megabytes, e así 178 00:11:20,060 --> 00:11:23,110 xeralmente eu só ir á pena de espazo pode que algúns 'gigabytes, 179 00:11:23,110 --> 00:11:27,990 e que pode ser o suficiente para comezar a me ata que eu teño máis. 180 00:11:27,990 --> 00:11:31,480 >> Finalmente, poden pór restricións sobre o tipo de - Cantos bancos de datos pode ter. 181 00:11:31,480 --> 00:11:34,760 Quizais só pode ter unha base de datos. Quizais pode ter dúas. Quizais pode ter 10. 182 00:11:34,760 --> 00:11:38,330 Será que é realmente importante para vostede como lle gañou? 183 00:11:38,330 --> 00:11:40,330 Cousas para facer a si mesmo. 184 00:11:40,330 --> 00:11:42,330 E entón, finalmente, só cousas como linguas. 185 00:11:42,330 --> 00:11:44,330 Apoia o PHP? Apoia MySQL? 186 00:11:44,330 --> 00:11:49,010 A maioría dos sitios de hospedaxe ofrecen soporte a estes porque son libres. Son de código aberto. 187 00:11:49,010 --> 00:11:51,190 Non custa nada a eles para proporcionar estes para ti. 188 00:11:51,190 --> 00:11:55,680 Pero se quere empregar, por exemplo, Ruby ou Python ou algunha desas outras linguas - 189 00:11:55,680 --> 00:11:59,490 poden non apoia-lo no seu servidor, polo que é importante ollar para eses tipos de cousas. 190 00:11:59,490 --> 00:12:05,620 >> E, finalmente, eles permiten que faga algunhas cousas máis avanzadas, como os traballos de SSL ou cron? 191 00:12:05,620 --> 00:12:12,060 SSL é unha opción onde pode facer o seu sitio máis seguro, tornándose HTTPS 192 00:12:12,060 --> 00:12:14,060 e cifrar as súas conexións. 193 00:12:14,060 --> 00:12:17,230 E cron son só quizais scripts que quere realizar 194 00:12:17,230 --> 00:12:19,510 cada 5 minutos, cada 10 minutos, cada 15. 195 00:12:19,510 --> 00:12:22,030 Unha morea de sitios de hospedaxe compartida non poñer restricións 196 00:12:22,030 --> 00:12:26,310 sobre o número de postos de traballo cron que pode realizar porque iso leva-se máis recursos. 197 00:12:26,310 --> 00:12:31,800 >> E por fin, todo o que quere ollar - comproba se exactamente o que está a suceder 198 00:12:31,800 --> 00:12:35,180 antes de comprar o seu paquete de hospedaxe. 199 00:12:35,180 --> 00:12:37,720 E, finalmente, o desempeño. O desempeño é enorme. 200 00:12:37,720 --> 00:12:39,740 Quão rápido é o meu sitio vai executar? 201 00:12:39,740 --> 00:12:42,950 A maioría dos usuarios non van esperar ata segundos para a súa web para ser executado 202 00:12:42,950 --> 00:12:47,640 antes de que eles só se cansar, e eles pasan a MeanBase e comezar a mirar para as imaxes 203 00:12:47,640 --> 00:12:52,240 de gatos - vostede sabe o que pasa, e quere estar seguro de que obteña o usuario a bordo 204 00:12:52,240 --> 00:12:54,300 e que ten bo uptime que significa que 205 00:12:54,300 --> 00:12:56,300 seu sitio será accesible en todo momento. 206 00:12:56,300 --> 00:13:01,880 Un gran número de máquinas teñen moi mal o tempo de actividade e que significa que o seu sitio non será 207 00:13:01,880 --> 00:13:06,500 accesible, e non quere que isto ocorre, xa que pode estar triste. 208 00:13:06,500 --> 00:13:10,360 E tamén pode seguir o desempeño do seu anfitrión con sitios como 209 00:13:10,360 --> 00:13:16,440 Pingdom.com ou Host-tracker.com, e eles só che dicir cantas veces é o seu sitio web do aire. 210 00:13:16,440 --> 00:13:18,490 >> E, finalmente, quere ver sobre o seu apoio. 211 00:13:18,490 --> 00:13:21,890 Se tes un problema que eles van responder a vostede dentro de 24 horas? 212 00:13:21,890 --> 00:13:23,890 Eles van responder a vostede dentro de 48 horas? 213 00:13:23,890 --> 00:13:26,500 O servizo de Aloxamento que eu uso normalmente responde a min en poucos minutos 214 00:13:26,500 --> 00:13:29,760 que é moi bo. 215 00:13:29,760 --> 00:13:33,990 Uf! Todo ben! É hora de unha pausa. Pero eu non vou dar a ti. 216 00:13:33,990 --> 00:13:38,200 Nós imos só ollar fotos de gatos fermosos de cando en vez. 217 00:13:38,200 --> 00:13:42,740 >> Outra cousa moi, moi grande é a compatibilidade cross-browser. 218 00:13:42,740 --> 00:13:45,890 O que quero dicir con compatibilidade cross-browser? 219 00:13:45,890 --> 00:13:50,970 Vostede sabe que, hoxe en día non é só o Microsoft Internet Explorer. 220 00:13:50,970 --> 00:13:53,970 Non é só o Mozilla Firefox ou Safari. 221 00:13:53,970 --> 00:13:58,190 Agora temos Chrome. Temos Opera. Temos Dolphin. Temos Camino. 222 00:13:58,190 --> 00:14:00,540 Temos Conquistador. Temos todos estes diferentes navegadores. 223 00:14:00,540 --> 00:14:05,950 Cousas que están saíndo agora - RockMelt - aínda quen son todos baseados en Chromium. 224 00:14:05,950 --> 00:14:10,990 Pero a verdade da cuestión é, non é só un navegador máis. 225 00:14:10,990 --> 00:14:13,860 Non está só a ver estas páxinas cun único programa. 226 00:14:13,860 --> 00:14:17,660 E así, diferentes navegadores debería responder a diferentes HTML, CSS diferente, e 227 00:14:17,660 --> 00:14:21,210 JavaScript distinto de xeito diferente, e como trata sobre iso? 228 00:14:21,210 --> 00:14:24,370 Ben, en certos casos, o que realmente non pode. 229 00:14:24,370 --> 00:14:29,160 O seu sitio web - se funciona nun navegador, o código que escribiu non vai funcionar 230 00:14:29,290 --> 00:14:32,910 noutro navegador, e é o seu traballo para asegurarse de que o código que escribe 231 00:14:32,910 --> 00:14:36,000 é universal, que funciona en todas as partes. 232 00:14:36,000 --> 00:14:38,000 Entón, iso é moi perigoso. 233 00:14:38,000 --> 00:14:42,450 Se digo: "Ben, está a traballar no meu ordenador. Great! Imos seguir adiante." 234 00:14:42,450 --> 00:14:46,040 Así, probablemente non vai funcionar no meu, e cando ir ao sitio web 235 00:14:46,040 --> 00:14:49,210 Vou estar moi triste, e eu vou deixar inmediatamente. 236 00:14:49,210 --> 00:14:51,570 Entón, imos ver como pode evitar isto. 237 00:14:51,570 --> 00:14:55,520 >> O primeiro, por suposto, é só usar estándar HTML, CSS e JavaScript. 238 00:14:55,520 --> 00:14:57,520 O que quero dicir con isto? 239 00:14:57,520 --> 00:15:00,180 Así, hai unha morea de cousas que non estándar aí. 240 00:15:00,180 --> 00:15:03,490 Por exemplo, en CSS hai moitas versións. 241 00:15:03,490 --> 00:15:10,830 Se ves as regras CSS con-moz-ou-webkit-, esas regras son específicas 242 00:15:10,830 --> 00:15:15,720 tanto para os navegadores Mozilla e navegadores Webkit, 243 00:15:15,720 --> 00:15:20,590 e así que quere estar seguro de que pode utilizar evitar esas cousas 244 00:15:20,590 --> 00:15:25,150 por que se usa-moz-esa regra só funcionará en Firefox. 245 00:15:25,150 --> 00:15:29,640 E se realmente quere ter unha boa aparencia en Internet Explorer tamén, 246 00:15:29,640 --> 00:15:31,640 vai estar fóra de sorte. 247 00:15:31,640 --> 00:15:37,910 Para HTML tamén, pode facer cousas en HTML que funcionan nun navegador 248 00:15:37,910 --> 00:15:41,830 pero que rompe noutro, e quere evitar que, na medida do posible. 249 00:15:41,830 --> 00:15:44,830 E, finalmente, para JavaScript, mesmo - hai moitas versións de JavaScript, 250 00:15:44,830 --> 00:15:50,570 e este verán nós funcionan en un problema onde document.getElementsByClassName-- 251 00:15:50,570 --> 00:15:54,500 que é xeralmente unha función que se define como unha parte do patrón JavaScript - 252 00:15:54,500 --> 00:15:58,120 non era atopar en Internet Explorer 8. 253 00:15:58,120 --> 00:16:01,900 Así, durante o verán, eu estaba a traballar nun laboratorio e estabamos construíndo experiencias en liña. 254 00:16:01,900 --> 00:16:06,210 E pensamos que estaba funcionando moi ben ata que entender que os usuarios estaban usando 255 00:16:06,210 --> 00:16:09,780 Internet Explorer 8 non podería presentar os seus resultados. 256 00:16:09,780 --> 00:16:13,200 Estabamos perdendo unha gran cantidade de datos. Iso nos deixou moi triste. 257 00:16:13,200 --> 00:16:17,790 Así, sempre quere estar seguro de que os seus scripts están indo para o traballo en todas as partes. 258 00:16:17,790 --> 00:16:20,500 >> E, finalmente, utilizar validator.w3.org 259 00:16:20,500 --> 00:16:22,770 que é o que lle din para facer en pset 7. 260 00:16:22,770 --> 00:16:24,530 Asegúrese de que as súas páxinas son validadas. 261 00:16:24,530 --> 00:16:28,310 Isto é importante porque polo menos é un primeiro test de sanidade paso. 262 00:16:28,310 --> 00:16:31,870 É o meu código realmente compatible coas normas? 263 00:16:34,930 --> 00:16:39,320 Outra forma de clasificar de axudar a asegurarse de que o seu sitio está indo para o traballo 264 00:16:39,320 --> 00:16:42,610 na maioría das circunstancias é posible empregar as bibliotecas e frameworks 265 00:16:42,610 --> 00:16:46,210 porque estes desenvolvedores realmente intelixentes pensar sobre estas cuestións para ti. 266 00:16:46,210 --> 00:16:49,850 Eles pasaron e eles escribiron funcións distintas que funcionan en todos os navegadores. 267 00:16:49,850 --> 00:16:53,560 Por exemplo, podemos usar jQuery en Pset 7. 268 00:16:53,560 --> 00:16:58,030 Aínda que non pode telo visto, jQuery ofrece unha serie de funcións 269 00:16:58,030 --> 00:17:00,280 que doutra forma tería que escribir-se. 270 00:17:00,280 --> 00:17:05,310 Pero estes desenvolvedores escribiu, e que fixeron seguro de que funciona en todos os navegadores. 271 00:17:05,310 --> 00:17:10,280 E Bootstrap - que é outro cadro CSS que nós lle amosamos en Pset 7 - 272 00:17:10,280 --> 00:17:17,000 realmente tira unha morea de dores de cabeza co deseño de sitios web que parecen boas. 273 00:17:17,000 --> 00:17:19,000 en todos os navegadores. 274 00:17:19,000 --> 00:17:23,660 >> E, finalmente, se pode evitalo, eu costume evitar codificación a partir de cero. 275 00:17:23,660 --> 00:17:28,079 Se só está creando un sitio web para o seu clube da escola, por exemplo, 276 00:17:28,079 --> 00:17:33,920 e todo o que tes que facer é mostrar algunhas páxinas e, se cadra, que o seu presidente ir 277 00:17:33,920 --> 00:17:38,910 e cambiar algunhas cousas aquí e alí - non hai realmente ningunha necesidade de código que ti mesmo. 278 00:17:38,910 --> 00:17:40,910 Que ten unha morea do seu tempo. 279 00:17:40,910 --> 00:17:42,660 Hai que moito da súa enerxía, e ten que pasar e ten que descubrir, 280 00:17:42,660 --> 00:17:45,930 ben, iso vai estar ben neste navegador, é que se ve ben nesta web. 281 00:17:45,930 --> 00:17:50,610 Quizais usar algúns destes parches que outros xa escrito para ti, como 282 00:17:50,610 --> 00:17:52,610 WordPress ou Joomla ou Drupal. 283 00:17:52,610 --> 00:17:59,400 Estes son chamados de contido - estes son chamados CMSs que basicamente só os paquetes que 284 00:17:59,400 --> 00:18:03,020 xa veu feito para ti, e pode baixa-los, poñelos no seu servidor, 285 00:18:03,020 --> 00:18:07,510 e personalizar-los como quere, e xa ten un sitio web funcionando. 286 00:18:07,510 --> 00:18:11,680 Estes paquetes de código son algo para ollar. 287 00:18:11,680 --> 00:18:15,400 Esas cousas son de código aberto, a menos que vaia a algo así como - 288 00:18:15,400 --> 00:18:19,390 se está a buscar un paquete forma, hai cousas que non son libres como 289 00:18:19,390 --> 00:18:21,570 VBulletin ou IP.Board. 290 00:18:21,570 --> 00:18:23,790 Se non ten que algúns destes recursos avanzados, 291 00:18:23,790 --> 00:18:27,530 vostede poderá optar pola opción libre. 292 00:18:27,530 --> 00:18:31,300 >> E, finalmente, non hai como evitar isto. 293 00:18:31,300 --> 00:18:33,300 Debe probar, probar e probar. 294 00:18:33,300 --> 00:18:37,690 Debe probar o seu código en todos os navegadores e en todas estas plataformas. 295 00:18:37,690 --> 00:18:44,110 E vostede sabe, IE6 - bondade persoas agradecen comezaron a afastar-se IE6 296 00:18:44,110 --> 00:18:49,190 porque para atrás no día, se cadra hai uns anos, os desenvolvedores web tiveron que sempre, sempre, 297 00:18:49,190 --> 00:18:55,280 sempre agradar ás debilidades do IE6 en seguir as normas. 298 00:18:55,280 --> 00:19:00,860 Sitios só parecía un pouco da década de 1990 por falta dunha mellor forma de tratar con isto. 299 00:19:00,860 --> 00:19:04,380 Tamén pode usar imaxes do navegador para comprobar o seu CSS. 300 00:19:04,380 --> 00:19:08,100 Un sitio moi legal é browserlab.adobe.com. 301 00:19:08,100 --> 00:19:11,070 Este é un servizo gratuíto de pór para fóra por Adobe. 302 00:19:11,070 --> 00:19:15,160 E o que fan é que poden sacar capturas de pantalla do seu sitio web 303 00:19:15,160 --> 00:19:18,890 realizar en condicións diferentes - como executar en diferentes navegadores, 304 00:19:18,890 --> 00:19:22,660 sendo executado en diferentes plataformas - e amosar o que eles se parecen. 305 00:19:22,660 --> 00:19:33,260 Só para mostrar o que quero dicir aquí, eu creei un sitio web o ano pasado chamado vida en Harvard, 306 00:19:33,260 --> 00:19:39,150 eo que intento facer - Intento facer my.harvard mellor. 307 00:19:39,150 --> 00:19:43,840 Porque se estivese aquí o ano pasado, my.harvard non parecía como parece agora. 308 00:19:43,840 --> 00:19:46,640 Parece medio nojento. 309 00:19:46,640 --> 00:19:50,470 Pero agora parece moito mellor. 310 00:19:50,470 --> 00:19:57,070 Miña implementación non era máis útil, pero á vez, 311 00:19:57,070 --> 00:20:01,310 vostede sabe, eu tente engadir - (inintelixible) o que moitos - 312 00:20:01,310 --> 00:20:04,680 e parece - parece moi bo no meu ordenador. 313 00:20:04,680 --> 00:20:08,560 E entón, quizais se eu tivese máis tempo eu tería ido para o laboratorio navegador, 314 00:20:08,560 --> 00:20:13,020 e eu tería ollado, así, como se ollar en Chrome 18 en Windows. 315 00:20:13,020 --> 00:20:17,060 Eu ía rolar e gustaríame ver - Oh non! Olle para o cadro de anuncios. 316 00:20:17,060 --> 00:20:20,200 Meu texto estaba transbordador. Entón, iso é malo, non? 317 00:20:20,200 --> 00:20:23,700 Se un usuario está a usar Chrome en Windows e vén para o meu sitio, 318 00:20:23,700 --> 00:20:26,730 que inmediatamente parece moi pouco profesional. 319 00:20:26,730 --> 00:20:30,760 Entón, eu debería ir para o meu CSS e descubrir que parte do meu CSS está dobres aquí. 320 00:20:30,760 --> 00:20:35,090 Por que non está mostrando correctamente e resolve-lo para que todos os usuarios poden ver o mesmo sitio web 321 00:20:35,090 --> 00:20:37,770 e ser tan feliz. 322 00:20:37,770 --> 00:20:44,280 >> E, finalmente, tamén, imaxes do navegador son bos para probar o seu CSS, 323 00:20:44,280 --> 00:20:46,020 pero o que sobre o seu JavaScript? 324 00:20:46,020 --> 00:20:48,660 E se ten algún guión complicado que está a ser executado? 325 00:20:48,660 --> 00:20:50,460 Ben, sempre pode facer a virtualización. 326 00:20:50,460 --> 00:20:56,360 Se tes un Mac, pode utilizar Bootcamp ou VMWare para virtualizar quizais unha copia do 327 00:20:56,360 --> 00:20:59,540 Windows e uso de Internet Explorer alí. 328 00:20:59,540 --> 00:21:03,400 Ou, pode ir a algo como Spoon.net, que por desgraza só funciona en PCs 329 00:21:03,400 --> 00:21:05,290 Pero o que fan é moi legal. 330 00:21:05,290 --> 00:21:10,080 Eles virtualizar software para que poida realizar diferentes versións do IE, por exemplo. 331 00:21:10,080 --> 00:21:12,080 Pode realizar distintas versións do Firefox. 332 00:21:12,080 --> 00:21:15,720 Pode realizar diferentes versións de Safari e probar todos os seus sitios por aí. 333 00:21:15,720 --> 00:21:18,360 Desafortunadamente, eles non son libres. 334 00:21:18,360 --> 00:21:20,860 Este é un servizo de pago, polo que sempre hai unha especie de presente - 335 00:21:20,860 --> 00:21:26,070 sempre hai este tipo de comercio off entre, ben, eu vou facer o meu sitio con bo aspecto. 336 00:21:26,070 --> 00:21:31,970 Se é así, eu podería ter que pagar por algúns servizos para me axudar a facer isto. 337 00:21:31,970 --> 00:21:35,890 Calquera dúbida neste momento sobre calquera cousa que falamos? 338 00:21:38,500 --> 00:21:41,210 Incrible. Okay. 339 00:21:41,210 --> 00:21:43,870 >> Agora, temos máis cousas para falar. 340 00:21:43,870 --> 00:21:45,820 Como sobre os erros? 341 00:21:45,820 --> 00:21:48,670 Como asegurarse de que o seu sitio vai funcionar mesmo cando 342 00:21:48,670 --> 00:21:50,150 algo de malo ocorre? 343 00:21:50,150 --> 00:21:53,940 Poida que non ten unha páxina chamada food.php. 344 00:21:53,940 --> 00:21:57,000 Pero eu, eu vou para a súa web e intento acceder food.php. 345 00:21:57,000 --> 00:22:00,770 Vas só para me amosar que a páxina en branco que di: 404 - File not found? 346 00:22:00,770 --> 00:22:04,400 Ou vai dicir: "Ben, eu sinto moito que eu non podería atopar isto por vostede, 347 00:22:04,400 --> 00:22:08,520 pero quizais aquí están algúns outros recursos para axudar a buscar o que precisa ". 348 00:22:08,520 --> 00:22:13,180 Outros erros - así, iso é chamado de erros de HTTP que son só algúns códigos de erro 349 00:22:13,180 --> 00:22:17,130 que o servidor podería enviado ao seu navegador, en caso de algo malo acontecer. 350 00:22:17,130 --> 00:22:20,160 400 - Bad Request. 401 - non autorizado. 351 00:22:20,160 --> 00:22:25,560 403 é unha especie de común cando ten un directorio que non se quere acceder 352 00:22:25,560 --> 00:22:27,310 polo usuario, pero o usuario intenta de calquera maneira. 353 00:22:27,310 --> 00:22:30,840 E 500 - Internal Server Error - que xeralmente acontece cando tes algo 354 00:22:30,840 --> 00:22:33,070 moi mala a suceder co seu código PHP. 355 00:22:33,070 --> 00:22:36,140 Pero en calquera caso, estes tipos de navegadores - estes tipos de erros acontecen. 356 00:22:36,140 --> 00:22:40,550 >> Entón, como asegurarse de que graciosamente xestionar estes erros 357 00:22:40,550 --> 00:22:43,230 e asegúrese de que o usuario non é só unha especie de colgar alí? 358 00:22:46,850 --> 00:22:48,850 Aí vén. Htaccess. 359 00:22:48,850 --> 00:22:51,300 Agora. Htaccess é algo que funciona en servidores Apache, 360 00:22:51,300 --> 00:22:55,550 algo que funciona e funciona nalgúns outros servidores tamén. 361 00:22:55,550 --> 00:23:01,350 Esta é só unha forma de ti para configurar o servidor de xeito que 362 00:23:01,350 --> 00:23:04,470 pode facelo facer o que queres que faga. 363 00:23:04,470 --> 00:23:06,790 Algunhas cousas que podería facer. Podes controlar a configuración de caché. 364 00:23:06,790 --> 00:23:11,290 Se houbese unha páxina na súa páxina web que teña a certeza de que o usuario 365 00:23:11,290 --> 00:23:14,740 baixar de novo cada vez que o usuario chega e visita o seu sitio. 366 00:23:14,740 --> 00:23:26,980 Ou quizais teña algún URL que é como yoursite.com / proba / html / pages / hello.html 367 00:23:26,980 --> 00:23:31,270 e só quere que sexa yourname.com / Ola -. ben, pode usar htaccess 368 00:23:31,270 --> 00:23:34,760 para redireccionar unha páxina a outra. 369 00:23:34,760 --> 00:23:36,600 Tamén pode usalo para facer a autenticación. 370 00:23:36,600 --> 00:23:39,890 Quizais existan algunhas partes do seu sitio web que precisa para usar outro contrasinal. 371 00:23:39,890 --> 00:23:42,620 Pode bloquear determinados enderezos IP, bloquear certos dominios. 372 00:23:42,620 --> 00:23:46,770 Quizais só realmente non me gusta de estudantes de Harvard que usan o seu sitio. 373 00:23:46,770 --> 00:23:49,910 Ben, tes a posibilidade de bloquear as direccións IP de Harvard. 374 00:23:49,910 --> 00:23:56,370 >> Por último, pode tratar as cousas - pode escribir certo código para facer o servidor 375 00:23:56,370 --> 00:24:03,100 tratar como. Zhao ou. seu nome ou. páxinas ola como código PHP. 376 00:24:03,100 --> 00:24:05,170 Quizais isto sexa útil. Quizais isto non vai ser. 377 00:24:05,170 --> 00:24:07,980 E, finalmente, pode usalo para xestionar respostas de erro. 378 00:24:07,980 --> 00:24:10,300 O que quero dicir con isto? 379 00:24:10,300 --> 00:24:16,030 Se simplemente engadir un código coma este - 404 ErrorDocument e, a continuación, encamiñar-los para algúns 380 00:24:16,030 --> 00:24:20,440 páxina de erro, pode estar seguro de que o usuario non só ve a moi, moi feo 381 00:24:20,440 --> 00:24:23,550 404 e amosar-lles algo de bo. 382 00:24:23,550 --> 00:24:29,000 >> Imos realmente un ollo en como podemos facelo co seu Pset 7. 383 00:24:29,000 --> 00:24:34,190 Aquí, eu estou no meu dispositivo. 384 00:24:34,190 --> 00:24:38,440 Vou abrir Chrome, e entón eu vou tentar acceder a unha páxina 385 00:24:38,440 --> 00:24:43,350 que non existe no CS50 Finance. 386 00:24:43,350 --> 00:24:52,710 Entón, servidor local - cats.php-lo, entender que eu creei un documento de erro 387 00:24:52,710 --> 00:24:54,770 que di: "CANZ non atopa a páxina z!" 388 00:24:54,770 --> 00:24:56,990 Ten un gato moi triste con iso. 389 00:24:56,990 --> 00:24:59,910 Se entrar en Twitter, se é en calquera destes outros sitios, 390 00:24:59,910 --> 00:25:02,700 vostede non pode atopar unha páxina, normalmente intentan mostrar unha imaxe bonito 391 00:25:02,700 --> 00:25:04,850 de modo que non está moi decepcionado. 392 00:25:04,850 --> 00:25:07,830 Tamén pode ter algo que é máis profesional que di: 393 00:25:07,830 --> 00:25:11,760 ben, me desculpe eu non puiden atopar a páxina, pero quizais aquí é unha caixa de busca. 394 00:25:11,760 --> 00:25:16,750 Ou que aquí están algúns enlaces que han axudar a atopar a ligazón que quere. 395 00:25:16,750 --> 00:25:21,410 Entón, como fago isto? Como isto é posible? 396 00:25:21,410 --> 00:25:23,500 Ou tamén para o noso terminal aquí - 397 00:25:23,500 --> 00:25:26,300 Eu só vou para achegar un pouco - 398 00:25:26,300 --> 00:25:30,110 ter en conta que eu teño unha nova páxina. 399 00:25:30,110 --> 00:25:34,440 Dentro do meu directorio HTML é chamado - non pode velo - 400 00:25:34,440 --> 00:25:37,280 é chamado error.php. 401 00:25:37,280 --> 00:25:41,010 E error.php é só un arquivo que eu fixen 402 00:25:41,010 --> 00:25:43,030 que demostra que a propia páxina. 403 00:25:43,030 --> 00:25:46,710 Podo te amosar o que é error.php. 404 00:25:46,710 --> 00:25:48,710 É exactamente nesta páxina. 405 00:25:48,710 --> 00:25:50,710 Ela di: "Oh, non! CANZ non atopa a páxina z!" 406 00:25:50,710 --> 00:25:58,630 E, se queres ver - así, entender que tipo de htaccess é un nome estraño .. 407 00:25:58,630 --> 00:26:01,040 Ela comeza con un punto, o que significa que é un arquivo de sistema. 408 00:26:01,040 --> 00:26:03,360 É un arquivo oculto que normalmente non é mostrado. 409 00:26:03,360 --> 00:26:09,060 Se fai ls-a, podes ver todos os arquivos ocultos en un directorio, 410 00:26:09,060 --> 00:26:12,030 e, de feito, ve. htaccess é un deles. 411 00:26:12,030 --> 00:26:15,490 Imos adiante e abrir htaccess. - 412 00:26:15,490 --> 00:26:19,830 con gedit - 413 00:26:19,830 --> 00:26:26,870 Boom! Todo o que eu teño é unha liña alí - documento de erro para erros 404 414 00:26:26,870 --> 00:26:28,760 que tamén son coñecidos como erros de arquivo non atopado. 415 00:26:28,760 --> 00:26:32,720 Imos redireccionándoos los para algo chamado error.php. 416 00:26:36,100 --> 00:26:42,030 Pode ter algo divertido como CANZ non atopa a páxina z! 417 00:26:42,030 --> 00:26:46,770 E tamén hai cousas moi legais que podes facer con el. Htaccess. 418 00:26:46,770 --> 00:26:49,520 Se queres ver máis. Htaccess maxia, 419 00:26:49,520 --> 00:26:56,470 este é un sitio moi legal para ir - é chamado javascriptkit.com/howto/htaccess.shtml-- 420 00:26:56,470 --> 00:27:01,880 se quere executar máis maxia do servidor. E iso pode ser moi divertido. 421 00:27:01,880 --> 00:27:05,490 >> Uf! Todo ben! Fotos máis fermosos. 422 00:27:05,490 --> 00:27:10,060 Este é un cara que fai push-ups, eo seu gato está tentando axudar. Creo que é moi fermoso. 423 00:27:10,060 --> 00:27:14,830 Desafortunadamente, eu non teño un gato así. 424 00:27:14,830 --> 00:27:17,640 Todo ben. Entón, nós xa falamos sobre. Htaccess. 425 00:27:17,640 --> 00:27:19,640 Nós falamos sobre a manipulación de erros. 426 00:27:19,640 --> 00:27:20,940 Nós falamos sobre Aloxamento, nomes de dominio. 427 00:27:20,940 --> 00:27:23,230 Nós falamos sobre a compatibilidade cross-browser. 428 00:27:23,230 --> 00:27:25,210 Agora ben, como podemos estar seguro de que o seu sitio realmente executa? 429 00:27:25,210 --> 00:27:26,950 Como podemos estar seguro de que si é para a súa web 430 00:27:26,950 --> 00:27:29,830 Podo ver a súa páxina en poucos segundos? 431 00:27:29,830 --> 00:27:33,520 Unha das cousas que eu creo que a xente só tipo de esquecer 432 00:27:33,520 --> 00:27:36,160 é a optimización de imaxe. 433 00:27:36,160 --> 00:27:37,560 Digamos que quería poñer unha imaxe na súa páxina web 434 00:27:37,560 --> 00:27:40,330 e é 2 MG grande. 435 00:27:40,330 --> 00:27:42,670 Isto pode ser bo para nós, xa que estamos en Harvard, 436 00:27:42,670 --> 00:27:45,000 e temos unha conexión moi rápida a Internet. 437 00:27:45,000 --> 00:27:47,470 Pero imaxine alguén en China. Imaxina alguén na India. 438 00:27:47,470 --> 00:27:52,440 Imaxina alguén na zona rural de Kansas, que talvez non teña o mesmo tipo de 439 00:27:52,440 --> 00:27:54,690 Internet de banda ancha que temos. 440 00:27:54,690 --> 00:27:57,710 Se ten unha imaxe de 2 MB na súa páxina e que o usuario está a tentar acceder a ela, 441 00:27:57,710 --> 00:28:00,890 que vai leva-los moito tempo para descargar. 442 00:28:00,890 --> 00:28:04,160 Entón, se non precisa de que tipo de resolución, 443 00:28:04,160 --> 00:28:09,220 entón pode cambiar o tamaño da súa imaxe con algo como Adobe Photo Shop. 444 00:28:09,220 --> 00:28:13,400 Normalmente hai unha opción chamada segura para web e dispositivos, 445 00:28:13,400 --> 00:28:15,850 eo que fai é el elimina toda a información innecesarias 446 00:28:15,850 --> 00:28:20,160 e tipo de compactos seu arquivo nun tamaño pequeno de imaxe para que poida 447 00:28:20,160 --> 00:28:22,960 poñelas na súa páxina web, e calquera usuario que intenta descargar esta páxina 448 00:28:22,960 --> 00:28:26,950 vai baixar unha versión menor de súa imaxe. 449 00:28:26,950 --> 00:28:28,230 Se non ten Adobe Photo Shop 450 00:28:28,230 --> 00:28:32,650 webresizer.com tamén é outro recurso onde podes inserir a súa imaxe 451 00:28:32,650 --> 00:28:36,470 e vai cuspir a mesma imaxe, 452 00:28:36,470 --> 00:28:39,970 pero será algo así como tres veces máis pequenas. 453 00:28:39,970 --> 00:28:41,970 Entón, iso é moi útil para os usuarios. 454 00:28:41,970 --> 00:28:45,930 >> Outra cousa que podes facer é apoucar código. 455 00:28:45,930 --> 00:28:48,460 Se derme un ollo no Google.com, 456 00:28:48,460 --> 00:28:56,400 vai ver que non é o mesmo tipo de HTML e CSS que estamos afeitos. 457 00:28:56,400 --> 00:29:02,250 Só tes que ir a mirar para o código fonte aquí. 458 00:29:02,250 --> 00:29:07,600 Se eu só rolar para abaixo - uau, iso parece moi nojento. 459 00:29:07,600 --> 00:29:09,650 Isto ía estar un cero en estilo. 460 00:29:09,650 --> 00:29:13,470 Se codificou isto para o seu Pset, recibirá un cero no seu estilo. 461 00:29:13,470 --> 00:29:16,990 Isto non ten ningún espazo. Os nomes parecen moi enigmática. 462 00:29:16,990 --> 00:29:19,800 É todo moi nojento. 463 00:29:19,800 --> 00:29:24,060 E o guión para pechar o corpo - HTML pechar - 464 00:29:24,060 --> 00:29:26,280 están todos xuntos - todo esmagado xuntos. 465 00:29:26,280 --> 00:29:28,280 Por que fan isto? 466 00:29:28,280 --> 00:29:30,650 Eles minificado seu código. 467 00:29:30,650 --> 00:29:33,310 Nótese que este documento será moito menor 468 00:29:33,310 --> 00:29:36,660 para min facer a descarga de algo co espazo en branco, 469 00:29:36,660 --> 00:29:39,410 que algo con nomes de variables realmente longos. 470 00:29:39,410 --> 00:29:41,710 Se apoucar o código tira todo o espazo en branco. 471 00:29:41,710 --> 00:29:45,960 Por suposto, o seu navegador non me importa se ten ningún espazo en branco no seu código. 472 00:29:45,960 --> 00:29:49,630 Tira-lo para fóra, agora podo descargar un ficheiro menor - 473 00:29:49,630 --> 00:29:52,770 agora o arquivo - o documento que imos facer a descarga ten un tamaño de ficheiro menor, 474 00:29:52,770 --> 00:29:56,180 será máis rápido para me baixar, e iso é útil. 475 00:29:56,180 --> 00:30:01,550 Se está a traballar con sitios e está lanzando un sitio web, 476 00:30:01,550 --> 00:30:04,630 é case sempre bo para apoucar o seu código. 477 00:30:04,630 --> 00:30:08,150 Outra razón pola que pode ser bo é, quizais, non quere que outras persoas usen o seu código. 478 00:30:08,150 --> 00:30:11,050 Poida que non quere que outras persoas usen o CSS. 479 00:30:11,050 --> 00:30:13,460 Vostede sabe que se realmente quería ser miserento con iso, 480 00:30:13,460 --> 00:30:16,670 entón tamén pode apoucar o código, e sería máis difícil para min para roubalo 481 00:30:16,670 --> 00:30:19,170 porque eu non teño idea do que está pasando. 482 00:30:19,170 --> 00:30:22,990 Tamén pode ir a sitios como minify.avivo.si. 483 00:30:22,990 --> 00:30:27,900 Servizos como este en liña axudar a apoucar o seu código para que non ten que facelo coa man. 484 00:30:27,900 --> 00:30:30,080 Definitivamente non facelo coa man. 485 00:30:30,080 --> 00:30:32,210 >> Okay. Agora falando scripts. 486 00:30:32,210 --> 00:30:35,040 Quizais o seu código PHP non é algo que non precisa facer. 487 00:30:35,040 --> 00:30:37,910 Se houbese lazos extra alí. 488 00:30:37,910 --> 00:30:40,850 Nós falamos sobre o proxecto do código CS50. 489 00:30:40,850 --> 00:30:44,550 Mesmo se está con programación en C, se ten - se está facendo un traballo extra 490 00:30:44,550 --> 00:30:49,440 que non precisa facer, ben, iso vai diminuír os seus scripts no seu sitio web, 491 00:30:49,440 --> 00:30:53,280 e iso é especialmente importante para os sitios, xa que os usuarios hoxe en día son moi impacientes. 492 00:30:53,280 --> 00:30:56,110 Se está facendo un traballo innecesario, que vai leva-los máis 493 00:30:56,110 --> 00:31:00,080 para obter a información que eles queren, e eles van ser moi infeliz. 494 00:31:00,080 --> 00:31:02,200 Por último, pode querer optimizar as súas táboas de base de datos. 495 00:31:02,200 --> 00:31:05,020 Lembre-se de que falamos índices. 496 00:31:05,020 --> 00:31:09,420 Eles non son bos só para asegurarse de que ten unha liña que é único. 497 00:31:09,420 --> 00:31:12,440 Eles tamén son bos para asegurarse de que a base de datos funciona rapidamente. 498 00:31:12,440 --> 00:31:16,240 Se quere ler sobre que ir á documentación MySQL, 499 00:31:16,240 --> 00:31:18,710 ou pode ollar - ben, como fago para optimizar miña mesa base de datos? 500 00:31:18,710 --> 00:31:23,350 Como podo estar seguro de que eu teño os índices que me axudan a obter a información máis rápido? 501 00:31:23,350 --> 00:31:27,300 >> Tamén hai pequenos trucos que pode usar como caché. 502 00:31:27,300 --> 00:31:28,980 Se ten PHP - se ten un blog, por exemplo, 503 00:31:28,980 --> 00:31:31,980 e que ten - e el é alimento por PHP ou calquera outra linguaxe - 504 00:31:31,980 --> 00:31:37,690 pode almacenar en caché no seu blog digamos intervalos de 50 minutos para que poida servir páxinas estáticas 505 00:31:37,690 --> 00:31:40,610 ou HTML estático para os visitantes do seu sitio. 506 00:31:40,610 --> 00:31:43,380 Desta forma, os usuarios non teñen que executar o script PHP de cada vez, 507 00:31:43,380 --> 00:31:47,410 e quizais iso vai ser máis rápido para eles para acceder a esta información. 508 00:31:47,410 --> 00:31:49,410 >> E, finalmente, pode usar algo como CDN. 509 00:31:49,410 --> 00:31:51,900 Teña en conta que sempre que baixar un Pset, 510 00:31:51,900 --> 00:31:54,890 sempre vai para CDN.CS50.net. Por que isto? 511 00:31:54,890 --> 00:32:01,540 CS50 utiliza tamén como unha especie de CDN - unha rede de distribución de contido - 512 00:32:01,540 --> 00:32:06,120 o que só quere dicir que é un grupo de servidores, quizais nalgún lugar ao redor do globo 513 00:32:06,120 --> 00:32:08,120 que axudan a servir as súas páxinas para os visitantes. 514 00:32:08,120 --> 00:32:13,770 O visitante está a recibir unha páxina dende un servidor que está máis preto deles xeograficamente, 515 00:32:13,770 --> 00:32:16,770 entón probablemente o visitante está indo para obter o arquivo moito máis rápido. 516 00:32:16,770 --> 00:32:20,490 Tamén hai fontes en liña que axudan a facelo. 517 00:32:20,490 --> 00:32:24,070 Un deles é o CloudFlare. Ofrecen un servizo CDN gratis. 518 00:32:24,070 --> 00:32:26,020 Se tes arquivos grandes que o seu servindo aos seus usuarios, 519 00:32:26,020 --> 00:32:32,260 entón quizais sexa mellor poñer-los nun CDN, para que poidan chegar a eles rapidamente. 520 00:32:32,260 --> 00:32:39,070 >> O tema final para o día é search engine optimization. 521 00:32:39,070 --> 00:32:41,070 ¿Que é search engine Optimization? 522 00:32:41,070 --> 00:32:44,070 Isto é asegurarse de que os motores de busca como Google ou Bing ou Yahoo 523 00:32:44,070 --> 00:32:50,740 pode ir ao seu sitio e indexar o seu sitio e indexar o seu sitio e cando 524 00:32:50,740 --> 00:32:53,040 Eu, por exemplo, ir ao Google.com e intento buscar algo, 525 00:32:53,040 --> 00:32:55,040 logo o seu sitio aparecerá. 526 00:32:55,040 --> 00:32:57,000 Como asegurarse de que o sitio é un dos top 10? 527 00:32:57,000 --> 00:33:00,000 Porque, como todos sabemos, se busca por algo en Google 528 00:33:00,000 --> 00:33:02,880 e non é no top 10 probablemente non vai mirar o próximo día 10. 529 00:33:02,880 --> 00:33:07,160 Este é un tipo de tema que está envolta en misterio. 530 00:33:07,160 --> 00:33:09,850 Hai unha morea de hype aí fóra, en Internet. 531 00:33:09,850 --> 00:33:14,680 Hai unha serie de supersticións sobre se x entón Google vai gusta máis de ti. 532 00:33:14,680 --> 00:33:16,680 Se y entón Google vai gusta máis de ti. 533 00:33:16,680 --> 00:33:19,680 Probablemente o mellor é ollar os documentos da xigante das procuras en si. 534 00:33:19,680 --> 00:33:27,470 >> Este é un dos documentos en Google que dicir-lle exactamente como optimizar o seu sitio 535 00:33:27,470 --> 00:33:30,860 para que Google pode acceder e indexa-lo moi ben. 536 00:33:30,860 --> 00:33:33,680 Non ten que copiar abaixo esta URL pois esta presentación vai 537 00:33:33,680 --> 00:33:36,680 estar en liña de calquera maneira. 538 00:33:36,680 --> 00:33:38,770 Se ollar para iso e vostede lea isto, existen algúns consellos moi útiles alí. 539 00:33:38,770 --> 00:33:42,240 Google di que - se o quere que o seu sitio sexa indexado ben 540 00:33:42,240 --> 00:33:44,610 entón ten que facer todas estas cousas. 541 00:33:44,610 --> 00:33:47,570 >> Outra cousa que os motores de busca realmente me gusta é o contido fresco. 542 00:33:47,570 --> 00:33:49,500 Se ten contido que é actualizado con moita regularidade 543 00:33:49,500 --> 00:33:51,950 logo os buscadores dicir, ooh, eu gusto do seu sitio. 544 00:33:51,950 --> 00:33:53,950 Eu estou indo a ir ao seu sitio con moita frecuencia. 545 00:33:53,950 --> 00:33:56,840 Vou índice moi das súas páxinas. 546 00:33:56,840 --> 00:33:59,560 Se ten contido novo, así que ten máis posibilidades de aparecer - 547 00:33:59,560 --> 00:34:02,540 que é máis probable que sexa máis relevante. 548 00:34:02,540 --> 00:34:04,630 Vostede é máis probable que sexa máis actualizado, 549 00:34:04,630 --> 00:34:08,860 e os buscadores son máis propensos a poñer o seu sitio por riba dos outros. 550 00:34:08,860 --> 00:34:10,860 >> Profundos lazos tamén son importantes. 551 00:34:10,860 --> 00:34:13,530 Se realmente quería o seu sitio web para ollar ben nos ollos de un motor de procura 552 00:34:13,530 --> 00:34:18,090 Ten unha morea de outros sitios ligados a el e conectado profundamente no seu sitio. 553 00:34:18,090 --> 00:34:20,090 Non pode conectar para a súa páxina de inicio. 554 00:34:20,090 --> 00:34:26,719 Ligazón a cadra yourname.com / algo / algo / something.php. 555 00:34:26,719 --> 00:34:29,840 Que - para un motor de procura - medio, uau, teñen contido moi interesante 556 00:34:29,840 --> 00:34:35,350 que alguén está chamando tan profundamente na súa páxina web que eu debería realmente 557 00:34:35,350 --> 00:34:38,260 poñer máis importancia nas páxinas deste sitio web. 558 00:34:38,260 --> 00:34:41,940 >> Se ten títulos de páxina precisos, se non ten erros que é bo, porque 559 00:34:41,940 --> 00:34:44,670 un buscador está tentando visitar o seu sitio, e está a recibir un erro, 560 00:34:44,670 --> 00:34:46,780 probablemente vai desistir, moi pronto. 561 00:34:46,780 --> 00:34:49,510 E, finalmente, quere ter un tempo de carga rápido, porque os motores de busca - 562 00:34:49,510 --> 00:34:53,820 así como os humanos - non teñen moita paciencia para sitios lentos. 563 00:34:53,820 --> 00:34:57,070 Esta é unha forma de ter seguro de que amosar-se superior en 564 00:34:57,070 --> 00:35:01,390 consultas de investigación do motor e espera que, así, obter máis tráfico. 565 00:35:01,390 --> 00:35:04,730 Porque despois de todo, vostede pasou todo este tempo a desenvolver o seu sitio web. 566 00:35:04,730 --> 00:35:06,280 Vostede pasou todo este tempo de lanzar o sitio web en liña. 567 00:35:06,280 --> 00:35:11,780 Quere estar seguro de que ten a abundancia de usuarios que realmente ver o seu contido. 568 00:35:13,330 --> 00:35:15,660 >> Outros bos recursos para empregar. 569 00:35:15,660 --> 00:35:19,210 Google Webmaster Tools é algo para ollar. 570 00:35:19,210 --> 00:35:21,780 Isto só axuda a ver - Google non está indexando meu sitio. 571 00:35:21,780 --> 00:35:24,490 Que tipo de erros é que atopar? 572 00:35:24,490 --> 00:35:27,490 Cantas páxinas ten é indexado? 573 00:35:27,490 --> 00:35:29,490 O que pensa que é o contido máis importante na miña páxina? 574 00:35:29,490 --> 00:35:31,490 Quizais non sexa o que quero que sexa. 575 00:35:31,490 --> 00:35:36,880 Poida que eu teña que cambiar o meu sitio un pouco de tal forma que se reflicte mellor 576 00:35:36,880 --> 00:35:38,880 o meu sitio é realmente sobre. 577 00:35:38,880 --> 00:35:41,000 Google Analytics é unha ferramenta moi legal. 578 00:35:41,000 --> 00:35:44,120 Pode engadir un pouco de JavaScript para as súas páxinas. 579 00:35:44,120 --> 00:35:47,020 E logo pode ir ao Google Analytics, e só pode rastrexar 580 00:35:47,020 --> 00:35:49,020 súa demografía de visitantes eo seu crecemento local. 581 00:35:49,020 --> 00:35:51,810 El lle vai dicir exactamente cantas persoas visitan o seu sitio 582 00:35:51,810 --> 00:35:55,310 dentro dun determinado día, dentro dunha determinada hora, dentro dunha determinada semana. 583 00:35:55,310 --> 00:35:57,310 Cantos visitantes de China? Cantos visitantes da Antártica - 584 00:35:57,310 --> 00:35:59,310 está a recibir para a súa web. 585 00:35:59,310 --> 00:36:03,470 que podería ser unha cousa legal para ver, ou pode ata ser útil 586 00:36:03,470 --> 00:36:05,470 por que estás a alcanzar un determinado grupo. 587 00:36:05,470 --> 00:36:08,410 Pode que a intentando acadar adolescentes co seu sitio web, e ve que 588 00:36:08,410 --> 00:36:11,410 a maioría dos visitantes do seu sitio web son talvez 30 - á idade de 40 anos, 589 00:36:11,410 --> 00:36:15,130 entón quizais sexa tes un problema ou pode simplemente dicir: 590 00:36:15,130 --> 00:36:19,590 ben, entón quizais eu deba cambiar o foco do meu sitio para que 591 00:36:19,590 --> 00:36:22,240 Eu me concentrar máis en que franxa de poboación. 592 00:36:22,240 --> 00:36:28,500 >> Google Apps - se quería ter unha especie de un correo co seu nome de dominio - 593 00:36:28,500 --> 00:36:31,230 Quizais algo como yourname@yourname.com-- 594 00:36:31,230 --> 00:36:35,270 pode utilizar enderezos de Gmail - pode utilizar o servizo Gmail 595 00:36:35,270 --> 00:36:38,500 e Google Apps é un xeito de facelo. 596 00:36:38,500 --> 00:36:44,050 Pode configurar enderezos de correo electrónico específicas que son específicos para o seu nome de dominio 597 00:36:44,050 --> 00:36:46,800 no canto of@gmail.com. 598 00:36:46,800 --> 00:36:51,840 >> E, finalmente, hai extensións programador web e add-ons para Chrome -, 599 00:36:51,840 --> 00:36:56,380 para Firefox, para outros navegadores - que lle permiten entrar e inspeccionar 600 00:36:56,380 --> 00:37:02,290 CSS, JavaScript inspeccionar, ver exactamente o que hai de malo co seu guión JavaScript, 601 00:37:02,290 --> 00:37:05,290 e quizais iso vai ser útil para os seus propósitos de-escoitas, para descubrir - 602 00:37:05,290 --> 00:37:08,630 así, porque non é o meu sitio mostrando correctamente neste navegador? 603 00:37:08,630 --> 00:37:11,800 >> E, finalmente, se quere saber máis sobre todos estes temas - 604 00:37:11,800 --> 00:37:14,410 se quere saber máis sobre HTML e CSS e JavaScript - 605 00:37:14,410 --> 00:37:16,790 porque despois de todo, só lle ensinou un pouco - 606 00:37:16,790 --> 00:37:21,240 pode ir en sitios como W3Schools.com para buscar máis recursos. 607 00:37:21,240 --> 00:37:26,340 Teñen moi bos tutoriais sobre como fago x, y ou o que quere dicir? 608 00:37:26,340 --> 00:37:30,400 Se quere saber máis sobre linguas, pode simplemente ir aquí. 609 00:37:30,400 --> 00:37:37,690 >> Todo ben. Creo que eu quería deixar os últimos minutos deste para preguntas, 610 00:37:37,690 --> 00:37:39,810 tamén hai dúbidas sobre todo o que falamos? 611 00:37:39,810 --> 00:37:43,500 [Membro da audiencia] Que tipo de cousas están no W3Schools e como é cuberto? 612 00:37:43,500 --> 00:37:45,500 [Yuechen Zhao] Que tipo de cousas? 613 00:37:45,500 --> 00:37:50,180 Entón, un dos moi maiores cousas que eu uso moito é as súas referencias. 614 00:37:50,180 --> 00:37:54,430 Os seus detalles de referencias, por exemplo, a CSS - 615 00:37:54,430 --> 00:37:59,480 o que significa isto ou se quería cambiar o fondo dunha páxina - 616 00:37:59,480 --> 00:38:01,480 como fai iso? 617 00:38:01,480 --> 00:38:04,550 Que navegadores soportan este comando? Cousas así. 618 00:38:04,550 --> 00:38:10,870 E entón eles tamén só ten moi agradables tutoriais sobre HTML, en PHP, en JavaScript, 619 00:38:10,870 --> 00:38:14,290 en MySQL, en todo tipo de distintos temas. 620 00:38:14,290 --> 00:38:18,800 Teñen bos tutoriais. Eles ensinan como facer as cousas. 621 00:38:18,800 --> 00:38:22,590 É bo ser capaz de ir e aprender máis sobre estes temas. 622 00:38:22,590 --> 00:38:27,180 >> [Membro da audiencia] HTML 5 aínda non é compatible con todos os navegadores por aí. 623 00:38:27,180 --> 00:38:30,700 Recomenda só estar lonxe dela por mor de problemas de compatibilidade? 624 00:38:30,700 --> 00:38:32,700 Como trata sobre iso? 625 00:38:32,700 --> 00:38:38,640 [Yuechen Zhao] Si, por iso, o importante é HTML5 aínda é un estándar de bebé. 626 00:38:38,640 --> 00:38:42,030 Non é realmente apoiado por un gran número de navegadores, por iso hai que evitalo? 627 00:38:42,030 --> 00:38:48,040 Eu creo que o ano pasado eu sería un gran defensor da, imos evitar HTML5 628 00:38:48,040 --> 00:38:52,430 porque aínda é - aínda é moi novo e, de feito, o estándar HTML5 629 00:38:52,430 --> 00:38:55,610 aínda non foi finalizado. 630 00:38:55,610 --> 00:38:58,790 E así, non hai realmente ningún estándar HTML5. 631 00:38:58,790 --> 00:39:03,840 Pero eu creo que, especialmente se está designado un sitio agora, 632 00:39:03,840 --> 00:39:07,450 quizais sexa mellor se ir só con HTML5, porque iso é unha especie de será o futuro, 633 00:39:07,450 --> 00:39:11,250 e se quere que o seu sitio sexa a proba de futuro e quere que o seu sitio web para traballar 634 00:39:11,250 --> 00:39:14,320 en navegadores futuros, pode ser mellor para comezar a construír algo para o futuro 635 00:39:14,320 --> 00:39:19,830 que para o pasado, e tamén só debido ao feito de que o HTML5 en realidade non é moi diferente 636 00:39:19,830 --> 00:39:23,080 de HTML4 ou XHTML. 637 00:39:23,080 --> 00:39:29,780 Se está usando HTML5, que normalmente funciona na maioría dos navegadores. 638 00:39:29,780 --> 00:39:34,660 Só tes a sorte de ir e comproba se con estas imaxes 639 00:39:34,660 --> 00:39:38,630 e asegurarse de ir a estes sitios mesmo. 640 00:39:38,630 --> 00:39:44,280 Pero, moi probablemente vai funcionar a menos que vostede está a usar características moi específicas para HTML5. 641 00:39:44,280 --> 00:39:50,240 Lembra tamén que a CS50 - por exemplo, para o reprodutor de vídeo que usan - 642 00:39:50,240 --> 00:39:56,230 usa HTML5 e HTML5 vídeo para ver as conferencias. 643 00:39:56,230 --> 00:39:59,420 Pero se ten un navegador moi antigo, polo que vai caer cara atrás en Flash. 644 00:39:59,420 --> 00:40:01,420 Entón, iso tamén é outra cousa - 645 00:40:01,420 --> 00:40:05,190 ter un sistema de Fall-back para cando só sabe que o seu navegador non está indo para xestionar 646 00:40:05,190 --> 00:40:08,140 o que quere para soster. 647 00:40:08,140 --> 00:40:10,140 >> Outras preguntas? 648 00:40:10,140 --> 00:40:13,270 Todo o que falamos. 649 00:40:16,910 --> 00:40:20,750 Todo ben. Entón eu creo que iso é todo para min. 650 00:40:20,750 --> 00:40:23,090 Creo que é iso. 651 00:40:23,090 --> 00:40:28,430 (Aplausos) 652 00:40:28,430 --> 00:40:30,000 Legal. 653 00:40:30,500 --> 00:40:32,700 [CS50.TV]