1
00:00:00,210 --> 00:00:01,510
Bienvenido de nuevo.

2
00:00:01,530 --> 00:00:04,700
Esta es una de las lecciones más importantes en todo el curso.

3
00:00:04,890 --> 00:00:08,670
Pero también va a ser muy diferente a cualquier cosa que hayamos hecho hasta ahora.

4
00:00:08,670 --> 00:00:13,260
Y la razón por la que es diferente es porque voy a mostrarte un montón

5
00:00:13,260 --> 00:00:18,120
de código que nunca antes has visto y no se espera que entiendas en absoluto.

6
00:00:18,120 --> 00:00:23,730
La razón por la que estoy haciendo esto es porque quiero darles una perspectiva conceptual de cómo encajan todas estas piezas.

7
00:00:23,790 --> 00:00:28,430
La base de datos de la solicitud de solicitud GET del servidor solicita el navegador.

8
00:00:28,440 --> 00:00:30,900
Todas estas cosas diferentes solicitudes y respuestas.

9
00:00:31,080 --> 00:00:35,430
Quiero mostrar todo eso con una aplicación de trabajo realmente simple.

10
00:00:35,430 --> 00:00:37,120
Entonces eso es lo que voy a hacer aquí.

11
00:00:37,200 --> 00:00:42,900
Si estuviera enseñando esto en persona, este sería el punto donde te pido que bajes tu laptop para

12
00:00:42,900 --> 00:00:43,920
cerrar tu computadora.

13
00:00:44,040 --> 00:00:45,670
Obviamente no es una buena idea aquí.

14
00:00:45,930 --> 00:00:50,100
Pero el sentimiento detrás de eso es que no quiero que tomes notas sobre esto.

15
00:00:50,100 --> 00:00:54,780
Vamos a repasar cada línea y escribir desde cero y hacer cinco seis siete

16
00:00:54,780 --> 00:00:57,240
de estas diferentes aplicaciones utilizando estos conceptos.

17
00:00:57,240 --> 00:01:03,580
Entonces, esto es solo acerca de cómo encajan las cosas juntas y no los detalles reales de cómo funcionan.

18
00:01:03,600 --> 00:01:06,630
Dicho esto, sigamos adelante y comencemos aquí.

19
00:01:07,020 --> 00:01:09,840
Entonces, esta aplicación tiene el tema de los perros.

20
00:01:09,840 --> 00:01:11,010
Es muy muy simple.

21
00:01:11,010 --> 00:01:12,320
Sin estilo en absoluto.

22
00:01:12,420 --> 00:01:14,320
Solo unas pocas páginas diferentes.

23
00:01:14,430 --> 00:01:19,250
Y lo primero de lo que tenemos que hablar es de qué es este archivo completo.

24
00:01:19,260 --> 00:01:21,750
Entonces este es nuestro archivo de servidor.

25
00:01:21,750 --> 00:01:23,450
En mi caso, se llama aplicación esquiva.

26
00:01:23,460 --> 00:01:25,720
Sí, esto está escrito en Javascript.

27
00:01:25,800 --> 00:01:30,180
Y cuando ejecuto este archivo, realmente comenzará un servidor para mí.

28
00:01:30,180 --> 00:01:37,560
Entonces, cuando mencioné antes cuando enviamos una solicitud para leerlo, aparece un código en el servidor de

29
00:01:37,560 --> 00:01:41,310
Reddit que está escuchando una solicitud para leerlo.

30
00:01:41,310 --> 00:01:45,850
Ahora combata la búsqueda y luego le devuelve los datos correctos en una respuesta.

31
00:01:46,080 --> 00:01:50,990
Cuando digo que hay código en el servidor de Reddit, este es el tipo de código del que estamos hablando.

32
00:01:51,210 --> 00:01:56,730
es nuestro código en el servidor que está escuchando solicitudes diferentes y luego responde con diferentes piezas.

33
00:01:56,790 --> 00:02:00,620
Entonces, aunque la lectura se hace en Python, esto es javascript. Este

