DAVID MALAN: Bună ziua, lume, acest este CS50Live, și băiatul, nu-i așa au un episod uimitor pentru tine azi. În primul rând, o privire în interior, la modul în care Dropbox funcționează, apoi o închide uita-te la hamsteri mici mananca burritos mici, și în cele din urmă, o spatele scenei se uite la noul film CS50 lui, Persistența. Dar, în primul rând, Dropbox.com, unde ne-am recent călătorit în San Francisco, California, să se întâlnească cu fostul șef CS50 lui colegi de predare, Thomas Carriero care ne-a dat un tur de Dropbox și exact ceea ce e ca la locul de muncă și, îndrăznesc să spun, locuiesc acolo. Acum, ne-am așezat jos, nu numai cu Thomas în timp ce acolo, dar, de asemenea, cu fostul lui CS50 coleg de predare cap Alex Allain pentru a vorbi despre activul suport lucrări de Dropbox.com și este distribuit de arhitectura. Să aruncăm o privire. THOMAS CARRIERO: Sunt Thomas Carreiro Sunt un inginer de software la Dropbox. ALEX ALLAIN: Sunt Alex Allain. Sunt un inginer aici, la Dropbox. THOMAS CARRIERO: Da, asa ca am fost de fapt primul CF cap pentru CS50 când David Malan a preluat clasa. Am fost deja de predare CS50 pentru două semestre cu Mike Smith, care a fost acolo profesorul anterior acolo. ALEX ALLAIN: Deci, eu de fapt, nu a luat CS50, dar am făcut-o de două ori TF, o dată ca un TF regulat și apoi, în ultimul an, Am fost de fapt șeful TF de CS50, care a fost o mulțime de distracție. THOMAS CARRIERO: Deci, atunci când David a ajuns la mine despre configurarea Dropbox în aparatul CS50, Am fost foarte emoționat, pentru că avem de fapt un client Linux. Cei mai mulți dintre utilizatorii noștri folosesc fie Ferestre sau clienti Macintosh, dar Linux, Macintosh, și Clientii Windows sunt toate, de fapt, foarte asemănătoare. Deci, ceea ce am făcut este că pre-instalat clientul Dropbox Linux în CS50 aparat, și se execută la fel ca toate ale altor utilizatori noastre Linux. ALEX ALLAIN: Deci, Dropbox fel de lucrări este ruleaza ca clientul pe multe diferite sisteme de operare și dispozitive. Clientul desktop Drobox este una dintre cele mai cunoscute, una dintre cele mai interesante. THOMAS CARRIERO: Deci Dropbox practic ia toate fișierele pe care le pune în bucăți dosar, și-l aceste fișiere în patru bucăți megabyte. Deci, vom lua un 100 megabyte fișier PDF, și vom bucată l în 25 de bucăți patru megabyte. Aceste bucăți sunt apoi criptate, și apoi le trimitem serverele noastre bloc. ALEX ALLAIN: Serverele bloc sunt depozitarea pentru blocurile respective, și astfel fiecare bloc este stocat în serverul bloc cu datele și un hash SHA-256 din care blocheaza. Asta-i o criptare foarte primitiv de bază care rezumă, într-un sens, datele dintr-un foarte un unic mod care este unic pentru că datele. Ai putea încărca întreg fișier dintr-o dată, dar se pare că, dacă faci care cu fișiere foarte mari, pe care le iau un timp foarte lung pentru a încărcați, și dacă aveți un eșec, nu mai ai noroc și trebuie să-l reporniți. Ce atunci facem este să spunem un alt server în sistemul nostru, ceea ce numim server meta, server de metadate, hei, acesta este un fișier și este compus din Urmatoarea lista de blocuri. Și vom trece în sus de hash pentru a identifica acele blocuri mai degrabă decât re încărcarea întregul bloc. Serverul meta apoi controale cu serverele bloc, face-vă că blocurile sunt acolo - în cazul în care sunt, perfect, totul este bine. THOMAS CARRIERO: Când vrem la, practic, descărca fișierul de pe internet, să zicem, vom cere server meta în primul rând, hei, poți să-mi spui despre în cazul în care se află acest fișier, și server de meta va spune, oh, bine, si acest fisier este de fapt de 25 de patru megabyte bucăți, și aici sunt. Și apoi vom merge la bloc de server și vom fapt, descărca fiecare dintre aceste bucăți, și apoi vom reconstrui fișierul de acolo, și apoi vom începe descărcarea. Da, așa se ocupă Dropbox cu scară, în esență, de foarte, sharding foarte agresiv. ALEX ALLAIN: Deci sharding este atunci când luați toți utilizatorii din ta de pornire sau compania ta, și poate că au folosit să fie pe o bază de date, și care funcționează mare, până când a lovit un anumit număr de utilizatori, și într-adevăr ceea ce vrei să faceți este să găsească o cale să împartă cei peste doi baze de date sau poate mai mult de două - în mod ideal, suficient pe care le puteți au fiecare utilizator din lume. Deci, atunci când ciobul, ceea ce faci este să găsiți un mod de a decide care baza de date pentru a merge la care nu necesită lovind un director centrală, sau poate e un foarte rapid, ieftin uite-up în care directorul central. THOMAS CARRIERO: nu avem totul stocate într-o bază de date, pentru că este aproape nu merge la scară. Deci, în loc, ceea ce facem este vom lua toate de aceste informații, toate fișierele sunt toate de metadate și vom ciobul peste sute sau mii baze de date de logice. Asta înseamnă că, atunci când avem o solicita informații de utilizator, vom spune în primul rând, hei, care baze de date este informațiile acestui utilizator stocate în, și apoi vom folosi de fapt că decizia de a merge găsi că baza de date, și că este în cazul în care vom încărca toate fișiere sau toate metadatele despre fișierele. Deci, vom folosi o mulțime de sharding, dar sharding nu este întotdeauna suficient. De fapt, aveți nevoie pentru a cache-un mulțime de comune cererilor, deoarece, chiar dacă baza de date interogări pot fi costisitoare. Deci, noi, de asemenea, face progresiv strategii de caching pentru a vă asigura că cele mai frecvente cererile sunt destul de ușor de a calcula, și, practic, că o face o mult mai repede și face să funcționeze la scară. Deci, asta e, la un nivel foarte ridicat, un fel de modul în care funcționează Dropbox. ALEX ALLAIN: Numele meu este Alex Allain. THOMAS CARRIERO: Sunt Thomas Carreiro. ALEX ALLAIN: Și acest lucru este CS50. DAVID MALAN: Acum, dacă v-ați întrebat vreodată în cazul în care acest citat pe site-ul lui CS50 vine de la, este de fapt Alex care este autorul original. Acum, vorbind de Dropbox, am recent primit acest e-mail de la ei în cutia mea poștală - Bună, David, s-ar putea observa că unele dintre link-urile dvs. partajate nu sunt de lucru, și ne-am a vrut să ajungă la tine personal să-ți spun de ce. Ei bine, ceea ce este un link comun? Ei bine, dacă ați folosit Dropbox dincolo de pur și simplu salvarea codul sursă din interiorul a aparatului, vă ar putea să știți că pot crea legături partajate de click de obicei dreapta pe un fișier și copierea URL-ul pentru a clipboard. Această legătură comun ar putea arata un pic ceva de genul asta, dar în schimb secretului cuvânt, nu există de fapt, ceva mai criptic acolo, ca o secvență de litere și numere aleatoare. Ideea fiind că eu pot trimite un email acum sau Gchat acest tip de url la un prieten, și el sau ea ar putea accesa CS50.txt și descărcați-l pe computerul lui sau a ei. Și numai prin știind că URL-ul, sau cu super, super-probabilitate redusă, ghicitul că URL-ul, ar putea cineva accesa de fapt fișierul. Din păcate, o companie cunoscut ca Intralinks recent postat pe CollaboristaBlog lor că există de fapt o pereche de amenințările la acest flux de lucru special. Se pare că, dacă accidental face o greșeală, așa cum eu, sincer, s-au făcut în trecut, și pastă un URL ca un link Dropbox comun, în nu de adrese a browser-ului bar, dar, așa cum este ilustrat aici, bara de căutare, care URL-ul, desigur, se întâmplă să fie prezentate la o motor de cautare precum Google. Desigur, Google nu este de gând să recunoaște în mod necesar că link-ul comun, și așa ai de gând să obține mai mult de căutare generic rezultate, cum ar fi un link a se Dropbox.com, și în acest caz, o reclamă, și în fapt, reclame, potențial, pentru concurenții de Dropbox. De fapt, asta e cum Intralinks observat acest lucru - ei, de asemenea, au fost difuzate o AdSense campanie alături de cuvinte cheie Dropbox că ​​se putea folosi. Și așa, dacă ne-am apropia pe rezultatele de jos de aici, veți vedea că are Inralinks această legătură într-propriul serviciu. Acum, una dintre caracteristicile Google și alte motoare de căutare " campanii de publicitate este faptul că, atunci când o utilizatorul ca mine face clic pe acest link, acum, Am de gând să se dezvăluie URL-ul că am tastat în Google pentru pentru a găsi aceste rezultate de căutare. Ideea fiind că companiile ar dori să știe modul în care oamenii sunt găsirea de site-ul lor. Desigur, dacă am găsit această pagină de rezultate prin lipirea un altfel url secrete în Google, I-am acum, în mod eficient, a declarat Intralinks și web lor Busteni de exact ceea ce secrete url am a fost vizitat, dezvăluind astfel, potențial, conținutul CS50.txt. Acum, există o altă amenințare toate împreună - probabil știți, de asemenea, de la Dropbox link-uri partajate pe care le puteți de obicei deschideți-le în interiorul propriei browser-ul și le examinați în interiorul de un cadru ca asta. Dar dacă previzualizare conține un hyperlink, așa cum este ilustrat aici pentru a Example.com, și tu sau un utilizator clic că hyperlink, deschizând astfel o nou tab sau fereastră cu pagina lui url, ce ai, de asemenea, doar a spus web de server, prin natura de modul în care funcționează HTTP, este HTTP se referă adresa de unde ai venit. Cu alte cuvinte, vă informați site-ul de destinație pe care le au fost anterior la acest url presupune secret. Acum, ceea ce a descoperit Intralinks uitandu-te prin propriile lor bustean este că au găsit destul de un pic de informații care a fost cu siguranță menit să fie secrete - pentru exemplu, credit ipotecar cuiva cerere, declarația fiscală cuiva, și buchete de mai multe documente, precum și. Acum, dacă doriți să aflați mai multe despre această amenințare deosebită, cap de la Drop Box lui blog-ul la acest url aici, iar realitatea este că nu poate într-adevăr apăra împotriva unei amenințări în care oamenii ca mine lipiți accidental ceea ce ar trebui să fi URL-uri secrete pentru a motoarele de căutare. Tu și eu sunt pur și simplu de gând să trebuie să fie un pic mai atent. Dar acestea au fost de lucru pe redresarea altă problemă care link-uri care sunt încorporate într-un Dropbox previzualizare au fost dezvăluirea se referă URL. Dar merge la care url pentru mai multe detalii. Dar acum, așa cum a promis, o privire mai atentă la hamsteri mici mananca burritos mici. [Redare a muzicii] DAVID MALAN: Echipa Acum CS50 lui a avut recent o oportunitate pentru a participa la o Proiect de film de 48 de ore, un internațional concurență în care Echipele au avut, într-adevăr, 48 ore numai pentru a face un film. Captura este că doar afla ce filmul nevoie pentru a face la foarte începe din cei 48 de ore. În special, pe un recent Vineri seara, la 7:00, ne la CS50 aflat că vom fi face unul, un film mut, doi, că filmul necesare pentru dispun de un personaj numit Ieremia Jones, un profesor, trei, că filmul este nevoie care dispune de un jurnal, asta de aici, și patru, că avem nevoie de a include într-un fel linia aceasta este ceea ce este chiar deși, desigur, ne-am s-au a face un film mut. Acum, 26 de membri ai echipei lui CS50 a participat în acest film de 48 de ore proiect, printre care Colton, Dan, Padraig, și Shelley Westover, care s-ar putea aminti de la filme precum cel de aici. Acum, de asemenea, implicate, desigur, a fost CS50 proprii Ramon Galvan. Ramon, bun venit la spectacol. RAMON GALVAN: Vă mulțumesc pentru invitație. DAVID Malan: Și CS50 lui proprii Daven Farnham. Acum, Ramon, ceea ce a fost rolul dumneavoastră în film? [? RAMON GALVAN: cod de zbor] director cu Dan, de fapt. DAVID MALAN: Și Daven, tu? Daven Farnham: am fost vedeta, așa că am făcut practic proiectul. Am salvat filmul. DAVID MALAN: Ai salvat filmul. Daven Farnham: am făcut-o. DAVID MALAN: Acum, spun asta, dar eu cred avem test de ecran pentru acest film. Dacă am putea rula acest clip aici. Daven Farnham: Numele meu este Daven Farnham, iar acest lucru este CS50. Am vrut să spun CSS. Acest lucru este CSS. DAVID MALAN: Acum, acest lucru a fost primul tău film? Daven Farnham: Uh, nu, poate. DAVID MALAN: Nu, ei bine, cel puțin la acest de data aceasta a fost un film mut. Daven Farnham: Da. DAVID MALAN: Deci, la 19:00, am găsit acele ingrediente necesare, și apoi ne imediat scufundat într-un grup să ne dăm seama ce film am au fost de fapt de gând să facă. Vrei să ne plimbe prin ceea ce în acea noapte a fost ca? Daven Farnham: Deci, practic, ne-a venit ideea de la 07:00, am început să practic brainstorming, asa ca am tot felul de s-au adunat în jurul valorii de o tablă albă și a început brainstorming de idei, și apoi de 9:00, am încercat să-l arunca de scriitori, și scriitorii luat de acolo. DAVID MALAN: Și între timp, Dan și Shelley și eu de fapt, condus la țintă, desigur, magazinul nostru preferat din apropiere, pentru a ridica toate recuzita de film ne-am decis pe, care, la acel moment a fost - Daven Farnham: Ne-am decis pe un film de paritate aventură. DAVID MALAN: Whic fost de gând să fi destul ca Indiana Jones. Daven Farnham: Da, asa ca am nevoie de un taur bice și am nevoie de o fedora si alte chestii. DAVID MALAN: Și un foarte ornate bucată de bijuterii că el va găsi apoi la sfârșitul episodului. Desigur, ne întoarcem la la miezul nopții sau cam asa ceva de la Target și dau seama, nope, asta nu-i filmul facem - psihologic. Daven Farnham: Complet diferit de film. RAMON GALVAN: Am avut un film Noir pentru câteva ore, apoi am avut un romantic comedie la sfârșitul anului. DAVID MALAN: Deci, de 4:0, am avut o comedie romantica, și în jurul 5:00, tu și Dan, celălalt director, a arătat în sus. RAMON GALVAN: Da, așa ne-am împreună și ne-am cam planificat unde ne-am Wold trage, ceea ce este scene ne-ar trage în primul rând, și apoi în jurul valorii de 7:00 sau 8:00, ne-am de fapt, a ieșit și a început să tragă. DAVID MALAN: Ei bine, în cazul în care se poate lipi în jurul valorii, ne-ar plăcea să facem unele din spatele scenei se uită la modul în care a fost făcut filmul, dar cred că în primul rând, vom da oameni buni în premieră mondială a filmului CS50 lui, Persistența. [Redare a muzicii] DAVID MALAN: Baieti, vreau sa spun - așa că să începem de la partea de sus. Deci, prima scenă noi toți împușcat ca un grup în acea dimineață a avut loc în jurul 08:00 a.m, și am fost de fapt aici, Jefferson Hall, care este de fapt unul din sălile de curs fizica pe campus. Și care a fost scopul cu această scenă? RAMON GALVAN: Deci, am fost aici pentru a porni filmul, Daven ca un profesor, un coleg de predare, sau un asistent de predare, ceva cum ar fi faptul că, și el a fost foarte supărat că el vede acest cuplu de mers pe jos și el vrea asta. El vrea să fie într-o relație, el pur și simplu nu o au. DAVID MALAN: Și apoi următorul scenă, am de fapt, trecerea la nu a fost împușcat în ordine. De fapt, aici, ești - Daven Farnham: Deci, aici, de fapt, am filmat aceasta aceasta - aceasta a fost una din ultimele scene am filmat, dar acest lucru arată de fapt, până la încă de la începutul filmului. Și astfel, în această scenă, e un montaj, și deci ceea ce fac este Pun la Koln, Am pieptăna părul meu. DAVID MALAN: Folosești Koln? Daven Farnham: Uh, Ramon Koln, o mulțime de Koln. DAVID MALAN: Și a cărui cămașă? Daven Farnham: Uh, tricoul lui Ramon. DAVID MALAN: Deci, care a fost mai mult decât o ia, și tricoul de la sfârșitul a fost destul de - Daven Farnham: Da, cred a trebuit să luăm trei sau patru ia, astfel încât fiecare să ia fost trei jeturi, astfel încât nu există au fost de aproximativ 12 jeturi de Koln. Așa că mirosea ca Koln pentru restul zilei. DAVID MALAN: Ei bine, la puțin, foarte repede. Noi tranziția afară, și, în fapt, dacă te uiți atent, aceasta este de fapt lui CS50 propriu Lauren Caraballo. Dar ceea ce a fost gândire cu această scenă? Daven Farnham: Corect, așa că în această scenă, suntem încercarea de a obține atenția ei. Deci, eu sunt de mers pe jos de ei, Sunt peacocking, desigur. DAVID MALAN: Peacocking? Daven Farnham: Oh, nu știi? RAMON GALVAN: Uh, ar trebui să am? Daven Farnham: Da, Desigur, desigur. Mersul Deci normală, desigur, este doar mersul normal. DAVID MALAN: Deci asta este mersul normal? Daven Farnham: Asta-i mersul normal. Peacocking, arunca o solduri mici acolo. RAMON GALVAN: E într-adevăr în regulă aici. Daven Farnham: E în regulă aici. Este din acest qua - Totul e în șolduri. Și apoi la sfârșitul foarte, va trebui să pop și bloca. Este cheia pentru a manevra - este cheia. DAVID MALAN: Pop și de blocare. Bine, bine, ai de fapt a făcut o mulțime de comedie fizică în film. De fapt, una dintre următoarele scene era aici la Lamont Library, în afara ușii. Daven Farnham: Da, sunt chiar aici, așa că eu sunt de fapt Încerc să - Cred că e un trageți ușa și mă împinge, și ca scenă progreseaza, Am împingând și împingând ce în ce mai agresiv. Și cred că la sfârșitul anului, cineva de fapt, mă bate din drum. DAVID MALAN: Da, și în De fapt, nu am observat - până la faza de editare. RAMON GALVAN: Da, deci, dacă am mări în acest împușcat, și Dan, putem îmbunătăți un pic? Bine, perfect. Așa că trebuie să mă vezi ghemuit despre a pop-up și bat Daven în fața cu ușa. DAVID MALAN: Asta distractiv am găsit imagini cu doar câteva ore înainte de a ne a trebuit să expedieze filmele de termenul limită. Bine, bine vă mulțumesc atât de mult pentru aderarea și de jucat în astfel de - Daven Farnham: Oh, nu, mulțumesc. RAMON GALVAN: Mulțumesc. DAVID MALAN: - un film în mișcare. Ei bine, asta este pentru CS50Live. Multumesc mult pentru prietenii nostri de la Dropbox, datorită atât de mult pentru toată lumea în spatele camerei, de CS50 propriu Ramon Galvan și Daven Farnham. Acest lucru a fost CS50 și această a fost scena noastră preferată că nu-l face în film. DIRECTOR 1: Sunt vom obține masina in drum? DIRECTOR 2: Vine, e OK. [Oau] Actrita: Whoa. Oh, Doamne.