DAVID MALAN: Hei, maailma, tämä on CS50Live, ja poika, me on hämmästyttävä episodi sinulle tänään. Ensinnäkin sisällä tarkastella, miten Dropbox toimii, niin lähellä katsoa pieniä hamstereita syö pieniä burritos, ja lopuksi, behind-the-scenes look klo CS50 uusi elokuva, Persistence. Mutta ensin Dropbox.com, jossa äskettäin matkusti San Franciscossa, Kaliforniassa, tapaamaan CS50: n entinen johtaja Opetuksen mies, Thomas Carriero joka antoi meille kierroksen Dropbox ja mitä se tuntuu työtä ja daresay, asua siellä. Nyt me istuimme alas paitsi Thomas taas siellä, mutta myös CS50: n entisen pää opetus kaveri Alex Allain puhua taustalla toimintaa Dropbox.com ja se on hajautettu arkkitehtuuri. Katsotaanpa katsomaan. THOMAS Carriero: Olen Thomas Carreiro Olen ohjelmistosuunnittelija Dropbox. ALEX ALLAIN: Olen Alex Allain. Olen insinööri täällä Dropbox. THOMAS Carriero: Joo, joten olin itse asiassa ensimmäinen pää CF varten CS50 kun David Malan otti luokassa. Olin jo opettanut CS50 kaksi lukukautta Mike Smith, joka oli siellä ennen professori siellä. ALEX ALLAIN: So I oikeastaan ​​ei ota CS50, mutta tein TF sen kahdesti, kerran säännöllinen TF ja sitten minun vanhempi vuonna Olin oikeastaan ​​päällikkö TF CS50, mikä oli hauskaa. THOMAS Carriero: Eli kun David ojensi minulle Perustietoa Dropbox vuonna CS50 laitteen Olin todella innoissani, koska meillä on todellakin Linux asiakas. Suurin osa käyttäjistä käyttää joko Windows-tai Macintosh-asiakkaita, mutta Linux, Macintosh, ja Windows-asiakkaille kaikki oikeastaan hyvin samankaltaisia. Joten mitä teimme on meidän esiasennettuna Dropbox Linux asiakkaan CS50 laite, ja se toimii aivan kuten kaikki meidän muiden Linux-käyttäjille. ALEX ALLAIN: So tapa Dropbox toimii on se toimii kuten asiakkaan monista eri käyttöjärjestelmiä ja laitteita. Drobox kassa asiakas on yksi hyvin tunnettu, yksi mielenkiintoinen. THOMAS Carriero: So Dropbox pohjimmiltaan vie kaikki tiedostot että asetat kansioon, ja se paloina kyseiset tiedostot neljään megatavua paloina. Viemme 100 megatavun PDF-tiedoston, ja me kimpale sen 25 neljän megatavun paloina. Nämä palat ovat sitten salattu, ja sitten lähettää ne meidän lohko palvelimia. ALEX ALLAIN: block palvelimet ovat varastointi lohkojen itse, ja siten, että kukin lohko on tallennettu lohko palvelimen tietojen kanssa ja SHA-256 hash, joka estää. Se on hyvin yksinkertainen salaus alkeellinen että yhteenveto, jossain mielessä, data hyvin ainutlaatuinen tavalla, joka on ainutlaatuinen, että tiedot. Voisit lähettää koko tiedoston kerralla, mutta käy ilmi, jos et että todella suuria tiedostoja, he ottavat todella pitkä aika ladata, ja jos sinulla on vika, olet poissa onnea ja joudut käynnistämään sen. Mitä me sitten tehdä on kerromme toiselle palvelimelle meidän järjestelmässämme, mitä kutsumme meta-palvelin, Metadata Server, hei, tämä on tiedosto ja se koostuu Seuraavassa luettelossa lohkoa. Ja menetämme hash tunnistaa ne lohkot sijasta uudelleen lataaminen koko korttelin. Meta-palvelin tarkastaa sitten lohkoon palvelimet, varmistaa lohkot ovat siellä - jos ovat, täydellinen, kaikki on hyvää. THOMAS Carriero: Kun haluamme to, pohjimmiltaan, lataa tiedosto Internetistä, sanotaanko, Kysymme meta palvelin ensin, hei, voitko kertoa minulle jossa tiedosto sijaitsee, ja meta palvelin sanoa, No, Tämä tiedosto on oikeastaan ​​25 neljän megatavun paloina, ja tässä ne ovat. Ja sitten menemme lohko palvelimen ja me oikeastaan ladata jokainen näistä palasina me rekonstruoimaan tiedoston sieltä, ja sitten aloitamme latauksena. Joo, niin Dropbox tarjoukset asteikolla, pohjimmiltaan, erittäin, erittäin aggressiivinen sharding. ALEX ALLAIN: So sharding on kun otat kaikki käyttäjät näkevät käynnistyksen tai oman yrityksen, ja ehkä he käyttivät olla yhtä tietokantaa, ja joka toimii hyvin, kunnes osuma tietty määrä käyttäjiä, ja oikeastaan ​​mitä haluat tehdä on löytää tapa jakaa näitä kahdella eri tietokantoja tai ehkä enemmän kuin kaksi - Ihannetapauksessa riitä, että voit on kaikki käyttäjä maailmassa. Joten kun sirpale, mitä tehdä, on löydät jotenkin päättää jonka tietokanta mennä ja joka ei edellytä lyömällä keskeinen hakemistoon, tai ehkä se on erittäin nopea, halpa look-up, että Keski-hakemistossa. THOMAS Carriero: Meillä ei koskaan ole kaikki tallennetaan yhteen tietokantaan, koska se on lähes koskaan mittakaavassa. Joten sen sijaan, mitä teemme, on Otamme kaikki näistä tiedoista, kaikki tiedostot ovat kaikki metatiedot ja me sirpale se poikki satoja tai tuhansia loogisia tietokantoja. Tämä tarkoittaa, että kun meillä on pyytää käyttäjän tietoja, me ensin sanoa, hei, mikä tietokanta on tämän käyttäjän tallennetut tiedot, ja sitten me periaatteessa käyttää sitä Päätös mennä etsimään, että tietokantaan ja se jos me lataa kaikki tiedostoja tai kaikki metatiedot noin tiedostoja. Joten käytämme paljon sharding, mutta sharding ei aina riitä. Todella tarvitset välimuistiin paljon yhteisiä pyyntöjä, sillä vaikka tietokanta kyselyt voi olla kallista. Niin teemme myös progressiivinen välimuistia strategiat varmistaa, että yleisimmät pyynnöt ovat melko helppo laskea, ja periaatteessa, joka tekee siitä paljon nopeampi ja tekee työtä mittakaavassa. Joten se on jo hyvin korkealla tasolla, Tällainen miten Dropbox toimii. ALEX ALLAIN: Nimeni on Alex Allain. THOMAS Carriero: Olen Thomas Carreiro. ALEX ALLAIN: Ja tämä on CS50. DAVID MALAN: Nyt jos olet joskus miettinyt, jos tämä quote CS50: n verkkosivuilla tulee, se on todella Alex kuka on alkuperäinen kirjoittaja. Nyt puhutaan Dropbox, olen viime aikoina saanut tämän sähköpostin niistä omaan postilaatikkoon - Hei, David, saatat että joidenkin jaetut linkit eivät toimi, ja me halusi tavoittaa sinua henkilökohtaisesti kertoa miksi. No mitä yhteinen linkki? No, jos olet käyttänyt Dropbox pidemmälle yksinkertaisesti säästää lähdekoodin sisällä laitteen, voit ehkä tiedätte, että olet voi luoda jaettuja linkit tyypillisesti oikealla klikkaamalla tiedostoa ja kopioimalla URL leikepöydälle. Että jaettu linkki saattaa näyttää hieman jotain tällaista, mutta sen sijaan sana salaisuus, siellä todella jotain arvoituksellinen siellä, kuten sekvenssi sattumanvaraisia ​​kirjaimia ja numeroita. Ajatuksena on, että voin nyt sähköpostia tai GChat tällaista url ystävä, ja hän voisi käyttää CS50.txt ja ladata sen hänen tietokoneensa. Ja vain tietäen, että url, tai super, super alhainen todennäköisyys, arvaamaan että url, voisi joku muu tosiasiallisesti käyttää tiedostoa. Valitettavasti yritys tunnetaan Intralinks äskettäin lähetetty niiden CollaboristaBlog että siellä on todella pari uhat erityisesti työnkulkua. Osoittautuu, että jos olet vahingossa tehdä virhe, kuin minä, suoraan sanoen, ovat tehneet aikaisemmin, ja liitä url kuten Dropbox jaetun linkin, osaksi ei selaimen osoiteriville baari, mutta kuten kuvassa täällä, haun bar, että url, tietenkin, on menossa joka toimitetaan hakukoneen, kuten Google. Tietenkin, Google ei aio välttämättä tunnustavat, että yhteinen linkki, ja niin olet menossa saada yleisempi haku tuloksia kuin linkki to Dropbox.com itse ja tässä tapauksessa, mainos ja Itse asiassa, mainoksia, mahdollisesti, kilpailijoille Dropbox. Itse asiassa, näin Intralinks huomannut tätä - ne, Myös olivat käynnissä AdSense kampanjan rinnalla avainsanoja että Dropbox itse voisi käyttää. Joten jos me zoomata pohja tulokset täällä, näet, että Inralinks on linkki omaan palveluun. Nyt yksi ominaisuuksista Google ja muut hakukoneet " mainoskampanjoita on, että kun käyttäjä kuten minä napsauttaa tätä linkkiä, nyt Aion olla ilmaisematta url että olen kirjoittanut Google jotta löytää näitä hakutuloksia. Ajatuksena on, että yritykset haluaisivat tietää miten ihmiset löytävät niiden verkkosivuilla. Tietenkin, jos löysin Tämän sivun tulosten liittämällä muuten salainen url Google, Olen nyt tehokkaasti, kertoi Intralinks ja niiden web lokit mitä salaisuus url I oli vierailulla näin paljastavat, mahdollisesti sisältö CS50.txt. Nyt on olemassa toinen uhan kaikki yhdessä - ehkä tiedätte, myös siitä Dropbox jaettu linkkejä, joita voit yleensä avaa ne sisällä oman selain ja esikatsella niitä sisällä kehyksen näin. Mutta jos esikatselu sisältää hyperlinkin, kuten kuvassa täällä Example.com, ja sinä tai käyttäjä klikkaa että hyperlinkin, avaten uusi välilehti tai ikkuna, että sivun url, mitä olet myös juuri kertoi web palvelin, jonka luonne, miten HTTP toimii, on HTTP viittaavat osoite kusta tulit. Toisin sanoen, sinut ajan tasalla määränpää sivustolla että olit aiemmin nimellä tämä muka salaisen url. Nyt, mitä Intralinks löysi katsomalla oman lokit on, että he löysivät melko vähän tietoja, jotka oli varmasti tarkoitus olla salaisuus - ja Esimerkiksi jonkun kiinnitys sovelluksen, jonkun veroilmoitus, ja rypäleterttuja enemmän asiakirjoja samoin. Nyt, jos haluat lisätietoja tästä erityinen uhka, suunnata Drop laatikon blogi tässä url täällä, ja tosiasia on, että et voi oikeastaan puolustautua uhkaa, jossa ihmiset kuten minä vahingossa liitä mitä pitäisi salaisiksi URL-osoitteet hakukoneille. Sinä ja minä yksinkertaisesti menossa täytyy olla hieman varovainen. Mutta he ovat työskennelleet korjaamiseksi muu asia, jolla linkkejä, jotka on upotettu Dropbox esikatselu olivat paljastamasta viittaavat url. Mutta pää että url saadaksesi lisätietoja. Mutta nyt, kuten on luvattu, tarkemmin Tiny hamsterit syö pieniä burritos. [Musiikki soi] DAVID MALAN: Nyt CS50 tiimi äskettäin ollut tilaisuus osallistua 48 tunnin elokuva projekti, kansainvälinen kilpailun aikana joukkueet olivat todellakin 48 tuntia yksin tehdä elokuvan. Saalis on, että vain selvittää, mitä esitystä täytyy tehdä aivan aloittaa näiden 48 tunnin aikana. Erityisesti on viime Perjantai-iltana klo 19:00, me CS50 oppineet, että olisimme tehdä yksi, mykkäelokuva, kaksi, että kalvon tarvittava on hahmo nimeltä Jeremiah Jones, opettaja, kolme, että elokuva tarvitaan ominaisuus päiväkirja, tämä yksi täällä, ja neljä, että meidän piti jotenkin sisällyttää linja se on mitä se on jopa vaikka tietenkin me tekivät mykkäelokuva. Nyt, 26 jäsenet CS50 tiimi osallistui 48 tunnin elokuva hankkeen joukossa Colton, Dan, Padraig ja Shelley Westover, jonka ehkä muistatte sellaisista elokuvista kuin tämä täällä. Nyt myös mukana, tietenkin, oli CS50 oma Ramon Galvan. Ramon, tervetuloa ohjelmaan. RAMON GALVAN: Kiitos, että minulle. DAVID MALAN: Ja CS50: n oma Daven Farnham. Nyt, Ramon, mikä oli oma rooli elokuvassa? [? RAMON GALVAN: Lento-koodi?] johtaja Dan, oikeastaan. DAVID MALAN: Ja Daven, itse? Daven FARNHAM: Olin tähti, joten en periaatteessa tehty projekti. Pelastin elokuva. DAVID MALAN: Pelastit elokuva. Daven FARNHAM: tein. DAVID MALAN: Nyt voit sanoa tätä, mutta uskon meillä on näytön testi tämä elokuva. Jos voisimme Roll tämän leikkeen täällä. Daven FARNHAM: Nimeni on Daven Farnham, ja tämä on CS50. Halusin sanoa CSS. Tämä on CSS. DAVID MALAN: Nyt tämä oli ensimmäinen elokuva? Daven FARNHAM: Tuota, no, maybe. DAVID MALAN: Ei, no, ainakin tässä kerralla se oli mykkäelokuva. Daven FARNHAM: Kyllä. DAVID MALAN: Joten 19:00, löysimme pois ne haluamasi ainekset, ja sitten me heti syöksyi ryhmänä selvittää, mitä elokuvaa me olivat todella menossa tekemään. Haluatko kävellä meidät läpi mitä sinä yönä oli kuin? Daven FARNHAM: Joten periaatteessa saimme idean klo 07:00, olemme periaatteessa alkoi Brainstorm, joten me kaikki tavallaan kerääntyivät taululle ja alkoi aivoriihi ideoita, ja sitten 09:00, yritimme heittää sen pois kirjailijoita, ja kirjoittajat otti sen sieltä. DAVID MALAN: Ja sillä välin, Dan ja Shelley ja minä itse suuntasi Target, tietenkin, meidän suosikki lähimyymälässä, poimia kaikki rekvisiitta elokuva olimme päättäneet, joka siinä vaiheessa oli - Daven FARNHAM: Olimme päättäneet on tasa seikkailuelokuva. DAVID MALAN: Whic aikoi olla aivan kuten Indiana Jones. Daven FARNHAM: Kyllä, joten tarvitsimme härkä piiskat ja tarvitsimme fedora ja tavaraa. DAVID MALAN: Ja hyvin koristeellinen koru että hän sitten löytää lopussa episodi. Tietenkin saamme takaisin keskiyöllä tai niin Target ja ymmärtää, Ehei, se ei ole Elokuvan Teemme - Psych. Daven FARNHAM: Täysin eri elokuva. RAMON GALVAN: Meillä oli elokuva Noir pari tuntia, Sitten meillä oli romanttinen komedia lopussa. DAVID MALAN: Joten 04:00, meillä oli romanttinen komedia, ja noin 05:00, sinä ja Dan, muut johtaja, ilmestyi. RAMON GALVAN: Joo, joten saimme yhdessä ja me tavallaan suunniteltu ulos jos me Wold ampua, mitä kohtauksia olisimme ampua ensin, ja sitten noin 07:00 tai 08:00, me todella meni ulos ja alkoi ampua. DAVID MALAN: No, jos voit jäämään, haluaisimme tehdä joitakin behind-the-scenes tarkastellaan, miten elokuva tehtiin, mutta mielestäni ensin, sopiiko antavat ihmiset maailman ensi-ilta ja CS50 elokuva, Persistence. [Musiikki soi] DAVID MALAN: Guys, tarkoitan - joten aloitamme ylhäältä. Joten aivan ensimmäinen kohtaus me kaikki ampui ryhmänä että aamulla tapahtui noin 08:00 a.m, ja olimme itse asiassa täällä, Jefferson Hall, joka on itse asiassa yksi fysiikan luentosalit kampuksella. Ja mikä oli maalinsa tämä kohtaus? RAMON GALVAN: Joten olimme täällä aloittaa elokuvan, Daven opettajana, opetuksen mies, tai assistentti, jotain niin, ja hän oli todella järkyttynyt että hän näkee parista kävely ulos ja hän haluaa sen. Hän haluaa olla parisuhteessa, hän vain ei ole sitä. DAVID MALAN: Ja sitten seuraava kohtaus, me siirtyminen todella ei ammuttu järjestyksessä. Itse asiassa tässä olet - Daven FARNHAM: So täällä, todella ammuimme tämä tämä - tämä oli yksi viime kohtauksia me ammuttiin, mutta tämä todella ilmaantuu aivan alussa elokuva. Ja niin tässä kohtauksessa, se on montaasi, ja niin mitä olen tekemässä on Laitan Cologne, Olen kampaus hiuksiani. DAVID MALAN: Käytätkö cologne? Daven FARNHAM: Tuota, Ramonin Köln, paljon Kölnissä. DAVID MALAN: Ja kenen paita? Daven FARNHAM: Tuota, Ramon paita. DAVID MALAN: Joten se oli yli yhdellä otolla, ja paidan loppuun mennessä oli melko - Daven FARNHAM: Kyllä, luulen meidän piti ottaa kolme tai neljä vie, joten kukin ottaa oli kolme squirts, joten olivat noin 12 squirts Kölnissä. Joten en haisi että Kölnissä varten loppupäivän. DAVID MALAN: No, ainakin hyvin nopeasti. Me siirtynyt ulkopuolella, ja Itse asiassa, jos katsot tarkkaan, tämä on todella CS50: n oma Lauren Caraballo. Mutta mitä olit ajattelun tämä kohtaus? Daven FARNHAM: Aivan, joten tässä kohtauksessa, Yritämme saada hänen huomionsa. Joten olen kävely hänen, Olen peacocking, tietenkin. DAVID MALAN: Peacocking? Daven FARNHAM: Ai, et tiedä? RAMON GALVAN: Tuota, minun pitäisi? Daven FARNHAM: Joo, Tietenkin, tietenkin. Joten normaali kävely, tietenkin, on aivan tavallinen kävely. DAVID MALAN: Eli tämä on tavallinen kävely? Daven FARNHAM: Se on tavallinen kävely. Peacocking, heittää hieman lantiota siellä. RAMON GALVAN: Se on oikeastaan ​​kaikki täällä. Daven FARNHAM: Se on kaikki täällä. Se on tältä qua - Se on kaikki lonkat. Ja sitten aivan lopussa, sinun on pop ja lukita. Se on avain liikkumavaraa - se on avain. DAVID MALAN: Pop ja lukko. Hyvä on, te itse tehnyt paljon fyysistä komedia elokuva. Itse asiassa, yksi seuraavan kohtauksia oli täällä klo Lamont Library, oven ulkopuolella. Daven FARNHAM: Kyllä, he ovat täällä, joten olen todella yrittää - Minusta se on vetää oven ja olen työntämällä, ja että kohtaus etenee, Olen työntää ja työntää yhä aggressiivisemmin. Ja mielestäni lopussa, joku todella lyö minua pois tieltä. DAVID MALAN: Joo, ja Itse asiassa emme huomanneet - kunnes editointi vaiheessa. RAMON GALVAN: Joo, niin, jos me zoomata tämän laukaus, ja Dan, voimme parantaa hieman? OK, täydellinen. Joten sait nähdä minut kyyristyi alas noin pop up ja kolhi Daven edessä oven. DAVID MALAN: Että hauskaa löytyi footage vain tunteja ennen kuin oli lähetettäväksi elokuvia määräaikaa. Hyvä on kiittää teitä molempia niin paljon liittymisen ja pääosissa tällaisissa - Daven FARNHAM: Voi, ei kiitos. RAMON GALVAN: Kiitos. DAVID MALAN: - liikkuva elokuva. No se on se CS50Live. Kiitos niin paljon ystävämme Dropbox, kiitos paljon kaikille kameran takana, CS50 oma Ramon Galvan ja Daven Farnham. Tämä oli CS50 ja tämä oli meidän suosikki kohtaus että ei se tehdä siitä elokuvan. JOHTAJA 1: Aiommeko saada auton tiellä? JOHTAJA 2: Se on tulossa, se on OK. [HORN Honking] Näyttelijättäret: Vau. Voi luoja.