DAVID MALAN: Hei, verden, dette er CS50Live, og gutten, gjør vi
har en fantastisk episode for deg i dag.
Først, et innblikk i hvordan Dropbox fungerer, deretter en tett
se på små hamstere spise små burritos,
og til slutt, en bak kulissene-titt på CS50 nye film, Persistence.
>> Men først, Dropbox.com, hvor vi nylig
reiste i San Francisco, California, å møte med CS50 sin tidligere sjef
undervisning kar, Thomas Carriero som ga oss en omvisning i Dropbox
og nøyaktig hva det er som å arbeide, og så være, leve der.
Nå satte vi ned ikke bare med Thomas mens det,
men også med CS50 tidligere hode undervisning stipendiat Alex Allain
å snakke om den underliggende arbeidet i Dropbox.com
og det er distribuert arkitektur.
La oss ta en titt.
THOMAS Carriero: Jeg er Thomas Carreiro Jeg er en programvareingeniør hos Dropbox.
ALEX ALLAIN: Jeg er Alex Allain.
Jeg er en ingeniør her på Dropbox.
>> THOMAS Carriero: Ja, så jeg var faktisk den første lederen CF for CS50
da David Malan overtok klassen.
Jeg hadde allerede vært undervisning CS50 for to semestre
med Mike Smith, som var der tidligere professor der.
>> ALEX ALLAIN: Så jeg faktisk ikke ta CS50,
men jeg gjorde TF den to ganger, en gang som en vanlig TF og deretter i mitt siste år,
Jeg var faktisk Leder TF av CS50, som var mye moro.
THOMAS Carriero: Så når David nådde ut til meg
om å sette opp Dropbox i CS50 apparatet,
Jeg var veldig spent, fordi vi har faktisk en Linux-klient.
De fleste av våre brukere bruker enten Windows eller Macintosh-klienter,
men Linux, Macintosh, og Windows-klienter er alt, faktisk,
svært lik.
Så det vi gjorde er vi forhåndsinstallert Dropbox Linux-klienten i CS50
apparatet, og det går akkurat som alle våre andre Linux-brukere.
>> ALEX ALLAIN: Så måte Dropbox fungerer er det
kjører som klienten på mange forskjellige operativsystemer og enheter.
Den Drobox desktop klient er en av de mest kjente,
en av de mest interessante.
>> THOMAS Carriero: Så Dropbox utgangspunktet tar alle filene
som du putter i den mappe, og den biter
disse filene inn i fire megabyte biter.
Så vi tar en 100 megabyte PDF-fil, og vi vil
blings det inn 25 firemegabyte biter.
De biter blir så kryptert, og Da sender vi dem vår blokk servere.
>> ALEX ALLAIN: Blokken servere er lagring for blokkene selv,
og slik at hver blokk er lagret i blokken server med dataene
og en SHA-256 hash av at blokkene.
Det er en helt grunnleggende kryptering primitive som oppsummerer, i en viss forstand,
dataene i en meget unik måte som er unik for disse dataene.
Du kan laste opp hele filen på en gang,
men det viser seg hvis du gjør at med virkelig store filer,
de tar veldig lang tid å laste opp, og hvis du har en fiasko,
du er ute av lykken og du må starte den.
Det vi da gjør er vi fortelle en annen server i systemet vårt, hva
vi kaller meta server, metadata server, hei, dette er en fil
og det er sammensatt av følgende liste over blokker.
Og vi passerer opp hashes å identifisere disse blokkene
snarere enn re opplasting hele blokken.
Meta server så sjekker med blokk servere,
gjør at blokkene er der - hvis den er perfekt, alt er bra.
>> THOMAS Carriero: Når vi ønsker å, i utgangspunktet, laste ned filen
fra internett, la oss si, vi vil spørre meta serveren først,
hei, kan du fortelle meg om hvor denne filen er plassert,
og meta-serveren vil si, oh, vel, denne filen er faktisk 25 firemegabyte
biter, og her er de.
Og så skal vi gå til blokk server og vi vil faktisk
laste ned hver av de biter, og deretter vi vil rekonstruere filen derfra,
og så får vi starte nedlastingen.
Ja, så Dropbox avtaler med skala, i utgangspunktet,
av svært, svært aggressiv sharding.
ALEX ALLAIN: Så sharding er når du tar
alle brukerne i oppstart eller din bedrift,
og kanskje de brukes til å være på en database,
og som fungerer bra til du treffer et visst antall brukere,
og egentlig hva du vil å gjøre er å finne en måte
å splitte de over to databaser eller kanskje mer enn to -
ideelt sett, nok til at du kan har hver bruker i verden.
Så når du glasskår, hva du gjør er at du finner
noen måte å bestemme hvilken database for å gå
I tillegg krever treffer en sentral katalog,
eller kanskje det er en veldig rask, billig Oppslag i den sentrale katalogen.
>> THOMAS Carriero: Vi har aldri alt som er lagret i en database,
fordi det er nesten aldri kommer til å skalere.
Så i stedet, hva vi gjør er at vi tar alt av denne informasjonen, alle filene
er alle av metadata og vi vil glasskår det
på tvers av hundrevis eller tusenvis logiske databaser.
Det betyr at når vi har en be om en brukers informasjon,
Vi vil først si, hei, hvilken database er denne brukerens informasjon som er lagret i,
og så får vi i utgangspunktet bruke det Beslutningen om å gå finne den databasen,
og det er der vi vil laste alle filene eller alle metadata
om filene.
Så vi bruker mye sharding, men sharding er ikke alltid nok.
Du faktisk trenger å cache en Mange av de vanligste forespørsler,
fordi selv om database spørsmål kan være dyrt.
Så vi også gjøre progressive caching strategier
å sørge for at den vanligste forespørsler er ganske lett å beregne,
og i utgangspunktet, som gjør det mye raskere og gjør det fungerer i stor skala.
Så er det, på et meget høyt nivå, slags hvordan Dropbox fungerer.
>> ALEX ALLAIN: Jeg heter Alex Allain.
>> THOMAS Carriero: Jeg er Thomas Carreiro.
ALEX ALLAIN: Og dette er CS50.
>> DAVID MALAN: Nå hvis du noen gang har lurt på hvor dette sitatet på CS50 hjemmeside
kommer fra, det er faktisk Alex som er den opprinnelige forfatteren.
Nå snakker om Dropbox, jeg nylig mottatt denne e-posten fra dem
i innboksen min - Hei, David, kan du legge merke til at noen av de delte lenker
ikke fungerer, og vi ønsket å nå ut til deg
personlig for å fortelle deg hvorfor.
Vel hva er en delt link?
Vel, hvis du har brukt Dropbox utover bare lagre kildekoden inne
av apparatet, vil du kanskje vite at du
kan opprette delte lenker ved typisk høyreklikke på en fil
og kopiere url til utklippstavlen.
Som delte koblingen kan se litt noe sånt som dette, men i stedet
av ordet hemmelig, det er faktisk noe mer kryptisk
der, som en sekvens av tilfeldige bokstaver og tall.
Tanken er at jeg kan nå e eller Gchat denne typen url til en venn,
og han eller hun kunne få tilgang CS50.txt og laste den ned på hans eller hennes datamaskin.
Og bare ved å vite at url, eller med super, super lav sannsynlighet, gjetter
at url, kunne noen andre faktisk tilgang til filen.
>> Dessverre er det et selskap kjent som Intralinks
nylig lagt ut på deres CollaboristaBlog
at det er faktisk et par trusler mot denne spesielle arbeidsflyten.
Det viser seg at hvis du ved et uhell gjør en feil, som jeg, ærlig,
har gjort i det siste, og lime en url som en Dropbox delt link,
inn ikke nettleserens adresse bar, men som avbildet her,
søket bar, som url, selvfølgelig, kommer
å bli sendt til en søkemotor som Google.
Selvfølgelig, er Google ikke kommer til å nødvendigvis erkjenner at delt link,
og så kommer du til å få mer generisk søk
resultater som en link å Dropbox.com seg selv,
og i dette tilfellet, en reklame, og faktisk, reklame, potensielt,
for konkurrenter av Dropbox.
Faktisk, det er hvordan Intralinks lagt merke til dette - de,
også, kjørte en AdSense kampanje sammen av søkeord
som Dropbox selv kan bruke.
Og så hvis vi zoome inn på bunn resultatene her,
vil du se at Inralinks har linken i sin egen tjeneste.
Nå er en av funksjonene i Google og andre søkemotorer '
reklamekampanjer er at når en bruker som meg klikker på denne linken, nå,
Jeg kommer til å bli å avsløre url at jeg skrev inn i google for
å finne disse søkeresultatene.
Tanken er at selskapene ønsker å vite
hvordan folk finner deres hjemmeside.
Selvfølgelig, hvis jeg fant denne siden med resultater
ved å lime en ellers hemmelig url inn i Google,
Jeg har nå, effektivt, fortalte Intralinks og deres web
logger nøyaktig hva hemmelig url jeg var på besøk, og dermed avsløre,
potensielt, innholdet CS50.txt.
Nå, det er en annen trussel alle sammen -
du kanskje vet, også, fra Dropbox delte koblinger som du kan vanligvis
åpne dem inne i din egen nettleser og forhåndsvise dem inne
av en ramme som dette.
Men hvis det forhåndsvisning inneholder en hyperkobling,
som avbildet her til Example.com, og du eller en bruker klikker
som hyperkobling, og dermed åpne en ny fane eller et vindu med at sidens
url, hva du har også nettopp fortalt nettet server, etter arten av hvordan HTTP fungerer,
er HTTP se adressen hvorfra du kom.
Med andre ord, du informert destinasjonen hjemmeside
som du tidligere var på Dette angivelig hemmelig url.
Nå, hva Intralinks oppdaget ved å se gjennom sine egne logger
er at de fant ganske mye av informasjon som var sikkert
ment å være hemmelig - for eksempel noens boliglån
søknad, noens selvangivelse, og bunter av flere dokumenter, så vel.
Nå, hvis du har lyst til å lære mer om denne trusselen,
hodet til Drop boksens blogg på denne nettadressen her,
og realiteten er at du kan egentlig ikke forsvare seg mot en trussel som gjør folk
som meg tilfeldigvis lime hva skal være hemmelige webadresser på søkemotorer.
Du og jeg er rett og slett kommer til å må være litt mer forsiktig.
Men de har jobbet med redressing andre problemet der
koblinger som er innebygd i en Dropbox forhåndsvisning ble avsløre henvise url.
Men hodet til at url for flere detaljer.
>> Men nå, som lovet, en nærmere titt på små hamstere spise små burritos.
>> [Musikk spilles]
DAVID MALAN: Nå CS50 team nylig hadde en mulighet
å delta i en 48-timers filmprosjekt,
en internasjonal konkurranse der
Lagene hadde faktisk 48 timer alene for å gjøre en film.
Fangsten er at du bare finne ut hva film du
må sørge for at den meget start av disse 48 timer.
Spesielt på en nylig Fredag ​​kveld kl 19:00,
vi på CS50 lært at vi ville være å lage en, en stumfilm, to,
at filmen måtte har en karakter som heter
Jeremia Jones, en lærer, tre, at filmen trengs
å har en dagbok, denne her, og fire,
at vi trengte å liksom omfatte linjen det er hva det er engang
skjønt naturligvis vi var å lage en stumfilm.
>> Nå, 26 medlemmer av CS50 team deltok i denne 48-timers film
prosjektet, blant dem Colton, Dan, Padraig, og Shelley
Westover, som du kanskje husker fra slike filmer som dette her.
Nå er også involvert er selvfølgelig var CS50 egen Ramon Galvan.
Ramon, velkommen til showet.
RAMON GALVAN: Takk for at dere har meg.
DAVID Malan: Og CS50 er eier Daven Farnham.
Nå, Ramon, hva var din rolle i filmen?
>> [?
RAMON GALVAN:? Flight code] direktør med Dan, faktisk.
>> DAVID MALAN: Og Daven, selv?
Daven FARNHAM: Jeg var stjernen, så jeg i utgangspunktet gjort prosjektet.
Jeg reddet filmen.
>> DAVID MALAN: Du reddet filmen.
>> Daven FARNHAM: Jeg gjorde.
>> DAVID MALAN: Nå, du si dette, men jeg tror
vi har din skjerm test for denne filmen.
Hvis vi kunne rulle dette klippet her.
>> Daven FARNHAM: Jeg heter Daven Farnham, og dette er CS50.
Jeg ønsket å si CSS.
Dette er CSS.
>> DAVID MALAN: Nå er dette var din første film?
>> Daven FARNHAM: Eh, nei, kanskje.
>> DAVID MALAN: Nei, vel, i hvert fall dette gangen det var en stumfilm.
Daven FARNHAM: Ja.
DAVID MALAN: Så på 19:00, fant vi ut de nødvendige ingredienser,
og da vi umiddelbart kastet seg som en gruppe
å finne ut hvilken film vi var faktisk kommer til å gjøre.
Ønsker du å lede oss gjennom hva den kvelden var som?
>> Daven FARNHAM: Så i utgangspunktet vi fikk ideen til 07:00,
vi i utgangspunktet begynte å brainstorm, så vi alle slags
samlet rundt en tavle og begynte brainstorming ideer,
og deretter ved 09:00, prøvde vi å kaste den ut til forfattere,
og forfatterne tok det derfra.
>> DAVID MALAN: Og i mellomtiden, Dan og Shelley og jeg faktisk
ledet til Target, selvfølgelig, vår favoritt butikk i nærheten,
å plukke opp alle de rekvisitter for filmen Vi hadde bestemt seg på, som på det tidspunktet
var -
Daven FARNHAM: Vi hadde bestemt oss på en paritet eventyrfilm.
DAVID MALAN: Whic skulle være helt som Indiana Jones.
Daven FARNHAM: Ja, så vi trengte en bull pisker og vi trengte en fedora og sånt.
DAVID MALAN: Og en veldig utsmykkede smykke
at han da ville finne på slutten av episoden.
Selvfølgelig, vi får tilbake på midnatt eller så fra Target
og innse, nope, det er ikke filmen vi gjør - psych.
Daven FARNHAM: Fullstendig annen film.
RAMON GALVAN: Vi hadde en film Noir for et par timer,
da vi hadde en romantisk komedie på slutten.
>> DAVID MALAN: Så ved 4:00, hadde vi en romantisk komedie, og rundt 05:00,
du og Dan, den andre direktør, dukket opp.
>> RAMON GALVAN: Yeah, så vi fikk sammen og vi slags planlagt ut
hvor vi wold shoot, hva er scener vi ville skyte først,
og deretter rundt 07:00 eller 08:00, vi faktisk gikk ut og begynte å skyte.
>> DAVID MALAN: Vel, hvis du kan feste rundt,
vi vil gjerne gjøre noen behind-the-scenes ser på hvordan filmen ble laget,
men jeg tror første, skal vi gi folk den verdenspremiere
av CS50 film, Persistence.
>> [Musikk spilles]
>> DAVID MALAN: Gutter, jeg mener - så la oss starte fra toppen.
Så den aller første scene vi alle skutt som en gruppe
den morgenen fant sted rundt 08:00 a.m, og vi var faktisk her,
Jefferson Hall, som faktisk er en av fysikken forelesningssaler på campus.
Og hva var målet med denne scenen?
RAMON GALVAN: Så var vi her å starte filmen, Daven
som lærer, et lærer stipendiat, eller en lærerassistent, noe
sånn, og han var veldig opprørt at han ser dette paret vandre ut
og han vil ha det.
Han ønsker å være i et forhold, han bare ikke ha det.
DAVID MALAN: Og så den neste scene, vi overgangen til faktisk
ble ikke skutt i orden.
Faktisk, her er du -
>> Daven FARNHAM: Så her, faktisk, skjøt vi
dette dette - dette var en av de siste scenene vi skutt,
men dette faktisk dukker opp på begynnelsen av filmen.
Og så i denne scenen, er det en montasje, og så hva jeg gjør
er jeg setter på cologne, Jeg grer håret mitt.
>> DAVID MALAN: Bruker du cologne?
Daven FARNHAM: Uh, Ramons cologne, masse cologne.
>> DAVID MALAN: Og hvis skjorte?
>> Daven FARNHAM: Uh, Ramon skjorte.
>> DAVID MALAN: Så det var mer enn ett take, og skjorte fra slutten
var pen -
>> Daven FARNHAM: Ja, tror jeg vi måtte ta tre eller fire
tar, slik at hver tar var tre spruter, så det
var ca 12 squirts av cologne.
Så jeg luktet sånn cologne for resten av dagen.
>> DAVID MALAN: Vel, på minst, veldig raskt.
Vi overført utenfor, og, faktisk, hvis du ser nøye,
dette er faktisk CS50 sin egen Lauren Caraballo.
Men hva var du tenker med denne scenen?
>> Daven FARNHAM: Høyre, så i denne scenen, vi prøver å få hennes oppmerksomhet.
Så jeg går forbi henne, Jeg er peacocking, selvfølgelig.
>> DAVID MALAN: Peacocking?
>> Daven FARNHAM: Å, du vet ikke?
>> RAMON GALVAN: Uh, bør jeg?
>> Daven FARNHAM: Yeah, selvfølgelig, selvfølgelig.
Så normal gange naturligvis er bare vanlig gange.
DAVID MALAN: Så dette er normal gange?
Daven FARNHAM: Det er normal gange.
Peacocking, kaste en små hofter i det.
RAMON GALVAN: Det er egentlig alt riktig her.
Daven FARNHAM: Det er greit her.
Det er fra denne qua - Det er alt i hoftene.
Og så helt til slutt, du må pop og låse.
Det er nøkkelen til manøver - det er nøkkelen.
DAVID MALAN: Pop og lås.
Ok, vel, du faktisk gjorde en mye fysisk komedie i filmen.
Faktisk er en av de neste scener var her på Lamont Library, utenfor døren.
>> Daven FARNHAM: Ja, de er akkurat her, så jeg er faktisk
prøver å - Jeg tror det er en trekke døren og jeg presser,
og som den scenen utvikler seg, Jeg presser og presser
stadig mer aggressivt.
Og jeg tror på slutten, noen faktisk slår meg ut av veien.
>> DAVID MALAN: Ja, og i Faktisk fikk vi ikke se den -
inntil redigeringsfasen.
>> RAMON GALVAN: Ja, så, hvis vi zoome inn dette bildet, og Dan,
kan vi forbedre litt?
OK, perfekt.
Så du fikk se meg på huk om å dukke opp og banke Daven i ansiktet
med døren.
DAVID MALAN: At vi fun funnet opptakene bare timer før vi
måtte sende filmene til fristen.
Greit, vel takke dere begge så mye for å bli med og for hovedrollen i en slik -
Daven FARNHAM: Å, nei takk.
RAMON GALVAN: Takk.
DAVID MALAN: - en film i bevegelse.
Vel det er det for CS50Live.
Takk så mye til våre venner på Dropbox, takk så mye for alle
bak kamera, CS50 egen Ramon Galvan og Daven Farnham.
Dette var CS50 og dette var vår favoritt scene
det gjorde det ikke gjør det i filmen.
DIREKTØR 1: Skal vi få bilen i veien?
DIREKTØR 2: Det kommer, det er OK.
[HORN tuting]
Skuespillerinne: Jøss.
Åh, gud.