Bem vindo de volta.
Então, esta é uma das lições mais importantes em todo o curso.
Mas também será muito diferente de tudo o que fizemos até agora.
E a razão pela qual é diferente é que eu vou mostrar-lhe um monte
de código que você nunca viu antes e que não se espera que você entenda.
A razão pela qual estou fazendo isso é que eu quero dar uma visão conceitual de como todas essas peças se encaixam.
O banco de dados onde a solicitação de solicitação do servidor solicita o navegador.
Todas essas solicitações e respostas diferentes.
Quero mostrar tudo isso com uma aplicação de trabalho realmente simples.
Então é o que eu vou fazer aqui.
Se eu ensinasse isso pessoalmente, esse seria o ponto em que eu pedi para você colocar o laptop para
fechar seu computador.
Obviamente, não é uma boa idéia aqui.
Mas o sentimento por trás disso é que eu não quero que você esteja tomando notas sobre isso.
Vamos examinar todas as linhas e escrevê-lo a partir do zero e fazer cinco
seis sete desses aplicativos diferentes usando esses conceitos.
Então, trata-se apenas de como as coisas se encaixam e não os detalhes reais de como elas funcionam.
Com isso dito vamos seguir em frente e começar aqui.
Então, este aplicativo é temático em torno de cães.
É muito muito simples.
Sem nenhum estilo.
Apenas algumas páginas diferentes.
E a primeira coisa sobre a qual precisamos falar é o que é esse arquivo completo.
Então este é o nosso arquivo de servidor.
No meu caso, ele é chamado de esquiva de aplicativos.
Sim, isso está escrito em Javascript.
E quando eu executar este arquivo, ele realmente iniciará um servidor para mim.
Então, quando eu mencionei antes, quando enviamos um pedido para lê-lo com ponto de busca, há código no
servidor Reddit que está ouvindo um pedido para lê-lo.
Agora, procure uma busca e, em seguida, envia de volta os dados corretos em uma resposta.
Quando quando digo que há código no servidor Reddit, esse é o tipo de código do qual estamos falando.
Este é o nosso código no servidor que está ouvindo diferentes solicitações e depois respondendo com peças diferentes.
Então, mesmo que a leitura seja feita em Python e isso é javascript
Existem três grandes pedaços e este é o primeiro a obter o nosso aplicativo configurado.
Então, incluindo as bibliotecas corretas, como você pode ver, há algumas dependências.
Mais uma vez, passaremos por todos mais tarde.
Então, temos algumas coisas de banco de dados.
Então, isso está configurando nosso banco de dados para que nosso banco de dados conheça todos os cães tem um nome e uma raça e eles
são ambas as cordas.
E isso é tudo mencionado sobre isso por enquanto.
E então, essas coisas são chamadas de wraps, onde é que vamos gastar a maior
parte do tempo nesta lição antes de fazer isso, embora eu queira apontar a parte mais importante para realmente iniciar o
servidor, que está no final de tudo aqui. A linha não importa a sintaxe, mas o que importa.
Há três mil números.
O que isso fará é quando executamos este aplicativo quando eu executo este arquivo
no meu terminal, ele realmente iniciará o servidor e nossa aplicação estará na porta 3000.
Então, deixe-me mostrar o que quero dizer.
Eu vou começar este servidor, executando o arquivo novamente realmente não importa o que estou fazendo lá.
E você pode ver que recebo uma mensagem que serve a demonstração do cão na porta 3000.
Então, o que eu tenho meu editor de texto, eu escrevo o código aqui para o meu servidor.
Então no meu terminal, eu realmente estou executando o servidor.
Então, agora este código está sendo executado, todo esse código é executado e esta linha, em particular, iniciou um
servidor na porta três mil.
Então, se eu for para o porto três mil agora e a maneira como eu chegar lá é o host local Colan 3000, eu vejo
algo que diz página inicial.
Vamos falar sobre como eu estou obtendo esse HMO da página inicial se visualizarmos a fonte da página.
Você pode ver tudo o que eu recebi quando uma resposta foi uma única H-1 que diz página inicial e é isso.
Então, se eu voltar para o servidor aqui, há algumas coisas que eu quero salientar.
O primeiro é que no meu terminal onde o servidor começou, havia uma pequena
mensagem impressa.
E o que isso nos diz é que alguém fez uma solicitação, o que é o que isso
diz aqui para você.
Então localhost 3000 barra.
Então, não há nada depois.
Nós chamamos isso do caminho da raiz ou simplesmente roteio, o que é basicamente o que queremos que nossa página inicial seja.
Então, novamente, fui ao localhost 3000 e pressione enter.
E isso me deu algum código, mas se eu fosse para os cães do barramento localhhh 3000 que me traz algumas coisas diferentes, se eu
vejo a fonte da página, isso pode
ver se nós conseguimos mais conteúdo diferente do conteúdo que recebemos pela primeira vez e Isso é
porque esta é uma linha diferente ou uma rota diferente.
Então, neste caso, eu não estava apenas pedindo Slash.
Eu estava pedindo cães Slash.
E se você olhar na saída do terminal, você pode ver que há uma diferença entre uma solicitação de solicitação para
cortar ou obter uma solicitação para cortar cães.
Isso está apenas me mostrando para que eu possa mostrar o que está acontecendo, mas isso não é lógica ou nada.
É apenas uma janela para os pedidos que estão sendo feitos.
OK, então esse é o lado do pedido das coisas.
Quando acesse enter, faço um pedido.
Mesma coisa aqui.
Estou apenas fazendo isso para dois lugares diferentes.
E é claro que eu posso fazer aqueles pedidos também com o carteiro.
Então, vamos fazer e solicitar o localhost 3000 exatamente assim.
Tome um momento e pense sobre o que espera que vejamos quando acesse enviar.
Lá vamos nós acabo de obter exatamente o mesmo H-1 e se eu fizer hospedagem local 3000 cães de barraca que é
uma solicitação de obtenção e eu envio enviar Eu recebo o mesmo correio HD que obtivemos quando fiz uma solicitação no
navegador clicando entrar.
Agora vamos falar sobre a lógica que faz tudo isso acontecer no lado do servidor.
vou voltar para sublime e me concentrar nestas três partes aqui e, em particular, estes dois.
Então eu
Eu sei que sou um registro quebrado neste tópico, mas a sintaxe não é a parte importante.
Nós passaremos tanto tempo em realmente escrever essas rotas que isso não é significativo.
O que é significativo é que, neste primeiro pedaço pequeno, este código está escutando uma solicitação de solicitação para
reduzir, então, obter barra.
E quando isso acontece, estamos renderizando uma página chamada casa.
Então, novamente, quando um pedido de get for feito para cortar o localhost 3000, não há mais nada, então
vamos renderizar algo chamado de casa.
E aqui eu tenho o arquivo chamado casa.
Não importa o que o Ejay yess.
E dentro dele há um H1 que diz página inicial.
Então, vamos adicionar algo mais lá um parágrafo baixo assim e salvar.
E agora, quando eles fazem um pedido de get apenas uma solicitação de solicitação para cortar, eu recebo o conteúdo desse arquivo para casa enviado
de volta para mim e para que essas mudanças funcionem, eu realmente preciso reiniciar meu servidor.
Então eu vou começar agora e assisto, vou colocar isso no lado e eu vou voltar para o Chrome, obter o meu
servidor lá novamente.
Eu vou fazer uma solicitação para o localhost 3000.
Como você pode ver, me diz que uma solicitação foi feita para cortar.
E recuperamos esse conteúdo.
Então, novamente, nosso código aqui está ouvindo, nós recebemos solicitações e avaliamos o arquivo para enviar de volta.
Agora, aqui está outra versão mais complicada disso, onde estamos ouvindo uma solicitação para
cortar cães.
E então há algum outro código que está acontecendo aqui.
E vou ler um comentário.
Tudo o que acontece aqui é obter todos os cães do banco de dados, então já tenho alguns em nosso banco de dados.
E então, a próxima parte é renderizar os cachorros e nós vamos deixá-lo assim por agora.
Então, estamos recebendo todos os cães no banco de dados e renderizando o arquivo de cães que está aqui.
E este parece um pouco diferente.
Não é só ele.
Temos coisas estranhas aqui que não vimos antes.
Mas no final do dia, o que acontece é quando eu vou para cães de barraca, nosso aplicativo está ouvindo uma solicitação
para cortar cachorros.
Quando obtém um, ele recupera todos os cães no banco de dados e cada um tem um nome e / ou raça
e então faz uma pequena mentira para cada um.
Então, cada um desses é um aliado com um nome e uma raça.
Então, novamente, temos duas rotas cortadas como uma solicitação de busca e cortar cachorros como um pedido de get e nós recebemos
dois arquivos diferentes e um pouco de lógica quando vamos para os cães cortados versus quando nós apenas vamos a barrajar.
Não há lógica acontecendo que nada esteja acontecendo com o banco de dados.
É só nos dar uma página estática.
Mas isso não é estático.
Isso depende do que vem do banco de dados.
Volte para o servidor aqui para o nosso código e vou falar um pouco sobre esta linha aqui.
Então, estamos representando uma página de um modelo chamado Dogs, que é o que está escrito aqui cães.
Sim, mas estamos passando dados para este modelo, porque isso não tem um aliado aqui que diz resti dash mutt e não tem mais um
depois no modelo que diz por que ele apresenta o ouro, como você pode ver, é
isso que nós está entrando no navegador.
Mas nosso arquivo não tem nada disso.
E é isso que o torna dinâmico.
Este arquivo pode ser diferente a cada vez que ele é executado dependendo do que está no banco de dados.
Então, o que realmente fazemos é definir um modelo ou um padrão para o que queremos acontecer, o
que é para cada coisa de cachorrinho para cada um, queremos fazer um aliado, onde vamos fazer o nome em negrito ou
forte, a raça, assim como texto simples.
Então, é assim que acabamos com isso para cada cachorro no banco de dados que
recuperamos, vamos percorrer e fazer um único aliado com o nome em traço em negrito que não se encontra em negrito.
Então, deixe-o assim.
Vamos resumir agora.
Então, temos o nosso código que cria o servidor aqui.
Tudo isso é o único código responsável por fazer nosso servidor.
Temos algum código de configuração realmente não importa.
Alguns códigos de banco de dados também não são importantes.
E então essas duas rotas e essas são muito importantes.
Então, é assim que obtemos diferentes códigos e arquivos diferentes, dependendo do que você é o único que
solicitamos, fazemos uma solicitação para cortar o pedido.
Nós conseguimos um arquivo em casa, fazemos uma solicitação para cortar cães e um pouco mais acontece nos bastidores.
Encontra todos os cães no banco de dados e, em seguida, torna esse arquivo de cães.
Mas o arquivo de cães é dinâmico porque leva um monte de cachorros e para cada um deles.
Faz um aliado.
Então, se tivéssemos 10000 cães no banco de dados, acabaríamos com 10000 aliados.
E o último ponto que eu quero fazer é que temos um editor de texto aqui que eu tenho um
terminal onde estou executando o servidor e então vou no navegador e visitando essa página da web fazendo uma solicitação.
Essas são as três ferramentas que precisamos.
onde escrevemos o código no terminal ou em algum lugar onde possamos iniciar o servidor e tê-lo ouvido.
Então, essas três coisas, o editor de texto
E, finalmente, um navegador onde realmente podemos fazer pedidos.
Portanto, não precisamos usar um navegador. Podemos usar o postar, mas ninguém usa o postar para realmente interagir com
nossa página da Web nos próximos vídeos quando começamos a escrever nossos próprios aplicativos da web.
Teremos essas três mesmas ferramentas.
Então, vamos ter um editor de texto, um navegador e um terminal ou algum lugar para executar o servidor.