DAVID מלאן: שלום, עולם, זה הוא CS50Live, וילד, יעשה לנו יש פרק מדהים בשבילך היום. ראשית, מבט מבפנים על איך Dropbox עובד, אז קרוב להסתכל על אוגרים זעירים אוכל בוריטוס הזעיר, ולבסוף, מאחורי הקלעים נראים בסרטו של CS50 החדש, התמדה. אבל קודם, Dropbox.com, איפה אנחנו לאחרונה נסעתי בסן פרנסיסקו, קליפורניה, להיפגש עם הראש לשעבר של CS50 עמית הוראה, תומאס Carriero שנתן לנו סיור של Dropbox ובדיוק את מה שהיא רוצה לעבוד ו, מעז לומר, לגור שם. עכשיו אנחנו התיישבנו לא רק עם תומאס ואילו שם, אבל גם עם העבר של CS50 עמית הוראת ראש אלכס Allain לדבר על הבסיס פעולתו של Dropbox.com וזה מופץ אדריכלות. בואו נסתכל. THOMAS CARRIERO: אני תומאס Carreiro אני מהנדס תוכנה בDropbox. ALEX Allain: אני אלכס Allain. אני מהנדס כאן בDropbox. THOMAS CARRIERO: כן, אז אני היה למעשה CF הראש הראשון לCS50 כאשר דוד מלאן השתלט על הכיתה. אני כבר מלמד CS50 לשני סמסטרים עם מייק סמית, שהייתה שם הפרופסור לפני שם. ALEX Allain: אז אני למעשה לא לקחתי CS50, אבל עשיתי TF זה פעמיים, פעם אחת כ TF הרגיל ולאחר מכן בשנת הלימודים האחרונה, למעשה הייתי TF ראש CS50, שהיה הרבה כיף. THOMAS CARRIERO: לכן, כאשר דוד הושיט את ידו אליי על הקמת Dropbox במכשיר CS50, אני ממש התרגשתי, כי למעשה יש לנו לקוח לינוקס. רוב המשתמשים שלנו להשתמש בכל אחת Windows או Macintosh הלקוחות, אבל לינוקס, מקינטוש, ו לקוחות Windows כולם, למעשה, דומה מאוד. אז מה שעשינו זה שמותקנים מראש לקוח Dropbox לינוקס בCS50 מכשיר, והוא פועל בדיוק כמו כל משתמש לינוקס האחר שלנו. ALEX Allain: אז דרך Dropbox עובד זה פועל כלקוח על רבים ושונה מערכות הפעלה והתקנים. לקוח שולחן העבודה Drobox הוא אחד הידוע ביותר, אחד המעניין ביותר. THOMAS CARRIERO: אז Dropbox בעצם לוקח את כל הקבצים שאתה מכניס נתחי תיקייה, וזה את אותם קבצים לארבעה נתחים מגה. אז אנחנו ניקח 100 קובץ PDF מגה, ואנחנו נתח אותה לנתחי 25 ארבעה מגה. אז גושים אלה מוצפנים, ו אז אנחנו שולחים אותם שרתי הבלוק שלנו. ALEX Allain: שרתי הבלוק הם האחסון ללוקים עצמם, וכך כל בלוק מאוחסן ב שרת הבלוק עם הנתונים וחשיש SHA-256 של שלוקים. זה הצפנה בסיסית מאוד פרימיטיבית שמסכם, במובן מסוים, את הנתונים בצורה מאוד ייחודי דרך שייחודית לנתונים אלה. אתה יכול להעלות קובץ כולו בבת אחת, אבל מסתבר שאם אתה עושה את כי עם קבצים גדולים באמת, הם לוקחים הרבה מאוד זמן כדי להעלות, ואם יש לך כישלון, אתה מחוץ מזל ו אתה צריך להפעיל מחדש את זה. מה שאנחנו עושים זה אז אנחנו אומרים לי שרת אחר במערכת שלנו, מה אנחנו קוראים לשרת meta, שרת מטה, היי, זו היא קובץ וזה מורכב להלן רשימה של בלוקים. ואנחנו עוברים את האלגוריתמים Hash לזהות בלוקים אלה ולא מחדש העלאה כל הבלוק. שרת meta אז המחאות עם שרתי הבלוק, מוודא בלוקים נמצאים שם - אם הם, מושלמים, הכל טוב. THOMAS CARRIERO: כאשר אנו רוצים ל, בעצם, להוריד את הקובץ מהאינטרנט, נניח, נבקש meta השרת ראשון, היי, אתה יכול לספר לי על שבו בקובץ זה נמצא, ומטא שרת יגיד, אה, כן, קובץ זה הוא למעשה 25 ארבעה מגה נתחים, והנה הם. ואז נלך לבלוק שרת ואנחנו בעצם להוריד כל אחד מהגושים הללו, ולאחר מכן אנו לשחזר את הקובץ משם, ולאחר מכן נתחיל את ההורדה. כן, אז עסקות Dropbox עם קנה מידה, בעצם, מעצם, sharding מאוד אגרסיבי. ALEX Allain: אז sharding הוא כאשר אתה לוקח כל המשתמשים בך הפעלה או החברה שלך, ואולי הם משמשים להיות על מסד נתונים אחד, וזה עובד נהדר עד שאתה פגע במספר מסוים של משתמשים, ובאמת מה שאתה רוצה לעשות הוא למצוא דרך כלשהי לפצל אותם על פני שני מסדי נתונים או אולי יותר משני - באופן אידיאלי, מספיק שאתה יכול יש לכל משתמש בעולם. לכן, כאשר אתה רסיס, מה שאתה עושה הוא שאתה מוצא דרך כלשהי שתחליט איזה מסד נתונים ללכת שלאינו דורש להכות בספרייה מרכזית, או אולי זה מהיר מאוד, זול להסתכל למעלה שבספרייה מרכזית. THOMAS CARRIERO: אף פעם אין לנו כל מה שמאוחסן במסד נתונים אחד, כי זה כמעט אף פעם לא הולך לקנה מידה. אז במקום, מה שאנו עושים זה ניקח כל מידע זה, כל הקבצים הם כולם של מטה ואנחנו שבר זה על פני מאות או אלפים מסדי נתונים של לוגיים. זה אומר שכאשר יש לנו בקשה למידע של משתמש, אנחנו נגיד ראשון, היי, איזה מסד נתונים הוא המידע של משתמש זה מאוחסן ב, ואז אנחנו בעצם משתמשים ש החלטה ללכת למצוא באתר זה, וזה שבו אנחנו יהיו לטעון את כל הקבצים או כל מטה אודות הקבצים. אז אנחנו משתמשים בהרבה sharding, אבל sharding זה לא תמיד מספיק. אתה בעצם צריך מטמון הרבה בקשות משותפות, כי למרות שבסיס נתונים שאילתות יכולות להיות יקרות. אז אנחנו גם עושים פרוגרסיבי אסטרטגיות מטמון לוודא כי הנפוץ ביותר בקשות הן די קלים לחישוב, ובעצם, זה עושה את זה הרבה מהר יותר והופך אותו לעבוד בקנה המידה. אז זהו, ברמה גבוהה מאוד, סוג של איך Dropbox עובד. ALEX Allain: קוראים לי אלכס Allain. THOMAS CARRIERO: אני תומאס Carreiro. ALEX Allain: וזה CS50. DAVID מלאן: עכשיו, אם אי פעם תהו שבו ציטוט זה באתר האינטרנט של CS50 מגיע, זה בעצם אלכס מי הוא המחבר המקורי. עכשיו, מדבר על Dropbox, אני לאחרונה קיבל דוא"ל זה מהם בתיבת הדואר הנכנס שלי - היי, דוד, אתה יכול שם לב שחלק מהקישורים המשותפים שלך לא עובדים, ואנחנו רציתי להגיע אליך באופן אישי כדי שתוכל לדעת למה. ובכן מה קשר משותף? ובכן, אם השתמשת Dropbox מעבר פשוט חוסך קוד המקור שלך בתוך של המכשיר, אתה אולי יודע שאתה יכול ליצור קישורים משותפים לחיצה בדרך כלל ממש על קובץ ומעתיק את כתובת האתר ללוח שלך. שהקישור משותף עשוי להיראות קצת משהו כזה, אבל במקום של מילת הסוד, יש בעצם משהו נסתר יותר שם, כמו רצף של אותיות אקראיות ומספרים. ההוויה הרעיון שאני עכשיו יכול דוא"ל או Gchat של כתובת אתר מסוג זה, לחבר והוא או היא יכול לגשת CS50.txt ו להוריד אותו למחשב שלו או שלה. ורק על ידי לדעת את כתובת אתר זה, או עם הסתברות סופר, סופר נמוך, ניחוש כתובת אתר ש, יכול מישהו אחר בעצם לגשת לקובץ. למרבה הצער חברה המכונה Intralinks פורסם לאחרונה על CollaboristaBlog שיש למעשה כמה איומים על זרימת עבודה המסוימת הזה. מתברר שאם אתה בטעות עושה טעות, כפי שאני, בכנות, עשה בעבר, ודבק כתובת אתר כמו קישור Dropbox משותף, לאינו הכתובת של הדפדפן בר, אבל כמו בתמונה כאן, סרגל החיפוש שלך, כי כתובת אתר, כמובן, הוא הולך שיוגש ל מנוע חיפוש כמו גוגל. כמובן, גוגל לא הולכת בהכרח מכיר בכך שקישור משותף, ואז אתה הולך ל לקבל חיפוש כללי יותר תוצאות כמו קישור לDropbox.com עצמו, ובמקרה הזה, פרסומת, ו למעשה, פרסומות, באופן פוטנציאלי, למתחרים של Dropbox. למעשה, ככה Intralinks הבחין בכך - הם, מדי, רצו AdSense קמפיין לצד של מילות מפתח שDropbox עצמם עשויים להשתמש בו. ולכן אם אנחנו להתמקד על התוצאות התחתונה כאן, אתה תראה שיש Inralinks קישור זה לשירות שלהם. כיום הוא אחת מהתכונות של גוגל ומנועי חיפוש אחרים ' מסעות פרסום הוא שכאשר משתמש כמוני לוחץ על קישור זה, עכשיו, אני הולך להיות לחשוף את כתובת האתר שהקלדתי לתוך גוגל על ​​מנת כדי למצוא תוצאות החיפוש הללו. להיות הרעיון כי חברות היינו רוצים לדעת איך אנשים מוצאים את אתר האינטרנט שלהם. כמובן, אם מצאתי דף זה של תוצאות על ידי הדבקה בדרך אחרת כתובת אתר סודית לגוגל, אני כבר עכשיו, ביעילות, סיפרתי Intralinks והאינטרנט שלהם יומנים בדיוק מה שאני url סוד ביקר, ובכך לחשוף, באופן פוטנציאלי, את התוכן CS50.txt. עכשיו, יש עוד איום כולם ביחד - אולי אתה יודע, גם מDropbox משותף קישורים שאתה בדרך כלל יכול לפתוח אותם בתוך משלך דפדפן ולצפות בתצוגה מקדימה אותם בתוך של מסגרת כזאת. אבל אם תצוגה מקדימה ש מכיל קישור, כמו בתמונה כאן כדי Example.com, ואתה או לחיצה של משתמש קישור זה, ובכך לפתוח כרטיסייה או חלון חדש עם הדף של ש כתובת אתר, מה שגם רק אמר לי האינטרנט שרת, על ידי הטבע של איך HTTP עובד, הוא מתייחס HTTP כתובת שממנו באת. במילים אחרות, אתה הודיע אתר היעד שהייתם בעבר ב url כביכול את הסוד הזה. עכשיו, מה Intralinks גילה על ידי מחפש דרך היומנים שלהם הוא שהם מצאו לא מעט מידע שהיה בוודאי אמור להיות סודי - עבור למשל, המשכנתא של מישהו יישום, החזרי המס של מישהו, ו צרורות של מסמכים נוספים, גם כן. עכשיו, אם אתה רוצה ללמוד יותר על איום המסוים הזה, ראש לצניחה של התיבה בלוג בכתובת זו כאן, והמציאות היא שאתה לא יכול באמת להתגונן מפני איום שבו אנשים כמוני להדביק בטעות את מה שצריך להיות כתובות סודיות למנועי חיפוש. אתה ואני פשוט הולכים צריך להיות קצת יותר זהיר. אבל הם כבר עובדים על תיקון עוולה לפיה נושא האחר קישורים שמשובצים בDropbox תצוגה מקדימה היו לחשוף את ה-URL מתייחס. אבל ראש לכתובת אתר שלפרטים נוספים. אבל עכשיו,, מבט מקרוב כפי שהובטח באוגרים קטנים אוכלים בוריטוס הזעיר. [השמעת מוסיקה] DAVID מלאן: צוות של עכשיו CS50 לאחרונה הייתה לי הזדמנות להשתתף ב פרויקט קולנועי 48 שעות ביממה, בינלאומי תחרות שבמהלכו צוותי היו, אכן, 48 שעות לבד לעשות סרט. המלכוד הוא שאתה רק לגלות מה סרט שאתה צריך לעשות לכל תתחיל מ48 שעות אלה. בפרט, על אחרונים יום שישי בערב בשעת 7:00 בערב, אנחנו ב CS50 למדנו שנהיה ביצוע אחד, סרט אילם, שתי, שהסרט צריך כוללים דמות בשם ירמיהו ג'ונס, מורה, שלוש, שהסרט דרוש תכונת יומן, זה כאן, וארבעה, שאנחנו צריכים לכלול איכשהו הקו זה מה שזה אפילו אם כי, כמובן, היו עושה סרט אילם. עכשיו, 26 חברי צוות של CS50 השתתף בסרט 48 שעה זו פרויקט, ביניהם קולטון, דן, Padraig, ושלי סטובר, שאתם אולי זוכרים מסרטים כמו זה כאן. כעת, מעורב גם, כמובן, היה רמון Galvan של CS50. רמון, מוזמן למופע. רמון Galvan: תודה לך על שיש לי. DAVID מלאן: וCS50 של בעלי ךייבן Farnham. עכשיו, רמון, מה היה התפקיד שלך בסרט? [? רמון Galvan:? קוד טיסה] הבמאי עם דן, בעצם. DAVID מלאן: ותתפלל, את עצמך? להתפלל Farnham: הייתי הכוכב, אז בעצם עשיתי את הפרויקט. אני הצלתי את הסרט. DAVID מלאן: שמר את הסרט. להתפלל Farnham: אני עשיתי. DAVID מלאן: עכשיו, אתה אומר את זה, אבל אני מאמין יש לנו מבחן המסך שלך לסרט הזה. אם היינו יכול לגלגל את הקליפ הזה כאן. להתפלל Farnham: שמי ךייבן Farnham, וזה CS50. רציתי לומר CSS. זה ב-CSS. DAVID מלאן: עכשיו זה היה הסרט הראשון שלך? להתפלל Farnham: אה, לא, אולי. DAVID מלאן: לא, טוב, לפחות זה הפעם זה היה סרט אילם. להתפלל Farnham: כן. DAVID מלאן: אז בשעת 7:00 בערב, מצאנו את המרכיבים הנדרשים אלו, ואז אנחנו מייד צלל כבקבוצה כדי להבין מה אנחנו סרט היו למעשה הולך לעשות. האם אתה רוצה ללוות אותנו דרך מה זה היה כמו באותו הלילה? להתפלל Farnham: אז בעצם יש לנו את הרעיון בשעת 7:00, אנו בעצם התחלנו סיעור מוחות, ולכן אנחנו כל הסוג של התאסף סביב לוח והתחיל להעלות רעיונות שונים, ולאחר מכן על ידי 9:00, ניסינו לזרוק אותו לסופרים, והכותבים לקחו את זה משם. DAVID מלאן: ובינתיים, דן ושלי ואני ממש בדרך ליעד, כמובן, החנות הסמוכה האהובה שלנו, כדי לאסוף את כל התפאורה לסרט אנחנו החלטנו על, אשר בשלב זה היה - להתפלל Farnham: אנחנו החלטנו בסרט הרפתקאות זוגיות. DAVID מלאן: אשר הולך להיות ממש כמו אינדיאנה ג'ונס. להתפלל Farnham: כן, כך שהיינו צריך שור שוטים ואנחנו צריכים מגבעת וכאלה. DAVID מלאן: ומאוד תכשיט מצועצע כי אז הוא הייתי מוצא בסוף הפרק. כמובן, אנחנו מקבלים בחזרה חצות בערך מהיעד ומבין, לא, זה לא הסרט שאנחנו עושים - פסיכיאטריים. להתפלל Farnham: לגמרי סרט שונה. רמון Galvan: היה לנו סרט נואר במשך כמה שעות, לאחר מכן היו לנו רומנטי קומדיה בסוף. DAVID מלאן: אז על ידי 4:00, היה לנו קומדיה רומנטית, וסביב 5:00, אתה ודן, אחר הבמאי, הופיע. רמון Galvan: כן, אז יש לנו יחד ותכננו את סוג של איפה אנחנו וולד לירות, מה סצנות היינו לירות ראשונה, ולאחר מכן בסביבות 7:00 או 8:00, אנחנו למעשה יצא והתחיל לירות. DAVID מלאן: ובכן, אם אתה יכול להישאר בסביבה, אנחנו נשמח לעשות קצת מאחורי הקלעים מסתכל איך הסרט נעשה, אבל אני חושב שראשון, מה דעתכם לתת לאנשים את הבכורה העולמית סרטו של CS50, התמדה. [השמעת מוסיקה] DAVID מלאן: חבר 'ה, אני מתכוון - אז הבה נתחיל מלמעלה. אז הסצנה הראשונה כולנו נורו כקבוצה באותו בוקר התרחש בסביבות 8:00 a.m, והיינו ממש כאן, ג'פרסון הול, שהוא למעשה אחד מאולמות הרצאות בפיסיקה בקמפוס. ומה הייתה המטרה בסצנה הזאת? רמון Galvan: אז אנחנו היו כאן כדי להפעיל את הסרט, להתפלל כמורה, עמית הוראה, או עוזר הוראה, משהו ככה, והוא היה ממש עצוב כי הוא רואה כמה זה יוצא והוא רוצה את זה. הוא רוצה להיות במערכת יחסים, הוא פשוט לא צריך את זה. DAVID מלאן: ואז הבא סצנה, שמעבר לבפועל לא נורה בצו. למעשה, כאן, אתה - להתפלל Farnham: אז כאן, למעשה, אנחנו ירינו זה זה - זה היה אחד הסצנות האחרונות שצילמנו, אבל זה בעצם מופיע ב תחילתו של הסרט. וכך, בסצנה הזאת, זה מונטאז', ואז מה שאני עושה הוא אני שם על בושם, אני מסרק את השיער שלי. DAVID מלאן: האם אתה משתמש בבושם? להתפלל Farnham: אה, רמון בושם, הרבה בושם. DAVID מלאן: וחולצה של מי? להתפלל Farnham: אה, חולצתו של רמון. DAVID מלאן: אז זה היה יותר מ טייק אחד, ואת החולצה עד הסוף היה די - להתפלל Farnham: כן, אני חושב היינו צריך לקחת שלוש או ארבעה לוקח, ולכן כל אחד מצילומים שלושה ילדונים, ולכן יש היו על 12 ילדונים של בושם. אז הרחתי כמו בושם ש לשארית היום. DAVID מלאן: ובכן, ב לפחות, מהר מאוד. אנחנו העברנו בחוץ, ו, למעשה, אם אתה מסתכל מקרוב, זה הוא למעשה CS50 של של לורן Caraballo. אבל מה היו לך לחשוב עם הסצנה הזאת? להתפלל Farnham: נכון, אז בסצנה הזאת, אנחנו מנסים לקבל את תשומת הלב שלה. אז אני הולך על ידה, אני peacocking, כמובן. DAVID מלאן: Peacocking? להתפלל Farnham: אה, אתה לא יודע? רמון Galvan: אה, באמת? להתפלל Farnham: כן, כמובן, כמובן. הליכה כל כך נורמלית, כמובן, רק הליכה רגילה. DAVID מלאן: אז זה הליכה רגילה? להתפלל Farnham: זה הליכה רגילה. Peacocking, לזרוק ירכיים קטנות שם. רמון Galvan: זה באמת בסדר כאן. להתפלל Farnham: זה בסדר כאן. זה מזה קואה - זה הכל בירכיים. ואז ממש בסוף, אתה צריך הפופ ולנעול. זה מפתח לתמרון - זה מפתח. DAVID מלאן: פופ ומנעול. בסדר, נו, אתה באמת עשית הרבה קומדיה פיזית בסרט. למעשה, אחת הסצנות הבאות היה כאן בספרייה למונט, מחוץ לדלת. להתפלל Farnham: כן, הם ממש כאן, אז אני למעשה מנסה - אני חושב שזה למשוך את הדלת ואני דוחף, וכמו הסצנה שמתקדמת, אני דוחף ודוחף אי פעם בצורה אגרסיבית יותר. ואני חושב שבסופו של הדבר, מישהו למעשה דופק אותי מהדרך. DAVID מלאן: כן, וב למעשה, אנחנו לא שמנו לב - עד שלב העריכה. רמון Galvan: כן, ולכן, אם אנחנו זום לזריקה זו, ודן, אנחנו יכולים לשפר קצת? בסדר, מושלם. אז יש לך לראות אותי התכופף על לצוץ ולהפיל להתפלל בפרצוף עם הדלת. DAVID מלאן: זה כיף שמצאנו מד שעות ספורים לפני שאנחנו היה צריך לשלוח את הסרטים למועד האחרון. בסדר, גם מודים לך כל כך הרבה שניהם להצטרפות ולכיכוב בכזה - להתפלל Farnham: הו, לא תודה. רמון Galvan: תודה לך. DAVID מלאן: - סרט מרגש. ובכן, כי הוא זה בשביל CS50Live. תודה רבה לחברים שלנו ב Dropbox, תודה רבה לכולם מאחורי המצלמה, CS50 שלך רמון Galvan ויתפלל Farnham. זה היה CS50 וזה הייתה הסצנה האהובה עלינו זה לא אותו להפוך אותו לסרט. 1 מנהל: אנחנו הולכים להביא את המכונית בכביש? DIRECTOR 2: זה מתקרב, זה בסדר. [הורן צופר] שחקנית: וואו. הו, אלוהים.