DAVID MALAN: Witaj, świecie, w tym jest CS50Live, a chłopak, mamy mają niesamowity epizod dla Ciebie dzisiaj. Po pierwsze, spojrzenie na to, jak w środku Dropbox działa, a następnie zamknij spojrzeć na maleńkich chomików jeść małe burritos, i wreszcie, a zza sceny spojrzenie na nowy film CS50, w wytrwałości. Ale najpierw Dropbox.com, gdzie niedawno udał się w San Francisco, Kalifornia, spotkać się z byłym szefem CS50 za Nauczanie kolega, Thomas Carriero który dał nam wycieczkę z Dropbox i dokładnie, jak to jest, aby pracy i, Przypuszczam, tam mieszkają. Teraz usiadł nie tylko z Thomas podczas gdy, ale także z byłymi CS50 za Głowica nauczanie kumpel Alex Allain mówić o bazowym Wyrobiska Dropbox.com i jest rozproszona architektura. Rzućmy okiem. THOMAS CARRIERO: Jestem Thomas Carreiro Jestem inżynierem oprogramowania w Dropbox. ALEX ALLAIN: Jestem Alex Allain. Jestem inżynierem tutaj na Dropbox. THOMAS CARRIERO: Tak, tak, jestem faktycznie szef CF CS50 kiedy David Malan objął klasę. I już uczyć CS50 na dwa semestry Mike Smith, który był tam przed profesorem tam. ALEX ALLAIN: Więc rzeczywiście nie miała CS50, ale ja TF to dwa razy, raz w regularne TF, a następnie w ostatnim roku, I faktycznie szef TF z CS50, co było dużo zabawy. THOMAS CARRIERO: Więc kiedy David wyciągnął do mnie o ustanowienie Dropbox w urządzeniu CS50, Byłem bardzo podekscytowany, ponieważ faktycznie mieć klienta Linux. Większość naszych użytkowników używa albo Klienci z systemem Windows lub Macintosh, ale Linux, Macintosh i Klienci Windows są, rzeczywiście, Bardzo podobne. Więc to, co zrobiliśmy to my preinstalowany Klient Dropbox Linux w CS50 urządzenia, i to działa tak jak wszystkich naszych innych użytkowników Linuksa. ALEX ALLAIN: Tak sposób działa to Dropbox działa jako klient na wiele różnych systemów operacyjnych i urządzeń. Pulpicie klienta Drobox jest jeden z najbardziej powszechnie wiadomo, jeden z najbardziej interesujących. THOMAS CARRIERO: Więc Dropbox w zasadzie wykonuje wszystkie pliki , które można umieścić w fragmenty folderów, i to te pliki na cztery kawałki megabajt. Więc bierzemy 100 megabajt plik PDF, a my kawałek go do 25 czterech megabajtów kawałki. Kawałki te są następnie szyfrowane i potem wysłać im nasze serwery blokowe. ALEX ALLAIN: blok są serwery przechowywania samych bloków, a każdy blok jest tak przechowywany w Serwer blok z danymi i SHA-256 skrótu, który blokuje. To jest bardzo proste, prymitywne szyfrowanie podsumowujący, w pewnym sensie, dane w bardzo wyjątkowy sposób, że jest unikalny dla tych danych. Można załadować cały plik na raz, ale okazuje się, jeśli nie że z bardzo dużych plików, biorą naprawdę dużo czasu, aby przesłać, a jeśli masz awarię, masz pecha i trzeba go ponownie uruchomić. Co wtedy zrobić, to możemy powiedzieć, że inny serwer w naszym systemie, co nazywamy serwer meta, serwer metadanych, hej, to jest plik i to w składzie Poniższa lista bloków. I mijamy się mieszań zidentyfikować te bloki Zamiast ponownego ładowanie Cały blok. Meta sprawdza serwer z serwerami blokowych, zapewnia, że ​​bloki są tam - jeśli są idealne, wszystko jest dobrze. THOMAS CARRIERO: Kiedy chcemy się, w zasadzie, pobierz plik z internetu, powiedzmy, poprosimy serwer meta pierwszy, hej, może mi pan powiedzieć o w którym ten plik się znajduje, i serwer meta powie, o, dobrze, Ten plik jest w rzeczywistości 25 cztery megabajty kawałki, a oto one. A potem pójdziemy do bloku serwer, a my rzeczywiście pobranie każdego z tych porcji, a następnie my odtworzyć plik stamtąd, a następnie będziemy rozpocząć pobieranie. Tak, więc okazje Dropbox ze skalą, zasadniczo przez bardzo, bardzo agresywny sharding. ALEX ALLAIN: Więc sharding to jeśli wziąć wszystkich użytkowników w uruchamiania lub firmę, i być może kiedyś się z jednej bazy i że działa świetnie, dopóki nie hit pewną liczbę użytkowników i tak naprawdę to, co chcesz zrobić, to znaleźć sposób, podzielić te w poprzek dwóch bazy danych, a może więcej niż dwa - idealnie, tyle, że można posiada każdy użytkownik w świecie. Więc kiedy odłamek, co musisz zrobić, to znaleźć jakiś sposób z podjęciem decyzji która baza danych, aby przejść na które nie wymagają uderzając centralny katalog, czy może jest to bardzo szybkie, tanie look-up w tym centralnego katalogu. THOMAS CARRIERO: nie mamy wszystko przechowywane w jednej bazie danych, dlatego, że prawie nigdy nie będzie w skali. Więc zamiast tego, co możemy zrobić, to weźmiemy wszystko tej informacji, wszystkie pliki są metadanych a my go odłamek przez setki lub tysiące logicznej bazy danych. Oznacza to, że gdy mamy Prośba o informacje użytkownika, my najpierw powiedzieć, hej, co baza danych są informacje użytkownika przechowywane w, a następnie będziemy używać, że w zasadzie Decyzja o okazać, że bazy danych, i to, gdzie będziemy ładować wszystko pliki lub wszystkie metadane o plikach. Więc używamy dużo sharding, ale sharding nie zawsze wystarczy. Rzeczywiście trzeba buforować Wiele wspólnych wniosków, bo choć w bazie Zapytania mogą być kosztowne. Więc robimy również postępująca strategie buforowania aby upewnić się, że najczęstszym wnioski są dość łatwe do obliczenia, i w zasadzie, to sprawia, że ​​wiele szybsze i sprawia, że ​​działa na skalę. Tak, że znajduje się na bardzo wysokim poziomie rodzaju, jak Dropbox działa. ALEX ALLAIN: Nazywam się Alex Allain. THOMAS CARRIERO: Jestem Thomas Carreiro. ALEX ALLAIN: I to jest CS50. DAVID MALAN: Teraz, jeśli kiedykolwiek zastanawialiście gdzie ten cytat jest na stronie internetowej CS50 pochodzi, to rzeczywiście Alex kto jest autorem oryginału. Teraz, mówiąc o Dropbox, niedawno Ten e-mail od nich w skrzynce odbiorczej - Cześć, David, możesz zauważyć, że niektóre z linków udostępnionych nie pracują, a my chciał dotrzeć do Ciebie osobiście poinformować dlaczego. Cóż, co jest wspólne ogniwo? Cóż, jeśli już używany Dropbox poza po prostu zapisywania kodu źródłowego wewnątrz z urządzenia, możesz może wiedzieć, że ci mogą tworzyć wspólne linki przez zazwyczaj klikając prawym przyciskiem myszy na pliku i kopiując adres URL do schowka. Że wspólny związek może wyglądać trochę coś takiego, ale zamiast tajemnicy słowa, jest faktycznie coś bardziej tajemnicze Istnieje, na przykład sekwencji losowych liter i cyfr. Istota pomysł, że mogę teraz wysłać lub Gchat tego rodzaju url do przyjaciela, i on lub ona może przejść CS50.txt i ściągnąć go na swoim komputerze. I wiedząc, że tylko poprzez adres URL, lub bardzo, bardzo małe prawdopodobieństwo, zgadywania że url, może ktoś inny faktycznie dostęp do pliku. Niestety firma znany jako IntraLinks niedawno pisał na ich CollaboristaBlog że istnieje rzeczywiście kilka zagrożenia dla tego konkretnego workflow. Okazuje się, że jeśli przypadkowo popełnić błąd, bo, szczerze mówiąc, zrobili w przeszłości, i pasta url jak Dropbox wspólnego łącza, do nie adresu przeglądarki bar, ale jak na zdjęciu, Twój pasek wyszukiwania, który url, oczywiście, będzie należy składać do wyszukiwarki takie jak Google. Oczywiście, Google nie będzie muszą uznać, że wspólny związek, i tak masz zamiar Wyszukiwanie ogólne uzyskać więcej Wyniki jak linkiem do Dropbox.com się, i w tym przypadku, reklamy i W rzeczywistości reklamy potencjalnie dla konkurentów Dropbox. W rzeczywistości, to jest jak IntraLinks Zauważyłem to - one, też biegali konto AdSense Kampania oprócz słów kluczowych że Dropbox sami mogą używać. I tak, jeśli powiększyć dolne wyniki tutaj, zobaczysz, że Inralinks ma ten link do swojego serwisu. Obecnie jednym z cech Google i inne wyszukiwarki " kampanie reklamowe, jest to, że gdy użytkownika jak ja kliknie na ten link, teraz, Mam zamiar być ujawnieniu url że wpisałem w Google w celu znaleźć te wyniki wyszukiwania. Pomysł jest, że Firmy chcą wiedzieć jak ludzie napotykają ich stronę. Oczywiście, jeśli znalazłem ta strona wyników wklejając inaczej Sekret url w Google, I już teraz, skutecznie, powiedział IntraLinks i ich stron internetowych Dzienniki dokładnie to, co w tajemnicy url I odwiedzał, co skutkuje ujawnieniem, potencjalnie zawartość CS50.txt. Teraz jest jeszcze jeden zagrożenie razem - może wiesz też, z Dropbox wspólne odnośniki, które można zwykle otworzyć je wewnątrz własnych Przeglądarka i podgląd ich do środka ramki tak. Ale jeśli to podgląd zawiera hiperłącze, jak na zdjęciu, żeby Example.com, i kliknij użytkownika lub że hiperłącze, otwierając w ten sposób Nowa karta lub okno, że strona jest url, co pan właśnie powiedział również web Serwer, z natury, jak HTTP działa, odnoszą się adres HTTP skąd przyszedłeś. Innymi słowy, jesteś informowany strona przeznaczenia które były wcześniej w to podobno tajne url. Teraz, co odkryto IntraLinks patrząc przez własnych dzienników jest to, że znaleźli sporo informacji, które było pewnie miało być tajemnicą - dla instancji, czyjaś hipotecznych Aplikacja, czyjeś zeznania podatkowego, a kiście więcej dokumentów, jak również. Teraz, jeśli chcesz dowiedzieć się więcej o szczególnym zagrożeniu, udać się do drop box blog pod tym adresem tutaj, a rzeczywistość jest taka, że ​​naprawdę nie można bronić się przed zagrożeniem, w którym ludzie jak ja przypadkowo wklej to, co powinno tajne adresy URL do wyszukiwarek. Ty i ja jesteśmy po prostu będzie trzeba być nieco bardziej ostrożny. Ale oni pracują na naprawienie drugą przy czym problem linki, które są wbudowane w Dropbox Podgląd zostały ujawnieniu url odnieść. Ale głowa do tego url więcej szczegółów. Ale teraz, jak obiecał, bliższe spojrzenie w maleńkich chomików jedzenia małe burritos. [MUZYKA GRA] DAVID MALAN: drużyny już teraz CS50 za Niedawno miałem okazję do udziału w 48-godzinny projekt filmowy, międzynarodowa konkurs, podczas którego drużyny miały rzeczywiście, 48 godzin sam zrobić film. Połów jest, że tylko dowiedzieć się, co folia należy dokonać w bardzo rozpocząć od tych 48 godzin. W szczególności, niedawno Piątek wieczorem o 7:00 pm, my w CS50 dowiedziałem, że będziemy co jeden, niemy film, dwa, że folia potrzebne wyposażone w postać o imieniu Jeremiah Jones, nauczyciel, Trzy, że folia potrzebne do funkcji dziennika, ten tutaj, i cztery, że musimy jakoś obejmują Linia jest to co to jest nawet choć, oczywiście, my robili filmu niemego. Teraz, 26 członków zespołu CS50 za udział w tym filmie 48-godzinnym Projekt, wśród nich Colton, Dan, Padraig i Shelley Westover, którego można przywołać z takich filmów, jak ten tutaj. Teraz, również zaangażowany, oczywiście, był CS50 własnej Ramon Galvan. Ramon, zapraszamy na koncert. RAMON GALVAN: Dziękuję za zaproszenie. DAVID Malan: Oraz CS50 jest właścicielem Daven Farnham. Teraz, Ramon, co było Twoja rola w tym filmie? [? RAMON GALVAN: Kod lotu] dyrektor z Danem, faktycznie. DAVID MALAN: A Daven, sam? Daven Farnham: jestem gwiazdą, więc w zasadzie wykonany projekt. Uratowałem film. DAVID MALAN: Uratowałeś film. Daven Farnham: zrobiłem. DAVID MALAN: Teraz to powiedzieć, ale wierzę, mamy test ekranu dla tego filmu. Jeśli możemy toczyć ten klip tutaj. Daven Farnham: Nazywam się Daven Farnham, a to CS50. Chciałem powiedzieć, CSS. To jest CSS. DAVID MALAN: Teraz był twój pierwszy film? Daven Farnham: Uh, nie, być może. DAVID MALAN: No, dobrze, to przynajmniej razem był to film niemy. Daven Farnham: Tak. DAVID MALAN: Więc o 7:00 pm, okazało się, z tych niezbędnych składników, a następnie natychmiast nurkowania jako grupę dowiedzieć się, co my filmu rzeczywiście zamiar zrobić. Chcesz iść z nami przez co to w nocy było jak? Daven Farnham: Więc w zasadzie mamy pojęcia, o 7:00, my w zasadzie zaczęło burza mózgów, więc wszelkiego rodzaju zgromadzili się wokół tablicy i zaczął burzy mózgów pomysłów, a następnie 09:00, próbowaliśmy rzucić go do pisarzy, i pisarze wziął go stamtąd. DAVID MALAN: A tymczasem, Dan i Shelley i faktycznie udaliśmy się do cel, oczywiście, nasz ulubiony sklep w pobliżu, aby zebrać wszystkie rekwizyty do filmu zdecydowaliśmy się na, które w tym momencie był - Daven Farnham: Zdecydowaliśmy na filmie parzystości przygody. DAVID MALAN: whic jechałem całkiem jak Indiana Jones. Daven Farnham: Tak, więc potrzebowaliśmy byka bicze i potrzebowaliśmy fedora i rzeczy. DAVID MALAN: I bardzo Ozdobny biżuterię że będzie to znaleźć Na koniec odcinka. Oczywiście, możemy wrócić na północy lub tak Target i uświadomić sobie, Nie, to nie jest film robimy - psych. Daven Farnham: Całkowicie inna folia. RAMON GALVAN: Mieliśmy Film noir na kilka godzin, Następnie mieliśmy romantyczny komedia na końcu. DAVID MALAN: Więc o 04:00, mieliśmy komedia romantyczna, a około 05:00, ty i Dan, inne reżyser, pokazał. RAMON GALVAN: Tak, tak, mamy razem i rodzaj zaplanowane gdzie wold strzelać, co jest sceny będziemy strzelać pierwszy, a następnie około 07:00 lub 08:00, to faktycznie wyszedł i zaczął strzelać. DAVID MALAN: Cóż, jeśli można trzymać się, chcielibyśmy zrobić jakieś zza sceny Wygląda na to, jak film został wykonany, ale myślę, że po pierwsze, mamy dają ludzie prapremierę filmu CS50, w wytrwałości. [MUZYKA GRA] DAVID MALAN: Chłopaki, to znaczy - więc zacznijmy od początku. Tak bardzo pierwsza scena wszyscy w grupie strzela że rano miało miejsce około 08:00 a.m, i byliśmy naprawdę tutaj, Jefferson Hall, który jest w rzeczywistości jednym sal wykładowych fizyki na kampusie. I to, co było celem w tej scenie? RAMON GALVAN: Więc my tutaj rozpocząć film, daven jako nauczyciel, nauczanie, kolegów lub asystenta nauczyciela, coś tak, i był bardzo zdenerwowany że widzi to para wychodzi a on chce. On chce być w związku, on po prostu nie ma. DAVID MALAN: A potem następne sceny, możemy przejść do rzeczywistości nie został zastrzelony w porządku. W rzeczywistości, tutaj jesteś - Daven Farnham: Tak tutaj, w rzeczywistości, kręciliśmy to ten - był to jeden z ostatnich scen kręciliśmy, ale to rzeczywiście pojawia się w Bardzo początek filmu. A więc w tej scenie, to montaż, a więc to, co robię jest Kładę na Kolonii Jestem czesanie włosów. DAVID MALAN: Używasz wody kolońskiej? Daven Farnham: Uh, Ramon Kolonia, dużo wody kolońskiej. DAVID MALAN: A którego koszulę? Daven Farnham: Uh, koszula Ramon. DAVID MALAN: Tak, że było więcej niż brać, a do końca koszulę dość - Daven Farnham: Tak, myślę, że musieliśmy wziąć trzy lub cztery trwa, więc każdy był take trzy, więc nie tryska były o 12 tryska z Kolonii. Więc pachniał tym Kolonii na resztę dnia. DAVID MALAN: Cóż, w najmniej, bardzo szybko. My przeniesione na zewnątrz, i, W rzeczywistości, jeśli przyjrzeć się bliżej, to jest rzeczywiście CS50 jest własny Lauren Caraballo. Ale to, co było myśląc o tej scenie? Daven Farnham: Dobrze, więc w tej scenie, staramy się zwrócić jej uwagę. Więc idę za nią, Jestem Peacocking, oczywiście. DAVID MALAN: Peacocking? Daven Farnham: Och, nie wiesz? RAMON GALVAN: Uh, powinienem? Daven Farnham: Tak, Oczywiście, oczywiście. Tak normalne chodzenie, oczywiście, jest po prostu normalne chodzenie. DAVID MALAN: Więc to jest normalne chodzenie? Daven Farnham: To normalne chodzenie. Peacocking, rzucać małe biodra tam. RAMON GALVAN: To naprawdę wszystko tutaj. Daven Farnham: To wszystko jest tutaj. To od tego qua - To wszystko w biodrach. A następnie na samym końcu, trzeba pop i zablokować. To jest klucz do manewru - to klucz. DAVID MALAN: pop i zamek. Dobrze, dobrze, faktycznie Wiele komedii ciała w filmie. W istocie, jednym z następnych scen tu w Lamont Library, obok drzwi. Daven Farnham: Tak, oni są tutaj, więc jestem naprawdę starając się - myślę, że to ciągnąć drzwi i jestem popychanie, i jak rozwija się ta scena, Jestem pchania i popychanie coraz bardziej agresywnie. I myślę, że w końcu ktoś faktycznie powala mnie z drogi. DAVID MALAN: Tak, w Fakt, nie zauważyłem - do fazy edycji. RAMON GALVAN: Tak, tak, jeśli powiększyć do tego strzału, i Dan, możemy poprawić trochę? OK, doskonały. Więc musisz zobaczyć mnie przykucnął o pop-up i kołaczę Daven w twarz z drzwiami. DAVID MALAN: To, że zabawa znaleziono filmy na kilka godzin przed musiał wysyłać filmy dla terminu. Dobrze, dobrze dziękuję zarówno tyle do łączenia i wystąpili w takich - Daven Farnham: Och, nie, dziękuję. RAMON GALVAN: Dziękuję. DAVID MALAN: - przenoszenie filmu. Dobrze, że jest to dla CS50Live. Wielkie dzięki dla naszych przyjaciół na Dropbox, dzięki tak dużo dla każdego za kamerą, CS50 własnych Ramon Galvan i Daven Farnham. To był CS50 i to była nasza ulubiona scena że nie to zrobić to w filmie. DYREKTOR 1: zrobimy dostać samochód w drodze? DYREKTOR 2: To przychodzi, to jest OK. [HORN trąbić] AKTORKA: Wow. O, Boże.