[Powered by Google Translate] [Seminari] [Preparazione del sito per il Web] [Yuechen Zhao] [Harvard University] [Questa è CS50.] [CS50.TV] Va bene. Ecco un'altra ora di sviluppo web, se voi ragazzi siete in su per esso. Oggi ho intenzione di parlare di preparazione del sito per il web. Tutto il giorno - e probabilmente per le ultime 2 settimane - abbiamo parlato di come creare un sito web, come utilizzare HTML, come utilizzare PHP, come utilizzare quadri, come fare in modo che è possibile interagire con il database - cose del genere. Ma oggi, stiamo andando a parlare di dove il vostro sito sta andando a vivere dopo CS50. Perché, dopo tutto, CS50 non avviene nel dicembre scorso. Stiamo per parlare di nomi di dominio, di hosting. Stiamo per parlare di ciò che la compatibilità cross-browser e la compatibilità cross-platform sono, e come si può fare in modo che il tuo sito sta per operare in tutte le condizioni. Parleremo di gestione degli errori e altre magie server. Stiamo parlando di ottimizzazione delle prestazioni, ottimizzazione dei motori di ricerca, e come ottenere la gente a visitare realmente i vostri siti web. E, infine, solo alcune buone risorse per fare in modo che voi ragazzi avete abbastanza di quelli di andare via con il progetto finale, e, si spera dopo. La prima cosa che andremo a parlare è i nomi di dominio. In questo momento si sta programmando nel vostro apparecchio, si sta andando ad un host locale che non è in realtà un nome di dominio. Questa è solo una sorta di nickname o un alias per la vostra installazione di Linux attuale all'interno di una VMware su un Mac o VMware Player su un PC. I nomi di dominio consentono di mettere un sito sul web e poi andare a qualcosa di simile www.google.com e ottenere il sito web. Come funzionano? Diciamo che sei solo un server web media - media web surfer e avete un portatile, e si va a www.howstuffworks.com. Probabilmente si può vedere dove ho rubato da questo. Come funziona roba - il computer vi chiederà un server DNS locale, "Sai dove questo sito è?" "Non si conosce l'indirizzo IP del www.howstuffworks.com?" Il server DNS potrebbe dire: "Sì, lo faccio." In questo caso, si ottiene l'indirizzo IP e il computer accede a tale indirizzo IP. Se non lo fa, si chiede a un altro server DNS, "Hey! Sai cosa www.howstuffworks.com è?" Tale server potrebbe dire: "Sì, lo faccio." Così, dice l'altro quello che è, e, infine, che l'informazione viene passata al computer, e si può accedere howstuffworks.com. Come si può ottenere una di queste cose magiche? Come si può ottenere forse www.yourname.com o www.ilovecats.com? È possibile registrarsi per uno, e ci sono un sacco di siti web là fuori che ti permettono di farlo. È necessario - nella maggior parte dei casi si deve pagare per loro. Ci sono alcuni nomi di dominio che sono liberi. Se si va a tkdomainnames www.co.cc o., Quelli sono gratis. Ma, che fanno venire con alcune restrizioni, e infatti alcuni di loro potrebbe anche non essere reali, i nomi di dominio di primo livello come. com o. net. Normalmente io vi suggerisco di andare per uno di loro perché gli utenti sono solo più confortevole con quelli. Hai visto un sacco di. Com. Hai visto un sacco di. Reti. Probabilmente non avete visto un sacco di s. Co.cc ', quindi sono più difficili da ricordare. Diversi siti web come Godaddy o NameCheap o - ho usato uno che è tipo di abbozzato - chiamato activedomain.com. Sembra davvero discutibile, ma ha funzionato molto bene per me. E, infine, si dispone di altri che forse fanno più pubblicità come Network Solutions. Ma se si va sul NetworkSolutions.com e guardate il loro prezzo è molto costoso. Stavo guardando loro ultima notte. Per un anno di un nome di dominio, probabilmente non vale tutti quei soldi. Infatti, se stai ricevendo un. Com o un. Org o un. Rete il prezzo normale è di circa 10 dollari l'anno. Quindi, se stai pagando molto di più di quello che, probabilmente non è che vale la pena perché, dopo tutto, questi siti non fanno nulla con quel nome a dominio. Hanno appena dare a voi, e quindi se si può ottenere a buon mercato, perché no? L'altra cosa è che una volta che avete il vostro nome di dominio, allora probabilmente avrete bisogno di continuare a uno Godaddy.com o dovunque si è acquistato il nome di dominio e impostare i name server per quel nome a dominio. Ciò significa una volta che un utente va a www.howstuffworks.com, tali indirizzi IP del server dei nomi sono gli indirizzi IP che essi sarebbero in grado di guardare in alto. Essi sarebbero in grado di accedere al tuo sito web attraverso i server di nomi. Se si applica per l'hosting da qualche parte allora il vostro ospite sarà molto probabilmente vi darà i name server da utilizzare. E, infine, c'è questa cosa che si chiama un WHOIS. Un database WHOIS è un database con il quale è possibile introdurre un nome di dominio e sarà sputare fuori un po 'di informazioni sul proprietario del sito e altre informazioni di contatto. Ora, si può dire: "Io non voglio proprio il mio indirizzo di casa o che non voglio proprio il mio indirizzo e-mail sul sito web per chiunque di vedere o su Internet per tutti di vedere ". Allora si potrebbe desiderare di utilizzare qualcosa che un sacco di servizi di hosting forniscono - come un manager WHOIS. Un manager WHOIS è semplicemente un altro servizio che molti di loro prevedono che nasconde che le informazioni e le mette solo in chi è responsabile per il nome - per l'indirizzo di solito è proprio questo il nome della società che ha dato questo nome di dominio - e così poi le tue informazioni personali è non essere trapelata su Internet, che di solito è abbastanza buona. Mi utilizzare uno di questi servizi. Se non vi interessa la privacy allora non ha molta importanza. Un server DNS è l'acronimo di Domain Name System, e quello che è - è come una sorta di qualche hash table che dice:  "L'indirizzo del sito web sta per mappa a questo indirizzo IP." E questo è tutto che è. Quindi una volta che si esegue una query di questo server DNS, quindi è possibile ottenere gli indirizzi IP per quel nome a dominio corrispondente e quindi visitare quel sito. (Membro del pubblico di fare una domanda - non udibile) Il primo? Il primo livello è in realtà di solito solo la cache del computer stesso. Il computer sorta di ricorda l'ultima volta che sei andato a www.google.com fu a questo indirizzo IP, e poi, dopo un po ', che la cache scade, e si chiederà come Comcast DNS, "Ehi, che www.google.com?" Normalmente, quando si acquista un nome di dominio e si registra una, e si imposta un sito web, Non si può andare a quel sito subito con quel nome a dominio in quanto i server il nome in tutto il mondo ancora non conoscere il vostro nome di dominio. Ha per popolare. Di solito ci vogliono circa 24-48 ore. D'accordo. Quindi, questo è un po 'di nomi di dominio. Sono molto cool. Penso che si dovrebbe avere uno se siete serio circa il progetto e se si vuole davvero rendere il vostro progetto conosciuto in tutta campus, avere un nome di dominio fa sembrare davvero professionale. Poi il passo successivo, ovviamente, è quello di avere un qualche tipo di hosting. Se hai appena ospitare sul proprio computer, nessuno mai sarà in grado di andare ad esso. Si potrebbe impostare un server sul computer e tenere il computer per sempre, ma questo non è raccomandato. Ci sono diversi tipi di ospitare disponibile online. C'è hosting condiviso. C'è VPN (incomprensibile) che sono gli host virtuali. Ci sono semi-dedicato e dedicato. Della forma 3, VPN, semi-dedicato, e dedicato sono generalmente più costosi. Sono di solito utilizzati per i siti web che richiedono più risorse. Se si sta appena iniziando con un sito web, potrebbe essere solo più economico per andare con l'hosting condiviso. E che cosa significa in comune è solo un mucchio di siti web sono tutti insieme ordinare di in un unico server su questo sito web su questo server host ed è possibile accedere al tuo sito web tramite nome di dominio. Ci sono un sacco di eserciti popolari là fuori. HostGator e DreamHost - quelli che sono molto, molto grande e molto, molto popolare e molto, molto successo. Io personalmente uso uno chiamato MDDHosting. Se vai a www.mddhosting.com, questo è il mio ospite di scelta. Penso che siano molto buone. Sono sempre stato molto affidabile, e non ho mai avuto problemi con loro. Essi hanno anche prezzi molto competitivi. Due che non mi piace molto sono GoDaddy - che è anche una serie molto popolare, ma ho avuto esperienze terribili con loro, e un sacco di persone che conosco hanno avuto esperienze davvero terribili con loro. Essi sorta di andare dopo le persone che non sanno cosa stanno facendo - forse stai facendo un sito web per la prima volta, e quindi una sorta di loro CON ad acquistare il loro pacchetto di hosting. Non farlo. Non cadere per esso. Vai cercare altri pacchetti di hosting che realmente si adattano alle vostre esigenze. E l'altro è - ci sono host gratuiti là fuori. Ci sono siti che ospiteranno il tuo sito web gratis - a volte mettendo un annuncio sul vostro sito, a volte facendo si partecipa a forum di loro, ma a volte basta anche gratuitamente. Ma, attenzione con gli host gratuiti, perché un sacco di loro in realtà basta andare fuori mercato dopo pochi mesi. Non ci si può tenere il passo con i costi. Altri sono solo molto inaffidabili, e il vostro sito sarà sempre verso il basso, e non si vuole che questo accada. Ogni host offrirà il proprio pannello di controllo. Si noti che per il vostro apparecchio, in realtà non c'è un pannello di controllo per sé. Devi usare terminale di andare a modificare i file. Devi chmod le cose da soli. Se si voleva andare a phpMyAdmin, devi andare a localhost @ / phpmyadmin e cose del genere. Ma con un pannello di controllo è possibile entrare e modificare i file sul server con Esplora risorse di Windows o un'applicazione finder-tipo. Oppure si può andare attraverso e guardare i vostri database con il proprio strumento invece di phpMyAdmin. Quindi, c'è un sacco di scelta qui, e alcuni dei pannelli di controllo più popolari sono lassù. Ma se siete alla ricerca di un host, allora si potrebbe desiderare di guardare a ciò che i tipi di personalizzazioni e opzioni offrono me per personalizzare il mio server e per fare il mio sito web gestito meglio. Così, allora si potrebbe chiedere: "Bene, come faccio a scegliere hosting?" Se vai a qualsiasi sito web ospite c'è un sacco di gergo, e ci sono un sacco di opzioni. Ci sono un sacco di prezzi diversi anche. Normalmente vado per quelli più economici solo perché i siti web che forse io e te fanno - e soprattutto in questo momento, soprattutto come antipasti - essi non possono bisogno di molte risorse come potrebbe un sito come Microsoft.com. In primo luogo si vuole guardare al sistema operativo se sei davvero curioso di sapere se il vostro sito sta per essere ospitato su Linux, su Windows o su Mac. Normalmente basta andare con Linux perché è di solito il più economico, e anche quello che forse voi siete più familiarità con quanto dell'apparecchio. E poi, forse faranno messo alcune restrizioni sulla quantità di larghezza di banda che si ottiene - come il numero di megabyte o gigabyte di dati gli utenti possono scaricare dal tuo sito web al mese? O spazio su disco. Quanto spazio si ottiene? E 'a 500 MB? E '2 GB? È senza limiti? Al giorno d'oggi, un sacco di server web che danno spazio illimitato su disco come un modo per loro per invogliare a ottenere il loro pacchetto di hosting. Ma se davvero pensate, quando stai andando mai bisogno di spazio illimitato su disco? Se si dispone di un paio di file HTML, un paio di PHP, un paio di immagini - questo è solo un paio di megabyte, e così di solito mi basta andare per un valore di spazio forse un paio di gigabyte ", e che potrebbe essere sufficiente per iniziare a me fuori fino a quando ho bisogno di più. Infine, essi possono mettere restrizioni su ciò che tipo di - il numero di database si può avere. Forse si può avere solo 1 banca dati. Forse si può avere 2. Forse si può avere 10. E 'davvero importante per voi quanti si ottiene? Cose da porsi. E poi finalmente, a cose come le lingue. Costituiscono un supporto al PHP? Costituiscono un supporto di MySQL? La maggior parte dei siti di hosting non supportano queste perché sono liberi. Sono open source. Non costa nulla per fornire questi per voi. Ma se si desidera utilizzare, ad esempio, Ruby o Python o alcune di queste altre lingue - essi non possono sostenere che il loro server, quindi è importante per cercare questo tipo di cose. E, infine, esse consentono di fare alcune cose più avanzate come posti di lavoro SSL o cron? SSL è un'opzione in cui è possibile rendere il vostro sito più sicuro, rendendo HTTPS e criptare le connessioni. E cron jobs sono solo forse script che si desidera eseguire ogni 5 minuti, ogni 10 minuti, ogni 15. Un sacco di siti di hosting condiviso non mettere restrizioni sul numero di posti di lavoro cron che è possibile eseguire a causa che occupa più risorse. E infine, proprio tutto ciò che si desidera guardare - assicurarsi esattamente cosa sta succedendo prima di acquistare il pacchetto di hosting. E, infine, le prestazioni. Prestazioni è enorme. Quanto veloce è il mio sito web andando a correre? La maggior parte degli utenti non hanno intenzione di aspettare anche secondi per il tuo sito per l'esecuzione prima hanno appena annoiarsi, e vanno a MeanBase e iniziare a guardare le foto dei gatti - si sa che accade, e si vuole fare in modo che si ottiene che l'utente a bordo e di avere un buon uptime che significa solo che il tuo sito web sta per essere accessibile in ogni momento. Un sacco di ospiti hanno davvero male uptime e questo significa che solo il tuo sito web non sta per essere accessibile, e non si vuole che accada, perché si potrebbe essere triste. E si può anche monitorare il rendimento del tuo host con siti come Pingdom.com o Host-tracker.com, e hanno semplicemente dirvi quanto spesso è il vostro sito verso il basso. E, infine, si vuole vedere il loro sostegno. Se hai un problema hanno intenzione di rispondere entro 24 ore? Stanno andando a rispondere a voi entro 48 ore? Il servizio di hosting che uso normalmente risponde a me in pochi minuti che è veramente bello. Wow! D'accordo! E 'il momento di una pausa. Ma io non ho intenzione di dare a voi. Dobbiamo solo guardare le immagini di gatti carino e poi ogni ora. Un'altra cosa davvero, davvero grande è la compatibilità cross-browser. Che cosa voglio dire con compatibilità cross-browser? Sai, al giorno d'oggi non è solo Microsoft Internet Explorer. Non si tratta solo di Mozilla Firefox o Safari. Ora abbiamo Chrome. Abbiamo Opera. Abbiamo Dolphin. Abbiamo Camino. Abbiamo Conquistatore. Abbiamo tutti questi diversi browser. Le cose che stanno venendo fuori adesso - RockMelt - anche se quelli sono tutti basati su Chromium. Ma il nocciolo della questione è che ci non è più solo un browser. Lei non è solo la visualizzazione di queste pagine con una sola applicazione. E così, diversi browser risponderanno a diverse HTML, CSS diverso, e JavaScript diversi in modo diverso, e come si fa a trattare con questo? Beh, in alcuni casi, davvero non si può. Il tuo sito web - se funziona in un browser, il codice che hai scritto non funzionerà in un altro browser, ed è il vostro lavoro per assicurarsi che il codice scritto è universale, che funziona ovunque. Quindi, questo è davvero pericoloso. Se dici: "Beh, sta funzionando sul mio computer. Grande! Passiamo." Beh, non è probabilmente andando a lavorare sulla mia, e quando vado al tuo sito web Ho intenzione di essere molto triste, e ho intenzione di lasciare subito. Quindi, vediamo come si può evitare questo. La prima cosa, ovviamente, è di utilizzare solo standard HTML, CSS e JavaScript. Cosa voglio dire con questo? Beh, ci sono un sacco di cose non standard, là fuori. Per esempio, in CSS ci sono molte versioni. Se vedete delle regole CSS con-moz-o-webkit-, tali regole sono specifiche per entrambi i browser Mozilla ei browser Webkit, e così si vuole fare in modo che forse si vuole evitare quelle cose perché se si utilizza-moz-che regola è solo andare a lavorare su Firefox. E se si vuole veramente a guardare bene su Internet Explorer anche, si sta andando ad essere fuori di fortuna. Per HTML inoltre, si potrebbe fare le cose in HTML che funzionano in un browser ma che si rompe in un altro, e si vuole evitare che, per quanto possibile. E infine per JavaScript anche - ci sono molte versioni di JavaScript, e questa estate ci siamo imbattuti in un problema in cui Document.getElementsByClassName-- che è di solito una funzione che è definita come una parte dello standard JavaScript - non era di trovare in Internet Explorer 8. Così, durante l'estate ho lavorato in un laboratorio e stavamo costruendo esperimenti online. E abbiamo pensato che funzionava davvero bene fino a quando ci siamo resi conto che gli utenti usavano Internet Explorer 8 non ha potuto presentare i loro risultati. Stavamo perdendo un sacco di dati. Che ci ha fatto davvero triste. Quindi, si vuole sempre fare in modo che stanno andando i vostri script di lavorare ovunque. E, infine, utilizzare validator.w3.org che è quello che ti dicono di fare in pset 7. Assicurarsi che le pagine sono validate. Questo è importante perché questo almeno è un primo passo controllo di integrità. È il mio codice effettivamente agli standard? Un altro modo per tipo di aiuto è assicurarsi che il sito è di andare a lavorare nella maggior parte delle circostanze è di usare magari alcune librerie e framework perché questi davvero intelligenti sviluppatori hanno pensato a questi problemi per voi. Sono andati attraverso e hanno scritto diverse funzioni che lavorano tutti i browser. Per esempio, usiamo jQuery in Pset 7. Anche se forse non avete visto, jQuery fornisce un sacco di funzioni che altrimenti si sarebbe dovuto scrivere da soli. Ma questi sviluppatori hanno scritto, e hanno fatto in modo che funzioni in tutti i browser. E Bootstrap - che è un altro framework CSS che vi abbiamo mostrato in Pset 7 - ci vuole davvero via un sacco di mal di testa con la progettazione di siti web che sembrano buone. in tutti i browser. E, infine, se si può evitare, di solito evito di codifica da zero. Se sei solo la creazione di un sito web per il vostro club scuola, per esempio, e tutto quello che dovete fare è quello di visualizzare alcune pagine e magari avere il tuo presidente va in e cambiare un paio di cose qua e là - non c'è davvero alcun bisogno di codice che voi stessi. Che prende un sacco di tempo. Ci vuole un sacco di energia, e si deve passare attraverso e si deve scoprire, bene, è questo andare a guardare bene in questo browser, sta andando a guardare bene in questo browser. Forse utilizzare alcune di queste patch che altri hanno già scritto per te, come WordPress o Joomla o Drupal. Questi sono chiamati contenuti - questi sono chiamati CMS che in fondo sono solo i pacchetti che già venuto fatto per te, e puoi scaricarli, metterli sul vostro server, e personalizzarli come vuoi, e hai già un sito web in esecuzione. Quei pacchetti di codice sono qualcosa da guardare per. Queste cose sono open source, a meno che non si va per qualcosa di simile - se siete alla ricerca di un pacchetto di forma, ci sono cose che non sono libero come VBulletin o IP.Board. Se non avete bisogno di alcune di queste caratteristiche avanzate, si può sempre optare per l'opzione gratuita. E, infine, non vi è alcuna evitarlo. Devi provare, provare, provare. È necessario testare il codice su tutti questi browser e su tutte queste piattaforme. E si sa, IE6 - Grazie bontà persone hanno iniziato a muoversi lontano da IE6 perché nel giorno, forse un paio di anni fa, gli sviluppatori web hanno dovuto sempre, sempre, assecondare sempre le debolezze di IE6 nel seguire le norme. Siti web appena guardato tipo di 1990 per la mancanza di un modo migliore per affrontarla. È inoltre possibile utilizzare gli screenshot del browser per controllare il vostro CSS. Un sito veramente interessante è browserlab.adobe.com. Questo è un servizio gratuito messo fuori da Adobe. E quello che fanno è che possono prendere screenshot del tuo sito web l'esecuzione in condizioni diverse - come la corsa sotto diversi browser, esecuzione con diverse piattaforme - e mostrare ciò che sembrano. Giusto per mostrarvi cosa intendo qui, ho creato un sito web l'anno scorso chiamato Vita Ad Harvard, e quello che ho cercato di fare - ho provato a fare my.harvard meglio. Perché se tu fossi qui l'anno scorso, my.harvard non sembrava come sembra ora. Sembra un po 'disgustoso. Ma ora sembra molto meglio. La mia applicazione non era più utile, ma tutti uguali, Sai, ho provato ad aggiungere - (incomprensibile) molte qualunque - e sembra - si vede molto bene sul mio computer. E poi, forse, se avessi avuto più tempo sarei andato al laboratorio del browser, e avrei guardato, così, come si guarda a Chrome 18 su Windows. Vorrei scorrere verso il basso e vorrei vedere - oh no! Guardate la scatola annunci. Il mio testo è stato straripante. Quindi, questo è male, vero? Se un utente sta utilizzando Chrome su Windows e arriva al mio sito web, che sembra subito molto poco professionale. Quindi, dovrei andare nel mio CSS e scoprire che parte del mio CSS sta rompendo qui. Perché non è visualizzata correttamente e risolvere il problema in modo che tutti gli utenti possono vedere lo stesso sito e di essere altrettanto felici. E, infine, beh, gli screenshot del browser sono belle per testare il vostro CSS, ma per quanto riguarda il tuo JavaScript? Che dire se si dispone di alcuni script complicato che è in esecuzione? Beh, si può sempre fare di virtualizzazione. Se avete un Mac è possibile utilizzare Bootcamp o VMWare per virtualizzare forse una copia di Windows e l'uso di Internet Explorer lì. In alternativa, si può andare avanti a qualcosa come Spoon.net, che purtroppo funziona solo su PC. Ma quello che fanno è molto cool. Essi virtualizzare software per voi in modo da poter eseguire diverse versioni di IE, per esempio. È possibile eseguire diverse versioni di Firefox. È possibile eseguire diverse versioni di Safari e testare tutti i tuoi siti web là. Purtroppo, non sono liberi. Questo è un servizio a pagamento, quindi c'è sempre una sorta di presente - c'è sempre questa sorta di compromesso tra, bene, sono io che vado a fare il mio sito web guardare bene. Se è così, potrebbe essere necessario pagare per alcuni servizi di aiutarmi a farlo. Tutte le domande, a questo punto qualsiasi cosa di cui abbiamo parlato? Impressionante. Va bene. Ora abbiamo più cose di cui parlare. Che ne dici di errori? Come si fa a fare in modo che il vostro sito sta per funzionare anche quando succede qualcosa di brutto? Forse non si dispone di una pagina denominata food.php. Ma a me, vado al tuo sito web e cerco di accedere food.php. Stai solo andando a farmi vedere quella pagina bianca che dice 404 - File non trovato? O hai intenzione di dire: "Beh, mi dispiace che non ho potuto trovare questo per voi, ma forse qui ci sono alcune altre risorse per aiutare la ricerca di quello che ti serve. " Altri errori - così, si parla di errori HTTP, che sono solo alcuni codici di errore che il server potrebbe essere inviato al browser nel caso di qualcosa di brutto accada. 400 - richiesta. 401 - non autorizzata. 403 è una specie di comune, quando si dispone di una directory che non dovrebbe essere accessibile da parte dell'utente, ma l'utente tenta di comunque. E 500 - Errore interno del server - che di solito succede quando si ha qualcosa davvero male succedendo con il tuo codice PHP. Ma in ogni caso, questo tipo di browser - questo tipo di errori accadono. Quindi, come si fa a fare in modo che si garbo gestire questi errori e fare in modo che l'utente non è solo una sorta di lì appeso? Ecco che arriva. Htaccess. Ora,. Htaccess è qualcosa che funziona su server Apache, qualcosa che funziona e funziona su alcuni altri server pure. Questo è solo un modo per configurare il server in modo tale che puoi fargli fare quello che vuoi che faccia. Alcune cose che potreste fare. Si poteva controllare le impostazioni della cache. Forse c'è una certa pagina del tuo sito web che è assicurarsi che l'utente scaricare nuovamente ogni volta che l'utente entra e visita il tuo sito web. O forse hai qualche URL che è come yoursite.com / test / html / pages / Hello.html e si desidera solo che per essere yourname.com / ciao -. bene, è possibile utilizzare htaccess per reindirizzare una pagina web ad un altro. È anche possibile utilizzarlo per fare l'autenticazione. Forse ci sono alcune parti del tuo sito web che è necessario usare un'altra password. È possibile bloccare determinati indirizzi IP, bloccare determinati domini. Forse hai solo davvero non ti piace studenti di Harvard che utilizzano il vostro sito web. Beh, si ha la possibilità di bloccare tutti gli indirizzi IP di Harvard. Infine, è possibile trattare le cose - è possibile scrivere determinato codice per rendere il vostro server trattare come. zhao o. tuo nome o. pagine ciao come codice PHP. Forse questo ci sarà utile. Forse che non ci sarà. E, infine, è possibile utilizzarlo per gestire le risposte di errore. Cosa voglio dire con questo? Se è sufficiente aggiungere il codice come questo - 404 ErrorDocument per poi dirigerli verso alcuni pagina di errore, è possibile fare in modo che l'utente non vede solo il veramente, veramente brutta 404 e di mostrare loro qualcosa di bello. Facciamo in realtà dare un'occhiata a come possiamo farlo con il tuo Pset 7. Ecco, io sono nel mio apparecchio. Ho intenzione di aprire Chrome, e poi ho intenzione di provare ad accedere a una pagina che non esiste sul CS50 Finanza. Quindi, host locale - cats.php--così, notare che ho creato un documento di errore che dice: "Canz non trovare pagina z!" E 'un gatto molto triste su di esso. Se si va su Twitter, se vai su uno di questi siti, Non riesci a trovare una pagina, di solito cercano di mostrare una foto carina in modo che non sei troppo delusi. Si potrebbe anche avere qualcosa di più professionale che dice: bene, mi dispiace non sono riuscito a trovare la pagina, ma forse qui è una casella di ricerca. O forse qui ci sono alcuni link che vi aiuterà a trovare il collegamento che si desidera. Quindi, come ho fatto questo? Come è possibile? Se andiamo nel nostro terminale qui - Sto solo andando a ingrandire un po '- notare che ho una nuova pagina. Dentro la mia directory HTML si chiama - non lo si può vedere - si chiama error.php. E error.php è solo un file che ho fatto che vi mostra la pagina stessa. Posso vedere cosa error.php è. E 'esattamente questa pagina. Si dice: "Oh no! Canz non trovare pagina z!" E, se volete vedere - così, notare che tipo di htaccess è un nome strano.. Si inizia con un punto che significa che si tratta di un file system. E 'un file nascosto che non viene normalmente visualizzato. Se fai ls-a, è possibile vedere tutti i file nascosti in una determinata directory, e in effetti, si vede. htaccess è uno di loro. Andiamo avanti e aprire htaccess. - con gedit - Boom! Tutto quello che ho è una linea in là - documento di errore per errori 404 che sono noti anche come errori di file-not-found. Diamo loro reindirizzamento a qualcosa chiamato error.php. Si possono avere le cose divertenti come CANZ non trovare pagina z! E ci sono anche cose molto interessanti che si possono fare con. Htaccess. Se volete vedere di più. Htaccess magia, questo è un sito molto cool per andare su - si chiama javascriptkit.com/howto/htaccess.shtml-- Se si desidera eseguire più magico server. E potrebbe essere molto divertente. Wow! D'accordo! Immagini più simpatici. Questo è un ragazzo facendo push-up, e il suo gatto sta cercando di aiutare. Penso che sia molto carino. Purtroppo, non ho un gatto simile. D'accordo. Quindi, abbiamo parlato. Htaccess. Abbiamo parlato di gestione degli errori. Abbiamo parlato di hosting, domini. Abbiamo parlato di compatibilità cross-browser. Ora, come possiamo fare in modo che il vostro sito si esibisce in realtà? Come possiamo fare in modo che se vado al tuo sito web Riesco a vedere la tua pagina in pochi secondi? Una delle cose che penso che la gente appena sorta di dimenticare è l'ottimizzazione delle immagini. Diciamo che si voleva mettere una foto sul tuo sito ed è 2 MG grande. Questo potrebbe andare bene per noi perché siamo ad Harvard, e abbiamo una connessione internet molto veloce. Ma immaginare che qualcuno in Cina. Immaginate qualcuno in India. immaginare che qualcuno forse in Kansas rurale, che forse non ha lo stesso tipo di Internet a banda larga che abbiamo. Se si dispone di un'immagine di 2 MB sul tuo sito e l'utente cerca di accedervi, è andare a prendere loro un sacco di tempo per il download. Quindi, se non hai bisogno di quel tipo di risoluzione, allora è possibile ridimensionare l'immagine con qualcosa come Adobe Photo Shop. Di solito c'è un'opzione chiamata sicura per Web e dispositivi, e ciò che fa è che si spoglia di tutte le informazioni inutili e una sorta di compatta il file in immagini di piccole dimensioni in modo da poter mettere sul vostro sito web, e qualsiasi utente che tenta di scaricare la pagina sta per scaricare una versione più piccola della vostra immagine. Se non si dispone di Adobe Photo Shop webresizer.com è anche un'altra risorsa dove l'immagine è possibile inserire e sarà sputare fuori la stessa immagine esatta, ma sarà qualcosa come 3 volte più piccoli. Ecco, questo è molto utile per gli utenti. Un'altra cosa che si può fare è minify codice. Se diamo uno sguardo a Google.com, vedrai che non è la stessa specie di HTML e CSS che siamo abituati. Basta andare a guardare il codice sorgente qui. Se mi basta scorrere - wow, che sembra piuttosto disgustoso. Questo sarebbe ottenere uno zero in stile. Se codificato questo per il tuo Pset, si otterrà uno zero sul vostro stile. Questo ha alcuna spaziatura. I nomi sembrano davvero criptico. E 'tutto veramente schifo. E lo script per chiudere nel corpo - il codice HTML di chiusura - sono tutti insieme - tutti smushed insieme. Perché fanno questo? Essi minified loro codice. Si noti che questo documento sta per essere molto più piccolo per me di scaricare qualcosa che con lo spazio bianco, di qualcosa con i nomi delle variabili davvero lunghi. Se Minimizza il tuo codice di rimuovere tutti gli spazi bianchi. Naturalmente, il tuo browser non importa se si dispone di uno spazio bianco nel codice. Si striscia fuori, ora posso scaricare un file più piccolo - ora il file - il documento che stiamo per scaricare è un file di dimensioni inferiori, sarà più veloce di me di scaricare, e questo è utile. Se si lavora con siti web e si sta lanciando un sito web, è quasi sempre bene minify codice. Un'altra ragione per cui potrebbe essere buono è forse non si vuole ad altri di utilizzare il codice. Forse non vuoi che gli altri di utilizzare il CSS. Sapete se si voleva davvero essere avaro con quello, allora si può anche Minimizza il codice, e che sarebbe stato più difficile per me di rubarla perché non ho idea di cosa stia succedendo. Si può anche andare a siti come minify.avivo.si. Servizi come questo in linea consentono di minify il codice in modo che non c'è bisogno di farlo a mano. Sicuramente non farlo a mano. Va bene. Ora si parla di script. Forse nel codice PHP che c'è qualcosa che non hai bisogno di fare. Forse c'è anelli supplementari in là. Abbiamo parlato di progettazione codice CS50. Anche se stai scrivendo codice C se avete - se si sta facendo un lavoro extra che non c'è bisogno di fare, bene, che sta andando a rallentare i vostri script nel vostro sito web, e questo è particolarmente importante per i siti web perché gli utenti al giorno d'oggi sono molto impaziente. Se stai facendo un lavoro inutile, sta andando a prendere più a lungo per ottenere le informazioni che vogliono, e hanno intenzione di essere molto infelice. Infine, si consiglia di ottimizzare le tabelle del database. Ricordo che abbiamo parlato di indici. Non sono solo un bene per fare in modo di avere una riga che è unica. Sono buone anche per fare in modo che il database funziona velocemente. Se si desidera leggere su che vanno verso la documentazione di MySQL, oppure si può guardare - bene, come faccio a ottimizzare il tabella di database? Come faccio a fare in modo che non ho gli indici che aiutano a ottenere le informazioni più velocemente? Ci sono anche piccoli trucchi che si possono usare come cache. Se si dispone di PHP - se avete un blog, per esempio, e si ha - e 'alimentato da PHP o con qualsiasi altra lingua - è possibile memorizzare nella cache il vostro blog a diciamo di intervalli di 50 minuti in modo che si può servire pagine statiche o HTML statico per i visitatori del tuo sito. In questo modo gli utenti non devono eseguire il vostro script PHP ogni volta, e forse questo sarà più veloce per loro di accedere a tali informazioni. E, infine, si può usare qualcosa come CDN. Si noti che ogni volta che si scarica un Pset, vai sempre a CDN.CS50.net. Perché è così? CS50 utilizza anche come una sorta di CDN - una rete di distribuzione di contenuti - il che significa semplicemente che si tratta di un gruppo di server forse da qualche parte in giro per il mondo che contribuire a servire le vostre pagine per i tuoi visitatori. Se il visitatore è sempre una pagina da un server che è più vicino a loro geograficamente, quindi molto probabilmente il visitatore sta per arrivare quel file molto più veloce. Ci sono anche fonti online che ti aiutano a farlo. Uno di loro è CloudFlare. Offrono un servizio CDN gratuito. Se si dispone di file di grandi dimensioni che il vostro servizio per gli utenti, allora forse è meglio metterle su un CDN in modo che possano arrivare a loro più velocemente. L'ultimo argomento del giorno è l'ottimizzazione dei motori di ricerca. Qual è l'ottimizzazione dei motori di ricerca? Questo è fare in modo che i motori di ricerca come Google o Bing o Yahoo può andare avanti per il vostro sito e la scansione del tuo sito e indicizzare il tuo sito e quando Io, per esempio, vado su a Google.com e provo a cercare qualcosa, allora il vostro sito apparirà. Come si fa a fare in modo che il vostro sito è uno dei top 10? Perché, come tutti sappiamo, se si cerca qualcosa su Google e non è in top 10 si sta molto probabilmente non andando a guardare nei prossimi 10. Questa è una sorta di un argomento che è avvolta nel mistero. C'è un sacco di hype là fuori su Internet. Ci sono un sacco di superstizioni circa se x allora Google piacerà meglio. Se y allora Google piacerà meglio. Probabilmente è meglio guardare in documenti del gigante della ricerca stessa. Questo è uno dei documenti su Google che ti dicono esattamente come ottimizzare il tuo sito in modo che Google possa accedere e indicizzare molto bene. Non è necessario copiare questo URL giù perché questa presentazione sta per essere comunque online. Se si guarda a questo e leggete questo ci sono alcuni suggerimenti molto utili in là. Il Google ti dice - se si vuole veramente il tuo sito venga indicizzato bene allora si dovrebbe fare tutte queste cose. Un'altra cosa che i motori di ricerca piace molto è contenuto fresco. Se si dispone di contenuto che è aggiornato con regolarità poi i motori di ricerca dicono, ooh, mi piace il tuo sito. Ho intenzione di andare al tuo sito molto spesso. Sto per indicizzare un sacco di pagine. Se si dispone di contenuti freschi, allora è molto più probabile di presentarsi - è molto più probabile che sia più rilevante. È molto più probabile che sia più aggiornato, ed i motori di ricerca hanno maggiori probabilità di mettere il vostro sito di sopra degli altri. Profondi legami sono importanti. Se si voleva davvero il vostro sito per guardare bene negli occhi di un motore di ricerca hanno un sacco di altri siti web ad esso collegati e legati profondamente nel tuo sito web. Non basta collegare alla tua home page. Link forse yourname.com / qualcosa / qualcosa / something.php. Che - per un motore di ricerca - i mezzi, wow, hanno contenuti davvero interessanti che qualcun altro sta collegando così profondamente nel loro sito che dovrei davvero, davvero mettere più importanza sulle pagine del sito. Se si hanno i titoli di pagina precise, se non si hanno errori questo è un bene perché se un motore di ricerca sta cercando di visitare il tuo sito, e si sta facendo un errore, è probabilmente andando a rinunciare a molto, molto presto. E, infine, si vuole avere un tempo di caricamento veloce, perché i motori di ricerca - proprio come gli esseri umani - Don 't hanno un sacco di pazienza per i siti web lenti. Questo è un modo per fare in modo che ti presenti più elevato in query di ricerca del motore e si spera in tal modo di ottenere più traffico. Perché, dopo tutto, hai speso tutto questo tempo a sviluppare il tuo sito web. Hai passato tutto questo tempo il lancio di questo sito online. Si vuole fare in modo di avere un sacco di utenti che effettivamente vedere i tuoi contenuti. Altre risorse di buono da usare. Google Webmaster Tools è qualcosa da guardare per. Questo aiuta solo di vedere - Google non indicizza il mio sito. Che tipo di errore è lo incontrano? Quante pagine ha esso indicizzato? Che cosa pensa è il contenuto più importante nella mia pagina? Forse non è questo quello che voglio che sia. Forse ho bisogno di cambiare il mio sito web un po 'così che è rispecchiato meglio ciò che il mio sito è veramente. Google Analytics è un altro strumento davvero cool. È possibile aggiungere un po 'di JavaScript per le vostre pagine. E poi dopo si può andare a Google Analytics, e sarà monitorare i tuoi dati demografici dei visitatori e la vostra crescita del sito. Vi dirà esattamente quanti visitatori visitano il tuo sito entro un determinato giorno, entro una certa ora, entro un certo settimana. Quanti visitatori provenienti dalla Cina? Quanti visitatori da Antartide - che stai ricevendo per il vostro sito web. che potrebbe essere qualcosa di bello da vedere o potrebbe anche essere utile perché si sta cercando di indirizzare un certo gruppo. Forse si sta cercando di indirizzare gli adolescenti con il tuo sito web, e si vede che la maggior parte dei visitatori del tuo sito web sono forse 30 - a 40 anni di età, allora forse o hai un problema o si può solo dire, bene, allora forse dovrei cambiare il focus del mio sito web in modo che Mi concentro di più su quella fascia di età. Google Apps - se si voleva avere una sorta di e-mail con il tuo nome di dominio - Forse qualcosa di simile yourname@yourname.com-- è possibile utilizzare indirizzi gmail - è possibile utilizzare il servizio di Gmail e Google Apps è un modo per farlo. È possibile impostare gli indirizzi email specifici che sono specifici per il vostro nome di dominio invece of@gmail.com. E, infine, ci sono le estensioni Web Developer e add-on - per Chrome, per Firefox, per gli altri browser - che consentono di entrare e ispezionare CSS, JavaScript ispezionare, vedere esattamente cosa c'è che non va con il vostro script JavaScript, e forse che sarà utile per i vostri scopi di de-intercettazioni, per voi scoprire - Beh, perché non è il mio sito web visualizzata correttamente in questo browser? E, infine, se si voleva imparare di più su tutti questi temi - se si voleva imparare di più su HTML e CSS e JavaScript - perché dopo tutto, ti abbiamo insegnato solo un po '- si può andare a siti come W3Schools.com a cercare ulteriori risorse. Hanno molto belle tutorial su come posso fare x, o che cosa y significa? Se si voleva imparare di più su queste lingue si può semplicemente andare qui. D'accordo. Penso che ho voluto lasciare gli ultimi minuti di questo per le domande, quindi ci sono domande su tutto ciò di cui abbiamo parlato? [Membro del pubblico] Che tipo di cose sono in W3Schools e come viene coperto? [Yuechen Zhao] Che tipo di cose? Quindi, una delle molto più grandi cose che uso molto è loro riferimenti. La loro riferimenti dettaglio, ad esempio per i CSS - cosa significa questo, o se si voleva cambiare lo sfondo di una pagina - come si fa a farlo? Quali browser supportano questo comando? Cose così. E poi anche solo hanno molto belle tutorial su HTML, il PHP, il JavaScript, sul MySQL, su ogni sorta di argomenti diversi. Hanno bei tutorial. Ti insegnano come fare le cose. E 'bello essere in grado di andare e imparare di più su questi argomenti. [Membro del pubblico] HTML 5 non è ancora compatibile con tutti i browser in circolazione. Consiglieresti basta stare lontano da esso a causa di problemi di compatibilità? Come affronterebbe con quello? [Yuechen Zhao] Sì, così, la domanda è: HTML5 è ancora uno standard di bambino. Non è in realtà supportato da molti browser, quindi dovremmo evitarlo? Penso che l'anno scorso sarei stato un grande fautore di, Evitiamo di HTML5 perché è ancora - è ancora molto nuovo e infatti, lo standard HTML5 non è stato ancora finalizzato. E così, non c'è davvero alcun standard HTML5. Ma credo che, soprattutto se si sta progettando un sito web ora, sarebbe meglio se te ne vai con HTML5, perché questo è una sorta di andare a essere il futuro, e se volete che il vostro sito web per essere a prova di futuro e volete che il vostro sito web per lavorare nei browser futuri, potrebbe essere meglio per iniziare a costruire qualcosa per il futuro che per il passato, e anche solo per il fatto che HTML5 non è poi tanto diverso da HTML4 o XHTML. Se si sta utilizzando HTML5, che normalmente funziona nella maggior parte dei browser. Non vi resta che ordinare di entrare e fare in modo con questi screenshot e fare in modo di passare a questi siti stessi. Ma molto probabilmente funzionerà a meno che non si sta utilizzando caratteristiche molto specifiche di HTML5. Si noti anche che per CS50 - per esempio, per il lettore video che usiamo - utilizza HTML5 e video HTML5 per visualizzare le lezioni. Ma se si dispone di un browser molto vecchio, allora sarà ripiegare su Flash. Quindi, questo è anche qualcosa d'altro - disporre di un sistema di ripiego per quando si sa che il browser non ha intenzione di gestire ciò che si desidera gestire. Altre domande? Tutto ciò di cui abbiamo parlato. D'accordo. Poi penso che è tutto per me. Io credo che sia così. (Applausi) Freddo. [CS50.TV]