DAVID MALAN: Ciao, mondo, questa è CS50Live, e il ragazzo, non abbiamo un episodio incredibile per voi oggi. In primo luogo, uno sguardo all'interno come Dropbox funziona, poi una stretta guardare piccoli criceti mangiare piccoli burritos, e, infine, un dietro le quinte al nuovo film di CS50, Perseveranza. Ma prima, Dropbox.com, dove abbiamo recentemente viaggiato in San Francisco, California, per incontrarsi con l'ex capo di CS50 insegnamento compagno, Thomas Carriero che ci ha dato un giro di Dropbox ed esattamente che cosa vuol dire lavorare e, oserei dire, vivere lì. Ora ci siamo seduti non solo con Thomas mentre lì, ma anche con l'ex di CS50 insegnamento testa collega Alex Allain per parlare del sottostante funzionamento del Dropbox.com ed è distribuito architettura. Diamo uno sguardo. THOMAS CARRIERO: Sono Thomas Carreiro Sono un ingegnere software presso Dropbox. ALEX ALLAIN: Sono Alex Allain. Sono un ingegnere qui a Dropbox. THOMAS CARRIERO: Sì, così mi è stato in realtà il primo CF la testa per CS50 quando David Malan ha assunto la classe. Avevo già insegnato CS50 per due semestri con Mike Smith, che era lì il professore prima lì. ALEX ALLAIN: Così ho in realtà non ha preso CS50, ma l'ho fatto TF due volte, una volta come TF regolare e poi nel mio ultimo anno, Mi è stato effettivamente responsabile TF di CS50, che è stato molto divertente. THOMAS CARRIERO: Quindi quando David allungò la mano per me sulla configurazione di Dropbox nell'apparecchio CS50, Ero molto emozionato, perché in realtà abbiamo un client Linux. La maggior parte dei nostri utenti utilizzare uno Di Windows o il client Macintosh, ma Linux, Macintosh, e Client Windows sono tutti, in realtà, molto simile. Quindi quello che abbiamo fatto è che pre-installato il client Dropbox Linux in CS50 apparecchio, e funziona proprio come tutti i nostri altri utenti Linux. ALEX ALLAIN: Così l' modo Dropbox funziona è che corre come client su molti diversi sistemi operativi e dispositivi. Il client desktop Drobox è uno dei più noti, una delle più interessanti. THOMAS CARRIERO: Così Dropbox prende praticamente tutti i file che si mette in pezzi di cartelle, e la tali file in quattro blocchi megabyte. Così daremo uno 100 megabyte di file PDF, e faremo chunk in 25 blocchi di quattro megabyte. Tali blocchi vengono quindi crittografati e allora mandiamo loro i nostri server di blocco. ALEX ALLAIN: I server di blocco sono l'archiviazione per i blocchi stessi, e così ogni blocco viene memorizzato in il server blocco con i dati e un hash SHA-256 che blocca. Questa è una crittografia di base primitivo che riassume, in un certo senso, i dati in un un unico modo che è unico per i dati. Si può caricare il intero file tutto in una volta, ma si scopre se si fa che con file veramente grandi, prendono un sacco di tempo per carica, e se avete un fallimento, sei fuori di fortuna e è necessario riavviarlo. Quello che noi facciamo è allora diciamo un altro server nel nostro sistema, cosa noi chiamiamo il server meta, il server di metadati, hey, questo è un file ed è composto dal seguente elenco di blocchi. E passiamo le hash identificare quei blocchi piuttosto che ri caricato l'intero blocco. Poi controlla il server meta con i server di blocco, fa che i blocchi sono lì - se il sono, perfetto, tutto è buono. THOMAS CARRIERO: Quando vogliamo a, in fondo, scaricare il file da internet, diciamo, ci chiediamo meta primo server, hey, mi puoi raccontare dove si trova il file, e meta di server dirà, oh, bene, questo file è in realtà 25 a quattro megabyte pezzi, ed eccoli qui. E poi andremo a blocco server e faremo effettivamente scaricare ciascuno di questi pezzi, e poi faremo ricostruire il file da lì, e poi inizieremo il download. Sì, così offerte di Dropbox con scala, in fondo, da molto, sharding molto aggressivo. ALEX ALLAIN: Così sharding è quando si prende tutti gli utenti nel vostro l'avvio o la vostra azienda, e forse hanno usato essere su un database, e che funziona alla grande fino a quando non colpire un certo numero di utenti, e davvero quello che vuoi da fare è trovare un modo per dividere quelli attraverso due database o forse più di due - idealmente, tanto che si può avere ogni utente nel mondo. Quindi, quando si Shard, quello che fai è trovare un modo di decidere quale database andare a che non richiede colpire una directory centrale, o forse è molto rapido, economico look-up in quella directory centrale. THOMAS CARRIERO: Non abbiamo mai tutto memorizzato in un database, perché è quasi mai andare a scalare. Così, invece, quello che facciamo è prenderemo tutti di tali informazioni, tutti i file sono tutti i metadati e noi lo Shard attraverso centinaia o migliaia database di logiche. Ciò significa che quando abbiamo un richiesta di informazioni di un utente, faremo in primo luogo dire, ehi, quale database sono le informazioni di questo utente memorizzato in, e poi useremo in sostanza che decisione di andare a trovare quel database, ed è lì che ci carichiamo tutti i file o tutti i metadati sui file. Quindi usiamo un sacco di sharding, ma sharding non è sempre sufficiente. Hai veramente bisogno di memorizzare nella cache una lotto delle richieste comuni, perché anche se di database query possono essere costosi. Così facciamo anche progressive strategie di caching fare in modo che le più comuni le richieste sono abbastanza facili da calcolare, e in fondo, che la rende molto più veloce e fa funzionare a scala. Così che è, ad un livello molto elevato, una specie di come funziona Dropbox. ALEX ALLAIN: Mi chiamo Alex Allain. THOMAS CARRIERO: Sono Thomas Carreiro. ALEX ALLAIN: E questo è CS50. DAVID MALAN: Ora, se vi siete mai chiesti dove questa citazione sul sito di CS50 proviene, in realtà Alex chi è l'autore originale. Ora, parlando di Dropbox, di recente ho ricevuto questa email da loro nella mia casella di posta - Hi, David, si può notare che alcuni dei vostri link condivisi non funzionano, e noi voluto raggiungere a voi personalmente a farvi sapere perché. Beh, che cosa è un link condiviso? Beh, se hai utilizzato Dropbox oltre semplicemente salvando il codice sorgente all'interno dell'apparecchio, è potrebbe sapere che si può creare collegamenti condivisi dai cliccando tipicamente destra su un file e copiare l'url negli appunti. Tale nesso comune potrebbe sembrare un po ' qualcosa di simile, ma invece della parola segreta, c'è in realtà qualcosa di più criptico lì, come una sequenza di lettere e numeri casuali. L'essere idea che ora posso con la posta elettronica o Gchat questo tipo di url ad un amico, e lui o lei potrebbe accedere CS50.txt e scaricarlo sul proprio computer. E solo conoscendo l'URL, o con super, super bassa probabilità, indovinando che url, potrebbe qualcun altro effettivamente accedere al file. Purtroppo una società noto come IntraLinks recentemente pubblicato sul loro CollaboristaBlog che c'è in realtà un paio di minacce per questo particolare flusso di lavoro. Si scopre che se accidentalmente fare un errore, come io, francamente, hanno fatto in passato, e pasta un URL come un collegamento Dropbox condivisa, in non dell'indirizzo del browser bar, ma, come nella foto qui, la vostra barra di ricerca, che url, naturalmente, sta andando da sottoporre ad una motore di ricerca come Google. Certo, Google non ha intenzione di necessariamente riconoscere che il legame comune, e così si sta andando a ottenere più ricerca generica risultati come un collegamento a Dropbox.com stessa, e in questo caso, una pubblicità, e infatti, pubblicità, potenzialmente, per i concorrenti di Dropbox. In effetti, è così che IntraLinks notato - che, Anche correvano un AdSense campagna a fianco di parole chiave che Dropbox si può usare. E così, se focalizziamo l'attenzione sulla i risultati peggiori qui, vedrete che Inralinks ha questo link al proprio servizio. Ora, una delle caratteristiche di Google e altri motori di ricerca ' campagne pubblicitarie è che quando un utente come me fa clic su questo link, ora, Ho intenzione di essere rivelare l'url che ho digitato in Google al fine di per trovare questi i risultati di ricerca. L'idea è che aziende vorrebbero sapere come le persone stanno trovando il loro sito web. Naturalmente, se ho trovato questa pagina di risultati incollando un altrimenti url segreto in Google, Ora ho, effettivamente, ha detto IntraLinks e la loro web tronchi esattamente quello segreto url I era in visita, divulgando così, potenzialmente, il contenuto CS50.txt. Ora, c'è un altro minaccia tutti insieme - si può sapere, anche, da Dropbox link condivisi che in genere è possibile aprirli all'interno della propria il browser e visualizzarle in anteprima all'interno di un telaio come questo. Ma se quel anteprima contiene un collegamento ipertestuale, come nella foto qui a Example.com, e voi o un clic dell'utente che collegamento ipertestuale, aprendo così un nuova scheda o finestra con la pagina di url, quello che hai appena detto anche il web server, per natura di come funziona HTTP, è l'HTTP indirizzo di riferimento da dove siete venuti. In altre parole, informati il sito di destinazione che sono stati in precedenza a questo url presumibilmente segreto. Ora, che cosa IntraLinks scoperto cercando attraverso i propri registri è che hanno trovato un bel po ' di informazione che è stata sicuramente vuole essere un segreto - per esempio, un mutuo di qualcuno applicazione, dichiarazione dei redditi di qualcuno, e mazzi di più documenti, pure. Ora, se vuoi saperne di più su questo particolare minaccia, testa al set di blog a questo indirizzo qui, e la realtà è che non si può davvero difendersi da una minaccia in cui le persone come me incollare accidentalmente quello che dovrebbe essere URL segrete per i motori di ricerca. Tu e io sono semplicemente andando a deve essere un po 'più attenti. Ma essi hanno lavorato su riequilibrare l'altra questione per cui i link che sono incorporati in un Dropbox anteprima sono stati rivelando l'url riferimento. Ma andate a quel url per maggiori dettagli. Ma ora, come promesso, uno sguardo più attento a piccoli criceti che mangiano piccoli burritos. [GIOCO MUSICA] DAVID MALAN: la squadra di Ora CS50 recentemente avuto l'opportunità di partecipare a un Progetto di film di 48 ore, un'organizzazione internazionale concorso durante il quale squadre avevano, infatti, 48 ore solo per fare un film. Il problema è che solo scoprire che cosa vi pellicola bisogno di fare al più avviare di quelle 48 ore. In particolare, in una recente Venerdì sera alle 19:00, noi di CS50 appreso che saremmo facendo uno, un film muto, due, che il film doveva dispongono di un personaggio di nome Jeremiah Jones, un insegnante, tre, che il film aveva bisogno per caratterizzare un diario, questa qui, e quattro, che abbiamo bisogno di includere in qualche modo la linea è quello che è ancora più anche se, naturalmente, ci stavano facendo un film muto. Ora, 26 membri della squadra di CS50 partecipato a questo film di 48 ore progetto, tra i quali Colton, Dan, Padraig, e Shelley Westover, che si può ricordare da film come questo qui. Ora, coinvolto anche, ovviamente, era di CS50 proprio Ramon Galvan. Ramon, benvenuti allo spettacolo. RAMON GALVAN: Grazie per avermi. DAVID Malan: E CS50 di proprio Daven Farnham. Ora, Ramon, quello che era il vostro ruolo nel film? [? RAMON GALVAN: codice Volo] regista con Dan, in realtà. DAVID MALAN: E Daven, te stesso? Daven FARNHAM: io era la stella, così ho praticamente fatto il progetto. Ho salvato il film. DAVID MALAN: Hai salvato il film. Daven FARNHAM: ho fatto. DAVID MALAN: Ora, si dire questo, ma credo abbiamo il vostro provino per questo film. Se riuscissimo a rotolare questa clip qui. Daven FARNHAM: Il mio nome è Daven Farnham, e questo è CS50. Volevo dire CSS. Questo è il CSS. DAVID MALAN: Ora questo è stato il tuo primo film? Daven FARNHAM: Uh, no, forse. DAVID MALAN: No, beh, almeno questo volta si trattava di un film muto. Daven FARNHAM: sì. DAVID MALAN: Quindi alle 7:00 pm, abbiamo trovato quei ingredienti necessari, e poi abbiamo subito tuffato in un gruppo per capire quale film si sono stati effettivamente andando a fare. Vuoi camminare noi attraverso cosa quella sera era come? Daven FARNHAM: Quindi, in pratica abbiamo avuto l'idea alle 7:00, abbiamo praticamente iniziato a brainstorm, così abbiamo tutti i tipi di riuniti intorno a una lavagna e ha iniziato il brainstorming di idee, e poi da 9:00, abbiamo provato di buttare fuori a scrittori, e gli scrittori hanno da lì. DAVID MALAN: E nel frattempo, Dan e Shelley e io in realtà testa a Target, naturalmente, il nostro negozio nelle vicinanze preferito, per raccogliere tutti gli oggetti di scena per il film avevamo deciso, che a quel punto era - Daven FARNHAM: Avevamo deciso su una pellicola di parità avventura. DAVID MALAN: Whic stava per essere abbastanza come Indiana Jones. Daven FARNHAM: Sì, quindi abbiamo bisogno di un toro fruste e avevamo bisogno di un cappello di feltro e roba del genere. DAVID MALAN: E un molto pezzo ornato di gioielli che avrebbe poi trovare alla fine della puntata. Naturalmente, torniamo a a mezzanotte o giù di lì da Target e rendersi conto, no, quello non è il film che stiamo facendo - psych. Daven FARNHAM: Completamente film diverso. RAMON GALVAN: Abbiamo avuto un film noir per un paio d'ore, poi abbiamo avuto un romantico commedia alla fine. DAVID MALAN: Quindi, 4:00, abbiamo avuto una commedia romantica, e intorno 05:00, lei e Dan, l'altra direttore, si presentò. RAMON GALVAN: Sì, così abbiamo ottenuto insieme e abbiamo tipo pianificato dove abbiamo wold ripresa, che cosa è scene che avrebbero sparato per primo, e poi intorno alle 7:00 o 8:00, abbiamo effettivamente è andato fuori e ha iniziato a sparare. DAVID MALAN: Beh, se si può attaccare in giro, ci piacerebbe fare un po 'dietro le quinte guarda a come è stato fatto il film, ma penso che in primo luogo, va bene dare la gente in prima mondiale del film di CS50, Perseveranza. [GIOCO MUSICA] DAVID MALAN: Ragazzi, voglio dire - quindi cominciamo dall'alto. Quindi la prima scena tutti noi girato come un gruppo quella mattina ha avuto luogo intorno alle 8:00 a.m, ed eravamo in realtà qui, Jefferson Hall, che è in realtà uno delle sale fisica lezioni del campus. E qual era l'obiettivo con questa scena? RAMON GALVAN: Così siamo stati qui per avviare il filmato, Daven come insegnante, un insegnamento compagno, o di un assistente di insegnamento, qualcosa così, e lui era davvero arrabbiato che vede questa coppia che cammina su e vuole che. Vuole essere in un rapporto, egli solo non ce l'ha. DAVID MALAN: E poi il prossimo scena, noi transizione in realtà non è stato girato in ordine. In realtà, qui, tu sei - Daven FARNHAM: So Qui, in realtà, abbiamo girato questa questa - questa è stata una delle ultime scene che abbiamo girato, ma questo in realtà presenta a Fin dall'inizio del film. E così in questa scena, è un montaggio, e quindi quello che sto facendo è che sto mettendo su cologne, Sto pettinarmi. DAVID MALAN: Usi colonia? Daven FARNHAM: Uh, Ramon di cologne, un sacco di acqua di colonia. DAVID MALAN: E la cui camicia? Daven FARNHAM: Uh, la camicia di Ramon. DAVID MALAN: Così che è stato più di una sola ripresa, e la camicia alla fine era piuttosto - Daven FARNHAM: Sì, penso abbiamo dovuto prendere tre o quattro prende, quindi ogni take è stato tre schizza, quindi non erano circa 12 schizzi di acqua di colonia. Così ho sentito l'odore come quella colonia per il resto della giornata. DAVID MALAN: Beh, a almeno, molto rapidamente. Noi transizione al di fuori, e, infatti, se si guarda da vicino, questo è in realtà CS50 di proprio Lauren Caraballo. Ma quello che eri pensando a questa scena? Daven FARNHAM: Giusto, così in questa scena, stiamo cercando di ottenere la sua attenzione. Così sto camminando da lei, Sono peacocking, naturalmente. DAVID MALAN: Peacocking? Daven FARNHAM: Oh, tu non lo sai? RAMON GALVAN: Uh, dovrei? Daven FARNHAM: Sì, naturalmente, naturalmente. Così cammino normale, naturalmente, è solo normale camminare. DAVID MALAN: Quindi questo è normale camminare? Daven FARNHAM: Questo è normale deambulazione. Peacocking, lanciare un poco anche in là. RAMON GALVAN: E ' davvero tutto qui. Daven FARNHAM: Va tutto bene qui. E 'da questo qua - E 'tutto nei fianchi. E poi alla fine, dovete pop e bloccare. È fondamentale per la manovra - è fondamentale. DAVID MALAN: Pop e serratura. Va bene, beh, in realtà ha fatto un sacco di commedia fisica nel film. In effetti, una delle prossime scene è stato qui a Lamont Biblioteca, fuori dalla porta. Daven FARNHAM: Sì, sono proprio qui, quindi sono effettivamente cercando di - penso che sia una tirare porta e sto spingendo, e come quella scena progredisce, Sto spingendo e spingendo sempre più aggressivo. E penso che, alla fine, qualcuno in realtà mi bussa fuori strada. DAVID MALAN: Sì, e in Infatti, non abbiamo notato la - fino alla fase di editing. RAMON GALVAN: Sì, così, se zoom in questo filmato, e Dan, possiamo migliorare un po '? Ok, perfetto. Quindi devi vedermi accovacciato su a pop-up e battere Daven in faccia con la porta. DAVID MALAN: Che divertente che abbiamo trovato repertorio poche ore prima che dovuto spedire i film per la scadenza. Va bene grazie sia così tanto per unire e per la protagonista di tale - Daven FARNHAM: Oh, no grazie. RAMON GALVAN: Grazie. DAVID MALAN: - un film in movimento. Beh, questo è per CS50Live. Grazie tanto ai nostri amici a Dropbox, grazie mille a tutti dietro la macchina da presa, CS50 propria Ramon Galvan e Daven Farnham. Questo era CS50 e questo era la nostra scena preferita questo non si fanno nel film. DIRETTORE 1: siamo gonna ottenere l'auto in mezzo alla strada? DIRETTORE 2: Sta arrivando, questo è OK. [Clacson] ATTRICE: Wow. Oh, dio.