DAVID MALAN: Hej, värld, detta är CS50Live, och pojke, gör vi
har en fantastisk episod för dig idag.
Först, en inblick i hur Dropbox fungerar, då en nära
titta på små hamstrar äta små burritos,
och slutligen, en bakom-kulisserna på CS50 nya film, Uthållighet.
>> Men först, Dropbox.com, där vi nyligen
reste i San Francisco, Kalifornien, att träffa CS50: s tidigare chef
undervisning karl, Thomas Carriero som gav oss en rundtur i Dropbox
och exakt hur det är att arbeta och, förmodar, bor där.
Nu satte vi oss inte bara med Thomas där,
men också med CS50 tidigare huvud undervisning karl Alex Allain
att prata om den underliggande arbetena av Dropbox.com
och det är distribuerad arkitektur.
Låt oss ta en titt.
THOMAS Carriero: Jag är Thomas Carreiro Jag är en programvara ingenjör på Dropbox.
ALEX ALLAIN: Jag är Alex Allain.
Jag är ingenjör här på Dropbox.
>> THOMAS Carriero: Ja, så jag var faktiskt den första huvud CF för CS50
när David Malan tog över klassen.
Jag hade redan undervisat CS50 för två terminer
med Mike Smith, som var där teknikens professor där.
>> ALEX ALLAIN: Så jag faktiskt tog inte CS50,
men jag gjorde TF den två gånger, en gång som en regelbunden TF och sedan i mitt sista år,
Jag var faktiskt chef TF av CS50, vilket var mycket roligt.
THOMAS Carriero: Så när David nått ut till mig
om att ställa in Dropbox i CS50 apparaten,
Jag var verkligen spännande, eftersom vi faktiskt har en Linux-klient.
De flesta av våra användare använder antingen Windows eller Macintosh-klienter,
men Linux, Macintosh, och Windows-klienter är allt, faktiskt,
mycket lika.
Så vad vi gjorde är att vi förinstallerat Dropbox Linux-klienten i CS50
apparat, och det går precis som alla våra andra Linux-användare.
>> ALEX ALLAIN: Så hur Dropbox fungerar är det
körs som kunden på många olika operativsystem och enheter.
Den Drobox skrivbordsklienten är en av de mest välkända,
en av de mest intressanta.
>> THOMAS Carriero: Så Dropbox princip tar alla filer
att du sätter i mapp, och det bitar
dessa filer till fyra megabyte bitar.
Så vi tar en 100 megabyte PDF-fil, och vi kommer
bit IT till 25 på fyra MB bitar.
Dessa bitar är då krypterade, och sedan skickar vi dem våra blockera servrar.
>> ALEX ALLAIN: Block servrar lagring för blocken själva,
och så att varje block lagras i blocket servern med data
och en SHA-256 hash av att blocken.
Det är en mycket grundläggande kryptering primitiv som sammanfattar, i någon mening,
data i en mycket unik sätt som är unikt för dessa uppgifter.
Du kan ladda upp hela filen på en gång,
men det visar sig om du gör som med riktigt stora filer,
de tar väldigt lång tid att ladda upp, och om du har ett fel,
du är ute på tur och du måste starta om den.
Vad vi då gör är att vi berättar en annan server i vårt system, vad
vi kallar metaservern, metadataserver, hey, det är en fil
och det består av Följande förteckning över block.
Och vi missa de hashar att identifiera de block
snarare än re uppladdning hela blocket.
Meta server sedan kontroller med de block servrar
ser till att blocken är där - om det är perfekt, allt är bra.
>> THOMAS Carriero: När vi vill att, i princip, ladda ner filen
från internet, låt oss säga, kommer vi att be meta servern först,
hej, kan du berätta om där filen finns,
och meta-server kommer att säga, oh, ja, denna fil är faktiskt 25 fyra megabyte
bitar, och här är de.
Och sedan går vi till blocket server och vi kommer faktiskt
ladda ner var och en av dessa bitar, och sedan vi rekonstruera filen därifrån,
och då kommer vi att påbörja nedladdningen.
Ja, så Dropbox erbjudanden med skala, i princip,
med mycket, mycket aggressiv sharding.
ALEX ALLAIN: Så sharding är när du tar
alla användare i start eller ditt företag,
och kanske de använde att vara på en databas,
och som fungerar bra tills du slår ett visst antal användare,
och verkligen vad du vill göra är att hitta något sätt
att dela upp dem över två databaser eller kanske mer än två -
helst, nog att du kan har varje användare i världen.
Så när du shard, vad du gör är att du hittar
något sätt att avgöra vilken databas för att gå
att det inte kräver slå en central katalog,
eller kanske är det en mycket snabb, billig slå upp i den centrala katalogen.
>> THOMAS Carriero: Vi har aldrig allt lagras i en databas,
eftersom det är nästan aldrig att skala.
Så istället, vad vi gör är att vi tar alla av denna information, alla filer
är alla av metadata och vi kommer shard det
över hundratals eller tusentals logiska databaser.
Det innebär att när vi har en begära en användares information,
vi ska först säga, hej, vilken databas är denna användares information lagrad i,
och då kommer vi i princip använda det Beslutet att gå hitta databasen,
och det är där vi kommer att ladda alla filerna eller alla metadata
om filerna.
Så vi använder en hel del sharding, men sharding är inte alltid tillräckligt.
Du behöver faktiskt att cacha en Många av de vanligaste förfrågningar,
för även om databasen frågor kan bli dyrt.
Så vi gör även progressiva caching strategier
att se till att den vanligaste önskemål är ganska lätt att beräkna,
och i grund och botten, som gör det mycket snabbare och gör det arbetet på skalan.
Så det är på en mycket hög nivå, typ hur Dropbox fungerar.
>> ALEX ALLAIN: Jag heter Alex Allain.
>> THOMAS Carriero: Jag är Thomas Carreiro.
ALEX ALLAIN: Och detta är CS50.
>> DAVID MALAN: Nu om du någonsin undrat där detta citat på CS50 hemsida
kommer ifrån, det är faktiskt Alex som är den ursprungliga författaren.
Nu, på tal om Dropbox, jag nyligen fått detta mail från dem
i min inkorg - Hej, David, kan du märker att vissa av dina delade länkar
fungerar inte, och vi ville nå ut till dig
personligen så att du vet varför.
Tja vad är en gemensam länk?
Tja, om du har använt Dropbox bortom helt enkelt spara din källkod inne
av apparaten, du kanske vet att du
kan skapa delade länkar med typiskt att högerklicka på en fil
och kopiera webbadressen till Urklipp.
Det delade länk kan se lite ungefär så här, utan istället
av ordet hemlig, det finns faktiskt något mer kryptisk
där, som en sekvens av slumpmässiga bokstäver och siffror.
Tanken är att jag nu kan maila eller Gchat denna typ av URL till en vän,
och han eller hon kan komma åt CS50.txt och ladda ner det till hans eller hennes dator.
Och bara genom att veta att url, eller med super, super låg sannolikhet, gissa
den url: en, kan någon annan faktiskt komma åt filen.
>> Tyvärr ett företag känd som IntraLinks
nyligen skrivit på deras CollaboristaBlog
att det finns faktiskt ett par hot mot detta arbetsflöde.
Det visar sig att om du av misstag gör ett misstag, som jag, ärligt talat,
har gjort i det förflutna, och klistra en URL som en Dropbox gemensam länk,
in inte webbläsarens adress bar, men som på bilden här,
sökningen bar, att url, naturligtvis, kommer
ska lämnas till en sökmotor som Google.
Naturligtvis är Google inte att nödvändigtvis inser att delad länk,
och så du kommer att få mer allmän sökning
resultat som en länk att Dropbox.com själv,
och i detta fall, en annons, och faktiskt, reklam, eventuellt,
för konkurrenter till Dropbox.
I själva verket är det hur IntraLinks märkt detta - de,
också, körde en AdSense kampanj vid sidan av sökord
att Dropbox själva kan använda.
Och så om vi zoomar in på botten resultat här,
ser du att Inralinks har här länken till sin egen tjänst.
Nu en av funktionerna i Google och andra sökmotorer "
annonskampanjer är att när en användare som jag klickar på den här länken, nu,
Jag kommer att avslöja webbadressen som jag skrev in i Google för
att hitta dessa sökresultat.
Tanken är att företag skulle vilja veta
hur människor är att hitta deras hemsida.
Självklart, om jag hittade denna sida av resultat
genom att klistra en annars hemlig url till Google,
Jag har nu, på ett effektivt sätt, berättade IntraLinks och deras web
loggar exakt vad hemlig url I besökte och därigenom röja,
potentiellt, CS50.txt innehållet.
Nu finns det en annan hot alla tillsammans -
du kanske vet också, från Dropbox delade länkar som du kan normalt
öppna dem inne i ditt eget webbläsare och förhandsgranska dem i
av en ram som denna.
Men om det förhandsgranskning innehåller en hyperlänk,
som på bilden här till Example.com, och du eller en användare klickar
som hyperlänk, vilket öppnar en ny flik eller ett fönster med denna sidas
url, vad du har också precis berättat webben server, som på grund av hur HTTP fungerar,
är HTTP hänvisa adress varifrån du kom.
Med andra ord, du informerad destinations hemsida
att du var tidigare på detta förment hemliga url.
Nu, vad IntraLinks upptäckt genom att titta igenom sina egna loggar
är att de hittat en hel information som var säkert
tänkt att vara hemligt - för Exempelvis någons inteckning
ansökan, någons självdeklaration, och klasar av flera dokument, liksom.
Nu, om du vill veta mer om just detta hot,
bege dig till Drop lådans blog på denna URL här,
och verkligheten är att du kan inte riktigt försvara sig mot ett hot där människor
som jag av misstag klistra vad ska vara hemliga webbadresser i till sökmotorer.
Du och jag är helt enkelt att gå till måste vara lite mer försiktig.
Men de har arbetat med avhjälpa den andra frågan vari
länkar som är inbäddade i en Dropbox förhandsvisning var avslöja hänvisa url.
Men bege dig till den webbadressen för mer information.
>> Men nu, som utlovat, en närmare titt på små hamstrar som äter små burritos.
>> [MUSIK SPELA]
DAVID MALAN: Nu CS50 team nyligen haft tillfälle
att delta i ett 48-timmars filmprojekt,
en internationell konkurrens under vilken
lagen hade, faktiskt, 48 ensamma timmar för att göra en film.
Fångsten är att du bara ta reda på vilken film du
behöver för att göra åtmin start av dessa 48 timmar.
Särskilt på en nyligen Fredag ​​kväll kl 19:00,
Vi på CS50 lärt oss att vi skulle vara gör en, en stumfilm, två,
att filmen som krävs för att har en karaktär som heter
Jeremiah Jones, en lärare, tre, att filmen behövs
att presentera en dagbok, detta en här, och fyra,
som vi behövde för att på något sätt inkludera linjen det är vad det är till och med
Men naturligtvis, vi gjorde en stumfilm.
>> Nu, 26 medlemmar av CS50 team deltog i denna 48-timmars film
projekt, bland dem Colton, Dan, Padraig, och Shelley
Westover, som ni kanske minns från filmer som denna här.
Nu, också inblandad, naturligtvis, var CS50 egen Ramon Galvan.
Ramon, välkommen till showen.
RAMON GALVAN: Tack för att jag fick komma.
DAVID MALAN: Och CS50: s äger Daven Farnham.
Nu, Ramon, vad var din roll i filmen?
>> [?
RAMON GALVAN:? Flight code] direktör med Dan, faktiskt.
>> DAVID MALAN: Och Daven, själv?
Daven FARNHAM: Jag var stjärnan, så jag i princip gjort projektet.
Jag räddade filmen.
>> DAVID MALAN: Du räddade filmen.
>> Daven FARNHAM: Jag gjorde.
>> DAVID MALAN: Nu, du säga detta, men jag tror
Vi har din skärm test för den här filmen.
Om vi ​​kunde rulla detta klipp här.
>> Daven FARNHAM: Jag heter Daven Farnham, och detta är CS50.
Jag ville säga CSS.
Detta är CSS.
>> DAVID MALAN: Nu var din första film?
>> Daven FARNHAM: Öh, nej, kanske.
>> DAVID MALAN: Nej, ja, åtminstone här gång det var en stumfilm.
Daven FARNHAM: Ja.
DAVID MALAN: Så vid 19:00, fann vi ut de nödvändiga ingredienserna,
och då kommer vi omedelbart dök som en grupp
att lista ut vilken film vi faktiskt kommer att göra.
Vill du att gå oss igenom vad den kvällen var?
>> Daven FARNHAM: Så i princip Vi fick idén vid 7:00,
vi i princip började brain, så vi alla typer av
samlades runt en whiteboard och började brainstorma idéer,
och sedan av 09:00, försökte vi att kasta bort det till författare,
och författarna tog det därifrån.
>> DAVID MALAN: Och under tiden, Dan och Shelley och jag faktiskt
leds till Target, naturligtvis, vår favorit närliggande butik,
att plocka upp alla rekvisita för filmen Vi hade beslutat om, som vid den tidpunkten
var -
Daven FARNHAM: Vi hade beslutat på en paritet äventyrsfilm.
DAVID MALAN: whic skulle vara riktigt som Indiana Jones.
Daven FARNHAM: Ja, så vi behövde en tjur piskor och vi behövde en fedora och sånt.
DAVID MALAN: Och en mycket utsmyckade smycke
att han då skulle finna vid slutet av episoden.
Visst, vi får tillbaka på midnatt eller så från Target
och inse, nope, det är inte filmen vi gör - psych.
Daven FARNHAM: Helt annorlunda film.
RAMON GALVAN: Vi hade en film Noir i ett par timmar,
då hade vi en romantisk komedi i slutet.
>> DAVID MALAN: Så genom 4:00, hade vi en romantisk komedi, och omkring 5:00,
dig och Dan, den andra direktör, visade upp.
>> RAMON GALVAN: Ja, så vi fick tillsammans och vi typ av planerade ut
där vi wold skjuta, vad är scener vi skulle skjuta först,
och sedan runt 07:00 eller 08:00, vi faktiskt gick ut och började skjuta.
>> DAVID MALAN: Tja, om du kan stanna kvar,
Vi skulle älska att göra en del bakom kulisserna ser på hur filmen gjordes,
men jag tror först, ska vi ge folk världspremiären
av CS50 film, Uthållighet.
>> [MUSIK SPELA]
>> DAVID MALAN: Killar, jag menar - så låt oss börja från toppen.
Så den allra första scenen vi alla skott som en grupp
den morgonen inträffade runt 08:00 a.m, och vi var faktiskt här,
Jefferson Hall, som egentligen är en av fysik föreläsningssalar på campus.
Och vad som var målet med den här scenen?
RAMON GALVAN: Så vi var här att starta filmen, Daven
som lärare, en undervisning karl, eller assistent, något
så där, och han var riktigt upprörd att han ser detta paret gå ut
och han vill ha det.
Han vill vara i ett förhållande, han bara inte ha det.
DAVID MALAN: Och sedan nästa scen, vi övergången till faktiskt
blev inte skjuten i ordning.
I själva verket, här är du -
>> Daven FARNHAM: Så här, faktiskt, vi sköt
det här - det var en av de sista scenerna vi sköt,
men detta faktiskt dyker upp på i början av filmen.
Och så i den här scenen, det är en montage, och så vad jag gör
är att jag sätter på Köln, Jag kamma mitt hår.
>> DAVID MALAN: Använder du parfym?
Daven FARNHAM: Öh, Ramon cologne, massor av Köln.
>> DAVID MALAN: Och vems tröja?
>> Daven FARNHAM: Öh, Ramon skjorta.
>> DAVID MALAN: Så det var mer än en tagning, och skjortan i slutet
var ganska -
>> Daven FARNHAM: Ja, tror jag vi var tvungna att ta tre eller fyra
tar, så varje take var tre sprutar, så det
var cirka 12 sprutar i Köln.
Så jag luktade så där cologne under resten av dagen.
>> DAVID MALAN: Tja, på stone mycket snabbt.
Vi övergick utanför, och, i själva verket, om du tittar noga,
detta är faktiskt CS50 s egen Lauren Caraballo.
Men vad var du tänkande med denna scen?
>> Daven FARNHAM: Rätt, så i den här scenen, vi försöker få hennes uppmärksamhet.
Så jag går med henne, Jag är peacocking, förstås.
>> DAVID MALAN: Peacocking?
>> Daven FARNHAM: Åh, du vet inte?
>> RAMON GALVAN: Öh, skulle jag det?
>> Daven FARNHAM: Ja, naturligtvis, förstås.
Så normal gång, naturligtvis, är bara normal gång.
DAVID MALAN: Så detta är normal gång?
Daven FARNHAM: Det är normal gång.
Peacocking, kasta en små höfter i det.
RAMON GALVAN: Det är riktigt bra här.
Daven FARNHAM: Det är okej här.
Det är från denna qua - Det är alla i höfterna.
Och sedan i slutet, du måste pop och lås.
Det är nyckeln till manövern - det är nyckeln.
DAVID MALAN: Pop och lås.
Okej, du faktiskt gjorde en mycket fysisk komedi i filmen.
Faktum är att en av de följande scenerna var här vid Lamont Library, utanför dörren.
>> Daven FARNHAM: Ja, de är just här, så jag är faktiskt
försöker - Jag tycker det är en pull dörren och jag driver,
och såsom den scenen fortskrider, Jag driver och driver
allt mer aggressivt.
Och jag tror att i slutet, någon faktiskt slår mig ur vägen.
>> DAVID MALAN: Ja, och i Faktum är att vi inte märker det -
tills redigeringsfasen.
>> RAMON GALVAN: Ja, så, om vi zooma in detta skott, och Dan,
kan vi förbättra lite?
OK, perfekt.
Så du fick se mig hukade ner om att dyka upp och knacka Daven i ansiktet
med dörren.
DAVID MALAN: Att vi kul hittade tagningar bara timmar innan vi
tvungen att sända filmer för tidsfristen.
Okej, bra tack båda så mycket för sammanfogning och för huvudrollen i en sådan -
Daven FARNHAM: Åh, nej tack.
RAMON GALVAN: Tack.
DAVID MALAN: - en rörlig film.
Jo det är det för CS50Live.
Tack så mycket till våra vänner på Dropbox, tack så mycket för alla
bakom kameran, CS50 egen Ramon Galvan och Daven Farnham.
Detta var CS50 och detta var vår favoritscen
det gjorde det inte göra det i filmen.
DIREKTÖR 1: Ska vi få bilen på vägen?
DIREKTÖR 2: Det kommer, det är OK.
[HORN TUTA]
Skådespelerska: Whoa.
Åh, gud.