34
00:02:00,630 --> 00:02:05,150
Hay tres grandes bloques y esta parte superior solo está configurando nuestra aplicación.

35
00:02:05,250 --> 00:02:09,370
Entonces, incluyendo las bibliotecas correctas, como puedes ver, hay algunas dependencias.

36
00:02:09,390 --> 00:02:11,560
Una vez más, repasaremos todos ellos más tarde.

37
00:02:11,850 --> 00:02:13,570
Luego tenemos algunas cosas de base de datos.

38
00:02:13,830 --> 00:02:20,910
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

39
00:02:20,910 --> 00:02:22,060
y ambos son cadenas.

40
00:02:22,470 --> 00:02:24,240
Y eso es todo lo que se menciona sobre eso por ahora.

41
00:02:24,630 --> 00:02:28,590
Y luego hay estas cosas llamadas wraps, que es donde pasaremos la mayor parte

42
00:02:28,590 --> 00:02:34,170
de nuestro tiempo en esta lección antes de hacerlo, aunque quiero señalar la parte más importante para iniciar realmente el

43
00:02:34,470 --> 00:02:39,040
servidor, que está al final aquí. línea no importa la sintaxis, pero lo que sí importa.

44
00:02:39,050 --> 00:02:40,930
Hay un número aquí de tres mil.

45
00:02:40,950 --> 00:02:46,320
Lo que hará es que cuando ejecutemos esta aplicación cuando ejecute este archivo en

46
00:02:46,320 --> 00:02:51,860
mi terminal, realmente comenzará a server up y nuestra aplicación estará en el puerto 3000.

47
00:02:51,870 --> 00:02:53,160
Así que déjame mostrarte lo que quiero decir.

48
00:02:53,160 --> 00:02:58,200
Voy a iniciar este servidor ejecutando nuevamente el archivo realmente no importa lo que estoy haciendo allí.

49
00:02:59,130 --> 00:03:03,260
Y pueden ver que recibo un mensaje que muestra demo de perro en el puerto 3000.

50
00:03:03,570 --> 00:03:07,650
Entonces, ¿qué tengo mi editor de texto? Estoy escribiendo el código aquí para mi servidor.

51
00:03:07,860 --> 00:03:11,000
Luego, en mi terminal, estoy realmente ejecutando el servidor.

52
00:03:11,220 --> 00:03:17,280
Entonces, ahora que se está ejecutando este código, todo este código se ejecuta y esta línea, en particular, inició un servidor

53
00:03:17,280 --> 00:03:18,840
en el puerto tres mil.

54
00:03:18,870 --> 00:03:26,850
Entonces, si voy al puerto tres mil ahora y la forma en que llego allí es que el host local Colan 3000 veo algo

55
00:03:26,850 --> 00:03:28,620
que dice página de inicio.

56
00:03:28,980 --> 00:03:34,570
Hablemos sobre cómo obtengo ese HMO de la página de inicio si vemos la fuente de la página.

57
00:03:34,950 --> 00:03:42,150
Puedes ver que todo lo que obtuve como respuesta fue un solo H-1 que dice página de inicio y eso es todo.

58
00:03:42,150 --> 00:03:46,620
Entonces, si vuelvo a mi servidor aquí, hay algunas cosas que quiero señalar.

59
00:03:46,770 --> 00:03:51,870
El primero es que en mi terminal donde el servidor ha comenzado hay un pequeño mensaje que

60
00:03:51,870 --> 00:03:52,620
se imprimió.

61
00:03:52,780 --> 00:03:59,060
Y lo que esto nos dice es que alguien hizo una solicitud de obtención, que es lo que esto

62
00:03:59,150 --> 00:04:00,340
dice aquí para usted.

63
00:04:00,630 --> 00:04:02,750
Entonces localhost 3000 slash.

64
00:04:02,820 --> 00:04:04,160
Entonces no hay nada después.

65
00:04:04,530 --> 00:04:10,560
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.

66
00:04:10,560 --> 00:04:15,840
Así que de nuevo fui a localhost 3000 y presioné enter.

