Bienvenido de nuevo.
Esta es una de las lecciones más importantes en todo el curso.
Pero también va a ser muy diferente a cualquier cosa que hayamos hecho hasta ahora.
Y la razón por la que es diferente es porque voy a mostrarte un montón
de código que nunca antes has visto y no se espera que entiendas en absoluto.
La razón por la que estoy haciendo esto es porque quiero darles una perspectiva conceptual de cómo encajan todas estas piezas.
La base de datos de la solicitud de solicitud GET del servidor solicita el navegador.
Todas estas cosas diferentes solicitudes y respuestas.
Quiero mostrar todo eso con una aplicación de trabajo realmente simple.
Entonces eso es lo que voy a hacer aquí.
Si estuviera enseñando esto en persona, este sería el punto donde te pido que bajes tu laptop para
cerrar tu computadora.
Obviamente no es una buena idea aquí.
Pero el sentimiento detrás de eso es que no quiero que tomes notas sobre esto.
Vamos a repasar cada línea y escribir desde cero y hacer cinco seis siete
de estas diferentes aplicaciones utilizando estos conceptos.
Entonces, esto es solo acerca de cómo encajan las cosas juntas y no los detalles reales de cómo funcionan.
Dicho esto, sigamos adelante y comencemos aquí.
Entonces, esta aplicación tiene el tema de los perros.
Es muy muy simple.
Sin estilo en absoluto.
Solo unas pocas páginas diferentes.
Y lo primero de lo que tenemos que hablar es de qué es este archivo completo.
Entonces este es nuestro archivo de servidor.
En mi caso, se llama aplicación esquiva.
Sí, esto está escrito en Javascript.
Y cuando ejecuto este archivo, realmente comenzará un servidor para mí.
Entonces, cuando mencioné antes cuando enviamos una solicitud para leerlo, aparece un código en el servidor de
Reddit que está escuchando una solicitud para leerlo.
Ahora combata la búsqueda y luego le devuelve los datos correctos en una respuesta.
Cuando digo que hay código en el servidor de Reddit, este es el tipo de código del que estamos hablando.
es nuestro código en el servidor que está escuchando solicitudes diferentes y luego responde con diferentes piezas.
Entonces, aunque la lectura se hace en Python, esto es javascript. Este
Hay tres grandes bloques y esta parte superior solo está configurando nuestra aplicación.
Entonces, incluyendo las bibliotecas correctas, como puedes ver, hay algunas dependencias.
Una vez más, repasaremos todos ellos más tarde.
Luego tenemos algunas cosas de base de datos.
Así que esto es configurar nuestra base de datos para que nuestra base de datos sepa que todos los perros tienen un nombre y una raza
y ambos son cadenas.
Y eso es todo lo que se menciona sobre eso por ahora.
Y luego hay estas cosas llamadas wraps, que es donde pasaremos la mayor parte
de nuestro tiempo en esta lección antes de hacerlo, aunque quiero señalar la parte más importante para iniciar realmente el
servidor, que está al final aquí. línea no importa la sintaxis, pero lo que sí importa.
Hay un número aquí de tres mil.
Lo que hará es que cuando ejecutemos esta aplicación cuando ejecute este archivo en
mi terminal, realmente comenzará a server up y nuestra aplicación estará en el puerto 3000.
Así que déjame mostrarte lo que quiero decir.
Voy a iniciar este servidor ejecutando nuevamente el archivo realmente no importa lo que estoy haciendo allí.
Y pueden ver que recibo un mensaje que muestra demo de perro en el puerto 3000.
Entonces, ¿qué tengo mi editor de texto? Estoy escribiendo el código aquí para mi servidor.
Luego, en mi terminal, estoy realmente ejecutando el servidor.
Entonces, ahora que se está ejecutando este código, todo este código se ejecuta y esta línea, en particular, inició un servidor
en el puerto tres mil.
Entonces, si voy al puerto tres mil ahora y la forma en que llego allí es que el host local Colan 3000 veo algo
que dice página de inicio.
Hablemos sobre cómo obtengo ese HMO de la página de inicio si vemos la fuente de la página.
Puedes ver que todo lo que obtuve como respuesta fue un solo H-1 que dice página de inicio y eso es todo.
Entonces, si vuelvo a mi servidor aquí, hay algunas cosas que quiero señalar.
El primero es que en mi terminal donde el servidor ha comenzado hay un pequeño mensaje que
se imprimió.
Y lo que esto nos dice es que alguien hizo una solicitud de obtención, que es lo que esto
dice aquí para usted.
Entonces localhost 3000 slash.
Entonces no hay nada después.
Llamamos a esto la ruta raíz o simplemente la ruta, que es básicamente lo que queremos que sea nuestra página de inicio.
Así que de nuevo fui a localhost 3000 y presioné enter.
Y eso me dio un poco de código, pero si fui a los perros de barra localhost 3000 que me devuelve algo diferente si veo el
origen de la página en esto puedo
ver si recibimos más contenido que es diferente al contenido que obtuvimos la primera vez y eso
es porque esta es una fila diferente o una ruta diferente.
Entonces en este caso no solo estaba preguntando por Slash.
Estaba pidiendo perros Slash.
Y si observa el resultado de la terminal, verá que hay una diferencia entre una solicitud de obtención de una barra
oblicua o una solicitud de obtención para recortar perros.
Esto solo me muestra para que pueda mostrarte lo que sucede, pero esto no es lógica ni nada.
Es solo una ventana a las solicitudes que se están realizando.
OK, así que ese es el lado de la solicitud de las cosas.
Cuando presiono entrar, hago una solicitud.
Lo mismo aqui.
Solo los estoy haciendo en dos lugares diferentes.
Y, por supuesto, también puedo hacer que reciban solicitudes con carteros.
Así que hagamos y solicitemos a localhost 3000 simplemente así.
Tómese un momento y piense en lo que espera que veamos cuando presiono enviar.
Ahí vamos, acabo de obtener exactamente el mismo H-1 y si hago un host local con 3000 barras oblicuas, que es una
solicitud de obtención y presiono enviar, obtengo el mismo correo HD que obtuvimos cuando hice una solicitud de obtención en el
navegador al golpear entrar.
Ahora hablemos de la lógica que hace que todo esto suceda en el lado del servidor.
voy a volver a lo sublime y concentrarme en estas tres partes aquí y en particular en estas dos.
Así que
Sé que soy un disco roto en este tema pero la sintaxis no es la parte importante.
Pasaremos tanto tiempo escribiendo estas rutas que eso no es significativo.
Lo que es significativo es que en este primer trozo este código está escuchando una solicitud de obtención de barras para
obtener una barra inclinada.
Y cuando eso sucede, estamos renderizando una página llamada hogar.
Así que, de nuevo, cuando se realiza una solicitud de obtención de slash localhost 3000, no se reduce nada más, entonces vamos a
renderizar algo que se llama home.
Y aquí tengo el archivo llamado home.
No importa lo que el Ejay yess.
Y dentro de eso hay un H1 que dice homepage.
Así que agreguemos algo más allí un párrafo bajo como ese y guardemos.
Y ahora, cuando hacen una solicitud get solo una solicitud get para recortar, me devuelven el contenido de ese
archivo y para que esos cambios funcionen, tengo que reiniciar el servidor.
Así que comenzaré ahora y veré que dejaré esto de lado y volveré a Chrome para obtener mi servidor
allí nuevamente.
Voy a hacer una solicitud de obtención a localhost 3000.
Como puede ver, me dice que se realizó una solicitud de visita para recortar.
Y recuperamos este contenido.
Así que de nuevo nuestro código aquí está escuchando, recibimos solicitudes de barra y decidimos qué archivo enviar.
Ahora aquí hay otra versión más complicada de eso en la que estamos escuchando para obtener una solicitud
para reducir perros.
Y luego hay otro código que está sucediendo aquí.
Y solo leeré un comentario.
Todo lo que sucede aquí es obtener todos los perros de la base de datos, así que ya tengo algunos en nuestra base de datos.
Y luego la siguiente parte es renderizar el archivo de perros y lo dejaremos así por el momento.
Así que estamos obteniendo todos los perros en la base de datos y presentando el archivo de perros que está aquí.
Y este se ve un poco diferente.
No es solo él.
Aquí tenemos algunas cosas raras que no hemos visto antes.
Pero al final del día, lo que sucede es que cuando voy a cortar perros, nuestra aplicación está escuchando una solicitud
para cortar perros.
Cuando obtiene uno, recupera todos los perros en la base de datos y cada uno tiene un nombre y / o raza
y luego hace una pequeña mentira para cada uno.
Entonces cada uno de estos es un aliado con un nombre y una raza.
Así que, de nuevo, tenemos dos rutas de corte como solicitud de obtención y perros de corte como una solicitud de obtención, y
obtenemos dos archivos diferentes y un poco de lógica cuando vamos a cortar perros en lugar de cuando simplemente vamos a cortar.
No hay lógica pasando nada sucede con la base de datos.
Simplemente nos está dando una página estática.
Pero esto no es estático.
Esto depende de lo que viene de la base de datos.
Regrese al servidor aquí a nuestro código y hablaré un poco sobre esta línea aquí.
Así que estamos renderizando una página con una plantilla llamada Dogs, que es lo que está escrito aquí.
Sí, pero estamos transfiriendo datos a esta plantilla porque no tiene un aliado aquí que dice resti dash mutt y no tiene otro más
adelante en la plantilla que dice por qué aparece dorado como se puede ver, eso
es lo que estás entrando al navegador.
Pero nuestro archivo no tiene nada de eso.
Y eso es lo que lo hace dinámico.
Este archivo puede ser diferente cada vez que se ejecuta dependiendo de lo que hay en la base de datos.
Entonces, lo que realmente hacemos es definir una plantilla o un patrón para lo que queremos que suceda,
que es para cada cosa de perro perro para cada uno que queremos hacer un aliado donde vamos a hacer que el
nombre sea atrevido o fuerte. Texto sin formato.
Entonces, así es como terminamos con esto para cada perro de la base de datos
que recuperamos, vamos a recorrerlo y hacer un solo aliado con el nombre en negrita que no se críe en negrita.
Así que déjalo así.
Vamos a resumir ahora.
Entonces tenemos nuestro código que crea el servidor aquí.
Todo esto es el único código responsable de hacer nuestro servidor.
Tenemos un código de configuración que realmente no importa.
Algunos códigos de bases de datos tampoco importan mucho.
Y luego estas dos rutas y esas importan mucho.
Así que así es como obtenemos un código diferente y diferentes archivos, dependiendo de si usted es todo lo que solicitamos, hacemos
una solicitud para reducir a medida que recibe una solicitud.
Tenemos un archivo en casa, hacemos una solicitud para cortar perros y un poco más sucede detrás de escena.
Encuentra todos los perros en la base de datos y luego hace que los perros archiven.
Pero el archivo de perros es dinámico porque admite un grupo de perros y para cada uno.
Hace un aliado.
Entonces, si tuviéramos 10000 perros en la base de datos, terminaríamos con 10000 aliados.
Y el último punto que quiero hacer es que tenemos un editor de texto aquí que tengo un
terminal donde estoy ejecutando el servidor y luego voy al navegador y visito esa página web haciendo una solicitud.
Esas son las tres herramientas que necesitamos.
donde escribimos el código en la terminal o en algún lugar donde podemos iniciar el servidor y escucharlo.
Estas tres cosas son el editor de texto
Y finalmente un navegador donde realmente podemos ir y hacer solicitudes.
Entonces no tenemos que usar un navegador. Podríamos usar cartero, pero nadie usa cartero para interactuar con
nuestra página web en los próximos videos cuando comenzamos a escribir nuestras propias aplicaciones web.
Tendremos esas tres herramientas iguales.
Así que vamos a tener un editor de texto, un navegador y una terminal o un lugar para ejecutar el servidor.