DAVID MALAN: Hola, mundo, estase CS50Live, y chico, nosotros también tener un episodio increíble para usted hoy. En primer lugar, una mirada al interior de cómoDropbox funciona, entonces una estrecha ver diminutos hámsterscomer pequeñas burritos, y, por último, una mirada detrás de las escenas de veren la nueva película de CS50, Persistencia. >> Pero primero, Dropbox.com,donde recientemente viajó en San Francisco, California,para reunirse con el ex jefe de CS50 compañero de enseñanza, Thomas Carrieroque nos dio un tour de Dropbox y es exactamente lo que se siente altrabajar y, atrevo a decir que vivir allí. Ahora nos sentamos no sólocon Thomas mientras que allí, sino también con el ex de CS50compañero de enseñanza cabeza Alex Allain para hablar sobre el subyacentefuncionamiento de Dropbox.com y se distribuye la arquitectura. Vamos a echar un vistazo. THOMAS Carriero: Soy Thomas CarreiroSoy un ingeniero de software de Dropbox. ALEX ALLAIN: Soy Alex Allain. Soy ingeniero aquí en Dropbox. >> THOMAS Carriero: Sí, así que estabaen realidad el primer CF cabeza para CS50 cuando David Malan se hizo cargo de la clase. Yo ya había estado enseñandoCS50 durante dos semestres con Mike Smith, que estaba allíel profesor antes de allí. >> ALEX ALLAIN: Así queen realidad no tomó CS50, pero lo hice TF dos veces, una vez comoTF regular y luego en mi último año, Yo estaba en realidad Jefe del TFCS50, que era un montón de diversión. THOMAS Carriero: Así que cuandoDavid se acercó a mí sobre la configuración de Dropboxen el aparato CS50, Yo estaba muy emocionado, porquede hecho tenemos un cliente Linux. La mayoría de nuestros usuarios utilizan ya seaDe Windows o los clientes de Macintosh, pero el Linux, Macintosh yLos clientes de Windows son, en realidad, muy similar. Así que lo que hicimos es que pre-instaladoel cliente de Dropbox Linux en el CS50 aparato, y funciona comotodos nuestros otros usuarios de Linux. >> ALEX ALLAIN: Así que elmanera Dropbox funciona es que funciona como el cliente en muchos diversossistemas operativos y dispositivos. El cliente de escritorio Drobox esuno de los más conocidos, uno de los más interesantes. >> THOMAS Carriero: Así Dropboxbásicamente toma todos los archivos que se pone en eltrozos de carpetas, y esos archivos en cuatro trozos megabyte. Así que vamos a echar un 100archivo PDF megabyte, y vamos a trozo en 25 trozos de cuatro megabytes. Estos trozos son entonces encriptados, yluego les enviamos nuestros servidores de bloque. >> ALEX ALLAIN: Los servidores de bloque sonel almacenamiento de los propios bloques, y por lo que cada bloque se almacena enel servidor de bloque con los datos y un hash SHA-256 de que bloquea. Esa es una encriptación muy básico primitivoque resume, en cierto sentido, los datos en un muy un únicomanera que es única para esos datos. Usted podría subir elconjunto de archivos de una sola vez, pero resulta que si lo haceque con archivos muy grandes, se toman un tiempo muy largo paracargar, y si se produce un fallo, usted está fuera de suerte ytienes que reiniciarlo. Lo que a continuación hacemos es que decimosotro servidor en nuestro sistema, lo que que llamamos el servidor meta, elservidor de metadatos, hey, este es un archivo y está compuesto por elsiguiente lista de bloques. Y pasamos los hashespara identificar esos bloques en lugar de volver a subirtodo el bloque. El servidor de meta luego chequescon los servidores de bloque, hace que los bloques están ahí - siel son, perfecto, todo es bueno. >> THOMAS Carriero: Cuando queremosque, básicamente, descargue el archivo desde Internet, digamos,le pediremos primer servidor del meta, Hey, ¿me puede decir acerca dedonde se encuentra este archivo, y el servidor de metadatos va a decir, oh, bueno,este archivo es en realidad 25 de cuatro megabytes trozos, y aquí están. Y luego nos vamos al bloqueservidor y nos pondremos en realidad descargar cada uno de los trozos, y luegovamos a reconstruir el archivo desde allí, y luego vamos a empezar la descarga. Sí, ¿y ofertas de Dropboxcon la escala, básicamente, por muy, sharding muy agresivo. ALEX ALLAIN: Así shardinges cuando se toma todos los usuarios en suinicio o su empresa, y tal vez se utilizanestar en una base de datos, y que funciona muy bien hasta quegolpear un cierto número de usuarios, y realmente lo que quieresque hacer es encontrar alguna manera para dividir los a través de dosbases de datos o tal vez más de dos - idealmente, lo suficiente para que puedastener todos los usuarios en el mundo. Así que cuando usted fragmento,lo que haces es que encuentre alguna manera de decidirque la base de datos para ir a que no requieregolpear a un directorio central, o tal vez es un muy rápido, baratoBuscar en Agenda en ese directorio central. >> THOMAS Carriero: Nosotros nunca tenemostodo lo almacenado en una base de datos, porque eso es casinunca va a escalar. Así que en vez, lo que hacemos es que nos tomaremos todode que la información, todos los archivos son todos los metadatosy vamos fragmento que largo de cientos o milesbases de datos de lógicas. Eso significa que cuando tenemos unsolicitud de información de un usuario, vamos primero decimos, oye, qué base de datoses la información del usuario almacenada en, y luego vamos básicamente usamos esadecisión de ir a buscar a esa base de datos, y ahí es donde vamos a cargar todoslos archivos o todos los metadatos acerca de los archivos. Así que usamos un montón de sharding, perosharding no siempre es suficiente. Usted realmente necesita para almacenar en caché unMuchas de las peticiones comunes, porque a pesar de que la base de datosconsultas pueden ser costosos. Así también hacemos progresivaestrategias de almacenamiento en caché para asegurarse de que la más comúnpeticiones son bastante fáciles de calcular, y, básicamente, lo que hace que sea mucho másmás rápido y hace que funcione a escala. Así que eso es, a un nivel muy alto,clase de cómo funciona Dropbox. >> ALEX ALLAIN: Mi nombre es Alex Allain. >> THOMAS Carriero: Soy Thomas Carreiro. ALEX ALLAIN: Y esto es CS50. >> DAVID MALAN: Ahora bien, si alguna vez se preguntódonde esta cita en la página web del CS50 viene, en realidad Alexquien es el autor original. Ahora, hablando de Dropbox, hace pocorecibido este correo electrónico de ellos en mi bandeja de entrada - Hola, David, es posible quecuenta de que algunos de sus enlaces compartidos no están funcionando, y nosotrosquería llegar a ti personalmente para hacerle saber por qué. Bueno, ¿qué es un enlace compartido? Bueno, si usted ha utilizado más allá de Dropboxsimplemente guardar el código fuente en el interior del aparato, sepodría saber que usted puede crear enlaces compartidos porclic típicamente derecho sobre un archivo y copiar la URL en el portapapeles. Ese vínculo compartida puede verse un pocoalgo como esto, pero en su lugar de la palabra secreta, hayen realidad algo más críptico allí, como una secuencia deletras y números aleatorios. El ser idea de que ahora puedo enviar por correo electrónicoo Gchat este tipo de ruta de un amigo, y él o ella podría tener acceso CS50.txt ydescargarlo en su ordenador. Y sólo por saber que url, o consúper, súper baja probabilidad, adivinando esa url, podría alguien másrealmente acceder al archivo. >> Desafortunadamente una empresaconocido como Intralinks recientemente publicado ensu CollaboristaBlog que en realidad hay un par deamenazas a este flujo de trabajo en particular. Resulta que si accidentalmentecometer un error, como yo, francamente, lo han hecho en el pasado, y pegaruna URL como un enlace de Dropbox para compartir, en no la dirección de su navegadorbar, pero como se muestra aquí, la barra de búsqueda, queurl, por supuesto, va que se someterá a unmotor de búsqueda como Google. Por supuesto, Google no va areconocer necesariamente ese vínculo común, y por lo que vamos aobtener más búsqueda genérica resultados como un enlaceDropbox.com a sí mismo, y en este caso, un anuncio, yDe hecho, anuncios, potencialmente, para los competidores de Dropbox. De hecho, así es como Intralinksdado cuenta de esto - que, también, se ejecuta una de AdSensecampaña junto con las palabras clave que DropBox mismos pueden usar. Y así, si nos centramos enlos resultados de fondo aquí, verás que tiene Inralinkseste enlace a su propio servicio. Ahora una de las características deGoogle y otros motores de búsqueda ' campañas de publicidad es que cuando unusuario como yo hace clic en este enlace, ahora, Voy a ser la divulgación de la urlque escribí en Google con el fin para encontrar estos resultados de búsqueda. La idea es queempresas les gustaría saber cómo las personas están encontrando su sitio web. Por supuesto, si he encontradoEn esta página de resultados pegando una por lo demásurl secreto en Google, He ahora, efectivamente, dichoIntralinks y de su web registros exactamente lo url secreto quese encontraba de visita, divulgar, por tanto, potencialmente, el contenido CS50.txt. Ahora, hay otraamenaza todos juntos - ustedes saben, también, de Dropboxenlaces compartidos que normalmente puede abrirlos dentro de su propionavegador y una vista previa de ellos en el interior de un marco como este. Pero si esa vista previacontiene un hipervínculo, como se muestra aquí para Example.com,y usted o un clic del usuario que hipervínculo, abriendo de este modo unnueva pestaña o ventana con la página de url, lo que ha también acaba de decir a la webservidor, por la naturaleza de cómo funciona HTTP, es el HTTP refieren direcciónde donde vinieron. En otras palabras, le informaremosel sitio web de destino que usted era antes enesta url supuestamente secreto. Ahora, ¿qué Intralinks descubiertomirando a través de sus propios registros es que se encuentran un pocode información que fue sin duda destinado a ser secreto - paraejemplo, la hipoteca de alguien solicitud, la declaración de impuestos de otra persona, yracimos de más documentos, así. Ahora, si desea obtener másacerca de esta amenaza en particular, dirigirse a cuadro desigue en la siguiente dirección aquí, y la realidad es que usted no puede realmentedefenderse de una amenaza en la que las personas como yo pego accidentalmente lo que debeser urls secretas en los motores de búsqueda. Tú y yo simplemente va atiene que ser un poco más cuidadoso. Pero ellos han estado trabajando enreparar el otro problema por el cual vínculos que se incrustan en un Dropboxvista previa fueron revelando la url referirse. Pero ir a la url para más detalles. >> Pero ahora, como había prometido, una mirada más cercanaen pequeños hámsters comen pequeños burritos. >> [REPRODUCCIÓN DE MÚSICA] DAVID MALAN: el equipo de ahora CS50recientemente tuvo la oportunidad para participar en unProyecto de la película de 48 horas, una organización internacionalla competencia durante el cual equipos tenía, de hecho, 48horas a solas para hacer una película. El problema es que sóloaveriguar lo que la película que tenga que hacer en el mismocomenzar de esas 48 horas. En particular, en un recienteViernes por la noche a las 7:00 pm, nos enteramos de que en CS50 estaríamoshacer uno, una película muda, dos, que la película necesitabacuentan con un personaje llamado Jeremías Jones, un profesor,tres, que la película necesaria que cuentan con un diario,este de aquí, y cuatro, que teníamos que incluir de alguna manerala línea es lo que es aún aunque, por supuesto,estaban haciendo una película muda. >> Ahora, 26 miembros del equipo de CS50participado en esta película de 48 horas proyecto, entre ellos Colton,Dan, Padraig y Shelley Westover, a quien se recordarádesde películas como esta de aquí. Ahora, también implicado, por supuesto,fue el propio Ramón Galván del CS50. Ramón, bienvenido al show. RAMON GALVAN: Gracias por invitarme. DAVID MALAN: Y de CS50poseer Daven Farnham. Ahora, Ramón, lo que fuesu papel en la película? >> [? RAMON GALVAN: código de vuelo]director con Dan, en realidad. >> DAVID MALAN: Y Daven, usted mismo? Daven FARNHAM: yo era la estrella,así que básicamente hizo el proyecto. Me salvó la película. >> DAVID MALAN: Usted salvó la película. >> Daven FARNHAM: yo lo hice. >> DAVID MALAN: Ahora,decir esto, pero creo tenemos la prueba de pantalla para esta película. Si pudiéramos rodar este clip aquí. >> Daven FARNHAM: Mi nombre es DavenFarnham, y esto es CS50. Quería decir CSS. Este es CSS. >> DAVID MALAN: Ahora estaera su primera película? >> Daven FARNHAM: Uh, no, tal vez. >> DAVID MALAN: No, bueno, al menos estavez se trataba de una película muda. Daven FARNHAM: Si. DAVID MALAN: Así que a las 7:00 de la tarde, nos encontramosesos ingredientes requeridos, y luego inmediatamentebuceado en como un grupo averiguar qué película estamoseran en realidad va a hacer. ¿Quieres caminar con nosotros a través decuál era esa noche como? >> Daven FARNHAM: Así que, básicamente,nos dieron la idea a las 7:00, que básicamente empezamos auna lluvia de ideas, por lo que hacemos todo tipo de reunido en torno a una pizarray comenzó una lluvia de ideas, y luego a las 9:00, lo intentamospara tirarlo fuera a los escritores, y los escritores lo llevaron de allí. >> DAVID MALAN: Y mientras tanto,Dan y Shelley y yo en realidad dirigido a Target, por supuesto,nuestra tienda cerca favorito, recoger todos los accesorios para la películahabíamos decidido, que en ese momento era - Daven FARNHAM: Habíamos decididoen una película de aventuras de paridad. DAVID MALAN: whic iba aser muy al estilo Indiana Jones. Daven FARNHAM: Sí, así que necesitábamos un torolátigos y necesitábamos un sombrero de fieltro y esas cosas. DAVID MALAN: Y una muypieza adornada de joyas que luego sería encontraren el final del episodio. Por supuesto, volvamos amedianoche o así de Target y se dan cuenta, pues no, eso no esla película que estamos haciendo - psych. Daven FARNHAM: Completamentediferente de la película. RAMON GALVAN: Teníamos una películanoir durante un par de horas, luego tuvimos una románticacomedia al final. >> DAVID MALAN: Así que antes de las 4:00 am, tuvimos unala comedia romántica, y alrededor de las 5:00 am, tú y Dan, el otrodirector, apareció. >> RAMON GALVAN: Sí, así que nos dieronjuntos y que tipo de planeado donde Wold rodaje, lo que esescenas que dispararían primero, y luego alrededor de las 7:00 o 08 a.m., seen realidad salió y empezó a disparar. >> DAVID MALAN: Bueno, siusted puede quedarse, nos gustaría hacer algunos detrás de las escenasanaliza cómo se hizo la película, pero creo que en primer lugar, ¿de acuerdodarle a la gente el estreno mundial de la película de CS50, Persistencia. >> [REPRODUCCIÓN DE MÚSICA] >> DAVID MALAN: Chicos, quiero decir -así que vamos a empezar desde el principio. Así que la primera escenatodos rodamos en grupo esa mañana tuvo lugar alrededor de las 8:00a.m, y en realidad estábamos aquí, Jefferson Hall, que es en realidad unade las salas de lectura de la física en el campus. ¿Y cuál fue el objetivo con esta escena? RAMON GALVAN: Así que nos quedamos aquípara iniciar la película, Daven como un maestro, un compañero de la enseñanza,o un ayudante de enseñanza, algo de esa manera, y él estaba muy molestoque ve a esta pareja saliendo y él quiere eso. Él quiere estar en una relación,él simplemente no lo tiene. DAVID MALAN: Y luego la siguienteescena, hacemos la transición a la realidad no se rodó en orden. De hecho, aquí, usted es - >> Daven FARNHAM: Asíaquí, en realidad, que rodamos este esta - esta fue unade las últimas escenas que rodamos, pero esto en realidad muestra arriba enel principio de la película. Y así, en esta escena, es unamontaje, y por lo tanto lo que estoy haciendo es que me estoy poniendo en la colonia,Estoy peinarme. >> DAVID MALAN: ¿Utiliza colonia? Daven FARNHAM: Uh, Ramóncolonia, un montón de colonia. >> DAVID MALAN: ¿Y de quién camisa? >> Daven FARNHAM: Eh, camisa de Ramón. >> DAVID MALAN: Así que eso era más queuna sola toma, y la camisa para el final era bastante - >> Daven FARNHAM: Sí, creo quetuvimos que tomar tres o cuatro toma, por lo que cada toma eratres chorros, por lo que eran cerca de 12 chorros de colonia. Así que olía a esa coloniapara el resto del día. >> DAVID MALAN: Bueno, almenos, muy rápidamente. Nos transitioned exterior, y,de hecho, si te fijas bien, esto es en realidad CS50 depropia Caraballo Lauren. Pero lo que eraspensando con esta escena? >> Daven FARNHAM: Derecho, por lo que en esta escena,que estamos tratando de llamar su atención. Así que estoy caminando por ella,Estoy peacocking, por supuesto. >> DAVID MALAN: Peacocking? >> Daven FARNHAM: Oh, ¿no lo sabes? >> RAMON GALVAN: Uh, tendría que hacerlo? >> Daven FARNHAM: Sí,Por supuesto, por supuesto. Así caminar normal, por supuesto,es simplemente caminar normal. DAVID MALAN: Así que esta es la marcha normal? Daven FARNHAM: Eso es caminar normal. Peacocking, lanzar unapequeñas caderas allí. RAMON GALVAN: Esrealmente bien aquí. Daven FARNHAM: Todo está bien aquí. Es a partir de esta condición -Todo está en las caderas. Y luego, al final,usted tiene que estallar y bloqueo. Es clave para la maniobra - es clave. DAVID MALAN: Pop y cerradura. Está bien, bueno, en realidad se hizo unmucha comedia física en la película. De hecho, una de las siguientes escenas estuvo aquíen Lamont Library, fuera de la puerta. >> Daven FARNHAM: Sí, sonaquí, así que estoy realmente tratando de - Creo que es untire de la puerta y estoy empujando, y como esa escena progresa,Estoy empujando y empujando cada vez más agresiva. Y creo que al final, alguienen realidad me golpea fuera del camino. >> DAVID MALAN: Sí, y enDe hecho, no nos dimos cuenta del - hasta la fase de edición. >> RAMON GALVAN: Sí, así que, si noszoom en este tiro, y Dan, podemos mejorar un poco? Bien, perfecto. Así que tienes que verme agaché sobrea aparecer y golpear Daven en la cara con la puerta. DAVID MALAN: Que bien que nos encontróimágenes apenas unas horas antes de que tuvo que enviar las películas para la fecha límite. De acuerdo, bien, gracias tanto a los dospara la unión y por protagonizar tales - Daven FARNHAM: Oh, no, gracias. RAMON GALVAN: Gracias. DAVID MALAN: - una película en movimiento. Bueno eso es todo por CS50Live. Muchas gracias a nuestros amigos deDropbox, muchas gracias a todo el mundo detrás de la cámara, CS50 propioRamón Galván y Daven Farnham. Este fue CS50 y esteera nuestra escena favorita eso no lo hacen en la película. DIRECTOR 1: ¿Vamos atener el coche en la carretera? DIRECTOR 2: ¡Ya viene, eso está bien. [TOCAR LA BOCINA BOCINA] ACTRIZ: Whoa. Oh, dios.