67
00:04:16,200 --> 00:04:24,120
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

68
00:04:24,120 --> 00:04:26,190
origen de la página en esto puedo

69
00:04:29,760 --> 00:04:35,040
ver si recibimos más contenido que es diferente al contenido que obtuvimos la primera vez y eso

70
00:04:35,040 --> 00:04:38,430
es porque esta es una fila diferente o una ruta diferente.

71
00:04:38,430 --> 00:04:42,670
Entonces en este caso no solo estaba preguntando por Slash.

72
00:04:42,840 --> 00:04:44,840
Estaba pidiendo perros Slash.

73
00:04:45,210 --> 00:04:51,510
Y si observa el resultado de la terminal, verá que hay una diferencia entre una solicitud de obtención de una barra

74
00:04:51,990 --> 00:04:54,570
oblicua o una solicitud de obtención para recortar perros.

75
00:04:54,570 --> 00:04:59,630
Esto solo me muestra para que pueda mostrarte lo que sucede, pero esto no es lógica ni nada.

76
00:04:59,640 --> 00:05:03,010
Es solo una ventana a las solicitudes que se están realizando.

77
00:05:03,390 --> 00:05:05,330
OK, así que ese es el lado de la solicitud de las cosas.

78
00:05:05,430 --> 00:05:08,760
Cuando presiono entrar, hago una solicitud.

79
00:05:08,760 --> 00:05:09,720
Lo mismo aqui.

80
00:05:09,930 --> 00:05:12,430
Solo los estoy haciendo en dos lugares diferentes.

81
00:05:12,780 --> 00:05:16,680
Y, por supuesto, también puedo hacer que reciban solicitudes con carteros.

82
00:05:16,680 --> 00:05:21,250
Así que hagamos y solicitemos a localhost 3000 simplemente así.

83
00:05:21,300 --> 00:05:25,890
Tómese un momento y piense en lo que espera que veamos cuando presiono enviar.

84
00:05:27,100 --> 00:05:34,590
Ahí vamos, acabo de obtener exactamente el mismo H-1 y si hago un host local con 3000 barras oblicuas, que es una

85
00:05:35,010 --> 00:05:42,240
solicitud de obtención y presiono enviar, obtengo el mismo correo HD que obtuvimos cuando hice una solicitud de obtención en el

86
00:05:42,240 --> 00:05:43,490
navegador al golpear entrar.

87
00:05:43,500 --> 00:05:47,790
Ahora hablemos de la lógica que hace que todo esto suceda en el lado del servidor.

88
00:05:48,110 --> 00:05:54,300
voy a volver a lo sublime y concentrarme en estas tres partes aquí y en particular en estas dos.

89
00:05:54,300 --> 00:05:54,940
Así que

90
00:05:55,320 --> 00:06:00,230
Sé que soy un disco roto en este tema pero la sintaxis no es la parte importante.

91
00:06:00,270 --> 00:06:04,960
Pasaremos tanto tiempo escribiendo estas rutas que eso no es significativo.

92
00:06:05,010 --> 00:06:13,050
Lo que es significativo es que en este primer trozo este código está escuchando una solicitud de obtención de barras para

93
00:06:13,860 --> 00:06:15,450
obtener una barra inclinada.

94
00:06:15,720 --> 00:06:20,400
Y cuando eso sucede, estamos renderizando una página llamada hogar.

95
00:06:20,400 --> 00:06:27,630
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

96
00:06:27,630 --> 00:06:29,690
renderizar algo que se llama home.

97
00:06:30,030 --> 00:06:32,660
Y aquí tengo el archivo llamado home.

98
00:06:32,670 --> 00:06:34,560
No importa lo que el Ejay yess.

99
00:06:34,860 --> 00:06:38,360
Y dentro de eso hay un H1 que dice homepage.

100
00:06:38,430 --> 00:06:45,980
Así que agreguemos algo más allí un párrafo bajo como ese y guardemos.

