[Powered by Google Translate] [Seminar] [Forberedelse dit websted til Web] [Yuechen Zhao] [Harvard University] [Dette er CS50.] [CS50.TV] Okay. Her er en anden time af web udvikling, hvis du fyre er op til det. I dag har jeg tænkt mig at tale om at forberede dit websted til internettet. Hele dagen - og sandsynligvis i de sidste 2 uger - Vi har talt om, hvordan du opretter en hjemmeside, hvordan man bruger HTML, hvordan man bruger PHP, hvordan man bruger rammer, hvordan man sørge for, at du kan interagere med databasen - ting som. Men i dag, vi kommer til at tale om, hvor dit websted kommer til at leve efter CS50. Fordi efter alt, er CS50 ikke ske tidligere December. Vi kommer til at tale om domænenavne, hosting. Vi kommer til at tale om, hvad cross-browser kompatibilitet og cross-platform kompatibilitet er, og hvordan du kan sikre dig, at dit websted kommer til at operere under alle forhold. Vi taler om fejlhåndtering og andre server magi. Vi taler om performance optimering, søgemaskine optimering, og hvordan man får folk til rent faktisk at besøge dine hjemmesider. Og endelig at bare nogle gode ressourcer sørge for, at du fyre har nok af dem, at gå ud med din endelige projekt, og forhåbentlig efter. Den første ting, vi kommer til at tale om, er domænenavne. Lige nu er du programmering i dit apparat, du går til en lokal vært der er faktisk ikke et domænenavn. Det er slags bare et kaldenavn eller et alias for din faktiske Linux installation indersiden af ​​enten VMware på en Mac eller VMware Player på en pc. Domænenavne kan du sætte et websted på internettet, og derefter gå til noget som www.google.com og få hjemmesiden. Hvordan virker de? Lad os sige, at du er bare en gennemsnitlig web server - gennemsnitlige Web surfer, og du har en bærbar computer, og du går til www.howstuffworks.com. Du kan sikkert se, hvor jeg stjal det fra. Hvordan ting virker - computeren vil derefter bede en lokal DNS-server, "Ved du, hvor denne hjemmeside er?" "Kender du IP-adressen på www.howstuffworks.com?" Din DNS-server kan sige, "Ja, det gør jeg." I så fald får du den IP-adresse, og din computer adgang, at IP-adresse. Hvis den ikke gør, spørger en anden DNS-server, "Hey! Ved du, hvad www.howstuffworks.com er?" Denne server kan sige, "Ja, det gør jeg." Så det fortæller den anden, hvad det er, og endelig får at oplysninger videregives til din computer, og du kan få adgang til howstuffworks.com. Hvordan kan du få en af ​​disse magiske ting? Hvordan kan du få måske www.yourname.com eller www.ilovecats.com? Du kan tilmelde dig en, og der er en masse hjemmesider derude, der tillader dig at gøre det. Du skal - i de fleste tilfælde skal du betale for dem. Der er visse domænenavne, der er gratis. Hvis du går til www.co.cc eller. Tkdomainnames, de er gratis. Men kommer de med visse begrænsninger, og i virkeligheden nogle af dem måske ikke engang være reelle, top-level domænenavne som. com eller. net. Normalt ville jeg foreslå at gå til en af ​​dem fordi brugerne er bare mere komfortabel med dem. Du har set en masse. Coms. Du har set en masse. Net. Du har sikkert ikke set en masse. Co.cc 's, så de er sværere at huske. Forskellige websites som GoDaddy eller NameCheap eller - jeg brugte en, der er slags sketchy - kaldet activedomain.com. Det ser virkelig overfladisk, men det har fungeret rigtig godt for mig. Og endelig har du andre, der måske gøre mere reklame som Network Solutions. Men hvis du går ind på NetworkSolutions.com og se på deres prissætning det er virkelig dyrt. Jeg kiggede på dem i aftes. For et år et domænenavn, er det nok ikke værd at så mange penge. I virkeligheden, hvis du får en. Com eller. Org eller. Net den sædvanlige pris er omkring $ 10 om året. Så hvis du betaler meget mere end det, det er nok ikke så værd fordi, trods alt, har disse hjemmesider ikke gøre noget med dette domænenavn. De bare give det til dig, og så hvis du kan få det for billige, hvorfor ikke? Den anden ting er, når du har dit domænenavn, så er du sandsynligvis ønsker at gå videre til enten Godaddy.com eller hvor du har købt dit domænenavn og indstille navneservere for dette domænenavn. Det betyder, når en bruger går til www.howstuffworks.com, disse navneserver IP-adresser er de IP-adresser, de ville være i stand til at se op. De ville være i stand til at få adgang til din hjemmeside via disse navneservere. Hvis du ansøger om hosting sted så vil din vært vil højst sandsynligt give dig de navneservere til at bruge. Og endelig er der denne ting kaldet en WHOIS. En WHOIS-databasen er en database, som du kunne indtaste et domænenavn og det vil spytte ud af nogle oplysninger om ejeren af ​​stedet, og andre kontaktoplysninger. Nu kan du sige, "Jeg har ikke rigtig have min hjemmeadresse eller jeg ikke virkelig ønsker min e-mail-adresse på hjemmesiden for nogen at se eller på internettet for alle at se. " Så er du måske ønsker at bruge noget, som en masse af hosting-tjenester, giver - ligesom en WHOIS manager. En WHOIS manager er simpelthen en anden service, at en masse af dem giver, at huder væk, at information og bare lægger hvem der er manager for det navn - efter adressen er det normalt bare, at selskabets navn, der er givet dig dette domænenavn - og så derefter dine personlige oplysninger ikke bliver lækket på internettet, som normalt er temmelig godt. Jeg selv bruger en af ​​disse tjenester. Hvis du er ligeglad med dit eget privatliv, så er det virkelig ligegyldigt. En DNS-server står for Domain Name System, og hvad det er - Det er lidt ligesom en hash tabel et sted, der siger,  "Dette hjemmeside adresse vil kortlægge til denne IP-adresse." Og det er alt det er. Så når du forespørge denne DNS-server, så kan du få IP-adresser for at tilsvarende domænenavn og derefter besøge denne hjemmeside. (Tilhørerne medlem stiller et spørgsmål - uhørligt) Den første? Det første niveau er faktisk som regel bare computerens cache selv. Din computer slags husker den sidste gang, at du gik til www.google.com Det var på denne IP-adresse, og derefter efter et stykke tid, vil det cache udløbe, og det vil spørge ligesom Comcast DNS, "Hey, hvad er www.google.com?" Normalt, når du køber et domænenavn, og du registrere en, og du har oprettet en hjemmeside, du kan ikke gå til denne hjemmeside umiddelbart med dette domænenavn, fordi navneservere på tværs af kloden ikke kender dit domænenavn endnu. Det har at befolke. Det tager normalt omkring 24-48 timer. Ok. Så det er en lille smule om domænenavne. De er meget cool. Jeg synes du skal få en, hvis du er seriøs omkring projektet og hvis du virkelig ønsker at gøre dit projekt kendt over hele campus, have et domænenavn gør det ser virkelig professionel. Så det næste skridt, selvfølgelig, er at have en form for hosting. Hvis du bare hoste det på din computer, er ingen nogensinde vil være i stand til at gå til den. Du kan potentielt oprette en server på din computer og holde din computer for evigt, men det er ikke anbefales. Der er forskellige former for hosting er tilgængelige online. Der er delt hosting. Der er VPN (uforståelige), som er virtuelle værter. Der er semi-engagerede og dedikerede. Af de 3 sidste, er VPN, semi-dedikeret og engageret som regel dyrere. De er normalt anvendes til websites, der kræver flere ressourcer. Hvis du lige er startet ud med en hjemmeside, det måske bare være mere økonomisk at gå med den delte hosting. Og hvad delte betyder er bare en flok websites er alle sammen sortere i på én server på denne hjemmeside på denne vært server, og du kan få adgang til din hjemmeside via domænenavn. Der er en masse af populære værter derude. HostGator og DreamHost - dem er meget, meget store og meget, meget populær og meget, meget vellykket. Jeg personligt bruge en kaldet MDDHosting. Hvis du går til www.mddhosting.com, det er min væld af valg. Jeg synes de er meget gode. De har altid været meget pålidelig, og jeg har aldrig haft nogen problemer med dem. De har også meget konkurrencedygtige priser. To, at jeg ikke rigtig lide, er GoDaddy - det er også en meget populær vært, men jeg har haft forfærdelige erfaringer med dem, og en masse mennesker, som jeg kender, har haft virkelig forfærdelige erfaringer med dem. De slags går efter folk, der ikke ved, hvad de laver - måske du laver en hjemmeside for første gang, og så de slags con dem til at købe deres hosting pakke. Gør det ikke. Må ikke falde for det. Go kigge efter andre hosting pakker, der virkelig passer til dine behov. Og den anden er - der er gratis værter derude. Der er hjemmesider, der vil hoste din hjemmeside til fri - undertiden ved at sætte en annonce på dit websted, undertiden ved at du deltager i deres fora, men nogle gange bare også gratis. Men vær forsigtig med gratis værter, fordi en masse af dem virkelig bare gå ud af markedet efter et par måneder. Du kan bare ikke holde op med omkostningerne. Andre er bare meget upålidelig, og dit websted vil altid være nede, og du ikke ønsker at det skal ske. Hver vært vil tilbyde deres egne kontrolpanel. Bemærk, at for dit apparat, der er virkelig ikke et kontrolpanel per se. Du er nødt til at bruge terminalen til at gå og redigere filerne. Du er nødt til chmod ting ved dig selv. Hvis du ønskede at gå til phpMyAdmin du er nødt til at gå til localhost @ / phpmyadmin og sådan noget. Men med et kontrolpanel, kan du gå ind og redigere filerne på din server med Windows Stifinder eller en finderen-typen ansøgning. Eller du kan gå igennem og se på dine databaser med deres eget værktøj i stedet for phpMyAdmin. Så der er en masse valg her, og nogle af de mere populære kontrolpaneler er deroppe. Men hvis du er på udkig efter en vært, så er du måske ønsker at se på, hvad slags tilpasninger og optioner de tilbyder mig at tilpasse min server og laver min hjemmeside køre bedre. Ja, så er du måske spørge, "Nå, hvordan kan jeg vælger hosting?" Hvis du går videre til enhver vært hjemmeside er der en masse af jargon, og der er en masse muligheder. Der er en masse forskellige priser også. Normalt går jeg de billigere, bare fordi hjemmesider, måske du og jeg gør - og især lige nu, især som startere - de kan ikke brug for så mange ressourcer som måske en hjemmeside som Microsoft.com. Først du ønsker at se på operativsystemet, hvis du er virkelig nysgerrig om dit websted kommer til at være vært på Linux, Windows eller på Mac. Normalt vi bare gå med Linux, fordi det er normalt den billigste, og også den, der måske er du fyre er mere fortrolige med, fordi apparatet. Og så måske de vil sætte nogle begrænsninger på mængden af ​​båndbredde, du får - ligesom hvor mange megabyte eller gigabyte data kan brugerne downloade fra din hjemmeside om måneden? Eller diskplads. Hvor meget plads har du? Er det 500 MB? Er det 2 GB? Er det ubegrænset? I dag, en masse af web-servere giver dig ubegrænset diskplads som en måde for dem at lokke dig til at få deres hosting pakke. Men hvis du virkelig tænker over det, er, når du nogensinde vil få brug for ubegrænset diskplads? Hvis du har et par HTML-filer, et par PHP, et par billeder - det er kun et par megabyte, og så plejer jeg bare gå til måske et par gigabytes værd af rummet, og der kan være nok til at starte mig indtil jeg har brug for mere. Endelig kan de sætte begrænsninger på, hvad slags - hvor mange databaser, du kan have. Måske du kan kun have 1 database. Måske kan du have 2. Måske kan du have 10. Er det virkelig vigtigt for dig, hvor mange du får? Ting at spørge dig selv. Og så endelig, kun ting som sprog. Har de understøtter PHP? Har de understøtter MySQL? De fleste hosting websites går til disse, fordi de er gratis. De er open source. Det betyder ikke koste dem noget at give dem for dig. Men hvis du ønsker at bruge, siger, Ruby eller Python eller nogle af disse andre sprog - kan de ikke støtte det på deres server, så det er vigtigt at kigge efter den slags ting. Og endelig, de tillader dig at gøre nogle mere avancerede ting som SSL eller cron jobs? SSL er en mulighed, hvor du kan gøre din hjemmeside mere sikker ved at gøre det HTTPS og kryptere dine forbindelser. Og cron job er bare måske scripts, som du ønsker at køre hver 5 minutter, hver 10 minutter, hver 15. En masse delte hosting hjemmesider putter restriktioner om antallet af cron job, du kan køre, fordi der fylder flere ressourcer. Og endelig, bare alt andet, som du ønsker at se på - sørg præcis, hvad der foregår før du køber din hosting pakke. Og endelig ydeevne. Performance er enorm. Hvor hurtigt bliver min hjemmeside kommer til at køre? De fleste brugere vil ikke vente for selv sekunder til din hjemmeside til at køre før de bare keder sig, og de går videre til MeanBase og begynde at se på billeder af katte - du ved det sker, og du vil være sikker på, at du får denne bruger om bord og at du har gode oppetid hvilket betyder blot, at din hjemmeside vil være tilgængelig på alle tidspunkter. En masse værter har virkelig dårlig oppetid og det betyder bare din hjemmeside kommer ikke til at være tilgængelige, og du ikke ønsker at det skal ske, fordi du måske være ked af det. Og du kan også spore din vært ydeevne med hjemmesider som Pingdom.com eller Host-tracker.com, og de bare fortælle dig, hvor ofte dit websted ned. Og endelig, du ønsker at se om deres støtte. Hvis du har et problem vil de svare dig inden for 24 timer? Vil de svare dig inden for 48 timer? Den hosting service, som jeg bruger normalt reagerer på mig inden for minutter som er virkelig rart. Puha! All right! Det er tid til en pause. Men jeg har ikke tænkt mig at give det til dig. Vi vil bare se på billeder af søde katte og næ. En anden virkelig, virkelig store ting er cross-browser kompatibilitet. Hvad mener jeg med cross-browser kompatibilitet? Du ved, i dag er det ikke bare Microsoft Internet Explorer. Det er ikke kun Mozilla Firefox eller Safari. Nu har vi Chrome. Vi har Opera. Vi har Dolphin. Vi har Camino. Vi har Conqueror. Vi har alle disse forskellige browsere. Ting, der kommer ud nu - RockMelt - selvom de alle er baseret på Chromium. Men Sagen er, at der er ikke bare en browser længere. Du er ikke bare ser disse websider med én ansøgning. Og så vil forskellige browsere reagere på forskellige HTML, forskellige CSS, og anderledes JavaScript forskelligt, og hvordan vil du håndtere det? Tja, i visse tilfælde, du virkelig ikke kan. Din hjemmeside - hvis det fungerer i en browser, vil den kode, du skrev ikke arbejde i en anden browser, er det og er dit job at sørge for, at den kode, som du skriver er universel, at det virker overalt. Så det er virkelig farligt. Hvis du siger: "Nå, det er at arbejde på min computer. Great! Lad os gå videre." Nå, er det sandsynligvis ikke kommer til at arbejde på mine, og når jeg gå til din hjemmeside Jeg har tænkt mig at være meget trist, og jeg har tænkt mig at forlade højre væk. Så lad os se, hvordan du kan forhindre dette. Den første ting, selvfølgelig, er kun at bruge standard HTML, CSS og JavaScript. Hvad mener jeg med det? Nå, der er en masse af ikke standard ting derude. For eksempel er der i CSS er mange versioner. Hvis du ser nogen CSS regler med-moz-eller-webkit-, disse regler er specifikke på både Mozilla browsere og WebKit-browsere, og så du vil være sikker på, at du måske ønsker at undgå disse ting fordi hvis du bruger-moz-denne regel er kun kommer til at arbejde på Firefox. Og hvis du virkelig ønsker det skal se godt ud på Internet Explorer også, du kommer til at være ude af lykke. For HTML også, kan du gøre tingene i HTML, der arbejder i en browser men at pauser i en anden, og du ønsker at undgå, at så meget som muligt. Og endelig for JavaScript endda - der er mange versioner af JavaScript, og denne sommer vi løb ind i et problem, hvor Document.getElementsByClassName-- som normalt er en funktion, der er defineret som en del af JavaScript-standarden - var ikke at finde i Internet Explorer 8. Så i løbet af sommeren jeg arbejdede i et laboratorium, og vi var ved at bygge online eksperimenter. Og vi troede, det var fungerer rigtig godt indtil vi indset brugere, der anvender Internet Explorer 8 ikke kunne indsende deres resultater. Vi var glip af en masse data. Det gjorde os virkelig trist. Så du altid vil være sikker på, at dine scripts kommer til at arbejde overalt. Og endelig, brug validator.w3.org hvilket er, hvad vi fortæller dig at gøre i Pset 7.. Sørg for, at dine sider er valideret. Det er vigtigt, fordi det i det mindste er et første skridt sanity check. Er min kode egentlig standarder kompatibel? En anden måde at sortere i hjælpe dig med at sørge for, at dit websted er at gå på arbejde under de fleste omstændigheder er at måske bruge nogle biblioteker og frameworks fordi disse virkelig smarte udviklere har tænkt over disse spørgsmål for dig. De er gået igennem, og de har skrevet forskellige funktioner, der arbejder på tværs af browsere. For eksempel bruger vi jQuery i Pset 7.. Selvom du måske ikke har set det, jQuery giver en masse funktioner der ellers ville du nødt til at skrive selv. Men disse udviklere skrev det, og de sørget for, at det virker på tværs af alle browsere. Og Bootstrap - som er en anden CSS rammer, som vi viste dig i Pset 7 - det virkelig tager væk en masse af de hovedpine med at designe hjemmesider, der ser godt ud. i alle browsere. Og endelig, hvis du kan undgå det, jeg normalt undgå kodning fra bunden. Hvis du bare er ved at oprette en hjemmeside til din skole klub, for eksempel, og alt hvad du behøver at gøre er at vise et par sider, og måske har din præsident gå og ændre et par ting her og der - der er virkelig ingen grund til at kode, op selv. Det tager en masse af din tid. Det tager en masse af din energi, og du er nødt til at gå igennem, og du er nødt til at finde ud af, Nå, dette kommer til at se godt ud i denne browser, er det vil se godt ud i denne browser. Måske bruge nogle af disse patches som andre allerede har skrevet til dig, som WordPress eller Joomla eller Drupal. Disse kaldes indhold - disse kaldes CMS'er som dybest set er lige pakker, allerede kommet gjort for dig, og du kan downloade dem, sætte dem på din server, og tilpasse dem, som du vil, og du allerede har en kørende hjemmeside. Disse kode pakker er noget at se på. Disse ting er open source, medmindre du gå efter noget lignende - hvis du leder efter en formular pakke, der er ting, der ikke er gratis som VBulletin eller IP.Board. Hvis du ikke har brug for nogle af disse avancerede funktioner, kan du altid vælge den gratis mulighed. Og endelig er der ingen undgå det. Du skal teste, test, test. Du skal teste din kode på alle disse browsere og på alle disse platforme. Og du ved, IE6 - har gudskelov folk begyndte at bevæge sig væk fra IE6 fordi tilbage i dag, et par år siden måske, webudviklere skulle altid, altid, altid lefle for IE6 svagheder i at følge standarderne. Websites bare kiggede slags 1990'erne i mangel af en bedre måde at håndtere det. Du kan også bruge browseren screenshots til at tjekke din CSS. Et virkelig cool hjemmeside er browserlab.adobe.com. Dette er en gratis service, sat ud af Adobe. Og hvad de gør, er at de kan tage screenshots af din hjemmeside kører under forskellige forhold - som at løbe under forskellige browsere, kører under forskellige platforme - og vise dig, hvad de ser ud. Blot for at vise dig, hvad jeg mener her, jeg oprettet en hjemmeside sidste år kaldte menneskeliv på Harvard, og hvad jeg forsøgte at gøre - jeg forsøgte at gøre my.harvard bedre. Fordi hvis du var her sidste år, har my.harvard ikke ser ud, som det ser ud nu. Det ser lidt ulækkert. Men nu ser det meget bedre. Min implementering var ikke så nyttigt længere, men alle de samme, du ved, jeg forsøgte at tilføje - (uforståelige) mange uanset - og det ser - det ser meget godt ud på min computer. Og så, måske hvis jeg havde haft mere tid ville jeg har gået på at browser lab, og jeg ville have kigget på, vel, hvordan det ser ud i Chrome 18 på Windows. Jeg ville rulle ned og jeg ville se - oh no! Kig på annonceringer kassen. Min tekst var overfyldte. Så det er slemt, right? Hvis en bruger bruger Chrome på Windows og kommer til min hjemmeside, der umiddelbart ser meget uprofessionelt. Så skal jeg gå ind i min CSS og finde ud af, hvilken del af min CSS er at bryde her. Hvorfor er det ikke vises korrekt, og ordne det, så alle brugere kan se det samme website og være lige så glade. Og endelig, godt, browser screenshots er rart for at teste din CSS, men hvad med din JavaScript? Hvad hvis du har nogle komplicerede script, der kører? Nå, kan du altid gøre virtualisering. Hvis du har en Mac, kan du bruge Bootcamp eller VMWare at virtualisere måske en kopi af Windows og brug Internet Explorer der. Eller du kan gå videre til noget som Spoon.net, som desværre virker kun på pc'er. Men hvad de gør, er meget cool. De virtualisere software til dig, så du kan køre forskellige versioner af IE, for eksempel. Du kan køre forskellige versioner af Firefox. Du kan køre forskellige versioner af Safari og afprøve alle dine websteder der. Desværre, de ikke er fri. Det er en betalt service, så der er altid slags dette - der er altid slags denne afvejning mellem, ja, jeg kommer til at gøre min hjemmeside se godt ud. Hvis ja, kan jeg nødt til at betale for nogle tjenester til at hjælpe mig gøre det. Eventuelle spørgsmål på dette punkt om noget, som vi talte om? Awesome. Okay. Nu har vi flere ting at tale om. Hvordan omkring fejl? Hvordan kan du sikre dig, at dit website kommer til at fungere, selv når der sker noget slemt? Måske har du ikke har en side med navnet food.php. Men mig, jeg gå til din hjemmeside, og jeg forsøger at få adgang food.php. Er du bare at vise mig, at hvide side, der siger 404 - Filen blev ikke fundet? Eller er du kommer til at sige: "Jamen, jeg er ked af, at jeg ikke kunne finde dette for dig, men måske her er nogle andre ressourcer til at hjælpe dig med søge efter hvad du har brug for. " Andre fejl - så, dette kaldes HTTP-fejl, der er bare nogle fejlkoder at din server kunne have sendt tilbage til browseren i tilfælde af noget slemt sker. 400 - Bad Request. 401 - Uautoriseret. 403 er en slags fælles, når du har en mappe, der ikke er meningen at få adgang af brugeren, brugeren, men forsøger at alligevel. Og 500 - Internal Server Error - der normalt sker, når du har noget virkelig dårlig sker med din PHP-kode. Men under alle omstændigheder, den slags browsere - gør disse former for fejl sker. Så hvordan kan du sikre, at du yndefuldt håndtere disse fejl og sørg for, at brugeren ikke er lige slags hængende der? Her kommer. Htaccess. Nu. Htaccess er noget, der virker på Apache-servere, noget, der virker og arbejder på et par andre servere som godt. Dette er blot en måde for dig at konfigurere din server sådan, at du kan gøre det gøre, hvad du vil have det at gøre. Nogle ting du kan gøre. Du kan styre dine cache-indstillinger. Måske er der en bestemt side på dit websted, som du sørge for, at brugeren re-download hver gang brugeren kommer og besøger dit website. Eller måske har du nogle URL, der er ligesom yoursite.com / test / html / pages / hello.html og du bare ønsker at det skal være yourname.com / goddag -. godt, kan du bruge htaccess at omdirigere en webside til en anden. Du kan også bruge det til at gøre godkendelse. Måske er der nogle dele af dit websted, som du har brug for at bruge en anden adgangskode. Du kan blokere visse IP-adresser, blokere bestemte domæner. Måske har du bare virkelig ikke kan lide Harvard studerende, der bruger dit website. Nå, har du mulighed for at blokere alle Harvard IP-adresser. Endelig kan du behandle tingene på - du kan skrive visse kode til at gøre din server behandle som. Zhao eller. dit navn eller. hello sider som PHP-kode. Måske der vil være nyttige. Måske vil det ikke være. Og endelig kan du bruge den til at håndtere fejl reaktioner. Hvad mener jeg med det? Hvis du blot føje kode som dette - ErrorDocument 404 og derefter henvise dem til nogle error side kan du sørge for, at brugeren ikke kun se virkelig, virkelig grim 404 og vise dem noget rart. Lad os faktisk tage et kig på, hvordan vi kan gøre det med din Pset 7.. Her er jeg i min apparatet. Jeg har tænkt mig at åbne Chrome, og så vil jeg prøve at få adgang til en side der ikke findes på CS50 Finance. Så lokale vært - cats.php-som så, bemærke, at jeg oprettede en fejl dokument som siger, "Canz ikke finde z side!" Det har en meget trist kat på den. Hvis du går på Twitter, hvis du går på nogen af ​​disse andre sites, du kan ikke finde en side, de normalt forsøger at vise dig en sød billede så at du ikke er alt for skuffet. Du kunne også have noget, der er mere professionelle, der siger, godt, jeg er ked af jeg kunne ikke finde den side, men måske her er et søgefelt. Eller måske her er nogle links, der vil hjælpe dig med at finde det link, du ønsker. Så, hvordan jeg gør det? Hvordan er det overhovedet muligt? Hvis vi går ind i vores terminal her - Jeg skal bare til at zoome ind lidt - bemærke, at jeg har en ny side. Inde i min HTML mappe det hedder - du kan ikke se det - det hedder error.php. Og error.php er blot en fil, som jeg gjorde der viser dig, at selve siden. Jeg kan vise dig, hvad error.php er. Det er præcis denne side. Den siger, "Åh nej! Canz ikke finde z side!" Og hvis du ønsker at se - så bemærke, at htaccess slags er en underlig navn.. Det starter med en prik, hvilket betyder, at det er et system fil. Det er en skjult fil, som normalt ikke vises. Hvis du gør ls-a, kan du se alle de skjulte filer i en bestemt mappe, og ja, du ser. htaccess er en af ​​dem. Lad os gå videre og åbne htaccess. - med gedit - Boom! Alt jeg har, er en linje derinde - Fejl dokument 404 fejl som også er kendt som en fil-not-fundne fejl. Lad os omdirigere dem til noget, der hedder error.php. Du kan have det sjovt ting som canz ikke finde z side! Og der er også meget cool ting, du kan gøre med. Htaccess. Hvis du vil se mere. Htaccess magi, dette er en meget cool hjemmeside til at gå til - det hedder javascriptkit.com/howto/htaccess.shtml-- hvis du ønsker at udføre mere server magi. Og det kunne være meget sjovt. Puha! All right! Flere søde billeder. Dette er en fyr gør push-ups, og hans kat forsøger at hjælpe. Jeg synes det er meget sød. Desværre har jeg ikke en kat som. Ok. Så vi har talt om. Htaccess. Vi har talt om fejlhåndtering. Vi har talt om hosting, domænenavne. Vi har talt om cross-browser kompatibilitet. Nu hvordan kan vi sørge for, at dit websted faktisk udfører? Hvordan kan vi sørge for, at hvis jeg går til din hjemmeside Jeg kan se din side inden for et par sekunder? En af de ting, som jeg tror folk bare slags glemme alt om er billedet optimering. Lad os sige, at du ønskede at sætte et billede på dit site og det er 2 MG store. Det kunne være fint for os, fordi vi er på Harvard, og vi har en meget hurtig internetforbindelse. Men forestil dig en person i Kina. Forestille mig nogen i Indien. forestille mig nogen måske i landdistrikterne Kansas, som måske ikke har den samme slags bredbåndsinternet, vi har. Hvis du har en 2 MB billede på din hjemmeside, og brugeren forsøger at få adgang til det, det kommer til at tage dem rigtig lang tid at downloade. Så hvis du ikke har brug for den slags opløsning, så kan du ændre størrelsen på dit billede med noget som Adobe Photo Shop. Der er normalt en valgmulighed kaldet sikker for web og enheder og hvad det gør, er det strimler ud af alle de unødvendige oplysninger og sortering af komprimerer din fil i en lille billedstørrelse, så du kan sætte det på din hjemmeside, og enhver bruger, der forsøger at hente den side kommer til at downloade en mindre version af dit billede. Hvis du ikke har Adobe Photo Shop webresizer.com er også en anden ressource, hvor du kan indtaste dit billede og det vil spytte ud af den nøjagtige samme billede, men det vil være noget lignende 3 gange mindre. Så det er meget nyttigt for dine brugere. En anden ting, du kan gøre, er at minify kode. Hvis vi tager et kig på Google.com, vil du se, at det ikke er slags den samme HTML og CSS, som vi er vant til. Bare kommer til at se på kildekoden her. Hvis jeg bare rulle ned - wow, det ser temmelig ulækkert. Dette ville få et nul på stil. Hvis du kodet dette til din Pset, vil du få et nul på din stil. Dette har ingen mellemrum. Navnene ser virkelig kryptisk. Det hele er virkelig modbydelig. Og scriptet til at lukke i kroppen - den afsluttende HTML - de er alle sammen - alle smushed sammen. Hvorfor gør de det? De minified deres kode. Bemærk, at dette dokument kommer til at være en meget mindre for mig at hente end noget med white space, end noget med rigtig lange variabelnavne. Hvis du minify din kode du strimler ud af alle de hvide rum. Selvfølgelig, din browser ligeglad, hvis du har nogen hvide rum i din kode. Du fratage det ud, nu kan jeg downloade en mindre fil - nu filen - det dokument, vi kommer til at hente en mindre filstørrelse, vil det være hurtigere for mig at hente, og det er nyttigt. Hvis du arbejder med hjemmesider og du lancere en hjemmeside, det er næsten altid godt at minify din kode. En anden grund til, at det kunne være godt, er måske du ikke ønsker andre skal bruge din kode. Måske har du ikke ønsker at andre skal bruge din CSS. Du ved, hvis du virkelig ønskede at være nærig med det, så kan du også minify din kode, og det ville være sværere for mig at stjæle det fordi jeg har ingen idé om, hvad der foregår. Du kan også gå til websteder som minify.avivo.si. Tjenester som dette online hjælpe dig minify din kode, så du ikke behøver at gøre det i hånden. Absolut ikke gøre det i hånden. Okay. Nu taler om scripts. Måske i din PHP kode der er noget, du ikke behøver at gøre. Måske er der ekstra sløjfer derinde. Vi talte om kode design i CS50. Selv hvis du kodning i C, hvis du har - hvis du laver ekstra arbejde at du ikke behøver at gøre, ja, er, at kommer til at bremse dine scripts på dit websted, og dette er især vigtigt for websites, fordi brugerne i dag er meget utålmodige. Hvis du laver unødvendigt arbejde, det kommer til at tage dem længere tid for at komme til de oplysninger, de ønsker, og de kommer til at være meget ulykkelig. Endelig kan du ønsker at optimere dine databasetabeller. Husk at vi talte om indekser. De er ikke kun godt for at sikre, at du har en række, der er unik. De er også gode til at sikre, at din database virker hurtigt. Hvis du ønsker at læse op på, der går til MySQL dokumentationen, eller du kan se på - ja, hvordan kan jeg optimere min database tabel? Hvordan gør jeg sikker på, at jeg har indekser, der hjælper mig med at få de oplysninger hurtigere? Der er også små tricks som du kan bruge som caching. Hvis du har PHP - hvis du har en blog, for eksempel, og du har - og det er drevet af PHP eller noget andet sprog - du kan cache din blog på lad os sige 50 minutters intervaller, så du kan tjene statiske sider eller statisk HTML til de besøgende på dit websted. På den måde brugerne ikke behøver at køre din PHP script hver gang, og måske der vil være hurtigere for dem at få adgang til denne information. Og endelig kan du bruge noget lignende CDN. Bemærk, at når du downloader en Pset, du altid gå til CDN.CS50.net. Hvorfor er det? CS50 bruger også lidt ligesom en CDN - et indhold distributionsnet - hvilket betyder blot, at det er en flok servere måske et eller andet sted rundt om i verden der hjælper tjene dine sider til dine besøgende. Hvis dine besøgende er at få en side fra en server, der er tættere på dem geografisk, så vil det sandsynligvis dine besøgende kommer til at få denne fil meget hurtigere. Der er også kilder online, der hjælper dig gøre det. En af dem er CloudFlare. De tilbyder en gratis CDN service. Hvis du har store filer, som din tjener til dine brugere, så måske er det bedre at sætte dem på en CDN, så de kan komme til dem hurtigere. Det sidste emne for dagen er søgemaskine optimering. Hvad er søgemaskineoptimering? Det er at sikre, at søgemaskiner som Google eller Bing eller Yahoo kan gå videre til dit websted og gennemgå dit websted og indeksere dit websted, og når Jeg, for eksempel, gå videre til Google.com og jeg forsøger at søge efter noget, så dit websted vil poppe op. Hvordan kan du sikre dig, at dit websted er en af ​​de top 10? Fordi som vi alle ved, hvis du søger efter noget på Google og det er ikke på top 10, du sandsynligvis ikke kommer til at se i de næste 10. Dette er en slags emne, der er indhyllet i mystik. Der er en masse hype derude på internettet. Der er en masse overtro omkring hvis du x vil Google lide dig bedre. Hvis du y så skal Google vil lide dig bedre. Det er nok bedre at kigge ind i søgningen gigant dokumenter selv. Dette er et af de dokumenter på Google, der fortæller dig præcis, hvordan du optimerer dit websted så Google kan få adgang til og indeksere det meget pænt. Du behøver ikke at kopiere ned denne webadresse, fordi denne præsentation vil være online alligevel. Hvis man ser på dette, og du læser dette er der nogle meget nyttige tips derinde. Google fortæller dig - hvis du virkelig ønsker dit websted skal indekseres godt så skal du gøre alle disse ting. En anden ting, som søgemaskinerne virkelig gerne er nyt indhold. Hvis du har indhold, der er opdateret meget regelmæssigt derefter søgemaskiner siger ooh, jeg kan lide dit websted. Jeg har tænkt mig at gå til dit websted meget ofte. Jeg har tænkt mig at indeksere en masse af dine sider. Hvis du har nyt indhold, så du er mere tilbøjelige til at dukke op - du er mere tilbøjelige til at være mere relevant. Du er mere tilbøjelige til at være mere opdateret, og søgemaskiner er mere tilbøjelige til at sætte dit websted over andre. Dybe links er også vigtig. Hvis du virkelig ønskede dit websted til at se godt ud i en søgemaskines øjne har en masse andre hjemmesider forbundet til det og knyttet dybt på din hjemmeside. Må ikke bare linke til din hjemmeside. Link til måske yourname.com / noget / noget / something.php. At - til en søgemaskine - betyder, wow, de har virkelig interessant indhold at en anden er at linke så dybt ind i deres websted, som jeg burde virkelig, virkelig lægge mere vægt på, at webstedets sider. Hvis du har præcise sidetitler, hvis du ikke har nogen fejl, der er godt, fordi Hvis en søgemaskine forsøger at besøge dit websted, og det bliver en fejl, er det sandsynligvis kommer til at give op meget, meget snart. Og endelig, du ønsker at have en hurtig load tid, fordi søgemaskiner - ligesom mennesker - lad være have en masse tålmodighed for langsomme hjemmesider. Dette er en måde for dig at sørge for, at du møder op højere i søgemaskine forespørgsler og forhåbentlig derved få mere trafik. Fordi efter alt, har du brugt al den tid på at udvikle dit website. Du brugte alle denne gang lancerer dette website online. Du ønsker at sikre, at du har masser af brugere, der rent faktisk ser dit indhold. Andre gode ressourcer til at bruge. Google Webmaster Tools er noget at se på. Dette blot hjælper dig med at se - Google ikke indeksere min hjemmeside. Hvilke typer af fejl er det at støde? Hvor mange sider har det indekseret? Hvad betyder det mener er det vigtigste indhold på min side? Måske er det ikke, hvad jeg vil have det til at være. Måske har jeg brug for at ændre min hjemmeside en lille smule, således at det afspejles bedre hvad min hjemmeside er virkelig om. Google Analytics er et andet virkelig cool værktøj. Du kan tilføje en lille smule af JavaScript til dine sider. Og så bagefter kan du gå til Google Analytics, og det vil spore dine besøgende demografi og dit websted vækst. Det vil fortælle dig, præcis hvor mange besøgende besøger dit websted inden for en bestemt dag, inden for et bestemt time, inden en bestemt uge. Hvor mange besøgende fra Kina? Hvor mange besøgende fra Antarktis - du får til din hjemmeside. der kunne være noget cool at se, eller det kan endda være nyttigt fordi du forsøger at målrette en bestemt gruppe. Måske er du forsøger at målrette teenagere med din hjemmeside, og du kan se, at de fleste af de besøgende på dit website er måske 30 - til 40-årige, så måske enten du har et problem, eller du kan bare sige, godt, så måske skulle jeg bare ændre min hjemmeside fokus, så Jeg fokuserer mere på denne aldersgruppe. Google Apps - hvis du ønskede at have slags e-mails med dit domænenavn - måske noget lignende yourname@yourname.com-- kan du bruge Gmail-adresser - du kan bruge Gmail-tjenesten og Google Apps er én måde at gøre det. Du kan oprette specifikke e-mail-adresser, der er specifikke for dit domænenavn stedet of@gmail.com. Og endelig er der webudvikler udvidelser og add-ons - for Chrome, til Firefox, for andre browsere - der tillader dig at gå ind og inspicere CSS, inspicere JavaScript, se nøjagtigt, hvad der er galt med din JavaScript script, og måske der vil være nyttige for din de-aflytning formål, for du finde ud af - godt, hvorfor er ikke min hjemmeside vises korrekt i denne browser? Og endelig, hvis du ønsker at vide mere om alle disse emner - hvis du ønsker at lære mere om HTML og CSS og JavaScript - da der efter alt, vi kun lært dig en smule - kan du gå websites som W3Schools.com for at lede efter flere ressourcer. De har meget nice tutorials om hvordan gør jeg x, eller hvad betyder y betyder? Hvis du ønskede at lære mere om disse sprog, kan du blot gå her. Ok. Jeg tror, ​​jeg ønskede at forlade de sidste par minutter af denne til spørgsmål, så er der nogen spørgsmål om noget, som vi talte om? [Tilhørerne] Hvilke ting er på W3Schools og hvordan er det dækket? [Yuechen Zhao] Hvilke ting? Så en af ​​de allerstørste ting, som jeg bruger meget, er deres referencer. Deres referencer detaljer, for eksempel til CSS - hvad dette betyder, eller hvis du ønsker at ændre baggrunden på en side - hvordan gør du det? Hvilke browsere understøtter denne kommando? Ting som. Og så er de også bare har meget rart tutorials på HTML, på PHP, om JavaScript på MySQL. om alle mulige forskellige emner De har nice tutorials. De lærer dig, hvordan du gør tingene på. Det er rart at kunne gå og lære mere om disse emner. [Tilhørerne] HTML 5 er stadig ikke kompatibel med alle browsere derude. Vil du anbefale blot opholder sig væk fra det på grund af kompatibilitetsproblemer? Hvordan vil du håndtere det? [Yuechen Zhao] Ja, så er spørgsmålet, HTML5 er stadig en baby standard. Det er egentlig ikke understøttes af en masse browsere, så bør vi undgå det? Jeg tror sidste år ville jeg have været en meget stor fortaler for, lad os undgå HTML5 fordi det stadig er - det er stadig meget nyt og i virkeligheden, HTML5 standarden er endnu ikke afsluttet endnu. Og så er der virkelig ingen HTML5 standard. Men jeg tror, ​​især hvis du designer en hjemmeside nu, det kunne være bedre, hvis du bare gå med HTML5, fordi det er slags kommer til at være i fremtiden, og hvis du vil have din hjemmeside til at være fremtidssikret, og du vil have din hjemmeside til at arbejde i fremtidige browsere, kan det være bedre at begynde at bygge noget for fremtiden end for fortiden, men også kun på grund af det faktum, at HTML5 er virkelig ikke så forskellige fra HTML4 eller XHTML. Hvis du bruger HTML5, det normalt vil fungere i de fleste browsere. Du skal bare nødt til at sortere i gå ind og sørge for med disse screenshots og sikre med at gå videre til disse hjemmesider selv. Men mest sandsynligt at det vil arbejde, medmindre du bruger meget specifikke funktioner til HTML5. Bemærk også, at for CS50 - for eksempel til den video-afspiller, som vi bruger - det bruger HTML5 og HTML5-video til at vise forelæsningerne. Men hvis du har en rigtig gammel browser, så det vil falde tilbage på Flash. Så det er også noget andet - har en fall-back-system for, når du bare vide, at browseren ikke kommer til at håndtere hvad du vil have det til at håndtere. Andre spørgsmål? Noget, vi talte om. Ok. Så jeg tror, ​​det er om det for mig. Jeg tror, ​​det er det. (Bifald) Cool. [CS50.TV]