DAVID Malan: Hola, món, aquesta es CS50Live, i noi, nosaltres també tenir un episodi increïble per a vostè avui. En primer lloc, una mirada a l'interior de com Dropbox funciona, llavors una estreta veure diminuts hàmsters menjar petites burritos, i, finalment, una mirada darrere de les escenes de veure en la nova pel · lícula de CS50, Persistència. Però primer, Dropbox.com, on recentment va viatjar a San Francisco, Califòrnia, per reunir-se amb l'ex cap de CS50 company d'ensenyament, Thomas Carriero que ens va donar un tour de Dropbox i és exactament el que se sent en treballar i, m'atreveixo a dir que viure allà. Ara ens asseiem no només amb Thomas mentre que allà, sinó també amb l'ex de CS50 company d'ensenyament cap Alex Allain per parlar sobre el subjacent funcionament de Dropbox.com i es distribueix l'arquitectura. Anem a fer una ullada. THOMAS Carriero: Sóc Thomas Carreiro Sóc un enginyer de programari de Dropbox. ALEX ALLAIN: Sóc Alex Allain. Sóc enginyer aquí a Dropbox. THOMAS Carriero: Sí, així que estava en realitat el primer CF cap per CS50 quan David Malan es va fer càrrec de la classe. Jo ja havia estat ensenyant CS50 durant dos semestres amb Mike Smith, que hi era el professor abans d'allà. ALEX ALLAIN: Així que en realitat no va prendre CS50, però ho vaig fer TF dues vegades, una vegada com TF regular i després en el meu últim any, Jo estava en realitat Cap del TF CS50, que era un munt de diversió. THOMAS Carriero: Així que quan David es va acostar a mi sobre la configuració de Dropbox en l'aparell CS50, Jo estava molt emocionat, perquè de fet tenim un client Linux. La majoria dels nostres usuaris utilitzen ja sigui Finestres o els clients de Macintosh, però el Linux, Macintosh i Els clients de Windows són, en realitat, molt similar. Així que el que vam fer és que pre-instal lat el client de Dropbox Linux al CS50 aparell, i funciona com tots els nostres altres usuaris de Linux. ALEX ALLAIN: Així que el manera Dropbox funciona és que funciona com el client en molts diversos sistemes operatius i dispositius. El client d'escriptori Drobox és un dels més coneguts, un dels més interessants. THOMAS Carriero: Així Dropbox bàsicament pren tots els arxius que es posa al trossos de carpetes, i aquests arxius en quatre trossos megabyte. Així que anem a fer una 100 arxiu PDF megabyte, i anem a tros en 25 trossos de quatre megabytes. Aquests trossos són llavors encriptades, i després els enviem els nostres servidors de bloc. ALEX ALLAIN: Els servidors de bloc són l'emmagatzematge dels mateixos blocs, i pel que cada bloc s'emmagatzema en el servidor de bloc amb les dades i un hash SHA-256 que bloqueja. Aquesta és una encriptació molt bàsic primitiu que resumeix, en cert sentit, les dades en un molt un únic manera que és única per aquestes dades. Vostè podria pujar el conjunt d'arxius d'una sola vegada, però resulta que si ho fa que amb arxius molt grans, es prenen un temps molt llarg per carregar, i si es produeix una fallada, vostè està fora de sort i has de reiniciar. El que a continuació fem és que diem un altre servidor en el nostre sistema, el que que anomenem el servidor meta, el servidor de metadades, hey, aquest és un arxiu i està compost pel llista de blocs. I passem els hashes per identificar aquests blocs en lloc de tornar a pujar tot el bloc. El servidor de meta després xecs amb els servidors de bloc, fa que els blocs hi són - si el so, perfecte, tot és bo. THOMAS Carriero: Quan volem que, bàsicament, descarregui l'arxiu des d'Internet, diguem, li demanarem primer servidor del meta, Hey, em pot dir sobre on es troba aquest arxiu, i el servidor de metadades dirà, oh, bé, aquest fitxer és en realitat 25 de quatre megabytes trossos, i aquí estan. I després ens anem al bloc servidor i ens posarem en realitat descarregar cada un dels trossos, i després anem a reconstruir l'arxiu des d'allà, i després anem a començar la descàrrega. Sí, i ofertes de Dropbox amb l'escala, bàsicament, per molt, sharding molt agressiu. ALEX ALLAIN: Així sharding és quan es pren tots els usuaris en el seu inici o la seva empresa, i potser s'utilitzen estar en una base de dades, i que funciona molt bé fins que copejar un cert nombre d'usuaris, i realment el que vols de fer és trobar alguna manera per dividir els a través de dues bases de dades o potser més de dos - idealment, prou perquè puguis tenir tots els usuaris en el món. Així que quan vostè fragment, el que fas és que trobi alguna manera de decidir que la base de dades per anar que no requereix colpejar a un directori central, o potser és un molt ràpid, barat Cerca de contactes en aquest directori central. THOMAS Carriero: Nosaltres mai hem tot el emmagatzemat en una base de dades, perquè això és gairebé mai va a escalar. Així que en lloc, el que fem és que ens prendrem tot que la informació, tots els arxius són totes les metadades i anem fragment que llarg de centenars o milers bases de dades de lògiques. Això vol dir que quan tenim un sol · licitud d'informació d'un usuari, anem primer diem, escolta, quina base de dades és la informació de l'usuari emmagatzemada en, i després anem bàsicament fem servir aquesta decisió d'anar a buscar a aquesta base de dades, i aquí és on anem a carregar tots els arxius o totes les metadades sobre els arxius. Així que fem servir un munt de sharding, però sharding no sempre és suficient. Segur que necessita per emmagatzemar en memòria cau 1 Moltes de les peticions comunes, perquè tot i que la base de dades consultes poden ser costosos. Així també fem progressiva estratègies d'emmagatzematge en memòria cau per assegurar-se que la més comuna peticions són bastant fàcils de calcular, i, bàsicament, el que fa que sigui molt més més ràpid i fa que funcioni a escala. Així que això és, a un nivell molt alt, classe de com funciona Dropbox. ALEX ALLAIN: El meu nom és Alex Allain. THOMAS Carriero: Sóc Thomas Carreiro. ALEX ALLAIN: I això és CS50. DAVID Malan: Ara bé, si alguna vegada es va preguntar on aquesta cita a la pàgina web del CS50 ve, en realitat Alex qui és l'autor original. Ara, parlant de Dropbox, fa poc rebut aquest correu electrònic d'ells en la meva safata d'entrada - Hola, David, és possible que compte que alguns dels seus enllaços compartits no estan funcionant, i nosaltres volia arribar a tu personalment per fer-li saber per què. Bé, què és un enllaç compartit? Bé, si vostè ha utilitzat més enllà de Dropbox simplement guardar el codi font a l'interior l'aparell, es podria saber que vostè pot crear enllaços compartits per clic típicament dret sobre un arxiu i copiar la URL al portapapers. Aquest vincle compartida pot veure una mica alguna cosa com això, però en el seu lloc de la paraula secreta, hi ha en realitat una mica més críptic allà, com una seqüència de lletres i nombres aleatoris. L'ésser idea que ara puc enviar per correu electrònic o Gchat aquest tipus de ruta d'un amic, i ell o ella podria tenir accés CS50.txt i descarregar al seu ordinador. I només per saber que url, o amb súper, súper baixa probabilitat, endevinant aquesta url, podria algú més realment accedir a l'arxiu. Desafortunadament una empresa conegut com Intralinks recentment publicat a seva CollaboristaBlog que en realitat hi ha un parell de amenaces a aquest flux de treball en particular. Resulta que si accidentalment cometre un error, com jo, francament, ho han fet en el passat, i enganxar un URL com un enllaç de Dropbox per compartir, a no la direcció del seu navegador bar, però com es mostra aquí, la barra de cerca, que url, per descomptat, va que se sotmetrà a un motor de cerca com Google. Per descomptat, Google no va a reconèixer necessàriament aquest vincle comú, i pel que anem a obtenir més recerca genèrica resultats com un enllaç Dropbox.com a si mateix, i en aquest cas, un anunci, i De fet, anuncis, potencialment, per als competidors de Dropbox. De fet, així és com Intralinks adonat d'això - que, també, s'executa una de AdSense campanya juntament amb les paraules clau que Dropbox mateixos poden utilitzar. I així, si ens centrem en els resultats de fons aquí, veuràs que té Inralinks aquest enllaç al seu propi servei. Ara una de les característiques de Google i altres motors de cerca ' campanyes de publicitat és que quan un usuari com jo fa clic en aquest enllaç, ara, Vaig a ser la divulgació de la url que vaig escriure a Google per tal per trobar aquests resultats de cerca. La idea és que empreses els agradaria saber com les persones estan trobant el seu lloc web. Per descomptat, si he trobat En aquesta pàgina de resultats clavant una altra banda url secret a Google, He ara, efectivament, aquest Intralinks i de la seva web registres exactament el url secret que es trobava de visita, divulgar, per tant, potencialment, el contingut CS50.txt. Ara, hi ha una altra amenaça tots junts - vostès saben, també, de Dropbox enllaços compartits que normalment pot obrir dins del seu propi navegador i una vista prèvia d'ells a l'interior d'un marc com aquest. Però si aquesta vista prèvia conté un hipervincle, com es mostra aquí per Example.com, i vostè o un clic del usuari que hipervincle, obrint d'aquesta manera un nova pestanya o finestra amb la pàgina d' url, el que ha també acaba de dir a la web servidor, per la naturalesa de com funciona HTTP, és l'HTTP refereixen direcció d'on van venir. En altres paraules, l'informarem el lloc web de destinació que vostè era abans en aquesta url suposadament secret. Ara, què Intralinks descobert mirant a través dels seus propis registres és que es troben una mica d'informació que va ser sens dubte destinat a ser secret - per exemple, la hipoteca d'algú sol · licitud, la declaració d'impostos d'una altra persona, i raïms de més documents, així. Ara, per obtenir més sobre aquesta amenaça en particular, dirigir-se a quadre de segueix en la següent adreça aquí, i la realitat és que vostè no pot realment defensar d'una amenaça en la qual les persones com jo pego accidentalment el que ha de ser adreces secretes en els motors de cerca. Tu i jo simplement va a ha de ser una mica més acurat. Però ells han estat treballant en reparar l'altre problema pel qual vincles que s'incrusten en un Dropbox vista prèvia van ser revelant la url referir. Però anar a la url per a més detalls. Però ara, com havia promès, una mirada més propera en petits hàmsters mengen petits burrets. [REPRODUCCIÓ DE MÚSICA] DAVID Malan: l'equip d'ara CS50 recentment va tenir l'oportunitat per participar en un Projecte de la pel.lícula de 48 hores, una organització internacional la competència durant el qual equips tenia, de fet, 48 hores tot sol per fer una pel · lícula. El problema és que només esbrinar el que la pel · lícula que hagi de fer en el mateix començar d'aquestes 48 hores. En particular, en un recent Divendres a la nit a les 7:00 pm, ens vam assabentar que a CS50 estaríem fer un, una pel · lícula muda, dos, que la pel · lícula necessitava compten amb un personatge anomenat Jeremies Jones, un professor, 3, que la pel · lícula necessària que compten amb un diari, aquest d'aquí, i quatre, que havíem de incloure d'alguna manera la línia és el que és encara encara que, per descomptat, estaven fent una pel · lícula muda. Ara, 26 membres de l'equip de CS50 participat en aquesta pel · lícula 48 hores projecte, entre ells Colton, Donen, Padraig i Shelley Westover, a qui es recordarà des pel · lícules com aquesta d'aquí. Ara, també implicat, per descomptat, va ser el mateix Ramon Galván l'CS50. Ramon, benvingut al xou. RAMON GALVAN: Gràcies per convidar-me. DAVID Malan: I de CS50 posseir Daven Farnham. Ara, Ramon, el que va ser seu paper en la pel · lícula? [? RAMON GALVAN: codi de vol] director amb Dan, en realitat. DAVID Malan: I Daven, vostè mateix? Daven FARNHAM: jo era l'estrella, així que bàsicament va fer el projecte. Em va salvar la pel.lícula. DAVID Malan: Vostè va salvar la pel.lícula. Daven FARNHAM: jo ho vaig fer. DAVID Malan: Ara, dir això, però crec tenim la prova de pantalla per aquesta pel · lícula. Si poguéssim rodar aquest clip aquí. Daven FARNHAM: El meu nom és Daven Farnham, i això és CS50. Volia dir CSS. Aquest és CSS. DAVID Malan: Ara aquesta era la seva primera pel · lícula? Daven FARNHAM: Uh, no, potser. DAVID Malan: No, bé, almenys aquesta vegada es tractava d'una pel · lícula muda. Daven FARNHAM: Si. DAVID Malan: Així que a les 7:00 de la tarda, ens trobem aquests ingredients requerits, i després immediatament bussejat en com un grup esbrinar quina pel · lícula estem eren en realitat va a fer. Vols caminar amb nosaltres a través de quina era aquella nit com? Daven FARNHAM: Així que, bàsicament, ens van donar la idea a les 7:00, que bàsicament vam començar a una pluja d'idees, pel que fem tot tipus de reunit al voltant d'una pissarra i va començar una pluja d'idees, i després a les 9:00, ho vam intentar per tirar fora els escriptors, i els escriptors el van portar d'allà. DAVID Malan: I mentrestant, Dan i Shelley i jo en realitat dirigit a Target, per descomptat, la nostra botiga prop favorit, recollir tots els accessoris per a la pel · lícula havíem decidit, que en aquest moment era - Daven FARNHAM: Havíem decidit en una pel · lícula d'aventures de paritat. DAVID Malan: whic anava a ser molt a l'estil Indiana Jones. Daven FARNHAM: Sí, així que necessitàvem un toro fuets i necessitàvem un barret de feltre i aquestes coses. DAVID Malan: I una molt peça ornamental de la joieria que després seria trobar al final de l'episodi. Per descomptat, tornem a mitjanit o així de Target i s'adonen, doncs no, això no és la pel · lícula que estem fent - psych. Daven FARNHAM: Completament diferent de la pel · lícula. RAMON GALVAN: Teníem una pel · lícula noir durant un parell d'hores, després vam tenir una romàntica comèdia al final. DAVID Malan: Així que abans de les 4:00 am, vam tenir una la comèdia romàntica, i al voltant de les 5:00 am, tu i Dan, l'altre director, va aparèixer. RAMON GALVAN: Sí, així que ens van donar junts i quin tipus de planejat on Wold rodatge, el que és escenes que dispararien primer, i després al voltant de les 7:00 o 08 a.m., es en realitat va sortir i va començar a disparar. DAVID Malan: Bé, si vostè pot quedar-se, ens agradaria fer alguns darrere de les escenes analitza com es va fer la pel · lícula, però crec que en primer lloc, d'acord donar a la gent l'estrena mundial de la pel.lícula de CS50, Persistència. [REPRODUCCIÓ DE MÚSICA] DAVID Malan: Nois, vull dir - així que anem a començar des del principi. Així que la primera escena tots vam rodar en grup aquell matí va tenir lloc al voltant de les 8:00 A.M, i en realitat estàvem aquí, Jefferson Hall, que és en realitat una de les sales de lectura de la física al campus. I quin va ser l'objectiu amb aquesta escena? RAMON GALVAN: Així que ens quedem aquí per iniciar la pel · lícula, Daven com un mestre, un company de l'ensenyament, o un ajudant d'ensenyament, cosa d'aquesta manera, i ell estava molt molest que veu a aquesta parella sortint i ell vol això. Ell vol estar en una relació, ell simplement no el té. DAVID Malan: I després la següent escena, fem la transició a la realitat no es va rodar en ordre. De fet, aquí, vostè és - Daven FARNHAM: Així aquí, en realitat, que rodem aquest aquesta - aquesta va ser una de les últimes escenes que rodem, però això en realitat mostra a dalt a el principi de la pel · lícula. I així, en aquesta escena, és una muntatge, i per tant el que estic fent és que m'estic posant a la colònia, Estic pentinar. DAVID Malan: Utilitza colònia? Daven FARNHAM: Uh, Ramon colònia, un munt de colònia. DAVID Malan: I de qui camisa? Daven FARNHAM: Ei, camisa de Ramon. DAVID Malan: Així que això era més que una sola presa, i la camisa per al final era bastant - Daven FARNHAM: Sí, crec que vam haver de prendre tres o quatre presa, de manera que cada presa era tres dolls, per la qual cosa eren prop de 12 dolls de colònia. Així que feia olor a aquesta colònia per a la resta del dia. DAVID Malan: Bé, menys, molt ràpidament. Ens transitioned exterior, i, de fet, si et fixes bé, això és en realitat CS50 de pròpia Caraballo Lauren. Però el que eres pensant amb aquesta escena? Daven FARNHAM: Dret, pel que en aquesta escena, que estem tractant de cridar la seva atenció. Així que estic caminant per ella, Estic peacocking, és clar. DAVID Malan: Peacocking? Daven FARNHAM: Oh, no ho saps? RAMON GALVAN: Uh, ho hauria de fer? Daven FARNHAM: Sí, Per descomptat, és clar. Així caminar normal, per descomptat, és simplement caminar normal. DAVID Malan: Així que aquesta és la marxa normal? Daven FARNHAM: Això és caminar normal. Peacocking, llançar una petites malucs allà. RAMON GALVAN: És realment bé aquí. Daven FARNHAM: Tot està bé aquí. És a partir d'aquesta condició - Tot està en els malucs. I després, al final, vostè ha de esclatar i bloqueig. És clau per a la maniobra - és clau. DAVID Malan: Pop i pany. Està bé, bé, en realitat es va fer un molta comèdia física en la pel · lícula. De fet, una de les escenes estar aquí en Lamont Library, fora de la porta. Daven FARNHAM: Sí, són aquí, així que estic realment intentant - Crec que és un tiri de la porta i estic empenyent, i com aquesta escena progressa, Estic empenyent i empenyent cada vegada més agressiva. I crec que al final, algú en realitat em colpeja fora del camí. DAVID Malan: Sí, i en De fet, no ens vam adonar del - fins a la fase d'edició. RAMON GALVAN: Sí, així que, si ens zoom en aquest tir, i Dan, podem millorar una mica? Bé, perfecte. Així que has de veure vaig ajupir sobre a aparèixer i colpejar Daven a la cara amb la porta. DAVID Malan: Que bé que ens va trobar imatges tot just unes hores abans que va haver d'enviar les pel · lícules per a la data límit. D'acord, bé, gràcies tant als dos per a la unió i per protagonitzar aquests - Daven FARNHAM: Oh, no, gràcies. RAMON GALVAN: Gràcies. DAVID Malan: - una pel · lícula en moviment. Bé això és tot per CS50Live. Moltes gràcies als nostres amics de Dropbox, moltes gràcies a tothom darrere de la càmera, CS50 propi Ramon Galván i Daven Farnham. Aquest va ser CS50 i aquest era la nostra escena preferida això no ho fan en la pel · lícula. DIRECTOR 1: Anem a tenir el cotxe a la carretera? DIRECTOR 2: Ja ve, això està bé. [TOCAR LA BOTZINA BOTZINA] ACTRIU: Whoa. Oh, déu.