101
00:06:46,720 --> 00:06:53,910
Y ahora, cuando hacen una solicitud get solo una solicitud get para recortar, me devuelven el contenido de ese

102
00:06:54,060 --> 00:06:58,740
archivo y para que esos cambios funcionen, tengo que reiniciar el servidor.

103
00:06:58,800 --> 00:07:06,690
Así que comenzaré ahora y veré que dejaré esto de lado y volveré a Chrome para obtener mi servidor

104
00:07:06,690 --> 00:07:07,590
allí nuevamente.

105
00:07:08,220 --> 00:07:11,730
Voy a hacer una solicitud de obtención a localhost 3000.

106
00:07:11,970 --> 00:07:16,380
Como puede ver, me dice que se realizó una solicitud de visita para recortar.

107
00:07:16,830 --> 00:07:19,530
Y recuperamos este contenido.

108
00:07:19,590 --> 00:07:26,480
Así que de nuevo nuestro código aquí está escuchando, recibimos solicitudes de barra y decidimos qué archivo enviar.

109
00:07:26,490 --> 00:07:32,580
Ahora aquí hay otra versión más complicada de eso en la que estamos escuchando para obtener una solicitud

110
00:07:32,670 --> 00:07:33,550
para reducir perros.

111
00:07:33,930 --> 00:07:36,250
Y luego hay otro código que está sucediendo aquí.

112
00:07:36,390 --> 00:07:37,740
Y solo leeré un comentario.

113
00:07:37,740 --> 00:07:44,930
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.

114
00:07:45,190 --> 00:07:54,350
Y luego la siguiente parte es renderizar el archivo de perros y lo dejaremos así por el momento.

115
00:07:54,390 --> 00:07:59,430
Así que estamos obteniendo todos los perros en la base de datos y presentando el archivo de perros que está aquí.

116
00:07:59,710 --> 00:08:01,390
Y este se ve un poco diferente.

117
00:08:01,410 --> 00:08:02,940
No es solo él.

118
00:08:02,970 --> 00:08:05,740
Aquí tenemos algunas cosas raras que no hemos visto antes.

119
00:08:06,030 --> 00:08:13,150
Pero al final del día, lo que sucede es que cuando voy a cortar perros, nuestra aplicación está escuchando una solicitud

120
00:08:13,150 --> 00:08:14,230
para cortar perros.

121
00:08:14,340 --> 00:08:19,980
Cuando obtiene uno, recupera todos los perros en la base de datos y cada uno tiene un nombre y / o raza

122
00:08:19,980 --> 00:08:22,330
y luego hace una pequeña mentira para cada uno.

123
00:08:22,470 --> 00:08:25,600
Entonces cada uno de estos es un aliado con un nombre y una raza.

124
00:08:26,100 --> 00:08:32,640
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

125
00:08:32,640 --> 00:08:38,740
obtenemos dos archivos diferentes y un poco de lógica cuando vamos a cortar perros en lugar de cuando simplemente vamos a cortar.

126
00:08:38,880 --> 00:08:41,910
No hay lógica pasando nada sucede con la base de datos.

127
00:08:41,910 --> 00:08:44,530
Simplemente nos está dando una página estática.

128
00:08:44,880 --> 00:08:46,140
Pero esto no es estático.

129
00:08:46,260 --> 00:08:49,260
Esto depende de lo que viene de la base de datos.

130
00:08:50,160 --> 00:08:56,830
Regrese al servidor aquí a nuestro código y hablaré un poco sobre esta línea aquí.

131
00:08:57,480 --> 00:09:02,910
Así que estamos renderizando una página con una plantilla llamada Dogs, que es lo que está escrito aquí.

132
00:09:03,120 --> 00:09:13,830
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

133
00:09:14,230 --> 00:09:20,970
adelante en la plantilla que dice por qué aparece dorado como se puede ver, eso

134
00:09:20,970 --> 00:09:23,890
es lo que estás entrando al navegador.

135
00:09:24,000 --> 00:09:26,160
Pero nuestro archivo no tiene nada de eso.

