DAVID Malan: Pozdrav, svijet, ovaj je CS50Live, a dječak, zar ne imaju nevjerojatnu epizodu za vas danas. Prvo, unutar pogledati kako Dropbox radi, onda blizu pogled na maleni hrčci jesti male burritos, i na kraju, iza-the-scene pogled na CS50 novi film, upornost. Ali prvo, Dropbox.com, gdje smo nedavno putovao u San Franciscu, u Kaliforniji, u susret s bivšim CS50 glavu demonstrator, Thomas Carriero koji nam je dao obilazak Dropbox i upravo ono što je želio raditi i, pretpostavljam, tamo žive. Sada smo sjeli, ne samo s Tomom dok je tamo, ali i CS50 bivšeg Nastava glavu kolega Alex Allain govoriti o podlozi djelovanju Dropbox.com i to je distribuirana arhitektura. Idemo pogledati. THOMAS Carriero: Ja sam Thomas Carreiro Ja sam softverski inženjer u Dropbox. ALEX Allain: Ja sam Alex Allain. Ja sam inženjer ovdje na Dropbox. THOMAS Carriero: Da, tako sam bio zapravo prva glava CF za CS50 kada je David Malan preuzeo razred. Već sam učio CS50 za dva semestra Mike Smith, koji je bio tamo prije profesor tamo. ALEX Allain: Pa ja zapravo nije uzeo CS50, ali sam TF to dva puta, jednom kao redoviti TF, a zatim je u mojoj četvrtoj godini, Bio sam zapravo šef TF od CS50, što je jako zabavno. THOMAS Carriero: Pa kad David je posegnuo za mene o postavljanju Dropbox u CS50 uređaja, Bio sam jako uzbuđen, jer mi zapravo Linux klijenta. Većina naših korisnika koristiti bilo Windows ili klijenti Macintosh, ali Linux, Macintosh i Windows klijenti su, zapravo, Vrlo slično. Dakle, ono što smo napravili je da smo unaprijed instaliran Dropbox Linux klijent u CS50 aparata, i to radi baš kao i sve naše ostale korisnike Linux. ALEX Allain: Tako način Dropbox radi je to radi kao klijent na mnogo različitih operacijski sustavi i uređaji. Drobox desktop klijent jedna od najpoznatijih, jedna od najzanimljivijih. THOMAS Carriero: Tako Dropbox osnovi traje sve datoteke koji ste stavili u mape, i to komade te datoteke u četiri megabajt komade. Dakle, mi ćemo se 100 megabajt PDF datoteka, a mi ćemo Komad ga u 25 četiri megabajt komade. Ti komadi onda su šifrirani, a onda ćemo im poslati naše blok poslužiteljima. ALEX Allain: Blok poslužitelji spremište za samih blokova, pa svaki blok se pohranjuju u blok poslužitelj s podacima i SHA-256 hash koji blokira. To je vrlo osnovni enkripcija primitivni koja sažima, u nekom smislu, podaci u vrlo jedinstven Način na koji je jedinstven za te podatke. Ti bi mogao uploadati Cijela datoteka odjednom, ali ispada ako to učinite da s jako velikim datotekama, oni se jako dugo vremena da se upload, a ako imate neuspjeh, ti si od sreće i morate ga ponovno pokrenuti. Što ćemo onda je možemo reći drugi poslužitelj u našem sustavu, što zovemo meta poslužitelja, metadata poslužitelja, hej, to je datoteka a sastoji se od Sljedeći popis blokova. I prolazimo gore hashes identificirati one blokove umjesto da ponovno učitavanje cijeli blok. Meta poslužitelj zatim provjere s tiskanim poslužiteljima, čini da su blokovi su tu - ako su, savršena, sve je dobro. THOMAS Carriero: Kada želimo da, u osnovi, preuzmite datoteku s interneta, recimo, ćemo pitati meta poslužitelja prvo, hej, može li mi reći nešto o gdje se nalazi taj file, i meta server će reći, oh, dobro, Ova datoteka je zapravo 25 četiri megabajta komadi, a ovdje su. A onda ćemo otići u bloku poslužitelja, a mi ćemo zapravo preuzimanje svaki od tih komade, a potom ćemo rekonstruirati sliku od tamo, i onda ćemo početi s preuzimanjem. Da, tako Dropbox ponudama ljestvicom, u osnovi, po vrlo, vrlo agresivna sharding. ALEX Allain: Pa sharding je kad se uzme svim korisnicima u startup ili vaša tvrtka, a možda su se biti na jednoj bazi podataka, i to radi super, dok vas pogodio određeni broj korisnika, i stvarno ono što želite učiniti je pronaći neki način podijeliti onima preko dva baze podataka ili možda i više od dvije - U idealnom slučaju, dovoljno je znati imati svaki korisnik u svijetu. Dakle, kada ste Shard, ono što trebate učiniti je da pronađete neki način odlučivanja koja baza ići za koji ne zahtijeva udaranje središnji katalog, ili možda je to vrlo brzo, jeftino Naći se u tom središnjem imeniku. THOMAS Carriero: Mi nikada sve se pohranjuju u jednu bazu podataka, jer to je gotovo nikada ne ide na ljestvici. Dakle, umjesto toga, ono što mi radimo je da ćemo poduzeti sve tih informacija, sve datoteke su svi metapodacima , a mi ćemo ga Shard stotinama ili tisućama logičkih baze podataka. To znači da kada imamo Zahtjev za korisnika informacija, prvo ću reći, hej, koja se baza podataka Je li to Korisnički podaci pohranjeni u, a onda ćemo u osnovi koristiti da Odluka da se ide naći tu bazu podataka, i to je mjesto gdje ćemo učitati sve datoteke ili sve metapodataka o datotekama. Dakle, mi koristimo puno sharding, ali sharding nije uvijek dovoljno. Vi zapravo potrebno za cache puno zajedničkih zahtjeva, jer iako je baza podataka Upiti mogu biti skuplji. Tako smo i učinili progressive caching strategije kako bi bili sigurni da su najčešći zahtjevi su prilično lako izračunati, i zapravo, da se puno čini brže i čini rad na ljestvici. Pa to je, na vrlo visokoj razini, vrsta kako Dropbox radi. ALEX Allain: Zovem se Alex Allain. THOMAS Carriero: Ja sam Thomas Carreiro. ALEX Allain: I ovo je CS50. DAVID Malan: Sada, ako ste se ikad pitali gdje je ovaj citat na CS50 web stranici dolazi, to je zapravo Alex tko je izvorni autor. Sada, govoreći o Dropbox, nedavno sam dobila ovaj mail od njih u moje Spremnik - Bok, David, što može primijetiti da su neki od vaših zajedničkih poveznica se ne radi, a mi htjela doprijeti do vas Osobno da znaš zašto. Pa što je zajednička poveznica? Pa, ako ste koristili Dropbox izvan jednostavno štedi svoj izvorni kod unutar aparata, što Možda znate da vam može stvarati zajedničke poveznice prema obično desnim klikom na datoteku i kopirate URL na svoj prijenosnik. To zajedničko veza može izgledati malo ovako nešto, ali umjesto riječi tajnu, postoji zapravo nešto više zagonetan Postoji, kao slijed slučajnih slova i brojeva. Ideja biće da ja sada mogu na e-mail ili Gchat ovu vrstu URL prijatelju, a on ili ona mogla pristupiti i CS50.txt preuzmite ga na svoje računalo. I samo poznavajući taj URL, ili s super, super mala vjerojatnost, nagađanje da url, mogao je netko drugi zapravo pristupiti datoteku. Nažalost tvrtka poznat kao Intralinks Nedavno objavljena na njihov CollaboristaBlog da je zapravo par Prijetnje ovaj tijek rada. Ispada da ako slučajno pogriješite, kao što sam, iskreno, učinili u prošlosti, i Zalijepi url poput Dropbox zajedničku poveznicu, u ne adresa svom pregledniku bar, ali kao na slici ovdje, Vaše pretraživanje bar, koji url, naravno, ide koji se podnose tražilice poput Googlea. Naravno, Google neće nužno priznati da je zajednički vezu, pa ti ćeš dobiti više generički pretragu rezultati kao poveznica da se Dropbox.com, iu ovom slučaju, oglas, i u stvari, reklame, potencijalno, za natjecatelje iz Dropbox. U stvari, to je kako Intralinks primjetio ovo - oni, također, su trčanje AdSense Kampanja uz ključnih riječi da Dropbox same mogle koristiti. I tako, ako zumiramo dno rezultate ovdje, vidjet ćete da ima Inralinks ovaj link za vlastitu službu. Sada jedna od značajki Google i druge tražilice ' reklamne kampanje je da kada korisnik poput mene klikne na ovaj link, sada, Ja ću se otkriju url da sam upisali u Google kako bi pronaći tih rezultata pretraživanja. Ideja je da tvrtki bi željeli znati kako su ljudi spoznaju da je njihov website. Naravno, ako sam našao ova stranica rezultata lijepljenjem na neki drugi način Tajna url u Google, Ja sam sada, djelotvorno, rekao je Intralinks i njihov web dnevnici upravo ono tajni URL li ja bio u posjeti, čime razotkrivanja, potencijalno, sadržaj CS50.txt. Sada, postoji još jedan Prijetnja svi zajedno - što možda znate, također, iz Dropbox zajedničke poveznice koje možete obično otvoriti ih unutar vlastite preglednik i pregledati ih iznutra od okvira kao što je ovaj. No, ako se to Pregled sadrži hipervezu, kao na slici ovdje na Example.com, a ti ili korisnik klik da hiperlink, čime se otvara novi tab ili prozor s te stranice a url, ono što i vi ste upravo rekli web poslužitelja, po prirodi kako HTTP radi, je HTTP odnose adresu odakle si došao. Drugim riječima, vi informirani web odredište koje su prethodno na to navodno tajno url. Sada, ono što Intralinks otkrio gledajući kroz vlastite dnevnike je da su pronašli vrlo malo informacija koja je sigurno značilo da se tajna - za Primjerice, netko je hipoteka Zahtjev, nečiji povrat poreza, te trsovi dodatne dokumente, kao dobro. Sada, ako želite saznati više o ovom konkretnom prijetnjom, glavu Drop box-a blog na ovom URL-ovdje, a realnost je da ne mogu stvarno braniti protiv prijetnje u kojima se ljudi poput mene slučajno zalijepiti ono što bi trebalo biti tajni URL-ova na tražilicama. Vi i ja jednostavno će morati biti malo oprezniji. No, oni su radili na nekako nadoknaditi Drugi problem pri čemu linkovi koji su ugrađeni u Dropbox Pregled se otkriju odnose url. Ali glavu na taj URL za više detalja. Ali sada, kao što je obećao, pobližeg u sitnim hrčci jedu male burritos. [Glazba svira] DAVID Malan: Sada CS50 tim Nedavno sam imao priliku sudjelovati u 48-satni filmski projekt, Međunarodni tijekom koje natjecanje ekipa je, doista, 48 sami sati snimiti film. Kvaka je u tome što je samo saznati ono što film je potrebno napraviti na samom početi od tih 48 sati. Konkretno, na nedavnom Petak navečer u 7:00 sati, mi na CS50 saznao da ćemo biti što jedan, nijemi film, dva, da film je potrebno imaju karakter po imenu Jeremija Jones, učitelj, tri, da film potrebno da imaju dnevnik, ova ovdje, i četiri, da mi je potrebno da na neki način uključuje crta to je ono što je još iako, naravno, mi pravili su nijemi film. Sada, 26 pripadnika CS50 tima sudjelovao u ovom 48-satnom filmu Projekt, među njima Colton, Dan, Padraig, a Shelley Westover, koga mogu sjetiti iz takvih filmova kao ovaj ovdje. Sada se, također su uključeni, naravno, bio CS50 vlastiti Ramon Galvan. Ramon, dobrodošli u show. RAMON Galván: Hvala vam što ste me primili. DAVID Malan: i CS50-a Posjedujemo Daven Farnham. Sada, Ramon, što je vaša uloga u filmu? [? RAMON Galván: Let code] Redatelj s Danom, zapravo. DAVID Malan: A Daven, sami? DAVEN Farnham: Bio sam zvijezda, pa ja sam zapravo napravio projekt. Spasio sam film. DAVID Malan: Spasili ste film. DAVEN Farnham: jesam. DAVID Malan: Sada, što ovo reći, ali vjerujem mi imamo svoj probno snimanje ovoga filma. Ako smo mogli uvaljati ovaj isječak ovdje. DAVEN Farnham: Zovem se Daven Farnham, a to je CS50. Htjela sam reći CSS. To je CSS. DAVID Malan: Sada je to bio vaš prvi film? DAVEN Farnham: Uh, ne, možda. DAVID Malan: Ne, dobro, barem to Vrijeme oko nje bio je nijemi film. DAVEN Farnham: Da. DAVID Malan: Dakle, u 7:00 sati, pronašli smo iz tih potrebnih sastojaka, i onda smo odmah preronjenjen kao u grupi shvatiti što film mi su zapravo ide napraviti. Želite li nas provesti kroz što se te noći bio je poput? DAVEN Farnham: Tako je u osnovi dobili smo ideju u 7:00, smo zapravo počeli ideja, tako da smo svi vrsta okupljeni oko ploču i počeo iznositi ideje, a zatim 09:00, pokušali smo ga baciti za pisce, i pisci ga je od tamo. DAVID Malan: A u međuvremenu, Dan i Shelley i ja zapravo na čelu do cilja, dakako, naš omiljeni blizini trgovine, pokupiti sve rekvizite za film smo se odlučili na, koji je u tom trenutku bio - DAVEN Farnham: Imali smo odlučili na paritetu pustolovni film. DAVID Malan: Whic bio idući u biti prilično kao Indiana Jones. DAVEN Farnham: Da, pa nam je potreban bika bičevi i mi trebali Fedora i stvari. DAVID Malan: I vrlo okićen komad nakita da je onda bi se naći na kraju epizode. Naravno, možemo se vratiti na ponoći ili tako da od Target i shvatiti kakvi, to nije Film radimo - Psych. DAVEN Farnham: Potpuno različita filma. RAMON Galván: Imali smo film Noir za par sati, onda smo imali romantičnu komedija na kraju. DAVID Malan: Pa po 04:00, imali smo romantična komedija, a oko 05:00, vi i Dan, drugi Ravnatelj, pojavio. RAMON Galván: Da, pa smo dobili zajedno i onda smo isplanirali gdje smo pustara pucati, što je Scene bismo prvo pucati, a zatim oko 07:00 ili 08:00, mi zapravo otišao van i počeo pucati. DAVID Malan: Pa, ako je možete staviti oko, voljeli bismo napraviti neke iza-the-scene Izgleda kako je film snimljen, ali mislim da je prvi, neka mi daju ljudi svjetsku premijeru od CS50 filma, upornost. [Glazba svira] DAVID Malan: Dečki, mislim - pa počnimo od vrha. Dakle, vrlo prva scena svi mi pucao u grupi Tog jutra dogodio oko 8:00 a.m, a bili smo zapravo ovdje, Jefferson Hall, koji je zapravo jedan od fizike predavaonicama na kampusu. A što je cilj s ovim sceni? RAMON Galván: Tako smo bili ovdje za početak filma, Daven kao učitelj, demonstrator, ili asistent, nešto kao što je to, a on je bio jako uzrujan da on vidi ovaj par izlazim a on to ne želi. On želi biti u vezi, on jednostavno ne imati. DAVID Malan: I onda sljedeći scene, možemo prijeći na zaista nije pucao u redu. U stvari, evo, vi ste - DAVEN Farnham: Tako ovdje, zapravo, mi pucao to to - to je bio jedan od posljednjih scena mi je pucao, ali ovo stvarno pojavi na Sam početak filma. I tako je u ovoj sceni, to je montaža, pa što radim Ja se oblačim kolonjske vode, Ja sam češljanje kose. DAVID Malan: Da li koristiti kolonjsku vodu? DAVEN Farnham: Uh, Ramon-a Köln, puno kolonjske vode. DAVID Malan: I čiji je majica? DAVEN Farnham: Uh, Ramonova majica. DAVID Malan: Dakle, to je bilo više nego jedan take, a majica do kraja bila lijepa - DAVEN Farnham: Da, mislim da morali smo uzeti tri ili četiri traje, tako da svaki take bio Tri pošprica, pa bilo oko 12 pošprica Kölna. Tako sam mirisao kao da je Köln ostatak dana. DAVID Malan: Pa, na Barem, vrlo brzo. Prebacili smo vani, i, Zapravo, ako bolje pogledate, to je zapravo CS50-a vlastitu Lauren Caraballo. No, ono što su bili razmišljam s ove scene? DAVEN Farnham: Da, tako je u ovoj sceni, pokušavamo dobiti njezinu pozornost. Pa hodam po njoj, Ja sam peacocking, naravno. DAVID Malan: Peacocking? DAVEN Farnham: Oh, vi ne znate? RAMON Galván: Uh, bih? DAVEN Farnham: Da, Naravno, naravno. Pa normalno hodanje, naravno, je samo normalno hodanje. DAVID Malan: Pa to je normalno hoda? DAVEN Farnham: To je normalno hodanje. Peacocking, baciti malo kukovi tamo. RAMON Galván: To je Stvarno sve ovdje. DAVEN Farnham: Sve je u redu ovdje. To je iz ovog qua - Sve je u kukovima. A onda na samom kraju, morate pop i zaključati. To je ključ za manevar - to je ključ. DAVID Malan: Pop i brava. Dobro, dobro, što je zapravo učinio puno fizičke komedije u filmu. Zapravo, jedan od sljedećih scena je bila ovdje Lamont knjižnici, pred vratima. DAVEN Farnham: Da, oni su upravo ovdje, tako da sam zapravo pokušavaju - Mislim da je to povucite vrata, a ja sam pritom, a kao da je scena napreduje, Ja sam gura i gura sve agresivnije. I mislim da je na kraju, netko zapravo mi pokuca zabit. DAVID Malan: Da, iu Činjenica, nismo zabilježili - do fazi uređivanja. RAMON Galván: Da, pa, ako mi zumiranje u ovom kadru, a Dan, možemo poboljšati malo? OK, savršena. Dakle, moraš me vidjeti čučnula o poskočiti i kucam Daven u lice s vratima. DAVID Malan: To ćemo naći zabavno snimke samo nekoliko sati prije nego što smo morao brod filmova za roka. U redu, pa vam zahvaljujem i toliko za spajanje i po glavnoj ulozi u takva - DAVEN Farnham: Oh, ne, hvala. RAMON Galván: Hvala vam. DAVID Malan: - kreće film. Pa to je to za CS50Live. Hvala vam puno na našim prijateljima u Dropbox, hvala puno svima iza kamere, CS50 vlastita Ramon Galvan i Daven Farnham. To je CS50 i to bio naš omiljeni scena da nije to to napraviti u filmu. DIREKTOR 1: Hoćemo li dobili auto na cesti? DIREKTOR 2: Dolazi, to je u redu. [HORN HONKING] GLUMICA: Whoa. Oh, Bože.