David Malan: Hello, world, hierdie is CS50Live, en seun, doen ons het 'n ongelooflike episode vir jou vandag. Eerstens, 'n blik op hoe Dropbox werk, dan is 'n beslote kyk na klein hamsters eet klein tortilla, en laastens, 'n agter-die-skerms kyk by CS50 se nuwe film, volharding. Maar eers, Dropbox.com, waar ons onlangs gereis in San Francisco, Kalifornië, om te voldoen aan CS50 se voormalige hoof onderrig mede, Thomas Carriero wat aan ons gegee 'n toer van Dropbox en presies wat dit is soos om te werk en daresay, daar woon. Nou sit ons nie net met Thomas terwyl daar, maar ook met CS50 se voormalige hoof onderrig mede Alex Allain om te praat oor die onderliggende werking van Dropbox.com en dit is versprei argitektuur. Kom ons neem 'n blik. THOMAS CARRIERO: Ek is Thomas Carreiro Ek is 'n sagteware ingenieur by Dropbox. ALEX Allain: Ek is Alex Allain. Ek is 'n ingenieur hier by Dropbox. THOMAS CARRIERO: Ja, so ek was eintlik die eerste hoof CF vir CS50 Toe Dawid Malan het oor die klas. Ek het reeds onderrig CS50 vir twee semesters Mike Smith, wat daar was die vorige professor daar. ALEX Allain: So ek eintlik nie CS50 neem, maar ek het TF dit twee keer, een keer as 'n gereelde TF en dan in my senior jaar, Ek was eintlik Hoof TF van CS50, wat 'n baie pret. THOMAS CARRIERO: So wanneer David het na my oor die opstel van Dropbox in die CS50 toestel, Ek is baie opgewonde, want Ons het eintlik 'n Linux kliënt. Die meeste van ons gebruikers óf Windows of die Macintosh kliënte, Maar die Linux, Mac, en Windows kliënte is, eintlik, baie soortgelyk. So wat ons gedoen het, is ons vooraf geïnstalleer die Dropbox Linux kliënt in die CS50 apparaat, en dit loop net soos almal van ons ander Linux-gebruikers. ALEX Allain: So het die manier Dropbox werk, is dit loop as die kliënt op baie verskillende bedryfstelsels en toestelle. Die Drobox lessenaar kliënt is een van die mees bekende, een van die mees interessante. THOMAS CARRIERO: So Dropbox basies neem al die lêers wat jy het in die gids, en dit stukke die lêers in vier megabyte stukke. So ons sal neem om 'n 100 megabyte PDF-lêer, en ons sal stuk dit in 25 vier megabyte stukke. Diegene stukke word dan geïnkripteer en dan stuur hulle ons blok bedieners. ALEX Allain: Die blok bedieners die stoor vir die blokke, en so elke blok is gestoor die blok bediener met die data en 'n SHA-256 hash van die blokke. Dit is 'n baie basiese kodering primitief wat 'n opsomming, in 'n sekere sin, die data in 'n baie 'n unieke manier wat uniek aan daardie data. Jy kan oplaai die hele lêer alles op een slag, Maar dit blyk uit as jy dit doen wat met 'n baie groot lêers, hulle neem 'n baie lang tyd om te laai, en as jy 'n mislukking, jy is uit die geluk en jy het om dit weer te begin. Wat ons dan doen, is ons vertel 'n ander bediener in ons stelsel, wat noem ons die meta-bediener, die metadata bediener, hey, dit is 'n lêer en dit is saamgestel uit die volgende lys van blokke. En ons slaag om die twee velde daardie blokke te identifiseer eerder as om weer oplaai die hele blok. Die meta-bediener dan tjeks met die blok bedieners, maak seker dat die blokke is daar - indien die is, volmaak, alles is goed. THOMAS CARRIERO: Wanneer ons wil te, basies, die aflaai van die lêer van die internet, kom ons sê, ons sal meta bediener eers vra, hey, kan jy my vertel oor waar hierdie lêer is geleë is, en meta-bediener sal sê, O, goed, hierdie lêer is eintlik 25 vier megabyte stukke, en hier is hulle. En dan sal ons gaan na blok bediener en ons sal eintlik aflaai elk van die stukke, en dan Ons sal die lêer rekonstruksie van daar af, en dan sal ons die aflaai begin. Ja, so Dropbox handel met skaal, basies, deur baie, baie aggressiewe sharding. ALEX Allain: So sharding is wanneer jy al die gebruikers in jou begin of jou maatskappy, en miskien is hulle gebruik te wees op 'n databasis, en dat werk baie goed totdat jy getref 'n sekere aantal van die gebruikers, en regtig wat jy wil hê te doen, is om 'n manier te vind diegene te verdeel in twee databasisse of miskien meer as twee - Ideaal gesproke genoeg dat jy kan het elke gebruiker in die wêreld. So wanneer jy Shard, wat jy doen is jy een of ander manier van die besluit die databasis wat om te gaan te wat nie vereis slaan 'n sentrale gids, Of miskien is dit 'n baie vinnige, goedkoop kyk-up in die sentrale gids. THOMAS CARRIERO: Ons het nog nooit alles wat gestoor word in 'n databasis, want dit is amper nooit te skaal gaan. So in plaas daarvan, wat ons doen, is om ons almal te neem van daardie inligting, al die lêers is almal van die metadata en ons sal dit skerf oor honderde of duisende logiese databasisse. Dit beteken dat wanneer ons 'n vra vir 'n gebruiker se inligting, Ons sal die eerste sê, hey, wat databasis is hierdie gebruiker se inligting gestoor in, en dan sal ons basies gebruik wat besluit om te gaan vind dat die databasis, en dit is waar ons sal laai al die lêers of al die metadata oor die lêers. So gebruik ons ​​'n baie sharding, maar sharding is nie altyd genoeg nie. Jy eintlik nodig het om 'n kas Baie van die algemene versoeke, want selfs al databasis navrae kan duur wees. So het ons ook progressiewe doen caching strategieë om seker te maak dat die mees algemene versoeke is baie maklik om te bereken, en basies, wat maak dit 'n baie vinniger en maak dit werk op skaal. So dit is, op 'n baie hoë vlak, soort van hoe Dropbox werk. ALEX Allain: My naam se Alex Allain. THOMAS CARRIERO: Ek is Thomas Carreiro. ALEX Allain: En dit is CS50. David Malan: Nou as jy al ooit gewonder waar hierdie aanhaling op CS50 se webwerf vandaan kom, dit is eintlik Alex wat die oorspronklike outeur. Nou, praat van Dropbox, ek het onlangs ontvang hierdie e-pos van hulle in my inbox - Hi, David, kan jy sien dat sommige van jou gedeelde skakels nie werk nie, en ons wou om uit te reik na jou persoonlik om jou te laat weet hoekom. Wel, wat is 'n gedeelde skakel? Wel, as jy het Dropbox gebruik buite eenvoudig spaar jou bron kode in van die toestel, jy dalk weet dat jy gedeel skakels kan skep deur tipies regs te klik op 'n lêer en die kopiëring van die url jou knipbord. Wat gedeel skakel kan kyk 'n bietjie iets soos hierdie, maar in plaas daarvan van die woord geheime, is daar eintlik iets meer kriptiese daar, soos 'n reeks van ewekansige letters en nommers. Die idee is dat ek nou kan per e-pos of Gchat hierdie soort van outomaties aan 'n vriend, en hy of sy kan toegang CS50.txt en laai dit op sy of haar rekenaar. En net om te weet dat url, of met super, super lae waarskynlikheid, raai wat outomaties, kon iemand anders eintlik toegang tot die lêer. Ongelukkig is 'n maatskappy bekend as Intralinks onlangs geplaas op hul CollaboristaBlog dat daar eintlik 'n paar bedreigings vir hierdie spesifieke workflow. Dit blyk dat as jy per ongeluk 'n fout maak, soos ek, eerlik, gedoen het in die verlede, en plak 'n URL soos 'n Dropbox gedeel skakel, in nie-posadres jou leser se bar, maar as die foto, jou search bar, wat url, natuurlik, gaan na 'n voorgelê word soekenjin soos Google. Natuurlik, is Google nie gaan noodwendig erken dat gedeelde skakel, en so gaan jy kry meer generiese soek resultate soos 'n skakel homself te Dropbox.com, en in hierdie geval, 'n advertensie, en in werklikheid, advertensies, potensieel, vir die deelnemers van Dropbox. In werklikheid, dit is hoe Intralinks opgemerk - hulle Ook is hardloop 'n AdSense veldtog saam met sleutelwoorde dat Dropbox hulself kan gebruik. En so as ons zoom in op die onderste resultate hier, Jy sal sien dat Inralinks het hierdie skakel na hul eie diens. Nou een van die kenmerke van Google en ander soekenjins ' advertensieveldtogte is dat wanneer 'n gebruiker soos ek op hierdie skakel kliek, nou, Ek gaan word die bekendmaking van die url dat ek getik in Google ten einde hierdie resultate te kry. Die idee is dat maatskappye wil graag weet hoe mense vind hul webwerf. Natuurlik, as ek gevind hierdie bladsy van die resultate Plak 'n andersins geheime url in Google, Ek het nou, effektief, vertel Intralinks en hul web stompe presies wat geheime url ek was die besoek, en daardeur bekend te maak, potensieel, die inhoud CS50.txt. Nou, daar is 'n ander bedreiging almal saam - jy dalk weet, ook van Dropbox gedeel skakels wat jy kan tipies open hulle binnekant van jou eie leser en 'n voorbeeld vir hulle binnekant van 'n raam soos hierdie. Maar as dit voorskou bevat 'n skakel, soos op die foto hier te Example.com, en jy of 'n gebruiker kliek wat skakel en sodoende die opening van 'n nuwe blad of venster met die bladsy se url, wat jy ook net aan die web bediener, uit die aard van hoe HTTP werk, Is die HTTP verwys adres waarvandaan jy gekom het. Met ander woorde, u ingelig die bestemming webwerf dat jy voorheen by hierdie sogenaamde geheime url. Nou, wat Intralinks ontdek deur te kyk deur hul eie logs is dat hulle gevind nogal 'n bietjie inligting wat was sekerlik bedoel om geheim te wees - vir byvoorbeeld, om iemand se verband aansoek, iemand se belastingopgawe, en trosse van meer dokumente, as well. Nou, as jy wil meer te leer oor hierdie spesifieke bedreiging, kop boks se te laat val blog hier by hierdie url, en die werklikheid is dat jy kan regtig nie verdedig teen 'n bedreiging in wat mense soos ek per ongeluk plak wat moet geheim URL'le in te soek enjins. Jy en ek is net gaan om te moet 'n bietjie meer versigtig wees. Maar hulle is besig om op herstel van die ander kwessie waardeur skakels wat ingesluit is in 'n Dropbox voorskou is die bekendmaking van die verwys url. Maar die hoof aan daardie url vir meer besonderhede. Maar nou, soos belowe, 'n nader kyk op klein hamsters eet klein tortilla. [Speel van musiek] David Malan: Nou CS50 se span onlangs 'n geleentheid gehad om deel te neem in 'n 48-uur film-projek, 'n internasionale kompetisie waartydens spanne het, inderdaad, 48 ure alleen 'n film te maak. Die vangs is dat jy net uit te vind wat film wat jy nodig het om te maak by die baie die begin van die 48 uur. In die besonder, op 'n onlangse Vrydagaand om 19:00, Ons by CS50 geleer dat ons wil wees maak een, 'n stille film, twee, dat die film wat nodig is om beskik oor 'n karakter met die naam Jeremia Jones, 'n onderwyser, drie, dat die film nodig 'n dagboek te funksie, hierdie een hier, en vier, wat ons nodig het om een ​​of ander manier sluit die lyn dit is wat dit is, selfs al is, natuurlik, ons besig was om 'n stille film. Nou, 26 lede van CS50 se span deelgeneem het aan hierdie 48-uur film projek, onder hulle Colton, Dan, Padraig, en Shelley Westover, wie jy kan onthou van films soos hierdie een hier. Nou, ook betrokke is, natuurlik, was CS50 se eie Ramon Galvan. Ramon, welkom om die show. RAMON Galvan: Dankie vir die feit dat my. David Malan: En CS50 se besit Daven Farnham. Nou, Ramon, wat was jou rol in die film? [? RAMON Galvan: Flight code] direkteur Dan, eintlik. David Malan: En Daven, jouself? DAVEN FARNHAM: Ek was die ster, so ek basies het die projek. Ek die film gered. David Malan: Jy gered die film. DAVEN FARNHAM: ek gedoen het. David Malan: Nou, jy sê dit nie, maar ek glo ons het jou skerm toets vir hierdie film. As ons kon hierdie clip hier rol. DAVEN FARNHAM: My naam se Daven Farnham, en dit is CS50. Ek wou CSS te sê. Dit is CSS. David Malan: Nou is dit was jou eerste film? DAVEN FARNHAM: Uh, nee, miskien. David Malan: Nee, goed, ten minste hierdie keer was dit 'n stille film. DAVEN FARNHAM: Ja. David Malan: So by 7:00, het ons gevind uit dié wat bestanddele, en dan moet ons onmiddellik duik in 'n groep om uit te vind wat ons movie was eintlik gaan maak. Het jy wil hê ons moet loop deur wat daardie nag was soos? DAVEN FARNHAM: So basies ons het die idee om 7:00, Ons het basies begin dinkskrum, sodat ons al die soort van versamel om 'n witbord en begin 'n dinkskrum idees, en dan deur 09:00, het ons probeer dit af te gooi na skrywers, en die skrywers het dit van daar af. David Malan: En intussen, Dan en Shelley en ek eintlik leiding te teiken, natuurlik, ons gunsteling nabygeleë winkel, af te haal al die stutte vir die film Ons het besluit op, wat op daardie stadium was - DAVEN FARNHAM: Ons het besluit op 'n pariteit avontuur film. David Malan: Whic gaan wees hou Indiana Jones. DAVEN FARNHAM: Ja, so ons benodig 'n bul swepe en ons moes 'n fedora en dinge. David Malan: En 'n baie swierige stuk juweliersware dat hy dan sal vind aan die einde van die episode. Natuurlik, kry ons terug by die middernag of so van Target en besef, Nee, dit is nie die film maak ons ​​- psych. DAVEN FARNHAM: Heeltemal verskillende film. RAMON Galvan: Ons het 'n film Noir vir 'n paar uur, dan het ons 'n romantiese komedie aan die einde. David Malan: So deur 04:00, het ons 'n romantiese komedie, en om 05:00, jy en Dan, die ander direkteur, het opgedaag. RAMON Galvan: Ja, so ons het saam en ons soort van beplande uit waar ons weier skiet, wat is tonele sou ons eerste skiet, en dan om 07:00 of 08:00, het ons eintlik uitgegaan en begin skiet. David Malan: Wel, as jy kan vashou rond, Ons wil graag 'n paar agter die skerms om te doen kyk na hoe die film gemaak is, maar ek dink die eerste, sal ons gee mense die wêreld première van CS50 se film, volharding. [Speel van musiek] David Malan: Guys, ek bedoel - so laat ons begin by die top. Dus is die heel eerste toneel skiet ons almal as 'n groep daardie oggend plaasgevind het rondom 08:00 voormiddag, en ons was eintlik hier, Jefferson Hall, wat eintlik een van die fisika lesinglokale op kampus. En wat was die doel met hierdie toneel? RAMON Galvan: So ons hier was die film, Daven te begin as 'n onderwyser, 'n mede-onderrig, of 'n assistent, iets soos dié, en hy was baie ontsteld dat hy sien hierdie egpaar loop uit en hy wil nie. Hy wil wees in 'n verhouding, Hy het net nie dit het. David Malan: En dan is die volgende toneel, oorgang ons om werklik is nie in orde geskiet. Trouens, hier, jy is - DAVEN FARNHAM: So hier, eintlik het ons geskiet hierdie hierdie - dit was een van die laaste tonele ons geskiet, maar dit eintlik toon tot by die begin van die film. En so in hierdie toneel, is dit 'n montage, en so wat ek doen is ek om op cologne, Ek kam my hare. David Malan: Het jy cologne gebruik? DAVEN FARNHAM: Uh, Ramon se cologne, baie van Keulen. David Malan: En wie hemp? DAVEN FARNHAM: Uh, Ramon se hemp. David Malan: So dit was meer as een neem, en die hemp teen die einde was 'n bietjie - DAVEN FARNHAM: Ja, ek dink Ons moes neem drie of vier neem, so neem elk was drie spuit, so daar was omtrent 12 spuit van Keulen. So ek ruik soos daardie cologne vir die res van die dag. David Malan: Wel, ten die minste nie, baie vinnig. Ons transitioned na buite, en, In werklikheid, as jy mooi kyk, dit is eintlik CS50 se eie Lauren Caraballo. Maar wat jy was dink met hierdie toneel? DAVEN FARNHAM: Right, so in hierdie toneel, ons probeer om haar aandag te kry. So ek loop deur haar, Ek is peacocking, natuurlik. David Malan: Peacocking? DAVEN FARNHAM: O, jy weet nie? RAMON Galvan: Uh, moet ek? DAVEN FARNHAM: Ja, natuurlik, natuurlik. So normale loop, natuurlik, is net normale loop. David Malan: So dit is normaal loop? DAVEN FARNHAM: Dit is normaal loop. Peacocking, gooi 'n bietjie heupe daar. RAMON Galvan: Dit is ' regtig alles reg hier. DAVEN FARNHAM: Dit is alles hier. Dit is uit hierdie voorwaarde - Dit is alles in die heupe. En dan aan die einde, jy het om te pop en die slot. Dit is die sleutel tot die maneuver - dit is die sleutel. David Malan: Pop en slot. Alle reg, goed, jy het eintlik 'n Baie van fisiese komedie in die film. Trouens, een van die volgende tonele was hier by Lamont Biblioteek, buite die deur. DAVEN FARNHAM: Ja, hulle is reg hier, so ek is eintlik probeer - ek dink dit is 'n trek deur en ek stoot, en as daardie toneel vorder, Ek stoot en stoot al hoe meer aggressief. En ek dink aan die einde, iemand eintlik klop my uit die weg geruim. David Malan: Ja, en in Trouens, ons het nie kennis van die - totdat die redigering fase. RAMON Galvan: Ja, so, as ons vergroting in hierdie geskiet en Dan kan ons verbeter 'n bietjie? OK, volmaak. So jy het om te sien my hurk oor te pop-up en klop Daven in die gesig met die deur. David Malan: Dat ons pret gevind footage net ure voor ons het die films vir die sperdatum te stuur. Alle reg, goed dankie beide soveel verbind en vir die hoofrol in so - DAVEN FARNHAM: O, nee dankie. RAMON Galvan: Dankie. David Malan: - 'n bewegende film. Wel, dit is dit vir CS50Live. Baie dankie aan ons vriende by Dropbox, Baie dankie aan almal agter die kamera, CS50 se eie Ramon Galvan en Daven Farnham. Dit was CS50 en dit was ons gunsteling toneel wat dit gedoen het nie maak dit in die film. DIREKTEUR 1: Is ons nou eers kry die motor in die pad? DIREKTEUR 2: Dit kom, dit is OK. [HORN honking] Aktrise: Whoa. O, God.