[Powered by Google Translate] [Seminaar] [Voorbereiding jou site vir die Web] [Yuechen Zhao] [Harvard Universiteit] [Hierdie is CS50.] [CS50.TV] Okay. Hier is nog 'n uur van die web ontwikkeling as jy ouens is vir dit. Vandag gaan ek om te praat oor die voorbereiding van jou site vir die Web. Die hele dag - en waarskynlik vir die afgelope 2 weke - Ons het gepraat oor hoe om 'n webwerf te skep, hoe om te gebruik HTML, hoe PHP te gebruik, hoe om raamwerke te gebruik, hoe om seker te maak dat jy kan interaksie met die databasis - dinge soos dat. Maar vandag is, ons gaan om te praat oor waar jou werf gaan om te lewe na CS50. Want na alles, nie CS50 nie gebeur afgelope Desember. Ons gaan om te praat oor domein name, hosting. Ons gaan om te praat oor wat kruis-leser verenigbaarheid en kruis-platform verenigbaarheid is, en hoe kan jy seker maak dat jou site gaan om te werk onder alle toestande. Ons sal praat oor fouthantering en ander bediener magie. Ons praat oor die verbetering van die prestasie, soek enjin optimalisering, en hoe om mense te kry om werklik te besoek jou webwerf. En uiteindelik, om net 'n paar goeie hulpbronne maak seker dat jy ouens het genoeg van daardie af te gaan saam met jou finale projek, en hopelik na. Die eerste ding wat ons gaan om te praat nie, is domein name. Reg nou is jy die programmering in jou toestel, jy gaan na 'n plaaslike gasheer Dit is nie eintlik 'n domein naam. Dit is soort van net 'n bynaam of 'n alias vir jou werklike Linux installasie binnekant van óf VMware op 'n Mac of VMware Player op 'n rekenaar. Domain name toelaat om 'n webwerf te plaas op die Web en dan gaan jy na iets soos www.google.com en kry die webwerf. Hoe werk dit? Kom ons sê dat jy net 'n gemiddelde web bediener - gemiddelde Web surfer en jy het 'n skootrekenaar, en jy gaan na www.howstuffworks.com. Jy kan waarskynlik sien waar ek gesteel het hierdie uit. Hoe dinge werk - jou rekenaar sal dan vra 'n plaaslike DNS-bediener, "Weet jy waar hierdie webwerf?" "Weet jy die IP-adres van www.howstuffworks.com?" Jou DNS-bediener kan sê, "Ja, ek doen." In daardie geval, kry jy die IP-adres, en jou rekenaar toegang tot die IP-adres. As dit nie gebeur nie, dit vra 'n ander DNS-bediener, "Haai! Weet jy wat www.howstuffworks.com is?" Dit bediener kan sê, "Ja, ek doen." So, dit vertel die ander een wat dit is, en laastens, dat inligting geslaag om jou rekenaar, en jy kan toegang howstuffworks.com. Hoe kan jy een van hierdie magiese dinge? Hoe kan jy dalk www.yourname.com of www.ilovecats.com? Jy kan registreer vir een, en daar is 'n baie daar buite van webwerwe wat u toelaat om dit te doen. Jy moet - in die meeste gevalle jy moet betaal vir hulle. Daar is sekere domein name wat vry is. As jy na www.co.cc of. Tkdomainnames, dit is gratis. Maar, kom hulle met sekere beperkings, en in die feit dat sommige van hulle kan selfs nie ware, top-vlak domein name soos com of.. net. Normaalweg sou ek raai gaan vir een van hulle omdat gebruikers is net meer gemaklik met dié. Jy het gesien hoe 'n baie. Avontuur. Jy het gesien hoe 'n baie. Nette. Jy het waarskynlik nie gesien het nie 'n baie. Co.cc 's, sodat hulle is moeiliker om te onthou. Verskillende webwerwe soos GoDaddy of NameCheap of - ek gebruik een wat soort van oppervlakkig - sogenaamde activedomain.com. Dit lyk regtig oppervlakkig, maar dit is baie goed vir my gewerk het. En uiteindelik, jy het ander wat dalk meer advertensies soos Network Solutions doen. Maar as jy gaan op NetworkSolutions.com en kyk na hul pryse dit is baie duur. Ek is op soek na hulle laaste nag. Vir een jaar van 'n domein naam, is dit waarskynlik nie die moeite werd dat daar nog baie geld. In werklikheid, as jy kry 'n com of. A. Org of a. Netto die gewone prys is ongeveer $ 10 per jaar. So as jy betaal 'n baie meer as dit, dit is waarskynlik nie wat die moeite werd want na alles, hierdie webtuistes nie enigiets doen met die domein naam. Hulle het net dit aan jou gee, en so as jy dit kan kry vir goedkoop, hoekom nie? Die ander ding is wanneer jy jou domein naam, dan is jy waarskynlik wil gaan op óf Godaddy.com of waar jy gekoop het jou domein naam en stel die naam bedieners vir daardie domein naam. Wat dit beteken, is een keer 'n gebruiker na www.howstuffworks.com, die naam bediener IP adresse is die IP-adresse wat hulle in staat sal wees om op te kyk. Hulle sal in staat wees om jou webwerf te bekom deur middel van die naam bedieners. As jy aansoek doen vir die hosting iewers dan jou gasheer sal waarskynlik gee jou die naam bedieners te gebruik. En ten slotte, daar is hierdie ding genaamd 'n WHOIS. 'N WHOIS databasis is 'n databasis met wat jy kan invoer 'n domein naam en dit sal spoeg uit 'n paar inligting oor die eienaar van die webwerf en ander kontakbesonderhede. Nou, jy kan sê, "Ek het nie regtig wil my huis adres of ek nie regtig wil my e-pos adres op die webwerf vir almal om te sien of op die internet vir almal om te sien. " Dan kan jy dalk wil om iets te gebruik wat 'n baie hosting dienste verskaf - soos 'n WHOIS bestuurder. 'N WHOIS bestuurder is net nog 'n diens wat 'n baie van hulle te voorsien wat huide weg dat die inligting en net sit in wat bestuurder vir die naam - vir die adres dit is gewoonlik net dat die maatskappy se naam wat gegee is om hierdie domein naam - en so is dan jou persoonlike inligting is nie uitgelek op die Internet, Dit is gewoonlik redelik goed. Ek myself gebruik een van hierdie dienste. As jy nie omgee vir jou eie privaatheid, dan is dit nie regtig saak nie. 'N DNS-bediener staan ​​vir Domain Name System, en wat dit is - Dit is soort van soos 'n hash tafel iewers wat sê:  "Hierdie webwerf posadres is gaan na die kaart met hierdie IP-adres." En dit is al wat dit is. So wanneer jy navraag hierdie DNS-bediener, dan kan jy die IP adresse vir die ooreenstemmende domein naam en dan besoek die webwerf. (Lid van die gehoor te vra 'n vraag - onhoorbaar) Die eerste? Die eerste vlak is eintlik gewoonlik net jou rekenaar kas self. Jou rekenaar soort van onthou die laaste keer dat jy na www.google.com Dit was in hierdie IP-adres, en dan na 'n rukkie, wat kas sal verval, en dit sal vra soos die Comcast DNS, "Haai, wat is www.google.com?" Gewoonlik, wanneer jy koop 'n domein naam en jy registreer een, en jy 'n webwerf, jy kan nie gaan na die webwerf onmiddellik met die domein naam, want die naam bedieners regoor die wêreld weet nie van jou domein naam nie. Dit het aan te vul. Dit neem gewoonlik ongeveer 24-48 uur. Alle regte. So, dit is 'n bietjie oor domein name. Hulle is baie cool. Ek dink jy moet 'n mens kry as jy ernstig is oor die projek en as jy regtig wil om te maak jou projek bekend regoor kampus, 'n domein naam maak dit lyk regtig professioneel. Dan is die volgende stap, natuurlik, is 'n soort van hosting te hê. As jy net dit bied op jou rekenaar, niemand ooit in staat sal wees om te gaan om dit te. Jy kan potensieel die opstel van 'n bediener op jou rekenaar en hou jou rekenaar vir ewig, Maar dit is nie aanbeveel. Daar is verskillende vorme van hosting aanlyn beskikbaar. Daar is shared hosting. Daar is VPN (onverstaanbare) wat virtuele leërskare. Daar is semi-toegewyde en toegewyde. Van die laaste 3, Skynprivaatnetwerk, semi-toegewyde en toegewyde is gewoonlik duurder. Hulle is gewoonlik gebruik vir die webtuistes wat vereis dat meer hulpbronne. As jy net begin met 'n webwerf, dit mag dalk net meer ekonomies om te gaan met die gedeelde hosting. En wat gedeel middel is net 'n klomp van die webtuistes is almal saam sorteer op 'n bediener op hierdie webwerf op hierdie bediener bediener, en jy kan jou webwerf toegang via domein naam. Daar is 'n baie gewilde gashere daar buite. Hostgator en Dream Host - dit is baie, baie groot en baie, baie gewild en baie, baie suksesvol. Ek persoonlik gebruik 'n sogenaamde MDDHosting. As jy na www.mddhosting.com, dit is my gasheer van keuse. Ek dink hulle is baie goed. Hulle was nog altyd baie betroubaar, en ek het nog nooit enige probleme met hulle. Hulle het ook 'n baie mededingende pryse. Twee wat ek doen nie regtig soos GoDaddy is - dit is ook 'n baie gewilde gasheer, maar ek het verskriklike ervarings met hulle, en 'n baie van die mense wat ek ken het werklik verskriklike ervarings met hulle. Hulle het soort van gaan na die mense wat nie weet wat hulle doen nie - Miskien is jy 'n webwerf vir die eerste keer, en so het hulle soort van kontrakwerkers hulle in die koop van hul hosting pakket. Moenie dit doen nie. Moenie val vir dit. Gaan kyk vir ander hosting pakkette wat regtig jou behoeftes pas. En die ander een is - daar is gratis gashere daar buite. Daar is webwerwe wat jou webwerf bied gratis - soms deur 'n advertensie op jou werf, soms deur die maak van jou deelname in hul forums, maar soms ook net vir die gratis. Maar wees versigtig met gratis gashere, want baie van hulle werklik net gaan uit van die besigheid na 'n paar maande. Jy kan net nie tred te hou met die koste. Ander is net baie onbetroubaar, en jou webwerf sal altyd af, en jy nie wil hê dat dit gebeur nie. Elke gasheer sal bied om hul eie control panel. Let daarop dat vir jou toestel, daar is nie regtig 'n kontrole paneel per se. Jy het terminale te gebruik om te gaan en wysig die lêers. Jy moet chmod dinge deur jouself. As jy wil om te gaan na PHPMyAdmin, jy het om te gaan na localhost @ / phpMyAdmin en dinge soos dat. Maar met 'n kontrole paneel wat jy kan gaan in en wysig die lêers op jou bediener met Windows Explorer of 'n Well-tipe aansoek. Of jy kan gaan deur en kyk na jou databasisse met hul eie instrument in plaas van phpMyAdmin. So, daar is 'n klomp van die keuse hier, en 'n paar van die meer gewilde beheer panele is daar. Maar as jy op soek is na 'n gasheer, dan kan jy dalk wil om te kyk wat allerlei veranderinge en opsies hulle bied my bediener om aan te pas en te maak my webwerf beter hardloop. So, dan kan jy dalk vra: "Wel, hoe kies ek hosting?" As jy gaan op 'n gasheer webwerf is daar 'n baie jargon, en daar is 'n baie opsies. Daar is 'n baie verskillende pryse ook. Normaalweg ek gaan vir die goedkoper kinders net omdat webwerwe wat miskien ek en jy maak - en veral nou, veral as voorgereg - hulle mag nie nodig het soveel hulpbronne as moontlik 'n webwerf soos Microsoft.com. Eerste wat jy wil om te kyk na die bedryfstelsel as jy regtig nuuskierig of jou werf gaan word bedryf op Linux op Windows, of op 'n Mac. Gewoonlik het ons net saam met Linux, want dit is gewoonlik die goedkoopste, en ook die een wat miskien het jy ouens is meer vertroud is met die gevolg van die toestel. En dan, miskien sal hulle sit 'n paar beperkings op die hoeveelheid bandwydte wat jy - hou van hoe baie MB of GB van data kan gebruikers aflaai vanaf jou webwerf per maand? Of hardeskyf spasie. Hoeveel ruimte kry jy? Is dit 500 MB? Is dit 2 GB? Is dit onbeperkte? Vandag, 'n baie van die web bedieners gee jou onbeperkte spasie as 'n manier vir hulle om jou te lok om hul hosting pakket te kry. Maar as jy regtig daaroor dink, wanneer jy al ooit gaan onbeperkte spasie nodig? As jy 'n paar van die HTML-lêers, 'n paar van PHP, 'n paar van die beelde - dit is net 'n paar megagrepe, en so gewoonlik het ek net gaan vir miskien 'n paar gigagrepe se waarde van die ruimte, en wat dalk genoeg om my te begin totdat ek moet meer. Ten slotte, kan hulle het beperkings op watter soort van - hoeveel databasisse wat jy kan hê. Miskien kan jy net 1 databasis. Miskien kan jy 2. Miskien kan jy 10. Is dit regtig belangrik vir jou hoeveel jy? Dinge om jouself te vra. En dan uiteindelik, net dinge soos tale. Ondersteun hulle PHP? Ondersteun hulle MySQL? Die meeste hosting webwerwe ondersteun nie hierdie, want hulle is gratis. Hulle is open source. Dit kos hulle niks om dit te voorsien vir jou. Maar as jy wil gebruik, sê, Ruby of Python of 'n paar van die ander tale - hulle kan dit nie ondersteun op hul bediener, so dit is belangrik om te kyk vir hierdie soort van dinge. En ten slotte, laat hulle jou 'n paar meer gevorderde dinge soos SSL of cron jobs te doen? SSL is 'n opsie waar jy kan jou webwerf meer veilig deur dit HTTPS en enkripteer jou verbindings. En cron jobs is net miskien skrifte wat jy wil uit te voer elke 5 minute, elke 10 minute, elke 15. Daar is baie van shared hosting webwerwe nie sit beperkings op die aantal cron jobs wat jy kan loop, want dit neem meer hulpbronne. En uiteindelik, net alles wat jy wil om te kyk na - maak seker presies wat gaan aan voor jy koop jou hosting pakket. En uiteindelik, prestasie. Prestasie is groot. Hoe vinnig is my webwerf gaan om te hardloop? Die meeste gebruikers is nie van plan om te wag vir 'n nog sekondes vir jou webwerf te bestuur voordat hulle kry net verveeld, en hulle gaan na MeanBase en begin soek na die foto's van katte - jy weet wat gebeur, en jy wil om seker te maak dat jy die gebruiker aan boord en dat jy 'n goeie uptime wat beteken net dat jou webwerf gaan om toeganklik te wees ten alle tye. Baie van die leërskare het regtig 'n slegte uptime en dit beteken net jou webwerf nie gaan wees toeganklik is, en jy wil nie dat dit gebeur nie, want jy kan hartseer wees. En jy kan ook dop jou gasheer se prestasie met webwerwe soos Pingdom.com of Host-tracker.com, en hulle het net vertel hoe dikwels jou werf af. En uiteindelik, wat jy wil sien oor hul ondersteuning. As jy 'n probleem is dit gaan om te reageer op jou binne 24 uur? Is hulle gaan om te reageer op jou binne 48 uur? Die hosting diens wat ek gebruik gewoonlik reageer op my binne minute wat is regtig nice. Sjoe! Alles reg! Dit is tyd vir 'n blaaskans. Maar ek is nie van plan om dit vir jou te gee. Ons sal net kyk na foto's van die oulike katte elke nou en dan. Nog 'n baie, baie groot ding is kruis-leser verenigbaarheid. Wat bedoel ek met kruis-leser verenigbaarheid? Jy weet, deesdae is dit nie net Microsoft Internet Explorer. Dit is nie net Mozilla Firefox of Safari. Nou het ons Chrome. Ons het Opera. Ons het Dolphin. Ons het Camino. Ons het Oorwinnaar. Ons het al hierdie verskillende blaaiers. Dinge wat kom nou uit - RockMelt - maar dit is al wat gebaseer is op chroom. Maar die feit van die saak is, daar is nie net een leser nie. Jy is net nie lees van hierdie webblaaie met 'n program. En so, sal verskillende blaaiers te reageer op verskillende HTML, verskillende CSS, en verskillende JavaScript anders, en hoe hanteer jy dit? Wel, in sekere gevalle, jy kan regtig nie. Jou webwerf - as dit werk in 'n leser, sal die kode wat jy geskryf het nie werk nie in 'n ander leser, en dit is jou werk om seker te maak dat die kode wat jy skryf universeel is, dat dit oral werk. So, dit is baie gevaarlik. As jy sê: "Wel, dit werk op my rekenaar Great! Kom ons beweeg aan.". Wel, is dit waarskynlik nie van plan om te werk aan myne, en toe ek gaan na jou webwerf Ek gaan om te wees baie hartseer, en ek gaan na regs weg te laat. So, laat ons sien hoe jy dit kan voorkom. Die eerste ding is, natuurlik, is om slegs standaard HTML, CSS, en JavaScript. Wat bedoel ek daarmee? Wel, daar is 'n baie dinge wat nie standaard is nie daar buite. Byvoorbeeld, in CSS daar is baie weergawes. As jy enige CSS reëls met-moz-of-WebKit-, daardie reëls is spesifiek aan beide die Mozilla blaaiers en die WebKit implementeer, en so wat jy wil om seker te maak dat jy dalk wil daardie dinge te vermy want as jy gebruik-moz-die reël is slegs gaan om te werk op Firefox. En as jy regtig wil om dit te goed lyk op Internet Explorer ook, jy gaan om uit te wees van geluk. Vir HTML ook, kan jy die dinge doen in HTML wat werk in 'n leser maar wat breek in 'n ander, en jy wil dat soveel as moontlik te vermy. En uiteindelik vir JavaScript selfs - daar is baie weergawes van JavaScript, en hierdie somer ons hardloop in 'n probleem waar Document.getElementsByClassName-- Dit is gewoonlik 'n funksie wat as 'n deel van die JavaScript standaard gedefinieer is - was nie te vind in Internet Explorer 8. So, oor die somer ek besig was in 'n laboratorium, en ons is die bou van aanlyn eksperimente. En ons het gedink dit was regtig goed gewerk totdat ons besef gebruikers wat die gebruik van Internet Explorer 8 kon nie dien hul uitslae. Ons is mis te loop op 'n baie data. Dit het ons regtig hartseer. So, jy wil altyd om seker te maak dat jou skrifte gaan oral werk. En ten slotte, gebruik validator.w3.org en dit is wat ons vertel om te doen in pset 7. Maak seker dat jou bladsye is bekragtig. Dit is belangrik, want dit is ten minste 'n eerste stap gesonde verstand tjek. Is my kode eintlik standaarde voldoen? Nog 'n manier om uit te sorteer jou help om seker te maak dat jou site is om te gaan werk in die meeste gevalle is om dalk te gebruik in sommige biblioteke en raamwerke omdat hierdie baie slim ontwikkelaars het gedink oor hierdie kwessies vir jou. Hulle het gegaan deur hulle geskryf het verskillende funksies wat werk oor blaaiers. Byvoorbeeld, ons gebruik jQuery in Pset 7. Selfs al is jy dalk nie gesien het nie, jQuery bied 'n baie van die funksies wat anders sou jy jouself te skryf. Maar hierdie ontwikkelaars wat dit geskryf het, en hulle het seker gemaak dat dit werk in alle blaaiers. En Skoenlus - wat nog 'n CSS raamwerk wat ons gewys het in Pset 7 - dit neem baie weg van 'n groot deel van die hoofpyne met die ontwerp van webwerwe wat goed lyk. in alle blaaiers. En uiteindelik, as jy dit kan vermy, het ek gewoonlik vermy kodering van nuuts af. As jy net die skep van 'n webwerf vir jou skool klub, byvoorbeeld, en al wat jy hoef te doen, is om 'n paar bladsye te vertoon en dalk het jou president in te gaan en verander 'n paar dinge hier en daar - daar is regtig nie nodig om kode wat jouself. Dit neem 'n baie van jou tyd. Dit neem 'n baie van jou energie, en jy het om deur te gaan en jy het om uit te vind, Wel, dit gaan om goed te lyk in die leser, gaan dit goed om te kyk in die leser. Miskien gebruik 'n paar van hierdie kolle wat ander reeds vir jou geskryf, soos WordPress of Joomla of Drupal. Dit is genoem inhoud - dit word genoem CMSS wat basies is net pakkette wat reeds gedoen het aangebreek vir jou, en jy kan dit aflaai, sit dit op jou bediener, en pas dit egter jy wil, en jy het reeds 'n lopende webwerf. Diegene kode pakkette is iets om na te kyk in te. Hierdie dinge is open source, tensy jy gaan vir iets soos - As jy op soek is na 'n vorm pakket, daar is dinge wat nie vry is soos VBulletin of IP.Board. As jy hoef nie 'n paar van die gevorderde funksies, jy kan altyd kies vir die gratis opsie. En uiteindelik, is daar nie vermy word. Jy moet toets, toets, toets. Jy moet jou kode te toets op al hierdie blaaiers en op al die platforms. En jy weet, IE6 - het dankie tog mense het begin om weg te beweeg van IE6 omdat terug in die dag, miskien 'n paar jaar gelede, web ontwikkelaars moes altyd, altyd, altyd koppelaar IE6 se swakhede in na aanleiding van die standaarde. Webwerwe kyk net soort van 1990 se gebrek aan 'n beter manier om dit te hanteer. Jy kan ook gebruik om die leser screenshots jou CSS om seker te maak. Een werklik 'n koel webwerf is browserlab.adobe.com. Dit is 'n gratis diens gestel word deur Adobe. En wat hulle doen, is hulle kan neem screenshots van jou webwerf hardloop onder verskillende toestande - soos wat onder verskillende blaaiers, hardloop onder verskillende platforms - en wys hoe hulle lyk. Net om jou te wys wat ek hier bedoel, ek het 'n webwerf het verlede jaar genoem lewe by die Harvard, en wat ek probeer doen - ek probeer om my.harvard beter. Want as jy hier was verlede jaar, het my.harvard nie lyk soos dit nou lyk. Dit lyk soort van gruwel. Maar nou lyk dit 'n baie beter. My implementering was nie dat nuttig nie, maar almal dieselfde, jy weet, het ek probeer om by te voeg - (onverstaanbare) baie wat ook al - en dit lyk nie - dit lyk baie goed op my rekenaar. En dan, miskien as ek meer tyd gehad het sou ek gegaan het aan die leser laboratorium, en ek sou gelyk het op, wel, hoe dit lyk in Chrome 18 op Windows. Ek sou blaai af en ek wil sien - o nee! Kyk na die aankondiging boks. My teks is oorloop. So, wat is sleg, reg? As 'n gebruiker is met behulp van Chrome op Windows en kom na my webwerf, wat lyk onmiddellik baie onprofessioneel. So, moet ek gaan in my CSS en vind uit watter deel van my CSS hier is om te breek. Hoekom is dit nie goed vertoon en dit reg te stel sodat alle gebruikers kan dieselfde webwerf sien en net so gelukkig. En uiteindelik, goed, die leser screenshots is lekker vir die toets van jou CSS, Maar wat van jou JavaScript? Wat van as jy 'n paar ingewikkelde script wat se loop? Wel, kan jy altyd doen skynwerklikmaking. As jy 'n Mac wat jy kan gebruik Boot Camp of VMWare om dalk virtualize 'n afskrif van Windows en Internet Explorer gebruik daar. Of jy kan gaan op iets soos Spoon.net, wat ongelukkig net werk op 'n PC. Maar wat hulle doen, is baie cool. Hulle virtualize sagteware vir jou sodat jy kan hardloop verskillende weergawes van Internet Explorer, byvoorbeeld. Jy kan hardloop verskillende weergawes van Firefox. Jy kan hardloop verskillende weergawes van die Safari en toets al jou webtuistes is daar. Ongelukkig is dit nie vry nie. Dit is 'n betaalde diens, so daar is altyd soort van hierdie - daar is altyd soort van hierdie handel af tussen, goed, ek gaan om my webwerf lyk goed. As dit so is, kan ek betaal vir 'n paar dienste om my te help doen. Enige vrae op hierdie punt oor enige iets wat ons gepraat oor? Awesome. Okay. Nou het ons meer dinge om oor te praat. Hoe oor foute? Hoe kan jy seker maak dat jou webwerf gaan, selfs wanneer dit gebeur daar iets sleg? Miskien het jy nie 'n bladsy met die naam food.php. Maar my, ek gaan na jou webwerf en ek probeer food.php om toegang te verkry. Is jy net gaan om te wys my dat wit bladsy wat sê 404 - Lêer nie gevind nie? Of is jy gaan om te sê, "Wel, ek is jammer dat ek nie kon vind dit vir jou, maar miskien hier is 'n paar ander hulpbronne om jou te help soek na wat jy nodig het. " Ander foute - so, is dit genoem HTTP-foute wat net 'n paar fout kodes dat jou bediener kan gestuur het terug na die leser in die geval van iets sleg gebeur. 400 - Bad Versoek. 401 - Ongemagtigde. 403 is 'n soort van algemene wanneer jy 'n gids wat is nie veronderstel om te verkry deur die gebruiker nie, maar die gebruiker probeer om in elk geval. En 500 - Interne server fout - wat gebeur gewoonlik wanneer jy iets regtig sleg gaan met jou PHP-kode. Maar in elk geval, hierdie soort van bruisers - nie hierdie soort van foute gebeur. So, hoe kan jy seker maak dat jy grasieus hanteer hierdie foute en seker te maak dat die gebruiker is nie net soort van hang daar? Hier kom. Htaccess. Nou, htaccess is. Iets wat werk op Apache bediener, iets wat werk en werk op 'n paar ander bedieners so goed. Dit is net 'n manier om vir jou te stel jou bediener sodanig dat jy kan dit doen wat jy wil om dit te doen. 'N paar dinge wat jy kan doen. Jy kan beheer van jou kas instellings. Miskien is daar 'n sekere bladsy op jou webwerf dat jy seker maak dat die gebruiker weer aflaai elke keer die gebruiker kom en besoek jou webwerf. Of miskien het jy 'n paar URL dis soos yoursite.com / toets / html / pages / hello.html en jy wil net daar yourname.com / hallo wees -. Wel, jy kan gebruik htaccess 'n webblad te lei na 'n ander. Jy kan dit ook gebruik om verifikasie te doen. Miskien is daar 'n paar gedeeltes van jou webwerf wat jy nodig het om 'n ander wagwoord te gebruik. Jy kan blok sekere IP adresse, blok sekere gebiede. Miskien het jy net regtig hou nie van Harvard studente met behulp van jou webwerf. Wel, het jy die opsie van die sluit van al die Harvard IP adresse. Ten slotte, kan jy behandel dinge - jy kan sekere kode skryf jou bediener te maak behandel soos Zhao of.. jou naam of. hallo bladsye as PHP-kode. Miskien is dit sal nuttig wees. Miskien is dit sal wees nie. En ten slotte, kan jy dit gebruik tref-response te hanteer. Wat bedoel ek daarmee? As jy eenvoudig kode soos hierdie - ErrorDocument 404 en dan rig hulle tot 'n fout bladsy, kan jy seker maak dat die gebruiker net nie sien regtig, regtig lelik 404 en wys hulle iets mooi. Kom ons eintlik 'n blik op hoe ons dit kan doen met jou Pset 7. Hier is ek in my toestel. Ek gaan Chrome oop te maak, en dan gaan ek probeer om 'n bladsy te bekom wat bestaan ​​nie op CS50 Finansies. So, plaaslike gasheer - cats.php--so, sien dat ek 'n fout dokument wat sê, "Canz nie vind Z bladsy!" Dit het 'n baie hartseer kat op dit. As jy gaan op Twitter, as jy gaan op enige van die ander webwerwe, jy nie kan kry 'n bladsy, probeer hulle gewoonlik om te wys jy 'n oulike prentjie sodat jy nie te teleurgesteld. Jy kan ook iets wat meer professionele wat sê: Wel, ek is jammer dat ek nie kan vind die bladsy, maar miskien hier is 'n soekkassie. Of miskien hier is 'n paar skakels wat sal jou help om die skakel wat jy wil. So, hoe het ek dit doen? Hoe is dit selfs moontlik? As ons gaan in ons terminale hier - Ek gaan net om te vergroot 'n bietjie - sien dat Ek het 'n nuwe bladsy. Binne-in my HTML Gids dit genoem - jy kan dit nie sien nie - dit genoem error.php. En error.php is net 'n lêer wat ek gemaak het wat wys jy dat die bladsy self. Ek kan jou wys wat error.php is. Dit is presies hierdie bladsy. Dit sê, "O nee! Canz nie vind Z bladsy!" En as jy wil sien - so, sien dat htaccess soort is 'n vreemde naam.. Dit begin met 'n dot, wat beteken dat dit is 'n stelsel lêer. Dit is 'n versteekte lêer wat normaalweg nie getoon nie. As jy dit doen LS-a, kan jy sien al die verborge lêers in 'n sekere gids, en inderdaad, jy sien. htaccess is een van hulle. Kom ons gaan voort en maak htaccess. - met gedit - Boom! Al wat ek het is 'n lyn in daar - Fout dokument vir 404 foute wat ook bekend is as lêer nie-gevind foute. Kom ons lei om dit te iets genoem error.php. Jy kan pret hê dinge soos canz nie Z bladsy vind! En daar is ook baie cool dinge wat jy kan doen met. Htaccess. As jy wil meer te sien. Htaccess magie, dit is 'n baie cool website te gaan - dit is die naam javascriptkit.com/howto/htaccess.shtml-- As jy wil meer bediener magic te voer. En dit kan baie pret. Sjoe! Alles reg! Meer oulike foto's. Dit is 'n man doen push-ups, en sy kat is besig om te help. Ek dink dit is baie oulik. Ongelukkig het ek nie 'n kat soos dit. Alle regte. So, ons het gepraat oor. Htaccess. Ons het gepraat oor die fout hantering. Ons het gepraat oor die hosting, domein name. Ons het gepraat oor kruis-leser verenigbaarheid. Nou hoe maak ons ​​seker dat jou webwerf eintlik doen? Hoe kan ons seker maak dat as ek gaan na jou webwerf Ek kan jou bladsy sien binne 'n paar sekondes? Een van die dinge wat ek dink mense is net soort van vergeet is beeld optimalisering. Kom ons sê dat jy wou 'n prentjie te plaas op jou werf en dit is 2 MG groot. Dit kan goed wees vir ons, want ons is by Harvard, en ons het 'n baie vinnige internet. Maar dink iemand in China. Stel jou voor iemand in Indië. verbeel iemand dalk in landelike Kansas wat miskien nie dieselfde soort breëband Internet wat ons het. As jy 'n 2 MB Beeld op jou site en die gebruiker probeer om dit te bekom, dit gaan neem om vir hulle 'n baie lang tyd om af te laai. So, as jy nie nodig dat die soort van 'n besluit, dan kan jy jou beeld grootte met iets soos Adobe Photo Shop. Daar is gewoonlik 'n opsie genaamd veilig is vir die web en toerusting, en wat dit doen, is dit stroop uit al die onnodige inligting en soort van kompakte jou lêer in 'n klein beeld grootte, sodat jy kan sit dit op jou webwerf, en enige gebruiker wat probeer om die bladsy te laai gaan 'n kleiner weergawe van jou beeld te laai. As jy nie Adobe Photo Shop webresizer.com is ook 'n ander bron waar jy kan invoer jou beeld en dit sal spoeg uit presies dieselfde beeld, maar dit sal iets soos 3 keer kleiner wees. So dit is baie nuttig vir jou gebruikers. Nog 'n ding wat jy kan doen is verskerp kode. As ons 'n blik op Google.com, Jy sal sien dat dit nie 'n soort van die dieselfde HTML en CSS wat ons gewoond is. Net gaan om te kyk na die bron-kode hier. As ek maar net blaai af - Sjoe, dit lyk mooi gruwel. Dit sou 'n nul op styl. As jy gekodeer dit vir jou Pset, sal jy 'n nul op jou styl. Dit het geen spasiëring. Die name lyk regtig kriptiese. Dit is al wat regtig gruwel. En die script te sluit in die liggaam - die sluitingsdatum HTML - hulle is almal saam - al smushed saam. Hoekom doen hulle dit? Hulle minified hulle kode. Let daarop dat hierdie dokument is gaan 'n baie kleiner vir my om af te laai as iets met 'n wit ruimte, as iets met baie lang veranderlike name. As jy verskerp jou kode wat jy strook uit al die wit ruimte. Natuurlik, jou blaaier nie omgee as jy enige wit spasie in jou kode. Julle pluk dit uit, nou kan ek 'n kleiner lêer af te laai - nou die lêer - die dokument wat ons gaan aflaai het 'n kleiner grootte van die lêer, dit sal vinniger wees vir my om af te laai, en dit is nuttig. As jy werk met webtuistes en jy begin met 'n webwerf, dit is byna altyd goed om jou kode te verskerp. Nog 'n rede waarom dit dalk goed is miskien het jy nie wil hê dat ander jou kode te gebruik. Miskien het jy nie wil hê dat ander jou CSS te gebruik. Jy weet as jy regtig wou wees suinig met wat, dan kan jy ook verskerp jou kode, en dit sal moeiliker wees vir my om dit te steel want ek het geen idee wat aangaan. Jy kan ook gaan na webwerwe soos minify.avivo.si. Dienste soos hierdie online help verskerp jou kode, sodat jy het nie om dit te doen met die hand. Beslis doen dit nie met die hand. Okay. Nou praat oor skrifte. Miskien in jou PHP-kode daar is iets wat jy nie nodig het om te doen. Miskien is daar 'n ekstra lusse in daar. Ons het gepraat oor-kode ontwerp in CS50. Selfs as jy die kodering in C as jy - as jy doen ekstra werk dat jy nie nodig het om te doen, wel, wat gaan stadiger jou skrifte op jou webwerf, en dit is veral belangrik vir die webtuistes omdat gebruikers deesdae is baie ongeduldig. As jy doen onnodige werk, is dit om hulle te gaan langer neem te kry om die inligting wat hulle wil, en hulle gaan baie ongelukkig wees. Ten slotte, kan jy jou databasis tabelle te optimaliseer. Onthou, ons het gepraat oor indekse. Hulle is nie net goed vir die maak seker dat jy 'n ry wat uniek is. Hulle is ook goed vir die maak seker dat jou databasis vinnig werk. As jy wil om te lees oor wat na die MySQL dokumentasie, of jy kan kyk na - Wel, hoe optimaliseer ek my databasis? Hoe kan ek seker maak dat ek indekse wat my te help om die inligting vinniger? Daar is ook klein truuks wat jy kan gebruik soos caching. As jy 'n PHP - as jy 'n blog, byvoorbeeld, en jy het - en dit is aangedryf deur PHP of deur enige ander taal - jy kan jou blog kas by kom ons sê 50-minuut-intervalle sodat jy kan dien statiese bladsye of statiese HTML om die besoekers aan jou webwerf. Op dié manier die gebruikers hoef nie na jou PHP script loop elke keer, en miskien sal vinniger wees vir hulle daardie inligting te bekom. En ten slotte, kan jy gebruik om iets soos CDN. Let daarop dat wanneer jy laai 'n Pset, jy altyd na CDN.CS50.net. Hoekom is dit? CS50 gebruik ook soort van soos 'n CDN - 'n inhoud verspreidingsnetwerk - Dit beteken net dat dit is 'n klomp van die bedieners dalk iewers in die wêreld wat hulp dien jou bladsye vir jou besoekers. As jou besoeker is om 'n bladsy uit 'n bediener wat is nader aan hulle geografies, dan is die meeste geneig om jou besoeker gaan die lêer na 'n baie vinniger kry. Daar is ook bronne aanlyn wat jou help om dit te doen. Een van hulle is CloudFlare. Hulle bied 'n gratis CDN diens. As jy 'n groot lêers wat jou dien vir jou gebruikers, dan miskien is dit beter om hulle te plaas op 'n CDN sodat hulle kan kry om hulle vinniger. Die finale onderwerp vir die dag is die soektog optimalisering. Wat is die soektog optimalisering? Dit is om seker te maak dat soekenjins soos Google of Bing of Yahoo kan gaan na jou webwerf en soek jou site en die indeks jou webwerf en wanneer Ek, byvoorbeeld, gaan na Google.com en ek probeer om te soek vir iets, dan jou webwerf sal verskyn. Hoe kan jy seker maak dat jou webwerf is een van die top 10? Want soos ons almal weet, as jy soek na iets op Google en dit is nie op die top 10 is jy waarskynlik nie gaan om te kyk in die volgende 10. Dit is 'n soort van 'n onderwerp wat in geheim gehul is. Daar is 'n baie hype wat daar is op die internet. Daar is 'n baie bygelowe oor as jy dan x Google sal graag jou beter. As jy dan y Google sal graag jou beter. Dit is waarskynlik beter om te kyk na die soektog reus se dokumente self. Dit is een van die dokumente op Google wat jou vertel presies hoe om jou webwerf te optimaliseer sodat Google kan toegang en die indeks het dit baie mooi. Jy hoef nie af te kopieer hierdie skakel omdat hierdie aanbieding gaan aanlyn wees in elk geval. As jy kyk na hierdie en jy lees, is daar 'n paar baie nuttige wenke in daar. Die Google vertel jou - as jy regtig wil jou werf om goed te word geïndekseer dan moet jy doen al hierdie dinge. Nog 'n ding wat soek enjins regtig graag is vars inhoud. As jy 'n inhoud wat baie gereeld opgedateer dan soek enjins sê, ooh, ek hou van jou site. Ek gaan om te gaan na jou site baie dikwels. Ek gaan na die indeks 'n baie van jou bladsye. As jy vars inhoud, dan is jy meer geneig om te wys - is jy meer geneig om meer relevant. Jy is meer geneig om te wees meer opgedateer, en soek enjins is meer geneig om jou webwerf te plaas bo die ander. Diep skakels is ook belangrik. As jy regtig wil jou werf om goed te lyk in 'n soekenjin se oë het 'n baie van ander webwerwe wat daaraan gekoppel is en gekoppel diep in jou webblad. Moet nie net 'n skakel na jou tuisblad. Link na miskien yourname.com / iets / iets / something.php. Dat - na 'n soektog - beteken, Sjoe, hulle het regtig interessante inhoud dat iemand anders is so diep skakel na hul webwerf dat ek moet regtig, regtig het meer belang op die webwerf se bladsye. As jy 'n akkurate bladsy titels, as jy nie die foute wat is goed, want As 'n soektog is probeer om jou webwerf te besoek, en dit is 'n fout, dit is waarskynlik gaan om op te gee baie, baie gou. En ten slotte, wil jy 'n vinnige laai tyd te hê, omdat soek enjins - Net soos die mens - en hoef nie 'n baie geduld vir stadig webwerwe. Dit is 'n manier vir jou om seker te maak dat jy wys tot hoër in soektog navrae en hopelik sodoende meer verkeer. Want na alles, jy het al hierdie tyd die ontwikkeling van jou webwerf. Jy het al hierdie tyd die aanvang van die webwerf aanlyn. Jy wil om seker te maak dat jy baie van die gebruikers wat eintlik jou inhoud te sien. Ander goeie hulpbronne te gebruik. Google Webmaster Tools is iets om na te kyk in te. Dit help net om jou te sien - Google is nie kruip my site. Watter soort foute is dit ondervind? Hoeveel bladsye het dit geïndekseer? Wat beteken dit dink is die belangrikste inhoud op my bladsy? Miskien is dit nie wat ek wil hê dit moet wees. Miskien het ek my webwerf 'n bietjie so dat dit beter weerspieël verander wat my webwerf is eintlik oor. Google Analytics is 'n ander baie cool hulpmiddel. Jy kan 'n bietjie van JavaScript voeg aan jou bladsye. En dan daarna kan jy gaan na Google Analytics, en dit sal hou jou besoeker demografie en jou werf groei. Dit sal jou vertel presies hoeveel besoekers jou webwerf binne 'n sekere dag, binne 'n sekere uur, binne 'n sekere week. Hoeveel besoekers uit China? Hoeveel besoekers uit Antarktika - jy kry om jou webwerf. wat dalk iets koel te sien of dit kan selfs nuttig wees omdat jy probeer om 'n sekere groep te teiken. Miskien het jy probeer om tieners te teiken met jou webwerf, en jy sien dat die meeste van die besoekers aan jou webwerf is miskien 30 - tot 40-jariges, dan miskien óf jy het 'n probleem, of jy kan net sê, Wel, dan miskien moet ek net verander my webwerf se fokus sodat Ek fokus meer op daardie ouderdomsgroep. Google Apps - as jy wou soort van e-pos met jou domein naam te hê - Miskien iets soos yourname@yourname.com-- jy kan gebruik gmail adresse - jy kan die Gmail-diens te gebruik en Google Apps is een manier om dit te doen. Jy kan 'n e-pos adresse wat spesifiek is aan jou domein naam plaas of@gmail.com. En uiteindelik, is daar web ontwikkelaar uitbreidings en add-ons - vir Chrome, vir Firefox, vir ander blaaiers - wat jou toelaat om in te gaan en te inspekteer CSS, JavaScript inspekteer, sien presies wat is fout met jou JavaScript script, en miskien sal nuttig wees vir jou de-afluister doeleindes, vir jou om uit te vind - goed, waarom nie my webwerf goed vertoon in die leser? En uiteindelik, as jy wil meer te leer oor al hierdie onderwerpe - As jy wil meer te leer oor HTML en CSS en JavaScript - want na alles, ons het net geleer het om 'n bietjie - jy kan gaan webwerwe soos W3Schools.com om te kyk vir meer hulpbronne. Hulle het 'n baie mooi handleidings oor hoe doen ek x, of wat beteken y beteken? As jy wil meer te leer oor hierdie tale kan jy net hier. Alle regte. Ek dink ek wou die laaste paar minute van hierdie te laat vir vrae, so is daar enige vrae oor enigiets wat ons oor gepraat het? [Lid van die gehoor] Watter soort dinge is op W3Schools en hoe word dit gedek? [Yuechen Zhao] Watter soort dinge? So, een van die grootste dinge wat ek gebruik 'n baie is hul verwysings. Hul verwysings detail, byvoorbeeld vir CSS - wat dit beteken, of as jy wil die agtergrond van 'n bladsy om te verander - Hoe doen jy dit? Watter blaaiers ondersteun wat opdrag? Dinge soos dat. En dan het hulle ook net baie mooi handleidings oor HTML, op PHP, op JavaScript, op MySQL, op alle vorme van verskillende onderwerpe. Hulle het 'n pragtige handleidings. Hulle leer hoe om dinge te doen. Dit is lekker om in staat wees om te gaan en meer oor hierdie onderwerpe te leer. [Lid van die gehoor] HTML 5 is nog nie versoenbaar is met al die blaaier wat daar is. Sou jy aanbeveel net bly weg van dit as gevolg van verenigbaarheid kwessies? Hoe sal jy te doen met dit? [Yuechen Zhao] Ja, so is die vraag HTML5 is nog 'n baba standaard. Dit is regtig nie ondersteun deur 'n baie implementeer, moet ons so vermy? Ek dink ek verlede jaar sou gewees het 'n baie groot voorstander van, laat ons vermy HTML5 want dit is nog steeds - dit is nog baie nuut en in waarheid te sê, die HTML5 standaard is nog nie afgehandel nie. En so, daar is regtig geen HTML5 standaard. Maar ek dink veral as jy 'n webwerf is ontwerp nou, dit dalk beter wees as jy net saam met HTML5, want dit is soort van gaan na die toekoms, en as jy wil om jou webwerf te wees vir die toekoms en wat jy wil om jou webwerf te werk in die toekoms implementeer, is dit dalk beter wees om dinge op te bou om te begin vir die toekoms as vir die verlede, en ook net as gevolg van die feit dat HTML5 is regtig nie dat die verskillende van HTML4 of XHTML. As jy met behulp van HTML5, is dit gewoonlik sal werk in die meeste blaaiers. Jy hoef net te sorteer in te gaan en seker te maak met hierdie screenshots en om seker te maak met die aangaan van hierdie webtuistes jouself. Maar heel waarskynlik dit sal werk nie, tensy jy gebruik baie spesifieke funksies te HTML5. Let ook op dat vir CS50 - byvoorbeeld, vir die video-speler wat ons gebruik - dit gebruik HTML5 en HTML5 video die lesings te vertoon. Maar as jy 'n baie ou leser, dan sal dit terug te val op flits. So, dit is ook iets anders - 'n terugval stelsel vir wanneer jy net weet dat die leser nie gaan om te hanteer wat jy wil hê om dit te hanteer. Ander vrae? Enigiets wat ons het gepraat oor. Alle regte. Dan dink ek dit is oor dit vir my. Ek dink dit is dit. (Applous) Cool. [CS50.TV]