Logo Studenta

3 Cron-Ticker - Aplicación simple

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

1
00:00:05,710 --> 00:00:09,040
Es momento de comenzar nuestro camino en la creación de imágenes.
2
00:00:09,370 --> 00:00:11,260
El proceso de creación de una imagen.
3
00:00:11,260 --> 00:00:16,720
La verdad es que tiene un nombre bien interesante, porque lo que vamos a querer hacer para construir
4
00:00:16,720 --> 00:00:21,970
una imagen es obviamente tener algún código fuente o alguna aplicación que nosotros queremos localizar.
5
00:00:22,150 --> 00:00:22,930
Y que es eso?
6
00:00:22,970 --> 00:00:27,540
Localizar no es más que construir una imagen basado en nuestro código.
7
00:00:27,550 --> 00:00:28,330
Eso es básicamente.
8
00:00:28,330 --> 00:00:31,450
Pero aquí también ustedes tienen varias descripciones que yo les puse en el glosario.
9
00:00:31,930 --> 00:00:36,220
Por ejemplo, realizar una aplicación es el proceso de tomar un código fuente, generar una imagen lista
10
00:00:36,220 --> 00:00:38,170
para montar y correrla en un contenedor.
11
00:00:38,500 --> 00:00:41,800
Para lograr esto ocupamos crear un archivo llamado Docker File.
12
00:00:41,890 --> 00:00:45,910
El Docker file no es más que un archivo de texto con las instrucciones que nosotros le vamos a decir
13
00:00:45,940 --> 00:00:48,340
a Docker para que construya esa imagen.
14
00:00:48,700 --> 00:00:51,740
Se puede ver como un blueprint o un plano para su construcción.
15
00:00:51,760 --> 00:00:58,030
Si ustedes hacen clic aquí, nos lleva a la documentación oficial de Docker para que puedan leer más
16
00:00:58,030 --> 00:00:58,750
al respecto.
17
00:00:59,020 --> 00:01:00,880
Porque este es un tema bastante amplio.
18
00:01:00,880 --> 00:01:06,130
Hay muchas cosas que podemos hacer y esto también tiende a ser algo abrumador para las personas que
19
00:01:06,130 --> 00:01:07,180
ingresan por primera vez.
20
00:01:07,180 --> 00:01:10,480
Y es algo difícil de tratar de comprender todo de un solo.
21
00:01:11,260 --> 00:01:16,630
Es decir, muchas veces las personas lo que hacen es ok, bueno, este es el Docker file, leélo, cámbialo,
22
00:01:16,630 --> 00:01:18,700
modificarlo y uno dice bueno, y esto qué es?
23
00:01:19,090 --> 00:01:25,360
Si nosotros analizamos, por ejemplo, otras imágenes, digamos la de PostgreSQL, no hace falta que
24
00:01:25,360 --> 00:01:28,720
vengan, no hace falta que vengan aquí, solo es una explicación.
25
00:01:29,020 --> 00:01:33,580
Estas son las capas, porque cada paso que ustedes van a ver aquí es una instrucción que vamos a colocar
26
00:01:33,580 --> 00:01:34,480
en el Docker File.
27
00:01:34,960 --> 00:01:40,060
Adicionalmente, cada una de estas estos pasos que estamos viendo aquí, por ejemplo, al añadir un
28
00:01:40,060 --> 00:01:44,950
archivo, un comando bash, luego se ejecuta esta línea y así sucesivamente.
29
00:01:44,950 --> 00:01:48,040
Cada una de esas líneas va creando lo que se conoce como layers.
30
00:01:48,460 --> 00:01:53,440
No sé si ustedes han visto y yo lo había mencionado, que cuando estamos descargando a una imagen lo
31
00:01:53,440 --> 00:01:54,730
que se descargan son layers.
32
00:01:54,760 --> 00:02:00,220
Esos layers van a permitir su reutilización en el caso de que otra imagen usar al mismo layer, entonces
33
00:02:00,220 --> 00:02:03,370
va a permitirnos reutilizarlo y es bastante útil.
34
00:02:03,370 --> 00:02:04,690
Ya vamos a hablar más al respecto.
35
00:02:04,690 --> 00:02:10,180
Pero todos estos pasos van a haber Configuración de variables de entorno, ejecución de un shell, variables
36
00:02:10,180 --> 00:02:16,000
de entorno, definición de un volumen Copiar información de un lado a otro, un entry point, la exposición
37
00:02:16,000 --> 00:02:23,230
del puerto, el comando de ejecución, todo estos, todo esto son una serie de pasos para la creación
38
00:02:23,230 --> 00:02:25,300
y ejecución de esta imagen.
39
00:02:25,570 --> 00:02:31,180
Entonces, yo no pretendo que ustedes el día 0 se memoricen y sepan que hace todo esto, porque eso
40
00:02:31,180 --> 00:02:31,870
no pasa así.
41
00:02:32,380 --> 00:02:36,310
Si es la primera vez que ustedes van a ver un perfil y si alguien les pasó algún docker fail, ustedes
42
00:02:36,310 --> 00:02:39,580
se van a asustar porque van a ver todo ese montón de comandos y no tienen la menor idea que hace.
43
00:02:39,580 --> 00:02:40,080
Qué cosa?
44
00:02:40,090 --> 00:02:40,540
Entonces?
45
00:02:40,900 --> 00:02:46,510
Mi objetivo es que empecemos desde absoluto cero comprendiendo primero cómo funciona una pequeña aplicación
46
00:02:46,510 --> 00:02:48,730
y luego vamos a ir creciendo en complejidad.
47
00:02:48,790 --> 00:02:52,150
Entonces vamos a crear un Docker, un Docker fácil, súper sencillo.
48
00:02:53,220 --> 00:02:57,210
Y en base a ese perfil vamos a ir aprendiendo más y más y más y más y más.
49
00:02:57,210 --> 00:03:00,150
Entonces vamos a empezar de lo más básico y luego vamos creciendo.
50
00:03:00,150 --> 00:03:04,710
Para las personas que ya saben sobre Docker, posiblemente van a sentir esto bastante básico, pero
51
00:03:04,710 --> 00:03:10,740
eventualmente vamos a llegar a hacer inclusive construcciones en múltiples pasos, entre otras cosas,
52
00:03:10,740 --> 00:03:15,390
y después vamos a llegar al punto de crear diferentes imágenes para diferentes arquitecturas.
53
00:03:15,420 --> 00:03:19,950
Entonces yo sé que eso de arquitectura, de procesadores, yo sé que es bastante complicado todo esto,
54
00:03:19,950 --> 00:03:21,720
pero nuevamente vamos a ir caminando.
55
00:03:22,050 --> 00:03:27,330
Lo primero que les voy a pedir es que ocupamos crear una aplicación para que nos sirva para obviamente
56
00:03:27,870 --> 00:03:28,540
hacer algo, no?
57
00:03:28,560 --> 00:03:30,750
Porque voy a crear una imagen y la imagen tiene que hacer algo.
58
00:03:30,810 --> 00:03:32,010
Entonces eso es lo que quiero hacer.
59
00:03:32,280 --> 00:03:36,720
Creemos un archivo en nuestra carpeta de Docker que se va a llamar Cron ticker.
60
00:03:36,940 --> 00:03:38,220
Ya van a ver porque es Chrome.
61
00:03:38,520 --> 00:03:39,080
Por qué Chrome?
62
00:03:39,870 --> 00:03:42,570
Tomen esta carpeta y ábranla en Visual Studio Code.
63
00:03:43,730 --> 00:03:44,300
Y aquí adentro.
64
00:03:44,300 --> 00:03:45,170
Voy a quedarme.
65
00:03:45,350 --> 00:03:48,960
Bueno, todavía no vamos a abrir la terminal también antes de hacer cualquier cosa.
66
00:03:48,980 --> 00:03:52,040
Ahora se la terminal, la de Windows, lo que sea.
67
00:03:52,040 --> 00:03:54,320
Y naveguemos a la carpeta de este proyecto.
68
00:03:55,420 --> 00:03:56,590
Que se llama Crowne Ticker.
69
00:03:56,620 --> 00:03:57,490
Dejémoslo caer aquí.
70
00:03:58,000 --> 00:03:58,480
Enter.
71
00:03:59,020 --> 00:04:02,650
Y recuerden que nosotros tenemos instalado no de manera global en nuestro equipo.
72
00:04:02,650 --> 00:04:07,110
Nosotros lo instalamos en el inicio del curso y se acuerda que yo le dije vamos a usar uno.
73
00:04:07,120 --> 00:04:13,090
No tienen que ser expertos en no necesita saber Node no es un curso de Node, pero obviamente quiero
74
00:04:13,090 --> 00:04:17,470
que usemos esto para crear unas aplicaciones rápidas y sencillas y correr otras cosas.
75
00:04:17,950 --> 00:04:22,030
Entonces tiene que tener instalado Node en su computadora, no como una imagen, se podría ser como
76
00:04:22,030 --> 00:04:23,590
una imagen, pero no quiero hacerlo así.
77
00:04:23,740 --> 00:04:24,010
Ok.
78
00:04:24,490 --> 00:04:28,640
Entonces tengan instalado en Node escriban el siguiente comando npm init.
79
00:04:28,660 --> 00:04:35,980
Obviamente en esta carpeta de crónica no presionen enter y presionen enter enter hasta que cree este
80
00:04:35,980
--> 00:04:37,780
archivo llamado el package JSON.
81
00:04:38,820 --> 00:04:43,950
Si regresamos a el proyecto en el estudio van a ver que aquí ya aparece el paquete JSON con el nombre
82
00:04:43,950 --> 00:04:50,550
de nuestra nuestra aplicación o el nombre del paquete y la configuración básica de nuestra aplicación.
83
00:04:50,790 --> 00:04:52,620
No hicimos nada, todavía no tenemos nada.
84
00:04:53,130 --> 00:04:58,980
Dentro de este archivo voy a crearme una uno nuevo o dentro de escritorio un nuevo archivo llamado App
85
00:04:59,160 --> 00:05:03,620
JS en el cual voy a poner un log que diga Hola mundo, punto y coma.
86
00:05:03,630 --> 00:05:06,780
Grabe los cambios para ejecutar esta aplicación.
87
00:05:06,780 --> 00:05:11,490
Nosotros vamos a irnos a la terminal y escribamos node espacio app.
88
00:05:11,790 --> 00:05:15,270
JS Ok, el js es opcional, pero voy a ponérselo a PPP.
89
00:05:15,450 --> 00:05:18,900
JS Al presionar ENTER se va a ejecutar ese archivo y tenemos nuestro.
90
00:05:18,900 --> 00:05:24,060
Hola mundo, súper sencillo, bastante bastante auto explicado espero.
91
00:05:24,600 --> 00:05:29,490
También nosotros podemos venir aquí en la parte de los scripts, poner una coma al final y escribir
92
00:05:29,490 --> 00:05:30,210
start.
93
00:05:30,600 --> 00:05:34,680
Asegurense ponerlo entre comillas y vamos a mandar a llamar el node espacio app.
94
00:05:34,860 --> 00:05:39,150
JS y graves los cambios con definir este script.
95
00:05:39,150 --> 00:05:44,970
Lo que le estoy diciendo ahora es que mi aplicación va a tener este comando que va a iniciar lo que
96
00:05:44,970 --> 00:05:47,250
es lo que acabo yo de ejecutar, que es app.
97
00:05:47,460 --> 00:05:53,490
Aquí yo después puedo agregar ciertas banderas variables de entorno e x cantidad de cosas que yo puedo
98
00:05:53,490 --> 00:05:55,970
hacer aquí, pero por ahora dejémoslo con el start.
99
00:05:55,980 --> 00:06:01,020
Si yo quiero llamar ese comando, voy a hacer npm de new package manager start.
100
00:06:01,560 --> 00:06:03,990
Esto va a mandar a llamar este script.
101
00:06:04,880 --> 00:06:06,950
Que se llama estar en el cual corre nuestro Hola mundo!
102
00:06:07,520 --> 00:06:09,650
Ok, hasta este momento espero que nadie se esté quedando.
103
00:06:09,920 --> 00:06:14,270
Bastante sencillo, pero obviamente hacer esta aplicación, eso que tenemos aquí es súper aburrido este.
104
00:06:14,300 --> 00:06:15,950
Hola mundo, no quiero hacer eso.
105
00:06:15,950 --> 00:06:20,100
Si les voy a pedir que por favor vayan a material adjunto y yo les dejo.
106
00:06:20,330 --> 00:06:26,900
Es un enlace que los lleva a este paquete que se llama Cron, que es muy similar a como funcionan las
107
00:06:26,900 --> 00:06:31,760
tareas programadas basado en diferentes horas, minutos y segundos.
108
00:06:31,760 --> 00:06:37,130
Es un proceso de Linux en el cual ustedes pueden programar que cada segundo suceda algo, cada minuto
109
00:06:37,130 --> 00:06:40,010
suceda algo, cada hora suceda algo, cada día de la semana suceda algo.
110
00:06:40,010 --> 00:06:43,820
Y esto es muy utilizado para hacer procedimientos, por ejemplo, procesos de sincronización.
111
00:06:43,850 --> 00:06:48,140
Ustedes quieren que cada segundo, cada minuto, cada hora, cada X cantidad de tiempo se ejecute un
112
00:06:48,140 --> 00:06:48,650
proceso.
113
00:06:49,070 --> 00:06:50,660
Esto es muy fácil de utilizar.
114
00:06:50,750 --> 00:06:54,590
Entonces van a ver que aquí hay un comando que dice npm store no crunch.
115
00:06:54,770 --> 00:06:57,050
Hagan clic aquí, lo copian.
116
00:06:57,290 --> 00:07:02,900
Vamos a regresar a nuestra terminal donde tenemos nuestro proyecto y van a pegar ese npm y no crunch
117
00:07:02,930 --> 00:07:04,610
es npm install not chrome.
118
00:07:04,610 --> 00:07:09,230
Presionen enter y esto va a descargar el paquete y lo va a colocar en nuestro proyecto.
119
00:07:09,230 --> 00:07:13,490
Van a notar que ahora aquí en la parte de las dependencias tenemos uno Crom, que es esta versión y
120
00:07:13,490 --> 00:07:18,380
también tenemos este archivo o directorio mejor dicho que se llama los modulos de Node en el cual contiene
121
00:07:18,380 --> 00:07:22,790
todo lo que yo necesito o lo que no creo necesita para poder ejecutarse.
122
00:07:23,730 --> 00:07:25,800
Ok, Voy a regresar a la app.
123
00:07:26,980 --> 00:07:28,750
Y navegador web también.
124
00:07:28,960 --> 00:07:34,150
Les voy a pedir que se copien este pequeño bloque de código que tiene, que es una definición del ejercicio,
125
00:07:34,150 --> 00:07:39,760
copien, lo revisemos a Visual Studio Code y en el app peguen ese código.
126
00:07:40,510 --> 00:07:42,370
Hagamos unas modificaciones.
127
00:07:42,370 --> 00:07:48,000
Aquí voy a escribir inicio aquí coloquen la cantidad de asteriscos que yo le voy a pedir.
128
00:07:48,010 --> 00:07:53,410
Es decir, van a poner 123456 asteriscos.
129
00:07:53,680 --> 00:08:00,880
Cada asterisco significa ya sea el primero, significa segundo minuto, hora del mes, día, el mes
130
00:08:00,880 --> 00:08:03,760
y día de la semana, y ahí pueden ver la definición del mismo.
131
00:08:04,360 --> 00:08:07,510
Yo quiero que esto se ejecute cada segundo.
132
00:08:07,510 --> 00:08:10,210
Entonces podría poner uno -59, por ejemplo.
133
00:08:10,900 --> 00:08:14,290
Y aquí tarea corriendo cada second, por ejemplo.
134
00:08:14,830 --> 00:08:18,550
Voy a grabar los cambios, voy a cambiar este bar por const, porque no debemos de estar usando VAR
135
00:08:18,880 --> 00:08:19,780
y lo dejamos así.
136
00:08:19,780 --> 00:08:20,770
Gánense los cambios.
137
00:08:20,800 --> 00:08:24,580
Ejecutemos nuevamente la aplicación mediante el npm start.
138
00:08:24,580 --> 00:08:29,860
Presione enter, inicia la aplicación y cada segundo va a estar emitiendo este mensaje.
139
00:08:29,890 --> 00:08:31,450
Cada segundo lo está emitiendo.
140
00:08:31,810 --> 00:08:35,560
Y esto es por ahora la aplicación que yo quiero que nosotros tengamos.
141
00:08:35,770 --> 00:08:42,310
Cancelen con control C Para finalizar este ejercicio, o sea para empezar a realizar la aplicación,
142
00:08:42,310 --> 00:08:47,830
yo quiero crearme una bandera que me diga cuántas veces se ha hecho un tick.
143
00:08:47,920 --> 00:08:55,450
Voy a cambiar esto y que diga tick cada cinco segundos y voy a colocar y voy a hacer la impresión aquí
144
00:08:55,450 --> 00:08:58,260
de mis tags la cantidad de veces.
145
00:08:58,270 --> 00:09:04,840
Luego voy a hacer times más, más para ir acumulando cada vez que se llama este proceso y segundos.
146
00:09:06,950 --> 00:09:12,290
Segundos y para que esto se imprima cada cinco segundos, o mejor dicho, que se ejecute cada segundo
147
00:09:12,290 --> 00:09:14,300
cinco, diez, 15 o 20, 25.
148
00:09:14,540 --> 00:09:15,980
Voy a dividir esto entre cinco.
149
00:09:16,640 --> 00:09:19,520
Yo sé que la sintaxis es algo rara, pero esto es propio de Cron.
150
00:09:20,060 --> 00:09:21,040
Gánense los cambios.
151
00:09:21,050 --> 00:09:22,100
Vamos a volverlo a ejecutar.
152
00:09:22,100 --> 00:09:22,880
Flecha de arriba.
153
00:09:22,880 --> 00:09:25,700
Presionamos Enter y esto se va a empezar a ejecutar.
154
00:09:25,700 --> 00:09:31,460
Va a imprimir nuestro mensaje cada segundo cinco cada segundo, diez cada segundo, 15 cada segundo.
155
00:09:31,460 --> 00:09:36,500
20 de el sistema del horario o del reloj del sistema operativo.
156
00:09:36,890 --> 00:09:38,480
Eso es lo que significa lo que estamos haciendo.
157
00:09:38,480 --> 00:09:42,950
No es cada cinco segundos, es en el segundo, cinco, en el segundo, diez en el segundo, 15 segundos.
158
00:09:42,950 --> 00:09:43,280
Twenty.
159
00:09:43,430 --> 00:09:43,910
No importa.
160
00:09:43,910 --> 00:09:45,830
Pero cada cinco segundos, podríamos decirlo.
161
00:09:45,830 --> 00:09:48,490
Tenemos nuestro tic y esta es nuestra aplicación.
162
00:09:48,500 --> 00:09:52,250
Imagino que más de uno va a poder notar algún uso bastante útil para esto.
163
00:09:52,460 --> 00:09:56,090
Por ejemplo, ustedes tienen un proceso que tienen que sincronizar cada cinco segundos o cada hora,
164
00:09:56,090 --> 00:09:58,130
cada minuto, o quieren ejecutar una tarea.
165
00:09:58,130 --> 00:10:05,360
Lo pueden hacer de esa manera y pueden crear tantas entradas de este itinerario como ustedes necesitan.
166
00:10:05,660 --> 00:10:06,820
Por ahora dejémoslo así.
167
00:10:06,830 --> 00:10:11,900
Cancelemos la aplicación con control C y nos vemos en el próximo vídeo donde vamos a empezar a revisar
168
00:10:11,900 --> 00:10:13,250
esta pequeña aplicación.

Continuar navegando