136
00:09:26,250 --> 00:09:27,810
Y eso es lo que lo hace dinámico.

137
00:09:27,840 --> 00:09:32,970
Este archivo puede ser diferente cada vez que se ejecuta dependiendo de lo que hay en la base de datos.

138
00:09:32,970 --> 00:09:39,780
Entonces, lo que realmente hacemos es definir una plantilla o un patrón para lo que queremos que suceda,

139
00:09:39,780 --> 00:09:48,150
que es para cada cosa de perro perro para cada uno que queremos hacer un aliado donde vamos a hacer que el

140
00:09:48,300 --> 00:09:51,000
nombre sea atrevido o fuerte. Texto sin formato.

141
00:09:51,000 --> 00:09:55,800
Entonces, así es como terminamos con esto para cada perro de la base de datos

142
00:09:55,800 --> 00:10:02,610
que recuperamos, vamos a recorrerlo y hacer un solo aliado con el nombre en negrita que no se críe en negrita.

143
00:10:02,610 --> 00:10:03,780
Así que déjalo así.

144
00:10:03,780 --> 00:10:05,010
Vamos a resumir ahora.

145
00:10:05,160 --> 00:10:10,140
Entonces tenemos nuestro código que crea el servidor aquí.

146
00:10:10,140 --> 00:10:13,820
Todo esto es el único código responsable de hacer nuestro servidor.

147
00:10:13,950 --> 00:10:16,190
Tenemos un código de configuración que realmente no importa.

148
00:10:16,200 --> 00:10:18,820
Algunos códigos de bases de datos tampoco importan mucho.

149
00:10:18,840 --> 00:10:21,320
Y luego estas dos rutas y esas importan mucho.

150
00:10:21,630 --> 00:10:27,240
Así que así es como obtenemos un código diferente y diferentes archivos, dependiendo de si usted es todo lo que solicitamos, hacemos

151
00:10:27,780 --> 00:10:30,180
una solicitud para reducir a medida que recibe una solicitud.

152
00:10:30,330 --> 00:10:38,040
Tenemos un archivo en casa, hacemos una solicitud para cortar perros y un poco más sucede detrás de escena.

153
00:10:38,430 --> 00:10:42,720
Encuentra todos los perros en la base de datos y luego hace que los perros archiven.

154
00:10:42,930 --> 00:10:49,170
Pero el archivo de perros es dinámico porque admite un grupo de perros y para cada uno.

155
00:10:49,170 --> 00:10:50,410
Hace un aliado.

156
00:10:50,520 --> 00:10:55,230
Entonces, si tuviéramos 10000 perros en la base de datos, terminaríamos con 10000 aliados.

157
00:10:55,920 --> 00:11:01,770
Y el último punto que quiero hacer es que tenemos un editor de texto aquí que tengo un

158
00:11:01,770 --> 00:11:07,650
terminal donde estoy ejecutando el servidor y luego voy al navegador y visito esa página web haciendo una solicitud.

159
00:11:08,520 --> 00:11:10,370
Esas son las tres herramientas que necesitamos.

160
00:11:10,410 --> 00:11:16,830
donde escribimos el código en la terminal o en algún lugar donde podemos iniciar el servidor y escucharlo.

161
00:11:16,830 --> 00:11:19,780
Estas tres cosas son el editor de texto

162
00:11:20,100 --> 00:11:24,420
Y finalmente un navegador donde realmente podemos ir y hacer solicitudes.

163
00:11:24,630 --> 00:11:29,940
Entonces no tenemos que usar un navegador. Podríamos usar cartero, pero nadie usa cartero para interactuar con

164
00:11:29,940 --> 00:11:34,540
nuestra página web en los próximos videos cuando comenzamos a escribir nuestras propias aplicaciones web.

165
00:11:34,560 --> 00:11:36,780
Tendremos esas tres herramientas iguales.

166
00:11:36,960 --> 00:11:42,440
Así que vamos a tener un editor de texto, un navegador y una terminal o un lugar para ejecutar el servidor.
