DAVID MALAN: Olá, mundo, esta é CS50Live, eo menino, não é
ter um episódio incrível para você hoje.
Primeiro, um olhar para dentro como Dropbox funciona, então um close
olhar para pequenos hamsters comer pequenos burritos,
e, por último, um por trás das cenas olhar no novo filme de CS50, Persistência.
>> Mas, primeiro, Dropbox.com, onde recentemente
viajou em San Francisco, Califórnia, para se reunir com ex-chefe da CS50
ensino companheiro, Thomas Carriero que nos deu um tour do Dropbox
e exatamente o que ela gostaria de trabalhar e, intimação, viver lá.
Agora nós nos sentamos, não só com Thomas, enquanto lá,
mas também com a ex-CS50 ensino cabeça companheiro Alex Allain
para falar sobre o subjacente funcionamento de Dropbox.com
e é distribuído arquitetura.
Vamos dar uma olhada.
THOMAS Carriero: Eu sou Thomas Carreiro Eu sou um engenheiro de software do Dropbox.
ALEX ALLAIN: Eu sou Alex Allain.
Eu sou um engenheiro aqui no Dropbox.
>> THOMAS Carriero: Sim, então eu estava realmente o primeiro CF cabeça para CS50
quando David Malan assumiu a classe.
Eu já tinha sido o ensino CS50 por dois semestres
com Mike Smith, que estava lá o professor antes lá.
>> ALEX ALLAIN: Então eu realmente não demorou CS50,
mas eu fiz TF-lo duas vezes, uma como TF regular e, em seguida, no meu último ano,
Eu estava realmente Cabeça de TF CS50, o que foi muito divertido.
THOMAS Carriero: Então, quando David estendeu a mão para me
sobre a criação de Dropbox no aparelho CS50,
Eu estava realmente animado, porque nós realmente temos um cliente Linux.
A maioria dos nossos usuários utilizam ou Windows ou Macintosh, os clientes
mas o Linux, Macintosh e Clientes Windows são todos, na verdade,
muito semelhante.
Então, o que fizemos foi pré-instalado o cliente Dropbox Linux no CS50
aparelho, e funciona apenas como todos os nossos outros usuários do Linux.
>> ALEX ALLAIN: Então, a maneira Dropbox funciona é
funciona como o cliente em muitos diferentes sistemas operacionais e dispositivos.
O cliente de desktop é Drobox um dos mais bem conhecidos,
um dos mais interessantes.
>> THOMAS Carriero: Então Dropbox basicamente leva todos os arquivos
que você colocar no pasta e pedaços
esses arquivos em quatro pedaços megabyte.
Então vamos dar uma 100 arquivo PDF megabyte, e nós vamos
pedaço de TI em 25 pedaços de quatro megabytes.
Esses pedaços são então criptografada e então vamos enviar-lhes os nossos servidores de bloco.
>> ALEX ALLAIN: Os servidores de bloco são o armazenamento dos próprios blocos,
e de modo que cada bloco é armazenado em o servidor de bloco com os dados
e um hash SHA-256 do que blocos.
Isso é uma criptografia muito básico primitivo que resume, em certo sentido,
os dados de uma forma muito um único forma que é único a esses dados.
Você poderia fazer o upload do arquivo inteiro de uma só vez,
mas acontece que se você fizer que, com arquivos realmente grandes,
eles tomam um tempo muito longo para carregar, e se você tiver uma falha,
você está fora de sorte e você tem de reiniciá-lo.
O que nós então fazemos é dizer outro servidor em nosso sistema, o que
chamamos o servidor meta, o servidor de metadados, hey, este é um arquivo
e é composto pelo lista de blocos seguinte.
E passamos os hashes para identificar os blocos
ao invés de re upload todo o bloco.
O servidor então verifica meta com os servidores de bloco,
certifica-se os blocos estão lá - se o são, perfeito, tudo é bom.
>> THOMAS Carriero: Quando queremos para, basicamente, fazer o download do arquivo
da internet, vamos dizer, vamos pedir meta servidor em primeiro lugar,
hey, você pode me dizer sobre onde este arquivo está localizado,
e meta servidor irá dizer, oh, bem, este arquivo é na verdade 25 quatro megabyte
pedaços, e aqui estão elas.
E depois vamos para o bloco servidor e nós vamos realmente
baixar cada um desses pedaços, e depois vamos reconstruir o arquivo de lá,
e então vamos iniciar o download.
Sim, então Dropbox ofertas com escala, basicamente,
por muito, sharding muito agressivo.
ALEX ALLAIN: Então sharding é quando você toma
todos os usuários de sua inicialização ou sua empresa,
e talvez eles usaram para estar em uma base de dados,
e que funciona muito bem até que você atingiu um certo número de usuários,
e realmente o que você quer a fazer é encontrar uma maneira
para dividir os dois através de bancos de dados ou talvez mais do que dois -
idealmente, o suficiente para que você pode ter todos os usuários no mundo.
Então, quando você estilhaço, o que você faz é encontrar
alguma forma de decidir qual banco de dados para ir
para que não requerem bater um diretório central,
ou talvez seja muito rápido, barato olhar-se no diretório central.
>> THOMAS Carriero: Nós nunca temos tudo armazenado numa base de dados,
porque isso é quase nunca vai escalar.
Então, em vez disso, o que fazemos é que vamos tomar todas as dessa informação, todos os arquivos
são todos os metadados e vamos estilhaço que
em centenas ou milhares bases de dados de lógicas.
Isso significa que, quando temos um pedido de informações de um usuário,
vamos primeiro dizer, hey, qual banco de dados é informação do usuário armazenadas em
e, em seguida, vamos usar basicamente que decisão de ir encontrar esse banco de dados,
e é aí que vamos carregar tudo os arquivos ou todos os metadados
sobre os arquivos.
Então, nós usamos um monte de sharding, mas sharding nem sempre é suficiente.
Você realmente precisa armazenar uma Muitas das solicitações comuns,
porque apesar de banco de dados consultas podem ser caros.
Então, nós também fazemos progressiva estratégias de cache
ter certeza de que o mais comum pedidos são muito fáceis de calcular,
e, basicamente, que o torna muito mais rápido e faz o trabalho em grande escala.
Então, isso é, a um nível muito alto, tipo de como Dropbox funciona.
>> ALEX ALLAIN: Meu nome é Alex Allain.
>> THOMAS Carriero: Eu sou Thomas Carreiro.
ALEX ALLAIN: E este é CS50.
>> DAVID MALAN: Agora, se você já se perguntou onde esta citação no site da CS50
vem, na verdade é Alex quem é o autor original.
Agora, falando do Dropbox, recentemente recebeu este e-mail a partir deles
na minha caixa de entrada - Oi, David, você pode notar que alguns de seus links compartilhados
não estão funcionando, e nós queria chegar até você
pessoalmente para que você saiba o porquê.
Bem, o que é um link compartilhado?
Bem, se você já usou o Dropbox além simplesmente salvar seu código-fonte dentro
do aparelho, é pode saber que você
pode criar links compartilhados por clique normalmente direito em um arquivo
e copiar o url para o clipboard.
Esse link compartilhado pode parecer um pouco algo como isso, mas em vez disso
da palavra secreta, não há realmente algo mais enigmático
lá, como uma seqüência de letras e números aleatórios.
O ser idéia de que agora eu posso enviar e-mail ou Gchat esse tipo de URL para um amigo,
e ele ou ela pode acessar e CS50.txt baixá-lo em seu computador.
E só por saber que url, ou com super, super baixa probabilidade, adivinhando
que url, poderia alguém realmente acessar o arquivo.
>> Infelizmente, uma empresa conhecido como Intralinks
recentemente publicado no sua CollaboristaBlog
que há, na verdade, um par de ameaças a este fluxo de trabalho específico.
Acontece que se você acidentalmente cometer um erro, como eu, francamente,
ter feito no passado, e colar uma URL como um link Dropbox compartilhada,
em não o endereço do seu navegador bar, mas como mostrado aqui,
sua barra de pesquisa, que url, naturalmente, vai
para ser submetido a um motor de busca como o Google.
Naturalmente, o Google não vai necessariamente reconhecer que link compartilhado,
e assim você vai obter mais pesquisa genérica
resultados como um link para Dropbox.com si,
e, neste caso, um anúncio, e na verdade, anúncios, potencialmente,
para os concorrentes do Dropbox.
Na verdade, é assim que IntraLinks notado isso - eles,
também estavam executando um AdSense campanha ao lado de palavras-chave
Dropbox que pode-se usar.
E assim se aumentar o zoom em os resultados de fundo aqui,
você verá que tem Inralinks este link para seu próprio serviço.
Agora, uma das características do Google e outros motores de busca '
campanhas de publicidade é que, quando um usuário como eu clicar neste link, agora,
Eu vou estar divulgando a url que eu digitei no Google, a fim
para encontrar estes resultados de pesquisa.
A idéia é que empresas gostaria de saber
como as pessoas estão encontrando seu site.
Claro, se eu encontrasse esta página de resultados
colando uma outra forma url segredo no Google,
Eu, agora, de forma eficaz, disse IntraLinks e sua web
registros exatamente o url segredo que eu estava visitando, revelando assim,
potencialmente, o conteúdo CS50.txt.
Agora, há uma outra ameaça todos juntos -
você deve saber, também, de Dropbox links compartilhados que podem ser tipicamente
abri-los dentro de sua própria browser e visualizá-los dentro
de um quadro como esse.
Mas se esse pré-visualização contém um hiperlink,
como retratado aqui para Example.com, e você ou um usuário clique
que hyperlink, abrindo, assim, uma nova aba ou janela com a página da
url, o que você também só disse a web servidor, por natureza, de como funciona HTTP,
é o HTTP, consulte o endereço de onde você veio.
Em outras palavras, você informado site de destino
que estava anteriormente em este url supostamente secreta.
Agora, o que IntraLinks descoberto olhando através de seus próprios registros
é que eles encontraram um pouco de informação que foi certamente
criada para ser secreta - para exemplo, hipoteca de alguém
aplicação, de alguém retorno de imposto, e cachos de mais documentos, bem.
Agora, se você quiser saber mais sobre essa ameaça particular,
dirigir-se gota a caixa de blogue neste url aqui,
ea realidade é que você não pode realmente defender contra uma ameaça em que as pessoas
como eu acidentalmente colar o que deveria ser urls secretas para motores de busca.
Você e eu estamos indo simplesmente para tem que ser um pouco mais cuidadoso.
Mas eles têm trabalhado em corrigir outro problema no qual
links que são incorporados em um Dropbox visualização foram divulgando a url referem.
Mas a cabeça para que a url para mais detalhes.
>> Mas agora, como prometido, um olhar mais atento em pequenos hamsters comem pequenos burritos.
>> [Música tocando]
DAVID MALAN: Equipe do Agora CS50 Recentemente, tive a oportunidade
para participar de uma Projeto de filme de 48 horas,
uma organização internacional competição durante a qual
equipes tiveram, na verdade, 48 horas sozinho para fazer um filme.
O problema é que você só descobrir o que você filme
precisa fazer no próprio iniciar dessas 48 horas.
Em particular, um recente Sexta-feira, às 7:00 horas,
nós da CS50 aprendi que nós estaríamos fazer um, um filme mudo, dois,
que o filme necessário apresentam um personagem chamado
Jeremiah Jones, um professor, três, que o filme necessário
para caracterizar um diário, este aqui, e quatro,
que precisávamos para incluir alguma forma a linha é o que é ainda
embora, é claro, nós estavam fazendo um filme mudo.
>> Agora, 26 membros da equipe de CS50 participaram neste filme de 48 horas
projeto, entre eles, Colton, Dan, Padraig e Shelley
Westover, a quem você pode recordar a partir de filmes como este aqui.
Agora, também envolvido, é claro, era o próprio Ramon Galvan do CS50.
Ramon, bem-vindo ao show.
RAMON GALVAN: Obrigado por me receber.
DAVID MALAN: E CS50 do possuir Daven Farnham.
Agora, Ramon, o que era seu papel no filme?
>> [?
RAMON GALVAN: código de voo] diretor com Dan, na verdade.
>> DAVID MALAN: E Daven, você mesmo?
Daven FARNHAM: Eu era a estrela, então eu basicamente fez o projeto.
Salvei o filme.
>> DAVID MALAN: Você salvou o filme.
>> Daven FARNHAM: eu fiz.
>> DAVID MALAN: Agora, você dizer isso, mas eu acredito
nós temos o teste de tela para este filme.
Se pudéssemos lançar este clipe aqui.
>> Daven FARNHAM: Daven do meu nome Farnham, e este é o CS50.
Eu queria dizer CSS.
Este é CSS.
>> DAVID MALAN: Agora esta foi o seu primeiro filme?
>> Daven FARNHAM: Uh, não, talvez.
>> DAVID MALAN: Não, bem, pelo menos este vez foi um filme mudo.
Daven FARNHAM: sim.
DAVID MALAN: Então, às 7:00, encontramos fora os ingredientes necessários,
e, então, imediatamente mergulhou como um grupo
para descobrir o que filme que foram realmente vai fazer.
Você quer andar conosco através o que aquela noite era como?
>> Daven FARNHAM: Então, basicamente, Temos a idéia às 7:00,
nós basicamente começou a brainstorm, para que todo o tipo de
reunidos em torno de um quadro branco e começou a debater idéias,
e, em seguida, às 9:00, tentamos jogá-lo fora para escritores,
e os escritores tirou de lá.
>> DAVID MALAN: E enquanto isso, Dan e Shelley e eu realmente
dirigido ao alvo, é claro, nossa loja próxima favorito,
para pegar todos os adereços para o filme tínhamos decidido, que nesse momento
foi -
Daven FARNHAM: Tínhamos decidido em um filme de paridade aventura.
DAVID MALAN: whic ia ser bastante como Indiana Jones.
Daven FARNHAM: Sim, por isso precisávamos de um touro chicotes e precisávamos de um fedora e outras coisas.
DAVID MALAN: E um muito peça ornamentado de jóias
que ele, então, encontrar no final do episódio.
Claro, nós recebemos de volta em meia-noite ou assim da Target
e perceber, Nope, isso não é o filme que estamos fazendo - psych.
Daven FARNHAM: Completamente filme diferente.
RAMON GALVAN: Nós tivemos um filme noir por um par de horas,
depois tivemos um romântico comédia no final.
>> DAVID MALAN: Então por 4h00, tivemos um comédia romântica, e em torno de 05:00,
você e Dan, o outro diretor, apareceu.
>> RAMON GALVAN: Sim, por isso temos juntos e nós meio que planejado
onde nós do wold filmagens, o que é cenas que iria atirar primeiro,
e, em seguida, por volta das 7:00 ou 8:00, nós na verdade, saiu e começou a atirar.
>> DAVID MALAN: Bem, se você pode ficar por aqui,
nós adoraríamos fazer algumas behind-the-scenes analisa a forma como o filme foi feito,
mas eu acho que em primeiro lugar, vamos dar as pessoas a estréia mundial
do filme de CS50, Persistência.
>> [Música tocando]
>> DAVID MALAN: Gente, eu quero dizer - então vamos começar de cima.
Assim, a primeira cena todos nós filmamos como um grupo
naquela manhã ocorreu por volta 8:00 A.M, e nós estávamos realmente aqui,
Jefferson Hall, que na verdade é um das salas de aula de física no campus.
E o que era o objetivo com esta cena?
RAMON GALVAN: Então nós estávamos aqui para iniciar o filme, Daven
como um professor, um colega do ensino, ou um assistente de ensino, algo
assim, e ele estava muito chateado que ele vê este casal saindo
e ele quer isso.
Ele quer estar em um relacionamento, ele simplesmente não tê-lo.
DAVID MALAN: E então a próxima cena, que a transição para efectivamente
não foi filmado em ordem.
Na verdade, aqui, você está -
>> Daven FARNHAM: Então aqui, na verdade, nós filmamos
This - este foi um das últimas cenas que filmamos,
mas isso, na verdade, mostra-se em o começo da película.
E assim, neste cenário, é uma montagem, e por isso que eu estou fazendo
é que eu estou colocando em Colônia, Estou pentear meu cabelo.
>> DAVID MALAN: Você usa perfume?
Daven FARNHAM: Uh, Ramon de colônia, os lotes de colônia.
>> DAVID MALAN: E de quem camisa?
>> Daven FARNHAM: Uh, camisa de Ramon.
>> DAVID MALAN: Então isso foi mais do que uma tomada, ea camisa até o final
era bonita -
>> Daven FARNHAM: Sim, eu acho que tivemos que tomar três ou quatro
leva, portanto, cada take foi três esguichos, para que haja
eram cerca de 12 jatos de água de colônia.
Então, eu cheirava que Colónia para o resto do dia.
>> DAVID MALAN: Bem, pelo pelo menos, muito rapidamente.
Nós transferida para fora, e, na verdade, se você olhar de perto,
isto é, na verdade, de CS50 própria Lauren Caraballo.
Mas o que você estava pensando com esta cena?
>> Daven FARNHAM: Certo, então nessa cena, estamos tentando chamar sua atenção.
Então eu estou andando por ela, Estou pavoneando, é claro.
>> DAVID MALAN: Peacocking?
>> Daven FARNHAM: Ah, você não sabe?
>> RAMON GALVAN: Uh, eu deveria?
>> Daven FARNHAM: Sim, claro, claro.
Assim curta normal, é claro, é só andar normal.
DAVID MALAN: Então isso é andar normal?
Daven FARNHAM: Isso é marcha normal.
Peacocking, jogue um pequenos quadris lá.
RAMON GALVAN: É realmente tudo bem aqui.
Daven FARNHAM: Está tudo bem aqui.
É a partir desta qua - É tudo nos quadris.
E então, no final, você tem que pular, travar.
É fundamental para a manobra - é fundamental.
DAVID MALAN: Pop e bloqueio.
Tudo bem, bem, você realmente fez uma muita comédia física no filme.
Na verdade, uma das próximas cenas estava aqui em Lamont Library, do lado de fora da porta.
>> Daven FARNHAM: Sim, eles são aqui, então eu estou realmente
tentando - Eu acho que é um puxar porta e eu estou empurrando,
e como a cena avança, Eu estou empurrando e empurrando
cada vez mais agressiva.
E eu acho que, no final, alguém realmente me bate para fora do caminho.
>> DAVID MALAN: Sim, e em verdade, não notamos o -
até que a fase de edição.
>> RAMON GALVAN: Sim, por isso, se nós zoom para este tiro, e Dan,
podemos melhorar um pouco?
OK, perfeito.
Então, você tem que ver me agachei sobre a aparecer e bater Daven na cara
com a porta.
DAVID MALAN: Que divertido encontramos imagens, poucas horas antes de nós
teve de enviar os filmes para o fim do prazo.
Tudo bem, bem, obrigado tanto tanto para unir e por estrelar em tal -
Daven FARNHAM: Oh, não, obrigado.
RAMON GALVAN: Obrigado.
DAVID MALAN: - um filme em movimento.
Bem, é isso para CS50Live.
Muito obrigado aos nossos amigos em Dropbox, muito obrigado a todos
por trás das câmeras, CS50 própria Ramon Galvan e Daven Farnham.
Este foi CS50 e esta era a nossa cena favorita
que ele não fazê-lo no filme.
DIRETOR 1: vamos pegar o carro na estrada?
DIRETOR 2: Ele está vindo, está tudo OK.
[Buzina]
ATRIZ: Whoa.
Oh, Deus.