Upload via hfc (batch)
Browse filesUploaded using hfc tool
This view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +14 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/08-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Teléfonos y sus System on a Chip o SOC.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Teléfonos y sus System on a Chip o SOC.vtt +725 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-GPUs Procesadores gráficos y de AI.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-GPUs Procesadores gráficos y de AI.vtt +620 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Lecturas recomendadas.txt +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Qué es un algoritmo y qué es un lenguaje de programación.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Qué es un algoritmo y qué es un lenguaje de programación.vtt +469 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Direcciones IP y el protocolo de Internet.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Direcciones IP y el protocolo de Internet.vtt +577 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Lecturas recomendadas.txt +1 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Lecturas recomendadas.txt +1 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Nombres de dominio DNS y cómo obtener un com.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Nombres de dominio DNS y cómo obtener un com.vtt +703 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Modelo ClienteServidor Cómo funciona un sitio web.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Modelo ClienteServidor Cómo funciona un sitio web.vtt +580 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Diferencias entre Windows Linux y MacOS.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Diferencias entre Windows Linux y MacOS.vtt +529 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Lecturas recomendadas.txt +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Permisos niveles de procesos y privilegios de ejecución.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Permisos niveles de procesos y privilegios de ejecución.vtt +415 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Archivos Metadatos cabeceras y extensiones.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Archivos Metadatos cabeceras y extensiones.vtt +610 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-empleados_prueba_325d0f23-d597-444f-a5e0-acb9d34cac7a.csv +51 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Lecturas recomendadas.txt +2 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Qué son las bases de datos.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Qué son las bases de datos.vtt +658 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Cómo funciona el formato JPG.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Cómo funciona el formato JPG.vtt +457 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Lecturas recomendadas.txt +1 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/03-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/03-Videos contenedores codecs y protocolos.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Cómo Funciona un zip.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Cómo Funciona un zip.vtt +562 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Resumen.html +0 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Arquitectura y funcionamiento interno de Blockchain.mp4 +3 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Arquitectura y funcionamiento interno de Blockchain.vtt +925 -0
- subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Lecturas recomendadas.txt +2 -0
.gitattributes
CHANGED
|
@@ -91,3 +91,17 @@ subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Inge
|
|
| 91 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/06-Cómo[[:space:]]funciona[[:space:]]internet.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 92 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/07-Cómo[[:space:]]las[[:space:]]computadoras[[:space:]]guardan[[:space:]]datos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 93 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/08-Cómo[[:space:]]se[[:space:]]organizan[[:space:]]los[[:space:]]archivos.mp4 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/06-Cómo[[:space:]]funciona[[:space:]]internet.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 92 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/07-Cómo[[:space:]]las[[:space:]]computadoras[[:space:]]guardan[[:space:]]datos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 93 |
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/08-Cómo[[:space:]]se[[:space:]]organizan[[:space:]]los[[:space:]]archivos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 94 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/09-Teléfonos[[:space:]]y[[:space:]]sus[[:space:]]System[[:space:]]on[[:space:]]a[[:space:]]Chip[[:space:]]o[[:space:]]SOC.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 95 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/10-GPUs[[:space:]]Procesadores[[:space:]]gráficos[[:space:]]y[[:space:]]de[[:space:]]AI.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 96 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/01-Computación[[:space:]]Básica/11-Qué[[:space:]]es[[:space:]]un[[:space:]]algoritmo[[:space:]]y[[:space:]]qué[[:space:]]es[[:space:]]un[[:space:]]lenguaje[[:space:]]de[[:space:]]programación.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 97 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/02-Redes[[:space:]]e[[:space:]]Internet/01-Direcciones[[:space:]]IP[[:space:]]y[[:space:]]el[[:space:]]protocolo[[:space:]]de[[:space:]]Internet.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 98 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/02-Redes[[:space:]]e[[:space:]]Internet/02-Nombres[[:space:]]de[[:space:]]dominio[[:space:]]DNS[[:space:]]y[[:space:]]cómo[[:space:]]obtener[[:space:]]un[[:space:]]com.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 99 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/02-Redes[[:space:]]e[[:space:]]Internet/03-Modelo[[:space:]]ClienteServidor[[:space:]]Cómo[[:space:]]funciona[[:space:]]un[[:space:]]sitio[[:space:]]web.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 100 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/03-Sistemas[[:space:]]Operativos[[:space:]]y[[:space:]]Almacenamiento/01-Diferencias[[:space:]]entre[[:space:]]Windows[[:space:]]Linux[[:space:]]y[[:space:]]MacOS.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 101 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/03-Sistemas[[:space:]]Operativos[[:space:]]y[[:space:]]Almacenamiento/02-Permisos[[:space:]]niveles[[:space:]]de[[:space:]]procesos[[:space:]]y[[:space:]]privilegios[[:space:]]de[[:space:]]ejecución.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 102 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/03-Sistemas[[:space:]]Operativos[[:space:]]y[[:space:]]Almacenamiento/03-Archivos[[:space:]]Metadatos[[:space:]]cabeceras[[:space:]]y[[:space:]]extensiones.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 103 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/04-Archivos[[:space:]]y[[:space:]]estructuras[[:space:]]de[[:space:]]datos/01-Qué[[:space:]]son[[:space:]]las[[:space:]]bases[[:space:]]de[[:space:]]datos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 104 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/04-Archivos[[:space:]]y[[:space:]]estructuras[[:space:]]de[[:space:]]datos/02-Cómo[[:space:]]funciona[[:space:]]el[[:space:]]formato[[:space:]]JPG.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 105 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/04-Archivos[[:space:]]y[[:space:]]estructuras[[:space:]]de[[:space:]]datos/03-Videos[[:space:]]contenedores[[:space:]]codecs[[:space:]]y[[:space:]]protocolos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 106 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/04-Archivos[[:space:]]y[[:space:]]estructuras[[:space:]]de[[:space:]]datos/04-Cómo[[:space:]]Funciona[[:space:]]un[[:space:]]zip.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 107 |
+
subir/fixed/Curso[[:space:]]de[[:space:]]Fundamentos[[:space:]]de[[:space:]]Ingeniería[[:space:]]de[[:space:]]Software/05-Introducción[[:space:]]a[[:space:]]Blockchain[[:space:]]e[[:space:]]Inteligencia[[:space:]]Artificial/01-Arquitectura[[:space:]]y[[:space:]]funcionamiento[[:space:]]interno[[:space:]]de[[:space:]]Blockchain.mp4 filter=lfs diff=lfs merge=lfs -text
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/08-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Teléfonos y sus System on a Chip o SOC.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f7f5301228570c0684a7c28430b4eb7c6b88cda8b10c3f219498f2a6652ca76
|
| 3 |
+
size 265860513
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/09-Teléfonos y sus System on a Chip o SOC.vtt
ADDED
|
@@ -0,0 +1,725 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.000 --> 00:00:03.800
|
| 4 |
+
Los circuitos integrados, los chips, la forma en la que funciona la electrónica moderna,
|
| 5 |
+
|
| 6 |
+
00:00:03.800 --> 00:00:09.120
|
| 7 |
+
empezaron como unos tubos de vacío que ocupaban inmensas cantidades de espacio
|
| 8 |
+
|
| 9 |
+
00:00:09.120 --> 00:00:14.400
|
| 10 |
+
y que así fue como empezaron las primeras computadoras, los televisores, muchísimas otras mecánicas
|
| 11 |
+
|
| 12 |
+
00:00:14.400 --> 00:00:17.000
|
| 13 |
+
de la forma en la que se construía la electrónica moderna.
|
| 14 |
+
|
| 15 |
+
00:00:17.000 --> 00:00:21.320
|
| 16 |
+
Pero lentamente nuestros dispositivos se fueron haciendo más pequeños y más pequeños y más pequeños
|
| 17 |
+
|
| 18 |
+
00:00:21.320 --> 00:00:24.840
|
| 19 |
+
porque empezamos a empacar transistores en formas más cortas
|
| 20 |
+
|
| 21 |
+
00:00:24.840 --> 00:00:28.840
|
| 22 |
+
y porque el consumidor quería dispositivos más pequeños que usaran menos electricidad
|
| 23 |
+
|
| 24 |
+
00:00:28.840 --> 00:00:30.400
|
| 25 |
+
y que fueran más portátiles.
|
| 26 |
+
|
| 27 |
+
00:00:30.400 --> 00:00:35.480
|
| 28 |
+
La electricidad funcionaba inicialmente con baterías AA, AAA o esas baterías grandotas de 9 voltios
|
| 29 |
+
|
| 30 |
+
00:00:35.480 --> 00:00:38.840
|
| 31 |
+
con las que podíamos usar cosas como una grabadora de cassette,
|
| 32 |
+
|
| 33 |
+
00:00:38.840 --> 00:00:42.760
|
| 34 |
+
una de las que llamaban boombox, y de esa manera tenemos música o un Walkman
|
| 35 |
+
|
| 36 |
+
00:00:42.760 --> 00:00:48.360
|
| 37 |
+
o tantos otros dispositivos que quemaban y quemaban esas baterías a muy alta velocidad
|
| 38 |
+
|
| 39 |
+
00:00:48.360 --> 00:00:53.680
|
| 40 |
+
y eran muy costosas, así que había un incentivo natural de los fabricantes de reducir las baterías.
|
| 41 |
+
|
| 42 |
+
00:00:53.680 --> 00:00:58.040
|
| 43 |
+
Y luego llegaron los smartphones y antes de eso los teléfonos móviles, entre muchas otras cosas.
|
| 44 |
+
|
| 45 |
+
00:00:58.040 --> 00:01:02.880
|
| 46 |
+
Esa necesidad de reducir el gasto de electricidad y reducir el espacio
|
| 47 |
+
|
| 48 |
+
00:01:02.880 --> 00:01:07.240
|
| 49 |
+
empezó a hacer que los chips se volvieran más y más y más especializados.
|
| 50 |
+
|
| 51 |
+
00:01:07.240 --> 00:01:10.080
|
| 52 |
+
Luego la computación hizo que nuestras computadoras
|
| 53 |
+
|
| 54 |
+
00:01:10.080 --> 00:01:12.640
|
| 55 |
+
cupieran en una caja gigante y luego en un laptop,
|
| 56 |
+
|
| 57 |
+
00:01:12.640 --> 00:01:15.160
|
| 58 |
+
pero con el pasar del tiempo nos pusimos a pensar
|
| 59 |
+
|
| 60 |
+
00:01:15.160 --> 00:01:16.760
|
| 61 |
+
¿Por qué tenemos chips para todo?
|
| 62 |
+
|
| 63 |
+
00:01:16.760 --> 00:01:21.560
|
| 64 |
+
¿Por qué hay un chip que es la CPU y otra tarjeta distinta es la tarjeta gráfica
|
| 65 |
+
|
| 66 |
+
00:01:21.560 --> 00:01:23.760
|
| 67 |
+
y otra tarjeta distinta es la tarjeta de sonido?
|
| 68 |
+
|
| 69 |
+
00:01:23.800 --> 00:01:28.160
|
| 70 |
+
¿Por qué a medida que especializamos todo, no pegamos todo en un solo chip?
|
| 71 |
+
|
| 72 |
+
00:01:28.160 --> 00:01:30.640
|
| 73 |
+
Estos son conocidos como System on a Chip.
|
| 74 |
+
|
| 75 |
+
00:01:30.640 --> 00:01:34.440
|
| 76 |
+
Los dos problemas más grandes son de electricidad y de espacio.
|
| 77 |
+
|
| 78 |
+
00:01:34.440 --> 00:01:39.360
|
| 79 |
+
Entre más chips hay, más gastan batería porque más largo tienen que viajar los electrones
|
| 80 |
+
|
| 81 |
+
00:01:39.360 --> 00:01:41.880
|
| 82 |
+
dentro de la tarjeta en cada uno de los ciclos
|
| 83 |
+
|
| 84 |
+
00:01:41.880 --> 00:01:45.360
|
| 85 |
+
que nos permiten jugar un videojuego en el teléfono o atender una llamada.
|
| 86 |
+
|
| 87 |
+
00:01:45.360 --> 00:01:48.520
|
| 88 |
+
El segundo problema es que los teléfonos eran un ladrillo gigante
|
| 89 |
+
|
| 90 |
+
00:01:48.520 --> 00:01:51.840
|
| 91 |
+
y queríamos que fueran cada vez más pequeños, y no solo eran teléfonos,
|
| 92 |
+
|
| 93 |
+
00:01:51.880 --> 00:01:56.720
|
| 94 |
+
eran cámaras digitales, eran iPods, Walkmans, televisores.
|
| 95 |
+
|
| 96 |
+
00:01:56.720 --> 00:01:59.240
|
| 97 |
+
Ahora que todo vive en un teléfono, pues lo vemos más claro,
|
| 98 |
+
|
| 99 |
+
00:01:59.240 --> 00:02:01.760
|
| 100 |
+
pero antes eran todo tipo de dispositivos.
|
| 101 |
+
|
| 102 |
+
00:02:01.760 --> 00:02:04.640
|
| 103 |
+
Así que empezamos a pensar qué podemos integrar.
|
| 104 |
+
|
| 105 |
+
00:02:04.640 --> 00:02:06.520
|
| 106 |
+
En el caso de los teléfonos, por ejemplo,
|
| 107 |
+
|
| 108 |
+
00:02:06.520 --> 00:02:09.640
|
| 109 |
+
un teléfono es básicamente una pantalla gigante,
|
| 110 |
+
|
| 111 |
+
00:02:09.640 --> 00:02:15.160
|
| 112 |
+
así que necesita un procesador gráfico que sea muy eficiente y que no se sienta lento,
|
| 113 |
+
|
| 114 |
+
00:02:15.160 --> 00:02:18.160
|
| 115 |
+
porque si un teléfono se siente lento, no se puede usar.
|
| 116 |
+
|
| 117 |
+
00:02:18.160 --> 00:02:21.800
|
| 118 |
+
Los seres humanos estamos conscientes y aceptamos que una computadora se pone lenta,
|
| 119 |
+
|
| 120 |
+
00:02:21.800 --> 00:02:24.040
|
| 121 |
+
pero no aceptamos que un teléfono se ponga lento.
|
| 122 |
+
|
| 123 |
+
00:02:24.040 --> 00:02:26.720
|
| 124 |
+
Y por supuesto necesitamos el procesamiento normal de una computadora
|
| 125 |
+
|
| 126 |
+
00:02:26.720 --> 00:02:29.920
|
| 127 |
+
para navegar en internet, mandar correos, hacer juegos, etc.
|
| 128 |
+
|
| 129 |
+
00:02:29.920 --> 00:02:33.240
|
| 130 |
+
Así que necesitamos una CPU y una GPU en el mismo lugar.
|
| 131 |
+
|
| 132 |
+
00:02:33.240 --> 00:02:37.640
|
| 133 |
+
Combinar en un solo chip la CPU y la GPU fue el primer paso en System on a Chip.
|
| 134 |
+
|
| 135 |
+
00:02:37.640 --> 00:02:42.400
|
| 136 |
+
Quiero aclarar que no es como que el mismo chip sea CPU y GPU al mismo tiempo
|
| 137 |
+
|
| 138 |
+
00:02:42.400 --> 00:02:44.040
|
| 139 |
+
con los mismos transistores.
|
| 140 |
+
|
| 141 |
+
00:02:44.040 --> 00:02:50.000
|
| 142 |
+
Realmente es que en la oblea de silicio, en el wafer, en donde hacen el chip,
|
| 143 |
+
|
| 144 |
+
00:02:50.000 --> 00:02:54.280
|
| 145 |
+
ahí dentro, colocan en un ladito los transistores que funcionan como CPU
|
| 146 |
+
|
| 147 |
+
00:02:54.280 --> 00:02:56.800
|
| 148 |
+
y en otro ladito, muy pegadito, muy cerca,
|
| 149 |
+
|
| 150 |
+
00:02:56.800 --> 00:03:00.040
|
| 151 |
+
en el mismo mecanismo de circuito integrado, rodeado de baquelita,
|
| 152 |
+
|
| 153 |
+
00:03:00.040 --> 00:03:01.160
|
| 154 |
+
los chips de la GPU.
|
| 155 |
+
|
| 156 |
+
00:03:01.160 --> 00:03:04.360
|
| 157 |
+
Y así empezaron a pensar en otros chips, porque esto es un computador completo, ¿no?
|
| 158 |
+
|
| 159 |
+
00:03:04.360 --> 00:03:07.800
|
| 160 |
+
Cuando uno armó una computadora, uno tenía estos tabletas de memoria
|
| 161 |
+
|
| 162 |
+
00:03:07.800 --> 00:03:11.200
|
| 163 |
+
que hemos visto antes, la memoria RAM, o estos discos duros externos.
|
| 164 |
+
|
| 165 |
+
00:03:11.200 --> 00:03:13.800
|
| 166 |
+
Pues la memoria RAM, ¿por qué no la pegamos ahí también?
|
| 167 |
+
|
| 168 |
+
00:03:13.800 --> 00:03:15.840
|
| 169 |
+
¿Y por qué no pegamos el modem?
|
| 170 |
+
|
| 171 |
+
00:03:15.840 --> 00:03:19.320
|
| 172 |
+
Porque cuando uno hace una llamada, los teléfonos internamente tienen un chip
|
| 173 |
+
|
| 174 |
+
00:03:19.320 --> 00:03:23.360
|
| 175 |
+
que es un modem, que es el que tiene que hablar con la central telefónica
|
| 176 |
+
|
| 177 |
+
00:03:23.360 --> 00:03:24.640
|
| 178 |
+
y procesar la llamada.
|
| 179 |
+
|
| 180 |
+
00:03:24.640 --> 00:03:28.240
|
| 181 |
+
El modem se conecta a las antenas 3G y 4G y los chips también necesitan
|
| 182 |
+
|
| 183 |
+
00:03:28.240 --> 00:03:29.360
|
| 184 |
+
conectarse a Wi-Fi.
|
| 185 |
+
|
| 186 |
+
00:03:29.360 --> 00:03:33.440
|
| 187 |
+
Entonces, el Wi-Fi es otro módulo que antes era un circuito aparte en un chip
|
| 188 |
+
|
| 189 |
+
00:03:33.440 --> 00:03:34.320
|
| 190 |
+
aparte.
|
| 191 |
+
|
| 192 |
+
00:03:34.320 --> 00:03:37.760
|
| 193 |
+
Como los teléfonos se estandarizaron y todos los teléfonos tienen que procesar
|
| 194 |
+
|
| 195 |
+
00:03:37.760 --> 00:03:41.440
|
| 196 |
+
video a través de la cámara, capturar audio del micrófono,
|
| 197 |
+
|
| 198 |
+
00:03:41.440 --> 00:03:46.280
|
| 199 |
+
generar imágenes, todas esas funciones estándar que antes eran periféricos
|
| 200 |
+
|
| 201 |
+
00:03:46.280 --> 00:03:48.880
|
| 202 |
+
adicionales, fueron creándose en un solo chip.
|
| 203 |
+
|
| 204 |
+
00:03:48.880 --> 00:03:52.760
|
| 205 |
+
Porque la otra ventaja es que estos dispositivos pues mantenían el mismo
|
| 206 |
+
|
| 207 |
+
00:03:52.760 --> 00:03:54.200
|
| 208 |
+
hardware constantemente.
|
| 209 |
+
|
| 210 |
+
00:03:54.200 --> 00:03:58.760
|
| 211 |
+
Si tienes una computadora, te lo puedes conectar mil marcas de webcam,
|
| 212 |
+
|
| 213 |
+
00:03:58.760 --> 00:04:03.160
|
| 214 |
+
pero en tu teléfono, tu marca como Samsung o Apple o Google,
|
| 215 |
+
|
| 216 |
+
00:04:03.160 --> 00:04:06.480
|
| 217 |
+
tú sabes exactamente qué lente y qué cámara le estás poniendo a tus
|
| 218 |
+
|
| 219 |
+
00:04:06.480 --> 00:04:10.000
|
| 220 |
+
teléfonos, exactamente qué tipo de micrófono y qué tipo de parlante.
|
| 221 |
+
|
| 222 |
+
00:04:10.000 --> 00:04:14.360
|
| 223 |
+
Esa estandarización también ayudó a que los chips sean mucho más sencillos.
|
| 224 |
+
|
| 225 |
+
00:04:14.360 --> 00:04:19.520
|
| 226 |
+
Huawei, por cierto, es la primera marca en integrar un módem de tecnología 5G
|
| 227 |
+
|
| 228 |
+
00:04:19.520 --> 00:04:20.360
|
| 229 |
+
en un chip.
|
| 230 |
+
|
| 231 |
+
00:04:20.360 --> 00:04:24.520
|
| 232 |
+
Aquí en mis notas veo que fue el chip Huawei Kirin 990.
|
| 233 |
+
|
| 234 |
+
00:04:24.520 --> 00:04:26.200
|
| 235 |
+
La innovación viene de todas partes.
|
| 236 |
+
|
| 237 |
+
00:04:26.200 --> 00:04:28.680
|
| 238 |
+
Cuando compras tu teléfono y lo enciendes,
|
| 239 |
+
|
| 240 |
+
00:04:28.680 --> 00:04:33.680
|
| 241 |
+
tu dedo prime el botón de encendido, lo cual conecta dos contactos que hacen un
|
| 242 |
+
|
| 243 |
+
00:04:33.680 --> 00:04:37.640
|
| 244 |
+
paso de electricidad de la batería al circuito que llega a una señal en el
|
| 245 |
+
|
| 246 |
+
00:04:37.640 --> 00:04:38.760
|
| 247 |
+
System on a Chip.
|
| 248 |
+
|
| 249 |
+
00:04:38.760 --> 00:04:41.640
|
| 250 |
+
El primer circuito de un System on a Chip es la BIOS.
|
| 251 |
+
|
| 252 |
+
00:04:41.640 --> 00:04:44.160
|
| 253 |
+
Es ese sistema de arranque que, por ejemplo,
|
| 254 |
+
|
| 255 |
+
00:04:44.160 --> 00:04:48.400
|
| 256 |
+
en el caso de iPod y de los dispositivos de Apple como el iPhone,
|
| 257 |
+
|
| 258 |
+
00:04:48.400 --> 00:04:51.560
|
| 259 |
+
el iPad, etcétera, se llama iBoot.
|
| 260 |
+
|
| 261 |
+
00:04:51.560 --> 00:04:54.160
|
| 262 |
+
O lo mismo que habría en la BIOS de un computador normal,
|
| 263 |
+
|
| 264 |
+
00:04:54.160 --> 00:04:55.800
|
| 265 |
+
solamente que aquí está en el chip.
|
| 266 |
+
|
| 267 |
+
00:04:55.800 --> 00:04:58.480
|
| 268 |
+
Y ahí dentro del chip empieza a arrancar todo.
|
| 269 |
+
|
| 270 |
+
00:04:58.480 --> 00:05:00.520
|
| 271 |
+
Ese pecito de chip prende la CPU.
|
| 272 |
+
|
| 273 |
+
00:05:00.520 --> 00:05:03.880
|
| 274 |
+
La CPU va a la memoria flash, que es la memoria,
|
| 275 |
+
|
| 276 |
+
00:05:03.880 --> 00:05:06.080
|
| 277 |
+
llamémosla permanente o el equivalente al disco duro.
|
| 278 |
+
|
| 279 |
+
00:05:06.080 --> 00:05:10.680
|
| 280 |
+
Eso sí está aparte porque es un circuito más grande y de una química diferente.
|
| 281 |
+
|
| 282 |
+
00:05:10.680 --> 00:05:14.840
|
| 283 |
+
Y ahí van y buscan el código del sistema operativo y el resto es igual que una
|
| 284 |
+
|
| 285 |
+
00:05:14.840 --> 00:05:15.720
|
| 286 |
+
computadora.
|
| 287 |
+
|
| 288 |
+
00:05:15.720 --> 00:05:18.040
|
| 289 |
+
Pero en vez de estar viajando entre diferentes chips,
|
| 290 |
+
|
| 291 |
+
00:05:18.040 --> 00:05:19.800
|
| 292 |
+
todo está viajando en el mismo chip.
|
| 293 |
+
|
| 294 |
+
00:05:19.800 --> 00:05:21.720
|
| 295 |
+
La CPU y la GPU están muy cerca.
|
| 296 |
+
|
| 297 |
+
00:05:21.720 --> 00:05:26.440
|
| 298 |
+
Y la CPU y la GPU lo que hacen es que la CPU arranca los computadores en cuanto a
|
| 299 |
+
|
| 300 |
+
00:05:26.440 --> 00:05:29.840
|
| 301 |
+
su sistema operativo y la GPU arranca los pixeles de la pantalla,
|
| 302 |
+
|
| 303 |
+
00:05:29.840 --> 00:05:33.320
|
| 304 |
+
trabajando en conjunto y compartiendo memoria.
|
| 305 |
+
|
| 306 |
+
00:05:33.320 --> 00:05:36.000
|
| 307 |
+
Eso es una de las cosas únicas de un System on a Chip.
|
| 308 |
+
|
| 309 |
+
00:05:36.000 --> 00:05:40.640
|
| 310 |
+
En una computadora, la GPU tiene su propia memoria y es la memoria que usa para
|
| 311 |
+
|
| 312 |
+
00:05:40.640 --> 00:05:43.840
|
| 313 |
+
representar cosas en pantalla o hacer cálculos paralelos como cálculos de
|
| 314 |
+
|
| 315 |
+
00:05:43.840 --> 00:05:45.400
|
| 316 |
+
criptomonedas o AI.
|
| 317 |
+
|
| 318 |
+
00:05:45.400 --> 00:05:48.840
|
| 319 |
+
Y la CPU usa la memoria RAM para ejecutar los computadores.
|
| 320 |
+
|
| 321 |
+
00:05:48.840 --> 00:05:52.560
|
| 322 |
+
En un System on a Chip, en particular en la arquitectura que creó Apple,
|
| 323 |
+
|
| 324 |
+
00:05:52.560 --> 00:05:56.880
|
| 325 |
+
se usa una memoria unificada que lo comparte en todas las necesidades del
|
| 326 |
+
|
| 327 |
+
00:05:56.880 --> 00:05:57.760
|
| 328 |
+
sistema operativo.
|
| 329 |
+
|
| 330 |
+
00:05:57.760 --> 00:06:01.280
|
| 331 |
+
Ahí carga el kernel y el kernel son los drivers que prenden los periféricos.
|
| 332 |
+
|
| 333 |
+
00:06:01.280 --> 00:06:05.080
|
| 334 |
+
Pero el periférico, que típicamente sería un circuito con sus mecanismos
|
| 335 |
+
|
| 336 |
+
00:06:05.080 --> 00:06:08.720
|
| 337 |
+
químicos y mecánicos, como la membrana del micrófono,
|
| 338 |
+
|
| 339 |
+
00:06:08.720 --> 00:06:11.720
|
| 340 |
+
como los sensores digitales de luz que tiene una cámara,
|
| 341 |
+
|
| 342 |
+
00:06:11.720 --> 00:06:13.720
|
| 343 |
+
son simplemente la parte de hardware.
|
| 344 |
+
|
| 345 |
+
00:06:13.720 --> 00:06:16.600
|
| 346 |
+
Y el circuito, toda realmente la operación,
|
| 347 |
+
|
| 348 |
+
00:06:16.600 --> 00:06:18.720
|
| 349 |
+
está metida en ese System on a Chip.
|
| 350 |
+
|
| 351 |
+
00:06:18.720 --> 00:06:21.600
|
| 352 |
+
Hace todo más sencillo, mucho más eficiente,
|
| 353 |
+
|
| 354 |
+
00:06:21.600 --> 00:06:24.560
|
| 355 |
+
con menos generación de calor, con menos gasto de batería.
|
| 356 |
+
|
| 357 |
+
00:06:24.560 --> 00:06:29.600
|
| 358 |
+
Por eso un teléfono que tiene 8 GB de RAM y una CPU muy pequeña hace muchas más
|
| 359 |
+
|
| 360 |
+
00:06:29.600 --> 00:06:33.800
|
| 361 |
+
cosas que una computadora con una CPU más grande y los mismos 8 GB de RAM.
|
| 362 |
+
|
| 363 |
+
00:06:33.800 --> 00:06:37.560
|
| 364 |
+
Un teléfono, además, es básicamente un experimento de física.
|
| 365 |
+
|
| 366 |
+
00:06:37.560 --> 00:06:40.560
|
| 367 |
+
Por dentro de tu teléfono hay un barómetro que detecta la presión
|
| 368 |
+
|
| 369 |
+
00:06:40.560 --> 00:06:41.440
|
| 370 |
+
ambiental.
|
| 371 |
+
|
| 372 |
+
00:06:41.440 --> 00:06:42.720
|
| 373 |
+
Hay un termómetro.
|
| 374 |
+
|
| 375 |
+
00:06:42.720 --> 00:06:45.800
|
| 376 |
+
A veces te habrá salido una alerta que tu teléfono está muy caliente y de
|
| 377 |
+
|
| 378 |
+
00:06:45.800 --> 00:06:48.440
|
| 379 |
+
pronto se apaga porque está detectando la temperatura.
|
| 380 |
+
|
| 381 |
+
00:06:48.440 --> 00:06:52.600
|
| 382 |
+
Todos esos son mecanismos físicos que usando electrónica,
|
| 383 |
+
|
| 384 |
+
00:06:52.600 --> 00:06:58.640
|
| 385 |
+
mecánica o química hacen que llegue una señal digital al procesador.
|
| 386 |
+
|
| 387 |
+
00:06:58.640 --> 00:07:00.880
|
| 388 |
+
Pero en vez de tener chips individuales,
|
| 389 |
+
|
| 390 |
+
00:07:00.880 --> 00:07:04.600
|
| 391 |
+
le delegan el procesamiento de chips a ese System on a Chip que tiene los
|
| 392 |
+
|
| 393 |
+
00:07:04.600 --> 00:07:06.880
|
| 394 |
+
transistores necesarios para que funcione.
|
| 395 |
+
|
| 396 |
+
00:07:06.880 --> 00:07:11.160
|
| 397 |
+
Y como son tan similares, entonces muchas de las marcas no tienen que
|
| 398 |
+
|
| 399 |
+
00:07:11.160 --> 00:07:14.160
|
| 400 |
+
programar sus teléfonos para soportar un montón de drivers,
|
| 401 |
+
|
| 402 |
+
00:07:14.160 --> 00:07:17.440
|
| 403 |
+
como si le toca hacer a Microsoft con Windows en una computadora,
|
| 404 |
+
|
| 405 |
+
00:07:17.440 --> 00:07:20.560
|
| 406 |
+
o a Apple con Mac, o a los sistemas operativos Linux.
|
| 407 |
+
|
| 408 |
+
00:07:20.560 --> 00:07:23.280
|
| 409 |
+
Todo eso apoya a la eficiencia de estos sistemas.
|
| 410 |
+
|
| 411 |
+
00:07:23.280 --> 00:07:28.400
|
| 412 |
+
Un dato curioso, la cámara de los teléfonos modernos han notado que se
|
| 413 |
+
|
| 414 |
+
00:07:28.400 --> 00:07:31.680
|
| 415 |
+
estabiliza a pesar de que uno está a veces temblándole las manos al tomar la
|
| 416 |
+
|
| 417 |
+
00:07:31.680 --> 00:07:34.600
|
| 418 |
+
foto, hay una estabilización que funciona con software,
|
| 419 |
+
|
| 420 |
+
00:07:34.600 --> 00:07:39.400
|
| 421 |
+
pero hay ciertas cámaras de los teléfonos más costosos donde el lente
|
| 422 |
+
|
| 423 |
+
00:07:39.400 --> 00:07:42.200
|
| 424 |
+
está flotando en un tipo de aceite,
|
| 425 |
+
|
| 426 |
+
00:07:42.200 --> 00:07:46.160
|
| 427 |
+
que hace que cuando ustedes estén temblando el lente se mantenga fijo.
|
| 428 |
+
|
| 429 |
+
00:07:46.160 --> 00:07:50.920
|
| 430 |
+
En otros casos está flotando con electroimanes que lo mantienen fijo o
|
| 431 |
+
|
| 432 |
+
00:07:50.920 --> 00:07:52.480
|
| 433 |
+
con pequeños sistemas de resortes.
|
| 434 |
+
|
| 435 |
+
00:07:52.480 --> 00:07:54.520
|
| 436 |
+
Es fascinante y súper chiquito.
|
| 437 |
+
|
| 438 |
+
00:07:54.520 --> 00:07:59.320
|
| 439 |
+
¿Has notado que a los teléfonos casi siempre les dura 24 horas la batería a
|
| 440 |
+
|
| 441 |
+
00:07:59.320 --> 00:08:01.720
|
| 442 |
+
pesar de que la tecnología crece y crece y crece?
|
| 443 |
+
|
| 444 |
+
00:08:01.720 --> 00:08:02.320
|
| 445 |
+
¿Por qué será?
|
| 446 |
+
|
| 447 |
+
00:08:02.320 --> 00:08:04.160
|
| 448 |
+
Están mejorando las tecnologías de las baterías,
|
| 449 |
+
|
| 450 |
+
00:08:04.160 --> 00:08:08.760
|
| 451 |
+
pero las baterías están limitadas por los límites químicos de lo que hemos
|
| 452 |
+
|
| 453 |
+
00:08:08.760 --> 00:08:13.120
|
| 454 |
+
descubierto que es la mayor cantidad de densidad de electricidad que podemos
|
| 455 |
+
|
| 456 |
+
00:08:13.120 --> 00:08:15.240
|
| 457 |
+
meter en la batería de un teléfono moderno.
|
| 458 |
+
|
| 459 |
+
00:08:15.240 --> 00:08:17.640
|
| 460 |
+
Lo que realmente está pasando son dos mecanismos.
|
| 461 |
+
|
| 462 |
+
00:08:17.640 --> 00:08:22.040
|
| 463 |
+
Uno es que el mercado, nosotros que compramos teléfonos,
|
| 464 |
+
|
| 465 |
+
00:08:22.040 --> 00:08:26.000
|
| 466 |
+
aceptamos teléfonos que duren un día, pero no aceptamos teléfonos que duren 6
|
| 467 |
+
|
| 468 |
+
00:08:26.000 --> 00:08:30.240
|
| 469 |
+
horas y no recompensamos tanto a nivel financiero los teléfonos que duran dos
|
| 470 |
+
|
| 471 |
+
00:08:30.240 --> 00:08:31.760
|
| 472 |
+
días. Ese mercado es más pequeño.
|
| 473 |
+
|
| 474 |
+
00:08:31.760 --> 00:08:32.360
|
| 475 |
+
Existe.
|
| 476 |
+
|
| 477 |
+
00:08:32.360 --> 00:08:37.000
|
| 478 |
+
Son esos teléfonos grandotototes como el iPhone Pro o como los Samsung Galaxy
|
| 479 |
+
|
| 480 |
+
00:08:37.000 --> 00:08:38.720
|
| 481 |
+
Node o Ultra, etc.
|
| 482 |
+
|
| 483 |
+
00:08:38.720 --> 00:08:41.440
|
| 484 |
+
Es un mercado que existe, pero no es tan grande.
|
| 485 |
+
|
| 486 |
+
00:08:41.440 --> 00:08:45.800
|
| 487 |
+
Lo otro es que los fabricantes de chips son muy conscientes de que cada
|
| 488 |
+
|
| 489 |
+
00:08:45.800 --> 00:08:50.200
|
| 490 |
+
generación de chip nuevo tiene que gastar menos electricidad y a veces tienen
|
| 491 |
+
|
| 492 |
+
00:08:50.200 --> 00:08:51.800
|
| 493 |
+
saltos espectaculares.
|
| 494 |
+
|
| 495 |
+
00:08:51.800 --> 00:08:57.560
|
| 496 |
+
Por eso los MacBook Pros, desde la generación de los chips Apple M, M1, M2,
|
| 497 |
+
|
| 498 |
+
00:08:57.560 --> 00:09:03.640
|
| 499 |
+
M3 y M4, han ido aumentando de una manera fuerte la duración de la batería de los
|
| 500 |
+
|
| 501 |
+
00:09:03.640 --> 00:09:07.200
|
| 502 |
+
laptops y ahora es normal que un laptop tenga batería de 12 horas.
|
| 503 |
+
|
| 504 |
+
00:09:07.200 --> 00:09:10.960
|
| 505 |
+
Los teléfonos, lo que pasa es que siguen exigiéndose cada vez más porque las apps
|
| 506 |
+
|
| 507 |
+
00:09:10.960 --> 00:09:14.640
|
| 508 |
+
son cada vez más complejas y sofisticadas, pero esa es parte de la razón por la que
|
| 509 |
+
|
| 510 |
+
00:09:14.640 --> 00:09:16.600
|
| 511 |
+
la batería tiende a durar esto.
|
| 512 |
+
|
| 513 |
+
00:09:16.600 --> 00:09:21.800
|
| 514 |
+
Súmenle que hay un dato más y es que el uso intensivo de tu teléfono lo calienta
|
| 515 |
+
|
| 516 |
+
00:09:21.800 --> 00:09:25.280
|
| 517 |
+
y el calor, al estar tan cerca de la batería, puede causar un efecto de
|
| 518 |
+
|
| 519 |
+
00:09:25.280 --> 00:09:26.080
|
| 520 |
+
explosión.
|
| 521 |
+
|
| 522 |
+
00:09:26.080 --> 00:09:29.280
|
| 523 |
+
Esto le pasó a una marca de Galaxy Nodes, que básicamente solvían granadas en el
|
| 524 |
+
|
| 525 |
+
00:09:29.280 --> 00:09:30.120
|
| 526 |
+
bolsillo.
|
| 527 |
+
|
| 528 |
+
00:09:30.120 --> 00:09:33.840
|
| 529 |
+
Así que los fabricantes de teléfonos tienen que ser muy cuidadosos de no
|
| 530 |
+
|
| 531 |
+
00:09:33.840 --> 00:09:37.680
|
| 532 |
+
pasarse de cierta cantidad de flujo eléctrico para que no se caliente el
|
| 533 |
+
|
| 534 |
+
00:09:37.680 --> 00:09:38.920
|
| 535 |
+
teléfono y no explote.
|
| 536 |
+
|
| 537 |
+
00:09:38.920 --> 00:09:41.560
|
| 538 |
+
La realidad es que en el día de hoy esto casi no es un problema.
|
| 539 |
+
|
| 540 |
+
00:09:41.560 --> 00:09:44.360
|
| 541 |
+
¿Recuerdan cuando hablamos de la arquitectura de las CPUs?
|
| 542 |
+
|
| 543 |
+
00:09:44.360 --> 00:09:47.240
|
| 544 |
+
X86, RISC, ARM.
|
| 545 |
+
|
| 546 |
+
00:09:47.240 --> 00:09:52.680
|
| 547 |
+
ARM domina la arquitectura de los chips de los teléfonos y de los system on a
|
| 548 |
+
|
| 549 |
+
00:09:52.680 --> 00:09:53.280
|
| 550 |
+
chip.
|
| 551 |
+
|
| 552 |
+
00:09:53.280 --> 00:09:57.440
|
| 553 |
+
ARM, una empresa inglesa adquirida por una empresa japonesa, Softbank, y en la
|
| 554 |
+
|
| 555 |
+
00:09:57.440 --> 00:10:00.240
|
| 556 |
+
cual ese diseño es en el que están basados los chips de Apple.
|
| 557 |
+
|
| 558 |
+
00:10:00.240 --> 00:10:03.680
|
| 559 |
+
La industria de tecnología está mudando casi todo a un system on a chip debido a
|
| 560 |
+
|
| 561 |
+
00:10:03.680 --> 00:10:05.080
|
| 562 |
+
que son más eficientes.
|
| 563 |
+
|
| 564 |
+
00:10:05.080 --> 00:10:09.160
|
| 565 |
+
Por ejemplo, acá adentro en un teléfono inteligente o en un smartwatch va a haber
|
| 566 |
+
|
| 567 |
+
00:10:09.160 --> 00:10:10.340
|
| 568 |
+
un system on a chip.
|
| 569 |
+
|
| 570 |
+
00:10:10.340 --> 00:10:14.560
|
| 571 |
+
En esos anillos que son sensores de salud hay un system on a chip.
|
| 572 |
+
|
| 573 |
+
00:10:14.560 --> 00:10:18.200
|
| 574 |
+
En tu automóvil, en el sistema de entretenimiento hay un system on a chip.
|
| 575 |
+
|
| 576 |
+
00:10:18.200 --> 00:10:21.600
|
| 577 |
+
Y la arquitectura de estos chips en ocasiones agrega cosas completamente
|
| 578 |
+
|
| 579 |
+
00:10:21.600 --> 00:10:25.080
|
| 580 |
+
nuevas que no existen en la computación de escritorio,
|
| 581 |
+
|
| 582 |
+
00:10:25.080 --> 00:10:29.520
|
| 583 |
+
como las unidades de procesamiento neuronal, las NPUs o Neural Processing
|
| 584 |
+
|
| 585 |
+
00:10:29.520 --> 00:10:30.280
|
| 586 |
+
Units.
|
| 587 |
+
|
| 588 |
+
00:10:30.280 --> 00:10:33.720
|
| 589 |
+
Apple es un pionero de esto, pero ahora todos los fabricantes lo están haciendo.
|
| 590 |
+
|
| 591 |
+
00:10:33.720 --> 00:10:37.320
|
| 592 |
+
Es un chip que, como la GPU, hace procesamiento paralelo.
|
| 593 |
+
|
| 594 |
+
00:10:37.320 --> 00:10:40.240
|
| 595 |
+
Pero recuerda que GPU significa Graphic Processing Unit,
|
| 596 |
+
|
| 597 |
+
00:10:40.240 --> 00:10:41.760
|
| 598 |
+
la unidad de procesamiento gráfico.
|
| 599 |
+
|
| 600 |
+
00:10:41.760 --> 00:10:43.240
|
| 601 |
+
No fue diseñada para eso.
|
| 602 |
+
|
| 603 |
+
00:10:43.240 --> 00:10:46.680
|
| 604 |
+
Hay nuevos chips, inicialmente inventados por Google para servidores,
|
| 605 |
+
|
| 606 |
+
00:10:46.680 --> 00:10:51.440
|
| 607 |
+
llamados TPU, Tensor Processor Units, que también se están colocando dentro de los
|
| 608 |
+
|
| 609 |
+
00:10:51.440 --> 00:10:54.320
|
| 610 |
+
teléfonos porque los teléfonos empiezan a necesitar hacer uso de inteligencia
|
| 611 |
+
|
| 612 |
+
00:10:54.320 --> 00:10:55.280
|
| 613 |
+
artificial.
|
| 614 |
+
|
| 615 |
+
00:10:55.280 --> 00:10:59.200
|
| 616 |
+
Cuando tú haces un dictado de voz en el teléfono, cuando usas asistentes,
|
| 617 |
+
|
| 618 |
+
00:10:59.200 --> 00:11:02.600
|
| 619 |
+
estás haciendo un uso de Machine Learning, de inteligencia artificial.
|
| 620 |
+
|
| 621 |
+
00:11:02.600 --> 00:11:07.120
|
| 622 |
+
Cuando el teléfono te coloca filtros en WhatsApp o en Instagram o en Snapchat,
|
| 623 |
+
|
| 624 |
+
00:11:07.120 --> 00:11:08.720
|
| 625 |
+
esto es inteligencia artificial.
|
| 626 |
+
|
| 627 |
+
00:11:08.720 --> 00:11:12.720
|
| 628 |
+
Y usan estas NPUs que vienen integradas en el chip completo.
|
| 629 |
+
|
| 630 |
+
00:11:12.720 --> 00:11:17.200
|
| 631 |
+
Las CPUs que están dentro de un sistema de chip son muy similares a la CPU de una
|
| 632 |
+
|
| 633 |
+
00:11:17.200 --> 00:11:18.440
|
| 634 |
+
computadora normal.
|
| 635 |
+
|
| 636 |
+
00:11:18.440 --> 00:11:22.040
|
| 637 |
+
Tienen igual procesamiento por gigahertz, tienen las mismas unidades,
|
| 638 |
+
|
| 639 |
+
00:11:22.040 --> 00:11:23.440
|
| 640 |
+
incluso tienen núcleos.
|
| 641 |
+
|
| 642 |
+
00:11:23.440 --> 00:11:27.720
|
| 643 |
+
De hecho, hoy en día es mucho más común ver multinúcleos en el chip de un
|
| 644 |
+
|
| 645 |
+
00:11:27.720 --> 00:11:29.840
|
| 646 |
+
teléfono que en el chip de una computadora.
|
| 647 |
+
|
| 648 |
+
00:11:29.840 --> 00:11:32.640
|
| 649 |
+
Los sistemas de chip tienen que tener hasta 16 núcleos,
|
| 650 |
+
|
| 651 |
+
00:11:32.640 --> 00:11:36.840
|
| 652 |
+
donde típicamente en las computadoras de arquitectura x86 veamos cuatro a ocho
|
| 653 |
+
|
| 654 |
+
00:11:36.840 --> 00:11:37.440
|
| 655 |
+
núcleos.
|
| 656 |
+
|
| 657 |
+
00:11:37.440 --> 00:11:40.040
|
| 658 |
+
A medida que la inteligencia artificial captura todo el planeta,
|
| 659 |
+
|
| 660 |
+
00:11:40.040 --> 00:11:43.520
|
| 661 |
+
empezamos a tener una hiper optimización de cosas distintas.
|
| 662 |
+
|
| 663 |
+
00:11:43.520 --> 00:11:46.320
|
| 664 |
+
La inteligencia artificial está conectada directamente a plantas de energía
|
| 665 |
+
|
| 666 |
+
00:11:46.320 --> 00:11:49.960
|
| 667 |
+
nuclear, así que el problema de la energía no es el problema que creemos.
|
| 668 |
+
|
| 669 |
+
00:11:49.960 --> 00:11:53.560
|
| 670 |
+
Nuestro problema es más de memoria y de velocidad de procesamiento.
|
| 671 |
+
|
| 672 |
+
00:11:53.560 --> 00:11:56.760
|
| 673 |
+
Resulta que los sistemas de chip también son ideales para esto,
|
| 674 |
+
|
| 675 |
+
00:11:56.760 --> 00:12:02.520
|
| 676 |
+
porque en el modelo anterior la GPU y la memoria estaban aparte y en el modelo
|
| 677 |
+
|
| 678 |
+
00:12:02.520 --> 00:12:08.320
|
| 679 |
+
nuevo el procesador de un iPhone comparte la memoria entre la CPU,
|
| 680 |
+
|
| 681 |
+
00:12:08.320 --> 00:12:12.400
|
| 682 |
+
la GPU y la NPU, el procesador neural de inteligencia artificial.
|
| 683 |
+
|
| 684 |
+
00:12:12.400 --> 00:12:15.480
|
| 685 |
+
Así que cuando el sistema operativo no necesita tanta RAM,
|
| 686 |
+
|
| 687 |
+
00:12:15.480 --> 00:12:19.600
|
| 688 |
+
esa RAM la puede aprovechar por completo la inteligencia artificial,
|
| 689 |
+
|
| 690 |
+
00:12:19.600 --> 00:12:21.920
|
| 691 |
+
haciendo estos sistemas mucho más eficientes.
|
| 692 |
+
|
| 693 |
+
00:12:21.920 --> 00:12:27.240
|
| 694 |
+
Durante el 2025, China tuvo un momento en el que venció a OpenAI,
|
| 695 |
+
|
| 696 |
+
00:12:27.240 --> 00:12:31.120
|
| 697 |
+
aprovechándose de esta característica para poder crear modelos de inteligencia
|
| 698 |
+
|
| 699 |
+
00:12:31.120 --> 00:12:33.880
|
| 700 |
+
artificial que corran en local en laptops.
|
| 701 |
+
|
| 702 |
+
00:12:33.880 --> 00:12:35.640
|
| 703 |
+
Y es parte de la razón por la que Apple,
|
| 704 |
+
|
| 705 |
+
00:12:35.640 --> 00:12:38.560
|
| 706 |
+
a pesar de estar atrás en la carrera de inteligencia artificial,
|
| 707 |
+
|
| 708 |
+
00:12:38.560 --> 00:12:41.040
|
| 709 |
+
sigue constantemente liderando el desarrollo de inteligencia artificial
|
| 710 |
+
|
| 711 |
+
00:12:41.040 --> 00:12:44.640
|
| 712 |
+
local por los system on a chip y su arquitectura de memoria unificada.
|
| 713 |
+
|
| 714 |
+
00:12:44.640 --> 00:12:46.640
|
| 715 |
+
De inteligencia artificial se puede hablar mucho más.
|
| 716 |
+
|
| 717 |
+
00:12:46.640 --> 00:12:49.960
|
| 718 |
+
El system on a chip es solo un componente de una gran cantidad de cosas,
|
| 719 |
+
|
| 720 |
+
00:12:49.960 --> 00:12:52.160
|
| 721 |
+
pero eso viene dentro de poco en el curso de Fundamentos de Ingeniería de
|
| 722 |
+
|
| 723 |
+
00:12:52.160 --> 00:12:53.720
|
| 724 |
+
Software.
|
| 725 |
+
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-GPUs Procesadores gráficos y de AI.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f5324bf6c5224bee5ae827dcd9d716f5b15f11c2143c4faca4688d9895adc36a
|
| 3 |
+
size 316565371
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-GPUs Procesadores gráficos y de AI.vtt
ADDED
|
@@ -0,0 +1,620 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.000 --> 00:00:08.760
|
| 4 |
+
Las primeras computadoras no tenían pantalla, las primeras computadoras cuando tú les colocabas datos y hacías cálculos de cómputo, te imprimían los cálculos.
|
| 5 |
+
|
| 6 |
+
00:00:08.760 --> 00:00:17.320
|
| 7 |
+
Las primeras pantallas realmente no eran de computadoras, eran un instrumento electrónico para ver las ondas electromagnéticas llamada osciloscopio.
|
| 8 |
+
|
| 9 |
+
00:00:17.320 --> 00:00:27.560
|
| 10 |
+
Y unos ingenieros encontraron cómo usar la imagen del osciloscopio para colocar dos palitos y una bolita que rebotaba y así nace el primer videojuego de la historia, Pong.
|
| 11 |
+
|
| 12 |
+
00:00:27.560 --> 00:00:35.240
|
| 13 |
+
Desde ese momento, los videojuegos empezaron a usar la computación para empujar cada vez más lo que era posible a nivel gráfico.
|
| 14 |
+
|
| 15 |
+
00:00:35.240 --> 00:00:39.240
|
| 16 |
+
Primero hubo gráficos de videojuego antes de que hubieran sistemas operativos gráficos.
|
| 17 |
+
|
| 18 |
+
00:00:39.240 --> 00:00:47.440
|
| 19 |
+
En sistemas UNIX o en DOS, uno podía jugar juegos como Tetris, Prince of Persia, sin necesidad de tener todavía ventanas,
|
| 20 |
+
|
| 21 |
+
00:00:47.440 --> 00:00:54.240
|
| 22 |
+
porque cargaban cada una de estas pantallas y eran juegos muy sencillos que llevaban al máximo la capacidad de los chips.
|
| 23 |
+
|
| 24 |
+
00:00:54.240 --> 00:00:59.520
|
| 25 |
+
Por décadas, si no fuera por los videojuegos, no habríamos llevado los chips a su máximo nivel.
|
| 26 |
+
|
| 27 |
+
00:00:59.520 --> 00:01:08.480
|
| 28 |
+
Y como estábamos llevando estos chips a su máximo nivel, empezó a existir una industria que creaba chips específicamente para poner a correr esos gráficos,
|
| 29 |
+
|
| 30 |
+
00:01:08.480 --> 00:01:14.880
|
| 31 |
+
para diseño gráfico, para producción audiovisual de efectos especiales, pero sobre todo para videojuegos.
|
| 32 |
+
|
| 33 |
+
00:01:14.880 --> 00:01:18.800
|
| 34 |
+
Esos chips se llaman Unidades de Procesamiento Gráfico o GPUs.
|
| 35 |
+
|
| 36 |
+
00:01:18.800 --> 00:01:21.160
|
| 37 |
+
¿Cuál es la diferencia entre una CPU y una GPU?
|
| 38 |
+
|
| 39 |
+
00:01:21.160 --> 00:01:26.680
|
| 40 |
+
Como ya hemos visto en este curso, las CPUs procesan de manera seria la información a través de ciclos,
|
| 41 |
+
|
| 42 |
+
00:01:26.680 --> 00:01:31.240
|
| 43 |
+
y tienen millones de transistores que hacen cálculos matemáticos hipercomplejos,
|
| 44 |
+
|
| 45 |
+
00:01:31.240 --> 00:01:34.600
|
| 46 |
+
porque eso es lo que se necesita para correr una hoja de cálculo en Excel,
|
| 47 |
+
|
| 48 |
+
00:01:34.600 --> 00:01:38.000
|
| 49 |
+
eso es lo que se necesita para los cálculos que necesitan navegar una página web,
|
| 50 |
+
|
| 51 |
+
00:01:38.000 --> 00:01:40.680
|
| 52 |
+
y todo lo que hacemos en una computadora normal.
|
| 53 |
+
|
| 54 |
+
00:01:40.680 --> 00:01:47.840
|
| 55 |
+
Una GPU realmente son muchísimos, muchísimos núcleos de procesadores chiquitos,
|
| 56 |
+
|
| 57 |
+
00:01:47.840 --> 00:01:55.760
|
| 58 |
+
que hacen muchos menos cálculos con mucho menos poder, pero como son muchísimos núcleos, los hacen al mismo tiempo.
|
| 59 |
+
|
| 60 |
+
00:01:55.760 --> 00:02:04.400
|
| 61 |
+
Representar una imagen en pantalla es representar un cálculo de una matriz de millones de puntos de luz, conocida como pixeles.
|
| 62 |
+
|
| 63 |
+
00:02:04.400 --> 00:02:12.760
|
| 64 |
+
Cada uno de esos puntos tiene que calcular cuánto va a ser el brillo que tienen a partir de prender el rojo, el verde o el azul,
|
| 65 |
+
|
| 66 |
+
00:02:12.760 --> 00:02:15.320
|
| 67 |
+
y ese brillo tiene que calcularse al mismo tiempo.
|
| 68 |
+
|
| 69 |
+
00:02:15.320 --> 00:02:20.440
|
| 70 |
+
¿Recuerdan en el pasado que algunas imágenes cargaban como si fuera una línea detrás de otra?
|
| 71 |
+
|
| 72 |
+
00:02:20.440 --> 00:02:23.360
|
| 73 |
+
Eso es procesamiento serial, lo que haría una CPU.
|
| 74 |
+
|
| 75 |
+
00:02:23.360 --> 00:02:30.000
|
| 76 |
+
Que la imagen de repente cargue y vaya cambiando dinámicamente es procesamiento paralelo, esa es la magia de una GPU.
|
| 77 |
+
|
| 78 |
+
00:02:30.000 --> 00:02:34.520
|
| 79 |
+
Tú puedes ver los pixeles, los pixeles de un teléfono, sobre todo un teléfono moderno,
|
| 80 |
+
|
| 81 |
+
00:02:34.520 --> 00:02:40.920
|
| 82 |
+
ese rojo, verde y azul, son muy chiquitos porque son microscópicos, por más de que acerques el ojo, no los vas a alcanzar a ver.
|
| 83 |
+
|
| 84 |
+
00:02:40.960 --> 00:02:45.480
|
| 85 |
+
Pero si tienes un monitor de toda la vida, uno de estos monitores que no tiene tanta resolución,
|
| 86 |
+
|
| 87 |
+
00:02:45.480 --> 00:02:50.760
|
| 88 |
+
puedes agarrar el monitor y acercar los ojos mucho, mucho, mucho a la pantalla mientras está prendida
|
| 89 |
+
|
| 90 |
+
00:02:50.760 --> 00:02:54.640
|
| 91 |
+
y vas a alcanzar a ver las líneas de rojo, verde y azul con tus ojos humanos.
|
| 92 |
+
|
| 93 |
+
00:02:54.640 --> 00:03:01.600
|
| 94 |
+
NVIDIA y ATI, que luego fue adquirida por AMD, crearon esta industria de las tarjetas gráficas.
|
| 95 |
+
|
| 96 |
+
00:03:01.600 --> 00:03:06.440
|
| 97 |
+
De hecho, si no fuera por esa industria, no habría crecido la industria de las consolas de videojuegos.
|
| 98 |
+
|
| 99 |
+
00:03:06.440 --> 00:03:11.680
|
| 100 |
+
Una consola de videojuegos, en esencia, es una computadora que tiene todas las partes de una computadora por dentro,
|
| 101 |
+
|
| 102 |
+
00:03:11.680 --> 00:03:17.200
|
| 103 |
+
pero cuyo sistema operativo está específicamente optimizado para la reproducción de videojuegos,
|
| 104 |
+
|
| 105 |
+
00:03:17.200 --> 00:03:19.800
|
| 106 |
+
y sus chips incluyen GPUs, por supuesto.
|
| 107 |
+
|
| 108 |
+
00:03:19.800 --> 00:03:24.000
|
| 109 |
+
Cuando tuvimos la clase de sistemas operativos, aprendimos de interrupciones,
|
| 110 |
+
|
| 111 |
+
00:03:24.000 --> 00:03:28.480
|
| 112 |
+
estos mecanismos que tiene el sistema operativo para darle prioridad a algunos procesos contra otros.
|
| 113 |
+
|
| 114 |
+
00:03:28.480 --> 00:03:32.800
|
| 115 |
+
Por eso, por ejemplo, cuando tu computadora está muy colgada haciendo un proceso muy complejo,
|
| 116 |
+
|
| 117 |
+
00:03:32.800 --> 00:03:37.920
|
| 118 |
+
tu mouse se puede mover a alta velocidad, porque el mouse tiene una alta prioridad en la jerarquía.
|
| 119 |
+
|
| 120 |
+
00:03:37.920 --> 00:03:44.920
|
| 121 |
+
Cuando se procesa una pantalla, imagínate que la GPU se cuelgue y solamente tengas imagen en el 75% de la pantalla
|
| 122 |
+
|
| 123 |
+
00:03:44.920 --> 00:03:47.640
|
| 124 |
+
y el resto se quede quieto. Sería extraño, ¿verdad?
|
| 125 |
+
|
| 126 |
+
00:03:47.640 --> 00:03:52.880
|
| 127 |
+
Así que las GPUs fueron originalmente diseñadas para que toda la pantalla tenga la misma prioridad,
|
| 128 |
+
|
| 129 |
+
00:03:52.880 --> 00:03:55.320
|
| 130 |
+
a través de un sistema que se conoce como pipelines.
|
| 131 |
+
|
| 132 |
+
00:03:55.320 --> 00:03:59.160
|
| 133 |
+
En resumen, los primeros circuitos de GPU eran circuitos sencillos,
|
| 134 |
+
|
| 135 |
+
00:03:59.160 --> 00:04:02.160
|
| 136 |
+
donde simplemente estaban encargados de sectores de la pantalla.
|
| 137 |
+
|
| 138 |
+
00:04:02.160 --> 00:04:06.440
|
| 139 |
+
Todos los sectores de la pantalla tienen la misma prioridad y todos tienen que representar una imagen.
|
| 140 |
+
|
| 141 |
+
00:04:06.440 --> 00:04:09.480
|
| 142 |
+
No eran nada versátiles de programar, pero por la ley de Moore,
|
| 143 |
+
|
| 144 |
+
00:04:09.480 --> 00:04:13.080
|
| 145 |
+
a medida que aumentaba exponencialmente la complejidad de los transistores,
|
| 146 |
+
|
| 147 |
+
00:04:13.080 --> 00:04:19.520
|
| 148 |
+
empezaron a emerger características como la característica de generar texturas
|
| 149 |
+
|
| 150 |
+
00:04:19.520 --> 00:04:24.320
|
| 151 |
+
y se programaron shaders y luces y cálculos de física,
|
| 152 |
+
|
| 153 |
+
00:04:24.320 --> 00:04:28.760
|
| 154 |
+
porque todo lo que necesitaba procesamiento paralelo, como pasa mucho en los videojuegos,
|
| 155 |
+
|
| 156 |
+
00:04:28.760 --> 00:04:35.000
|
| 157 |
+
se podía pasar por estos cientos de miles de núcleos que hacen cálculos paralelos de alta velocidad.
|
| 158 |
+
|
| 159 |
+
00:04:35.000 --> 00:04:37.440
|
| 160 |
+
Y emergió un nuevo tipo de computación paralela,
|
| 161 |
+
|
| 162 |
+
00:04:37.440 --> 00:04:41.280
|
| 163 |
+
que es la forma en la que funciona toda la industria de los efectos especiales,
|
| 164 |
+
|
| 165 |
+
00:04:41.280 --> 00:04:42.880
|
| 166 |
+
de los videojuegos, de la animación.
|
| 167 |
+
|
| 168 |
+
00:04:42.880 --> 00:04:47.520
|
| 169 |
+
Pero como necesita nunca trabarse, no puede usar la memoria RAM tradicional
|
| 170 |
+
|
| 171 |
+
00:04:47.520 --> 00:04:49.880
|
| 172 |
+
que en una computadora está muy lejos del chip.
|
| 173 |
+
|
| 174 |
+
00:04:49.880 --> 00:04:53.080
|
| 175 |
+
Esto es mucho antes de los System on a Chip, que tienen todo integrado.
|
| 176 |
+
|
| 177 |
+
00:04:53.080 --> 00:04:58.120
|
| 178 |
+
Así que las GPUs son tarjetas que, además de tener estos procesadores gráficos,
|
| 179 |
+
|
| 180 |
+
00:04:58.120 --> 00:05:01.120
|
| 181 |
+
tienen una memoria especial independiente.
|
| 182 |
+
|
| 183 |
+
00:05:01.120 --> 00:05:05.840
|
| 184 |
+
Esa memoria se conoce como VRAM y es la memoria de RAM de video,
|
| 185 |
+
|
| 186 |
+
00:05:05.840 --> 00:05:09.920
|
| 187 |
+
una memoria volátil específicamente para esa computación paralela.
|
| 188 |
+
|
| 189 |
+
00:05:09.920 --> 00:05:13.680
|
| 190 |
+
Así que cuando uno empieza a jugar videojuegos, uno carga datos en la VRAM.
|
| 191 |
+
|
| 192 |
+
00:05:13.680 --> 00:05:18.840
|
| 193 |
+
Ahí es donde se cargan las texturas de tu videojuego, los polígonos y todos esos cálculos de física que vas a usar
|
| 194 |
+
|
| 195 |
+
00:05:18.840 --> 00:05:20.480
|
| 196 |
+
cuando estás jugando un juego tridimensional.
|
| 197 |
+
|
| 198 |
+
00:05:20.480 --> 00:05:23.000
|
| 199 |
+
¿Qué otras cosas requieren procesamiento paralelo?
|
| 200 |
+
|
| 201 |
+
00:05:23.000 --> 00:05:24.840
|
| 202 |
+
Por ejemplo, el mundo.
|
| 203 |
+
|
| 204 |
+
00:05:24.840 --> 00:05:30.520
|
| 205 |
+
Cuando tú quieres modelar el sistema de las nubes para poder predecir el clima,
|
| 206 |
+
|
| 207 |
+
00:05:30.520 --> 00:05:34.040
|
| 208 |
+
pues eso es el procesamiento paralelo de muchísimas variables al mismo tiempo.
|
| 209 |
+
|
| 210 |
+
00:05:34.040 --> 00:05:37.320
|
| 211 |
+
Así que las GPUs eran ideales para simulación.
|
| 212 |
+
|
| 213 |
+
00:05:37.320 --> 00:05:43.360
|
| 214 |
+
Hubo una época en la que investigadores que creaban supercomputadoras para simulaciones de física,
|
| 215 |
+
|
| 216 |
+
00:05:43.360 --> 00:05:49.560
|
| 217 |
+
de estrellas, agujeros negros, etcétera, se dieron cuenta que el chip del PlayStation 3,
|
| 218 |
+
|
| 219 |
+
00:05:49.560 --> 00:05:54.400
|
| 220 |
+
un chip creado por IBM que combinaba CPU y GPU para los videojuegos de PlayStation 3,
|
| 221 |
+
|
| 222 |
+
00:05:54.400 --> 00:05:56.600
|
| 223 |
+
era increíblemente eficiente.
|
| 224 |
+
|
| 225 |
+
00:05:56.600 --> 00:05:59.880
|
| 226 |
+
Y como en el PlayStation 3 se puede instalar Linux de toda la vida,
|
| 227 |
+
|
| 228 |
+
00:05:59.880 --> 00:06:06.040
|
| 229 |
+
empezaron a comprar PlayStation 3 en masa y a crear clústeres de PlayStation con Linux
|
| 230 |
+
|
| 231 |
+
00:06:06.040 --> 00:06:09.520
|
| 232 |
+
para hacer simulaciones y fabricar supercomputadoras.
|
| 233 |
+
|
| 234 |
+
00:06:09.520 --> 00:06:12.120
|
| 235 |
+
Mucho más barato de lo que cuesta una supercomputadora.
|
| 236 |
+
|
| 237 |
+
00:06:12.120 --> 00:06:16.840
|
| 238 |
+
Porque al final del día, un videojuego no es más que una simulación del mundo real.
|
| 239 |
+
|
| 240 |
+
00:06:16.840 --> 00:06:19.160
|
| 241 |
+
Así que me servía perfecto para la física.
|
| 242 |
+
|
| 243 |
+
00:06:19.160 --> 00:06:23.200
|
| 244 |
+
Porque el dinero, Sony, Microsoft con el Xbox o Nintendo con...
|
| 245 |
+
|
| 246 |
+
00:06:23.200 --> 00:06:26.880
|
| 247 |
+
Bueno, Nintendo es una excepción, la verdad, Nintendo sí hace plata con las consolas.
|
| 248 |
+
|
| 249 |
+
00:06:26.880 --> 00:06:30.480
|
| 250 |
+
Pero Sony y Microsoft no hacen dinero con el PlayStation o con el Xbox.
|
| 251 |
+
|
| 252 |
+
00:06:30.480 --> 00:06:34.600
|
| 253 |
+
Lo venden a pérdida porque ganan dinero con la venta de los videojuegos.
|
| 254 |
+
|
| 255 |
+
00:06:34.600 --> 00:06:36.840
|
| 256 |
+
PlayStation 3 era vendido a pérdida.
|
| 257 |
+
|
| 258 |
+
00:06:36.840 --> 00:06:40.560
|
| 259 |
+
Así que PlayStation estaba perdiendo dinero haciendo todas estas consolas
|
| 260 |
+
|
| 261 |
+
00:06:40.560 --> 00:06:44.480
|
| 262 |
+
para las que nunca se iban a comprar videojuegos porque las estaban usando científicos
|
| 263 |
+
|
| 264 |
+
00:06:44.480 --> 00:06:47.440
|
| 265 |
+
y pues cerraron el chorro y dejaron de permitir esto.
|
| 266 |
+
|
| 267 |
+
00:06:47.440 --> 00:06:50.360
|
| 268 |
+
Pero por un momento mágico, por un momento mágico,
|
| 269 |
+
|
| 270 |
+
00:06:50.360 --> 00:06:52.800
|
| 271 |
+
la computación científica corría en PlayStation.
|
| 272 |
+
|
| 273 |
+
00:06:52.800 --> 00:06:56.280
|
| 274 |
+
La inteligencia artificial también es procesamiento paralelo.
|
| 275 |
+
|
| 276 |
+
00:06:56.280 --> 00:07:00.720
|
| 277 |
+
Cuando tú usas un modelo de lenguaje de inteligencia artificial para generar un texto,
|
| 278 |
+
|
| 279 |
+
00:07:00.720 --> 00:07:05.040
|
| 280 |
+
el modelo de lenguaje empieza a recorrer un árbol gigantesco
|
| 281 |
+
|
| 282 |
+
00:07:05.040 --> 00:07:08.560
|
| 283 |
+
de la estructura del lenguaje humano con el que fue entrenado.
|
| 284 |
+
|
| 285 |
+
00:07:08.560 --> 00:07:11.800
|
| 286 |
+
Y trata de encontrar diferentes caminos para responder una pregunta
|
| 287 |
+
|
| 288 |
+
00:07:11.800 --> 00:07:15.640
|
| 289 |
+
que tú le haces a ChatGPT o a DeepSeek o a Cloud o a Gemini
|
| 290 |
+
|
| 291 |
+
00:07:15.640 --> 00:07:18.360
|
| 292 |
+
o al modelo que estés usando en el momento en el que estés viendo este curso.
|
| 293 |
+
|
| 294 |
+
00:07:18.360 --> 00:07:24.440
|
| 295 |
+
El punto es que ese procesamiento paralelo ocurre en GPUs originalmente,
|
| 296 |
+
|
| 297 |
+
00:07:24.440 --> 00:07:26.800
|
| 298 |
+
pero luego hemos empezado a usar chips especializados,
|
| 299 |
+
|
| 300 |
+
00:07:26.800 --> 00:07:28.160
|
| 301 |
+
pero eso viene más adelante.
|
| 302 |
+
|
| 303 |
+
00:07:28.160 --> 00:07:31.440
|
| 304 |
+
Inicialmente, los primeros modelos de inteligencia artificial
|
| 305 |
+
|
| 306 |
+
00:07:31.440 --> 00:07:34.680
|
| 307 |
+
antes de la superinteligencia fueron entrenados en GPUs.
|
| 308 |
+
|
| 309 |
+
00:07:34.680 --> 00:07:40.120
|
| 310 |
+
Los autónomos autónomos como los Tesla o Waymo de Google usan GPUs
|
| 311 |
+
|
| 312 |
+
00:07:40.120 --> 00:07:45.080
|
| 313 |
+
porque así como una GPU tiene que procesar al mismo tiempo cada píxel de una pantalla,
|
| 314 |
+
|
| 315 |
+
00:07:45.080 --> 00:07:50.520
|
| 316 |
+
un automóvil usa las cámaras y los radares que tiene en el marco del automóvil,
|
| 317 |
+
|
| 318 |
+
00:07:50.520 --> 00:07:53.920
|
| 319 |
+
en su estructura, para capturar imágenes del mundo exterior.
|
| 320 |
+
|
| 321 |
+
00:07:53.920 --> 00:07:56.720
|
| 322 |
+
Esa captura de imágenes tiene que ser procesada en tiempo real
|
| 323 |
+
|
| 324 |
+
00:07:56.720 --> 00:07:59.560
|
| 325 |
+
para convertirla en los ponígonos tridimensionales
|
| 326 |
+
|
| 327 |
+
00:07:59.560 --> 00:08:02.280
|
| 328 |
+
que le permiten a un algoritmo de inteligencia artificial
|
| 329 |
+
|
| 330 |
+
00:08:02.280 --> 00:08:05.440
|
| 331 |
+
decidir si el auto va a frenar, acelerar o moverse.
|
| 332 |
+
|
| 333 |
+
00:08:05.440 --> 00:08:09.000
|
| 334 |
+
Sin GPUs, ese procesamiento paralelo de alta velocidad,
|
| 335 |
+
|
| 336 |
+
00:08:09.000 --> 00:08:12.320
|
| 337 |
+
de cálculos relativamente simples, pero millones al mismo tiempo,
|
| 338 |
+
|
| 339 |
+
00:08:12.320 --> 00:08:13.200
|
| 340 |
+
no sería posible.
|
| 341 |
+
|
| 342 |
+
00:08:13.200 --> 00:08:17.640
|
| 343 |
+
Las CPUs normales se programan con un lenguaje ensamblador.
|
| 344 |
+
|
| 345 |
+
00:08:17.640 --> 00:08:21.480
|
| 346 |
+
Ese lenguaje es el que arranca el kernel y el que habla el sistema operativo.
|
| 347 |
+
|
| 348 |
+
00:08:21.480 --> 00:08:27.080
|
| 349 |
+
Las aplicaciones se programan en lenguajes como C++, Python, Visual Basic, entre otros.
|
| 350 |
+
|
| 351 |
+
00:08:27.080 --> 00:08:30.720
|
| 352 |
+
Pero todos esos lenguajes compilan al lenguaje ensamblador de la CPU.
|
| 353 |
+
|
| 354 |
+
00:08:30.720 --> 00:08:32.800
|
| 355 |
+
Las GPUs tienen algo muy parecido.
|
| 356 |
+
|
| 357 |
+
00:08:32.800 --> 00:08:36.560
|
| 358 |
+
Y fabricantes como Nvidia han creado lenguajes intermedios
|
| 359 |
+
|
| 360 |
+
00:08:36.560 --> 00:08:39.760
|
| 361 |
+
para que los programadores le hablen al metal,
|
| 362 |
+
|
| 363 |
+
00:08:39.760 --> 00:08:42.440
|
| 364 |
+
para que puedan programar el chip de la GPU.
|
| 365 |
+
|
| 366 |
+
00:08:42.440 --> 00:08:46.200
|
| 367 |
+
El más popular en este momento se llama CUDA de Nvidia.
|
| 368 |
+
|
| 369 |
+
00:08:46.200 --> 00:08:48.480
|
| 370 |
+
Inicialmente pensaba para videojuegos,
|
| 371 |
+
|
| 372 |
+
00:08:48.480 --> 00:08:52.840
|
| 373 |
+
CUDA es parte de la razón por la que la revolución de la inteligencia artificial es posible.
|
| 374 |
+
|
| 375 |
+
00:08:52.840 --> 00:08:55.720
|
| 376 |
+
Porque permite hacer estos cálculos masivos
|
| 377 |
+
|
| 378 |
+
00:08:55.720 --> 00:08:59.880
|
| 379 |
+
reprogramando el comportamiento de chips que originalmente fueron pensados
|
| 380 |
+
|
| 381 |
+
00:08:59.880 --> 00:09:00.840
|
| 382 |
+
para mover pixeles.
|
| 383 |
+
|
| 384 |
+
00:09:00.840 --> 00:09:05.520
|
| 385 |
+
Las GPUs también se programan y se diseñan a nivel físico de hardware
|
| 386 |
+
|
| 387 |
+
00:09:05.520 --> 00:09:07.600
|
| 388 |
+
con consideraciones distintas.
|
| 389 |
+
|
| 390 |
+
00:09:07.600 --> 00:09:09.880
|
| 391 |
+
La CPU, que es el procesador que arranca el sistema operativo,
|
| 392 |
+
|
| 393 |
+
00:09:09.880 --> 00:09:13.800
|
| 394 |
+
está en el corazón de la tarjeta madre de una computadora
|
| 395 |
+
|
| 396 |
+
00:09:13.800 --> 00:09:16.200
|
| 397 |
+
o de la tarjeta central de un teléfono.
|
| 398 |
+
|
| 399 |
+
00:09:16.200 --> 00:09:21.440
|
| 400 |
+
Pero la GPU se conecta a alta velocidad a través de un puerto que se llama PCI-E,
|
| 401 |
+
|
| 402 |
+
00:09:21.440 --> 00:09:24.080
|
| 403 |
+
que es un puerto, es una serie de muesquitas
|
| 404 |
+
|
| 405 |
+
00:09:24.080 --> 00:09:27.680
|
| 406 |
+
que se conectan directamente a la electrónica de la tarjeta madre.
|
| 407 |
+
|
| 408 |
+
00:09:27.680 --> 00:09:31.440
|
| 409 |
+
En un teléfono o en una computadora de Apple que tienen System on a Chip,
|
| 410 |
+
|
| 411 |
+
00:09:31.440 --> 00:09:35.400
|
| 412 |
+
las GPUs directamente están pegadas a la CPU en el System on a Chip,
|
| 413 |
+
|
| 414 |
+
00:09:35.400 --> 00:09:36.880
|
| 415 |
+
como lo vimos en la clase anterior.
|
| 416 |
+
|
| 417 |
+
00:09:36.880 --> 00:09:40.920
|
| 418 |
+
En una computadora normal, la CPU tiene un ventilador o un sistema
|
| 419 |
+
|
| 420 |
+
00:09:40.920 --> 00:09:43.840
|
| 421 |
+
de refrigeramiento por agua que enfría la CPU.
|
| 422 |
+
|
| 423 |
+
00:09:43.840 --> 00:09:47.480
|
| 424 |
+
Pero las GPUs también se calientan, así que tienen sus propios sistemas
|
| 425 |
+
|
| 426 |
+
00:09:47.480 --> 00:09:50.680
|
| 427 |
+
de enfriamiento paralelo, sus propios ventiladores o su propia
|
| 428 |
+
|
| 429 |
+
00:09:50.680 --> 00:09:51.920
|
| 430 |
+
refrigeración de agua.
|
| 431 |
+
|
| 432 |
+
00:09:51.920 --> 00:09:54.840
|
| 433 |
+
En algunos casos, como en las computadoras de videojuegos más
|
| 434 |
+
|
| 435 |
+
00:09:54.840 --> 00:09:57.920
|
| 436 |
+
poderosas, o en las computadoras de render de efectos especiales,
|
| 437 |
+
|
| 438 |
+
00:09:57.920 --> 00:10:02.160
|
| 439 |
+
o en las supercomputadoras de simulación para efectos científicos,
|
| 440 |
+
|
| 441 |
+
00:10:02.160 --> 00:10:04.440
|
| 442 |
+
llegan a enfriarlas con aceite.
|
| 443 |
+
|
| 444 |
+
00:10:04.440 --> 00:10:06.400
|
| 445 |
+
El aceite no conduce la electricidad.
|
| 446 |
+
|
| 447 |
+
00:10:06.400 --> 00:10:10.080
|
| 448 |
+
Así que hay computadoras que se hunden en aceite para que el aceite
|
| 449 |
+
|
| 450 |
+
00:10:10.080 --> 00:10:11.000
|
| 451 |
+
disipe el calor.
|
| 452 |
+
|
| 453 |
+
00:10:11.000 --> 00:10:13.840
|
| 454 |
+
Más adelante vamos a hablar de codecs, que son codificadores de
|
| 455 |
+
|
| 456 |
+
00:10:13.840 --> 00:10:17.160
|
| 457 |
+
codificadores, un tipo de algoritmo de compresión y descompresión que
|
| 458 |
+
|
| 459 |
+
00:10:17.160 --> 00:10:19.880
|
| 460 |
+
es, por ejemplo, la forma en la que funciona el video.
|
| 461 |
+
|
| 462 |
+
00:10:19.880 --> 00:10:24.040
|
| 463 |
+
Los videos antes eran súper pesados y ahora son mucho más livianos.
|
| 464 |
+
|
| 465 |
+
00:10:24.040 --> 00:10:26.960
|
| 466 |
+
Antes teníamos Blu-rays y ahora tenemos YouTube y Netflix.
|
| 467 |
+
|
| 468 |
+
00:10:26.960 --> 00:10:31.720
|
| 469 |
+
Pero esos son algoritmos que gastan muchísimo de el chip.
|
| 470 |
+
|
| 471 |
+
00:10:31.720 --> 00:10:34.320
|
| 472 |
+
Y antes usaban la GPU y mucho antes la CPU.
|
| 473 |
+
|
| 474 |
+
00:10:34.320 --> 00:10:39.360
|
| 475 |
+
Ahora usan transistores especializados dentro de la GPU como instrucciones
|
| 476 |
+
|
| 477 |
+
00:10:39.360 --> 00:10:42.760
|
| 478 |
+
que solamente se encargan de codificar y decodificar video,
|
| 479 |
+
|
| 480 |
+
00:10:42.760 --> 00:10:44.880
|
| 481 |
+
usando mucho menos electricidad.
|
| 482 |
+
|
| 483 |
+
00:10:44.880 --> 00:10:47.200
|
| 484 |
+
Lo mismo pasa con la simulación de ciertos videojuegos.
|
| 485 |
+
|
| 486 |
+
00:10:47.200 --> 00:10:48.520
|
| 487 |
+
Los videojuegos empezaron, por ejemplo,
|
| 488 |
+
|
| 489 |
+
00:10:48.520 --> 00:10:51.480
|
| 490 |
+
a simular el comportamiento de los fotones del mundo real,
|
| 491 |
+
|
| 492 |
+
00:10:51.480 --> 00:10:55.040
|
| 493 |
+
el comportamiento de la luz, con una técnica llamada ray tracing,
|
| 494 |
+
|
| 495 |
+
00:10:55.040 --> 00:10:57.640
|
| 496 |
+
que inicialmente se programaba en código,
|
| 497 |
+
|
| 498 |
+
00:10:57.640 --> 00:11:02.440
|
| 499 |
+
pero ahora se crean el transistor en los chips y la GPU tiene unidades
|
| 500 |
+
|
| 501 |
+
00:11:02.440 --> 00:11:04.440
|
| 502 |
+
específicamente diseñadas para ray tracing.
|
| 503 |
+
|
| 504 |
+
00:11:04.440 --> 00:11:06.440
|
| 505 |
+
Con la inteligencia artificial pasa lo mismo.
|
| 506 |
+
|
| 507 |
+
00:11:06.440 --> 00:11:08.160
|
| 508 |
+
La inteligencia artificial es, en esencia,
|
| 509 |
+
|
| 510 |
+
00:11:08.160 --> 00:11:11.760
|
| 511 |
+
multiplicación de matrices y recorrido de árboles.
|
| 512 |
+
|
| 513 |
+
00:11:11.760 --> 00:11:15.600
|
| 514 |
+
Eso se puede programar en el chip y es la esencia de las unidades de
|
| 515 |
+
|
| 516 |
+
00:11:15.600 --> 00:11:17.040
|
| 517 |
+
procesamiento neural.
|
| 518 |
+
|
| 519 |
+
00:11:17.040 --> 00:11:19.680
|
| 520 |
+
Nvidia, por ejemplo, tiene unos chips que solo hacen eso,
|
| 521 |
+
|
| 522 |
+
00:11:19.680 --> 00:11:20.800
|
| 523 |
+
que vamos a ver más adelante.
|
| 524 |
+
|
| 525 |
+
00:11:20.800 --> 00:11:24.400
|
| 526 |
+
Antes de que la inteligencia artificial consumiera masivas cantidades de chips
|
| 527 |
+
|
| 528 |
+
00:11:24.400 --> 00:11:27.600
|
| 529 |
+
gráficos, lo hizo las criptomonedas.
|
| 530 |
+
|
| 531 |
+
00:11:27.600 --> 00:11:31.800
|
| 532 |
+
Bitcoin y casi todas las monedas que usan blockchain requieren hacer un tipo de
|
| 533 |
+
|
| 534 |
+
00:11:31.800 --> 00:11:35.520
|
| 535 |
+
cálculo matemático muy particular para que el blockchain funcione de manera
|
| 536 |
+
|
| 537 |
+
00:11:35.520 --> 00:11:36.440
|
| 538 |
+
cifrada.
|
| 539 |
+
|
| 540 |
+
00:11:36.440 --> 00:11:40.040
|
| 541 |
+
Ese cálculo es más amigable en procesamiento paralelo que en
|
| 542 |
+
|
| 543 |
+
00:11:40.040 --> 00:11:41.280
|
| 544 |
+
procesamiento serial.
|
| 545 |
+
|
| 546 |
+
00:11:41.280 --> 00:11:43.160
|
| 547 |
+
Así que aprovecha las GPUs.
|
| 548 |
+
|
| 549 |
+
00:11:43.160 --> 00:11:47.560
|
| 550 |
+
Y como Bitcoin recompensa con criptomonedas a las personas que hacen
|
| 551 |
+
|
| 552 |
+
00:11:47.560 --> 00:11:50.320
|
| 553 |
+
este proceso de ejecutar las ecuaciones matemáticas,
|
| 554 |
+
|
| 555 |
+
00:11:50.320 --> 00:11:54.200
|
| 556 |
+
llamado criptominería, se creó toda una industria de minería de Bitcoin,
|
| 557 |
+
|
| 558 |
+
00:11:54.200 --> 00:11:58.600
|
| 559 |
+
que es poner a correr estas GPUs al máximo en grandes granjas de servidores
|
| 560 |
+
|
| 561 |
+
00:11:58.600 --> 00:12:02.200
|
| 562 |
+
pegadas a granjas de hidroeléctricas, plantas de energía nuclear,
|
| 563 |
+
|
| 564 |
+
00:12:02.200 --> 00:12:04.280
|
| 565 |
+
energía basada en gas, etcétera.
|
| 566 |
+
|
| 567 |
+
00:12:04.280 --> 00:12:07.800
|
| 568 |
+
Hay países enteros que tienen cosas así, como por ejemplo El Salvador.
|
| 569 |
+
|
| 570 |
+
00:12:07.800 --> 00:12:11.800
|
| 571 |
+
Eso hizo que la demanda de chips aumentara justo antes de que llegara la
|
| 572 |
+
|
| 573 |
+
00:12:11.800 --> 00:12:12.880
|
| 574 |
+
inteligencia artificial.
|
| 575 |
+
|
| 576 |
+
00:12:12.880 --> 00:12:16.880
|
| 577 |
+
No es como que las GPUs hayan abandonado la industria de los videojuegos.
|
| 578 |
+
|
| 579 |
+
00:12:16.880 --> 00:12:18.400
|
| 580 |
+
Todavía hay mucha innovación.
|
| 581 |
+
|
| 582 |
+
00:12:18.400 --> 00:12:22.840
|
| 583 |
+
Valve, la empresa detrás de juegos como Portal, Half-Life y el sistema Steam,
|
| 584 |
+
|
| 585 |
+
00:12:22.840 --> 00:12:26.840
|
| 586 |
+
tiene un sistema operativo llamado SteamOS que reemplaza el sistema operativo que
|
| 587 |
+
|
| 588 |
+
00:12:26.880 --> 00:12:30.480
|
| 589 |
+
estás creando en tu computadora para maximizar el uso de recursos para un
|
| 590 |
+
|
| 591 |
+
00:12:30.480 --> 00:12:31.320
|
| 592 |
+
videojuego,
|
| 593 |
+
|
| 594 |
+
00:12:31.320 --> 00:12:34.840
|
| 595 |
+
de tal manera que tu computadora se vuelve en esencia una consola de videojuegos.
|
| 596 |
+
|
| 597 |
+
00:12:34.840 --> 00:12:39.800
|
| 598 |
+
También la realidad aumentada y la realidad virtual han aumentado la necesidad
|
| 599 |
+
|
| 600 |
+
00:12:39.800 --> 00:12:44.360
|
| 601 |
+
de procesadores gráficos porque en cada ojo estás procesando dos pantallas
|
| 602 |
+
|
| 603 |
+
00:12:44.360 --> 00:12:48.800
|
| 604 |
+
distintas para crear esa sensación de tridimensionalidad y presencia que tiene
|
| 605 |
+
|
| 606 |
+
00:12:48.800 --> 00:12:49.840
|
| 607 |
+
la realidad virtual.
|
| 608 |
+
|
| 609 |
+
00:12:49.840 --> 00:12:53.640
|
| 610 |
+
Así que aún sigue habiendo mucha innovación gráfica,
|
| 611 |
+
|
| 612 |
+
00:12:53.640 --> 00:12:57.200
|
| 613 |
+
solo que la inteligencia artificial lo absorbió mucho y todavía tenemos mucho
|
| 614 |
+
|
| 615 |
+
00:12:57.200 --> 00:12:58.680
|
| 616 |
+
de procesamiento científico que hacer.
|
| 617 |
+
|
| 618 |
+
00:12:58.680 --> 00:13:03.000
|
| 619 |
+
Las GPUs son un procesador revolucionario que avanzó la ciencia humana.
|
| 620 |
+
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/10-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/programacion-basica/
|
| 2 |
+
https://platzi.com/cursos/python/
|
| 3 |
+
https://platzi.com/cursos/javascript/
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Qué es un algoritmo y qué es un lenguaje de programación.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:82efbc8c241e28e08dd893d1b2376012093e10e95014cfe307b0898b98f1281d
|
| 3 |
+
size 167399896
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Qué es un algoritmo y qué es un lenguaje de programación.vtt
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.240 --> 00:00:02.820
|
| 4 |
+
Un algoritmo es un conjunto de pasos lógicos
|
| 5 |
+
|
| 6 |
+
00:00:03.199 --> 00:00:06.879
|
| 7 |
+
claramente definidos de una manera no ambigua para
|
| 8 |
+
|
| 9 |
+
00:00:06.879 --> 00:00:09.139
|
| 10 |
+
resolver un problema o para lograr un objetivo.
|
| 11 |
+
|
| 12 |
+
00:00:09.280 --> 00:00:11.679
|
| 13 |
+
En este caso, vamos a imaginarnos un sistema
|
| 14 |
+
|
| 15 |
+
00:00:11.679 --> 00:00:15.045
|
| 16 |
+
de aire acondicionado. Un aire acondicionado, muy simplificado,
|
| 17 |
+
|
| 18 |
+
00:00:15.145 --> 00:00:18.485
|
| 19 |
+
es un sistema relativamente simple. Los aires acondicionados
|
| 20 |
+
|
| 21 |
+
00:00:18.545 --> 00:00:22.705
|
| 22 |
+
hacen 2 cosas, calientan el aire o enfrían
|
| 23 |
+
|
| 24 |
+
00:00:22.705 --> 00:00:24.465
|
| 25 |
+
el aire, pero una vez el aire está
|
| 26 |
+
|
| 27 |
+
00:00:24.465 --> 00:00:27.445
|
| 28 |
+
caliente o frío, el siguiente paso es distribuirlo
|
| 29 |
+
|
| 30 |
+
00:00:27.585 --> 00:00:30.530
|
| 31 |
+
alrededor del área que quieres condicionar, así que
|
| 32 |
+
|
| 33 |
+
00:00:30.530 --> 00:00:33.090
|
| 34 |
+
tienes que ventilar el aire. Y si el
|
| 35 |
+
|
| 36 |
+
00:00:33.090 --> 00:00:35.570
|
| 37 |
+
aire ya está a la temperatura deseada por
|
| 38 |
+
|
| 39 |
+
00:00:35.570 --> 00:00:37.730
|
| 40 |
+
el usuario, tienes que dejar de ventilar el
|
| 41 |
+
|
| 42 |
+
00:00:37.730 --> 00:00:39.670
|
| 43 |
+
aire, o si no, vas a perder esa
|
| 44 |
+
|
| 45 |
+
00:00:39.810 --> 00:00:42.210
|
| 46 |
+
temperatura. Para ello, los aires acondicionados usan un
|
| 47 |
+
|
| 48 |
+
00:00:42.210 --> 00:00:47.435
|
| 49 |
+
termostato. El termostato está constantemente midiendo la temperatura
|
| 50 |
+
|
| 51 |
+
00:00:47.435 --> 00:00:49.755
|
| 52 |
+
del aire comparada con la temperatura que el
|
| 53 |
+
|
| 54 |
+
00:00:49.755 --> 00:00:52.795
|
| 55 |
+
usuario tiene. ¿Cómo expresamos, entonces, todas estas funciones
|
| 56 |
+
|
| 57 |
+
00:00:52.795 --> 00:00:55.855
|
| 58 |
+
de una manera algorítmica? Primero, tenemos que definir
|
| 59 |
+
|
| 60 |
+
00:00:55.915 --> 00:00:59.010
|
| 61 |
+
unas variables. Tenemos nuestro termostato y nuestro termostato
|
| 62 |
+
|
| 63 |
+
00:00:59.070 --> 00:01:02.270
|
| 64 |
+
sabe 2 cosas, la temperatura actual, definida como
|
| 65 |
+
|
| 66 |
+
00:01:02.270 --> 00:01:04.830
|
| 67 |
+
la variable temperatura, y la temperatura que el
|
| 68 |
+
|
| 69 |
+
00:01:04.830 --> 00:01:08.990
|
| 70 |
+
usuario quiere, definida como la variable usuario. Asumamos
|
| 71 |
+
|
| 72 |
+
00:01:08.990 --> 00:01:11.470
|
| 73 |
+
para este ejercicio que la temperatura actual del
|
| 74 |
+
|
| 75 |
+
00:01:11.470 --> 00:01:14.105
|
| 76 |
+
lugar donde estamos es de 20 grados, y
|
| 77 |
+
|
| 78 |
+
00:01:14.105 --> 00:01:15.865
|
| 79 |
+
la temperatura que el usuario quiere es de
|
| 80 |
+
|
| 81 |
+
00:01:15.865 --> 00:01:19.145
|
| 82 |
+
24 grados. Lo siguiente que tenemos que hacer
|
| 83 |
+
|
| 84 |
+
00:01:19.145 --> 00:01:22.025
|
| 85 |
+
es definir si lo que tenemos que hacer
|
| 86 |
+
|
| 87 |
+
00:01:22.025 --> 00:01:26.045
|
| 88 |
+
es calentar o enfriar. Así que creamos una
|
| 89 |
+
|
| 90 |
+
00:01:26.425 --> 00:01:29.860
|
| 91 |
+
condición, y la condición es si la temperatura
|
| 92 |
+
|
| 93 |
+
00:01:29.860 --> 00:01:32.100
|
| 94 |
+
es menor que la que el usuario quiere,
|
| 95 |
+
|
| 96 |
+
00:01:32.100 --> 00:01:34.020
|
| 97 |
+
¿qué tenemos que hacer? Es decir, si la
|
| 98 |
+
|
| 99 |
+
00:01:34.020 --> 00:01:35.780
|
| 100 |
+
temperatura, que en este caso es 20, es
|
| 101 |
+
|
| 102 |
+
00:01:35.780 --> 00:01:37.500
|
| 103 |
+
menor a la que el usuario quiere, que
|
| 104 |
+
|
| 105 |
+
00:01:37.500 --> 00:01:40.500
|
| 106 |
+
es 24, significa que está más frío. Así
|
| 107 |
+
|
| 108 |
+
00:01:40.500 --> 00:01:43.615
|
| 109 |
+
que tenemos que encender el aire acondicionado en
|
| 110 |
+
|
| 111 |
+
00:01:43.615 --> 00:01:47.255
|
| 112 |
+
modo de calentamiento, tenemos que calentar el aire.
|
| 113 |
+
|
| 114 |
+
00:01:47.255 --> 00:01:50.094
|
| 115 |
+
Y luego deberíamos ventilar, pero eso no es
|
| 116 |
+
|
| 117 |
+
00:01:50.094 --> 00:01:53.454
|
| 118 |
+
suficiente, porque ¿en qué momento logramos parar de
|
| 119 |
+
|
| 120 |
+
00:01:53.454 --> 00:01:55.935
|
| 121 |
+
ventilar? Digamos que la ventilación es un proceso
|
| 122 |
+
|
| 123 |
+
00:01:55.935 --> 00:01:58.729
|
| 124 |
+
que ocurre cada segundo y digamos que nuestro
|
| 125 |
+
|
| 126 |
+
00:01:58.729 --> 00:02:02.270
|
| 127 |
+
sistema está corriendo un ciclo de cada segundo,
|
| 128 |
+
|
| 129 |
+
00:02:02.650 --> 00:02:04.890
|
| 130 |
+
cada segundo y un ciclo que evalúa esto.
|
| 131 |
+
|
| 132 |
+
00:02:04.890 --> 00:02:08.009
|
| 133 |
+
Entonces, cada segundo es un ciclo que se
|
| 134 |
+
|
| 135 |
+
00:02:08.009 --> 00:02:10.845
|
| 136 |
+
tiene que expresar en el algoritmo. Decimos que
|
| 137 |
+
|
| 138 |
+
00:02:10.845 --> 00:02:15.004
|
| 139 |
+
cada segundo, si la temperatura es menor que
|
| 140 |
+
|
| 141 |
+
00:02:15.004 --> 00:02:17.724
|
| 142 |
+
la que pide el usuario, calentamos. Y si
|
| 143 |
+
|
| 144 |
+
00:02:17.724 --> 00:02:20.385
|
| 145 |
+
no, entonces lo que deberíamos hacer es enfriar.
|
| 146 |
+
|
| 147 |
+
00:02:20.605 --> 00:02:23.325
|
| 148 |
+
Y todo esto, ¿siempre debemos estar ventilando? Claro
|
| 149 |
+
|
| 150 |
+
00:02:23.325 --> 00:02:25.084
|
| 151 |
+
que no. ¿Qué pasa si la temperatura está
|
| 152 |
+
|
| 153 |
+
00:02:25.084 --> 00:02:27.640
|
| 154 |
+
perfecta? Pues, ventilar sería un problema para el
|
| 155 |
+
|
| 156 |
+
00:02:27.640 --> 00:02:31.500
|
| 157 |
+
usuario. Solamente tenemos que ventilar cuando la temperatura
|
| 158 |
+
|
| 159 |
+
00:02:31.560 --> 00:02:35.560
|
| 160 |
+
sea distinta. Por ende, necesitamos otra estructura, un
|
| 161 |
+
|
| 162 |
+
00:02:35.560 --> 00:02:38.855
|
| 163 |
+
ciclo que ocurra en cada segundo, donde preguntemos
|
| 164 |
+
|
| 165 |
+
00:02:39.075 --> 00:02:41.395
|
| 166 |
+
si la temperatura es diferente a la del
|
| 167 |
+
|
| 168 |
+
00:02:41.395 --> 00:02:44.515
|
| 169 |
+
usuario. Así que podemos colocar que mientras la
|
| 170 |
+
|
| 171 |
+
00:02:44.515 --> 00:02:47.555
|
| 172 |
+
temperatura actual sea diferente a la del usuario,
|
| 173 |
+
|
| 174 |
+
00:02:47.555 --> 00:02:49.955
|
| 175 |
+
hacemos la condición. Mientras la temperatura sea diferente
|
| 176 |
+
|
| 177 |
+
00:02:49.955 --> 00:02:52.504
|
| 178 |
+
a la del usuario, si temperatura es menor
|
| 179 |
+
|
| 180 |
+
00:02:52.504 --> 00:02:55.099
|
| 181 |
+
que el usuario, calentamos y, si no, enfriamos.
|
| 182 |
+
|
| 183 |
+
00:02:55.239 --> 00:02:57.080
|
| 184 |
+
Y, sin importar cualquiera de las 2 que
|
| 185 |
+
|
| 186 |
+
00:02:57.080 --> 00:02:59.239
|
| 187 |
+
pase, sabemos que la temperatura es diferente, así
|
| 188 |
+
|
| 189 |
+
00:02:59.239 --> 00:03:02.200
|
| 190 |
+
que le decimos ventilar. Y este ciclo solamente
|
| 191 |
+
|
| 192 |
+
00:03:02.200 --> 00:03:03.799
|
| 193 |
+
va a ocurrir en los casos en los
|
| 194 |
+
|
| 195 |
+
00:03:03.799 --> 00:03:06.120
|
| 196 |
+
que la temperatura sea diferente y, si no,
|
| 197 |
+
|
| 198 |
+
00:03:06.120 --> 00:03:08.945
|
| 199 |
+
lo sacamos, y esto ocurre cada segundo en
|
| 200 |
+
|
| 201 |
+
00:03:08.945 --> 00:03:11.505
|
| 202 |
+
el ciclo de un aire acondicionado. Hay algoritmos
|
| 203 |
+
|
| 204 |
+
00:03:11.505 --> 00:03:13.505
|
| 205 |
+
más simples. Si tienes un hervidor que tiene
|
| 206 |
+
|
| 207 |
+
00:03:13.505 --> 00:03:15.685
|
| 208 |
+
que hervir el agua hasta 100 grados centígrados,
|
| 209 |
+
|
| 210 |
+
00:03:15.985 --> 00:03:17.345
|
| 211 |
+
lo que hace es que, una vez está
|
| 212 |
+
|
| 213 |
+
00:03:17.345 --> 00:03:19.550
|
| 214 |
+
lleno de agua, al oprimir el botón, muy
|
| 215 |
+
|
| 216 |
+
00:03:19.550 --> 00:03:22.350
|
| 217 |
+
probablemente lo que pasa es que internamente la
|
| 218 |
+
|
| 219 |
+
00:03:22.350 --> 00:03:26.670
|
| 220 |
+
electrónica de tu hervidor dice, mientras el agua
|
| 221 |
+
|
| 222 |
+
00:03:26.670 --> 00:03:29.950
|
| 223 |
+
sea de menor temperatura a 100 grados, mantén
|
| 224 |
+
|
| 225 |
+
00:03:29.950 --> 00:03:32.834
|
| 226 |
+
el elemento de calor calentando, de tal manera
|
| 227 |
+
|
| 228 |
+
00:03:32.834 --> 00:03:34.835
|
| 229 |
+
que, cuando sea mayor de 100 grados, ese
|
| 230 |
+
|
| 231 |
+
00:03:34.835 --> 00:03:37.555
|
| 232 |
+
mientras deja de funcionar y, al terminar de
|
| 233 |
+
|
| 234 |
+
00:03:37.555 --> 00:03:40.115
|
| 235 |
+
funcionar el ciclo, se apaga. Esa función de
|
| 236 |
+
|
| 237 |
+
00:03:40.115 --> 00:03:42.275
|
| 238 |
+
apagarse cuando el agua sea mayor de 100
|
| 239 |
+
|
| 240 |
+
00:03:42.275 --> 00:03:45.115
|
| 241 |
+
grados, o calentar mientras el agua sea menor
|
| 242 |
+
|
| 243 |
+
00:03:45.115 --> 00:03:47.489
|
| 244 |
+
a 100 grados, es un algoritmo. Un algoritmo
|
| 245 |
+
|
| 246 |
+
00:03:47.870 --> 00:03:50.690
|
| 247 |
+
es, entonces, una serie de instrucciones, una expresión
|
| 248 |
+
|
| 249 |
+
00:03:50.830 --> 00:03:53.230
|
| 250 |
+
matemática de las órdenes que se le puede
|
| 251 |
+
|
| 252 |
+
00:03:53.230 --> 00:03:55.629
|
| 253 |
+
dar a un sistema. Un lenguaje de programación
|
| 254 |
+
|
| 255 |
+
00:03:55.629 --> 00:03:58.989
|
| 256 |
+
no es necesariamente un algoritmo. Los lenguajes de
|
| 257 |
+
|
| 258 |
+
00:03:58.989 --> 00:04:01.504
|
| 259 |
+
programación son un lenguaje a través del cual
|
| 260 |
+
|
| 261 |
+
00:04:01.504 --> 00:04:04.144
|
| 262 |
+
los algoritmos se expresan, pero tú puedes expresar
|
| 263 |
+
|
| 264 |
+
00:04:04.144 --> 00:04:06.305
|
| 265 |
+
un algoritmo como quieras. Cuando te dan una
|
| 266 |
+
|
| 267 |
+
00:04:06.305 --> 00:04:08.625
|
| 268 |
+
serie de instrucciones para completar una tarea, una
|
| 269 |
+
|
| 270 |
+
00:04:08.625 --> 00:04:10.465
|
| 271 |
+
serie de procesos que tienes que hacer en
|
| 272 |
+
|
| 273 |
+
00:04:10.465 --> 00:04:12.944
|
| 274 |
+
tu trabajo, esos que están haciendo es darte
|
| 275 |
+
|
| 276 |
+
00:04:12.944 --> 00:04:15.000
|
| 277 |
+
un algoritmo para que tú ejecutes, y tú
|
| 278 |
+
|
| 279 |
+
00:04:15.000 --> 00:04:18.621
|
| 280 |
+
no eres un lenguaje de programación. Los lenguajes
|
| 281 |
+
|
| 282 |
+
00:04:18.621 --> 00:04:21.880
|
| 283 |
+
de programación son mecanismos escritos típicamente en un
|
| 284 |
+
|
| 285 |
+
00:04:21.880 --> 00:04:25.400
|
| 286 |
+
lenguaje inglés adaptado, como por ejemplo JavaScript, Python,
|
| 287 |
+
|
| 288 |
+
00:04:25.400 --> 00:04:28.474
|
| 289 |
+
C más más Visual Basic, que transforman estas
|
| 290 |
+
|
| 291 |
+
00:04:28.474 --> 00:04:31.275
|
| 292 |
+
instrucciones en el lenguaje de la máquina. El
|
| 293 |
+
|
| 294 |
+
00:04:31.275 --> 00:04:33.115
|
| 295 |
+
lenguaje de la máquina es el lenguaje que
|
| 296 |
+
|
| 297 |
+
00:04:33.115 --> 00:04:35.615
|
| 298 |
+
usan los chips para hacer estas operaciones matemáticas.
|
| 299 |
+
|
| 300 |
+
00:04:35.914 --> 00:04:37.675
|
| 301 |
+
Este lenguaje, lo hemos visto en otras clases,
|
| 302 |
+
|
| 303 |
+
00:04:37.675 --> 00:04:40.955
|
| 304 |
+
es conocido como assembler o lenguaje ensamblado o
|
| 305 |
+
|
| 306 |
+
00:04:40.955 --> 00:04:45.040
|
| 307 |
+
ensamblador. En nuestra era moderna, los lenguajes corren
|
| 308 |
+
|
| 309 |
+
00:04:45.040 --> 00:04:47.440
|
| 310 |
+
en el chip de 2 maneras. Hay un
|
| 311 |
+
|
| 312 |
+
00:04:47.440 --> 00:04:50.400
|
| 313 |
+
tipo de lenguajes, como por ejemplo Java 0C0C
|
| 314 |
+
|
| 315 |
+
00:04:50.400 --> 00:04:53.600
|
| 316 |
+
más más, que cuando se transforman al lenguaje
|
| 317 |
+
|
| 318 |
+
00:04:53.600 --> 00:04:56.255
|
| 319 |
+
de máquina, pasan por un proceso llamado compilación.
|
| 320 |
+
|
| 321 |
+
00:04:57.035 --> 00:05:00.155
|
| 322 |
+
La compilación es transformar ese lenguaje legible por
|
| 323 |
+
|
| 324 |
+
00:05:00.155 --> 00:05:02.315
|
| 325 |
+
humanos en el lenguaje de ceros y unos
|
| 326 |
+
|
| 327 |
+
00:05:02.315 --> 00:05:04.895
|
| 328 |
+
de la CPU. El resultado de la compilación
|
| 329 |
+
|
| 330 |
+
00:05:05.115 --> 00:05:07.970
|
| 331 |
+
es un archivo ejecutable. En Windows son los
|
| 332 |
+
|
| 333 |
+
00:05:07.970 --> 00:05:11.490
|
| 334 |
+
archivos que tienen extensión punto exe. En Linux
|
| 335 |
+
|
| 336 |
+
00:05:11.490 --> 00:05:13.570
|
| 337 |
+
o en Mac son los archivos que tienen
|
| 338 |
+
|
| 339 |
+
00:05:13.570 --> 00:05:17.009
|
| 340 |
+
permisos de ejecución, y son los ejecutables, las
|
| 341 |
+
|
| 342 |
+
00:05:17.009 --> 00:05:19.889
|
| 343 |
+
aplicaciones que arrancan como una app que corren
|
| 344 |
+
|
| 345 |
+
00:05:19.889 --> 00:05:22.285
|
| 346 |
+
como un mecanismo del sistema. El otro mecanismo
|
| 347 |
+
|
| 348 |
+
00:05:22.285 --> 00:05:24.305
|
| 349 |
+
de ejecución de un lenguaje se llaman lenguajes
|
| 350 |
+
|
| 351 |
+
00:05:24.685 --> 00:05:28.525
|
| 352 |
+
interpretados o interpretación. Cuando tú corres JavaScript en
|
| 353 |
+
|
| 354 |
+
00:05:28.525 --> 00:05:30.685
|
| 355 |
+
el navegador o cuando usas algunos lenguajes de
|
| 356 |
+
|
| 357 |
+
00:05:30.685 --> 00:05:33.885
|
| 358 |
+
scripting, como por ejemplo Python, estos lenguajes llamados
|
| 359 |
+
|
| 360 |
+
00:05:33.885 --> 00:05:36.870
|
| 361 |
+
de scripting son lenguajes que se interpretan sobre
|
| 362 |
+
|
| 363 |
+
00:05:36.870 --> 00:05:38.789
|
| 364 |
+
la marcha, es decir, se van leyendo línea
|
| 365 |
+
|
| 366 |
+
00:05:38.789 --> 00:05:40.949
|
| 367 |
+
a línea, y en la memoria RAM la
|
| 368 |
+
|
| 369 |
+
00:05:40.949 --> 00:05:44.069
|
| 370 |
+
computadora y su intérprete, el intérprete de JavaScript,
|
| 371 |
+
|
| 372 |
+
00:05:44.069 --> 00:05:46.229
|
| 373 |
+
por ejemplo, es el navegador, o el intérprete
|
| 374 |
+
|
| 375 |
+
00:05:46.229 --> 00:05:49.125
|
| 376 |
+
de Python es el sistema de ejecución en
|
| 377 |
+
|
| 378 |
+
00:05:49.125 --> 00:05:51.305
|
| 379 |
+
tiempo real de Python, que se llama Python.
|
| 380 |
+
|
| 381 |
+
00:05:51.764 --> 00:05:53.764
|
| 382 |
+
Ellos lo que hacen es transformar línea en
|
| 383 |
+
|
| 384 |
+
00:05:53.764 --> 00:05:55.525
|
| 385 |
+
línea el código a código que corre en
|
| 386 |
+
|
| 387 |
+
00:05:55.525 --> 00:05:58.405
|
| 388 |
+
el chip, pero sin compilarlo. De hecho, existe
|
| 389 |
+
|
| 390 |
+
00:05:58.405 --> 00:06:00.585
|
| 391 |
+
una técnica muy interesante que se llama JIT,
|
| 392 |
+
|
| 393 |
+
00:06:00.725 --> 00:06:02.949
|
| 394 |
+
Just in Time Compilling, que lo que hace
|
| 395 |
+
|
| 396 |
+
00:06:02.949 --> 00:06:06.870
|
| 397 |
+
es compilar justo antes de ejecutar, corriéndolo todo
|
| 398 |
+
|
| 399 |
+
00:06:06.870 --> 00:06:08.789
|
| 400 |
+
en la memoria RAM de una manera segura,
|
| 401 |
+
|
| 402 |
+
00:06:08.789 --> 00:06:10.710
|
| 403 |
+
pero esos son términos avanzados de programación que
|
| 404 |
+
|
| 405 |
+
00:06:10.710 --> 00:06:13.030
|
| 406 |
+
vas a ir aprendiendo después. Te recomiendo mucho
|
| 407 |
+
|
| 408 |
+
00:06:13.030 --> 00:06:15.750
|
| 409 |
+
que empieces con cualquier lenguaje. Tenemos 3 cursos
|
| 410 |
+
|
| 411 |
+
00:06:15.750 --> 00:06:17.430
|
| 412 |
+
que te convienen en este momento, el curso
|
| 413 |
+
|
| 414 |
+
00:06:17.430 --> 00:06:19.965
|
| 415 |
+
de programación básica, el curso de Python o
|
| 416 |
+
|
| 417 |
+
00:06:19.965 --> 00:06:22.965
|
| 418 |
+
el curso de JavaScript. Sea el que sea,
|
| 419 |
+
|
| 420 |
+
00:06:22.965 --> 00:06:24.445
|
| 421 |
+
aprender un lenguaje de programación te va a
|
| 422 |
+
|
| 423 |
+
00:06:24.445 --> 00:06:26.764
|
| 424 |
+
convenir mucho. Solamente recuerda que no se trata
|
| 425 |
+
|
| 426 |
+
00:06:26.764 --> 00:06:29.164
|
| 427 |
+
de casarte con un lenguaje. Los lenguajes de
|
| 428 |
+
|
| 429 |
+
00:06:29.164 --> 00:06:31.425
|
| 430 |
+
programación cambian. No hay un lenguaje de programación
|
| 431 |
+
|
| 432 |
+
00:06:31.485 --> 00:06:33.360
|
| 433 |
+
mejor que otro, no porque tú sepas 2,
|
| 434 |
+
|
| 435 |
+
00:06:33.360 --> 00:06:35.280
|
| 436 |
+
3, 5, 10 lenguajes te hace mejor o
|
| 437 |
+
|
| 438 |
+
00:06:35.280 --> 00:06:37.520
|
| 439 |
+
peor ingeniero, es lo que haces con los
|
| 440 |
+
|
| 441 |
+
00:06:37.520 --> 00:06:41.220
|
| 442 |
+
lenguajes y aprender lenguajes es trivial, realmente trivial.
|
| 443 |
+
|
| 444 |
+
00:06:41.360 --> 00:06:43.300
|
| 445 |
+
En el momento en el que dominas 2
|
| 446 |
+
|
| 447 |
+
00:06:43.360 --> 00:06:45.600
|
| 448 |
+
lenguajes, puedes dominar 3, 4, 5 o 10
|
| 449 |
+
|
| 450 |
+
00:06:45.600 --> 00:06:48.105
|
| 451 |
+
o los que quieras. No se trata de
|
| 452 |
+
|
| 453 |
+
00:06:48.105 --> 00:06:49.945
|
| 454 |
+
aprender muchos lenguajes y no hay lenguajes que
|
| 455 |
+
|
| 456 |
+
00:06:49.945 --> 00:06:52.925
|
| 457 |
+
paguen mejor que otros, es simplemente que sepas
|
| 458 |
+
|
| 459 |
+
00:06:52.985 --> 00:06:55.785
|
| 460 |
+
cómo solucionar cualquier problema a través de algoritmos
|
| 461 |
+
|
| 462 |
+
00:06:55.785 --> 00:06:58.745
|
| 463 |
+
y que esos algoritmos sepas expresarlos en diferentes
|
| 464 |
+
|
| 465 |
+
00:06:58.745 --> 00:07:01.953
|
| 466 |
+
lenguajes. Ten curiosidad intelectual y no te cases
|
| 467 |
+
|
| 468 |
+
00:07:01.953 --> 00:07:03.253
|
| 469 |
+
con ningún lenguaje.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/01-Computación Básica/11-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Direcciones IP y el protocolo de Internet.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:369764b4ef017a4bd110fc6b81b8feee76339aa7e4f2723625072237520690df
|
| 3 |
+
size 223927229
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Direcciones IP y el protocolo de Internet.vtt
ADDED
|
@@ -0,0 +1,577 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.160 --> 00:00:01.920
|
| 4 |
+
Así como tu casa tiene una dirección como
|
| 5 |
+
|
| 6 |
+
00:00:01.920 --> 00:00:04.120
|
| 7 |
+
carrera un 2 3 de la calle 8,
|
| 8 |
+
|
| 9 |
+
00:00:04.120 --> 00:00:06.319
|
| 10 |
+
todas las computadoras en Internet y en una
|
| 11 |
+
|
| 12 |
+
00:00:06.319 --> 00:00:08.320
|
| 13 |
+
red local también tienen una dirección. Estas se
|
| 14 |
+
|
| 15 |
+
00:00:08.320 --> 00:00:11.920
|
| 16 |
+
conocen como direcciones IP y, típicamente, vienen como
|
| 17 |
+
|
| 18 |
+
00:00:11.920 --> 00:00:14.275
|
| 19 |
+
números, que son 4 grupos de números, como
|
| 20 |
+
|
| 21 |
+
00:00:14.275 --> 00:00:18.675
|
| 22 |
+
128.10 0.2 0.5. ¿Por qué son 4 números?
|
| 23 |
+
|
| 24 |
+
00:00:18.675 --> 00:00:20.275
|
| 25 |
+
¿Por qué no son 5? ¿Por qué no
|
| 26 |
+
|
| 27 |
+
00:00:20.275 --> 00:00:21.875
|
| 28 |
+
son 6? ¿Y por qué cada 1 de
|
| 29 |
+
|
| 30 |
+
00:00:21.875 --> 00:00:24.595
|
| 31 |
+
estos números va de 0 a 255 y
|
| 32 |
+
|
| 33 |
+
00:00:24.595 --> 00:00:26.429
|
| 34 |
+
no más allá? ¿Y por qué ya no
|
| 35 |
+
|
| 36 |
+
00:00:26.429 --> 00:00:28.750
|
| 37 |
+
podemos usar estos 4 números fuera de una
|
| 38 |
+
|
| 39 |
+
00:00:28.750 --> 00:00:31.550
|
| 40 |
+
red local porque en Internet necesitamos usar otro
|
| 41 |
+
|
| 42 |
+
00:00:31.550 --> 00:00:33.710
|
| 43 |
+
tipo de números? Son cosas que, con el
|
| 44 |
+
|
| 45 |
+
00:00:33.710 --> 00:00:35.430
|
| 46 |
+
conocimiento que se obtenía en este curso Fundamentos
|
| 47 |
+
|
| 48 |
+
00:00:35.430 --> 00:00:38.210
|
| 49 |
+
de Ingeniería de Software, ya deberías poder extraer,
|
| 50 |
+
|
| 51 |
+
00:00:38.315 --> 00:00:40.395
|
| 52 |
+
pero observa. Recuerda que en una computadora todos
|
| 53 |
+
|
| 54 |
+
00:00:40.395 --> 00:00:42.475
|
| 55 |
+
los números son ceros y unos, un 0
|
| 56 |
+
|
| 57 |
+
00:00:42.475 --> 00:00:45.055
|
| 58 |
+
o un 1 es un bit, y un
|
| 59 |
+
|
| 60 |
+
00:00:45.275 --> 00:00:48.315
|
| 61 |
+
grupo de esos bits es un byte. Los
|
| 62 |
+
|
| 63 |
+
00:00:48.315 --> 00:00:51.195
|
| 64 |
+
bytes son grupos de 8 bits, y hasta
|
| 65 |
+
|
| 66 |
+
00:00:51.195 --> 00:00:53.579
|
| 67 |
+
ahora así funcionan las computadoras, todo en la
|
| 68 |
+
|
| 69 |
+
00:00:53.579 --> 00:00:56.460
|
| 70 |
+
computación funciona muy parecido. En un número IP,
|
| 71 |
+
|
| 72 |
+
00:00:56.460 --> 00:00:59.519
|
| 73 |
+
en una dirección IP, IP significa Internet Protocol
|
| 74 |
+
|
| 75 |
+
00:00:59.660 --> 00:01:02.379
|
| 76 |
+
o protocolo de Internet, lo que hacíamos fue
|
| 77 |
+
|
| 78 |
+
00:01:02.379 --> 00:01:05.280
|
| 79 |
+
organizar estos números en grupos de 4 numeritos.
|
| 80 |
+
|
| 81 |
+
00:01:05.685 --> 00:01:08.725
|
| 82 |
+
Estos 4 numeritos tienen diferentes significados, pero principalmente
|
| 83 |
+
|
| 84 |
+
00:01:08.725 --> 00:01:12.485
|
| 85 |
+
son dónde está ubicada nuestra computadora. ¿Por qué
|
| 86 |
+
|
| 87 |
+
00:01:12.485 --> 00:01:16.025
|
| 88 |
+
son entonces estos números? Porque son 4 bytes,
|
| 89 |
+
|
| 90 |
+
00:01:16.405 --> 00:01:20.100
|
| 91 |
+
4 números de 8 bits. Con 8 bits,
|
| 92 |
+
|
| 93 |
+
00:01:20.100 --> 00:01:22.580
|
| 94 |
+
¿cuál es el máximo número que podemos representar?
|
| 95 |
+
|
| 96 |
+
00:01:22.580 --> 00:01:26.520
|
| 97 |
+
Es un 255. Son números del 0 al
|
| 98 |
+
|
| 99 |
+
00:01:26.740 --> 00:01:30.420
|
| 100 |
+
255, 256 números. El 0 es un número
|
| 101 |
+
|
| 102 |
+
00:01:30.420 --> 00:01:32.274
|
| 103 |
+
y también cuenta. Esa es la razón por
|
| 104 |
+
|
| 105 |
+
00:01:32.274 --> 00:01:36.435
|
| 106 |
+
la que tú solamente tienes 255, 155, 155,
|
| 107 |
+
|
| 108 |
+
00:01:36.435 --> 00:01:38.914
|
| 109 |
+
155 como el máximo número dentro de una
|
| 110 |
+
|
| 111 |
+
00:01:38.914 --> 00:01:41.954
|
| 112 |
+
IP. Si nosotros tomáramos esos 4 números, que
|
| 113 |
+
|
| 114 |
+
00:01:41.954 --> 00:01:44.755
|
| 115 |
+
son 4 bytes, y los expandiéramos solamente a
|
| 116 |
+
|
| 117 |
+
00:01:44.755 --> 00:01:47.149
|
| 118 |
+
ceros y unos, ¿cuántos ceros y uniamos tendríamos?
|
| 119 |
+
|
| 120 |
+
00:01:47.450 --> 00:01:50.009
|
| 121 |
+
Si son cada 1 8 bits y son
|
| 122 |
+
|
| 123 |
+
00:01:50.009 --> 00:01:52.409
|
| 124 |
+
4 grupos, es 8 por 4. Es decir,
|
| 125 |
+
|
| 126 |
+
00:01:52.409 --> 00:01:55.530
|
| 127 |
+
tendríamos 32 bits. Eso significa que las direcciones
|
| 128 |
+
|
| 129 |
+
00:01:55.530 --> 00:01:58.490
|
| 130 |
+
y p tienen un máximo de 32 bits,
|
| 131 |
+
|
| 132 |
+
00:01:58.490 --> 00:02:02.855
|
| 133 |
+
32 ceros y unos, que visualmente agrupamos en
|
| 134 |
+
|
| 135 |
+
00:02:02.855 --> 00:02:06.775
|
| 136 |
+
4 números decimales normales expresados por su valor
|
| 137 |
+
|
| 138 |
+
00:02:06.775 --> 00:02:09.975
|
| 139 |
+
en bytes divididos por un punto. Están separados
|
| 140 |
+
|
| 141 |
+
00:02:09.975 --> 00:02:12.640
|
| 142 |
+
cada 1 por un 0.32 bits. Todo esto
|
| 143 |
+
|
| 144 |
+
00:02:12.640 --> 00:02:14.080
|
| 145 |
+
fue construido en la época en la que
|
| 146 |
+
|
| 147 |
+
00:02:14.080 --> 00:02:16.880
|
| 148 |
+
Internet todavía era un experimento militar de una
|
| 149 |
+
|
| 150 |
+
00:02:16.880 --> 00:02:18.900
|
| 151 |
+
organización que es la Agencia para el Desarrollo
|
| 152 |
+
|
| 153 |
+
00:02:19.040 --> 00:02:21.520
|
| 154 |
+
y de Investigación Avanzado de la Defensa, conocida
|
| 155 |
+
|
| 156 |
+
00:02:21.520 --> 00:02:24.400
|
| 157 |
+
como DARPA. DARPA se inventa esta estructura como
|
| 158 |
+
|
| 159 |
+
00:02:24.400 --> 00:02:26.720
|
| 160 |
+
la estructura de prueba para Internet, pero luego
|
| 161 |
+
|
| 162 |
+
00:02:26.720 --> 00:02:29.755
|
| 163 |
+
Internet se vuelve súper popular y simplemente lo
|
| 164 |
+
|
| 165 |
+
00:02:29.755 --> 00:02:33.035
|
| 166 |
+
mantienen hasta que los números se acaban. Con
|
| 167 |
+
|
| 168 |
+
00:02:33.035 --> 00:02:35.035
|
| 169 |
+
32 bits, ¿cuánto es la máxima cantidad de
|
| 170 |
+
|
| 171 |
+
00:02:35.035 --> 00:02:39.855
|
| 172 |
+
números que podemos guardar? Son 300004000 de números.
|
| 173 |
+
|
| 174 |
+
00:02:40.140 --> 00:02:43.099
|
| 175 |
+
Y como cada dispositivo conectado a Internet tiene
|
| 176 |
+
|
| 177 |
+
00:02:43.099 --> 00:02:44.939
|
| 178 |
+
que tener un número único, pues ya hace
|
| 179 |
+
|
| 180 |
+
00:02:44.939 --> 00:02:47.739
|
| 181 |
+
rato que tenemos más de 300004000 de dispositivos
|
| 182 |
+
|
| 183 |
+
00:02:47.739 --> 00:02:51.260
|
| 184 |
+
conectados a Internet. Eso significa cada servidor, cada
|
| 185 |
+
|
| 186 |
+
00:02:51.260 --> 00:02:55.125
|
| 187 |
+
teléfono, cada computadora, cada teléfono inteligente, cada reloj
|
| 188 |
+
|
| 189 |
+
00:02:55.225 --> 00:03:00.125
|
| 190 |
+
inteligente, cada todo requiere una dirección IP única.
|
| 191 |
+
|
| 192 |
+
00:03:00.345 --> 00:03:03.145
|
| 193 |
+
Y en Internet en particular, esas direcciones IP
|
| 194 |
+
|
| 195 |
+
00:03:03.145 --> 00:03:05.465
|
| 196 |
+
no simplemente cuando apago un computador tengo una
|
| 197 |
+
|
| 198 |
+
00:03:05.465 --> 00:03:07.545
|
| 199 |
+
y cuando prendo el computador tengo otra. Algunas,
|
| 200 |
+
|
| 201 |
+
00:03:07.545 --> 00:03:09.840
|
| 202 |
+
cuando son sobre todo servidores, tienen que ser
|
| 203 |
+
|
| 204 |
+
00:03:10.160 --> 00:03:14.180
|
| 205 |
+
únicas y persistentes, ese es parte del problema.
|
| 206 |
+
|
| 207 |
+
00:03:14.319 --> 00:03:16.640
|
| 208 |
+
Entonces, se nos acabaron esas direcciones. El problema
|
| 209 |
+
|
| 210 |
+
00:03:16.640 --> 00:03:18.000
|
| 211 |
+
que se nos iban a acabar las direcciones
|
| 212 |
+
|
| 213 |
+
00:03:18.000 --> 00:03:20.480
|
| 214 |
+
lo conocemos más o menos desde el 98.
|
| 215 |
+
|
| 216 |
+
00:03:20.480 --> 00:03:23.375
|
| 217 |
+
En el 98 encontramos que había la necesidad
|
| 218 |
+
|
| 219 |
+
00:03:23.375 --> 00:03:26.175
|
| 220 |
+
de crear otro estándar y se crea el
|
| 221 |
+
|
| 222 |
+
00:03:26.175 --> 00:03:28.975
|
| 223 |
+
estándar IPV 6, así como la anterior era
|
| 224 |
+
|
| 225 |
+
00:03:28.975 --> 00:03:33.075
|
| 226 |
+
IPV 4, de 4 bytes ahora tenemos 6.
|
| 227 |
+
|
| 228 |
+
00:03:33.215 --> 00:03:35.010
|
| 229 |
+
No exactamente, pero ya lo van a ver.
|
| 230 |
+
|
| 231 |
+
00:03:35.250 --> 00:03:36.930
|
| 232 |
+
El cuento es que, sabiendo que esto era
|
| 233 |
+
|
| 234 |
+
00:03:36.930 --> 00:03:39.569
|
| 235 |
+
un problema, desarrollamos este estándar, y ese estándar
|
| 236 |
+
|
| 237 |
+
00:03:39.569 --> 00:03:42.930
|
| 238 |
+
fue ratificado en el 2017. El estándar IPV
|
| 239 |
+
|
| 240 |
+
00:03:42.930 --> 00:03:46.209
|
| 241 |
+
6 fue diseñado para tener muchos órdenes de
|
| 242 |
+
|
| 243 |
+
00:03:46.209 --> 00:03:49.185
|
| 244 |
+
magnitud más espacio. En vez de tener 32
|
| 245 |
+
|
| 246 |
+
00:03:49.185 --> 00:03:54.004
|
| 247 |
+
bits, lo cuadruplicamos, y ahora tenemos 128 bits.
|
| 248 |
+
|
| 249 |
+
00:03:54.305 --> 00:03:57.105
|
| 250 |
+
Al tener muchos 2 bits 4 veces más,
|
| 251 |
+
|
| 252 |
+
00:03:57.105 --> 00:03:59.345
|
| 253 |
+
tenemos una mayor cantidad de números porque es
|
| 254 |
+
|
| 255 |
+
00:03:59.345 --> 00:04:02.310
|
| 256 |
+
un número mucho más grande. 128 bits representan
|
| 257 |
+
|
| 258 |
+
00:04:02.310 --> 00:04:04.923
|
| 259 |
+
muchos más números allá afuera, y las direcciones
|
| 260 |
+
|
| 261 |
+
00:04:04.923 --> 00:04:08.049
|
| 262 |
+
también se ven distintas. Una dirección IPB 6,
|
| 263 |
+
|
| 264 |
+
00:04:08.049 --> 00:04:11.109
|
| 265 |
+
que es la nueva versión, tiene 8 grupos
|
| 266 |
+
|
| 267 |
+
00:04:11.329 --> 00:04:14.310
|
| 268 |
+
de números que se representan con 4 dígitos
|
| 269 |
+
|
| 270 |
+
00:04:14.609 --> 00:04:18.315
|
| 271 |
+
hexadecimales. Recuerden que los números hexadecimales son una
|
| 272 |
+
|
| 273 |
+
00:04:18.315 --> 00:04:20.955
|
| 274 |
+
base numérica, así como nosotros tenemos la base
|
| 275 |
+
|
| 276 |
+
00:04:20.955 --> 00:04:23.195
|
| 277 |
+
binaria, que solamente tiene 0 o 1, o
|
| 278 |
+
|
| 279 |
+
00:04:23.195 --> 00:04:25.995
|
| 280 |
+
la base decimal, que tiene dígitos del 0
|
| 281 |
+
|
| 282 |
+
00:04:25.995 --> 00:04:28.875
|
| 283 |
+
al 9. La base hexadecimal tiene dígitos del
|
| 284 |
+
|
| 285 |
+
00:04:28.875 --> 00:04:30.980
|
| 286 |
+
0 a la f. Es decir, 0 a
|
| 287 |
+
|
| 288 |
+
00:04:30.980 --> 00:04:33.780
|
| 289 |
+
la 9 es 9, la letra a es
|
| 290 |
+
|
| 291 |
+
00:04:33.780 --> 00:04:36.420
|
| 292 |
+
10, la letra b es 11, c es
|
| 293 |
+
|
| 294 |
+
00:04:36.420 --> 00:04:40.020
|
| 295 |
+
12, d es 13, e es 14 y
|
| 296 |
+
|
| 297 |
+
00:04:40.020 --> 00:04:42.100
|
| 298 |
+
f es 15. En IPB 6, o la
|
| 299 |
+
|
| 300 |
+
00:04:42.100 --> 00:04:44.251
|
| 301 |
+
versión 6 de las direcciones IP, pasa algo
|
| 302 |
+
|
| 303 |
+
00:04:44.251 --> 00:04:45.705
|
| 304 |
+
curioso y es que a veces esos números
|
| 305 |
+
|
| 306 |
+
00:04:45.705 --> 00:04:48.505
|
| 307 |
+
son tan grandes que hay pedazos de los
|
| 308 |
+
|
| 309 |
+
00:04:48.505 --> 00:04:50.185
|
| 310 |
+
grupos que no se usan, que son puros
|
| 311 |
+
|
| 312 |
+
00:04:50.185 --> 00:04:53.705
|
| 313 |
+
ceros. Cuando pasa eso, tendemos a comprimir la
|
| 314 |
+
|
| 315 |
+
00:04:53.705 --> 00:04:56.789
|
| 316 |
+
dirección colocando 2 puntos entre esos grupos. Ahí
|
| 317 |
+
|
| 318 |
+
00:04:56.789 --> 00:04:58.870
|
| 319 |
+
se puede comprimir y no tener que mostrar
|
| 320 |
+
|
| 321 |
+
00:04:58.870 --> 00:05:02.150
|
| 322 |
+
todos esos números 0. DarPPA realmente no creía
|
| 323 |
+
|
| 324 |
+
00:05:02.150 --> 00:05:04.470
|
| 325 |
+
que fuera a ser Internet tan popular y
|
| 326 |
+
|
| 327 |
+
00:05:04.470 --> 00:05:08.150
|
| 328 |
+
nunca cambiaron la configuración de los números IP
|
| 329 |
+
|
| 330 |
+
00:05:08.150 --> 00:05:12.255
|
| 331 |
+
hasta que empezamos a tener demasiadas computadoras conectadas.
|
| 332 |
+
|
| 333 |
+
00:05:12.415 --> 00:05:14.175
|
| 334 |
+
Lo largo de los años se han construido
|
| 335 |
+
|
| 336 |
+
00:05:14.175 --> 00:05:17.695
|
| 337 |
+
varias organizaciones y autoridades que se dedican a
|
| 338 |
+
|
| 339 |
+
00:05:17.695 --> 00:05:21.135
|
| 340 |
+
regular Internet. Una de estas es IAN A,
|
| 341 |
+
|
| 342 |
+
00:05:21.135 --> 00:05:24.495
|
| 343 |
+
Internet Assign Numbers Authority, o la Autoridad de
|
| 344 |
+
|
| 345 |
+
00:05:24.495 --> 00:05:27.180
|
| 346 |
+
Asignación de Números de Internet. Esta autoridad es
|
| 347 |
+
|
| 348 |
+
00:05:27.180 --> 00:05:30.720
|
| 349 |
+
la que termina asignando las direcciones IP permanentes
|
| 350 |
+
|
| 351 |
+
00:05:31.180 --> 00:05:34.060
|
| 352 |
+
de diferentes computadoras en el mundo. Recuerden que
|
| 353 |
+
|
| 354 |
+
00:05:34.060 --> 00:05:36.060
|
| 355 |
+
todo dispositivo que se conecte a Internet es,
|
| 356 |
+
|
| 357 |
+
00:05:36.060 --> 00:05:39.420
|
| 358 |
+
por definición, una computadora. En ocasiones, necesitamos que
|
| 359 |
+
|
| 360 |
+
00:05:39.420 --> 00:05:42.085
|
| 361 |
+
estos números IP sean fijos para que siempre
|
| 362 |
+
|
| 363 |
+
00:05:42.085 --> 00:05:44.724
|
| 364 |
+
apunten al mismo lugar. Estos números se pueden
|
| 365 |
+
|
| 366 |
+
00:05:44.724 --> 00:05:48.085
|
| 367 |
+
comprar y diferentes organizaciones los compran para que,
|
| 368 |
+
|
| 369 |
+
00:05:48.085 --> 00:05:50.205
|
| 370 |
+
a partir de ahí, los tengan de una
|
| 371 |
+
|
| 372 |
+
00:05:50.205 --> 00:05:52.164
|
| 373 |
+
manera fija. Entonces, por ejemplo, cuando ustedes entran
|
| 374 |
+
|
| 375 |
+
00:05:52.164 --> 00:05:53.604
|
| 376 |
+
a Google punto com, ellos siempre van a
|
| 377 |
+
|
| 378 |
+
00:05:53.604 --> 00:05:56.485
|
| 379 |
+
tener la misma IP. Diferentes computadoras tienen diferentes
|
| 380 |
+
|
| 381 |
+
00:05:56.485 --> 00:05:59.949
|
| 382 |
+
IPs en Internet, pero hay una diferencia entre
|
| 383 |
+
|
| 384 |
+
00:05:59.949 --> 00:06:02.509
|
| 385 |
+
tener números IP en Internet y tener números
|
| 386 |
+
|
| 387 |
+
00:06:02.509 --> 00:06:05.310
|
| 388 |
+
IP en tu red local. Internet es una
|
| 389 |
+
|
| 390 |
+
00:06:05.310 --> 00:06:07.949
|
| 391 |
+
red global, así como la conexión de tu
|
| 392 |
+
|
| 393 |
+
00:06:07.949 --> 00:06:09.870
|
| 394 |
+
casa que se conecta a tu router WiFi
|
| 395 |
+
|
| 396 |
+
00:06:09.870 --> 00:06:12.645
|
| 397 |
+
es una red local, y ambas redes usan
|
| 398 |
+
|
| 399 |
+
00:06:12.705 --> 00:06:15.425
|
| 400 |
+
números IP de una manera distinta. Hay más
|
| 401 |
+
|
| 402 |
+
00:06:15.425 --> 00:06:17.585
|
| 403 |
+
detalles de esto en nuestro curso de redes
|
| 404 |
+
|
| 405 |
+
00:06:17.585 --> 00:06:19.824
|
| 406 |
+
informáticas que puedes tomar acá mismo y que
|
| 407 |
+
|
| 408 |
+
00:06:19.824 --> 00:06:21.824
|
| 409 |
+
están los recursos de la clase, donde puedes
|
| 410 |
+
|
| 411 |
+
00:06:21.824 --> 00:06:24.085
|
| 412 |
+
ahondar en más detalles. Pero para hacerlo relativamente
|
| 413 |
+
|
| 414 |
+
00:06:24.225 --> 00:06:27.000
|
| 415 |
+
simple, los las conexiones de Internet de tu
|
| 416 |
+
|
| 417 |
+
00:06:27.000 --> 00:06:29.900
|
| 418 |
+
casa se conectan al Internet de allá afuera,
|
| 419 |
+
|
| 420 |
+
00:06:30.040 --> 00:06:32.860
|
| 421 |
+
al Internet global donde están los servidores y
|
| 422 |
+
|
| 423 |
+
00:06:33.240 --> 00:06:35.660
|
| 424 |
+
las diferentes redes sociales, los sistemas de mensajería,
|
| 425 |
+
|
| 426 |
+
00:06:35.720 --> 00:06:37.000
|
| 427 |
+
las páginas web, a todo lo que tú
|
| 428 |
+
|
| 429 |
+
00:06:37.000 --> 00:06:40.135
|
| 430 |
+
conectas, pero internamente dentro de tu casa, cuando
|
| 431 |
+
|
| 432 |
+
00:06:40.135 --> 00:06:42.935
|
| 433 |
+
te conectas a WiFi, tu teléfono, tu computadora,
|
| 434 |
+
|
| 435 |
+
00:06:42.935 --> 00:06:45.655
|
| 436 |
+
tu televisor, cada dispositivo que se conecte a
|
| 437 |
+
|
| 438 |
+
00:06:45.655 --> 00:06:49.835
|
| 439 |
+
Internet tiene que tener una IP única. La
|
| 440 |
+
|
| 441 |
+
00:06:50.135 --> 00:06:52.855
|
| 442 |
+
IP de tu red local es distinta a
|
| 443 |
+
|
| 444 |
+
00:06:52.855 --> 00:06:55.870
|
| 445 |
+
la IP de Internet. En tu red local
|
| 446 |
+
|
| 447 |
+
00:06:55.870 --> 00:06:57.310
|
| 448 |
+
puedes tener una IP que en otra red
|
| 449 |
+
|
| 450 |
+
00:06:57.310 --> 00:07:00.289
|
| 451 |
+
local sea exactamente igual, pero como solamente ocurre
|
| 452 |
+
|
| 453 |
+
00:07:00.830 --> 00:07:03.550
|
| 454 |
+
dentro del dominio, dentro del ámbito de tu
|
| 455 |
+
|
| 456 |
+
00:07:03.550 --> 00:07:05.870
|
| 457 |
+
red local, es el único lugar donde realmente
|
| 458 |
+
|
| 459 |
+
00:07:05.870 --> 00:07:08.085
|
| 460 |
+
importa ese número, así que te vas a
|
| 461 |
+
|
| 462 |
+
00:07:08.085 --> 00:07:10.645
|
| 463 |
+
estar corriendo una IP local. Probablemente tú has
|
| 464 |
+
|
| 465 |
+
00:07:10.645 --> 00:07:15.465
|
| 466 |
+
visto una IP que dice 127 0 0.1.
|
| 467 |
+
|
| 468 |
+
00:07:15.485 --> 00:07:20.165
|
| 469 |
+
Esta IP es internacionalmente estandarizada como la IP
|
| 470 |
+
|
| 471 |
+
00:07:20.165 --> 00:07:20.695
|
| 472 |
+
de tu propio dispositivo, también conocida como local
|
| 473 |
+
|
| 474 |
+
00:07:20.695 --> 00:07:22.650
|
| 475 |
+
host. Esto es básicamente una dispositivo, también conocida
|
| 476 |
+
|
| 477 |
+
00:07:22.650 --> 00:07:26.010
|
| 478 |
+
como local host. Esto es básicamente un apuntador
|
| 479 |
+
|
| 480 |
+
00:07:26.010 --> 00:07:27.930
|
| 481 |
+
de dirección de Internet que, sin importar en
|
| 482 |
+
|
| 483 |
+
00:07:27.930 --> 00:07:31.290
|
| 484 |
+
la computadora donde estés, siempre apunta a tu
|
| 485 |
+
|
| 486 |
+
00:07:31.290 --> 00:07:35.944
|
| 487 |
+
misma computadora desde donde estás usando ese 127
|
| 488 |
+
|
| 489 |
+
00:07:35.944 --> 00:07:39.224
|
| 490 |
+
0 0.1. Sin importar las diferentes IPs que
|
| 491 |
+
|
| 492 |
+
00:07:39.224 --> 00:07:41.865
|
| 493 |
+
tenga tu red local, cuando tu televisor, tu
|
| 494 |
+
|
| 495 |
+
00:07:41.865 --> 00:07:44.525
|
| 496 |
+
teléfono o tu computadora necesitan conectarse a Internet,
|
| 497 |
+
|
| 498 |
+
00:07:44.664 --> 00:07:47.740
|
| 499 |
+
usan sus direcciones de IP local para ir
|
| 500 |
+
|
| 501 |
+
00:07:47.740 --> 00:07:49.940
|
| 502 |
+
al router WiFi de tu casa y al
|
| 503 |
+
|
| 504 |
+
00:07:49.940 --> 00:07:52.440
|
| 505 |
+
módem que se conecte a Internet, y eso
|
| 506 |
+
|
| 507 |
+
00:07:53.300 --> 00:07:56.600
|
| 508 |
+
transforma la petición en la IP de Internet
|
| 509 |
+
|
| 510 |
+
00:07:56.660 --> 00:07:58.980
|
| 511 |
+
de tu casa. Ese paquete de la IP
|
| 512 |
+
|
| 513 |
+
00:07:58.980 --> 00:08:01.975
|
| 514 |
+
de Internet de tu casa sale a Internet,
|
| 515 |
+
|
| 516 |
+
00:08:02.115 --> 00:08:06.035
|
| 517 |
+
recupera el dato y tu router WiFi sabe
|
| 518 |
+
|
| 519 |
+
00:08:06.035 --> 00:08:07.715
|
| 520 |
+
de dónde vino la petición de ese paquete
|
| 521 |
+
|
| 522 |
+
00:08:07.715 --> 00:08:10.595
|
| 523 |
+
y lo redirecciona a la IP interna de
|
| 524 |
+
|
| 525 |
+
00:08:10.595 --> 00:08:13.635
|
| 526 |
+
tu casa. Esto lo hace internamente a través
|
| 527 |
+
|
| 528 |
+
00:08:13.635 --> 00:08:17.189
|
| 529 |
+
de algo llamado un NAT. NAT significa Network
|
| 530 |
+
|
| 531 |
+
00:08:17.330 --> 00:08:20.289
|
| 532 |
+
address translation, y es una tecnología interna de
|
| 533 |
+
|
| 534 |
+
00:08:20.289 --> 00:08:23.729
|
| 535 |
+
todos los enrutadores o routers para transformar las
|
| 536 |
+
|
| 537 |
+
00:08:23.729 --> 00:08:26.050
|
| 538 |
+
peticiones de una red local hacia las peticiones
|
| 539 |
+
|
| 540 |
+
00:08:26.050 --> 00:08:28.689
|
| 541 |
+
de otra red externa, que típicamente es Internet.
|
| 542 |
+
|
| 543 |
+
00:08:28.689 --> 00:08:31.125
|
| 544 |
+
Es importante cuando estás desarrollando software que entiendas
|
| 545 |
+
|
| 546 |
+
00:08:31.125 --> 00:08:33.205
|
| 547 |
+
los números IP, porque de esa manera tú
|
| 548 |
+
|
| 549 |
+
00:08:33.205 --> 00:08:35.044
|
| 550 |
+
puedes saber de dónde viene un mensaje, si
|
| 551 |
+
|
| 552 |
+
00:08:35.044 --> 00:08:37.145
|
| 553 |
+
tienes un problema en el desarrollo del software,
|
| 554 |
+
|
| 555 |
+
00:08:37.285 --> 00:08:40.505
|
| 556 |
+
y simplemente es conocimiento básico de depuración y
|
| 557 |
+
|
| 558 |
+
00:08:40.565 --> 00:08:42.405
|
| 559 |
+
entendimiento de sistemas conectados, que hoy en día
|
| 560 |
+
|
| 561 |
+
00:08:42.405 --> 00:08:44.345
|
| 562 |
+
son la gran mayoría de sistemas que programamos.
|
| 563 |
+
|
| 564 |
+
00:08:44.640 --> 00:08:47.360
|
| 565 |
+
Por otro lado, nosotros cuando programamos casi nunca
|
| 566 |
+
|
| 567 |
+
00:08:47.360 --> 00:08:49.840
|
| 568 |
+
usamos realmente los números IP, sino que a
|
| 569 |
+
|
| 570 |
+
00:08:49.840 --> 00:08:52.400
|
| 571 |
+
cada IP le asignamos un nombre. Estos se
|
| 572 |
+
|
| 573 |
+
00:08:52.400 --> 00:08:54.240
|
| 574 |
+
conocen como nombre de dominio y es lo
|
| 575 |
+
|
| 576 |
+
00:08:54.240 --> 00:08:55.540
|
| 577 |
+
que viene en la próxima clase.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/redes/
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://www.namecheap.com/
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Nombres de dominio DNS y cómo obtener un com.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d935f1cada37d04672f0b6c7423500af6b6e4d6515b4c89f5e31086d94e7f677
|
| 3 |
+
size 193600810
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Nombres de dominio DNS y cómo obtener un com.vtt
ADDED
|
@@ -0,0 +1,703 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.399 --> 00:00:02.960
|
| 4 |
+
Como todas las computadoras, servidores y sistemas que
|
| 5 |
+
|
| 6 |
+
00:00:02.960 --> 00:00:05.200
|
| 7 |
+
están conectados a Internet tienen un número IP,
|
| 8 |
+
|
| 9 |
+
00:00:05.200 --> 00:00:07.839
|
| 10 |
+
y ese número es una larga cantidad de
|
| 11 |
+
|
| 12 |
+
00:00:07.839 --> 00:00:10.719
|
| 13 |
+
números que nadie se acuerda. Necesitamos una base
|
| 14 |
+
|
| 15 |
+
00:00:10.719 --> 00:00:13.595
|
| 16 |
+
de datos donde ponerles nombre. Así, a estos
|
| 17 |
+
|
| 18 |
+
00:00:13.595 --> 00:00:15.435
|
| 19 |
+
números, que son un montón de numeritos, les
|
| 20 |
+
|
| 21 |
+
00:00:15.435 --> 00:00:20.235
|
| 22 |
+
asignamos un nombre específico. Esos nombres inicialmente venían
|
| 23 |
+
|
| 24 |
+
00:00:20.235 --> 00:00:22.395
|
| 25 |
+
en un archivo que se compartía en los
|
| 26 |
+
|
| 27 |
+
00:00:22.395 --> 00:00:25.215
|
| 28 |
+
diferentes proveedores de Internet, un archivo llamado hosts.
|
| 29 |
+
|
| 30 |
+
00:00:25.370 --> 00:00:28.570
|
| 31 |
+
Pero eso no escala, porque ahora tenemos 1000000
|
| 32 |
+
|
| 33 |
+
00:00:28.570 --> 00:00:30.570
|
| 34 |
+
y 1000000 y 1000000 de estos nombres. Así
|
| 35 |
+
|
| 36 |
+
00:00:30.570 --> 00:00:33.770
|
| 37 |
+
que construimos una base de datos distribuida que
|
| 38 |
+
|
| 39 |
+
00:00:33.770 --> 00:00:36.730
|
| 40 |
+
está dominada por una serie de estándares y
|
| 41 |
+
|
| 42 |
+
00:00:36.730 --> 00:00:39.705
|
| 43 |
+
mecanismos internacionales. Esa base de datos se conoce
|
| 44 |
+
|
| 45 |
+
00:00:39.705 --> 00:00:43.725
|
| 46 |
+
como los nombres de dominio o DNS, Domain
|
| 47 |
+
|
| 48 |
+
00:00:43.785 --> 00:00:46.265
|
| 49 |
+
Name Servers. El sistema de nombres de dominio,
|
| 50 |
+
|
| 51 |
+
00:00:46.265 --> 00:00:48.285
|
| 52 |
+
o Domain Name System, es lo que permite
|
| 53 |
+
|
| 54 |
+
00:00:48.345 --> 00:00:51.465
|
| 55 |
+
que un número prácticamente aleatorio con las reglas
|
| 56 |
+
|
| 57 |
+
00:00:51.465 --> 00:00:54.390
|
| 58 |
+
de IPB 4 o IPB 6 sea exactamente
|
| 59 |
+
|
| 60 |
+
00:00:54.390 --> 00:00:57.110
|
| 61 |
+
equivalente a cosas como platzi punto com. Los
|
| 62 |
+
|
| 63 |
+
00:00:57.110 --> 00:00:59.850
|
| 64 |
+
nombres de dominio siguen algunas reglas, típicamente solo
|
| 65 |
+
|
| 66 |
+
00:01:00.470 --> 00:01:04.470
|
| 67 |
+
permiten letras del idioma inglés, aunque últimamente se
|
| 68 |
+
|
| 69 |
+
00:01:04.470 --> 00:01:07.190
|
| 70 |
+
pueden agregar eñes o tildes, aunque muy poca
|
| 71 |
+
|
| 72 |
+
00:01:07.190 --> 00:01:10.465
|
| 73 |
+
gente lo usa. Típicamente un nombre de dominio
|
| 74 |
+
|
| 75 |
+
00:01:10.465 --> 00:01:12.225
|
| 76 |
+
no empieza con un número, tiene que empezar
|
| 77 |
+
|
| 78 |
+
00:01:12.225 --> 00:01:13.905
|
| 79 |
+
con una letra, pero de nuevo también en
|
| 80 |
+
|
| 81 |
+
00:01:13.905 --> 00:01:16.564
|
| 82 |
+
ocasiones es posible, y los nombres de dominio
|
| 83 |
+
|
| 84 |
+
00:01:17.024 --> 00:01:20.064
|
| 85 |
+
no distinguen entre mayúsculas y minúsculas. En ese
|
| 86 |
+
|
| 87 |
+
00:01:20.064 --> 00:01:22.579
|
| 88 |
+
sentido son relativamente similares a los nombres de
|
| 89 |
+
|
| 90 |
+
00:01:22.579 --> 00:01:25.539
|
| 91 |
+
variable en varios lenguajes de programación. Una vez
|
| 92 |
+
|
| 93 |
+
00:01:25.539 --> 00:01:27.299
|
| 94 |
+
tienes tu nombre de dominio, necesitas lo que
|
| 95 |
+
|
| 96 |
+
00:01:27.299 --> 00:01:29.560
|
| 97 |
+
se llama un top level domain o tld,
|
| 98 |
+
|
| 99 |
+
00:01:29.700 --> 00:01:31.700
|
| 100 |
+
que es el sufijo que se le agrega
|
| 101 |
+
|
| 102 |
+
00:01:31.700 --> 00:01:33.939
|
| 103 |
+
a estos dominios. Los más conocidos son punto
|
| 104 |
+
|
| 105 |
+
00:01:33.939 --> 00:01:36.795
|
| 106 |
+
com, punto DDG0 punto net. Existen algunos sufijos
|
| 107 |
+
|
| 108 |
+
00:01:36.795 --> 00:01:38.635
|
| 109 |
+
o top level domains que son de uso
|
| 110 |
+
|
| 111 |
+
00:01:38.635 --> 00:01:41.355
|
| 112 |
+
exclusivo. Entonces, el punto gov tiende a ser
|
| 113 |
+
|
| 114 |
+
00:01:41.355 --> 00:01:43.835
|
| 115 |
+
usado para gobierno y en América Latina está
|
| 116 |
+
|
| 117 |
+
00:01:43.835 --> 00:01:46.235
|
| 118 |
+
el punto gov con b larga, el punto
|
| 119 |
+
|
| 120 |
+
00:01:46.235 --> 00:01:49.035
|
| 121 |
+
1000 tiende a ser usado para ejército militar,
|
| 122 |
+
|
| 123 |
+
00:01:49.035 --> 00:01:51.450
|
| 124 |
+
el punto edu tiende a ser exclusivo de
|
| 125 |
+
|
| 126 |
+
00:01:51.450 --> 00:01:56.509
|
| 127 |
+
instituciones educativas acreditadas. Y luego están los TLDs
|
| 128 |
+
|
| 129 |
+
00:01:56.570 --> 00:01:58.970
|
| 130 |
+
que son exclusivos de países, punto co siendo
|
| 131 |
+
|
| 132 |
+
00:01:58.970 --> 00:02:01.369
|
| 133 |
+
de Colombia, punto j p de Japón, punto
|
| 134 |
+
|
| 135 |
+
00:02:01.369 --> 00:02:03.450
|
| 136 |
+
es de España. Cada país lo usa de
|
| 137 |
+
|
| 138 |
+
00:02:03.450 --> 00:02:06.566
|
| 139 |
+
maneras distintas. Por ejemplo, en el caso de
|
| 140 |
+
|
| 141 |
+
00:02:06.566 --> 00:02:09.225
|
| 142 |
+
Inglaterra, típicamente es punto co punto u k,
|
| 143 |
+
|
| 144 |
+
00:02:09.225 --> 00:02:11.145
|
| 145 |
+
donde en el caso de España es punto
|
| 146 |
+
|
| 147 |
+
00:02:11.145 --> 00:02:12.825
|
| 148 |
+
es, y en el caso de Colombia es
|
| 149 |
+
|
| 150 |
+
00:02:12.825 --> 00:02:15.065
|
| 151 |
+
punto com punto co. Pues, la diferencia que
|
| 152 |
+
|
| 153 |
+
00:02:15.065 --> 00:02:16.705
|
| 154 |
+
determina si 1 usa 1 o el otro
|
| 155 |
+
|
| 156 |
+
00:02:16.705 --> 00:02:19.161
|
| 157 |
+
es aleatorio, depende de cada país, y cada
|
| 158 |
+
|
| 159 |
+
00:02:19.161 --> 00:02:19.289
|
| 160 |
+
país toma decisiones respecto a cómo lo quiere
|
| 161 |
+
|
| 162 |
+
00:02:19.289 --> 00:02:20.135
|
| 163 |
+
usar. En los últimos años, debido a la
|
| 164 |
+
|
| 165 |
+
00:02:26.319 --> 00:02:28.560
|
| 166 |
+
top level domains, han empezado a aparecer top
|
| 167 |
+
|
| 168 |
+
00:02:28.560 --> 00:02:32.420
|
| 169 |
+
level domains larguísimos. Entonces, existe el punto promo,
|
| 170 |
+
|
| 171 |
+
00:02:32.800 --> 00:02:36.435
|
| 172 |
+
el punto info, el punto love, entre muchos,
|
| 173 |
+
|
| 174 |
+
00:02:36.435 --> 00:02:38.995
|
| 175 |
+
muchos otros. Tú puedes tener el que quieras.
|
| 176 |
+
|
| 177 |
+
00:02:38.995 --> 00:02:41.475
|
| 178 |
+
Pero en negocios, típicamente, 1 tiende a respetar
|
| 179 |
+
|
| 180 |
+
00:02:41.475 --> 00:02:44.115
|
| 181 |
+
mucho más los dominios punto com. Hay dominios
|
| 182 |
+
|
| 183 |
+
00:02:44.115 --> 00:02:45.715
|
| 184 |
+
que antes no tenían valor y ahora tienen
|
| 185 |
+
|
| 186 |
+
00:02:45.715 --> 00:02:48.035
|
| 187 |
+
mucho valor, como por ejemplo, punto AI, de
|
| 188 |
+
|
| 189 |
+
00:02:48.035 --> 00:02:50.750
|
| 190 |
+
inteligencia artificial, o en su momento el punto
|
| 191 |
+
|
| 192 |
+
00:02:50.750 --> 00:02:54.390
|
| 193 |
+
co. Colombia hizo una gran campaña para decir
|
| 194 |
+
|
| 195 |
+
00:02:54.390 --> 00:02:56.349
|
| 196 |
+
que el punto CO era un reemplazo al
|
| 197 |
+
|
| 198 |
+
00:02:56.349 --> 00:02:58.430
|
| 199 |
+
punto COM, y en vez de referirse a
|
| 200 |
+
|
| 201 |
+
00:02:58.430 --> 00:03:01.069
|
| 202 |
+
estos dominios como un dominio colombiano, son simplemente
|
| 203 |
+
|
| 204 |
+
00:03:01.069 --> 00:03:04.365
|
| 205 |
+
una alternativa al COM mucho más interesante que
|
| 206 |
+
|
| 207 |
+
00:03:04.365 --> 00:03:07.405
|
| 208 |
+
el punto org. Comprar un dominio, como un
|
| 209 |
+
|
| 210 |
+
00:03:07.405 --> 00:03:09.325
|
| 211 |
+
punto com, un punto org, un punto lo
|
| 212 |
+
|
| 213 |
+
00:03:09.325 --> 00:03:11.485
|
| 214 |
+
que sea, no es lo mismo que tener
|
| 215 |
+
|
| 216 |
+
00:03:11.485 --> 00:03:14.045
|
| 217 |
+
una página web. Recuerda que un dominio es
|
| 218 |
+
|
| 219 |
+
00:03:14.045 --> 00:03:17.140
|
| 220 |
+
simplemente comprar el derecho a que un número
|
| 221 |
+
|
| 222 |
+
00:03:17.140 --> 00:03:20.840
|
| 223 |
+
IP apunte a un nombre. Es como construir
|
| 224 |
+
|
| 225 |
+
00:03:20.900 --> 00:03:23.620
|
| 226 |
+
una casa y luego comprar la dirección de
|
| 227 |
+
|
| 228 |
+
00:03:23.620 --> 00:03:25.459
|
| 229 |
+
tu casa. Eso es lo que significa tener
|
| 230 |
+
|
| 231 |
+
00:03:25.459 --> 00:03:28.465
|
| 232 |
+
ese dominio punto com. Sin embargo, sin tener
|
| 233 |
+
|
| 234 |
+
00:03:28.465 --> 00:03:30.465
|
| 235 |
+
un dominio no puedes tener una página web,
|
| 236 |
+
|
| 237 |
+
00:03:30.465 --> 00:03:32.065
|
| 238 |
+
o sí puedes, pero tendrías que contarle a
|
| 239 |
+
|
| 240 |
+
00:03:32.065 --> 00:03:33.825
|
| 241 |
+
todo el mundo cuál es la dirección IP
|
| 242 |
+
|
| 243 |
+
00:03:33.825 --> 00:03:35.025
|
| 244 |
+
de tu página web, lo cual no es
|
| 245 |
+
|
| 246 |
+
00:03:35.025 --> 00:03:37.425
|
| 247 |
+
tan chévere como decir mi propia página web
|
| 248 |
+
|
| 249 |
+
00:03:37.425 --> 00:03:39.825
|
| 250 |
+
punto com. Internet está tan maduro que hoy
|
| 251 |
+
|
| 252 |
+
00:03:39.825 --> 00:03:42.880
|
| 253 |
+
en día casi que no hay disponibles nombres
|
| 254 |
+
|
| 255 |
+
00:03:42.940 --> 00:03:45.260
|
| 256 |
+
punto com, y muchas personas tienen que comprar
|
| 257 |
+
|
| 258 |
+
00:03:45.260 --> 00:03:49.660
|
| 259 |
+
nombres alternativos. Como dato anecdótico, Platzi punto com
|
| 260 |
+
|
| 261 |
+
00:03:49.660 --> 00:03:52.060
|
| 262 |
+
es un dominio que yo no quería pagar
|
| 263 |
+
|
| 264 |
+
00:03:52.060 --> 00:03:53.819
|
| 265 |
+
demasiado por él, así que me puse a
|
| 266 |
+
|
| 267 |
+
00:03:53.819 --> 00:03:56.700
|
| 268 |
+
buscar profundamente por allá en el año 2012,
|
| 269 |
+
|
| 270 |
+
00:03:56.700 --> 00:04:01.045
|
| 271 |
+
2013, diferentes configuraciones de dominio hasta que encontré
|
| 272 |
+
|
| 273 |
+
00:04:01.045 --> 00:04:03.444
|
| 274 |
+
4 que me gustaron. Al equipo de la
|
| 275 |
+
|
| 276 |
+
00:04:03.444 --> 00:04:05.045
|
| 277 |
+
época les dije que votaran por el dominio
|
| 278 |
+
|
| 279 |
+
00:04:05.045 --> 00:04:06.805
|
| 280 |
+
que más les gustara y todos votaron por
|
| 281 |
+
|
| 282 |
+
00:04:06.805 --> 00:04:09.924
|
| 283 |
+
Platzi punto com. Pero hoy en día mucha
|
| 284 |
+
|
| 285 |
+
00:04:09.924 --> 00:04:11.525
|
| 286 |
+
gente que quiere comprar un dominio, que ya
|
| 287 |
+
|
| 288 |
+
00:04:11.525 --> 00:04:14.400
|
| 289 |
+
está capturado, le toca pagarle a personas que
|
| 290 |
+
|
| 291 |
+
00:04:14.400 --> 00:04:16.800
|
| 292 |
+
son dueñas de grandes cantidades de dominios. Esto
|
| 293 |
+
|
| 294 |
+
00:04:16.800 --> 00:04:20.080
|
| 295 |
+
es todo un negocio, el comprar muchísimos dominios
|
| 296 |
+
|
| 297 |
+
00:04:20.080 --> 00:04:23.520
|
| 298 |
+
DNS para luego revenderlos. Como dato, 1 de
|
| 299 |
+
|
| 300 |
+
00:04:23.520 --> 00:04:24.980
|
| 301 |
+
los dominios más caros de la historia es
|
| 302 |
+
|
| 303 |
+
00:04:25.600 --> 00:04:27.935
|
| 304 |
+
business punto com, negocios punto com, que fue
|
| 305 |
+
|
| 306 |
+
00:04:27.935 --> 00:04:30.815
|
| 307 |
+
vendido por 345000000 de dólares. Y en el
|
| 308 |
+
|
| 309 |
+
00:04:30.815 --> 00:04:34.095
|
| 310 |
+
2015, un exempleado de Google se dio cuenta
|
| 311 |
+
|
| 312 |
+
00:04:34.095 --> 00:04:35.615
|
| 313 |
+
de que el dominio Google punto com estaba
|
| 314 |
+
|
| 315 |
+
00:04:35.615 --> 00:04:37.294
|
| 316 |
+
a punto de expirar y lo compró por
|
| 317 |
+
|
| 318 |
+
00:04:37.294 --> 00:04:41.070
|
| 319 |
+
12 dólares, por el precio normal. Google le
|
| 320 |
+
|
| 321 |
+
00:04:41.070 --> 00:04:43.190
|
| 322 |
+
agradeció haberlo comprado porque el empleado se los
|
| 323 |
+
|
| 324 |
+
00:04:43.190 --> 00:04:45.750
|
| 325 |
+
devolvió y le dio un bono de 10000
|
| 326 |
+
|
| 327 |
+
00:04:45.750 --> 00:04:49.510
|
| 328 |
+
dólares como una recompensa por haber encontrado este
|
| 329 |
+
|
| 330 |
+
00:04:49.510 --> 00:04:51.510
|
| 331 |
+
problema. Pero no porque tú compres un dominio
|
| 332 |
+
|
| 333 |
+
00:04:51.510 --> 00:04:53.698
|
| 334 |
+
significa que lo puedes revender. Por ejemplo, una
|
| 335 |
+
|
| 336 |
+
00:04:53.698 --> 00:04:56.365
|
| 337 |
+
persona terminó comprando Google punto com punto ar
|
| 338 |
+
|
| 339 |
+
00:04:56.365 --> 00:04:58.625
|
| 340 |
+
en Argentina y, en vez de recibir recompensa,
|
| 341 |
+
|
| 342 |
+
00:04:59.005 --> 00:05:01.805
|
| 343 |
+
recibió una demanda, porque también las leyes de
|
| 344 |
+
|
| 345 |
+
00:05:01.805 --> 00:05:04.765
|
| 346 |
+
copyright y de marcas registradas aplican, y si
|
| 347 |
+
|
| 348 |
+
00:05:04.765 --> 00:05:06.525
|
| 349 |
+
tú como empresa eres dueño de una marca
|
| 350 |
+
|
| 351 |
+
00:05:06.525 --> 00:05:08.765
|
| 352 |
+
registrada, puedes ir a la corte para obtener
|
| 353 |
+
|
| 354 |
+
00:05:08.765 --> 00:05:11.590
|
| 355 |
+
tu punto com. Vamos a comprar dominios. Yo
|
| 356 |
+
|
| 357 |
+
00:05:11.590 --> 00:05:13.850
|
| 358 |
+
personalmente uso un sitio que se llama Nameship
|
| 359 |
+
|
| 360 |
+
00:05:14.070 --> 00:05:15.750
|
| 361 |
+
punto com, tú puedes usar el que quieras.
|
| 362 |
+
|
| 363 |
+
00:05:15.750 --> 00:05:17.850
|
| 364 |
+
El único que no recomiendo es usar GoDaddy
|
| 365 |
+
|
| 366 |
+
00:05:17.990 --> 00:05:20.950
|
| 367 |
+
punto com. GoDaddy tiene malas prácticas en la
|
| 368 |
+
|
| 369 |
+
00:05:20.950 --> 00:05:22.950
|
| 370 |
+
que, cuando tú empiezas a buscar un dominio,
|
| 371 |
+
|
| 372 |
+
00:05:22.950 --> 00:05:24.875
|
| 373 |
+
GoDaddy se va a dar cuenta, Y si
|
| 374 |
+
|
| 375 |
+
00:05:24.875 --> 00:05:27.435
|
| 376 |
+
el dominio que buscas está disponible, GoDaddy lo
|
| 377 |
+
|
| 378 |
+
00:05:27.435 --> 00:05:30.074
|
| 379 |
+
va automáticamente a comprar, de tal manera que
|
| 380 |
+
|
| 381 |
+
00:05:30.074 --> 00:05:32.074
|
| 382 |
+
si decides comprarlo luego, te lo va a
|
| 383 |
+
|
| 384 |
+
00:05:32.074 --> 00:05:35.275
|
| 385 |
+
cobrar mucho más caro, porque automáticamente se va
|
| 386 |
+
|
| 387 |
+
00:05:35.275 --> 00:05:36.715
|
| 388 |
+
a apropiar del dominio y no te va
|
| 389 |
+
|
| 390 |
+
00:05:36.715 --> 00:05:38.470
|
| 391 |
+
a permitir comprarlo en otro lado. Es una
|
| 392 |
+
|
| 393 |
+
00:05:38.470 --> 00:05:42.150
|
| 394 |
+
técnica muy peligrosa. GoDaddy ha sido muy perseguido
|
| 395 |
+
|
| 396 |
+
00:05:42.150 --> 00:05:44.150
|
| 397 |
+
por sus malas prácticas y, en general, no
|
| 398 |
+
|
| 399 |
+
00:05:44.150 --> 00:05:46.630
|
| 400 |
+
recomendamos usarlo. Registrar un dominio es tan simple
|
| 401 |
+
|
| 402 |
+
00:05:46.630 --> 00:05:48.550
|
| 403 |
+
como empezar a colocarle el nombre que quieras.
|
| 404 |
+
|
| 405 |
+
00:05:48.550 --> 00:05:50.470
|
| 406 |
+
Yo, personalmente, le voy a colocar un nombre
|
| 407 |
+
|
| 408 |
+
00:05:50.470 --> 00:05:52.230
|
| 409 |
+
que creo que va a estar no disponible,
|
| 410 |
+
|
| 411 |
+
00:05:52.230 --> 00:05:54.205
|
| 412 |
+
pero seguro que alguno de ustedes estudiantes lo
|
| 413 |
+
|
| 414 |
+
00:05:54.205 --> 00:05:55.724
|
| 415 |
+
va a comprar. Mi sugerencia es que no
|
| 416 |
+
|
| 417 |
+
00:05:55.724 --> 00:05:57.324
|
| 418 |
+
lo hagan, van a perder el dinero, pero
|
| 419 |
+
|
| 420 |
+
00:05:57.324 --> 00:05:58.764
|
| 421 |
+
si lo quieren hacer, por lo menos hagan
|
| 422 |
+
|
| 423 |
+
00:05:58.764 --> 00:06:01.245
|
| 424 |
+
algo creativo con el dominio, ¿listos? Voy a
|
| 425 |
+
|
| 426 |
+
00:06:01.245 --> 00:06:05.724
|
| 427 |
+
colocarle prueba de curso de fundamentos y le
|
| 428 |
+
|
| 429 |
+
00:06:05.724 --> 00:06:09.680
|
| 430 |
+
doy buscar. Me empieza a buscar y, efectivamente,
|
| 431 |
+
|
| 432 |
+
00:06:09.900 --> 00:06:12.440
|
| 433 |
+
aquí está prueba de curso de fundamentos punto
|
| 434 |
+
|
| 435 |
+
00:06:12.539 --> 00:06:17.500
|
| 436 |
+
com y me cuesta simplemente 11.28 dólares al
|
| 437 |
+
|
| 438 |
+
00:06:17.500 --> 00:06:20.060
|
| 439 |
+
año. Me salen otras opciones como el punto
|
| 440 |
+
|
| 441 |
+
00:06:20.060 --> 00:06:22.250
|
| 442 |
+
fon, punto Miami, punto net, punto ORG, pero
|
| 443 |
+
|
| 444 |
+
00:06:22.544 --> 00:06:24.065
|
| 445 |
+
solamente necesito este, así que lo que voy
|
| 446 |
+
|
| 447 |
+
00:06:24.065 --> 00:06:26.384
|
| 448 |
+
a hacer es añadirlo al carrito, ahí lo
|
| 449 |
+
|
| 450 |
+
00:06:26.384 --> 00:06:27.905
|
| 451 |
+
tengo en mi carrito, y en el caso
|
| 452 |
+
|
| 453 |
+
00:06:27.905 --> 00:06:29.824
|
| 454 |
+
de NameShip, miren que me empieza a vender
|
| 455 |
+
|
| 456 |
+
00:06:29.824 --> 00:06:32.485
|
| 457 |
+
otras cosas. Me vende hosting de sitios web,
|
| 458 |
+
|
| 459 |
+
00:06:32.785 --> 00:06:35.205
|
| 460 |
+
WordPress, que es un mecanismo para crear sitios
|
| 461 |
+
|
| 462 |
+
00:06:35.264 --> 00:06:36.945
|
| 463 |
+
web automatizados, es un sistema de manejo de
|
| 464 |
+
|
| 465 |
+
00:06:36.945 --> 00:06:39.740
|
| 466 |
+
contenido, SSL, que es la forma de tener
|
| 467 |
+
|
| 468 |
+
00:06:41.080 --> 00:06:44.120
|
| 469 |
+
cifrado en las transmisiones de los datos cuando
|
| 470 |
+
|
| 471 |
+
00:06:44.120 --> 00:06:47.560
|
| 472 |
+
le sale HTTPS. Premium DNS es algo que
|
| 473 |
+
|
| 474 |
+
00:06:47.560 --> 00:06:50.600
|
| 475 |
+
ustedes no necesitan. Y correo electrónico, el hecho
|
| 476 |
+
|
| 477 |
+
00:06:50.600 --> 00:06:51.800
|
| 478 |
+
de tener un dominio no es lo mismo
|
| 479 |
+
|
| 480 |
+
00:06:51.800 --> 00:06:54.165
|
| 481 |
+
que tener correo electrónico, eso son cosas aparte.
|
| 482 |
+
|
| 483 |
+
00:06:54.165 --> 00:06:56.405
|
| 484 |
+
El dominio solamente es un apuntador a una
|
| 485 |
+
|
| 486 |
+
00:06:56.405 --> 00:06:59.125
|
| 487 |
+
IP, el correo electrónico sería un servidor, etcétera,
|
| 488 |
+
|
| 489 |
+
00:06:59.125 --> 00:07:01.285
|
| 490 |
+
etcétera. Yo solamente necesito el dominio, así que
|
| 491 |
+
|
| 492 |
+
00:07:01.285 --> 00:07:03.925
|
| 493 |
+
le voy a dar aquí check out y
|
| 494 |
+
|
| 495 |
+
00:07:03.925 --> 00:07:05.205
|
| 496 |
+
ya está. Con esto lo que voy a
|
| 497 |
+
|
| 498 |
+
00:07:05.205 --> 00:07:07.490
|
| 499 |
+
hacer es comprarlo. Esto es un proceso de
|
| 500 |
+
|
| 501 |
+
00:07:07.490 --> 00:07:09.250
|
| 502 |
+
compra de toda la vida. Yo puedo comprar
|
| 503 |
+
|
| 504 |
+
00:07:09.250 --> 00:07:10.930
|
| 505 |
+
un dominio por un año, por 5 años
|
| 506 |
+
|
| 507 |
+
00:07:10.930 --> 00:07:13.169
|
| 508 |
+
o por 10 años. Un dato importante es
|
| 509 |
+
|
| 510 |
+
00:07:13.169 --> 00:07:17.030
|
| 511 |
+
que sistemas como Google usan la longevidad del
|
| 512 |
+
|
| 513 |
+
00:07:17.250 --> 00:07:19.729
|
| 514 |
+
dominio para determinar qué tan serio es un
|
| 515 |
+
|
| 516 |
+
00:07:19.729 --> 00:07:22.255
|
| 517 |
+
sitio web. Entonces, si tú quieres proyectar seriedad,
|
| 518 |
+
|
| 519 |
+
00:07:22.255 --> 00:07:23.775
|
| 520 |
+
compra dominios a 10 años, que en este
|
| 521 |
+
|
| 522 |
+
00:07:23.775 --> 00:07:26.735
|
| 523 |
+
caso costaría 146 dólares. Aquí voy a simular
|
| 524 |
+
|
| 525 |
+
00:07:26.735 --> 00:07:28.835
|
| 526 |
+
que lo voy a comprar por un año.
|
| 527 |
+
|
| 528 |
+
00:07:29.295 --> 00:07:31.855
|
| 529 |
+
Y con eso simplemente privacidad de dominio es
|
| 530 |
+
|
| 531 |
+
00:07:31.855 --> 00:07:33.907
|
| 532 |
+
una cosa muy interesante, lo estoy apagando acá,
|
| 533 |
+
|
| 534 |
+
00:07:33.907 --> 00:07:35.800
|
| 535 |
+
porque resulta que los dominios 1 tiene que
|
| 536 |
+
|
| 537 |
+
00:07:35.800 --> 00:07:38.120
|
| 538 |
+
colocar su nombre y quién es el dueño,
|
| 539 |
+
|
| 540 |
+
00:07:38.120 --> 00:07:40.620
|
| 541 |
+
que es la dirección donde la dirección postal
|
| 542 |
+
|
| 543 |
+
00:07:40.840 --> 00:07:43.160
|
| 544 |
+
a la que llegan las cartas, porque todo
|
| 545 |
+
|
| 546 |
+
00:07:43.160 --> 00:07:45.000
|
| 547 |
+
dominio tiene que estar conectado con un ser
|
| 548 |
+
|
| 549 |
+
00:07:45.000 --> 00:07:46.780
|
| 550 |
+
humano real. Pero no puede activar la privacidad
|
| 551 |
+
|
| 552 |
+
00:07:46.919 --> 00:07:48.520
|
| 553 |
+
y de esa manera nadie sabe de quién
|
| 554 |
+
|
| 555 |
+
00:07:48.520 --> 00:07:51.025
|
| 556 |
+
es este sistema. Es completamente gratuito, yo lo
|
| 557 |
+
|
| 558 |
+
00:07:51.025 --> 00:08:04.500
|
| 559 |
+
puedo, AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Una vez comprado el dominio, lo
|
| 560 |
+
|
| 561 |
+
00:08:04.500 --> 00:08:07.460
|
| 562 |
+
que hay que hacer es configurarlo. Las configuraciones
|
| 563 |
+
|
| 564 |
+
00:08:07.460 --> 00:08:10.180
|
| 565 |
+
tienen diferentes nombres. Los más importantes que ustedes
|
| 566 |
+
|
| 567 |
+
00:08:10.180 --> 00:08:13.220
|
| 568 |
+
necesitan tener en mente son estos llamados a
|
| 569 |
+
|
| 570 |
+
00:08:13.220 --> 00:08:16.655
|
| 571 |
+
Records. El a Record es una variable dentro
|
| 572 |
+
|
| 573 |
+
00:08:16.655 --> 00:08:18.335
|
| 574 |
+
de la base de datos del sistema de
|
| 575 |
+
|
| 576 |
+
00:08:18.335 --> 00:08:20.655
|
| 577 |
+
nombres de dominio que apunta a donde está
|
| 578 |
+
|
| 579 |
+
00:08:20.655 --> 00:08:22.574
|
| 580 |
+
el servidor. Entonces, en este caso, para el
|
| 581 |
+
|
| 582 |
+
00:08:22.574 --> 00:08:24.574
|
| 583 |
+
dominio Freddy Vega punto com, yo tengo un
|
| 584 |
+
|
| 585 |
+
00:08:24.574 --> 00:08:30.275
|
| 586 |
+
servidor en 209.97 punto 145.61 hacia donde apunta
|
| 587 |
+
|
| 588 |
+
00:08:30.980 --> 00:08:34.500
|
| 589 |
+
mi nombre de dominio, Fredy punto com. Luego
|
| 590 |
+
|
| 591 |
+
00:08:34.500 --> 00:08:37.299
|
| 592 |
+
están los c name records. Tú probablemente has
|
| 593 |
+
|
| 594 |
+
00:08:37.299 --> 00:08:40.740
|
| 595 |
+
visto que algunos dominios tienen palabras atrás del
|
| 596 |
+
|
| 597 |
+
00:08:40.740 --> 00:08:43.460
|
| 598 |
+
dominio con un punto. Por ejemplo, Google Docs
|
| 599 |
+
|
| 600 |
+
00:08:43.460 --> 00:08:46.685
|
| 601 |
+
está en docs punto Google punto com. En
|
| 602 |
+
|
| 603 |
+
00:08:46.685 --> 00:08:49.185
|
| 604 |
+
ese caso, Google punto com es el dominio
|
| 605 |
+
|
| 606 |
+
00:08:49.404 --> 00:08:53.645
|
| 607 |
+
y docs, D0CS, es el subdominio. En este
|
| 608 |
+
|
| 609 |
+
00:08:53.645 --> 00:08:57.745
|
| 610 |
+
caso, el récord siname de FTP, mail YWW
|
| 611 |
+
|
| 612 |
+
00:08:58.045 --> 00:09:00.125
|
| 613 |
+
son subdominios que yo le estoy apuntando a
|
| 614 |
+
|
| 615 |
+
00:09:00.125 --> 00:09:02.650
|
| 616 |
+
Freddie Vega punto com, o sea, al dominio
|
| 617 |
+
|
| 618 |
+
00:09:02.650 --> 00:09:05.210
|
| 619 |
+
a, a la raíz del dominio. Yo podría
|
| 620 |
+
|
| 621 |
+
00:09:05.210 --> 00:09:07.130
|
| 622 |
+
tener c name records que apunten a una
|
| 623 |
+
|
| 624 |
+
00:09:07.130 --> 00:09:10.590
|
| 625 |
+
IP diferente y, de esa manera, subdominios distintos,
|
| 626 |
+
|
| 627 |
+
00:09:10.730 --> 00:09:13.450
|
| 628 |
+
por ejemplo, correo punto Freddy Vega punto com,
|
| 629 |
+
|
| 630 |
+
00:09:13.450 --> 00:09:16.475
|
| 631 |
+
podría apuntar a un servidor completamente distinto. Y
|
| 632 |
+
|
| 633 |
+
00:09:16.475 --> 00:09:19.695
|
| 634 |
+
por último, están estos TXT Records, que son
|
| 635 |
+
|
| 636 |
+
00:09:20.075 --> 00:09:22.235
|
| 637 |
+
básicamente variables de texto que yo agrego en
|
| 638 |
+
|
| 639 |
+
00:09:22.235 --> 00:09:24.795
|
| 640 |
+
ocasiones como una señal a otros sitios web.
|
| 641 |
+
|
| 642 |
+
00:09:24.795 --> 00:09:26.235
|
| 643 |
+
En este caso, por ejemplo, le estoy diciendo
|
| 644 |
+
|
| 645 |
+
00:09:26.235 --> 00:09:28.590
|
| 646 |
+
a Google que Freddy-G punto com es mío,
|
| 647 |
+
|
| 648 |
+
00:09:28.590 --> 00:09:30.510
|
| 649 |
+
y lo hago con una variable que Google
|
| 650 |
+
|
| 651 |
+
00:09:30.510 --> 00:09:32.110
|
| 652 |
+
me dio. No se preocupen por esto, esto
|
| 653 |
+
|
| 654 |
+
00:09:32.110 --> 00:09:33.950
|
| 655 |
+
son cosas avanzadas que luego van a tener
|
| 656 |
+
|
| 657 |
+
00:09:33.950 --> 00:09:36.510
|
| 658 |
+
que usar. Una vez tienes tu dominio y
|
| 659 |
+
|
| 660 |
+
00:09:36.510 --> 00:09:38.750
|
| 661 |
+
le está apuntando una IP, ahora necesitas tener
|
| 662 |
+
|
| 663 |
+
00:09:38.750 --> 00:09:40.910
|
| 664 |
+
una IP. El solo hecho de tener un
|
| 665 |
+
|
| 666 |
+
00:09:40.910 --> 00:09:42.995
|
| 667 |
+
dominio no significa tener una página web. Una
|
| 668 |
+
|
| 669 |
+
00:09:42.995 --> 00:09:47.075
|
| 670 |
+
página web es una computadora en Internet a
|
| 671 |
+
|
| 672 |
+
00:09:47.075 --> 00:09:50.675
|
| 673 |
+
la que tu dominio le apunta sirviendo un
|
| 674 |
+
|
| 675 |
+
00:09:50.675 --> 00:09:54.274
|
| 676 |
+
servicio, típicamente un sitio web. Eso es una
|
| 677 |
+
|
| 678 |
+
00:09:54.274 --> 00:09:55.840
|
| 679 |
+
computadora conectada a Internet, que es lo que
|
| 680 |
+
|
| 681 |
+
00:09:55.840 --> 00:09:58.160
|
| 682 |
+
la gente llama la nube. La nube es
|
| 683 |
+
|
| 684 |
+
00:09:58.160 --> 00:10:01.360
|
| 685 |
+
rentar una computadora en un data center de
|
| 686 |
+
|
| 687 |
+
00:10:01.360 --> 00:10:03.600
|
| 688 |
+
otra empresa. O puede ser tu propia computadora
|
| 689 |
+
|
| 690 |
+
00:10:03.600 --> 00:10:05.360
|
| 691 |
+
en tu propia conexión, pero eso es un
|
| 692 |
+
|
| 693 |
+
00:10:05.360 --> 00:10:07.280
|
| 694 |
+
poco complicado y no vamos a hablar de
|
| 695 |
+
|
| 696 |
+
00:10:07.280 --> 00:10:09.731
|
| 697 |
+
eso. Vamos a hablar del modelo cliente servidor,
|
| 698 |
+
|
| 699 |
+
00:10:09.731 --> 00:10:10.931
|
| 700 |
+
que es lo que viene en la próxima
|
| 701 |
+
|
| 702 |
+
00:10:10.931 --> 00:10:11.431
|
| 703 |
+
clase.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/02-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Modelo ClienteServidor Cómo funciona un sitio web.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0114b6471aa15a0870dd871384b1282f46607d422b66f8b93f4b1c3a4e6e846e
|
| 3 |
+
size 201033439
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Modelo ClienteServidor Cómo funciona un sitio web.vtt
ADDED
|
@@ -0,0 +1,580 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.160 --> 00:00:02.260
|
| 4 |
+
Estás en tu computadora y en tu navegador
|
| 5 |
+
|
| 6 |
+
00:00:02.399 --> 00:00:05.920
|
| 7 |
+
escribes platzi punto com. Al darle enter, tu
|
| 8 |
+
|
| 9 |
+
00:00:05.920 --> 00:00:10.099
|
| 10 |
+
navegador es el cliente. Ese cliente manda platzi
|
| 11 |
+
|
| 12 |
+
00:00:10.160 --> 00:00:12.240
|
| 13 |
+
punto com al router que lo transforma a
|
| 14 |
+
|
| 15 |
+
00:00:12.240 --> 00:00:14.000
|
| 16 |
+
una IP, esa es la IP del servidor
|
| 17 |
+
|
| 18 |
+
00:00:14.000 --> 00:00:17.045
|
| 19 |
+
platzi punto com, y allá está el servidor.
|
| 20 |
+
|
| 21 |
+
00:00:17.185 --> 00:00:18.785
|
| 22 |
+
El servidor es donde están los datos de
|
| 23 |
+
|
| 24 |
+
00:00:18.785 --> 00:00:21.045
|
| 25 |
+
Platzi punto com. Así que tu cliente envía
|
| 26 |
+
|
| 27 |
+
00:00:21.185 --> 00:00:23.505
|
| 28 |
+
ese dato a Platzi punto com, esa petición
|
| 29 |
+
|
| 30 |
+
00:00:23.505 --> 00:00:25.131
|
| 31 |
+
de mándeme la página web de Platzi. El
|
| 32 |
+
|
| 33 |
+
00:00:25.131 --> 00:00:25.985
|
| 34 |
+
servidor recibe la petición y responde con los
|
| 35 |
+
|
| 36 |
+
00:00:25.985 --> 00:00:31.640
|
| 37 |
+
datos, recibe la petición y responde con los
|
| 38 |
+
|
| 39 |
+
00:00:31.640 --> 00:00:34.040
|
| 40 |
+
datos de Platzi punto com, que los envía
|
| 41 |
+
|
| 42 |
+
00:00:34.040 --> 00:00:37.280
|
| 43 |
+
por HTTP, por HyperText Transfer Protocol, o el
|
| 44 |
+
|
| 45 |
+
00:00:37.280 --> 00:00:40.075
|
| 46 |
+
protocolo de transferencia de hipertexto. Y como vivimos
|
| 47 |
+
|
| 48 |
+
00:00:40.075 --> 00:00:42.815
|
| 49 |
+
en el futuro, ahora es el protocolo HTTPS,
|
| 50 |
+
|
| 51 |
+
00:00:43.515 --> 00:00:46.155
|
| 52 |
+
donde la s significa seguro, es decir, cifra
|
| 53 |
+
|
| 54 |
+
00:00:46.155 --> 00:00:48.955
|
| 55 |
+
los datos. Y esos datos cifrados llegan a
|
| 56 |
+
|
| 57 |
+
00:00:48.955 --> 00:00:51.195
|
| 58 |
+
tu computadora, que es el cliente. Eso es
|
| 59 |
+
|
| 60 |
+
00:00:51.195 --> 00:00:54.100
|
| 61 |
+
todo el modelo cliente servidor. Pero por detrás
|
| 62 |
+
|
| 63 |
+
00:00:54.100 --> 00:00:56.660
|
| 64 |
+
no solamente pasa esto. Por ejemplo, ¿cómo le
|
| 65 |
+
|
| 66 |
+
00:00:56.660 --> 00:00:59.560
|
| 67 |
+
hacen los sitios web? Para mostrarte versiones de
|
| 68 |
+
|
| 69 |
+
00:00:59.940 --> 00:01:03.240
|
| 70 |
+
teléfonos móviles y versiones de computadoras de escritorio.
|
| 71 |
+
|
| 72 |
+
00:01:03.460 --> 00:01:05.640
|
| 73 |
+
Esto es porque cuando tú escribes una URL
|
| 74 |
+
|
| 75 |
+
00:01:05.775 --> 00:01:07.535
|
| 76 |
+
o cuando le das clic a una página
|
| 77 |
+
|
| 78 |
+
00:01:07.535 --> 00:01:09.695
|
| 79 |
+
web, el cargar una página web en tu
|
| 80 |
+
|
| 81 |
+
00:01:09.695 --> 00:01:13.215
|
| 82 |
+
computadora hace que tu computadora envíe en la
|
| 83 |
+
|
| 84 |
+
00:01:13.215 --> 00:01:16.175
|
| 85 |
+
petición datos de quién eres tú. 1 de
|
| 86 |
+
|
| 87 |
+
00:01:16.175 --> 00:01:18.495
|
| 88 |
+
esos datos es cuál es tu navegador, tu
|
| 89 |
+
|
| 90 |
+
00:01:18.495 --> 00:01:21.700
|
| 91 |
+
sistema operativo y tu computadora. Ahí dice, yo
|
| 92 |
+
|
| 93 |
+
00:01:21.700 --> 00:01:23.700
|
| 94 |
+
soy un iPhone, yo soy un Android, yo
|
| 95 |
+
|
| 96 |
+
00:01:23.700 --> 00:01:25.380
|
| 97 |
+
soy un laptop, yo soy una computadora de
|
| 98 |
+
|
| 99 |
+
00:01:25.380 --> 00:01:28.500
|
| 100 |
+
escritorio, el tamaño de tu pantalla, entre muchos
|
| 101 |
+
|
| 102 |
+
00:01:28.500 --> 00:01:30.900
|
| 103 |
+
otros datos que le permiten al servidor enviarte
|
| 104 |
+
|
| 105 |
+
00:01:30.900 --> 00:01:31.016
|
| 106 |
+
los datos correctos. Estos datos van invisibles al
|
| 107 |
+
|
| 108 |
+
00:01:31.016 --> 00:01:32.489
|
| 109 |
+
usuario en la capa de entre muchos otros
|
| 110 |
+
|
| 111 |
+
00:01:32.489 --> 00:01:34.766
|
| 112 |
+
datos que le permiten al servidor enviarte los
|
| 113 |
+
|
| 114 |
+
00:01:34.766 --> 00:01:37.044
|
| 115 |
+
datos correctos. Estos datos van invisibles al usuario
|
| 116 |
+
|
| 117 |
+
00:01:37.044 --> 00:01:39.321
|
| 118 |
+
en la capa de protocolo que envía la
|
| 119 |
+
|
| 120 |
+
00:01:39.321 --> 00:01:41.599
|
| 121 |
+
petición del cliente, tú, al servidor. Esto va
|
| 122 |
+
|
| 123 |
+
00:01:41.599 --> 00:01:43.877
|
| 124 |
+
en los headers de la conexión o en
|
| 125 |
+
|
| 126 |
+
00:01:43.877 --> 00:01:46.350
|
| 127 |
+
los headers HTTP, en la cabecera HTTP. Este
|
| 128 |
+
|
| 129 |
+
00:01:46.350 --> 00:01:48.910
|
| 130 |
+
dato, por ejemplo, donde están describiendo quién es
|
| 131 |
+
|
| 132 |
+
00:01:48.910 --> 00:01:51.230
|
| 133 |
+
tu navegador, quién es tu computadora, se llama
|
| 134 |
+
|
| 135 |
+
00:01:51.230 --> 00:01:54.110
|
| 136 |
+
agente de usuario o user agent. Por ejemplo,
|
| 137 |
+
|
| 138 |
+
00:01:54.110 --> 00:01:56.350
|
| 139 |
+
cuando tú abres Gmail punto com para entrar
|
| 140 |
+
|
| 141 |
+
00:01:56.350 --> 00:01:58.750
|
| 142 |
+
a tu correo, no siempre tienes que colocar
|
| 143 |
+
|
| 144 |
+
00:01:58.750 --> 00:02:00.350
|
| 145 |
+
tu nombre de usuario y contraseña, a veces
|
| 146 |
+
|
| 147 |
+
00:02:00.350 --> 00:02:03.185
|
| 148 |
+
ya sabe quién eres tú y carga exactamente
|
| 149 |
+
|
| 150 |
+
00:02:03.325 --> 00:02:06.284
|
| 151 |
+
tus emails. ¿Cómo hace eso? Eso lo hace
|
| 152 |
+
|
| 153 |
+
00:02:06.284 --> 00:02:07.965
|
| 154 |
+
porque ya sabe quién eres tú, porque la
|
| 155 |
+
|
| 156 |
+
00:02:07.965 --> 00:02:09.965
|
| 157 |
+
última vez que te logueaste el servidor te
|
| 158 |
+
|
| 159 |
+
00:02:09.965 --> 00:02:13.405
|
| 160 |
+
dejó unos datos en tu computadora guardados que
|
| 161 |
+
|
| 162 |
+
00:02:13.405 --> 00:02:16.970
|
| 163 |
+
indican e identifican que tú eres tú. Esos
|
| 164 |
+
|
| 165 |
+
00:02:16.970 --> 00:02:19.209
|
| 166 |
+
datos se llaman cookies. Una cookie o una
|
| 167 |
+
|
| 168 |
+
00:02:19.209 --> 00:02:21.849
|
| 169 |
+
galleta son unos datos que quedan guardados en
|
| 170 |
+
|
| 171 |
+
00:02:21.849 --> 00:02:25.930
|
| 172 |
+
tu computadora asignados al dominio de la petición
|
| 173 |
+
|
| 174 |
+
00:02:25.930 --> 00:02:28.170
|
| 175 |
+
que estás haciendo, Google punto com, Gmail punto
|
| 176 |
+
|
| 177 |
+
00:02:28.170 --> 00:02:31.545
|
| 178 |
+
com, Platzi punto com. Y esas variables, esas
|
| 179 |
+
|
| 180 |
+
00:02:31.545 --> 00:02:34.685
|
| 181 |
+
cookies, siempre viajan en la cabecera del protocolo
|
| 182 |
+
|
| 183 |
+
00:02:34.745 --> 00:02:36.584
|
| 184 |
+
cuando vas a pedirle algo. Así, si tú
|
| 185 |
+
|
| 186 |
+
00:02:36.584 --> 00:02:38.424
|
| 187 |
+
entras a Platzi punto com y ya eres
|
| 188 |
+
|
| 189 |
+
00:02:38.424 --> 00:02:40.905
|
| 190 |
+
un estudiante de Platzi, Platzi punto com lo
|
| 191 |
+
|
| 192 |
+
00:02:40.905 --> 00:02:43.500
|
| 193 |
+
sabe porque en las cookies están tus datos
|
| 194 |
+
|
| 195 |
+
00:02:43.500 --> 00:02:45.379
|
| 196 |
+
de identificación de la última vez que colocaste
|
| 197 |
+
|
| 198 |
+
00:02:45.379 --> 00:02:47.739
|
| 199 |
+
tu nombre de usuario y contraseña. Entonces, en
|
| 200 |
+
|
| 201 |
+
00:02:47.739 --> 00:02:50.780
|
| 202 |
+
vez de responderle del servidor al cliente con
|
| 203 |
+
|
| 204 |
+
00:02:50.780 --> 00:02:52.939
|
| 205 |
+
el sitio web normal de Platzi punto com,
|
| 206 |
+
|
| 207 |
+
00:02:52.939 --> 00:02:55.919
|
| 208 |
+
te respondemos con el home de estudiante donde
|
| 209 |
+
|
| 210 |
+
00:02:55.980 --> 00:02:59.315
|
| 211 |
+
están tus clases y tus cursos. Es una
|
| 212 |
+
|
| 213 |
+
00:02:59.315 --> 00:03:03.394
|
| 214 |
+
respuesta única y especial derivada de esa petición
|
| 215 |
+
|
| 216 |
+
00:03:03.394 --> 00:03:06.455
|
| 217 |
+
porque tiene esas cookies. Pero no responde inmediatamente
|
| 218 |
+
|
| 219 |
+
00:03:06.675 --> 00:03:11.175
|
| 220 |
+
con todo. Primero envía el código HTML, hypertext
|
| 221 |
+
|
| 222 |
+
00:03:11.710 --> 00:03:14.770
|
| 223 |
+
Markup Language, o lenguaje de etiquetas de hipertexto,
|
| 224 |
+
|
| 225 |
+
00:03:15.070 --> 00:03:17.070
|
| 226 |
+
que es la estructura de datos de una
|
| 227 |
+
|
| 228 |
+
00:03:17.070 --> 00:03:19.890
|
| 229 |
+
página web. Es texto plano, es puro texto,
|
| 230 |
+
|
| 231 |
+
00:03:19.950 --> 00:03:22.610
|
| 232 |
+
y en ese texto hay referencias a otros
|
| 233 |
+
|
| 234 |
+
00:03:22.830 --> 00:03:24.590
|
| 235 |
+
archivos. Por ejemplo, hay referencias a la a
|
| 236 |
+
|
| 237 |
+
00:03:24.590 --> 00:03:28.745
|
| 238 |
+
cargar hojas de estilo o CSS, Cascade Stylesheets,
|
| 239 |
+
|
| 240 |
+
00:03:28.885 --> 00:03:30.885
|
| 241 |
+
hojas de estilo en cascada. Este es un
|
| 242 |
+
|
| 243 |
+
00:03:30.885 --> 00:03:34.165
|
| 244 |
+
lenguaje que define el diseño gráfico del sitio
|
| 245 |
+
|
| 246 |
+
00:03:34.165 --> 00:03:36.525
|
| 247 |
+
web. Entonces, el navegador va y lo carga,
|
| 248 |
+
|
| 249 |
+
00:03:36.525 --> 00:03:38.665
|
| 250 |
+
y eso es lo que carga el diseño
|
| 251 |
+
|
| 252 |
+
00:03:38.805 --> 00:03:40.739
|
| 253 |
+
web de toda la página web. Pero también
|
| 254 |
+
|
| 255 |
+
00:03:40.739 --> 00:03:43.239
|
| 256 |
+
necesitas componentes interactivos, lo que hace que los
|
| 257 |
+
|
| 258 |
+
00:03:43.239 --> 00:03:45.299
|
| 259 |
+
botones reaccionen al dar clic, lo que mueve
|
| 260 |
+
|
| 261 |
+
00:03:45.299 --> 00:03:47.379
|
| 262 |
+
todo el sitio web. Este código se llama
|
| 263 |
+
|
| 264 |
+
00:03:47.379 --> 00:03:50.420
|
| 265 |
+
JavaScript y también está referenciado en el HTML.
|
| 266 |
+
|
| 267 |
+
00:03:50.420 --> 00:03:53.319
|
| 268 |
+
Estas son peticiones adicionales al servidor que regresan
|
| 269 |
+
|
| 270 |
+
00:03:53.379 --> 00:03:55.435
|
| 271 |
+
al navegador y es lo que va construyendo
|
| 272 |
+
|
| 273 |
+
00:03:55.435 --> 00:03:57.754
|
| 274 |
+
la representación de una página web, sea en
|
| 275 |
+
|
| 276 |
+
00:03:57.754 --> 00:03:59.595
|
| 277 |
+
el navegador de tu teléfono o en el
|
| 278 |
+
|
| 279 |
+
00:03:59.595 --> 00:04:01.834
|
| 280 |
+
navegador de tu escritorio o en donde sea.
|
| 281 |
+
|
| 282 |
+
00:04:01.834 --> 00:04:04.495
|
| 283 |
+
Por ejemplo, si estás buscando algo en Platzi
|
| 284 |
+
|
| 285 |
+
00:04:04.555 --> 00:04:07.114
|
| 286 |
+
y colocas un término de búsqueda, notarás que
|
| 287 |
+
|
| 288 |
+
00:04:07.114 --> 00:04:09.030
|
| 289 |
+
la URL o la dirección de Internet que
|
| 290 |
+
|
| 291 |
+
00:04:09.030 --> 00:04:10.750
|
| 292 |
+
se ve allá arriba en el navegador dice
|
| 293 |
+
|
| 294 |
+
00:04:10.750 --> 00:04:14.894
|
| 295 |
+
platzi punto com slash buscar slash signo de
|
| 296 |
+
|
| 297 |
+
00:04:14.894 --> 00:04:18.606
|
| 298 |
+
interrogación search igual chat GPT. Ese signo de
|
| 299 |
+
|
| 300 |
+
00:04:18.606 --> 00:04:21.410
|
| 301 |
+
interrogación significa, voy a enviarle variables al servidor
|
| 302 |
+
|
| 303 |
+
00:04:21.694 --> 00:04:24.514
|
| 304 |
+
a través de un método llamado el método
|
| 305 |
+
|
| 306 |
+
00:04:25.215 --> 00:04:28.175
|
| 307 |
+
get, GET. El método get son variables que
|
| 308 |
+
|
| 309 |
+
00:04:28.175 --> 00:04:30.655
|
| 310 |
+
viajan por la URL. La variable se llama
|
| 311 |
+
|
| 312 |
+
00:04:30.655 --> 00:04:32.895
|
| 313 |
+
search y el valor de la variable, en
|
| 314 |
+
|
| 315 |
+
00:04:32.895 --> 00:04:34.770
|
| 316 |
+
este caso, es chat GPT. Sin embargo, tú
|
| 317 |
+
|
| 318 |
+
00:04:34.770 --> 00:04:36.290
|
| 319 |
+
no puedes enviar tu nombre de usuario y
|
| 320 |
+
|
| 321 |
+
00:04:36.290 --> 00:04:38.290
|
| 322 |
+
tu contraseña por ahí, porque resulta que todo
|
| 323 |
+
|
| 324 |
+
00:04:38.290 --> 00:04:39.970
|
| 325 |
+
lo que envíes por get queda en el
|
| 326 |
+
|
| 327 |
+
00:04:39.970 --> 00:04:42.290
|
| 328 |
+
historial del navegador, así que sería un problema
|
| 329 |
+
|
| 330 |
+
00:04:42.290 --> 00:04:46.130
|
| 331 |
+
de seguridad que tu contraseña estuviera en texto
|
| 332 |
+
|
| 333 |
+
00:04:46.130 --> 00:04:48.615
|
| 334 |
+
plano guardada en el historial del navegador, ¿verdad?
|
| 335 |
+
|
| 336 |
+
00:04:48.854 --> 00:04:51.615
|
| 337 |
+
Hay un método para enviar estas variables de
|
| 338 |
+
|
| 339 |
+
00:04:51.615 --> 00:04:55.974
|
| 340 |
+
forma escondida, empaquetada en la cabecera de los
|
| 341 |
+
|
| 342 |
+
00:04:55.974 --> 00:04:58.134
|
| 343 |
+
envíos, de tal manera que nadie lo pueda
|
| 344 |
+
|
| 345 |
+
00:04:58.134 --> 00:05:00.375
|
| 346 |
+
ver cuando estén accediendo al historial. Imagina, por
|
| 347 |
+
|
| 348 |
+
00:05:00.375 --> 00:05:01.895
|
| 349 |
+
ejemplo, que estás en un café Internet o
|
| 350 |
+
|
| 351 |
+
00:05:01.895 --> 00:05:04.215
|
| 352 |
+
cosas por el estilo. Entonces, si tú tienes
|
| 353 |
+
|
| 354 |
+
00:05:04.215 --> 00:05:05.949
|
| 355 |
+
una una formulario que tiene un usuario y
|
| 356 |
+
|
| 357 |
+
00:05:05.949 --> 00:05:08.590
|
| 358 |
+
contraseña y le das el botón de login,
|
| 359 |
+
|
| 360 |
+
00:05:08.590 --> 00:05:11.949
|
| 361 |
+
tienes un método llamado post, P0ST. En el
|
| 362 |
+
|
| 363 |
+
00:05:11.949 --> 00:05:15.710
|
| 364 |
+
método post, ese formulario se encapsula en un
|
| 365 |
+
|
| 366 |
+
00:05:15.710 --> 00:05:18.110
|
| 367 |
+
paquetico que va en el header similar al
|
| 368 |
+
|
| 369 |
+
00:05:18.110 --> 00:05:20.685
|
| 370 |
+
user agent, los datos de tu navegador. Así
|
| 371 |
+
|
| 372 |
+
00:05:20.685 --> 00:05:22.444
|
| 373 |
+
el servidor se da cuenta, ah, este es
|
| 374 |
+
|
| 375 |
+
00:05:22.444 --> 00:05:24.465
|
| 376 |
+
el nombre de usuario Freddy y la contraseña
|
| 377 |
+
|
| 378 |
+
00:05:24.925 --> 00:05:28.044
|
| 379 |
+
tal, y la respuesta es una respuesta exclusiva
|
| 380 |
+
|
| 381 |
+
00:05:28.044 --> 00:05:29.884
|
| 382 |
+
para el nombre de usuario y contraseña que
|
| 383 |
+
|
| 384 |
+
00:05:29.884 --> 00:05:32.604
|
| 385 |
+
el servidor obtuvo. Los servidores pueden dar diferentes
|
| 386 |
+
|
| 387 |
+
00:05:32.604 --> 00:05:35.164
|
| 388 |
+
tipos de respuesta dependiendo de la petición que
|
| 389 |
+
|
| 390 |
+
00:05:35.164 --> 00:05:37.789
|
| 391 |
+
hagas. La respuesta más típica es que todo
|
| 392 |
+
|
| 393 |
+
00:05:37.789 --> 00:05:40.669
|
| 394 |
+
está bien. Estas respuestas son unos números que
|
| 395 |
+
|
| 396 |
+
00:05:40.669 --> 00:05:43.490
|
| 397 |
+
van en la cabecera de la respuesta. 200
|
| 398 |
+
|
| 399 |
+
00:05:43.710 --> 00:05:46.430
|
| 400 |
+
ok significa todo está bien. Pero seguro que
|
| 401 |
+
|
| 402 |
+
00:05:46.430 --> 00:05:49.735
|
| 403 |
+
tú has escuchado el error 404, ¿verdad? Cuando
|
| 404 |
+
|
| 405 |
+
00:05:49.735 --> 00:05:51.574
|
| 406 |
+
intentas acceder a un sitio web que no
|
| 407 |
+
|
| 408 |
+
00:05:51.574 --> 00:05:53.574
|
| 409 |
+
existe, a una dirección dentro del servidor que
|
| 410 |
+
|
| 411 |
+
00:05:53.574 --> 00:05:56.775
|
| 412 |
+
no existe, los servidores HTTP tienden a responder
|
| 413 |
+
|
| 414 |
+
00:05:56.775 --> 00:06:00.474
|
| 415 |
+
con not found, no existe, 404. Si el
|
| 416 |
+
|
| 417 |
+
00:06:00.535 --> 00:06:03.014
|
| 418 |
+
servidor está ocupado o el servidor está trabado
|
| 419 |
+
|
| 420 |
+
00:06:03.014 --> 00:06:04.294
|
| 421 |
+
o hay un error de configuración en el
|
| 422 |
+
|
| 423 |
+
00:06:04.294 --> 00:06:06.370
|
| 424 |
+
servidor, el error típico de error es el
|
| 425 |
+
|
| 426 |
+
00:06:06.370 --> 00:06:09.410
|
| 427 |
+
error 500. Y por último, cuando una dirección
|
| 428 |
+
|
| 429 |
+
00:06:09.410 --> 00:06:12.050
|
| 430 |
+
existía y ya no existe, pero apunta a
|
| 431 |
+
|
| 432 |
+
00:06:12.050 --> 00:06:14.690
|
| 433 |
+
un nuevo lugar, eso es una redirección, y
|
| 434 |
+
|
| 435 |
+
00:06:14.690 --> 00:06:17.349
|
| 436 |
+
eso se hace con la respuesta 300 redirect.
|
| 437 |
+
|
| 438 |
+
00:06:17.645 --> 00:06:19.565
|
| 439 |
+
Todo esto es verdad para páginas web, pero
|
| 440 |
+
|
| 441 |
+
00:06:19.565 --> 00:06:23.185
|
| 442 |
+
¿cómo funcionan los APIs? ¿Cómo funciona el mover
|
| 443 |
+
|
| 444 |
+
00:06:23.325 --> 00:06:26.925
|
| 445 |
+
archivos? ¿Cómo funciona el enviar correo? Con diferentes
|
| 446 |
+
|
| 447 |
+
00:06:26.925 --> 00:06:30.285
|
| 448 |
+
protocolos. Estos son los protocolos SMTP o Simple
|
| 449 |
+
|
| 450 |
+
00:06:30.285 --> 00:06:32.478
|
| 451 |
+
Message Transfer Protocol, que realmente está en desuso,
|
| 452 |
+
|
| 453 |
+
00:06:32.478 --> 00:06:32.745
|
| 454 |
+
el protocolo POP 3 o PostOffice Protocol 3,
|
| 455 |
+
|
| 456 |
+
00:06:32.745 --> 00:06:39.630
|
| 457 |
+
y por último, el protocolo o Internet Message
|
| 458 |
+
|
| 459 |
+
00:06:39.810 --> 00:06:43.450
|
| 460 |
+
Access Protocol. Estos son protocolos del formato de
|
| 461 |
+
|
| 462 |
+
00:06:43.450 --> 00:06:45.975
|
| 463 |
+
envío y recepción de correo electrónico. La realidad
|
| 464 |
+
|
| 465 |
+
00:06:45.975 --> 00:06:48.535
|
| 466 |
+
es que hoy en día muy pocas empresas
|
| 467 |
+
|
| 468 |
+
00:06:48.535 --> 00:06:51.014
|
| 469 |
+
manejan sus propios servidores de correo electrónico. Solo
|
| 470 |
+
|
| 471 |
+
00:06:51.014 --> 00:06:53.014
|
| 472 |
+
las empresas más grandes lo pueden hacer porque
|
| 473 |
+
|
| 474 |
+
00:06:53.014 --> 00:06:55.655
|
| 475 |
+
el correo electrónico se ha vuelto increíblemente complejo,
|
| 476 |
+
|
| 477 |
+
00:06:55.655 --> 00:06:57.335
|
| 478 |
+
y la gran mayoría de las compañías le
|
| 479 |
+
|
| 480 |
+
00:06:57.335 --> 00:06:59.540
|
| 481 |
+
delegan la gestión de su correo electrónico a
|
| 482 |
+
|
| 483 |
+
00:06:59.540 --> 00:07:02.420
|
| 484 |
+
2 empresas, a Microsoft con Outlook o a
|
| 485 |
+
|
| 486 |
+
00:07:02.420 --> 00:07:05.060
|
| 487 |
+
Google con Gmail. Pero ¿qué pasa cuando tengo
|
| 488 |
+
|
| 489 |
+
00:07:05.060 --> 00:07:08.260
|
| 490 |
+
un teléfono y tengo una aplicación móvil que
|
| 491 |
+
|
| 492 |
+
00:07:08.260 --> 00:07:10.580
|
| 493 |
+
tiene que cargarme unos datos? Para que los
|
| 494 |
+
|
| 495 |
+
00:07:10.580 --> 00:07:13.705
|
| 496 |
+
datos de esta app en este teléfono lleguen
|
| 497 |
+
|
| 498 |
+
00:07:13.705 --> 00:07:16.525
|
| 499 |
+
y sean representados, tengo que ir al servidor
|
| 500 |
+
|
| 501 |
+
00:07:16.585 --> 00:07:19.251
|
| 502 |
+
a buscar esos datos. Pero las aplicaciones no
|
| 503 |
+
|
| 504 |
+
00:07:19.251 --> 00:07:24.185
|
| 505 |
+
usan HTML, CSS ni JavaScript, usan lenguajes propios
|
| 506 |
+
|
| 507 |
+
00:07:24.185 --> 00:07:27.590
|
| 508 |
+
de aplicaciones nativas. En el caso de Android
|
| 509 |
+
|
| 510 |
+
00:07:27.590 --> 00:07:29.750
|
| 511 |
+
usan Java o Kotlin, y en el caso
|
| 512 |
+
|
| 513 |
+
00:07:29.750 --> 00:07:33.430
|
| 514 |
+
de iOS usan SWIFT o Object C. Entonces,
|
| 515 |
+
|
| 516 |
+
00:07:33.430 --> 00:07:35.350
|
| 517 |
+
al cargar los datos no necesitan cargar los
|
| 518 |
+
|
| 519 |
+
00:07:35.350 --> 00:07:38.630
|
| 520 |
+
típicos datos HTML, usan otras cosas. Usan unas
|
| 521 |
+
|
| 522 |
+
00:07:38.630 --> 00:07:41.905
|
| 523 |
+
estructuras de datos entre servidor y aplicación que
|
| 524 |
+
|
| 525 |
+
00:07:41.905 --> 00:07:45.604
|
| 526 |
+
se conocen como JSON o como XML. JSON
|
| 527 |
+
|
| 528 |
+
00:07:45.745 --> 00:07:48.945
|
| 529 |
+
significa JavaScript Object Notation, y es una forma
|
| 530 |
+
|
| 531 |
+
00:07:48.945 --> 00:07:51.104
|
| 532 |
+
de guardar datos. Puedes saber más en nuestros
|
| 533 |
+
|
| 534 |
+
00:07:51.104 --> 00:07:54.305
|
| 535 |
+
cursos de JavaScript en Platzi, y XML significa
|
| 536 |
+
|
| 537 |
+
00:07:54.305 --> 00:07:57.285
|
| 538 |
+
Extended Market Language, que es parecido a HTML,
|
| 539 |
+
|
| 540 |
+
00:07:57.740 --> 00:08:00.780
|
| 541 |
+
pero en vez de expresar etiquetas de representación
|
| 542 |
+
|
| 543 |
+
00:08:00.780 --> 00:08:05.260
|
| 544 |
+
de información visual, como títulos, cabeceras, etcétera, expresa
|
| 545 |
+
|
| 546 |
+
00:08:05.260 --> 00:08:07.980
|
| 547 |
+
cualquier tipo de estructura de datos normal. Solo
|
| 548 |
+
|
| 549 |
+
00:08:07.980 --> 00:08:10.480
|
| 550 |
+
ten en mente que aunque sea XML, JSON,
|
| 551 |
+
|
| 552 |
+
00:08:10.620 --> 00:08:14.115
|
| 553 |
+
HTML, JavaScript, CSS o lo que sea, sigue
|
| 554 |
+
|
| 555 |
+
00:08:14.115 --> 00:08:16.595
|
| 556 |
+
siendo lo mismo. Un cliente, una app, un
|
| 557 |
+
|
| 558 |
+
00:08:16.595 --> 00:08:18.755
|
| 559 |
+
navegador o lo que sea, hace una petición
|
| 560 |
+
|
| 561 |
+
00:08:18.755 --> 00:08:21.315
|
| 562 |
+
a través de un protocolo, típicamente el protocolo
|
| 563 |
+
|
| 564 |
+
00:08:21.315 --> 00:08:24.035
|
| 565 |
+
HTTP con la s de seguro, eso significa
|
| 566 |
+
|
| 567 |
+
00:08:24.035 --> 00:08:26.355
|
| 568 |
+
que se intercambiaron llaves de cifrado, como vimos
|
| 569 |
+
|
| 570 |
+
00:08:26.355 --> 00:08:29.770
|
| 571 |
+
en la clase de WhatsApp, que envía, entiende
|
| 572 |
+
|
| 573 |
+
00:08:29.770 --> 00:08:32.650
|
| 574 |
+
los datos y los devuelve de regreso al
|
| 575 |
+
|
| 576 |
+
00:08:32.650 --> 00:08:34.970
|
| 577 |
+
cliente. Y ese completo es el modelo cliente
|
| 578 |
+
|
| 579 |
+
00:08:34.970 --> 00:08:35.470
|
| 580 |
+
servidor.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/02-Redes e Internet/03-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Diferencias entre Windows Linux y MacOS.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3e43431492a87fc00cc6eb8d012889f7f1b8d9e40735dc22894f32ca39b4eaef
|
| 3 |
+
size 200114412
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Diferencias entre Windows Linux y MacOS.vtt
ADDED
|
@@ -0,0 +1,529 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.160 --> 00:00:03.120
|
| 4 |
+
Las primeras computadoras no tenían sistemas operativos. Tú
|
| 5 |
+
|
| 6 |
+
00:00:03.120 --> 00:00:06.100
|
| 7 |
+
llegabas con tu programa, que eran una serie
|
| 8 |
+
|
| 9 |
+
00:00:06.240 --> 00:00:09.679
|
| 10 |
+
de tarjetas perforadas donde cada huequito significaba algo
|
| 11 |
+
|
| 12 |
+
00:00:09.679 --> 00:00:12.320
|
| 13 |
+
en el lenguaje ensamblador de la unidad de
|
| 14 |
+
|
| 15 |
+
00:00:12.320 --> 00:00:15.245
|
| 16 |
+
procesamiento central o CPU. La insertaba a ser
|
| 17 |
+
|
| 18 |
+
00:00:15.245 --> 00:00:18.045
|
| 19 |
+
un escáner que escaneaba los datos, procesaba y
|
| 20 |
+
|
| 21 |
+
00:00:18.045 --> 00:00:20.765
|
| 22 |
+
luego entregaba el resultado en una impresora de
|
| 23 |
+
|
| 24 |
+
00:00:20.765 --> 00:00:23.244
|
| 25 |
+
matriz de punto. Luego terminó pasando que estas
|
| 26 |
+
|
| 27 |
+
00:00:23.244 --> 00:00:27.390
|
| 28 |
+
computadoras querían poder correr múltiples diferentes programas, así
|
| 29 |
+
|
| 30 |
+
00:00:27.390 --> 00:00:30.029
|
| 31 |
+
que empezó la primera generación de sistemas operativos
|
| 32 |
+
|
| 33 |
+
00:00:30.029 --> 00:00:33.790
|
| 34 |
+
que eran capaces de cargar diferentes programas y
|
| 35 |
+
|
| 36 |
+
00:00:33.790 --> 00:00:36.350
|
| 37 |
+
representarlos de maneras distintas. Con el pasar del
|
| 38 |
+
|
| 39 |
+
00:00:36.350 --> 00:00:38.670
|
| 40 |
+
tiempo, se empezaron a necesitar que estos programas
|
| 41 |
+
|
| 42 |
+
00:00:38.670 --> 00:00:41.835
|
| 43 |
+
ocurrieran en paralelo o que 1 pudiera acceder
|
| 44 |
+
|
| 45 |
+
00:00:41.835 --> 00:00:44.395
|
| 46 |
+
con su propio nombre de usuario y tener
|
| 47 |
+
|
| 48 |
+
00:00:44.395 --> 00:00:46.795
|
| 49 |
+
su propia definición de permisos, y esto fue
|
| 50 |
+
|
| 51 |
+
00:00:46.795 --> 00:00:48.875
|
| 52 |
+
lo que fue construyendo el concepto que hoy
|
| 53 |
+
|
| 54 |
+
00:00:48.875 --> 00:00:52.235
|
| 55 |
+
en día conocemos como sistema operativo. La historia
|
| 56 |
+
|
| 57 |
+
00:00:52.235 --> 00:00:55.289
|
| 58 |
+
de los sistemas operativos empieza en varios diferentes
|
| 59 |
+
|
| 60 |
+
00:00:55.289 --> 00:00:57.949
|
| 61 |
+
lugares del mundo y realmente en varias compañías.
|
| 62 |
+
|
| 63 |
+
00:00:58.170 --> 00:01:01.309
|
| 64 |
+
Los primeros sistemas operativos evolucionaron de algo llamado
|
| 65 |
+
|
| 66 |
+
00:01:01.370 --> 00:01:04.509
|
| 67 |
+
Unix, UNIX, que fue 1 de los primeros
|
| 68 |
+
|
| 69 |
+
00:01:04.650 --> 00:01:07.369
|
| 70 |
+
grandes sistemas operativos del lado del servidor. Toda
|
| 71 |
+
|
| 72 |
+
00:01:07.369 --> 00:01:10.005
|
| 73 |
+
la computación inicia en servidores porque primero las
|
| 74 |
+
|
| 75 |
+
00:01:10.005 --> 00:01:12.725
|
| 76 |
+
computadoras eran unas cosas gigantescas que tenían que
|
| 77 |
+
|
| 78 |
+
00:01:12.725 --> 00:01:16.104
|
| 79 |
+
ser guardadas en edificios grandísimos y que ocupaban
|
| 80 |
+
|
| 81 |
+
00:01:16.244 --> 00:01:19.045
|
| 82 |
+
múltiples cuartos. Unix es un sistema que permitía
|
| 83 |
+
|
| 84 |
+
00:01:19.045 --> 00:01:22.020
|
| 85 |
+
tener múltiples diferentes usuarios y que divide las
|
| 86 |
+
|
| 87 |
+
00:01:22.020 --> 00:01:23.960
|
| 88 |
+
cosas, como lo hemos visto en clases anteriores,
|
| 89 |
+
|
| 90 |
+
00:01:24.020 --> 00:01:26.180
|
| 91 |
+
en un kernel, en un sistema de archivos
|
| 92 |
+
|
| 93 |
+
00:01:26.180 --> 00:01:30.439
|
| 94 |
+
con usuarios, etcétera. Estos Unix se fueron fragmentando
|
| 95 |
+
|
| 96 |
+
00:01:30.740 --> 00:01:33.780
|
| 97 |
+
y teniendo diferentes mecanismos. 1 de los mecanismos
|
| 98 |
+
|
| 99 |
+
00:01:33.780 --> 00:01:36.600
|
| 100 |
+
más populares de Unix lo conocemos como BSD,
|
| 101 |
+
|
| 102 |
+
00:01:37.185 --> 00:01:39.505
|
| 103 |
+
que tiene un iconito de un diablito. Los
|
| 104 |
+
|
| 105 |
+
00:01:39.505 --> 00:01:42.305
|
| 106 |
+
sistemas BSD, que inicialmente fueron sistemas de investigación
|
| 107 |
+
|
| 108 |
+
00:01:42.305 --> 00:01:45.025
|
| 109 |
+
en la Universidad de Berkeley, luego fueron creciendo
|
| 110 |
+
|
| 111 |
+
00:01:45.025 --> 00:01:47.265
|
| 112 |
+
y aumentándose, y esto lleva a la creación
|
| 113 |
+
|
| 114 |
+
00:01:47.265 --> 00:01:49.240
|
| 115 |
+
de empresas como son Micro Systems o a
|
| 116 |
+
|
| 117 |
+
00:01:49.240 --> 00:01:52.479
|
| 118 |
+
sistemas gratuitos como Free BSD. Con el pasar
|
| 119 |
+
|
| 120 |
+
00:01:52.479 --> 00:01:54.560
|
| 121 |
+
del tiempo, de aquí va a salir el
|
| 122 |
+
|
| 123 |
+
00:01:54.560 --> 00:01:57.380
|
| 124 |
+
sistema operativo que hoy conocemos como Mac OS
|
| 125 |
+
|
| 126 |
+
00:01:57.920 --> 00:02:00.440
|
| 127 |
+
X. Luego está la otra rama de Unix,
|
| 128 |
+
|
| 129 |
+
00:02:00.440 --> 00:02:03.195
|
| 130 |
+
que es la rama que se volvió Linux.
|
| 131 |
+
|
| 132 |
+
00:02:03.355 --> 00:02:05.915
|
| 133 |
+
Unix, como sistema, creó una serie de reglas
|
| 134 |
+
|
| 135 |
+
00:02:05.915 --> 00:02:08.975
|
| 136 |
+
que luego varios investigadores, entre ellos Linux Torvalds,
|
| 137 |
+
|
| 138 |
+
00:02:09.435 --> 00:02:11.715
|
| 139 |
+
crearon y construyeron de una manera de software
|
| 140 |
+
|
| 141 |
+
00:02:11.715 --> 00:02:16.620
|
| 142 |
+
completamente abierto, montado sobre una teoría de que
|
| 143 |
+
|
| 144 |
+
00:02:16.620 --> 00:02:20.140
|
| 145 |
+
el software tenía que ser gratuito, abierto y
|
| 146 |
+
|
| 147 |
+
00:02:20.140 --> 00:02:22.160
|
| 148 |
+
completamente libre para todo el mundo, creada originalmente
|
| 149 |
+
|
| 150 |
+
00:02:22.220 --> 00:02:24.660
|
| 151 |
+
por alguien llamado Richard Stallmann, en una fundación
|
| 152 |
+
|
| 153 |
+
00:02:24.660 --> 00:02:28.495
|
| 154 |
+
llamada GNU, con una licencia especial llamada la
|
| 155 |
+
|
| 156 |
+
00:02:28.875 --> 00:02:31.614
|
| 157 |
+
licencia GPL, que era una licencia de software
|
| 158 |
+
|
| 159 |
+
00:02:32.075 --> 00:02:34.315
|
| 160 |
+
libre. De aquí nace toda una revolución que
|
| 161 |
+
|
| 162 |
+
00:02:34.315 --> 00:02:36.715
|
| 163 |
+
termina creando Linux, el sistema operativo más popular
|
| 164 |
+
|
| 165 |
+
00:02:36.715 --> 00:02:39.114
|
| 166 |
+
de la tierra. La gran mayoría de servidores
|
| 167 |
+
|
| 168 |
+
00:02:39.114 --> 00:02:41.390
|
| 169 |
+
allá afuera usan Linux, la gran mayoría de
|
| 170 |
+
|
| 171 |
+
00:02:41.390 --> 00:02:44.990
|
| 172 |
+
desarrolladores de software profesionales terminan usando Linux o
|
| 173 |
+
|
| 174 |
+
00:02:44.990 --> 00:02:47.390
|
| 175 |
+
Unix, de alguna manera, en sus carreras. Y
|
| 176 |
+
|
| 177 |
+
00:02:47.390 --> 00:02:50.610
|
| 178 |
+
de Linux nacen también varias compañías muy grandes,
|
| 179 |
+
|
| 180 |
+
00:02:51.070 --> 00:02:55.310
|
| 181 |
+
RedHat, Debian, Ubuntu y probablemente la versión de
|
| 182 |
+
|
| 183 |
+
00:02:55.310 --> 00:02:58.195
|
| 184 |
+
Linux más popular del mundo, que es Android,
|
| 185 |
+
|
| 186 |
+
00:02:58.195 --> 00:02:59.875
|
| 187 |
+
en la que corren la gran mayoría de
|
| 188 |
+
|
| 189 |
+
00:02:59.875 --> 00:03:02.515
|
| 190 |
+
teléfonos del planeta. El Mac viene de un
|
| 191 |
+
|
| 192 |
+
00:03:02.515 --> 00:03:05.395
|
| 193 |
+
lugar muy único. En los años setentas había
|
| 194 |
+
|
| 195 |
+
00:03:05.395 --> 00:03:08.375
|
| 196 |
+
un laboratorio en Silicon Valley llamado el laboratorio
|
| 197 |
+
|
| 198 |
+
00:03:08.515 --> 00:03:11.519
|
| 199 |
+
Zerox Park, en Palo Alto. Palo Alto es
|
| 200 |
+
|
| 201 |
+
00:03:11.519 --> 00:03:13.519
|
| 202 |
+
un pueblito al sur de San Francisco que,
|
| 203 |
+
|
| 204 |
+
00:03:13.519 --> 00:03:16.739
|
| 205 |
+
si ustedes van, eso parece un pueblito latinoamericano
|
| 206 |
+
|
| 207 |
+
00:03:17.200 --> 00:03:19.599
|
| 208 |
+
de piscinas balneario. Pero ahí también está muy
|
| 209 |
+
|
| 210 |
+
00:03:19.599 --> 00:03:22.080
|
| 211 |
+
cerca Stanford y otras universidades grandes, y estaba
|
| 212 |
+
|
| 213 |
+
00:03:22.080 --> 00:03:24.525
|
| 214 |
+
el laboratorio de Xerox. Hoy conocemos a Xerox
|
| 215 |
+
|
| 216 |
+
00:03:24.525 --> 00:03:26.605
|
| 217 |
+
como la empresa que hace impresoras, pero en
|
| 218 |
+
|
| 219 |
+
00:03:26.605 --> 00:03:28.685
|
| 220 |
+
la época Xerox tenían los laboratorios de computación
|
| 221 |
+
|
| 222 |
+
00:03:28.685 --> 00:03:31.245
|
| 223 |
+
más avanzados del mundo. En ese laboratorio, ellos
|
| 224 |
+
|
| 225 |
+
00:03:31.245 --> 00:03:35.084
|
| 226 |
+
construyeron la primera computadora con una interfaz gráfica
|
| 227 |
+
|
| 228 |
+
00:03:35.084 --> 00:03:38.590
|
| 229 |
+
basada en ventanas, y crearon el concepto que
|
| 230 |
+
|
| 231 |
+
00:03:38.590 --> 00:03:41.010
|
| 232 |
+
hoy en día todos usamos llamado el mouse.
|
| 233 |
+
|
| 234 |
+
00:03:41.390 --> 00:03:44.030
|
| 235 |
+
Le dieron un paseo a una persona que
|
| 236 |
+
|
| 237 |
+
00:03:44.030 --> 00:03:47.329
|
| 238 |
+
estaba construyendo en las primeras empresas de computación
|
| 239 |
+
|
| 240 |
+
00:03:47.709 --> 00:03:50.275
|
| 241 |
+
personal en la época, Steve Jobs y Steve
|
| 242 |
+
|
| 243 |
+
00:03:50.275 --> 00:03:52.935
|
| 244 |
+
Bostiack. Ellos vieron lo que estaba haciendo Zerox
|
| 245 |
+
|
| 246 |
+
00:03:53.155 --> 00:03:56.114
|
| 247 |
+
y, básicamente, se lo robaron y construyeron una
|
| 248 |
+
|
| 249 |
+
00:03:56.114 --> 00:03:59.094
|
| 250 |
+
versión del sistema operativo de Zerox de distribución
|
| 251 |
+
|
| 252 |
+
00:03:59.234 --> 00:04:02.594
|
| 253 |
+
masiva. Esta es la computadora Lisa. Lisa no
|
| 254 |
+
|
| 255 |
+
00:04:02.594 --> 00:04:04.819
|
| 256 |
+
fue un éxito comercial, pero las teorías de
|
| 257 |
+
|
| 258 |
+
00:04:04.819 --> 00:04:07.060
|
| 259 |
+
Lisa luego se aplicaron de una manera con
|
| 260 |
+
|
| 261 |
+
00:04:07.060 --> 00:04:10.760
|
| 262 |
+
mucho éxito comercial en el Macintosh, o Mac,
|
| 263 |
+
|
| 264 |
+
00:04:10.980 --> 00:04:13.640
|
| 265 |
+
que es la primera computadora con interfaz gráfica
|
| 266 |
+
|
| 267 |
+
00:04:13.700 --> 00:04:16.019
|
| 268 |
+
de distribución masiva en el planeta. Al tiempo
|
| 269 |
+
|
| 270 |
+
00:04:16.019 --> 00:04:18.019
|
| 271 |
+
que el laboratorio ZeroX Park había creado este
|
| 272 |
+
|
| 273 |
+
00:04:18.019 --> 00:04:21.964
|
| 274 |
+
sistema operativo visual, otra empresa creó un sistema
|
| 275 |
+
|
| 276 |
+
00:04:21.964 --> 00:04:25.565
|
| 277 |
+
operativo basado completamente en texto y controlado por
|
| 278 |
+
|
| 279 |
+
00:04:25.565 --> 00:04:28.605
|
| 280 |
+
disquetes, esos discos de plástico. Este sistema es
|
| 281 |
+
|
| 282 |
+
00:04:28.605 --> 00:04:31.645
|
| 283 |
+
conocido como CPM, Control Program Monitor, y fue
|
| 284 |
+
|
| 285 |
+
00:04:31.645 --> 00:04:35.030
|
| 286 |
+
construido por una empresa llamada Digital Research. Ellos
|
| 287 |
+
|
| 288 |
+
00:04:35.890 --> 00:04:38.210
|
| 289 |
+
desarrollan esta teoría de los sistemas operativos basados
|
| 290 |
+
|
| 291 |
+
00:04:38.210 --> 00:04:42.290
|
| 292 |
+
en texto controlados por disket en paralelo distinto
|
| 293 |
+
|
| 294 |
+
00:04:42.290 --> 00:04:45.570
|
| 295 |
+
a Unix. Unix también era controlado por texto,
|
| 296 |
+
|
| 297 |
+
00:04:45.570 --> 00:04:47.510
|
| 298 |
+
por una terminal y una línea de comandos,
|
| 299 |
+
|
| 300 |
+
00:04:47.695 --> 00:04:50.655
|
| 301 |
+
pero Unix estaba hecho para servidores. CPM es
|
| 302 |
+
|
| 303 |
+
00:04:50.655 --> 00:04:53.455
|
| 304 |
+
el padre de los sistemas operativos basados en
|
| 305 |
+
|
| 306 |
+
00:04:53.455 --> 00:04:56.815
|
| 307 |
+
computadoras. Otra persona decidió crear una versión más
|
| 308 |
+
|
| 309 |
+
00:04:56.815 --> 00:05:00.330
|
| 310 |
+
simple de este sistema operativo llamado 2, o
|
| 311 |
+
|
| 312 |
+
00:05:00.790 --> 00:05:04.870
|
| 313 |
+
2. Famosamente, Bill Gates, a través de la
|
| 314 |
+
|
| 315 |
+
00:05:04.870 --> 00:05:07.670
|
| 316 |
+
conexión que su mamá tenía como asistente del
|
| 317 |
+
|
| 318 |
+
00:05:07.670 --> 00:05:10.390
|
| 319 |
+
CEO de IBM, le vende a IBM la
|
| 320 |
+
|
| 321 |
+
00:05:10.390 --> 00:05:11.830
|
| 322 |
+
idea de que ellos ya tienen un sistema
|
| 323 |
+
|
| 324 |
+
00:05:11.830 --> 00:05:14.485
|
| 325 |
+
operativo, pero no la tenían. Fueron, le compraron
|
| 326 |
+
|
| 327 |
+
00:05:14.485 --> 00:05:17.125
|
| 328 |
+
2 a otra persona, y esa persona que
|
| 329 |
+
|
| 330 |
+
00:05:17.125 --> 00:05:20.245
|
| 331 |
+
les vende 2 termina vendiéndoles la cosa que
|
| 332 |
+
|
| 333 |
+
00:05:20.245 --> 00:05:23.525
|
| 334 |
+
se convierte en Microsoft 2, que por 50000
|
| 335 |
+
|
| 336 |
+
00:05:23.525 --> 00:05:25.685
|
| 337 |
+
dólares construye la semilla de 1 de los
|
| 338 |
+
|
| 339 |
+
00:05:25.685 --> 00:05:28.150
|
| 340 |
+
imperios más grandes de la historia, Microsoft. Similar
|
| 341 |
+
|
| 342 |
+
00:05:28.150 --> 00:05:30.150
|
| 343 |
+
a cuando en Zedox Park en Palo Alto
|
| 344 |
+
|
| 345 |
+
00:05:30.150 --> 00:05:32.390
|
| 346 |
+
los investigadores le dieron un paseo al equipo
|
| 347 |
+
|
| 348 |
+
00:05:32.390 --> 00:05:35.190
|
| 349 |
+
de Steve Jobs, Steve Jobs en Apple le
|
| 350 |
+
|
| 351 |
+
00:05:35.190 --> 00:05:37.510
|
| 352 |
+
dio un paseo a Bill Gates y al
|
| 353 |
+
|
| 354 |
+
00:05:37.510 --> 00:05:39.910
|
| 355 |
+
agente de Microsoft, y cuando Microsoft se dio
|
| 356 |
+
|
| 357 |
+
00:05:39.910 --> 00:05:41.350
|
| 358 |
+
cuenta de lo que Apple está haciendo con
|
| 359 |
+
|
| 360 |
+
00:05:41.350 --> 00:05:43.764
|
| 361 |
+
Mac, se fueron de regreso a la empresa
|
| 362 |
+
|
| 363 |
+
00:05:43.764 --> 00:05:47.044
|
| 364 |
+
y empezaron a alta velocidad a desarrollar un
|
| 365 |
+
|
| 366 |
+
00:05:47.044 --> 00:05:50.264
|
| 367 |
+
clon de este sistema operativo para computadoras IBM
|
| 368 |
+
|
| 369 |
+
00:05:50.405 --> 00:05:52.885
|
| 370 |
+
y para computadoras de escritorio genéricas que otros
|
| 371 |
+
|
| 372 |
+
00:05:52.885 --> 00:05:57.030
|
| 373 |
+
fabricantes pudieran fabricar. Mac, Apple fabricaba su propia
|
| 374 |
+
|
| 375 |
+
00:05:57.030 --> 00:05:59.669
|
| 376 |
+
computadora y su propio sistema operativo. Microsoft no
|
| 377 |
+
|
| 378 |
+
00:05:59.669 --> 00:06:01.990
|
| 379 |
+
fabricaba computadoras. Ese negocio se lo dejaba a
|
| 380 |
+
|
| 381 |
+
00:06:01.990 --> 00:06:04.550
|
| 382 |
+
Compact, a IBM y a otros fabricantes. Ellos
|
| 383 |
+
|
| 384 |
+
00:06:04.550 --> 00:06:07.030
|
| 385 |
+
solamente hacían sistemas operativos. Y con lo que
|
| 386 |
+
|
| 387 |
+
00:06:07.030 --> 00:06:10.395
|
| 388 |
+
aprendieron del Mac, crearon un sistema operativo gráfico
|
| 389 |
+
|
| 390 |
+
00:06:11.014 --> 00:06:14.375
|
| 391 |
+
clonando las ideas que habían extraído del Mac
|
| 392 |
+
|
| 393 |
+
00:06:14.375 --> 00:06:16.935
|
| 394 |
+
y este lo llamaron Windows. De ahí nace
|
| 395 |
+
|
| 396 |
+
00:06:16.935 --> 00:06:18.775
|
| 397 |
+
Windows 3, que eventualmente el más popular se
|
| 398 |
+
|
| 399 |
+
00:06:18.775 --> 00:06:21.180
|
| 400 |
+
vuelve Windows 3.1, y esto le da inicio
|
| 401 |
+
|
| 402 |
+
00:06:21.180 --> 00:06:22.700
|
| 403 |
+
a una de las guerras de la época
|
| 404 |
+
|
| 405 |
+
00:06:22.700 --> 00:06:25.180
|
| 406 |
+
que fue la guerra de los sistemas operativos.
|
| 407 |
+
|
| 408 |
+
00:06:25.180 --> 00:06:28.960
|
| 409 |
+
Windows 3.1, Windows 95, Windows Millenium, Windows 2000
|
| 410 |
+
|
| 411 |
+
00:06:29.420 --> 00:06:31.760
|
| 412 |
+
Professional, antes de eso el Windows que tenía
|
| 413 |
+
|
| 414 |
+
00:06:31.980 --> 00:06:35.425
|
| 415 |
+
Internet, Windows NT, entre muchos, muchos otros. Hoy
|
| 416 |
+
|
| 417 |
+
00:06:35.425 --> 00:06:37.745
|
| 418 |
+
en día tenemos 3 grandes sistemas operativos que
|
| 419 |
+
|
| 420 |
+
00:06:37.745 --> 00:06:40.145
|
| 421 |
+
dominan nuestra computación. Windows, que es la gran
|
| 422 |
+
|
| 423 |
+
00:06:40.145 --> 00:06:42.384
|
| 424 |
+
mayoría de las personas, Linux, que es la
|
| 425 |
+
|
| 426 |
+
00:06:42.384 --> 00:06:45.264
|
| 427 |
+
gran mayoría de los servidores, y MacOS. Estos
|
| 428 |
+
|
| 429 |
+
00:06:45.264 --> 00:06:48.465
|
| 430 |
+
3 sistemas operativos compiten y tienen, pues, diferentes
|
| 431 |
+
|
| 432 |
+
00:06:48.465 --> 00:06:50.860
|
| 433 |
+
usos. Windows es el sistema operativo de Microsoft,
|
| 434 |
+
|
| 435 |
+
00:06:50.919 --> 00:06:53.160
|
| 436 |
+
es la interfaz gráfica por excelencia, es el
|
| 437 |
+
|
| 438 |
+
00:06:53.160 --> 00:06:54.520
|
| 439 |
+
que más usan los gamers y es el
|
| 440 |
+
|
| 441 |
+
00:06:54.520 --> 00:06:56.680
|
| 442 |
+
más común. Linux es el más usado por
|
| 443 |
+
|
| 444 |
+
00:06:56.680 --> 00:07:00.120
|
| 445 |
+
desarrolladores de software profesionales, seguido de Mac, que
|
| 446 |
+
|
| 447 |
+
00:07:00.120 --> 00:07:02.632
|
| 448 |
+
también, al ser un sistema Unix, se parece
|
| 449 |
+
|
| 450 |
+
00:07:02.632 --> 00:07:05.890
|
| 451 |
+
mucho a Linux, son sistemas que tienen filosofías
|
| 452 |
+
|
| 453 |
+
00:07:05.890 --> 00:07:07.745
|
| 454 |
+
muy similares, y la diferencia es que Linux
|
| 455 |
+
|
| 456 |
+
00:07:07.745 --> 00:07:09.825
|
| 457 |
+
es un sistema operativo abierto donde Mac, a
|
| 458 |
+
|
| 459 |
+
00:07:09.825 --> 00:07:13.044
|
| 460 |
+
pesar de que usa el núcleo abierto de
|
| 461 |
+
|
| 462 |
+
00:07:13.105 --> 00:07:16.280
|
| 463 |
+
BSD, es un sistema cerrado. En sistemas operativos
|
| 464 |
+
|
| 465 |
+
00:07:16.280 --> 00:07:19.400
|
| 466 |
+
móviles también hay 2 grandes versiones, iOS, iPhone,
|
| 467 |
+
|
| 468 |
+
00:07:19.400 --> 00:07:22.280
|
| 469 |
+
que por cierto, iOS internamente es el mismo
|
| 470 |
+
|
| 471 |
+
00:07:22.280 --> 00:07:24.919
|
| 472 |
+
núcleo de un Mac, es VSD, es un
|
| 473 |
+
|
| 474 |
+
00:07:24.919 --> 00:07:28.099
|
| 475 |
+
sistema Unix como VSD. Y luego está Android,
|
| 476 |
+
|
| 477 |
+
00:07:28.199 --> 00:07:31.354
|
| 478 |
+
que internamente es un Linux. Hay diferentes versiones
|
| 479 |
+
|
| 480 |
+
00:07:31.354 --> 00:07:34.074
|
| 481 |
+
de Android, dependiendo del teléfono que compres, hay
|
| 482 |
+
|
| 483 |
+
00:07:34.074 --> 00:07:37.435
|
| 484 |
+
un solo iOS, porque es de Apple. Uses
|
| 485 |
+
|
| 486 |
+
00:07:37.435 --> 00:07:39.775
|
| 487 |
+
el que uses, mi sugerencia es que aprendas
|
| 488 |
+
|
| 489 |
+
00:07:39.835 --> 00:07:42.555
|
| 490 |
+
Linux. Toma ya mismo el curso de Linux
|
| 491 |
+
|
| 492 |
+
00:07:42.555 --> 00:07:44.889
|
| 493 |
+
de Platzi y determina línea de comandos. Los
|
| 494 |
+
|
| 495 |
+
00:07:44.889 --> 00:07:48.410
|
| 496 |
+
desarrolladores de software profesionales usan Linux, por lo
|
| 497 |
+
|
| 498 |
+
00:07:48.410 --> 00:07:50.009
|
| 499 |
+
menos en algún punto de sus vidas, y
|
| 500 |
+
|
| 501 |
+
00:07:50.009 --> 00:07:53.470
|
| 502 |
+
dominan Linux. Aprender Linux me cambió la vida.
|
| 503 |
+
|
| 504 |
+
00:07:53.770 --> 00:07:56.650
|
| 505 |
+
Todas las súper computadoras del planeta usan Linux,
|
| 506 |
+
|
| 507 |
+
00:07:56.650 --> 00:07:59.050
|
| 508 |
+
todos los servidores del planeta usan una versión
|
| 509 |
+
|
| 510 |
+
00:07:59.050 --> 00:08:02.645
|
| 511 |
+
de Linux. Linux es un conocimiento fundamental. Si
|
| 512 |
+
|
| 513 |
+
00:08:02.645 --> 00:08:04.565
|
| 514 |
+
esto te interesa y esto debe interesarte, no
|
| 515 |
+
|
| 516 |
+
00:08:04.565 --> 00:08:06.905
|
| 517 |
+
estarías en este punto de la clase, aprende
|
| 518 |
+
|
| 519 |
+
00:08:07.044 --> 00:08:09.125
|
| 520 |
+
Linux, hazlo por mí, hazlo por ti que
|
| 521 |
+
|
| 522 |
+
00:08:09.125 --> 00:08:11.445
|
| 523 |
+
cree en mí. Aprende Linux hoy, toma el
|
| 524 |
+
|
| 525 |
+
00:08:11.445 --> 00:08:14.645
|
| 526 |
+
curso Linux de Platzi, aprende Linux, Linux te
|
| 527 |
+
|
| 528 |
+
00:08:14.645 --> 00:08:15.243
|
| 529 |
+
cambia la vida.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/prework-linux/
|
| 2 |
+
https://platzi.com/cursos/servidores-linux/
|
| 3 |
+
https://platzi.com/cursos/terminal
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Permisos niveles de procesos y privilegios de ejecución.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a41be1ee616d245af48737286cc0e0ebefc3ac092f523727a8b18c57a81b56e2
|
| 3 |
+
size 153911323
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Permisos niveles de procesos y privilegios de ejecución.vtt
ADDED
|
@@ -0,0 +1,415 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.160 --> 00:00:03.620
|
| 4 |
+
Es muy normal que tengamos archivos en servidores
|
| 5 |
+
|
| 6 |
+
00:00:03.679 --> 00:00:05.440
|
| 7 |
+
o en computadoras que no son nuestras o
|
| 8 |
+
|
| 9 |
+
00:00:05.440 --> 00:00:08.500
|
| 10 |
+
que estamos compartiendo con otras personas. Por ejemplo,
|
| 11 |
+
|
| 12 |
+
00:00:08.559 --> 00:00:12.240
|
| 13 |
+
cuando tú compras un hosting de Digital Ocean,
|
| 14 |
+
|
| 15 |
+
00:00:12.240 --> 00:00:14.705
|
| 16 |
+
en Amazon Web Services, en donde sea, que
|
| 17 |
+
|
| 18 |
+
00:00:14.705 --> 00:00:17.265
|
| 19 |
+
realmente estás comprando es un pedacito de un
|
| 20 |
+
|
| 21 |
+
00:00:17.265 --> 00:00:19.744
|
| 22 |
+
computador que estás compartiendo con 10, 100000 o
|
| 23 |
+
|
| 24 |
+
00:00:19.744 --> 00:00:22.545
|
| 25 |
+
1000000 de otros usuarios. Así que necesitas una
|
| 26 |
+
|
| 27 |
+
00:00:22.545 --> 00:00:25.665
|
| 28 |
+
forma de gestionar los permisos, los accesos, los
|
| 29 |
+
|
| 30 |
+
00:00:25.665 --> 00:00:28.930
|
| 31 |
+
privilegios de ejecución, entre muchas otras cosas. Vamos
|
| 32 |
+
|
| 33 |
+
00:00:28.930 --> 00:00:31.150
|
| 34 |
+
a asumir, por ejemplo, que tenemos un archivo
|
| 35 |
+
|
| 36 |
+
00:00:31.570 --> 00:00:35.610
|
| 37 |
+
nómina punto HTML, y ese archivo queremos que
|
| 38 |
+
|
| 39 |
+
00:00:35.610 --> 00:00:38.250
|
| 40 |
+
tú, como el administrador, tengas permisos para todo,
|
| 41 |
+
|
| 42 |
+
00:00:38.250 --> 00:00:40.250
|
| 43 |
+
porque el administrador lo puede todo. El administrador
|
| 44 |
+
|
| 45 |
+
00:00:40.250 --> 00:00:42.410
|
| 46 |
+
es el dueño de la computadora, que es
|
| 47 |
+
|
| 48 |
+
00:00:42.410 --> 00:00:45.155
|
| 49 |
+
básicamente quien tiene el nombre de usuario de
|
| 50 |
+
|
| 51 |
+
00:00:45.155 --> 00:00:48.995
|
| 52 |
+
administrador y la contraseña administrador que permite acceder
|
| 53 |
+
|
| 54 |
+
00:00:48.995 --> 00:00:51.714
|
| 55 |
+
a toda la computadora. Luego tienes grupos de
|
| 56 |
+
|
| 57 |
+
00:00:51.714 --> 00:00:53.635
|
| 58 |
+
usuarios, entonces imagina que tienes un equipo de
|
| 59 |
+
|
| 60 |
+
00:00:53.635 --> 00:00:56.020
|
| 61 |
+
desarrolladores, lo vamos a llamar devs. Y por
|
| 62 |
+
|
| 63 |
+
00:00:56.020 --> 00:00:59.219
|
| 64 |
+
último está el público general, quienes deberían acceder
|
| 65 |
+
|
| 66 |
+
00:00:59.219 --> 00:01:02.920
|
| 67 |
+
al archivo. ¿Qué debería poder hacer el público?
|
| 68 |
+
|
| 69 |
+
00:01:02.980 --> 00:01:05.319
|
| 70 |
+
Leer el archivo, pero no lo pueden modificar,
|
| 71 |
+
|
| 72 |
+
00:01:05.780 --> 00:01:08.259
|
| 73 |
+
no lo pueden borrar, no lo pueden volver
|
| 74 |
+
|
| 75 |
+
00:01:08.259 --> 00:01:11.475
|
| 76 |
+
un ejecutable, es decir, que cuyo código corra
|
| 77 |
+
|
| 78 |
+
00:01:11.475 --> 00:01:13.875
|
| 79 |
+
en la CPU. Eso no lo puede hacer
|
| 80 |
+
|
| 81 |
+
00:01:13.875 --> 00:01:15.795
|
| 82 |
+
el público, solamente lo pueden leer. ¿Qué deberían
|
| 83 |
+
|
| 84 |
+
00:01:15.795 --> 00:01:18.455
|
| 85 |
+
poder hacer los devs? Los devs, los desarrolladores
|
| 86 |
+
|
| 87 |
+
00:01:18.674 --> 00:01:21.955
|
| 88 |
+
del equipo, deberían poder leerlo y escribirlo. Y,
|
| 89 |
+
|
| 90 |
+
00:01:21.955 --> 00:01:24.115
|
| 91 |
+
por último, el administrador debería poder hacer cualquier
|
| 92 |
+
|
| 93 |
+
00:01:24.115 --> 00:01:26.660
|
| 94 |
+
cosa. En los sistemas tipo Unix, como Linux,
|
| 95 |
+
|
| 96 |
+
00:01:27.280 --> 00:01:31.440
|
| 97 |
+
Mac, etcétera, típicamente hay 3 grandes permisos. El
|
| 98 |
+
|
| 99 |
+
00:01:31.440 --> 00:01:33.680
|
| 100 |
+
permiso de lectura, que se escribe con letra
|
| 101 |
+
|
| 102 |
+
00:01:33.680 --> 00:01:36.500
|
| 103 |
+
r minúscula, el de escritura, con la w
|
| 104 |
+
|
| 105 |
+
00:01:36.720 --> 00:01:39.525
|
| 106 |
+
minúscula, o el de ejecución, con la x.
|
| 107 |
+
|
| 108 |
+
00:01:39.845 --> 00:01:42.505
|
| 109 |
+
La ejecución es la capacidad de que el
|
| 110 |
+
|
| 111 |
+
00:01:42.805 --> 00:01:46.085
|
| 112 |
+
contenido de ese archivo corra como un archivo
|
| 113 |
+
|
| 114 |
+
00:01:46.085 --> 00:01:48.965
|
| 115 |
+
ejecutable, como una aplicación. En Windows, por ejemplo,
|
| 116 |
+
|
| 117 |
+
00:01:48.965 --> 00:01:51.285
|
| 118 |
+
eso se logra cambiando la extensión del archivo
|
| 119 |
+
|
| 120 |
+
00:01:51.285 --> 00:01:54.000
|
| 121 |
+
a una extensión punto exe. Cuando tú la
|
| 122 |
+
|
| 123 |
+
00:01:54.000 --> 00:01:56.560
|
| 124 |
+
corres, te va a sacar un anuncio del
|
| 125 |
+
|
| 126 |
+
00:01:56.560 --> 00:01:58.479
|
| 127 |
+
sistema operativo de Microsoft Windows, que te va
|
| 128 |
+
|
| 129 |
+
00:01:58.479 --> 00:02:00.079
|
| 130 |
+
a decir, ¿estás seguro que quieres correr esta
|
| 131 |
+
|
| 132 |
+
00:02:00.079 --> 00:02:03.360
|
| 133 |
+
aplicación? Algunos desarrolladores de software le piden permiso
|
| 134 |
+
|
| 135 |
+
00:02:03.360 --> 00:02:05.360
|
| 136 |
+
a Microsoft para que Microsoft les dé una
|
| 137 |
+
|
| 138 |
+
00:02:05.360 --> 00:02:07.439
|
| 139 |
+
llave especial de cifrado que le pueden pegar
|
| 140 |
+
|
| 141 |
+
00:02:07.439 --> 00:02:09.595
|
| 142 |
+
a sus aplicaciones, de tal manera que esa
|
| 143 |
+
|
| 144 |
+
00:02:09.595 --> 00:02:12.475
|
| 145 |
+
advertencia no ocurra. En Mac pasa lo mismo
|
| 146 |
+
|
| 147 |
+
00:02:12.475 --> 00:02:15.035
|
| 148 |
+
con Apple, cuando, por ejemplo, ustedes corren una
|
| 149 |
+
|
| 150 |
+
00:02:15.035 --> 00:02:18.875
|
| 151 |
+
aplicación descargada de la tienda de aplicaciones de
|
| 152 |
+
|
| 153 |
+
00:02:18.875 --> 00:02:21.675
|
| 154 |
+
Mac, la App Store. En los sistemas operativos
|
| 155 |
+
|
| 156 |
+
00:02:21.675 --> 00:02:23.995
|
| 157 |
+
móviles, como Android o iPhone, esto no es
|
| 158 |
+
|
| 159 |
+
00:02:23.995 --> 00:02:27.750
|
| 160 |
+
necesario porque tanto Google como Apple revisaron las
|
| 161 |
+
|
| 162 |
+
00:02:28.129 --> 00:02:30.150
|
| 163 |
+
aplicaciones antes de que salieran a la luz.
|
| 164 |
+
|
| 165 |
+
00:02:30.690 --> 00:02:32.290
|
| 166 |
+
Pero en Linux, la forma en la que
|
| 167 |
+
|
| 168 |
+
00:02:32.290 --> 00:02:35.370
|
| 169 |
+
se hace es colocándole la x en los
|
| 170 |
+
|
| 171 |
+
00:02:35.370 --> 00:02:38.230
|
| 172 |
+
permisos del archivo. ¿Cómo funciona esto? Esto funciona
|
| 173 |
+
|
| 174 |
+
00:02:38.450 --> 00:02:40.935
|
| 175 |
+
en el sistema operativo. Cuando tú estás, por
|
| 176 |
+
|
| 177 |
+
00:02:40.935 --> 00:02:42.855
|
| 178 |
+
ejemplo, en la terminal o línea de comandos,
|
| 179 |
+
|
| 180 |
+
00:02:42.855 --> 00:02:44.615
|
| 181 |
+
te recomiendo que tomes el curso de terminal
|
| 182 |
+
|
| 183 |
+
00:02:44.615 --> 00:02:47.735
|
| 184 |
+
línea de comandos y que aprendas Linux. Vas
|
| 185 |
+
|
| 186 |
+
00:02:47.735 --> 00:02:49.255
|
| 187 |
+
a ver que en la lista de los
|
| 188 |
+
|
| 189 |
+
00:02:49.255 --> 00:02:52.135
|
| 190 |
+
archivos a veces salen estas letras, RWX, en
|
| 191 |
+
|
| 192 |
+
00:02:52.135 --> 00:02:54.500
|
| 193 |
+
diferentes grupos. Entonces, yo podría decir que el
|
| 194 |
+
|
| 195 |
+
00:02:54.500 --> 00:02:58.260
|
| 196 |
+
administrador tiene permisos RWX para el archivo nómina
|
| 197 |
+
|
| 198 |
+
00:02:58.260 --> 00:03:00.420
|
| 199 |
+
punto HTML, o sea, que lo puede leer,
|
| 200 |
+
|
| 201 |
+
00:03:00.420 --> 00:03:02.420
|
| 202 |
+
escribir y que lo puede volver un ejecutable.
|
| 203 |
+
|
| 204 |
+
00:03:02.420 --> 00:03:05.700
|
| 205 |
+
Pero el equipo devs solamente tiene permisos RW,
|
| 206 |
+
|
| 207 |
+
00:03:05.700 --> 00:03:08.445
|
| 208 |
+
de lectura y de escritura. Y por último,
|
| 209 |
+
|
| 210 |
+
00:03:08.445 --> 00:03:10.605
|
| 211 |
+
que el equipo del público, o sea, la
|
| 212 |
+
|
| 213 |
+
00:03:10.605 --> 00:03:13.085
|
| 214 |
+
gente pública, cualquier persona que accede al servidor,
|
| 215 |
+
|
| 216 |
+
00:03:13.085 --> 00:03:15.885
|
| 217 |
+
lo puede leer, pero nada más. Existen diferentes
|
| 218 |
+
|
| 219 |
+
00:03:15.885 --> 00:03:17.805
|
| 220 |
+
comandos en el mundo de Linux o de
|
| 221 |
+
|
| 222 |
+
00:03:17.805 --> 00:03:20.060
|
| 223 |
+
Unix que permiten hacer este cambio. 1 de
|
| 224 |
+
|
| 225 |
+
00:03:20.060 --> 00:03:22.560
|
| 226 |
+
los comandos más populares es el comando CHMOD,
|
| 227 |
+
|
| 228 |
+
00:03:24.140 --> 00:03:27.740
|
| 229 |
+
o change mode, CHMOD. CHMOD es un comando
|
| 230 |
+
|
| 231 |
+
00:03:27.740 --> 00:03:29.660
|
| 232 |
+
al que yo le agrego unos números y
|
| 233 |
+
|
| 234 |
+
00:03:29.660 --> 00:03:33.055
|
| 235 |
+
esos números representan el RWX. Para saber cómo
|
| 236 |
+
|
| 237 |
+
00:03:33.055 --> 00:03:35.295
|
| 238 |
+
funcionan esos números, mi recomendación toma el curso
|
| 239 |
+
|
| 240 |
+
00:03:35.295 --> 00:03:37.295
|
| 241 |
+
de Linux, eso es mucho más profundo. Lo
|
| 242 |
+
|
| 243 |
+
00:03:37.295 --> 00:03:38.575
|
| 244 |
+
que tienes que saber en este momento es
|
| 245 |
+
|
| 246 |
+
00:03:38.575 --> 00:03:40.835
|
| 247 |
+
que existen grupos de usuario que tienen diferentes
|
| 248 |
+
|
| 249 |
+
00:03:41.055 --> 00:03:43.935
|
| 250 |
+
permisos de lectura, escritura y ejecución de archivos,
|
| 251 |
+
|
| 252 |
+
00:03:43.935 --> 00:03:46.580
|
| 253 |
+
y esos permisos los determina el administrador. Como
|
| 254 |
+
|
| 255 |
+
00:03:46.580 --> 00:03:49.159
|
| 256 |
+
dato curioso, en los sistemas Unix o Linux,
|
| 257 |
+
|
| 258 |
+
00:03:49.379 --> 00:03:51.379
|
| 259 |
+
los permisos de administrador se pueden invocar en
|
| 260 |
+
|
| 261 |
+
00:03:51.379 --> 00:03:53.780
|
| 262 |
+
cualquier momento agregando antes de la ejecución de
|
| 263 |
+
|
| 264 |
+
00:03:53.780 --> 00:03:56.040
|
| 265 |
+
un comando un comando que se llama sudo,
|
| 266 |
+
|
| 267 |
+
00:03:56.180 --> 00:03:59.700
|
| 268 |
+
SUD0. Siempre que colocas sudo, espacio, y un
|
| 269 |
+
|
| 270 |
+
00:03:59.700 --> 00:04:01.555
|
| 271 |
+
comando, el sistema operativo te va a preguntar
|
| 272 |
+
|
| 273 |
+
00:04:01.555 --> 00:04:04.875
|
| 274 |
+
la contraseña del administrador, y una vez la
|
| 275 |
+
|
| 276 |
+
00:04:04.875 --> 00:04:07.195
|
| 277 |
+
colocas, todos los comandos que coloques después de
|
| 278 |
+
|
| 279 |
+
00:04:07.195 --> 00:04:10.075
|
| 280 |
+
la palabra sudo se ejecutan como administrador. Esa
|
| 281 |
+
|
| 282 |
+
00:04:10.075 --> 00:04:12.075
|
| 283 |
+
es una forma de ejecutar comandos como administrador
|
| 284 |
+
|
| 285 |
+
00:04:12.075 --> 00:04:16.110
|
| 286 |
+
sin entrar el usuario de administrador, desde cualquier
|
| 287 |
+
|
| 288 |
+
00:04:16.110 --> 00:04:18.350
|
| 289 |
+
usuario. En Windows o en Mac lo puedes
|
| 290 |
+
|
| 291 |
+
00:04:18.350 --> 00:04:20.750
|
| 292 |
+
hacer en la interfaz gráfica, le das clic
|
| 293 |
+
|
| 294 |
+
00:04:20.750 --> 00:04:23.230
|
| 295 |
+
derecho a un archivo, le des información y
|
| 296 |
+
|
| 297 |
+
00:04:23.230 --> 00:04:26.130
|
| 298 |
+
vas a encontrar diferentes interfaces que te indican
|
| 299 |
+
|
| 300 |
+
00:04:26.350 --> 00:04:28.190
|
| 301 |
+
cuáles son los permisos de acceso a cada
|
| 302 |
+
|
| 303 |
+
00:04:28.190 --> 00:04:30.705
|
| 304 |
+
archivo y su nivel de privilegios. Un privilegio
|
| 305 |
+
|
| 306 |
+
00:04:30.764 --> 00:04:33.005
|
| 307 |
+
es el poder ejecutarse como aplicación o el
|
| 308 |
+
|
| 309 |
+
00:04:33.005 --> 00:04:36.785
|
| 310 |
+
no ejecutarse, el poder editarlo o solamente acceder
|
| 311 |
+
|
| 312 |
+
00:04:36.845 --> 00:04:39.805
|
| 313 |
+
él en modo lectura. Los archivos típicamente son
|
| 314 |
+
|
| 315 |
+
00:04:39.805 --> 00:04:42.044
|
| 316 |
+
de un dueño, el dueño es el usuario
|
| 317 |
+
|
| 318 |
+
00:04:42.044 --> 00:04:43.965
|
| 319 |
+
que lo creó. Si los devs crearon el
|
| 320 |
+
|
| 321 |
+
00:04:43.965 --> 00:04:45.720
|
| 322 |
+
archivo, el dueño va a ser los devs.
|
| 323 |
+
|
| 324 |
+
00:04:45.800 --> 00:04:47.880
|
| 325 |
+
Si tenemos otro tipo de usuario que crea
|
| 326 |
+
|
| 327 |
+
00:04:47.880 --> 00:04:49.160
|
| 328 |
+
un archivo, pues ese va a ser el
|
| 329 |
+
|
| 330 |
+
00:04:49.160 --> 00:04:51.800
|
| 331 |
+
dueño. Dependiendo del dueño del archivo, es la
|
| 332 |
+
|
| 333 |
+
00:04:51.800 --> 00:04:53.720
|
| 334 |
+
capacidad de acceso al archivo y va a
|
| 335 |
+
|
| 336 |
+
00:04:53.720 --> 00:04:55.660
|
| 337 |
+
depender de quién tenga el usuario y contraseña
|
| 338 |
+
|
| 339 |
+
00:04:56.120 --> 00:04:58.725
|
| 340 |
+
dentro del sistema operativo que acceda al archivo.
|
| 341 |
+
|
| 342 |
+
00:04:58.965 --> 00:05:00.985
|
| 343 |
+
Es posible cambiar los dueños de los archivos.
|
| 344 |
+
|
| 345 |
+
00:05:01.205 --> 00:05:03.525
|
| 346 |
+
En Linux se hace con CHO 1, en
|
| 347 |
+
|
| 348 |
+
00:05:03.525 --> 00:05:05.205
|
| 349 |
+
Windows y en Mac se hacen la interfaz
|
| 350 |
+
|
| 351 |
+
00:05:05.205 --> 00:05:08.245
|
| 352 |
+
gráfica dándole clic derecho al archivo y cambiando
|
| 353 |
+
|
| 354 |
+
00:05:08.245 --> 00:05:11.045
|
| 355 |
+
sus propiedades. Como práctica general de seguridad, 1
|
| 356 |
+
|
| 357 |
+
00:05:11.045 --> 00:05:13.960
|
| 358 |
+
debería asegurarse que los archivos siempre tengan la
|
| 359 |
+
|
| 360 |
+
00:05:13.960 --> 00:05:17.480
|
| 361 |
+
mínima cantidad de permisos y privilegios. Entre más
|
| 362 |
+
|
| 363 |
+
00:05:17.480 --> 00:05:19.880
|
| 364 |
+
permisos y privilegios tenga un archivo, más problemas
|
| 365 |
+
|
| 366 |
+
00:05:19.880 --> 00:05:22.940
|
| 367 |
+
de seguridad puede traer ese archivo. Realmente aquí
|
| 368 |
+
|
| 369 |
+
00:05:23.240 --> 00:05:26.415
|
| 370 |
+
la única excepción es Windows. Windows, 1 le
|
| 371 |
+
|
| 372 |
+
00:05:26.415 --> 00:05:28.014
|
| 373 |
+
puede dar clic derecho a un archivo y
|
| 374 |
+
|
| 375 |
+
00:05:28.014 --> 00:05:31.074
|
| 376 |
+
decirle correr el archivo como administrador, es el
|
| 377 |
+
|
| 378 |
+
00:05:31.215 --> 00:05:33.935
|
| 379 |
+
equivalente al comando sudo en Linux o en
|
| 380 |
+
|
| 381 |
+
00:05:33.935 --> 00:05:36.495
|
| 382 |
+
Mac. En Windows casi nada ocurre en la
|
| 383 |
+
|
| 384 |
+
00:05:36.495 --> 00:05:38.735
|
| 385 |
+
terminal y casi todo ocurre en la interfaz
|
| 386 |
+
|
| 387 |
+
00:05:38.735 --> 00:05:41.360
|
| 388 |
+
gráfica. Y en Windows los ejecutables tienen que
|
| 389 |
+
|
| 390 |
+
00:05:41.360 --> 00:05:43.940
|
| 391 |
+
tener un formato especial conocido como el .exe,
|
| 392 |
+
|
| 393 |
+
00:05:44.240 --> 00:05:46.080
|
| 394 |
+
donde en Linux o en Mac tú puedes
|
| 395 |
+
|
| 396 |
+
00:05:46.080 --> 00:05:48.080
|
| 397 |
+
tener un script de Python que se puede
|
| 398 |
+
|
| 399 |
+
00:05:48.080 --> 00:05:50.479
|
| 400 |
+
volver un ejecutable perfectamente a pesar de que
|
| 401 |
+
|
| 402 |
+
00:05:50.479 --> 00:05:52.575
|
| 403 |
+
internamente sea un archivo de texto. Esto va
|
| 404 |
+
|
| 405 |
+
00:05:52.575 --> 00:05:55.135
|
| 406 |
+
a depender mucho del formato interno del archivo
|
| 407 |
+
|
| 408 |
+
00:05:55.135 --> 00:05:56.655
|
| 409 |
+
de lo cual vamos a hablar más a
|
| 410 |
+
|
| 411 |
+
00:05:56.655 --> 00:05:58.495
|
| 412 |
+
fondo en la próxima clase, nuestra clase de
|
| 413 |
+
|
| 414 |
+
00:05:58.495 --> 00:05:59.555
|
| 415 |
+
formatos de archivos.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/02-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Archivos Metadatos cabeceras y extensiones.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:edc97f357b10c0a32cf695dc7db263bda1c9bdfd2f18212638d0a60846c450d5
|
| 3 |
+
size 211910594
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Archivos Metadatos cabeceras y extensiones.vtt
ADDED
|
@@ -0,0 +1,610 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.080 --> 00:00:01.920
|
| 4 |
+
Los formatos de archivos son la forma en
|
| 5 |
+
|
| 6 |
+
00:00:01.920 --> 00:00:04.160
|
| 7 |
+
la que dentro de los sistemas operativos se
|
| 8 |
+
|
| 9 |
+
00:00:04.160 --> 00:00:06.420
|
| 10 |
+
identifica qué es lo que es un archivo,
|
| 11 |
+
|
| 12 |
+
00:00:06.480 --> 00:00:09.120
|
| 13 |
+
porque algunos son una imagen, un archivo de
|
| 14 |
+
|
| 15 |
+
00:00:09.120 --> 00:00:12.320
|
| 16 |
+
Word, un archivo de Excel, un video, un
|
| 17 |
+
|
| 18 |
+
00:00:12.320 --> 00:00:14.799
|
| 19 |
+
PDF, un archivo de texto, y no es
|
| 20 |
+
|
| 21 |
+
00:00:14.799 --> 00:00:18.935
|
| 22 |
+
necesariamente claro. Existen múltiples mecanismos para definir qué
|
| 23 |
+
|
| 24 |
+
00:00:18.935 --> 00:00:20.855
|
| 25 |
+
es un tipo de archivo por dentro. El
|
| 26 |
+
|
| 27 |
+
00:00:20.855 --> 00:00:23.275
|
| 28 |
+
más común es usar la extensión del archivo.
|
| 29 |
+
|
| 30 |
+
00:00:23.335 --> 00:00:25.175
|
| 31 |
+
Si en el nombre del archivo termina en
|
| 32 |
+
|
| 33 |
+
00:00:25.175 --> 00:00:27.815
|
| 34 |
+
punto TXT, es un texto. Punto doc es
|
| 35 |
+
|
| 36 |
+
00:00:27.815 --> 00:00:30.535
|
| 37 |
+
un archivo de Word, punto HTML es un
|
| 38 |
+
|
| 39 |
+
00:00:30.535 --> 00:00:34.340
|
| 40 |
+
HTML. Sin embargo, esto no es un método
|
| 41 |
+
|
| 42 |
+
00:00:34.340 --> 00:00:36.420
|
| 43 |
+
muy efectivo. En los últimos años, los sistemas
|
| 44 |
+
|
| 45 |
+
00:00:36.420 --> 00:00:39.700
|
| 46 |
+
operativos están escondiendo las extensiones de los sistemas
|
| 47 |
+
|
| 48 |
+
00:00:39.700 --> 00:00:42.280
|
| 49 |
+
de archivos, hay que trabajar para poder mostrarlas.
|
| 50 |
+
|
| 51 |
+
00:00:42.580 --> 00:00:44.420
|
| 52 |
+
Te recomiendo, si eres una persona que está
|
| 53 |
+
|
| 54 |
+
00:00:44.420 --> 00:00:46.545
|
| 55 |
+
tomando este curso, que vayas ya mismo a
|
| 56 |
+
|
| 57 |
+
00:00:46.545 --> 00:00:49.825
|
| 58 |
+
tu sistema operativo y muestres las extensiones. Esto
|
| 59 |
+
|
| 60 |
+
00:00:49.825 --> 00:00:50.865
|
| 61 |
+
no lo vas a poder hacer en un
|
| 62 |
+
|
| 63 |
+
00:00:50.865 --> 00:00:52.785
|
| 64 |
+
teléfono, pero sí se puede hacer en Windows,
|
| 65 |
+
|
| 66 |
+
00:00:52.785 --> 00:00:54.545
|
| 67 |
+
en Linux o en Mac. Si ya estás
|
| 68 |
+
|
| 69 |
+
00:00:54.545 --> 00:00:56.325
|
| 70 |
+
en este punto del curso, no hay ninguna
|
| 71 |
+
|
| 72 |
+
00:00:56.545 --> 00:00:58.405
|
| 73 |
+
excusa que haga que tú no puedas lograrlo,
|
| 74 |
+
|
| 75 |
+
00:00:58.465 --> 00:01:01.010
|
| 76 |
+
ve y lógralo. La segunda forma de saber
|
| 77 |
+
|
| 78 |
+
00:01:01.010 --> 00:01:03.010
|
| 79 |
+
cómo está estructurado un archivo por dentro es
|
| 80 |
+
|
| 81 |
+
00:01:03.010 --> 00:01:07.730
|
| 82 |
+
leyendo las primeras 4 letras del archivo. Cuando
|
| 83 |
+
|
| 84 |
+
00:01:07.730 --> 00:01:09.490
|
| 85 |
+
ustedes abren un archivo, si es un archivo
|
| 86 |
+
|
| 87 |
+
00:01:09.490 --> 00:01:11.330
|
| 88 |
+
de texto, puede que las primeras 4 letras
|
| 89 |
+
|
| 90 |
+
00:01:11.330 --> 00:01:13.994
|
| 91 |
+
sean un texto cualquiera. En ese caso, el
|
| 92 |
+
|
| 93 |
+
00:01:13.994 --> 00:01:16.715
|
| 94 |
+
sistema operativo simplemente asume esto es texto o
|
| 95 |
+
|
| 96 |
+
00:01:16.715 --> 00:01:19.455
|
| 97 |
+
no sé qué es, pero con archivos estructurados,
|
| 98 |
+
|
| 99 |
+
00:01:19.994 --> 00:01:24.494
|
| 100 |
+
como imágenes, como PDFs, las 4 primeras letras
|
| 101 |
+
|
| 102 |
+
00:01:24.595 --> 00:01:27.274
|
| 103 |
+
tienden a ser una definición de lo que
|
| 104 |
+
|
| 105 |
+
00:01:27.274 --> 00:01:28.700
|
| 106 |
+
el archivo es. Esto que ustedes están viendo
|
| 107 |
+
|
| 108 |
+
00:01:28.700 --> 00:01:31.660
|
| 109 |
+
en pantalla es cómo un archivo binario se
|
| 110 |
+
|
| 111 |
+
00:01:31.660 --> 00:01:34.540
|
| 112 |
+
ve por dentro. Del lado derecho ustedes ven
|
| 113 |
+
|
| 114 |
+
00:01:34.540 --> 00:01:36.540
|
| 115 |
+
un texto que es medio ilegible, esa es
|
| 116 |
+
|
| 117 |
+
00:01:36.540 --> 00:01:39.820
|
| 118 |
+
la representación ASCII o la representación en texto
|
| 119 |
+
|
| 120 |
+
00:01:39.820 --> 00:01:42.348
|
| 121 |
+
normal del archivo binario. Y luego en el
|
| 122 |
+
|
| 123 |
+
00:01:42.348 --> 00:01:44.135
|
| 124 |
+
centro ustedes están viendo lo que se llama
|
| 125 |
+
|
| 126 |
+
00:01:44.135 --> 00:01:48.615
|
| 127 |
+
una representación hexadecimal. Cada byte se expresa como
|
| 128 |
+
|
| 129 |
+
00:01:48.615 --> 00:01:51.335
|
| 130 |
+
un par de números hexadecimales, porque con 2
|
| 131 |
+
|
| 132 |
+
00:01:51.335 --> 00:01:55.120
|
| 133 |
+
números hexadecimales, 2 números de 16 dígitos, puedo
|
| 134 |
+
|
| 135 |
+
00:01:55.120 --> 00:01:57.200
|
| 136 |
+
expresar el contenido de un byte. Ahí van
|
| 137 |
+
|
| 138 |
+
00:01:57.200 --> 00:01:59.280
|
| 139 |
+
a encontrar que los 4 primeros bytes, o
|
| 140 |
+
|
| 141 |
+
00:01:59.280 --> 00:02:01.040
|
| 142 |
+
las 4 primeras letras, en el caso de
|
| 143 |
+
|
| 144 |
+
00:02:01.040 --> 00:02:05.620
|
| 145 |
+
un PNG, son punto PNG. Esos 4 primeros
|
| 146 |
+
|
| 147 |
+
00:02:05.920 --> 00:02:09.275
|
| 148 |
+
caracteres, esos 4 primeros bytes son la cabecera
|
| 149 |
+
|
| 150 |
+
00:02:09.275 --> 00:02:11.275
|
| 151 |
+
del archivo y son el número mágico que
|
| 152 |
+
|
| 153 |
+
00:02:11.275 --> 00:02:13.755
|
| 154 |
+
me indica, esto es un PNG. Así sería
|
| 155 |
+
|
| 156 |
+
00:02:13.755 --> 00:02:16.075
|
| 157 |
+
un archivo punto doc o the word, y
|
| 158 |
+
|
| 159 |
+
00:02:16.075 --> 00:02:18.715
|
| 160 |
+
así se vería un PDF. La otra forma
|
| 161 |
+
|
| 162 |
+
00:02:18.715 --> 00:02:20.815
|
| 163 |
+
es que en los servidores web existen tipos
|
| 164 |
+
|
| 165 |
+
00:02:20.815 --> 00:02:21.260
|
| 166 |
+
y subtipos de archivo, entonces los tipos pueden
|
| 167 |
+
|
| 168 |
+
00:02:21.260 --> 00:02:23.090
|
| 169 |
+
ser texto, imagen, aplicación, entre otros, y archivo.
|
| 170 |
+
|
| 171 |
+
00:02:23.090 --> 00:02:25.870
|
| 172 |
+
Entonces, los tipos pueden ser texto, imagen, aplicación,
|
| 173 |
+
|
| 174 |
+
00:02:25.970 --> 00:02:28.530
|
| 175 |
+
entre otros, y los subtipos pueden ser texto
|
| 176 |
+
|
| 177 |
+
00:02:28.530 --> 00:02:31.910
|
| 178 |
+
plano, texto en CSV, imagen PNG, imagen JPG,
|
| 179 |
+
|
| 180 |
+
00:02:32.210 --> 00:02:35.990
|
| 181 |
+
aplicación PDF, etcétera. Estos se llaman tipos MIME,
|
| 182 |
+
|
| 183 |
+
00:02:36.210 --> 00:02:39.015
|
| 184 |
+
MIME types. Los MIME types son una forma
|
| 185 |
+
|
| 186 |
+
00:02:39.015 --> 00:02:41.735
|
| 187 |
+
para que los servidores web sepan, en general
|
| 188 |
+
|
| 189 |
+
00:02:41.735 --> 00:02:44.135
|
| 190 |
+
cualquier tipo de servidor en Internet, sepa cuál
|
| 191 |
+
|
| 192 |
+
00:02:44.135 --> 00:02:46.135
|
| 193 |
+
es el tipo de archivo que estás sirviendo.
|
| 194 |
+
|
| 195 |
+
00:02:46.135 --> 00:02:48.375
|
| 196 |
+
Es una base de datos interna donde ciertas
|
| 197 |
+
|
| 198 |
+
00:02:48.375 --> 00:02:51.255
|
| 199 |
+
extensiones o ciertas cabeceras equivalen a un cierto
|
| 200 |
+
|
| 201 |
+
00:02:51.255 --> 00:02:53.400
|
| 202 |
+
tipo de archivo y se usan muy comúnmente
|
| 203 |
+
|
| 204 |
+
00:02:53.400 --> 00:02:55.959
|
| 205 |
+
en los servidores web. Sin embargo, el servidor
|
| 206 |
+
|
| 207 |
+
00:02:55.959 --> 00:02:57.720
|
| 208 |
+
tiene que saber cuál es cada tipo de
|
| 209 |
+
|
| 210 |
+
00:02:57.720 --> 00:03:00.040
|
| 211 |
+
archivo y no es tan perfecto. La forma
|
| 212 |
+
|
| 213 |
+
00:03:00.040 --> 00:03:02.040
|
| 214 |
+
más común en que los sistemas operativos definen
|
| 215 |
+
|
| 216 |
+
00:03:02.040 --> 00:03:04.400
|
| 217 |
+
un archivo es a través de las primeros
|
| 218 |
+
|
| 219 |
+
00:03:04.400 --> 00:03:06.599
|
| 220 |
+
4 bytes, este número mágico, y de la
|
| 221 |
+
|
| 222 |
+
00:03:06.599 --> 00:03:09.064
|
| 223 |
+
estructura de la cabecera. Un archivo de texto
|
| 224 |
+
|
| 225 |
+
00:03:09.064 --> 00:03:12.345
|
| 226 |
+
plano es, como dice su nombre, texto. El
|
| 227 |
+
|
| 228 |
+
00:03:12.345 --> 00:03:15.385
|
| 229 |
+
HTML, por ejemplo, o JavaScript o Python son
|
| 230 |
+
|
| 231 |
+
00:03:15.385 --> 00:03:18.745
|
| 232 |
+
archivos de texto plano, cuyas extensiones puntopy punto
|
| 233 |
+
|
| 234 |
+
00:03:18.745 --> 00:03:22.269
|
| 235 |
+
js punto HTML indican esto es texto plano,
|
| 236 |
+
|
| 237 |
+
00:03:22.269 --> 00:03:25.030
|
| 238 |
+
pero por dentro de una estructura lógica, la
|
| 239 |
+
|
| 240 |
+
00:03:25.030 --> 00:03:28.030
|
| 241 |
+
estructura HTML, JavaScript o Python. Existe una estructura
|
| 242 |
+
|
| 243 |
+
00:03:28.030 --> 00:03:30.989
|
| 244 |
+
de texto plano que me permite expresar datos
|
| 245 |
+
|
| 246 |
+
00:03:30.989 --> 00:03:33.150
|
| 247 |
+
como si fueran una tabla. Esa estructura se
|
| 248 |
+
|
| 249 |
+
00:03:33.150 --> 00:03:36.915
|
| 250 |
+
llama CSV o coma separated values. Por ejemplo,
|
| 251 |
+
|
| 252 |
+
00:03:36.915 --> 00:03:39.215
|
| 253 |
+
en los archivos de esta clase vas a
|
| 254 |
+
|
| 255 |
+
00:03:39.215 --> 00:03:41.895
|
| 256 |
+
encontrar un archivo CSV que se llama empleados
|
| 257 |
+
|
| 258 |
+
00:03:42.115 --> 00:03:44.935
|
| 259 |
+
punto CSV. Ahí tenemos los datos de 50
|
| 260 |
+
|
| 261 |
+
00:03:44.955 --> 00:03:47.335
|
| 262 |
+
empleados de una empresa de desarrollo de software
|
| 263 |
+
|
| 264 |
+
00:03:47.475 --> 00:03:50.615
|
| 265 |
+
con 5 diferentes columnas, nombre, cargo, edad, salario
|
| 266 |
+
|
| 267 |
+
00:03:50.835 --> 00:03:53.060
|
| 268 |
+
y país. Si lo abres con un editor
|
| 269 |
+
|
| 270 |
+
00:03:53.060 --> 00:03:54.980
|
| 271 |
+
de texto plano normal, con un editor de
|
| 272 |
+
|
| 273 |
+
00:03:54.980 --> 00:03:57.299
|
| 274 |
+
código, ahí vas a encontrar en texto plano
|
| 275 |
+
|
| 276 |
+
00:03:57.299 --> 00:03:59.640
|
| 277 |
+
estos archivos, pero si lo abres en Excel,
|
| 278 |
+
|
| 279 |
+
00:03:59.780 --> 00:04:01.219
|
| 280 |
+
vas a verlo como si fuera una tabla
|
| 281 |
+
|
| 282 |
+
00:04:01.219 --> 00:04:02.980
|
| 283 |
+
de Excel. Esto no significa que ese es
|
| 284 |
+
|
| 285 |
+
00:04:02.980 --> 00:04:04.900
|
| 286 |
+
el formato de archivos de Excel, Excel es
|
| 287 |
+
|
| 288 |
+
00:04:04.900 --> 00:04:08.224
|
| 289 |
+
un formato de archivo internamente mucho más complejo,
|
| 290 |
+
|
| 291 |
+
00:04:08.224 --> 00:04:10.565
|
| 292 |
+
pero sí significa que esta es la versión
|
| 293 |
+
|
| 294 |
+
00:04:11.025 --> 00:04:13.845
|
| 295 |
+
más simple de una forma de transmitir datos
|
| 296 |
+
|
| 297 |
+
00:04:14.025 --> 00:04:17.824
|
| 298 |
+
separados por comas, como si fueran datos estructurados
|
| 299 |
+
|
| 300 |
+
00:04:17.824 --> 00:04:19.839
|
| 301 |
+
en una tabla. Cuando abrimos un archivo de
|
| 302 |
+
|
| 303 |
+
00:04:19.839 --> 00:04:21.919
|
| 304 |
+
Word, por ejemplo, un punto doc x, vamos
|
| 305 |
+
|
| 306 |
+
00:04:21.919 --> 00:04:23.760
|
| 307 |
+
a encontrar que su cabecera está llena de
|
| 308 |
+
|
| 309 |
+
00:04:23.760 --> 00:04:26.340
|
| 310 |
+
unos números ceros. Esa cabecera es el espacio
|
| 311 |
+
|
| 312 |
+
00:04:26.480 --> 00:04:29.360
|
| 313 |
+
donde se guardan metadatos del archivo, lo cual
|
| 314 |
+
|
| 315 |
+
00:04:29.360 --> 00:04:30.960
|
| 316 |
+
vamos a ver en un segundo. Y luego
|
| 317 |
+
|
| 318 |
+
00:04:30.960 --> 00:04:33.485
|
| 319 |
+
abajo tengo la estructura. Van a notar si
|
| 320 |
+
|
| 321 |
+
00:04:33.485 --> 00:04:36.125
|
| 322 |
+
ustedes abren con un editor hexadecimal, que son
|
| 323 |
+
|
| 324 |
+
00:04:36.125 --> 00:04:38.925
|
| 325 |
+
estos editores que permiten abrir archivos binarios, este
|
| 326 |
+
|
| 327 |
+
00:04:38.925 --> 00:04:40.685
|
| 328 |
+
tipo de archivos que tienden a tener una
|
| 329 |
+
|
| 330 |
+
00:04:40.685 --> 00:04:43.885
|
| 331 |
+
estructura muy parecida. Por ejemplo, cuando comparamos 2
|
| 332 |
+
|
| 333 |
+
00:04:43.885 --> 00:04:46.440
|
| 334 |
+
PDFs, los abrimos los 2 de un archivo
|
| 335 |
+
|
| 336 |
+
00:04:46.440 --> 00:04:48.360
|
| 337 |
+
hexadecimal, van a notar que, a pesar de
|
| 338 |
+
|
| 339 |
+
00:04:48.360 --> 00:04:52.360
|
| 340 |
+
que son bastante diferentes, esta primera estructura inicial
|
| 341 |
+
|
| 342 |
+
00:04:52.360 --> 00:04:55.880
|
| 343 |
+
de bytes es muy similar, porque esta estructura
|
| 344 |
+
|
| 345 |
+
00:04:55.880 --> 00:04:58.460
|
| 346 |
+
indica esto es un archivo PDF, fue construido
|
| 347 |
+
|
| 348 |
+
00:04:58.600 --> 00:05:00.475
|
| 349 |
+
con este mecanismo y a partir de acá
|
| 350 |
+
|
| 351 |
+
00:05:00.475 --> 00:05:02.475
|
| 352 |
+
es que empiezan a cambiar las cosas. Esta
|
| 353 |
+
|
| 354 |
+
00:05:02.475 --> 00:05:05.675
|
| 355 |
+
es la estructura interna del archivo PDF. Ustedes
|
| 356 |
+
|
| 357 |
+
00:05:05.675 --> 00:05:07.835
|
| 358 |
+
no tienen por qué entender esto, excepto que
|
| 359 |
+
|
| 360 |
+
00:05:07.835 --> 00:05:10.155
|
| 361 |
+
sean el tipo de programador que va a
|
| 362 |
+
|
| 363 |
+
00:05:10.155 --> 00:05:12.949
|
| 364 |
+
programar la estructura de estos datos. Solamente sepan
|
| 365 |
+
|
| 366 |
+
00:05:12.949 --> 00:05:16.070
|
| 367 |
+
que estas estructuras son arbitrarias, alguien las decidió
|
| 368 |
+
|
| 369 |
+
00:05:16.070 --> 00:05:17.830
|
| 370 |
+
porque sí, porque encontró que esta era la
|
| 371 |
+
|
| 372 |
+
00:05:17.830 --> 00:05:19.990
|
| 373 |
+
forma más eficiente de guardar los archivos de
|
| 374 |
+
|
| 375 |
+
00:05:19.990 --> 00:05:23.110
|
| 376 |
+
esta manera. Hay muchos tipos de archivo y
|
| 377 |
+
|
| 378 |
+
00:05:23.110 --> 00:05:25.850
|
| 379 |
+
algunas veces esos archivos tienen por dentro datos
|
| 380 |
+
|
| 381 |
+
00:05:27.465 --> 00:05:30.505
|
| 382 |
+
escondidos que se pueden ver en sistemas operativos.
|
| 383 |
+
|
| 384 |
+
00:05:30.505 --> 00:05:33.305
|
| 385 |
+
Por ejemplo, los videos tienden a tener por
|
| 386 |
+
|
| 387 |
+
00:05:33.305 --> 00:05:36.425
|
| 388 |
+
dentro cuándo fueron grabados, cuál es su tamaño,
|
| 389 |
+
|
| 390 |
+
00:05:36.425 --> 00:05:38.265
|
| 391 |
+
cuál es el códec que usan, cosas que
|
| 392 |
+
|
| 393 |
+
00:05:38.265 --> 00:05:40.840
|
| 394 |
+
vamos a ver más adelante. Las imágenes también
|
| 395 |
+
|
| 396 |
+
00:05:40.840 --> 00:05:43.080
|
| 397 |
+
tienen datos únicos. Por ejemplo, esta foto que
|
| 398 |
+
|
| 399 |
+
00:05:43.080 --> 00:05:45.160
|
| 400 |
+
yo tomé cuando le di una conferencia al
|
| 401 |
+
|
| 402 |
+
00:05:45.160 --> 00:05:47.400
|
| 403 |
+
ejército, si le damos clic, de hecho, y
|
| 404 |
+
|
| 405 |
+
00:05:47.400 --> 00:05:49.480
|
| 406 |
+
obtenemos su información en un sistema operativo como
|
| 407 |
+
|
| 408 |
+
00:05:49.480 --> 00:05:51.560
|
| 409 |
+
Windows o como Mac, vamos a acceder a
|
| 410 |
+
|
| 411 |
+
00:05:51.560 --> 00:05:53.755
|
| 412 |
+
los metadatos de la fotografía. Aquí, en los
|
| 413 |
+
|
| 414 |
+
00:05:53.755 --> 00:05:56.315
|
| 415 |
+
metadatos, van a encontrar varias cosas muy únicas.
|
| 416 |
+
|
| 417 |
+
00:05:56.315 --> 00:05:58.635
|
| 418 |
+
Por ejemplo, van a encontrar que fue tomada
|
| 419 |
+
|
| 420 |
+
00:05:58.635 --> 00:06:00.475
|
| 421 |
+
con un iPhone 16 Pro, cuál fue la
|
| 422 |
+
|
| 423 |
+
00:06:00.475 --> 00:06:02.715
|
| 424 |
+
dimensión original del archivo, la última fecha en
|
| 425 |
+
|
| 426 |
+
00:06:02.715 --> 00:06:05.595
|
| 427 |
+
la que fue abierta, etcétera. Los PDFs guardan
|
| 428 |
+
|
| 429 |
+
00:06:05.595 --> 00:06:07.900
|
| 430 |
+
muchos metadatos. Le dan clic derecho a un
|
| 431 |
+
|
| 432 |
+
00:06:07.900 --> 00:06:10.139
|
| 433 |
+
PDF y ven sus metadatos, van a ver
|
| 434 |
+
|
| 435 |
+
00:06:10.139 --> 00:06:12.780
|
| 436 |
+
el título original del archivo de donde vino.
|
| 437 |
+
|
| 438 |
+
00:06:12.780 --> 00:06:14.300
|
| 439 |
+
La mayoría de los PDFs no eran un
|
| 440 |
+
|
| 441 |
+
00:06:14.300 --> 00:06:16.940
|
| 442 |
+
PDF originalmente, sino fueron construidos en otro lugar,
|
| 443 |
+
|
| 444 |
+
00:06:16.940 --> 00:06:20.139
|
| 445 |
+
como por ejemplo en Adobe Illustrator o, en
|
| 446 |
+
|
| 447 |
+
00:06:20.139 --> 00:06:22.095
|
| 448 |
+
este caso, en Word. Este archivo originalmente se
|
| 449 |
+
|
| 450 |
+
00:06:22.095 --> 00:06:25.775
|
| 451 |
+
llamaba capítulo 2 guión correcciones punto docx, y
|
| 452 |
+
|
| 453 |
+
00:06:25.775 --> 00:06:28.495
|
| 454 |
+
luego fue transformado a través de Google Docs
|
| 455 |
+
|
| 456 |
+
00:06:28.495 --> 00:06:30.514
|
| 457 |
+
en un PDF. Hay un caso muy chistoso
|
| 458 |
+
|
| 459 |
+
00:06:30.655 --> 00:06:33.210
|
| 460 |
+
de la Universidad Tecnológica Nacional de Buenos Aires,
|
| 461 |
+
|
| 462 |
+
00:06:33.530 --> 00:06:37.289
|
| 463 |
+
donde enviaron un PDF con un aviso de
|
| 464 |
+
|
| 465 |
+
00:06:37.289 --> 00:06:39.050
|
| 466 |
+
deuda a los estudiantes que no habían pagado
|
| 467 |
+
|
| 468 |
+
00:06:39.050 --> 00:06:41.229
|
| 469 |
+
la cuota mensual, que al ver los metadatos
|
| 470 |
+
|
| 471 |
+
00:06:42.169 --> 00:06:44.729
|
| 472 |
+
estructurado internamente estaba el nombre original del archivo
|
| 473 |
+
|
| 474 |
+
00:06:44.729 --> 00:06:46.935
|
| 475 |
+
que decía paga ratón. Así que hay que
|
| 476 |
+
|
| 477 |
+
00:06:46.935 --> 00:06:49.414
|
| 478 |
+
tener mucho cuidado con los metadatos cuando 1
|
| 479 |
+
|
| 480 |
+
00:06:49.414 --> 00:06:51.895
|
| 481 |
+
envía archivos. Los metadatos de los archivos en
|
| 482 |
+
|
| 483 |
+
00:06:51.895 --> 00:06:54.474
|
| 484 |
+
ocasiones también te explican cuál es la versión
|
| 485 |
+
|
| 486 |
+
00:06:54.534 --> 00:06:56.935
|
| 487 |
+
mínima de una aplicación para poder abrirlo o
|
| 488 |
+
|
| 489 |
+
00:06:56.935 --> 00:06:59.800
|
| 490 |
+
los archivos que necesitas para poder ejecutarlo. Por
|
| 491 |
+
|
| 492 |
+
00:06:59.800 --> 00:07:02.840
|
| 493 |
+
ejemplo, los videos son comprimidos y descomprimidos con
|
| 494 |
+
|
| 495 |
+
00:07:02.840 --> 00:07:05.720
|
| 496 |
+
unas técnicas especiales que se llaman códecs. Eso
|
| 497 |
+
|
| 498 |
+
00:07:05.720 --> 00:07:07.880
|
| 499 |
+
tiende a estar incluido en la cabecera de
|
| 500 |
+
|
| 501 |
+
00:07:07.880 --> 00:07:10.635
|
| 502 |
+
los archivos de video, incluyendo su resolución, el
|
| 503 |
+
|
| 504 |
+
00:07:10.635 --> 00:07:13.565
|
| 505 |
+
formato que tienen, la calidad, etcétera. También existen
|
| 506 |
+
|
| 507 |
+
00:07:13.625 --> 00:07:16.205
|
| 508 |
+
otros tipos de archivos que en sus cabeceras
|
| 509 |
+
|
| 510 |
+
00:07:16.665 --> 00:07:19.145
|
| 511 |
+
están aglomerados otros datos, por ejemplo, en un
|
| 512 |
+
|
| 513 |
+
00:07:19.145 --> 00:07:21.625
|
| 514 |
+
archivo punto zip, un archivo comprimido, en los
|
| 515 |
+
|
| 516 |
+
00:07:21.625 --> 00:07:24.105
|
| 517 |
+
metadatos y en la cabecera del archivo está
|
| 518 |
+
|
| 519 |
+
00:07:24.105 --> 00:07:26.025
|
| 520 |
+
la lista de los archivos que por dentro
|
| 521 |
+
|
| 522 |
+
00:07:26.025 --> 00:07:28.160
|
| 523 |
+
tiene el punto zip antes de ser descomprimida.
|
| 524 |
+
|
| 525 |
+
00:07:28.540 --> 00:07:30.860
|
| 526 |
+
Cuando los archivos se dañan en la parte
|
| 527 |
+
|
| 528 |
+
00:07:30.860 --> 00:07:32.460
|
| 529 |
+
de arriba, con dónde les cambia las cabeceras,
|
| 530 |
+
|
| 531 |
+
00:07:32.460 --> 00:07:34.860
|
| 532 |
+
es completamente posible que se vuelvan ilegibles y
|
| 533 |
+
|
| 534 |
+
00:07:34.860 --> 00:07:36.300
|
| 535 |
+
que ya no se puedan volver a abrir,
|
| 536 |
+
|
| 537 |
+
00:07:36.300 --> 00:07:38.300
|
| 538 |
+
excepto que se reparen, pero eso son técnicas
|
| 539 |
+
|
| 540 |
+
00:07:38.300 --> 00:07:40.895
|
| 541 |
+
muy avanzadas que rara vez son utilizadas. También,
|
| 542 |
+
|
| 543 |
+
00:07:40.895 --> 00:07:43.215
|
| 544 |
+
archivos que se descargan mal, 1 los puede
|
| 545 |
+
|
| 546 |
+
00:07:43.215 --> 00:07:46.255
|
| 547 |
+
verificar. Existen mecanismos de verificación como el check
|
| 548 |
+
|
| 549 |
+
00:07:46.255 --> 00:07:47.854
|
| 550 |
+
zoom. Esto lo vamos a ver después, no
|
| 551 |
+
|
| 552 |
+
00:07:47.854 --> 00:07:49.615
|
| 553 |
+
se preocupen por ello. Lo más importante a
|
| 554 |
+
|
| 555 |
+
00:07:49.615 --> 00:07:51.775
|
| 556 |
+
recordar son 2 cosas. 1, un archivo no
|
| 557 |
+
|
| 558 |
+
00:07:51.775 --> 00:07:53.215
|
| 559 |
+
es una base de datos. Las bases de
|
| 560 |
+
|
| 561 |
+
00:07:53.215 --> 00:07:55.455
|
| 562 |
+
datos son cosas distintas, es la próxima clase
|
| 563 |
+
|
| 564 |
+
00:07:55.455 --> 00:07:57.950
|
| 565 |
+
que viene a continuación de esta. Un archivo
|
| 566 |
+
|
| 567 |
+
00:07:57.950 --> 00:07:59.870
|
| 568 |
+
puede tener datos, un archivo puede ser una
|
| 569 |
+
|
| 570 |
+
00:07:59.870 --> 00:08:01.950
|
| 571 |
+
base de datos, pero típicamente no lo es.
|
| 572 |
+
|
| 573 |
+
00:08:01.950 --> 00:08:04.050
|
| 574 |
+
Las bases de datos son un concepto completamente
|
| 575 |
+
|
| 576 |
+
00:08:04.270 --> 00:08:07.510
|
| 577 |
+
diferente. Y existe una técnica avanzada de seguridad
|
| 578 |
+
|
| 579 |
+
00:08:07.510 --> 00:08:09.790
|
| 580 |
+
informática para esconder datos dentro de archivos, se
|
| 581 |
+
|
| 582 |
+
00:08:09.790 --> 00:08:12.875
|
| 583 |
+
llama esteganografía. Por ejemplo, imagina que tienes una
|
| 584 |
+
|
| 585 |
+
00:08:12.875 --> 00:08:15.675
|
| 586 |
+
imagen JPG que por dentro guarda un archivo
|
| 587 |
+
|
| 588 |
+
00:08:15.675 --> 00:08:18.235
|
| 589 |
+
de Excel de manera secreta. Esto es porque
|
| 590 |
+
|
| 591 |
+
00:08:18.235 --> 00:08:20.175
|
| 592 |
+
se sabe cómo es la estructura del JPG
|
| 593 |
+
|
| 594 |
+
00:08:20.395 --> 00:08:22.235
|
| 595 |
+
y de esa manera se esconde el archivo
|
| 596 |
+
|
| 597 |
+
00:08:22.235 --> 00:08:24.520
|
| 598 |
+
de Excel dentro del JPG. Es una técnica
|
| 599 |
+
|
| 600 |
+
00:08:24.520 --> 00:08:27.480
|
| 601 |
+
avanzada muy común en distribución de virus, en
|
| 602 |
+
|
| 603 |
+
00:08:27.480 --> 00:08:30.620
|
| 604 |
+
el mundo de inteligencia militar, entre otros universos.
|
| 605 |
+
|
| 606 |
+
00:08:30.760 --> 00:08:33.799
|
| 607 |
+
Esteganografía. Este mundo es un mundo maravilloso. Aprendamos
|
| 608 |
+
|
| 609 |
+
00:08:33.799 --> 00:08:35.500
|
| 610 |
+
bases de datos en la próxima clase.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/03-Sistemas Operativos y Almacenamiento/03-empleados_prueba_325d0f23-d597-444f-a5e0-acb9d34cac7a.csv
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Nombre,Cargo,Edad,Salario,País
|
| 2 |
+
Daniela,Diseñador/a,49,100357,Argentina
|
| 3 |
+
María,Desarrollador/a,41,61793,Uruguay
|
| 4 |
+
Julián,QA Tester,30,90644,Colombia
|
| 5 |
+
María,DevOps,58,148266,Perú
|
| 6 |
+
Nicolás,Diseñador/a,48,148313,Colombia
|
| 7 |
+
Andrés,DevOps,28,117981,España
|
| 8 |
+
Sebastián,Project Manager,26,130749,Argentina
|
| 9 |
+
Thiago,DevOps,35,139541,España
|
| 10 |
+
Pablo,Desarrollador/a,59,123053,México
|
| 11 |
+
Nicolás,Analista de Datos,41,145223,México
|
| 12 |
+
José,Diseñador/a,48,106907,España
|
| 13 |
+
Brenda,DevOps,46,103674,Perú
|
| 14 |
+
Iván,Diseñador/a,42,115111,España
|
| 15 |
+
Matías,Project Manager,34,100161,México
|
| 16 |
+
Brenda,DevOps,43,96517,Argentina
|
| 17 |
+
Andrés,Desarrollador/a,52,72690,Chile
|
| 18 |
+
Melina,Diseñador/a,29,119705,Argentina
|
| 19 |
+
Tomás,Project Manager,38,111237,Argentina
|
| 20 |
+
Matías,Desarrollador/a,25,81185,Perú
|
| 21 |
+
Romina,Desarrollador/a,42,102983,España
|
| 22 |
+
Daniela,Analista de Datos,24,78141,Colombia
|
| 23 |
+
Ana,Project Manager,34,105756,Colombia
|
| 24 |
+
Diego,Analista de Datos,29,58830,México
|
| 25 |
+
Martín,Diseñador/a,40,115329,Argentina
|
| 26 |
+
Bruno,Desarrollador/a,41,110035,Uruguay
|
| 27 |
+
Bruno,Product Owner,60,90747,España
|
| 28 |
+
Ana,Diseñador/a,24,148926,España
|
| 29 |
+
Diego,Diseñador/a,49,122342,Chile
|
| 30 |
+
Lucas,Diseñador/a,47,89289,México
|
| 31 |
+
Noelia,Project Manager,47,118391,Perú
|
| 32 |
+
Agustina,Analista de Datos,23,121718,Argentina
|
| 33 |
+
Ezequiel,Product Owner,50,62730,Uruguay
|
| 34 |
+
Santiago,Product Owner,48,58308,Perú
|
| 35 |
+
Melina,QA Tester,49,62935,Argentina
|
| 36 |
+
Sebastián,QA Tester,58,80805,Perú
|
| 37 |
+
Franco,QA Tester,46,64570,Perú
|
| 38 |
+
Thiago,Product Owner,25,108770,México
|
| 39 |
+
Micaela,Analista de Datos,34,88236,Chile
|
| 40 |
+
Sofía,DevOps,27,126252,Colombia
|
| 41 |
+
Brenda,Project Manager,28,56872,Chile
|
| 42 |
+
Melina,DevOps,54,131136,Perú
|
| 43 |
+
Leandro,Desarrollador/a,54,133799,Argentina
|
| 44 |
+
Andrés,Diseñador/a,53,141480,Perú
|
| 45 |
+
Carla,Project Manager,25,56137,Uruguay
|
| 46 |
+
Martina,Product Owner,47,131402,Colombia
|
| 47 |
+
Julián,Analista de Datos,52,143878,México
|
| 48 |
+
Carla,Product Owner,24,102562,Perú
|
| 49 |
+
Iván,Diseñador/a,34,145629,Argentina
|
| 50 |
+
Benjamín,Desarrollador/a,35,106617,Argentina
|
| 51 |
+
Noelia,Product Owner,23,93278,Colombia
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/cursos/dbsql/
|
| 2 |
+
https://platzi.com/cursos/db-nosql/
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Qué son las bases de datos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ab306e883de4877ad6336714c968a420a0ca776a93c738033a75aa188d1b2968
|
| 3 |
+
size 210871161
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Qué son las bases de datos.vtt
ADDED
|
@@ -0,0 +1,658 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.080 --> 00:00:02.399
|
| 4 |
+
Las bases de datos muchos creen que son
|
| 5 |
+
|
| 6 |
+
00:00:02.399 --> 00:00:04.560
|
| 7 |
+
como tablas de Excel. En un ejemplo anterior
|
| 8 |
+
|
| 9 |
+
00:00:04.560 --> 00:00:07.919
|
| 10 |
+
vimos esta tabla de empleados donde tenemos un,
|
| 11 |
+
|
| 12 |
+
00:00:07.919 --> 00:00:10.980
|
| 13 |
+
2, 3, 4 y 5 campos. El campo
|
| 14 |
+
|
| 15 |
+
00:00:11.280 --> 00:00:13.920
|
| 16 |
+
nombre, cargo, edad, salario y país. Y esto
|
| 17 |
+
|
| 18 |
+
00:00:13.920 --> 00:00:15.940
|
| 19 |
+
sería igual que un archivo de Excel, ¿cierto?
|
| 20 |
+
|
| 21 |
+
00:00:16.055 --> 00:00:18.775
|
| 22 |
+
En nombre coloco cualquier cosa, encargo también, edad
|
| 23 |
+
|
| 24 |
+
00:00:18.775 --> 00:00:21.035
|
| 25 |
+
es un número, salario también es un número
|
| 26 |
+
|
| 27 |
+
00:00:21.095 --> 00:00:23.415
|
| 28 |
+
y país, pues, es un letras. Para la
|
| 29 |
+
|
| 30 |
+
00:00:23.415 --> 00:00:25.015
|
| 31 |
+
gran mayoría de las personas allá afuera, las
|
| 32 |
+
|
| 33 |
+
00:00:25.015 --> 00:00:27.735
|
| 34 |
+
bases de datos son simplemente tablas de Excel.
|
| 35 |
+
|
| 36 |
+
00:00:27.735 --> 00:00:30.135
|
| 37 |
+
Pero Excel no es una base de datos,
|
| 38 |
+
|
| 39 |
+
00:00:30.135 --> 00:00:33.990
|
| 40 |
+
Excel es una hoja cuadriculada donde coloco cualquier
|
| 41 |
+
|
| 42 |
+
00:00:34.450 --> 00:00:37.730
|
| 43 |
+
cosa. Las bases de datos son estrictas respecto
|
| 44 |
+
|
| 45 |
+
00:00:37.730 --> 00:00:40.690
|
| 46 |
+
a los datos que guardan, son variables de
|
| 47 |
+
|
| 48 |
+
00:00:40.690 --> 00:00:44.495
|
| 49 |
+
tipos específicos que tienen reglas. La regla más
|
| 50 |
+
|
| 51 |
+
00:00:44.495 --> 00:00:46.535
|
| 52 |
+
importante de las bases de datos es que
|
| 53 |
+
|
| 54 |
+
00:00:46.535 --> 00:00:50.175
|
| 55 |
+
no deben tener redundancia. Los datos tienen que
|
| 56 |
+
|
| 57 |
+
00:00:50.175 --> 00:00:53.215
|
| 58 |
+
ser únicos para mantener integridad. Esto es importante
|
| 59 |
+
|
| 60 |
+
00:00:53.215 --> 00:00:54.735
|
| 61 |
+
porque las bases de datos son de las
|
| 62 |
+
|
| 63 |
+
00:00:54.735 --> 00:00:57.110
|
| 64 |
+
que depende un negocio. Entonces, por ejemplo, no
|
| 65 |
+
|
| 66 |
+
00:00:57.110 --> 00:00:59.670
|
| 67 |
+
pueden haber diferentes tipos de transacción cuando mueves
|
| 68 |
+
|
| 69 |
+
00:00:59.670 --> 00:01:01.430
|
| 70 |
+
dinero de un banco a otro. No pueden
|
| 71 |
+
|
| 72 |
+
00:01:01.430 --> 00:01:04.150
|
| 73 |
+
haber diferentes tipos de contraseña o de usuarios
|
| 74 |
+
|
| 75 |
+
00:01:04.150 --> 00:01:06.550
|
| 76 |
+
cuando estás guardando tu nombre de usuario o
|
| 77 |
+
|
| 78 |
+
00:01:06.550 --> 00:01:10.045
|
| 79 |
+
tu contraseña para un sistema único. No pueden
|
| 80 |
+
|
| 81 |
+
00:01:10.045 --> 00:01:12.924
|
| 82 |
+
haber diferentes formatos de vuelo cuando estás guardando
|
| 83 |
+
|
| 84 |
+
00:01:12.924 --> 00:01:15.985
|
| 85 |
+
los vuelos de un avión. Estos sistemas requieren
|
| 86 |
+
|
| 87 |
+
00:01:16.445 --> 00:01:20.604
|
| 88 |
+
sistemas estrictos, características estrictas de almacenamiento de los
|
| 89 |
+
|
| 90 |
+
00:01:20.604 --> 00:01:22.045
|
| 91 |
+
datos, y para eso son las bases de
|
| 92 |
+
|
| 93 |
+
00:01:22.045 --> 00:01:25.390
|
| 94 |
+
datos. Para evitar redundancia, las bases de datos
|
| 95 |
+
|
| 96 |
+
00:01:25.390 --> 00:01:28.049
|
| 97 |
+
se estructuran pensando en cuáles son las tablas
|
| 98 |
+
|
| 99 |
+
00:01:28.430 --> 00:01:32.270
|
| 100 |
+
necesarias para representar cada categoría de datos y
|
| 101 |
+
|
| 102 |
+
00:01:32.270 --> 00:01:35.295
|
| 103 |
+
luego se conectan entre sí. Por ejemplo, imagina
|
| 104 |
+
|
| 105 |
+
00:01:35.295 --> 00:01:38.244
|
| 106 |
+
que estamos haciendo la tabla de una red
|
| 107 |
+
|
| 108 |
+
00:01:38.244 --> 00:01:41.194
|
| 109 |
+
social. Entonces, en una red social tú tienes
|
| 110 |
+
|
| 111 |
+
00:01:41.194 --> 00:01:43.895
|
| 112 |
+
una serie de posts en el timeline y
|
| 113 |
+
|
| 114 |
+
00:01:43.895 --> 00:01:46.255
|
| 115 |
+
esos posts, que son creados por usuarios, necesitan
|
| 116 |
+
|
| 117 |
+
00:01:46.255 --> 00:01:48.575
|
| 118 |
+
tener su nombre de usuario, quién lo creó
|
| 119 |
+
|
| 120 |
+
00:01:48.575 --> 00:01:51.070
|
| 121 |
+
como contenido y por dentro pueden tener comentarios.
|
| 122 |
+
|
| 123 |
+
00:01:51.290 --> 00:01:54.770
|
| 124 |
+
El post puede tener likes y los comentarios
|
| 125 |
+
|
| 126 |
+
00:01:54.810 --> 00:01:56.730
|
| 127 |
+
también pueden tener likes porque alguien le puede
|
| 128 |
+
|
| 129 |
+
00:01:56.730 --> 00:01:59.210
|
| 130 |
+
dar like. Pensemos en la forma más simple
|
| 131 |
+
|
| 132 |
+
00:01:59.210 --> 00:02:01.170
|
| 133 |
+
en la que esta base de datos ocurriría,
|
| 134 |
+
|
| 135 |
+
00:02:01.170 --> 00:02:03.850
|
| 136 |
+
que es lo primero que necesitamos entender. Probablemente
|
| 137 |
+
|
| 138 |
+
00:02:03.850 --> 00:02:06.105
|
| 139 |
+
lo primero que necesitamos entender es que hay
|
| 140 |
+
|
| 141 |
+
00:02:06.245 --> 00:02:09.285
|
| 142 |
+
usuarios. Los usuarios tienen un nombre de usuario
|
| 143 |
+
|
| 144 |
+
00:02:09.285 --> 00:02:11.685
|
| 145 |
+
y, por supuesto, para poder entrar y ser
|
| 146 |
+
|
| 147 |
+
00:02:11.685 --> 00:02:14.085
|
| 148 |
+
identificados de una manera única, van a necesitar
|
| 149 |
+
|
| 150 |
+
00:02:14.085 --> 00:02:17.045
|
| 151 |
+
también una contraseña. En una base de datos
|
| 152 |
+
|
| 153 |
+
00:02:17.045 --> 00:02:19.385
|
| 154 |
+
esto no es lo único que se necesita.
|
| 155 |
+
|
| 156 |
+
00:02:19.605 --> 00:02:22.879
|
| 157 |
+
También necesitamos un número único que los identifique,
|
| 158 |
+
|
| 159 |
+
00:02:23.260 --> 00:02:26.700
|
| 160 |
+
porque los números son variables muy simples. Así
|
| 161 |
+
|
| 162 |
+
00:02:26.700 --> 00:02:29.099
|
| 163 |
+
como, por ejemplo, cuando un país te asigna
|
| 164 |
+
|
| 165 |
+
00:02:29.099 --> 00:02:31.500
|
| 166 |
+
un número que te identifica como ciudadano de
|
| 167 |
+
|
| 168 |
+
00:02:31.500 --> 00:02:34.265
|
| 169 |
+
ese país, como la cédula, el documento de
|
| 170 |
+
|
| 171 |
+
00:02:35.445 --> 00:02:38.405
|
| 172 |
+
votación, el pasaporte, entre otros. Y es una
|
| 173 |
+
|
| 174 |
+
00:02:38.405 --> 00:02:40.285
|
| 175 |
+
buena idea que guardemos la fecha en la
|
| 176 |
+
|
| 177 |
+
00:02:40.285 --> 00:02:42.965
|
| 178 |
+
que este usuario se registró. Estas son 4
|
| 179 |
+
|
| 180 |
+
00:02:42.965 --> 00:02:45.700
|
| 181 |
+
variables que tienen 4 tipos distintos. El ID
|
| 182 |
+
|
| 183 |
+
00:02:45.700 --> 00:02:47.740
|
| 184 |
+
del usuario sería un número entero, el nombre
|
| 185 |
+
|
| 186 |
+
00:02:47.740 --> 00:02:49.620
|
| 187 |
+
de usuario y la contraseña serían textos, que
|
| 188 |
+
|
| 189 |
+
00:02:49.620 --> 00:02:52.420
|
| 190 |
+
en programación se llaman strings, y la fecha
|
| 191 |
+
|
| 192 |
+
00:02:52.420 --> 00:02:54.580
|
| 193 |
+
de registro sería una variable de tipo fecha.
|
| 194 |
+
|
| 195 |
+
00:02:54.580 --> 00:02:57.160
|
| 196 |
+
Esta sería una tabla, la tabla de usuarios.
|
| 197 |
+
|
| 198 |
+
00:02:57.380 --> 00:02:59.460
|
| 199 |
+
Si estuviéramos en Excel, sería una hoja aparte
|
| 200 |
+
|
| 201 |
+
00:02:59.460 --> 00:03:01.815
|
| 202 |
+
y ahora que tenemos esta tabla, ahora necesitamos
|
| 203 |
+
|
| 204 |
+
00:03:01.815 --> 00:03:04.795
|
| 205 |
+
guardar todos los posts que hacen diferentes usuarios.
|
| 206 |
+
|
| 207 |
+
00:03:05.175 --> 00:03:07.175
|
| 208 |
+
Entonces, imagina que tenemos un post, como estos
|
| 209 |
+
|
| 210 |
+
00:03:07.175 --> 00:03:09.735
|
| 211 |
+
posts que salen en nuestro timeland de nuestra
|
| 212 |
+
|
| 213 |
+
00:03:09.735 --> 00:03:12.795
|
| 214 |
+
red social. Los posts son creados por usuarios,
|
| 215 |
+
|
| 216 |
+
00:03:13.015 --> 00:03:14.775
|
| 217 |
+
¿verdad? Entonces necesitamos el ID del usuario que
|
| 218 |
+
|
| 219 |
+
00:03:14.775 --> 00:03:16.990
|
| 220 |
+
creó el post. Como estoy trayéndome el ID
|
| 221 |
+
|
| 222 |
+
00:03:16.990 --> 00:03:20.590
|
| 223 |
+
del usuario, no necesito agregar acá el nombre
|
| 224 |
+
|
| 225 |
+
00:03:20.590 --> 00:03:22.510
|
| 226 |
+
del usuario porque lo puedo ir a buscar
|
| 227 |
+
|
| 228 |
+
00:03:22.510 --> 00:03:24.110
|
| 229 |
+
a través del ID de usuario que estoy
|
| 230 |
+
|
| 231 |
+
00:03:24.110 --> 00:03:26.990
|
| 232 |
+
guardando en la tabla de los posts. Pero
|
| 233 |
+
|
| 234 |
+
00:03:26.990 --> 00:03:29.205
|
| 235 |
+
cada post es único, así que voy a
|
| 236 |
+
|
| 237 |
+
00:03:29.205 --> 00:03:32.084
|
| 238 |
+
necesitar un ID del post, un ID, un
|
| 239 |
+
|
| 240 |
+
00:03:32.084 --> 00:03:33.765
|
| 241 |
+
número que identifique a cada 1 de estos
|
| 242 |
+
|
| 243 |
+
00:03:33.765 --> 00:03:35.685
|
| 244 |
+
posts. Por supuesto que voy a necesitar un
|
| 245 |
+
|
| 246 |
+
00:03:35.685 --> 00:03:37.685
|
| 247 |
+
contenido y esto es una texto, es un
|
| 248 |
+
|
| 249 |
+
00:03:37.685 --> 00:03:39.605
|
| 250 |
+
string, es una variable de tipo string, una
|
| 251 |
+
|
| 252 |
+
00:03:39.605 --> 00:03:41.924
|
| 253 |
+
fecha de publicación, entonces eso es una variable
|
| 254 |
+
|
| 255 |
+
00:03:41.924 --> 00:03:43.290
|
| 256 |
+
de tipo fecha. Y si le vamos a
|
| 257 |
+
|
| 258 |
+
00:03:43.290 --> 00:03:46.730
|
| 259 |
+
poner likes, me gustaría tener una variable numérica
|
| 260 |
+
|
| 261 |
+
00:03:46.730 --> 00:03:48.810
|
| 262 |
+
que vaya contando los likes, un contador de
|
| 263 |
+
|
| 264 |
+
00:03:48.810 --> 00:03:50.410
|
| 265 |
+
cuántos likes tiene. Y a medida que la
|
| 266 |
+
|
| 267 |
+
00:03:50.410 --> 00:03:52.569
|
| 268 |
+
gente guarde comentarios, también puedo tener un contador
|
| 269 |
+
|
| 270 |
+
00:03:52.569 --> 00:03:54.569
|
| 271 |
+
de cuántos comentarios. De esa manera no tengo
|
| 272 |
+
|
| 273 |
+
00:03:54.569 --> 00:03:56.650
|
| 274 |
+
que ponerme a contar los comentarios dentro de
|
| 275 |
+
|
| 276 |
+
00:03:56.650 --> 00:03:58.905
|
| 277 |
+
la tabla, sino simplemente ir a buscar ese
|
| 278 |
+
|
| 279 |
+
00:03:58.905 --> 00:04:00.745
|
| 280 |
+
número. En el caso de la tabla donde
|
| 281 |
+
|
| 282 |
+
00:04:00.745 --> 00:04:04.505
|
| 283 |
+
tengo a mis usuarios con el usuario ID,
|
| 284 |
+
|
| 285 |
+
00:04:04.505 --> 00:04:07.085
|
| 286 |
+
esta es la llave primaria de esa tabla.
|
| 287 |
+
|
| 288 |
+
00:04:07.225 --> 00:04:10.265
|
| 289 |
+
Una llave primaria es el identificador único de
|
| 290 |
+
|
| 291 |
+
00:04:10.265 --> 00:04:12.570
|
| 292 |
+
cada 1 de los registros de la tabla.
|
| 293 |
+
|
| 294 |
+
00:04:12.730 --> 00:04:14.810
|
| 295 |
+
Esa llave primaria es la que me conecta
|
| 296 |
+
|
| 297 |
+
00:04:14.810 --> 00:04:17.390
|
| 298 |
+
con la tabla de post. En los post,
|
| 299 |
+
|
| 300 |
+
00:04:17.610 --> 00:04:20.010
|
| 301 |
+
la llave primaria es el post, porque cada
|
| 302 |
+
|
| 303 |
+
00:04:20.010 --> 00:04:22.330
|
| 304 |
+
1 tiene un post único. Pero también tengo
|
| 305 |
+
|
| 306 |
+
00:04:22.330 --> 00:04:25.290
|
| 307 |
+
una llave especial única de otra tabla que
|
| 308 |
+
|
| 309 |
+
00:04:25.290 --> 00:04:26.730
|
| 310 |
+
es la que me conecta con los datos
|
| 311 |
+
|
| 312 |
+
00:04:26.730 --> 00:04:29.165
|
| 313 |
+
del usuario. Eso se llama aquí una llave
|
| 314 |
+
|
| 315 |
+
00:04:29.165 --> 00:04:31.325
|
| 316 |
+
foránea y es la llave primaria de otra
|
| 317 |
+
|
| 318 |
+
00:04:31.325 --> 00:04:33.325
|
| 319 |
+
tabla que me puede traer esos datos que
|
| 320 |
+
|
| 321 |
+
00:04:33.325 --> 00:04:36.285
|
| 322 |
+
son únicos. En este caso es único saber
|
| 323 |
+
|
| 324 |
+
00:04:36.285 --> 00:04:37.965
|
| 325 |
+
quién es el tipo de usuario que colocó
|
| 326 |
+
|
| 327 |
+
00:04:37.965 --> 00:04:40.730
|
| 328 |
+
un post. Ahora, ¿dónde guardo los comentarios? Los
|
| 329 |
+
|
| 330 |
+
00:04:40.730 --> 00:04:43.690
|
| 331 |
+
comentarios son otra cosa aparte que guardaría en
|
| 332 |
+
|
| 333 |
+
00:04:43.690 --> 00:04:47.050
|
| 334 |
+
una tabla llamada comentarios. ¿Qué necesitaría para esta
|
| 335 |
+
|
| 336 |
+
00:04:47.050 --> 00:04:49.530
|
| 337 |
+
tabla? Ustedes ya con esto deberían saber por
|
| 338 |
+
|
| 339 |
+
00:04:49.530 --> 00:04:52.250
|
| 340 |
+
completo cómo construir la tabla de comentarios, así
|
| 341 |
+
|
| 342 |
+
00:04:52.250 --> 00:04:55.965
|
| 343 |
+
que los animo a dejar en los comentarios
|
| 344 |
+
|
| 345 |
+
00:04:55.965 --> 00:04:58.625
|
| 346 |
+
de este clase cómo crearían la tabla comentarios
|
| 347 |
+
|
| 348 |
+
00:04:58.925 --> 00:05:01.325
|
| 349 |
+
antes de que yo continúe, vayan. No, en
|
| 350 |
+
|
| 351 |
+
00:05:01.325 --> 00:05:07.425
|
| 352 |
+
serio, vayan. Tienen 5, 4, 3, 2, 1.
|
| 353 |
+
|
| 354 |
+
00:05:07.725 --> 00:05:09.509
|
| 355 |
+
Pero para el resto de gente perezosa que
|
| 356 |
+
|
| 357 |
+
00:05:09.509 --> 00:05:12.229
|
| 358 |
+
decidió continuar sin publicar nada, que entiendo son
|
| 359 |
+
|
| 360 |
+
00:05:12.229 --> 00:05:15.990
|
| 361 |
+
el 85 por 100, primero, muy mal. Y
|
| 362 |
+
|
| 363 |
+
00:05:15.990 --> 00:05:17.110
|
| 364 |
+
segundo, esta es la forma en la que
|
| 365 |
+
|
| 366 |
+
00:05:17.110 --> 00:05:18.229
|
| 367 |
+
yo lo haría, pero esta no es la
|
| 368 |
+
|
| 369 |
+
00:05:18.229 --> 00:05:20.150
|
| 370 |
+
única forma de hacerlo. Por supuesto que tengo
|
| 371 |
+
|
| 372 |
+
00:05:20.150 --> 00:05:23.145
|
| 373 |
+
que tener un comentario ID, es el indicador
|
| 374 |
+
|
| 375 |
+
00:05:24.085 --> 00:05:26.245
|
| 376 |
+
único identificador de comentario, ese sería un número
|
| 377 |
+
|
| 378 |
+
00:05:26.245 --> 00:05:27.845
|
| 379 |
+
que se va generando a medida que publico
|
| 380 |
+
|
| 381 |
+
00:05:27.845 --> 00:05:30.165
|
| 382 |
+
cada comentario. Tengo que conectarlo con quién es
|
| 383 |
+
|
| 384 |
+
00:05:30.165 --> 00:05:33.125
|
| 385 |
+
el post, donde estoy dejando el comentario. Entonces,
|
| 386 |
+
|
| 387 |
+
00:05:33.125 --> 00:05:36.330
|
| 388 |
+
comentario ID es mi llave primaria. Post ID
|
| 389 |
+
|
| 390 |
+
00:05:36.490 --> 00:05:38.970
|
| 391 |
+
sería mi llave foránea conectándome a la tabla
|
| 392 |
+
|
| 393 |
+
00:05:38.970 --> 00:05:40.490
|
| 394 |
+
post y ahí está el post en el
|
| 395 |
+
|
| 396 |
+
00:05:40.490 --> 00:05:42.409
|
| 397 |
+
que estoy dejando el comentario. Luego tengo que
|
| 398 |
+
|
| 399 |
+
00:05:42.409 --> 00:05:43.930
|
| 400 |
+
saber quién es el usuario que deja el
|
| 401 |
+
|
| 402 |
+
00:05:43.930 --> 00:05:46.650
|
| 403 |
+
comentario. Entonces, usuario ID para conectar con la
|
| 404 |
+
|
| 405 |
+
00:05:46.650 --> 00:05:49.229
|
| 406 |
+
tabla de usuarios también sería una llave foránea.
|
| 407 |
+
|
| 408 |
+
00:05:49.689 --> 00:05:51.689
|
| 409 |
+
Y por último, muy similar a la tabla
|
| 410 |
+
|
| 411 |
+
00:05:51.689 --> 00:05:54.965
|
| 412 |
+
de post. Tengo el contenido, la fecha, el
|
| 413 |
+
|
| 414 |
+
00:05:54.965 --> 00:05:57.544
|
| 415 |
+
contador de me gusta y con eso estoy.
|
| 416 |
+
|
| 417 |
+
00:05:57.685 --> 00:06:00.405
|
| 418 |
+
Tengo ya completa mi tabla de comentarios y
|
| 419 |
+
|
| 420 |
+
00:06:00.405 --> 00:06:02.485
|
| 421 |
+
tengo toda la conexión en esta pequeña base
|
| 422 |
+
|
| 423 |
+
00:06:02.485 --> 00:06:04.725
|
| 424 |
+
de datos. Estas bases de datos son más
|
| 425 |
+
|
| 426 |
+
00:06:04.725 --> 00:06:06.585
|
| 427 |
+
complejas de lo que les acabo de mostrar.
|
| 428 |
+
|
| 429 |
+
00:06:06.920 --> 00:06:09.000
|
| 430 |
+
Aquí les estoy mostrando de una manera muy
|
| 431 |
+
|
| 432 |
+
00:06:09.000 --> 00:06:10.920
|
| 433 |
+
simple los componentes básicos de una base de
|
| 434 |
+
|
| 435 |
+
00:06:10.920 --> 00:06:13.320
|
| 436 |
+
datos. Hay diferentes herramientas de software que construyen
|
| 437 |
+
|
| 438 |
+
00:06:13.320 --> 00:06:15.320
|
| 439 |
+
esas bases de datos. Ustedes, por ejemplo, en
|
| 440 |
+
|
| 441 |
+
00:06:15.320 --> 00:06:17.560
|
| 442 |
+
Microsoft han visto una herramienta llamada Access, que
|
| 443 |
+
|
| 444 |
+
00:06:17.560 --> 00:06:19.854
|
| 445 |
+
ya casi no se usa. Existen programación lo
|
| 446 |
+
|
| 447 |
+
00:06:19.854 --> 00:06:22.535
|
| 448 |
+
que se llama SQL Lite o SQL Lite.
|
| 449 |
+
|
| 450 |
+
00:06:22.535 --> 00:06:24.134
|
| 451 |
+
La base de datos más común usada en
|
| 452 |
+
|
| 453 |
+
00:06:24.134 --> 00:06:27.574
|
| 454 |
+
el mundo es MySQL o MySQL, y también
|
| 455 |
+
|
| 456 |
+
00:06:27.574 --> 00:06:30.634
|
| 457 |
+
existe SQL Server del lado de Microsoft Oracle
|
| 458 |
+
|
| 459 |
+
00:06:30.919 --> 00:06:33.240
|
| 460 |
+
a nivel profesional, y la gran mayoría de
|
| 461 |
+
|
| 462 |
+
00:06:33.240 --> 00:06:37.160
|
| 463 |
+
las grandes y profesionales proyectos, incluyendo Platzi.com, usamos
|
| 464 |
+
|
| 465 |
+
00:06:37.160 --> 00:06:38.840
|
| 466 |
+
una base de datos de alto rendimiento que
|
| 467 |
+
|
| 468 |
+
00:06:38.840 --> 00:06:41.400
|
| 469 |
+
se llama Postgress. Estos sistemas son conocidos como
|
| 470 |
+
|
| 471 |
+
00:06:41.400 --> 00:06:43.240
|
| 472 |
+
motores de bases de datos. Los motores de
|
| 473 |
+
|
| 474 |
+
00:06:43.240 --> 00:06:46.375
|
| 475 |
+
bases de datos son pequeños servidores, herramientas de
|
| 476 |
+
|
| 477 |
+
00:06:46.375 --> 00:06:48.854
|
| 478 |
+
software que en el disco duro almacenan en
|
| 479 |
+
|
| 480 |
+
00:06:48.854 --> 00:06:51.655
|
| 481 |
+
diferentes archivos estas estructuras. Las bases de datos
|
| 482 |
+
|
| 483 |
+
00:06:51.655 --> 00:06:54.535
|
| 484 |
+
no son un archivo porque en una gran
|
| 485 |
+
|
| 486 |
+
00:06:54.535 --> 00:06:57.574
|
| 487 |
+
compañía, 1000 de personas, en ocasiones 1000000 de
|
| 488 |
+
|
| 489 |
+
00:06:57.574 --> 00:07:00.289
|
| 490 |
+
personas, tienen que acceder a leer, editar y
|
| 491 |
+
|
| 492 |
+
00:07:00.289 --> 00:07:02.530
|
| 493 |
+
modificar estas bases de datos en tiempo real,
|
| 494 |
+
|
| 495 |
+
00:07:02.530 --> 00:07:05.569
|
| 496 |
+
y eso requiere reglas específicas. También existe un
|
| 497 |
+
|
| 498 |
+
00:07:05.569 --> 00:07:09.490
|
| 499 |
+
lenguaje de programación construido específicamente para consultar la
|
| 500 |
+
|
| 501 |
+
00:07:09.490 --> 00:07:11.634
|
| 502 |
+
base de datos. Este lenguaje es conocido como
|
| 503 |
+
|
| 504 |
+
00:07:11.634 --> 00:07:14.275
|
| 505 |
+
SQL. Ustedes deberían tomar los cursos de SQL
|
| 506 |
+
|
| 507 |
+
00:07:14.275 --> 00:07:15.955
|
| 508 |
+
de Platzi, simplemente vayan acá arriba en el
|
| 509 |
+
|
| 510 |
+
00:07:15.955 --> 00:07:18.354
|
| 511 |
+
buscador y escriben la palabra SQL y van
|
| 512 |
+
|
| 513 |
+
00:07:18.354 --> 00:07:21.955
|
| 514 |
+
a encontrar varios cursos. SQL significa structured quity
|
| 515 |
+
|
| 516 |
+
00:07:21.955 --> 00:07:23.950
|
| 517 |
+
language y, por cierto, cuando la gente le
|
| 518 |
+
|
| 519 |
+
00:07:23.950 --> 00:07:26.910
|
| 520 |
+
dice mySQL, en vez de MySQL, es porque
|
| 521 |
+
|
| 522 |
+
00:07:26.910 --> 00:07:28.430
|
| 523 |
+
una de las primeras bases de datos del
|
| 524 |
+
|
| 525 |
+
00:07:28.430 --> 00:07:31.470
|
| 526 |
+
mundo se llamaba secuela o SQL. Entonces, se
|
| 527 |
+
|
| 528 |
+
00:07:31.470 --> 00:07:33.870
|
| 529 |
+
volvió parte de la industria llamarle SQL a
|
| 530 |
+
|
| 531 |
+
00:07:33.870 --> 00:07:37.490
|
| 532 |
+
SQL, pero realmente es SQL, Structure Query Language.
|
| 533 |
+
|
| 534 |
+
00:07:37.775 --> 00:07:40.655
|
| 535 |
+
En SQL, por ejemplo, si quisiéramos seleccionar todos
|
| 536 |
+
|
| 537 |
+
00:07:40.655 --> 00:07:44.255
|
| 538 |
+
los comentarios de usuarios cuyo nombre de usuario
|
| 539 |
+
|
| 540 |
+
00:07:44.255 --> 00:07:46.575
|
| 541 |
+
empiece por la letra f, escribimos un código
|
| 542 |
+
|
| 543 |
+
00:07:46.575 --> 00:07:48.895
|
| 544 |
+
como este. No te preocupes por entender este
|
| 545 |
+
|
| 546 |
+
00:07:48.895 --> 00:07:50.699
|
| 547 |
+
código, es un código distinto al código de
|
| 548 |
+
|
| 549 |
+
00:07:50.699 --> 00:07:53.979
|
| 550 |
+
programación normal. Select es elegir, asterisco es que
|
| 551 |
+
|
| 552 |
+
00:07:53.979 --> 00:07:56.620
|
| 553 |
+
elige todas las tablas, aquí estamos agarrando diferentes
|
| 554 |
+
|
| 555 |
+
00:07:56.620 --> 00:07:58.860
|
| 556 |
+
cosas de una tabla, like es una forma
|
| 557 |
+
|
| 558 |
+
00:07:58.860 --> 00:08:01.419
|
| 559 |
+
de comparación, el signo de porcentaje es un
|
| 560 |
+
|
| 561 |
+
00:08:01.419 --> 00:08:04.130
|
| 562 |
+
comodín. Estas cosas las explicamos mejor en el
|
| 563 |
+
|
| 564 |
+
00:08:04.130 --> 00:08:06.175
|
| 565 |
+
curso de SQL, Pero aquí te das una
|
| 566 |
+
|
| 567 |
+
00:08:06.175 --> 00:08:08.514
|
| 568 |
+
idea de cómo funciona el lenguaje que hace
|
| 569 |
+
|
| 570 |
+
00:08:08.655 --> 00:08:10.095
|
| 571 |
+
consultas a bases de datos. Y esto es
|
| 572 |
+
|
| 573 |
+
00:08:10.095 --> 00:08:12.675
|
| 574 |
+
toda una profesión, una profesión muy bien pagada.
|
| 575 |
+
|
| 576 |
+
00:08:12.815 --> 00:08:15.134
|
| 577 |
+
Las bases de datos se conectan con los
|
| 578 |
+
|
| 579 |
+
00:08:15.134 --> 00:08:16.815
|
| 580 |
+
lenguajes de programación y con las aplicaciones que
|
| 581 |
+
|
| 582 |
+
00:08:16.815 --> 00:08:18.810
|
| 583 |
+
haces de una manera distinta a los archivos.
|
| 584 |
+
|
| 585 |
+
00:08:18.889 --> 00:08:21.450
|
| 586 |
+
Un archivo se abre, se puede escribir, se
|
| 587 |
+
|
| 588 |
+
00:08:21.450 --> 00:08:23.450
|
| 589 |
+
puede guardar, pero las bases de datos tienen
|
| 590 |
+
|
| 591 |
+
00:08:23.450 --> 00:08:27.050
|
| 592 |
+
reglas específicas para guardar, para editar, etcétera. Es
|
| 593 |
+
|
| 594 |
+
00:08:27.050 --> 00:08:29.770
|
| 595 |
+
la forma más fácil de manejar datos dentro
|
| 596 |
+
|
| 597 |
+
00:08:29.770 --> 00:08:31.745
|
| 598 |
+
de una aplicación, y es lo más común
|
| 599 |
+
|
| 600 |
+
00:08:31.745 --> 00:08:33.584
|
| 601 |
+
que tú aprendes cuando aprendes un lenguaje de
|
| 602 |
+
|
| 603 |
+
00:08:33.584 --> 00:08:36.325
|
| 604 |
+
backend o un lenguaje de desarrollo de aplicaciones
|
| 605 |
+
|
| 606 |
+
00:08:36.385 --> 00:08:39.664
|
| 607 |
+
móviles, etcétera. Es extremadamente común y necesario para
|
| 608 |
+
|
| 609 |
+
00:08:39.664 --> 00:08:42.304
|
| 610 |
+
prácticamente cualquier empleo de desarrollo de software. Existen
|
| 611 |
+
|
| 612 |
+
00:08:42.304 --> 00:08:43.745
|
| 613 |
+
otros tipos de bases de datos que no
|
| 614 |
+
|
| 615 |
+
00:08:43.745 --> 00:08:46.860
|
| 616 |
+
son relacionales, se conocen como no SQL. La
|
| 617 |
+
|
| 618 |
+
00:08:46.860 --> 00:08:48.880
|
| 619 |
+
más común son las bases de datos documentales,
|
| 620 |
+
|
| 621 |
+
00:08:49.180 --> 00:08:53.020
|
| 622 |
+
que son básicamente, irónicamente, como tablitas de Excel
|
| 623 |
+
|
| 624 |
+
00:08:53.020 --> 00:08:56.380
|
| 625 |
+
que tienen diferentes variables que van cambiando. También
|
| 626 |
+
|
| 627 |
+
00:08:56.380 --> 00:08:58.540
|
| 628 |
+
existen bases de datos que son gráficos o
|
| 629 |
+
|
| 630 |
+
00:08:58.540 --> 00:09:00.765
|
| 631 |
+
grafos, y bases de datos que son llave
|
| 632 |
+
|
| 633 |
+
00:09:00.765 --> 00:09:03.085
|
| 634 |
+
valor, que simplemente guardan una variable con un
|
| 635 |
+
|
| 636 |
+
00:09:03.085 --> 00:09:06.125
|
| 637 |
+
valor. Típicamente cuando 1 hace caché, que es
|
| 638 |
+
|
| 639 |
+
00:09:06.125 --> 00:09:08.685
|
| 640 |
+
guardar en memoria RAM los datos de algo
|
| 641 |
+
|
| 642 |
+
00:09:08.685 --> 00:09:11.405
|
| 643 |
+
que 1 usa constantemente, 1 usa una base
|
| 644 |
+
|
| 645 |
+
00:09:11.405 --> 00:09:13.690
|
| 646 |
+
de datos llave valor. La más común de
|
| 647 |
+
|
| 648 |
+
00:09:13.690 --> 00:09:16.170
|
| 649 |
+
ellas se llama Redis. De esto tampoco te
|
| 650 |
+
|
| 651 |
+
00:09:16.170 --> 00:09:18.910
|
| 652 |
+
tienes que preocupar. Tenemos cursos de no SQL,
|
| 653 |
+
|
| 654 |
+
00:09:18.970 --> 00:09:21.390
|
| 655 |
+
lo puedes buscar ahí arriba, puedes buscar MongoDB
|
| 656 |
+
|
| 657 |
+
00:09:21.529 --> 00:09:22.910
|
| 658 |
+
o puedes buscar Redis.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/01-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Cómo funciona el formato JPG.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:561e47b45e6f357d0bee9499103234fc22a5ff16be297fecb1e3ebff42b63377
|
| 3 |
+
size 174453175
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Cómo funciona el formato JPG.vtt
ADDED
|
@@ -0,0 +1,457 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.080 --> 00:00:02.879
|
| 4 |
+
El ojo humano no puede ver todos los
|
| 5 |
+
|
| 6 |
+
00:00:02.879 --> 00:00:05.920
|
| 7 |
+
colores. Hay varias cosas que son imperceptibles en
|
| 8 |
+
|
| 9 |
+
00:00:05.920 --> 00:00:08.559
|
| 10 |
+
nuestro ojo, pero cuando tomamos una fotografía, los
|
| 11 |
+
|
| 12 |
+
00:00:08.559 --> 00:00:11.599
|
| 13 |
+
sensores fotográficos guardan mucho más detalle en los
|
| 14 |
+
|
| 15 |
+
00:00:11.599 --> 00:00:14.725
|
| 16 |
+
formatos normales. En 1992, un grupo llamado el
|
| 17 |
+
|
| 18 |
+
00:00:14.725 --> 00:00:18.165
|
| 19 |
+
Join Photography Experse Group, o JPG, creó el
|
| 20 |
+
|
| 21 |
+
00:00:18.165 --> 00:00:22.005
|
| 22 |
+
formato JPG, un formato especial de compresión de
|
| 23 |
+
|
| 24 |
+
00:00:22.005 --> 00:00:25.260
|
| 25 |
+
imágenes que aprovecha esta característica del ojo humano
|
| 26 |
+
|
| 27 |
+
00:00:25.420 --> 00:00:27.820
|
| 28 |
+
para comprimir las fotos de una manera muy
|
| 29 |
+
|
| 30 |
+
00:00:27.820 --> 00:00:30.740
|
| 31 |
+
profunda. Primero tenemos que entender la diferencia entre
|
| 32 |
+
|
| 33 |
+
00:00:30.740 --> 00:00:33.500
|
| 34 |
+
una pantalla y el medio impreso. Cuando tú
|
| 35 |
+
|
| 36 |
+
00:00:33.500 --> 00:00:35.340
|
| 37 |
+
imprimes una foto, cuando tú ves una foto
|
| 38 |
+
|
| 39 |
+
00:00:35.340 --> 00:00:37.440
|
| 40 |
+
en el mundo real, esta foto está dividida
|
| 41 |
+
|
| 42 |
+
00:00:37.500 --> 00:00:40.807
|
| 43 |
+
realmente en 4 grandes colores, 4 grandes tintas,
|
| 44 |
+
|
| 45 |
+
00:00:40.807 --> 00:00:42.995
|
| 46 |
+
que son típicamente las 4 tintas que tiene
|
| 47 |
+
|
| 48 |
+
00:00:42.995 --> 00:00:48.215
|
| 49 |
+
una impresora, CMYK, cian, magenta, amarillo y negro.
|
| 50 |
+
|
| 51 |
+
00:00:48.274 --> 00:00:50.355
|
| 52 |
+
La combinación de cian, magenta, amarillo y negro
|
| 53 |
+
|
| 54 |
+
00:00:50.355 --> 00:00:52.675
|
| 55 |
+
da todos los colores que se pueden expresar
|
| 56 |
+
|
| 57 |
+
00:00:52.675 --> 00:00:55.000
|
| 58 |
+
en un papel, en un medio impreso. Pero
|
| 59 |
+
|
| 60 |
+
00:00:55.000 --> 00:00:58.300
|
| 61 |
+
en una pantalla funciona distinto, la luz tiene
|
| 62 |
+
|
| 63 |
+
00:00:58.760 --> 00:01:01.160
|
| 64 |
+
total color, que es el blanco, u ausencia
|
| 65 |
+
|
| 66 |
+
00:01:01.160 --> 00:01:03.800
|
| 67 |
+
absoluta de color, que es el negro. Entonces,
|
| 68 |
+
|
| 69 |
+
00:01:03.800 --> 00:01:06.840
|
| 70 |
+
¿cómo hacemos los puntos intermedios? Una pantalla tiene
|
| 71 |
+
|
| 72 |
+
00:01:06.840 --> 00:01:08.280
|
| 73 |
+
una serie de puntos que hemos visto en
|
| 74 |
+
|
| 75 |
+
00:01:08.280 --> 00:01:10.645
|
| 76 |
+
otras clases que se llaman pixeles. Cada 1
|
| 77 |
+
|
| 78 |
+
00:01:10.645 --> 00:01:12.845
|
| 79 |
+
de estos pixeles tiene 3 colores, el rojo,
|
| 80 |
+
|
| 81 |
+
00:01:12.845 --> 00:01:15.825
|
| 82 |
+
el verde y el azul. Son 3 lámparas
|
| 83 |
+
|
| 84 |
+
00:01:15.965 --> 00:01:18.125
|
| 85 |
+
de estos 3 colores y dependiendo de su
|
| 86 |
+
|
| 87 |
+
00:01:18.125 --> 00:01:20.765
|
| 88 |
+
intensidad de brillo hay total rojo, total verde,
|
| 89 |
+
|
| 90 |
+
00:01:20.765 --> 00:01:22.860
|
| 91 |
+
total azul o ausencia de algunos de ellos.
|
| 92 |
+
|
| 93 |
+
00:01:23.020 --> 00:01:24.940
|
| 94 |
+
Esa intensidad de brillo es lo que genera
|
| 95 |
+
|
| 96 |
+
00:01:24.940 --> 00:01:27.100
|
| 97 |
+
el color en nuestras pantallas. La mayoría de
|
| 98 |
+
|
| 99 |
+
00:01:27.100 --> 00:01:29.900
|
| 100 |
+
formatos de captura de imagen completos, como los
|
| 101 |
+
|
| 102 |
+
00:01:29.900 --> 00:01:32.140
|
| 103 |
+
mapas de bits conocidos como BMP o como
|
| 104 |
+
|
| 105 |
+
00:01:32.140 --> 00:01:35.200
|
| 106 |
+
los PNGs, que son otro formato de compresión,
|
| 107 |
+
|
| 108 |
+
00:01:35.705 --> 00:01:38.425
|
| 109 |
+
guardan toda la información de cada píxel en
|
| 110 |
+
|
| 111 |
+
00:01:38.425 --> 00:01:40.985
|
| 112 |
+
cada punto, cuál es su total a rojo,
|
| 113 |
+
|
| 114 |
+
00:01:40.985 --> 00:01:42.585
|
| 115 |
+
verde y azul, que es la intensidad del
|
| 116 |
+
|
| 117 |
+
00:01:42.585 --> 00:01:45.565
|
| 118 |
+
brillo. Lo primero que hace JPG es transformarlo
|
| 119 |
+
|
| 120 |
+
00:01:45.625 --> 00:01:49.130
|
| 121 |
+
a otro formato que se llama YCVCR. La
|
| 122 |
+
|
| 123 |
+
00:01:49.130 --> 00:01:52.250
|
| 124 |
+
y es la cantidad de luz YCBCR es
|
| 125 |
+
|
| 126 |
+
00:01:52.250 --> 00:01:54.409
|
| 127 |
+
un plano cartesiano en un eje x y
|
| 128 |
+
|
| 129 |
+
00:01:54.409 --> 00:01:56.329
|
| 130 |
+
en un eje y que muestra, así como
|
| 131 |
+
|
| 132 |
+
00:01:56.329 --> 00:01:58.409
|
| 133 |
+
lo están viendo en este momento en pantalla,
|
| 134 |
+
|
| 135 |
+
00:01:58.409 --> 00:02:01.289
|
| 136 |
+
todo el arcoiris de color que existe dependiendo
|
| 137 |
+
|
| 138 |
+
00:02:01.289 --> 00:02:03.805
|
| 139 |
+
de un punto en el plano cartesiano. Esto
|
| 140 |
+
|
| 141 |
+
00:02:03.805 --> 00:02:06.125
|
| 142 |
+
es porque el ojo humano es menos sensible
|
| 143 |
+
|
| 144 |
+
00:02:06.125 --> 00:02:07.805
|
| 145 |
+
al color que a la luz y, de
|
| 146 |
+
|
| 147 |
+
00:02:07.805 --> 00:02:10.785
|
| 148 |
+
esa manera, guardando la luminancia de una fotografía,
|
| 149 |
+
|
| 150 |
+
00:02:10.925 --> 00:02:13.725
|
| 151 |
+
es más fácil poder comprimir el resto de
|
| 152 |
+
|
| 153 |
+
00:02:13.725 --> 00:02:15.830
|
| 154 |
+
los datos de su posición de color. Así
|
| 155 |
+
|
| 156 |
+
00:02:15.830 --> 00:02:19.110
|
| 157 |
+
que lo primero que hace JPG es agarrar
|
| 158 |
+
|
| 159 |
+
00:02:19.110 --> 00:02:20.629
|
| 160 |
+
esta foto, como esta foto que tengo acá
|
| 161 |
+
|
| 162 |
+
00:02:20.629 --> 00:02:22.950
|
| 163 |
+
de las montañas y cabaña, y luego pasar
|
| 164 |
+
|
| 165 |
+
00:02:22.950 --> 00:02:26.390
|
| 166 |
+
al plano de solamente iluminación o iluminación, que
|
| 167 |
+
|
| 168 |
+
00:02:26.390 --> 00:02:28.150
|
| 169 |
+
es este plano que me muestra la cantidad
|
| 170 |
+
|
| 171 |
+
00:02:28.150 --> 00:02:30.045
|
| 172 |
+
de brillo en cada 1 de los puntos.
|
| 173 |
+
|
| 174 |
+
00:02:30.285 --> 00:02:33.985
|
| 175 |
+
Y luego tengo un plano del croma azul
|
| 176 |
+
|
| 177 |
+
00:02:34.045 --> 00:02:36.765
|
| 178 |
+
y otro plano del croma rojo. Esto me
|
| 179 |
+
|
| 180 |
+
00:02:36.765 --> 00:02:39.565
|
| 181 |
+
construye todos los colores dependiendo de ese plano.
|
| 182 |
+
|
| 183 |
+
00:02:39.565 --> 00:02:41.805
|
| 184 |
+
Esta foto tendría esto en el croma azul
|
| 185 |
+
|
| 186 |
+
00:02:41.805 --> 00:02:43.659
|
| 187 |
+
y esto en el croma rojo. Yo entiendo
|
| 188 |
+
|
| 189 |
+
00:02:43.659 --> 00:02:45.019
|
| 190 |
+
que esto puede ser un poco extraño, pero
|
| 191 |
+
|
| 192 |
+
00:02:45.019 --> 00:02:47.500
|
| 193 |
+
así ha funcionado la fotografía, la impresión y
|
| 194 |
+
|
| 195 |
+
00:02:47.500 --> 00:02:50.379
|
| 196 |
+
muchos otros medios gráficos por mucho tiempo, son
|
| 197 |
+
|
| 198 |
+
00:02:50.379 --> 00:02:53.099
|
| 199 |
+
simplemente estándares. Ahora que tenemos la imagen dividida
|
| 200 |
+
|
| 201 |
+
00:02:53.099 --> 00:02:55.439
|
| 202 |
+
en estas 3 opciones, lo siguiente es crear
|
| 203 |
+
|
| 204 |
+
00:02:55.500 --> 00:02:58.379
|
| 205 |
+
bloques, cuadritos de la imagen, porque en ocasiones
|
| 206 |
+
|
| 207 |
+
00:02:58.379 --> 00:03:00.915
|
| 208 |
+
no necesitamos tanto detalle a nivel de píxel.
|
| 209 |
+
|
| 210 |
+
00:03:00.915 --> 00:03:03.155
|
| 211 |
+
Entonces, vamos a fragmentar la imagen en mini
|
| 212 |
+
|
| 213 |
+
00:03:03.155 --> 00:03:06.275
|
| 214 |
+
cuadritos. Típicamente, en JPG cada 1 de estos
|
| 215 |
+
|
| 216 |
+
00:03:06.275 --> 00:03:09.235
|
| 217 |
+
cuadritos es de 8 por 8 píxeles, pero
|
| 218 |
+
|
| 219 |
+
00:03:09.235 --> 00:03:10.995
|
| 220 |
+
los cuadritos pueden ser mucho más grandes y
|
| 221 |
+
|
| 222 |
+
00:03:10.995 --> 00:03:13.235
|
| 223 |
+
mucho más pequeños dependiendo de la calidad de
|
| 224 |
+
|
| 225 |
+
00:03:13.235 --> 00:03:16.330
|
| 226 |
+
exportación del JPG que quiero. Entre más pequeños
|
| 227 |
+
|
| 228 |
+
00:03:16.330 --> 00:03:20.090
|
| 229 |
+
los cuadritos, más resolución y más detalle tengo.
|
| 230 |
+
|
| 231 |
+
00:03:20.090 --> 00:03:22.250
|
| 232 |
+
Entre más grandes los cuadritos, pues más voy
|
| 233 |
+
|
| 234 |
+
00:03:22.250 --> 00:03:24.570
|
| 235 |
+
a tener pérdida. Por ejemplo, en esta foto
|
| 236 |
+
|
| 237 |
+
00:03:24.570 --> 00:03:26.170
|
| 238 |
+
de un gato, entre más me voy a
|
| 239 |
+
|
| 240 |
+
00:03:26.170 --> 00:03:29.610
|
| 241 |
+
la esquina superior derecha, más pixeles tengo porque
|
| 242 |
+
|
| 243 |
+
00:03:29.610 --> 00:03:31.985
|
| 244 |
+
tengo bloques más pequeños, y entre más me
|
| 245 |
+
|
| 246 |
+
00:03:31.985 --> 00:03:34.385
|
| 247 |
+
voy hacia la izquierda, los bloques son mucho
|
| 248 |
+
|
| 249 |
+
00:03:34.385 --> 00:03:37.505
|
| 250 |
+
más grandotes, entonces tengo mucha más pérdida. Algo
|
| 251 |
+
|
| 252 |
+
00:03:37.505 --> 00:03:39.505
|
| 253 |
+
interesante es que el JPG reduce más o
|
| 254 |
+
|
| 255 |
+
00:03:39.505 --> 00:03:42.405
|
| 256 |
+
menos a una cuarta parte la cantidad de
|
| 257 |
+
|
| 258 |
+
00:03:42.465 --> 00:03:45.970
|
| 259 |
+
detalle en los canales de color, sin remover
|
| 260 |
+
|
| 261 |
+
00:03:45.970 --> 00:03:48.610
|
| 262 |
+
la iluminación. De nuevo, porque el ojo humano
|
| 263 |
+
|
| 264 |
+
00:03:48.610 --> 00:03:50.590
|
| 265 |
+
no le importa tanto el color como la
|
| 266 |
+
|
| 267 |
+
00:03:50.590 --> 00:03:53.030
|
| 268 |
+
iluminación. Ahora, sin ir tan profundamente en detalle,
|
| 269 |
+
|
| 270 |
+
00:03:53.250 --> 00:03:56.049
|
| 271 |
+
se aplica una onda de coseno y la
|
| 272 |
+
|
| 273 |
+
00:03:56.049 --> 00:03:58.209
|
| 274 |
+
transformada del coseno. ¿Recuerdan la ecuación del coseno?
|
| 275 |
+
|
| 276 |
+
00:03:58.209 --> 00:03:59.730
|
| 277 |
+
La ecuación del coseno es esa que funciona
|
| 278 |
+
|
| 279 |
+
00:03:59.730 --> 00:04:01.465
|
| 280 |
+
como una onda, onda, y lo que hace
|
| 281 |
+
|
| 282 |
+
00:04:01.465 --> 00:04:03.465
|
| 283 |
+
es ir a la frecuencia de cada 1
|
| 284 |
+
|
| 285 |
+
00:04:03.465 --> 00:04:05.645
|
| 286 |
+
de los bloques de 8 píxeles y convertirlo
|
| 287 |
+
|
| 288 |
+
00:04:06.345 --> 00:04:08.665
|
| 289 |
+
en una expresión matemática mucho más simple en
|
| 290 |
+
|
| 291 |
+
00:04:08.665 --> 00:04:11.385
|
| 292 |
+
una matriz. Estos son muchos detalles, si quieres
|
| 293 |
+
|
| 294 |
+
00:04:11.385 --> 00:04:13.705
|
| 295 |
+
en los recursos explicamos cada 1 de los
|
| 296 |
+
|
| 297 |
+
00:04:13.705 --> 00:04:16.240
|
| 298 |
+
componentes matemáticos. Lo único que tienes que entender
|
| 299 |
+
|
| 300 |
+
00:04:16.240 --> 00:04:19.060
|
| 301 |
+
es que, de toda la resolución de información
|
| 302 |
+
|
| 303 |
+
00:04:19.680 --> 00:04:21.279
|
| 304 |
+
matemática de cada 1 de los pixeles en
|
| 305 |
+
|
| 306 |
+
00:04:21.279 --> 00:04:22.800
|
| 307 |
+
cada 1 de estos bloques de 8 por
|
| 308 |
+
|
| 309 |
+
00:04:22.800 --> 00:04:25.760
|
| 310 |
+
8, se convierte en una ecuación matemática de
|
| 311 |
+
|
| 312 |
+
00:04:25.760 --> 00:04:29.220
|
| 313 |
+
onda de coseno para expresarlo en menos bytes.
|
| 314 |
+
|
| 315 |
+
00:04:29.345 --> 00:04:32.785
|
| 316 |
+
Luego se aplican diferentes mecanismos matemáticos de algebra
|
| 317 |
+
|
| 318 |
+
00:04:32.785 --> 00:04:35.345
|
| 319 |
+
lineal para comprimir los datos que ya existen.
|
| 320 |
+
|
| 321 |
+
00:04:35.345 --> 00:04:38.305
|
| 322 |
+
Estos mecanismos se conocen como cuantización. 1 de
|
| 323 |
+
|
| 324 |
+
00:04:38.305 --> 00:04:39.665
|
| 325 |
+
ellos, por ejemplo, es que se va a
|
| 326 |
+
|
| 327 |
+
00:04:39.665 --> 00:04:42.145
|
| 328 |
+
ir en zigzag por los diferentes componentes de
|
| 329 |
+
|
| 330 |
+
00:04:42.145 --> 00:04:45.349
|
| 331 |
+
los pixeles para ir agrupando cada 1 de
|
| 332 |
+
|
| 333 |
+
00:04:45.349 --> 00:04:47.750
|
| 334 |
+
los elementos de la matriz. Hacemos esto en
|
| 335 |
+
|
| 336 |
+
00:04:47.750 --> 00:04:50.870
|
| 337 |
+
grupos de 8 bloques para la iluminación, el
|
| 338 |
+
|
| 339 |
+
00:04:50.870 --> 00:04:53.610
|
| 340 |
+
cromo azul, el croma rojo, y luego agarramos
|
| 341 |
+
|
| 342 |
+
00:04:53.750 --> 00:04:56.505
|
| 343 |
+
esos 3 componentes que han sido comprimidos matemáticamente,
|
| 344 |
+
|
| 345 |
+
00:04:57.125 --> 00:04:59.765
|
| 346 |
+
los volvemos a convertir a RGB, a rojo,
|
| 347 |
+
|
| 348 |
+
00:04:59.765 --> 00:05:01.685
|
| 349 |
+
verde y azul, y eso lo volvemos a
|
| 350 |
+
|
| 351 |
+
00:05:01.685 --> 00:05:03.685
|
| 352 |
+
meter en un solo archivo y tienes tu
|
| 353 |
+
|
| 354 |
+
00:05:03.685 --> 00:05:06.085
|
| 355 |
+
imagen JPG. Lo más importante que tienes que
|
| 356 |
+
|
| 357 |
+
00:05:06.085 --> 00:05:09.445
|
| 358 |
+
recordar es que JPG elimina las cosas que
|
| 359 |
+
|
| 360 |
+
00:05:09.445 --> 00:05:12.220
|
| 361 |
+
el ojo humano no puede ver, cambia el
|
| 362 |
+
|
| 363 |
+
00:05:12.220 --> 00:05:14.460
|
| 364 |
+
formato de un formato rojo, verde, azul a
|
| 365 |
+
|
| 366 |
+
00:05:14.460 --> 00:05:17.440
|
| 367 |
+
un formato iluminancia, croma azul y croma rojo.
|
| 368 |
+
|
| 369 |
+
00:05:17.700 --> 00:05:20.700
|
| 370 |
+
Luego vuelve la imagen en pequeños bloques de
|
| 371 |
+
|
| 372 |
+
00:05:20.700 --> 00:05:24.264
|
| 373 |
+
8 píxeles por 8 píxeles, donde busca una
|
| 374 |
+
|
| 375 |
+
00:05:24.264 --> 00:05:27.485
|
| 376 |
+
especie de promedio de los colores expresados matemáticamente
|
| 377 |
+
|
| 378 |
+
00:05:28.504 --> 00:05:30.664
|
| 379 |
+
para luego expresarlo más chiquito en un archivo
|
| 380 |
+
|
| 381 |
+
00:05:30.664 --> 00:05:33.065
|
| 382 |
+
más pequeño con menos necesidad de bytes y
|
| 383 |
+
|
| 384 |
+
00:05:33.065 --> 00:05:35.705
|
| 385 |
+
volverlo a combinar y volver a comprimir en
|
| 386 |
+
|
| 387 |
+
00:05:35.705 --> 00:05:38.479
|
| 388 |
+
un archivo RGB final, que es la imagen
|
| 389 |
+
|
| 390 |
+
00:05:38.479 --> 00:05:40.800
|
| 391 |
+
que terminamos viendo como JPG. JPG no es
|
| 392 |
+
|
| 393 |
+
00:05:40.800 --> 00:05:43.539
|
| 394 |
+
el único formato, existe un formato llamado PNG
|
| 395 |
+
|
| 396 |
+
00:05:43.759 --> 00:05:48.080
|
| 397 |
+
o Portable Network Graphics, que no comprime las
|
| 398 |
+
|
| 399 |
+
00:05:48.080 --> 00:05:51.675
|
| 400 |
+
imágenes como las comprime JPG. Este formato retiene
|
| 401 |
+
|
| 402 |
+
00:05:51.675 --> 00:05:54.655
|
| 403 |
+
la calidad y funciona de una manera completamente
|
| 404 |
+
|
| 405 |
+
00:05:54.715 --> 00:05:56.914
|
| 406 |
+
distinta, pero tiende a tener formatos de archivo
|
| 407 |
+
|
| 408 |
+
00:05:56.914 --> 00:05:59.675
|
| 409 |
+
mucho más grandes por eso. PNG viene en
|
| 410 |
+
|
| 411 |
+
00:05:59.675 --> 00:06:03.115
|
| 412 |
+
2 sabores, PNG 8 y PNG 32. Si
|
| 413 |
+
|
| 414 |
+
00:06:03.115 --> 00:06:04.715
|
| 415 |
+
has tomado el curso de fundamentos de ingeniería
|
| 416 |
+
|
| 417 |
+
00:06:04.715 --> 00:06:06.510
|
| 418 |
+
software, sabes que el 8 y el 32
|
| 419 |
+
|
| 420 |
+
00:06:06.510 --> 00:06:08.990
|
| 421 |
+
tienen que ver con cantidad de bits, que
|
| 422 |
+
|
| 423 |
+
00:06:08.990 --> 00:06:11.070
|
| 424 |
+
es la cantidad de información que tienes. Para
|
| 425 |
+
|
| 426 |
+
00:06:11.070 --> 00:06:13.550
|
| 427 |
+
que te hagas una idea, PNG 8 tiene
|
| 428 |
+
|
| 429 |
+
00:06:13.550 --> 00:06:15.950
|
| 430 |
+
muy poquitos colores porque solamente es 8 bits,
|
| 431 |
+
|
| 432 |
+
00:06:15.950 --> 00:06:19.044
|
| 433 |
+
donde PNG 32 tiene 1000000 de colores. PNG
|
| 434 |
+
|
| 435 |
+
00:06:19.044 --> 00:06:23.044
|
| 436 |
+
32 puede tener transparencias perfectas, donde los archivos
|
| 437 |
+
|
| 438 |
+
00:06:23.044 --> 00:06:25.305
|
| 439 |
+
JPG no tienen la capacidad de ser transparentes.
|
| 440 |
+
|
| 441 |
+
00:06:25.764 --> 00:06:28.245
|
| 442 |
+
PNG 8 también puede tener transparencia, pero solamente
|
| 443 |
+
|
| 444 |
+
00:06:28.245 --> 00:06:30.245
|
| 445 |
+
tiene un color para la transparencia, así que
|
| 446 |
+
|
| 447 |
+
00:06:30.245 --> 00:06:32.790
|
| 448 |
+
lo transparente ve como si fuera un hueco
|
| 449 |
+
|
| 450 |
+
00:06:32.790 --> 00:06:36.470
|
| 451 |
+
pixelado, donde las transparencias de PNG 32 tienen
|
| 452 |
+
|
| 453 |
+
00:06:36.470 --> 00:06:39.930
|
| 454 |
+
todo el arcoiris de transparencia, incluyendo bordes completamente
|
| 455 |
+
|
| 456 |
+
00:06:39.990 --> 00:06:40.490
|
| 457 |
+
suaves.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
https://www.freecodecamp.org/news/how-jpg-works-a4dbd2316f35/
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/02-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/03-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/03-Videos contenedores codecs y protocolos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fb873924e477c6a1da9d77d52ba5ed6e37a99480548e918aa657d85ea51b113a
|
| 3 |
+
size 264338212
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Cómo Funciona un zip.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e2b83ffa4e9d32fd44088b03c347997005eac16bf71f4c83038a79f06d5da7ff
|
| 3 |
+
size 192800425
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Cómo Funciona un zip.vtt
ADDED
|
@@ -0,0 +1,562 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.160 --> 00:00:02.159
|
| 4 |
+
Archivos punto ZIP los conoces como los archivos
|
| 5 |
+
|
| 6 |
+
00:00:02.159 --> 00:00:04.560
|
| 7 |
+
comprimidos. La forma en la que comprimen se
|
| 8 |
+
|
| 9 |
+
00:00:04.560 --> 00:00:07.600
|
| 10 |
+
puede entender, es una ecuación matemática interesante. Vamos
|
| 11 |
+
|
| 12 |
+
00:00:07.600 --> 00:00:10.500
|
| 13 |
+
a comprimir una palabra y a entender matemáticamente
|
| 14 |
+
|
| 15 |
+
00:00:10.600 --> 00:00:13.094
|
| 16 |
+
esa palabra, cómo se comprime. La palabra que
|
| 17 |
+
|
| 18 |
+
00:00:13.094 --> 00:00:16.535
|
| 19 |
+
vamos a comprimir se llama manzanas amarillas de
|
| 20 |
+
|
| 21 |
+
00:00:16.535 --> 00:00:18.855
|
| 22 |
+
Ana. Para efectos de la clase, vamos a
|
| 23 |
+
|
| 24 |
+
00:00:18.855 --> 00:00:21.654
|
| 25 |
+
imaginar que toda la palabra es una palabra
|
| 26 |
+
|
| 27 |
+
00:00:21.654 --> 00:00:24.055
|
| 28 |
+
en mayúscula, entonces no tenemos letras mayúsculas o
|
| 29 |
+
|
| 30 |
+
00:00:24.055 --> 00:00:26.380
|
| 31 |
+
minúsculas, en la práctica sí lo tendríamos. Manzanas
|
| 32 |
+
|
| 33 |
+
00:00:26.380 --> 00:00:29.580
|
| 34 |
+
amarillas de Ana. Ahora que tenemos la palabra,
|
| 35 |
+
|
| 36 |
+
00:00:29.580 --> 00:00:32.940
|
| 37 |
+
tenemos que entender cuántas letras tiene y cuáles
|
| 38 |
+
|
| 39 |
+
00:00:32.940 --> 00:00:35.980
|
| 40 |
+
son las letras más frecuentes de la palabra
|
| 41 |
+
|
| 42 |
+
00:00:35.980 --> 00:00:38.220
|
| 43 |
+
manzanas de Ana. Así que lo que vamos
|
| 44 |
+
|
| 45 |
+
00:00:38.220 --> 00:00:39.739
|
| 46 |
+
a hacer es que vamos a analizar esta
|
| 47 |
+
|
| 48 |
+
00:00:39.739 --> 00:00:41.995
|
| 49 |
+
palabra. La letra más frecuente es la letra
|
| 50 |
+
|
| 51 |
+
00:00:41.995 --> 00:00:45.055
|
| 52 |
+
a. Hay 8 letras a, hay 3 letras
|
| 53 |
+
|
| 54 |
+
00:00:45.195 --> 00:00:48.555
|
| 55 |
+
n, hay 3 espacios. El espacio es una
|
| 56 |
+
|
| 57 |
+
00:00:48.555 --> 00:00:51.035
|
| 58 |
+
letra, el espacio es un byte. Tú guardas
|
| 59 |
+
|
| 60 |
+
00:00:51.035 --> 00:00:53.594
|
| 61 |
+
en tu computadora cuando escribes un espacio, un
|
| 62 |
+
|
| 63 |
+
00:00:53.594 --> 00:00:56.597
|
| 64 |
+
byte, cuyo valor es espacio. La m tiene
|
| 65 |
+
|
| 66 |
+
00:00:56.597 --> 00:00:59.506
|
| 67 |
+
2, tiene 2 s, 2 l, una z,
|
| 68 |
+
|
| 69 |
+
00:00:59.506 --> 00:01:02.030
|
| 70 |
+
una r, una I, una d y una
|
| 71 |
+
|
| 72 |
+
00:01:02.030 --> 00:01:04.430
|
| 73 |
+
e. Ahora que tengo clara la frecuencia de
|
| 74 |
+
|
| 75 |
+
00:01:04.430 --> 00:01:07.250
|
| 76 |
+
las palabras, puedo empezar a comprimir. Tú sabes
|
| 77 |
+
|
| 78 |
+
00:01:07.630 --> 00:01:10.655
|
| 79 |
+
que las letras dentro de una computadora son
|
| 80 |
+
|
| 81 |
+
00:01:10.655 --> 00:01:13.454
|
| 82 |
+
bytes, es decir, 8 bits, 8 grupos de
|
| 83 |
+
|
| 84 |
+
00:01:13.454 --> 00:01:16.414
|
| 85 |
+
0 y 1, y estos representan un número,
|
| 86 |
+
|
| 87 |
+
00:01:16.414 --> 00:01:17.935
|
| 88 |
+
y ese número es la forma en la
|
| 89 |
+
|
| 90 |
+
00:01:17.935 --> 00:01:19.534
|
| 91 |
+
que se guarda en el computador cada una
|
| 92 |
+
|
| 93 |
+
00:01:19.534 --> 00:01:21.854
|
| 94 |
+
de las letras. Los números corresponden a una
|
| 95 |
+
|
| 96 |
+
00:01:21.854 --> 00:01:24.280
|
| 97 |
+
tabla que se llama la tabla ASCII, o
|
| 98 |
+
|
| 99 |
+
00:01:24.659 --> 00:01:27.539
|
| 100 |
+
ASCII. La letra m, por ejemplo, es el
|
| 101 |
+
|
| 102 |
+
00:01:27.539 --> 00:01:31.380
|
| 103 |
+
número 77 en ASCII, y la letra a
|
| 104 |
+
|
| 105 |
+
00:01:31.380 --> 00:01:34.840
|
| 106 |
+
es el 65. Así que internamente entre una
|
| 107 |
+
|
| 108 |
+
00:01:34.979 --> 00:01:37.675
|
| 109 |
+
computadora, una letra a es el número en
|
| 110 |
+
|
| 111 |
+
00:01:37.675 --> 00:01:40.475
|
| 112 |
+
bytes que equivale a 65. Manzanas amarillas de
|
| 113 |
+
|
| 114 |
+
00:01:40.475 --> 00:01:43.995
|
| 115 |
+
Ana son 25 letras, es decir, se van
|
| 116 |
+
|
| 117 |
+
00:01:43.995 --> 00:01:46.955
|
| 118 |
+
a almacenar 25 bytes de información en la
|
| 119 |
+
|
| 120 |
+
00:01:46.955 --> 00:01:50.575
|
| 121 |
+
computadora. Cada byte son 8 bits. Entonces, multiplicamos
|
| 122 |
+
|
| 123 |
+
00:01:51.035 --> 00:01:53.250
|
| 124 |
+
25 por 8 y entendemos que en total
|
| 125 |
+
|
| 126 |
+
00:01:53.250 --> 00:01:55.569
|
| 127 |
+
la cantidad de datos que tiene Manzanas amarillas
|
| 128 |
+
|
| 129 |
+
00:01:55.569 --> 00:01:58.450
|
| 130 |
+
de Ana son 200 bits. La idea de
|
| 131 |
+
|
| 132 |
+
00:01:58.450 --> 00:02:02.789
|
| 133 |
+
la compresión es que necesitemos la menor cantidad
|
| 134 |
+
|
| 135 |
+
00:02:03.090 --> 00:02:07.365
|
| 136 |
+
de bits para expresar las letras más comunes
|
| 137 |
+
|
| 138 |
+
00:02:07.365 --> 00:02:09.625
|
| 139 |
+
de las palabras que están en un archivo.
|
| 140 |
+
|
| 141 |
+
00:02:10.405 --> 00:02:12.425
|
| 142 |
+
Entonces, en el caso de nuestra palabra manzanas
|
| 143 |
+
|
| 144 |
+
00:02:12.485 --> 00:02:15.205
|
| 145 |
+
amarillas de Ana, la letra a es la
|
| 146 |
+
|
| 147 |
+
00:02:15.205 --> 00:02:17.910
|
| 148 |
+
que más se representa. Por ende, debería haber
|
| 149 |
+
|
| 150 |
+
00:02:17.910 --> 00:02:19.310
|
| 151 |
+
una forma en la que en vez de
|
| 152 |
+
|
| 153 |
+
00:02:19.310 --> 00:02:21.950
|
| 154 |
+
que usáramos 8 bits, 8 ceros y unos
|
| 155 |
+
|
| 156 |
+
00:02:21.950 --> 00:02:25.970
|
| 157 |
+
para representar la letra a, usáramos solamente un
|
| 158 |
+
|
| 159 |
+
00:02:26.030 --> 00:02:28.030
|
| 160 |
+
bit. Y si la segunda letra más común
|
| 161 |
+
|
| 162 |
+
00:02:28.030 --> 00:02:30.965
|
| 163 |
+
es la letra n, que tiene 3 apariciones
|
| 164 |
+
|
| 165 |
+
00:02:30.965 --> 00:02:33.385
|
| 166 |
+
en nuestro archivo, o el espacio que aparece
|
| 167 |
+
|
| 168 |
+
00:02:33.445 --> 00:02:35.925
|
| 169 |
+
3 veces en el archivo Manzanas amarilles de
|
| 170 |
+
|
| 171 |
+
00:02:35.925 --> 00:02:38.085
|
| 172 |
+
Ana, pues debería requerir un máximo de 2
|
| 173 |
+
|
| 174 |
+
00:02:38.085 --> 00:02:41.445
|
| 175 |
+
bits o de 3 bits para representarse. Esto
|
| 176 |
+
|
| 177 |
+
00:02:41.445 --> 00:02:44.390
|
| 178 |
+
existe. Nosotros podemos crear algo que se llama
|
| 179 |
+
|
| 180 |
+
00:02:44.390 --> 00:02:47.350
|
| 181 |
+
un árbol binario. Un árbol binario es una
|
| 182 |
+
|
| 183 |
+
00:02:47.350 --> 00:02:49.430
|
| 184 |
+
estructura de datos que tiene una raíz y
|
| 185 |
+
|
| 186 |
+
00:02:49.430 --> 00:02:52.150
|
| 187 |
+
esa raíz tiene 2 caminos. Si agarro para
|
| 188 |
+
|
| 189 |
+
00:02:52.150 --> 00:02:54.069
|
| 190 |
+
la derecha es un 1 y si agarro
|
| 191 |
+
|
| 192 |
+
00:02:54.069 --> 00:02:56.069
|
| 193 |
+
para la izquierda es un 0. Y cada
|
| 194 |
+
|
| 195 |
+
00:02:56.069 --> 00:02:58.150
|
| 196 |
+
1 de estos nodos tiene máximo 2 caminos,
|
| 197 |
+
|
| 198 |
+
00:02:58.150 --> 00:03:01.185
|
| 199 |
+
por eso se llaman árboles binarios, porque cada
|
| 200 |
+
|
| 201 |
+
00:03:01.405 --> 00:03:04.205
|
| 202 |
+
punto o cada nodo del árbol solamente agarra
|
| 203 |
+
|
| 204 |
+
00:03:04.205 --> 00:03:07.805
|
| 205 |
+
hacia 2 lados. Esto es una representación gráfica
|
| 206 |
+
|
| 207 |
+
00:03:07.805 --> 00:03:10.205
|
| 208 |
+
de una estructura matemática. Por ahora no te
|
| 209 |
+
|
| 210 |
+
00:03:10.205 --> 00:03:13.190
|
| 211 |
+
preocupes, simplemente piensa que hay una raíz. Y
|
| 212 |
+
|
| 213 |
+
00:03:13.190 --> 00:03:15.909
|
| 214 |
+
la raíz, siempre donde agarro, es el inicio
|
| 215 |
+
|
| 216 |
+
00:03:15.909 --> 00:03:18.310
|
| 217 |
+
del archivo. Vamos a imaginar que cuando en
|
| 218 |
+
|
| 219 |
+
00:03:18.310 --> 00:03:20.709
|
| 220 |
+
mi raíz voy para la derecha, es un
|
| 221 |
+
|
| 222 |
+
00:03:20.709 --> 00:03:22.790
|
| 223 |
+
1 y cuando voy para la izquierda es
|
| 224 |
+
|
| 225 |
+
00:03:22.790 --> 00:03:25.030
|
| 226 |
+
un 0. Y vamos a asumir que cada
|
| 227 |
+
|
| 228 |
+
00:03:25.030 --> 00:03:27.605
|
| 229 |
+
vez que digo 1 es una letra, y
|
| 230 |
+
|
| 231 |
+
00:03:28.145 --> 00:03:30.945
|
| 232 |
+
cada vez que digo 0 estoy bajando en
|
| 233 |
+
|
| 234 |
+
00:03:30.945 --> 00:03:34.405
|
| 235 |
+
mi árbol. Entonces, la letra que más frecuencia
|
| 236 |
+
|
| 237 |
+
00:03:34.465 --> 00:03:36.465
|
| 238 |
+
tiene en mi archivo la voy a colocar
|
| 239 |
+
|
| 240 |
+
00:03:36.465 --> 00:03:38.640
|
| 241 |
+
en la primera ramita que tiene un 1.
|
| 242 |
+
|
| 243 |
+
00:03:38.880 --> 00:03:40.819
|
| 244 |
+
Así que de la raíz de mi árbol
|
| 245 |
+
|
| 246 |
+
00:03:40.960 --> 00:03:43.520
|
| 247 |
+
1, ahí voy a colocar letra a, y
|
| 248 |
+
|
| 249 |
+
00:03:43.520 --> 00:03:46.000
|
| 250 |
+
luego hago un 0 a la izquierda de
|
| 251 |
+
|
| 252 |
+
00:03:46.000 --> 00:03:47.840
|
| 253 |
+
la primera del primer nodo de mi árbol,
|
| 254 |
+
|
| 255 |
+
00:03:47.840 --> 00:03:49.780
|
| 256 |
+
esa primera raíz, y luego hago otro nodo
|
| 257 |
+
|
| 258 |
+
00:03:49.840 --> 00:03:52.400
|
| 259 |
+
de 1. La segunda letra más frecuente sería
|
| 260 |
+
|
| 261 |
+
00:03:52.400 --> 00:03:54.625
|
| 262 |
+
la n, y luego vuelvo a hacer otro
|
| 263 |
+
|
| 264 |
+
00:03:54.625 --> 00:03:57.345
|
| 265 |
+
0 y otro 1. La siguiente letra más
|
| 266 |
+
|
| 267 |
+
00:03:57.345 --> 00:03:59.825
|
| 268 |
+
frecuente es el espacio, otro 0 y otro
|
| 269 |
+
|
| 270 |
+
00:03:59.825 --> 00:04:01.905
|
| 271 |
+
1 es la m, otro 0 y otro
|
| 272 |
+
|
| 273 |
+
00:04:01.905 --> 00:04:04.225
|
| 274 |
+
1 es la s, otro 0 otro 1
|
| 275 |
+
|
| 276 |
+
00:04:04.225 --> 00:04:06.210
|
| 277 |
+
es la l, otro 0 otro 1 es
|
| 278 |
+
|
| 279 |
+
00:04:06.450 --> 00:04:08.470
|
| 280 |
+
z, otro 0, otro 1 es la r,
|
| 281 |
+
|
| 282 |
+
00:04:08.530 --> 00:04:11.090
|
| 283 |
+
0 1 I, 0 1 d y 0
|
| 284 |
+
|
| 285 |
+
00:04:11.090 --> 00:04:14.150
|
| 286 |
+
1 e. Lo único que hice fue organizarlos
|
| 287 |
+
|
| 288 |
+
00:04:14.770 --> 00:04:17.970
|
| 289 |
+
de mayor frecuencia a menor frecuencia, de acuerdo
|
| 290 |
+
|
| 291 |
+
00:04:17.970 --> 00:04:20.524
|
| 292 |
+
a la tabla de frecuencias. Ahora que tengo
|
| 293 |
+
|
| 294 |
+
00:04:20.524 --> 00:04:24.044
|
| 295 |
+
el árbol organizado, donde yo siempre sé que
|
| 296 |
+
|
| 297 |
+
00:04:24.044 --> 00:04:26.685
|
| 298 |
+
0 significa moverme a la izquierda, bajar un
|
| 299 |
+
|
| 300 |
+
00:04:26.685 --> 00:04:28.925
|
| 301 |
+
nivel en mi árbol y que 1 significa
|
| 302 |
+
|
| 303 |
+
00:04:28.925 --> 00:04:31.405
|
| 304 |
+
encontrar una letra, ahora voy a tratar de
|
| 305 |
+
|
| 306 |
+
00:04:31.405 --> 00:04:36.890
|
| 307 |
+
representar la palabra manzanas amarillas de Ana, expresada
|
| 308 |
+
|
| 309 |
+
00:04:37.350 --> 00:04:40.150
|
| 310 |
+
como los bits a donde llego a cada
|
| 311 |
+
|
| 312 |
+
00:04:40.150 --> 00:04:42.630
|
| 313 |
+
letra. Por ejemplo, la primera letra es la
|
| 314 |
+
|
| 315 |
+
00:04:42.630 --> 00:04:46.550
|
| 316 |
+
letra m. M está bajando 3 veces en
|
| 317 |
+
|
| 318 |
+
00:04:46.550 --> 00:04:48.630
|
| 319 |
+
el árbol y yendo a la derecha una
|
| 320 |
+
|
| 321 |
+
00:04:48.630 --> 00:04:50.715
|
| 322 |
+
sola vez. O sea, si yo fuera a
|
| 323 |
+
|
| 324 |
+
00:04:50.715 --> 00:04:52.875
|
| 325 |
+
expresar en movimientos de ceros y unos, la
|
| 326 |
+
|
| 327 |
+
00:04:52.875 --> 00:04:56.395
|
| 328 |
+
m sería 0 0 0 1. Entonces, esa
|
| 329 |
+
|
| 330 |
+
00:04:56.395 --> 00:04:59.455
|
| 331 |
+
m es 0 0 0 1. La letra
|
| 332 |
+
|
| 333 |
+
00:04:59.514 --> 00:05:02.014
|
| 334 |
+
a de manzanas, me sigue la letra a,
|
| 335 |
+
|
| 336 |
+
00:05:02.270 --> 00:05:05.310
|
| 337 |
+
sería simplemente un 1, porque es la primera
|
| 338 |
+
|
| 339 |
+
00:05:05.310 --> 00:05:07.550
|
| 340 |
+
letra de la raíz del árbol hacia abajo.
|
| 341 |
+
|
| 342 |
+
00:05:07.550 --> 00:05:10.850
|
| 343 |
+
Entonces, solamente necesito un bit para expresar a.
|
| 344 |
+
|
| 345 |
+
00:05:10.910 --> 00:05:13.950
|
| 346 |
+
¿Cuántos bits necesito para expresar n? 2, un
|
| 347 |
+
|
| 348 |
+
00:05:13.950 --> 00:05:15.870
|
| 349 |
+
0 y un 1, de acuerdo al árbol.
|
| 350 |
+
|
| 351 |
+
00:05:15.870 --> 00:05:17.775
|
| 352 |
+
Man. Hagamos lo mismo para el resto de
|
| 353 |
+
|
| 354 |
+
00:05:17.775 --> 00:05:20.495
|
| 355 |
+
las letras. Z, que está bastante lejos, es
|
| 356 |
+
|
| 357 |
+
00:05:20.495 --> 00:05:23.455
|
| 358 |
+
un 0 0 0 0 0 1, y
|
| 359 |
+
|
| 360 |
+
00:05:23.455 --> 00:05:25.375
|
| 361 |
+
ahí tengo la z. Otras tengo la a,
|
| 362 |
+
|
| 363 |
+
00:05:25.375 --> 00:05:26.974
|
| 364 |
+
que es un 1, la n, que es
|
| 365 |
+
|
| 366 |
+
00:05:26.974 --> 00:05:29.969
|
| 367 |
+
0 1, a un 1, y por último
|
| 368 |
+
|
| 369 |
+
00:05:29.969 --> 00:05:32.910
|
| 370 |
+
s, que es un 0 0 0 0
|
| 371 |
+
|
| 372 |
+
00:05:33.290 --> 00:05:35.290
|
| 373 |
+
1, bajo 4 veces en el árbol y
|
| 374 |
+
|
| 375 |
+
00:05:35.290 --> 00:05:37.210
|
| 376 |
+
un 1. Y con este tengo la palabra
|
| 377 |
+
|
| 378 |
+
00:05:37.210 --> 00:05:40.410
|
| 379 |
+
manzanas. Ahora hagamos todo el resto de la
|
| 380 |
+
|
| 381 |
+
00:05:40.410 --> 00:05:42.510
|
| 382 |
+
del árbol, todo el resto de las palabras.
|
| 383 |
+
|
| 384 |
+
00:05:42.810 --> 00:05:53.435
|
| 385 |
+
Manzanas, espacio, AMARILLAS espacio d e espacio ANA.
|
| 386 |
+
|
| 387 |
+
00:05:53.975 --> 00:05:56.295
|
| 388 |
+
Como ven acá, tengo un gran grupo de
|
| 389 |
+
|
| 390 |
+
00:05:56.295 --> 00:05:59.335
|
| 391 |
+
ceros y unos. Algunos son más grandes que
|
| 392 |
+
|
| 393 |
+
00:05:59.335 --> 00:06:02.480
|
| 394 |
+
un byte. Por ejemplo, la letra d tiene
|
| 395 |
+
|
| 396 |
+
00:06:02.480 --> 00:06:04.620
|
| 397 |
+
0 0 0 0 0 0 0 0
|
| 398 |
+
|
| 399 |
+
00:06:04.620 --> 00:06:08.800
|
| 400 |
+
0 1. Estos son 10 bits, mucho más
|
| 401 |
+
|
| 402 |
+
00:06:08.800 --> 00:06:11.200
|
| 403 |
+
grande que los 8 que normalmente tendría un
|
| 404 |
+
|
| 405 |
+
00:06:11.200 --> 00:06:13.780
|
| 406 |
+
byte, y la letra e tiene un 0
|
| 407 |
+
|
| 408 |
+
00:06:14.000 --> 00:06:16.665
|
| 409 |
+
adicional, son 11 bits. Sin embargo, cuando yo
|
| 410 |
+
|
| 411 |
+
00:06:16.665 --> 00:06:19.145
|
| 412 |
+
cuento todos estos bits, me doy cuenta que
|
| 413 |
+
|
| 414 |
+
00:06:19.145 --> 00:06:22.745
|
| 415 |
+
son tan solo 98 bits. La palabra original,
|
| 416 |
+
|
| 417 |
+
00:06:22.745 --> 00:06:25.945
|
| 418 |
+
manzanas amarillas de Ana, que son 25 letras,
|
| 419 |
+
|
| 420 |
+
00:06:25.945 --> 00:06:29.165
|
| 421 |
+
me habría tomado 25 bytes o 200 bits.
|
| 422 |
+
|
| 423 |
+
00:06:29.460 --> 00:06:32.420
|
| 424 |
+
Organizada con nuestro árbol, logré comprimirla en más
|
| 425 |
+
|
| 426 |
+
00:06:32.420 --> 00:06:34.740
|
| 427 |
+
de un 50 por 100 y logré hacer
|
| 428 |
+
|
| 429 |
+
00:06:34.740 --> 00:06:37.620
|
| 430 |
+
98 bits. Si la palabra fuera mucho más
|
| 431 |
+
|
| 432 |
+
00:06:37.620 --> 00:06:39.700
|
| 433 |
+
grande, si tuviera una frase más larga, la
|
| 434 |
+
|
| 435 |
+
00:06:39.700 --> 00:06:43.395
|
| 436 |
+
habría logrado comprimir aún más, porque entre más
|
| 437 |
+
|
| 438 |
+
00:06:43.395 --> 00:06:47.555
|
| 439 |
+
letras se comporten con alta frecuencia, entonces más
|
| 440 |
+
|
| 441 |
+
00:06:47.555 --> 00:06:49.395
|
| 442 |
+
fácil va a ser comprimir. Y esto es
|
| 443 |
+
|
| 444 |
+
00:06:49.395 --> 00:06:51.635
|
| 445 |
+
todo lo que tuve que hacer para comprimir
|
| 446 |
+
|
| 447 |
+
00:06:51.635 --> 00:06:55.055
|
| 448 |
+
mi archivo. Pero contémoslo, si agarramos todos estos
|
| 449 |
+
|
| 450 |
+
00:06:55.055 --> 00:06:55.551
|
| 451 |
+
ceros y unos en la versión comprimida y
|
| 452 |
+
|
| 453 |
+
00:06:55.551 --> 00:06:55.625
|
| 454 |
+
los dividimos en grupos de 8, como sería
|
| 455 |
+
|
| 456 |
+
00:06:55.625 --> 00:06:58.430
|
| 457 |
+
guardarlo en comprimida y los dividimos en grupos
|
| 458 |
+
|
| 459 |
+
00:06:58.430 --> 00:07:01.150
|
| 460 |
+
de 8, como sería guardarlo en bytes, tendría
|
| 461 |
+
|
| 462 |
+
00:07:01.150 --> 00:07:05.890
|
| 463 |
+
12.25, o sea, 12 bytes y un pedacito
|
| 464 |
+
|
| 465 |
+
00:07:06.190 --> 00:07:08.370
|
| 466 |
+
de otro byte, que para efectos prácticos podemos
|
| 467 |
+
|
| 468 |
+
00:07:08.510 --> 00:07:09.950
|
| 469 |
+
colocarle un montón de ceros al final para
|
| 470 |
+
|
| 471 |
+
00:07:09.950 --> 00:07:13.895
|
| 472 |
+
completarlo y serían en total 13 bytes. Son
|
| 473 |
+
|
| 474 |
+
00:07:13.895 --> 00:07:16.935
|
| 475 |
+
bytes normales, son letras normales. Por eso, Condor
|
| 476 |
+
|
| 477 |
+
00:07:16.935 --> 00:07:18.615
|
| 478 |
+
es un archivo punto ZIP está lleno de
|
| 479 |
+
|
| 480 |
+
00:07:18.615 --> 00:07:21.015
|
| 481 |
+
letras raras que no tienen sentido, porque si
|
| 482 |
+
|
| 483 |
+
00:07:21.015 --> 00:07:22.775
|
| 484 |
+
yo convierto cada 1 de esto en una
|
| 485 |
+
|
| 486 |
+
00:07:22.775 --> 00:07:24.780
|
| 487 |
+
letra para poder guardarlo en mi disco duro,
|
| 488 |
+
|
| 489 |
+
00:07:24.860 --> 00:07:26.380
|
| 490 |
+
voy a encontrar que cada 1 de estos
|
| 491 |
+
|
| 492 |
+
00:07:26.380 --> 00:07:28.300
|
| 493 |
+
números corresponde a una letra en la tabla
|
| 494 |
+
|
| 495 |
+
00:07:28.300 --> 00:07:31.260
|
| 496 |
+
ASCII, pero son números aleatorios que simplemente se
|
| 497 |
+
|
| 498 |
+
00:07:31.260 --> 00:07:33.660
|
| 499 |
+
ven como basura. Sin embargo, si yo agarro
|
| 500 |
+
|
| 501 |
+
00:07:33.660 --> 00:07:35.740
|
| 502 |
+
todos estos ceros y unos, que son 98
|
| 503 |
+
|
| 504 |
+
00:07:35.740 --> 00:07:37.469
|
| 505 |
+
bits, y también tengo, por ejemplo, en la
|
| 506 |
+
|
| 507 |
+
00:07:37.469 --> 00:07:37.567
|
| 508 |
+
cabecera del archivo guardado de algún formato, mi
|
| 509 |
+
|
| 510 |
+
00:07:37.567 --> 00:07:40.824
|
| 511 |
+
árbol donde tengo archivo guardado de algún formato
|
| 512 |
+
|
| 513 |
+
00:07:41.365 --> 00:07:44.324
|
| 514 |
+
mi árbol donde tengo la estructura de a
|
| 515 |
+
|
| 516 |
+
00:07:44.324 --> 00:07:46.745
|
| 517 |
+
qué letra corresponde cada 1 de los movimientos,
|
| 518 |
+
|
| 519 |
+
00:07:47.125 --> 00:07:50.085
|
| 520 |
+
entonces yo puedo descomprimir el archivo y volver
|
| 521 |
+
|
| 522 |
+
00:07:50.085 --> 00:07:52.645
|
| 523 |
+
a recrearlo y tener una vez más Manzanas
|
| 524 |
+
|
| 525 |
+
00:07:52.645 --> 00:07:55.270
|
| 526 |
+
amarillas de Ana. Ese proceso es el proceso
|
| 527 |
+
|
| 528 |
+
00:07:55.270 --> 00:07:56.950
|
| 529 |
+
a través del cual se comprime y se
|
| 530 |
+
|
| 531 |
+
00:07:56.950 --> 00:07:59.210
|
| 532 |
+
descomprime un archivo. No es el único algoritmo,
|
| 533 |
+
|
| 534 |
+
00:07:59.350 --> 00:08:02.310
|
| 535 |
+
hay varios algoritmos de compresión y descompresión, pero
|
| 536 |
+
|
| 537 |
+
00:08:02.310 --> 00:08:04.390
|
| 538 |
+
esta es una de las técnicas. Esto te
|
| 539 |
+
|
| 540 |
+
00:08:04.390 --> 00:08:06.470
|
| 541 |
+
recuerda que a pesar de que guardamos en
|
| 542 |
+
|
| 543 |
+
00:08:06.470 --> 00:08:10.215
|
| 544 |
+
grupos de bytes en nuestra computadora todo tipo
|
| 545 |
+
|
| 546 |
+
00:08:10.515 --> 00:08:12.675
|
| 547 |
+
de datos, podemos acceder bit por bit a
|
| 548 |
+
|
| 549 |
+
00:08:12.675 --> 00:08:14.935
|
| 550 |
+
cada 1 de ellos usando lenguajes de programación.
|
| 551 |
+
|
| 552 |
+
00:08:14.995 --> 00:08:17.155
|
| 553 |
+
De hecho, les dejo de reto que ustedes
|
| 554 |
+
|
| 555 |
+
00:08:17.155 --> 00:08:20.435
|
| 556 |
+
publiquen en los comentarios de esta clase algún
|
| 557 |
+
|
| 558 |
+
00:08:20.435 --> 00:08:23.235
|
| 559 |
+
código en cualquier lenguaje de programación donde implementen
|
| 560 |
+
|
| 561 |
+
00:08:23.235 --> 00:08:24.935
|
| 562 |
+
este algoritmo. Me encantará leerlo.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/04-Archivos y estructuras de datos/04-Resumen.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Arquitectura y funcionamiento interno de Blockchain.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4c877255a9b173f261196c8c1ed6e5385978f415a7905bec418490e618ab752d
|
| 3 |
+
size 465096382
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Arquitectura y funcionamiento interno de Blockchain.vtt
ADDED
|
@@ -0,0 +1,925 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.080 --> 00:00:03.040
|
| 4 |
+
Tú entiendes el dinero porque si tienes 10
|
| 5 |
+
|
| 6 |
+
00:00:03.040 --> 00:00:04.240
|
| 7 |
+
dólares y si los quieres dar a un
|
| 8 |
+
|
| 9 |
+
00:00:04.240 --> 00:00:06.480
|
| 10 |
+
amigo, simplemente se los entregas. Y si tú
|
| 11 |
+
|
| 12 |
+
00:00:06.480 --> 00:00:09.120
|
| 13 |
+
le envías ese dinero de tu banco al
|
| 14 |
+
|
| 15 |
+
00:00:09.120 --> 00:00:10.840
|
| 16 |
+
banco de la persona, tú das un clic
|
| 17 |
+
|
| 18 |
+
00:00:10.840 --> 00:00:12.320
|
| 19 |
+
y ese dinero se resta de tu cuenta
|
| 20 |
+
|
| 21 |
+
00:00:12.320 --> 00:00:13.440
|
| 22 |
+
y se suma a la cuenta de él,
|
| 23 |
+
|
| 24 |
+
00:00:13.440 --> 00:00:15.475
|
| 25 |
+
¿verdad? Aquí es donde necesito que pares a
|
| 26 |
+
|
| 27 |
+
00:00:15.475 --> 00:00:18.355
|
| 28 |
+
pensar un minuto. Cuando tú envías 10 dólares
|
| 29 |
+
|
| 30 |
+
00:00:18.355 --> 00:00:20.135
|
| 31 |
+
de tu banco al banco de otra persona,
|
| 32 |
+
|
| 33 |
+
00:00:20.355 --> 00:00:23.235
|
| 34 |
+
no hubo una transacción de billetes hechos de
|
| 35 |
+
|
| 36 |
+
00:00:23.235 --> 00:00:25.634
|
| 37 |
+
papel de algodón. Lo que pasó fue que
|
| 38 |
+
|
| 39 |
+
00:00:25.634 --> 00:00:27.634
|
| 40 |
+
una variable en la base de datos de
|
| 41 |
+
|
| 42 |
+
00:00:27.634 --> 00:00:30.090
|
| 43 |
+
un banco restó 10, y una variable en
|
| 44 |
+
|
| 45 |
+
00:00:30.090 --> 00:00:32.189
|
| 46 |
+
la base de datos de otro banco sumó
|
| 47 |
+
|
| 48 |
+
00:00:32.329 --> 00:00:35.850
|
| 49 |
+
10. Entonces, ¿qué es el dinero? Porque esos
|
| 50 |
+
|
| 51 |
+
00:00:35.850 --> 00:00:39.129
|
| 52 |
+
10 dólares no están soportados por oro en
|
| 53 |
+
|
| 54 |
+
00:00:39.129 --> 00:00:41.449
|
| 55 |
+
una bóveda ni por ninguna otra cosa. Esos
|
| 56 |
+
|
| 57 |
+
00:00:41.449 --> 00:00:43.210
|
| 58 |
+
10 dólares son la resta en una base
|
| 59 |
+
|
| 60 |
+
00:00:43.210 --> 00:00:44.730
|
| 61 |
+
de datos y la suma en otra base
|
| 62 |
+
|
| 63 |
+
00:00:44.730 --> 00:00:48.704
|
| 64 |
+
de datos, producto de que el gobierno de
|
| 65 |
+
|
| 66 |
+
00:00:48.704 --> 00:00:52.945
|
| 67 |
+
un país confía en el sistema bancario a
|
| 68 |
+
|
| 69 |
+
00:00:52.945 --> 00:00:55.985
|
| 70 |
+
través de mecanismos de verificación, donde el gobierno
|
| 71 |
+
|
| 72 |
+
00:00:55.985 --> 00:00:59.445
|
| 73 |
+
le hace auditoría a estos bancos, incluyendo mecanismos
|
| 74 |
+
|
| 75 |
+
00:00:59.504 --> 00:01:03.080
|
| 76 |
+
como los bancos centrales, para mantener un balance
|
| 77 |
+
|
| 78 |
+
00:01:03.080 --> 00:01:05.880
|
| 79 |
+
de la cantidad total de dinero que hay.
|
| 80 |
+
|
| 81 |
+
00:01:05.880 --> 00:01:08.280
|
| 82 |
+
Y los gobiernos pueden elegir que haya más
|
| 83 |
+
|
| 84 |
+
00:01:08.280 --> 00:01:11.260
|
| 85 |
+
dinero al imprimir dinero, y eso crea inflación,
|
| 86 |
+
|
| 87 |
+
00:01:11.720 --> 00:01:14.040
|
| 88 |
+
reduciendo el valor de ese dinero. El dinero
|
| 89 |
+
|
| 90 |
+
00:01:14.040 --> 00:01:18.015
|
| 91 |
+
es simplemente una historia que contamos, sostenida por
|
| 92 |
+
|
| 93 |
+
00:01:18.015 --> 00:01:20.095
|
| 94 |
+
las leyes y mecanismos de control de un
|
| 95 |
+
|
| 96 |
+
00:01:20.095 --> 00:01:21.855
|
| 97 |
+
gobierno, no es nada más. Así que si
|
| 98 |
+
|
| 99 |
+
00:01:21.855 --> 00:01:25.055
|
| 100 |
+
yo quisiera enviarle dinero a alguien, pero no
|
| 101 |
+
|
| 102 |
+
00:01:25.055 --> 00:01:27.375
|
| 103 |
+
tener a un gobierno, a un banco u
|
| 104 |
+
|
| 105 |
+
00:01:27.375 --> 00:01:31.370
|
| 106 |
+
otra institución central lidiando con ese dinero, sino
|
| 107 |
+
|
| 108 |
+
00:01:31.370 --> 00:01:36.550
|
| 109 |
+
que sea un proceso confiable, mundial, global y
|
| 110 |
+
|
| 111 |
+
00:01:36.550 --> 00:01:39.210
|
| 112 |
+
descentralizado, lo que necesitaría es tener la misma
|
| 113 |
+
|
| 114 |
+
00:01:39.210 --> 00:01:41.930
|
| 115 |
+
base de datos donde una variable resta 10
|
| 116 |
+
|
| 117 |
+
00:01:41.930 --> 00:01:44.335
|
| 118 |
+
y otra variable suma 10, pero que esa
|
| 119 |
+
|
| 120 |
+
00:01:44.335 --> 00:01:46.975
|
| 121 |
+
base de datos fuera de todos y no
|
| 122 |
+
|
| 123 |
+
00:01:46.975 --> 00:01:49.475
|
| 124 |
+
de una sola persona. Una base de datos
|
| 125 |
+
|
| 126 |
+
00:01:49.534 --> 00:01:52.895
|
| 127 |
+
así necesita ciertas características. La base de datos
|
| 128 |
+
|
| 129 |
+
00:01:52.895 --> 00:01:56.975
|
| 130 |
+
tendría que estar copiada en múltiples computadores, tantos
|
| 131 |
+
|
| 132 |
+
00:01:56.975 --> 00:01:59.580
|
| 133 |
+
como 1 quiera, y todas las copias tienen
|
| 134 |
+
|
| 135 |
+
00:01:59.580 --> 00:02:01.820
|
| 136 |
+
que ser iguales. Es decir, cada vez que
|
| 137 |
+
|
| 138 |
+
00:02:01.820 --> 00:02:04.220
|
| 139 |
+
hay una transacción, todas las copias de la
|
| 140 |
+
|
| 141 |
+
00:02:04.220 --> 00:02:06.060
|
| 142 |
+
base de datos se tienen que actualizar. Y
|
| 143 |
+
|
| 144 |
+
00:02:06.060 --> 00:02:08.060
|
| 145 |
+
como no hay un banco central o un
|
| 146 |
+
|
| 147 |
+
00:02:08.060 --> 00:02:11.405
|
| 148 |
+
gobierno que determine la fuente de verdad, Necesito
|
| 149 |
+
|
| 150 |
+
00:02:12.025 --> 00:02:16.505
|
| 151 |
+
un mecanismo matemático que me permita confirmar entre
|
| 152 |
+
|
| 153 |
+
00:02:16.505 --> 00:02:18.265
|
| 154 |
+
todas las personas que tienen una copia de
|
| 155 |
+
|
| 156 |
+
00:02:18.265 --> 00:02:19.865
|
| 157 |
+
la base de datos que la base de
|
| 158 |
+
|
| 159 |
+
00:02:19.865 --> 00:02:22.845
|
| 160 |
+
datos es legítima, y esto tiene que ocurrir
|
| 161 |
+
|
| 162 |
+
00:02:23.065 --> 00:02:24.925
|
| 163 |
+
cada vez que la base de datos cambie.
|
| 164 |
+
|
| 165 |
+
00:02:25.070 --> 00:02:27.390
|
| 166 |
+
¿Cuándo cambia la base de datos? Cuando se
|
| 167 |
+
|
| 168 |
+
00:02:27.390 --> 00:02:29.790
|
| 169 |
+
resta de una variable para sumarle a otra
|
| 170 |
+
|
| 171 |
+
00:02:29.790 --> 00:02:32.110
|
| 172 |
+
variable, es decir, cuando hay una transacción. Y
|
| 173 |
+
|
| 174 |
+
00:02:32.110 --> 00:02:34.350
|
| 175 |
+
el dinero, para que tenga valor, tiene que
|
| 176 |
+
|
| 177 |
+
00:02:34.350 --> 00:02:37.330
|
| 178 |
+
ser finito. Hay una cantidad máxima de pesos
|
| 179 |
+
|
| 180 |
+
00:02:37.470 --> 00:02:40.095
|
| 181 |
+
colombianos, hay una cantidad máxima de soles peruanos
|
| 182 |
+
|
| 183 |
+
00:02:40.095 --> 00:02:42.915
|
| 184 |
+
y hay una cantidad máxima de dólares estadounidenses.
|
| 185 |
+
|
| 186 |
+
00:02:43.615 --> 00:02:46.035
|
| 187 |
+
Así que tiene que haber una cantidad finita
|
| 188 |
+
|
| 189 |
+
00:02:47.135 --> 00:02:49.955
|
| 190 |
+
máxima de la moneda digital que estamos construyendo.
|
| 191 |
+
|
| 192 |
+
00:02:50.095 --> 00:02:53.900
|
| 193 |
+
Esto se puede expresar en ecuaciones matemáticas en
|
| 194 |
+
|
| 195 |
+
00:02:53.900 --> 00:02:56.940
|
| 196 |
+
las que todos los miembros de la red,
|
| 197 |
+
|
| 198 |
+
00:02:56.940 --> 00:02:59.100
|
| 199 |
+
que son las computadoras que tienen una copia
|
| 200 |
+
|
| 201 |
+
00:02:59.100 --> 00:03:01.500
|
| 202 |
+
de la base de datos, de las transacciones,
|
| 203 |
+
|
| 204 |
+
00:03:01.500 --> 00:03:05.340
|
| 205 |
+
estén de acuerdo. ¿Y cómo sé cuáles de
|
| 206 |
+
|
| 207 |
+
00:03:05.340 --> 00:03:09.055
|
| 208 |
+
esos números son míos y cuáles de esas
|
| 209 |
+
|
| 210 |
+
00:03:09.055 --> 00:03:11.215
|
| 211 |
+
transacciones son de otras personas. En el mundo
|
| 212 |
+
|
| 213 |
+
00:03:11.215 --> 00:03:13.615
|
| 214 |
+
real, yo tengo una cuenta bancaria y mi
|
| 215 |
+
|
| 216 |
+
00:03:13.615 --> 00:03:15.635
|
| 217 |
+
acceso a esa cuenta bancaria es con usuarios,
|
| 218 |
+
|
| 219 |
+
00:03:15.695 --> 00:03:19.715
|
| 220 |
+
contraseñas, con mi rostro biométricos, con mis datos
|
| 221 |
+
|
| 222 |
+
00:03:19.935 --> 00:03:22.360
|
| 223 |
+
oficiales de gobierno. Pero en el mundo digital
|
| 224 |
+
|
| 225 |
+
00:03:22.580 --> 00:03:25.860
|
| 226 |
+
yo necesitaría lo mismo, usuarios, contraseñas, pero sobre
|
| 227 |
+
|
| 228 |
+
00:03:25.860 --> 00:03:29.940
|
| 229 |
+
todo llaves de cifrado, una forma criptográfica de
|
| 230 |
+
|
| 231 |
+
00:03:29.940 --> 00:03:31.700
|
| 232 |
+
acceder a estos datos. ¿Y cuál es el
|
| 233 |
+
|
| 234 |
+
00:03:31.700 --> 00:03:35.674
|
| 235 |
+
mecanismo cuando quiero que otros encripten mensajes que
|
| 236 |
+
|
| 237 |
+
00:03:35.674 --> 00:03:37.435
|
| 238 |
+
me envíen a mí y yo pueda encriptar
|
| 239 |
+
|
| 240 |
+
00:03:37.435 --> 00:03:39.194
|
| 241 |
+
mensajes que envíen a otros? En la clase
|
| 242 |
+
|
| 243 |
+
00:03:39.194 --> 00:03:41.995
|
| 244 |
+
de WhatsApp aprendimos que existen llaves públicas y
|
| 245 |
+
|
| 246 |
+
00:03:41.995 --> 00:03:44.635
|
| 247 |
+
llaves privadas. Hagamos un repaso muy rápido. Si
|
| 248 |
+
|
| 249 |
+
00:03:44.635 --> 00:03:46.075
|
| 250 |
+
yo tengo 2 personas a las que les
|
| 251 |
+
|
| 252 |
+
00:03:46.075 --> 00:03:48.360
|
| 253 |
+
quiero enviar mensajes encriptados sin que los intermediarios
|
| 254 |
+
|
| 255 |
+
00:03:48.360 --> 00:03:51.480
|
| 256 |
+
de Internet, como WhatsApp, se enteren del contenido
|
| 257 |
+
|
| 258 |
+
00:03:51.480 --> 00:03:53.400
|
| 259 |
+
del mensaje, lo que yo hago es que
|
| 260 |
+
|
| 261 |
+
00:03:53.400 --> 00:03:57.160
|
| 262 |
+
tengo 2 llaves. Tengo una llave pública que
|
| 263 |
+
|
| 264 |
+
00:03:57.160 --> 00:03:58.680
|
| 265 |
+
se la envío a quien me va a
|
| 266 |
+
|
| 267 |
+
00:03:58.680 --> 00:04:02.235
|
| 268 |
+
enviar un mensaje. Esa llave pública cifra el
|
| 269 |
+
|
| 270 |
+
00:04:02.235 --> 00:04:05.515
|
| 271 |
+
mensaje. Entonces, a mi amigo yo le digo,
|
| 272 |
+
|
| 273 |
+
00:04:05.515 --> 00:04:08.715
|
| 274 |
+
ciframe ese mensaje con mi llave pública. Mi
|
| 275 |
+
|
| 276 |
+
00:04:08.715 --> 00:04:10.754
|
| 277 |
+
amigo tiene mi llave pública que le envié
|
| 278 |
+
|
| 279 |
+
00:04:10.754 --> 00:04:13.275
|
| 280 |
+
por Internet normal que se puede interceptar, pero
|
| 281 |
+
|
| 282 |
+
00:04:13.275 --> 00:04:16.110
|
| 283 |
+
esa llave solamente sirve para cifrar el mensaje.
|
| 284 |
+
|
| 285 |
+
00:04:16.110 --> 00:04:18.189
|
| 286 |
+
Con la llave pública, el amigo cifra el
|
| 287 |
+
|
| 288 |
+
00:04:18.189 --> 00:04:20.349
|
| 289 |
+
mensaje y me envía el mensaje cifrado a
|
| 290 |
+
|
| 291 |
+
00:04:20.349 --> 00:04:22.430
|
| 292 |
+
mí, y yo tengo una llave privada que
|
| 293 |
+
|
| 294 |
+
00:04:22.430 --> 00:04:24.270
|
| 295 |
+
yo no envié por Internet, que solo vive
|
| 296 |
+
|
| 297 |
+
00:04:24.270 --> 00:04:27.389
|
| 298 |
+
en mi computadora. Con esa llave privada, lo
|
| 299 |
+
|
| 300 |
+
00:04:27.389 --> 00:04:30.354
|
| 301 |
+
único que puedo hacer es descifrar los mensajes
|
| 302 |
+
|
| 303 |
+
00:04:30.354 --> 00:04:33.074
|
| 304 |
+
que fueron cifrados con la llave pública. Como
|
| 305 |
+
|
| 306 |
+
00:04:33.074 --> 00:04:35.155
|
| 307 |
+
nadie la tiene, solo yo puedo ver el
|
| 308 |
+
|
| 309 |
+
00:04:35.155 --> 00:04:38.035
|
| 310 |
+
contenido de ese mensaje. Entonces, todo el mundo
|
| 311 |
+
|
| 312 |
+
00:04:38.035 --> 00:04:40.435
|
| 313 |
+
puede cifrar mensajes para mí cuando tienen mi
|
| 314 |
+
|
| 315 |
+
00:04:40.435 --> 00:04:42.675
|
| 316 |
+
llave pública, pero solo yo tengo mi llave
|
| 317 |
+
|
| 318 |
+
00:04:42.675 --> 00:04:44.610
|
| 319 |
+
privada, y esos mensajes cifrados solo yo los
|
| 320 |
+
|
| 321 |
+
00:04:44.610 --> 00:04:46.850
|
| 322 |
+
puedo abrir. Si yo quiero enviarle un mensaje
|
| 323 |
+
|
| 324 |
+
00:04:46.850 --> 00:04:49.170
|
| 325 |
+
cifrado a mi amigo, él me manda su
|
| 326 |
+
|
| 327 |
+
00:04:49.170 --> 00:04:52.050
|
| 328 |
+
llave pública, yo lo cifro, se lo envío
|
| 329 |
+
|
| 330 |
+
00:04:52.050 --> 00:04:53.890
|
| 331 |
+
y él solo lo puede descifrar con la
|
| 332 |
+
|
| 333 |
+
00:04:53.890 --> 00:04:55.890
|
| 334 |
+
llave privada, que ni yo ni nadie tiene
|
| 335 |
+
|
| 336 |
+
00:04:55.890 --> 00:04:58.690
|
| 337 |
+
acceso, solamente él. Pues, en nuestra red puede
|
| 338 |
+
|
| 339 |
+
00:04:58.690 --> 00:05:02.465
|
| 340 |
+
funcionar exactamente igual. Acceder a una red de
|
| 341 |
+
|
| 342 |
+
00:05:02.465 --> 00:05:06.245
|
| 343 |
+
dinero descentralizado haría que yo tenga que crear
|
| 344 |
+
|
| 345 |
+
00:05:06.305 --> 00:05:10.065
|
| 346 |
+
una llave privada y una llave pública. La
|
| 347 |
+
|
| 348 |
+
00:05:10.065 --> 00:05:12.145
|
| 349 |
+
llave pública se la doy a todo el
|
| 350 |
+
|
| 351 |
+
00:05:12.145 --> 00:05:14.570
|
| 352 |
+
mundo para que me envíen dinero, y la
|
| 353 |
+
|
| 354 |
+
00:05:14.570 --> 00:05:16.850
|
| 355 |
+
llave privada es la única forma en la
|
| 356 |
+
|
| 357 |
+
00:05:16.850 --> 00:05:19.230
|
| 358 |
+
que yo accedo al dinero que yo tengo.
|
| 359 |
+
|
| 360 |
+
00:05:19.370 --> 00:05:22.970
|
| 361 |
+
Además de eso, yo tendría un número especial
|
| 362 |
+
|
| 363 |
+
00:05:22.970 --> 00:05:25.610
|
| 364 |
+
en la base de datos de transacciones donde
|
| 365 |
+
|
| 366 |
+
00:05:25.610 --> 00:05:28.715
|
| 367 |
+
guardo mis transacciones. Ese número especial se podría
|
| 368 |
+
|
| 369 |
+
00:05:28.715 --> 00:05:31.275
|
| 370 |
+
llamar una billetera, sería el equivalente a una
|
| 371 |
+
|
| 372 |
+
00:05:31.275 --> 00:05:33.835
|
| 373 |
+
cuenta bancaria, y esa dirección de billetera es
|
| 374 |
+
|
| 375 |
+
00:05:33.835 --> 00:05:36.314
|
| 376 |
+
donde están todas mis transacciones. Pero hagamos una
|
| 377 |
+
|
| 378 |
+
00:05:36.314 --> 00:05:39.275
|
| 379 |
+
pausa. Entonces, ¿qué es el dinero? El dinero
|
| 380 |
+
|
| 381 |
+
00:05:39.275 --> 00:05:41.835
|
| 382 |
+
son las transacciones, esta es la cosa difícil
|
| 383 |
+
|
| 384 |
+
00:05:41.835 --> 00:05:45.500
|
| 385 |
+
de entender. Hay una cantidad máxima de numeritos
|
| 386 |
+
|
| 387 |
+
00:05:45.500 --> 00:05:48.139
|
| 388 |
+
de dinero, una cantidad máxima de billetes, y
|
| 389 |
+
|
| 390 |
+
00:05:48.139 --> 00:05:50.780
|
| 391 |
+
las transacciones que hay entre esos billetes, es
|
| 392 |
+
|
| 393 |
+
00:05:50.780 --> 00:05:53.100
|
| 394 |
+
decir, los dueños de esos números, eso es
|
| 395 |
+
|
| 396 |
+
00:05:53.100 --> 00:05:55.500
|
| 397 |
+
el dinero. Cuando yo le resto a mi
|
| 398 |
+
|
| 399 |
+
00:05:55.500 --> 00:05:57.419
|
| 400 |
+
variable de números y le sumo a otro
|
| 401 |
+
|
| 402 |
+
00:05:57.419 --> 00:06:00.294
|
| 403 |
+
lado, estoy moviendo dinero, pero el dinero es
|
| 404 |
+
|
| 405 |
+
00:06:00.294 --> 00:06:03.514
|
| 406 |
+
un número finito. Todo esto que estoy explicando
|
| 407 |
+
|
| 408 |
+
00:06:04.055 --> 00:06:06.854
|
| 409 |
+
está escrito en un documento, que es el
|
| 410 |
+
|
| 411 |
+
00:06:06.854 --> 00:06:11.420
|
| 412 |
+
paper de Blockchain y bitcoin, creado por Satoshi
|
| 413 |
+
|
| 414 |
+
00:06:11.560 --> 00:06:14.600
|
| 415 |
+
Nakamoto, que construyó el protocolo que hoy conocemos
|
| 416 |
+
|
| 417 |
+
00:06:14.600 --> 00:06:17.800
|
| 418 |
+
como bitcoin. Dato interesante. Al día de hoy
|
| 419 |
+
|
| 420 |
+
00:06:17.800 --> 00:06:20.360
|
| 421 |
+
nadie sabe quién es Satoshi Nakamoto. Quizás es
|
| 422 |
+
|
| 423 |
+
00:06:20.360 --> 00:06:22.540
|
| 424 |
+
una persona, quizás es un grupo de personas,
|
| 425 |
+
|
| 426 |
+
00:06:22.600 --> 00:06:25.320
|
| 427 |
+
quizás fue una inteligencia artificial, no lo sabemos,
|
| 428 |
+
|
| 429 |
+
00:06:25.320 --> 00:06:28.115
|
| 430 |
+
pero en el año 2009 una persona anónima
|
| 431 |
+
|
| 432 |
+
00:06:28.175 --> 00:06:31.855
|
| 433 |
+
publicó este paper. Entonces, ¿por qué bitcoin vale
|
| 434 |
+
|
| 435 |
+
00:06:31.855 --> 00:06:33.855
|
| 436 |
+
dinero? ¿Por qué sabemos que un bitcoin vale
|
| 437 |
+
|
| 438 |
+
00:06:33.855 --> 00:06:36.575
|
| 439 |
+
10000 o 100000 dólares o 15000 dólares o
|
| 440 |
+
|
| 441 |
+
00:06:36.575 --> 00:06:39.900
|
| 442 |
+
300000 dólares? Porque alguien lo intercambió por dólares.
|
| 443 |
+
|
| 444 |
+
00:06:39.979 --> 00:06:42.620
|
| 445 |
+
Esa es la única respuesta. Las cosas valen
|
| 446 |
+
|
| 447 |
+
00:06:42.620 --> 00:06:44.540
|
| 448 |
+
porque alguien más les da valor. En el
|
| 449 |
+
|
| 450 |
+
00:06:44.540 --> 00:06:46.620
|
| 451 |
+
año 2009 hubo una persona que con un
|
| 452 |
+
|
| 453 |
+
00:06:46.620 --> 00:06:48.780
|
| 454 |
+
bitcoin compró una pizza y, a partir de
|
| 455 |
+
|
| 456 |
+
00:06:48.780 --> 00:06:50.699
|
| 457 |
+
ahí, han pasado muchos años en los que
|
| 458 |
+
|
| 459 |
+
00:06:50.699 --> 00:06:53.979
|
| 460 |
+
diferentes personas han intercambiado las llaves privadas de
|
| 461 |
+
|
| 462 |
+
00:06:53.979 --> 00:06:57.965
|
| 463 |
+
estas direcciones por dólares del gobierno, y esto
|
| 464 |
+
|
| 465 |
+
00:06:57.965 --> 00:07:00.765
|
| 466 |
+
ha creado un mercado que terminó construyendo el
|
| 467 |
+
|
| 468 |
+
00:07:00.765 --> 00:07:04.365
|
| 469 |
+
valor de bitcoin expresado en dinero de gobierno.
|
| 470 |
+
|
| 471 |
+
00:07:04.365 --> 00:07:07.085
|
| 472 |
+
¿Pero por qué se llama Blockchain, cadena de
|
| 473 |
+
|
| 474 |
+
00:07:07.085 --> 00:07:10.400
|
| 475 |
+
bloques? La base de datos distribuida de las
|
| 476 |
+
|
| 477 |
+
00:07:10.400 --> 00:07:15.280
|
| 478 |
+
transacciones realmente son varios pequeños bloques de transacciones,
|
| 479 |
+
|
| 480 |
+
00:07:15.280 --> 00:07:19.120
|
| 481 |
+
como si fueran libros de contabilidad digitales. Y
|
| 482 |
+
|
| 483 |
+
00:07:19.120 --> 00:07:21.840
|
| 484 |
+
esos libros tienen una cantidad de transacciones máxima
|
| 485 |
+
|
| 486 |
+
00:07:21.840 --> 00:07:24.215
|
| 487 |
+
y una cantidad máxima de bitcoin. Los bitcoin,
|
| 488 |
+
|
| 489 |
+
00:07:24.215 --> 00:07:26.455
|
| 490 |
+
por cierto, se dividen en fracciones conocidas como
|
| 491 |
+
|
| 492 |
+
00:07:26.455 --> 00:07:28.055
|
| 493 |
+
satoshis, pero eso no es lo que importa
|
| 494 |
+
|
| 495 |
+
00:07:28.055 --> 00:07:29.895
|
| 496 |
+
en este momento. Lo que importa es que
|
| 497 |
+
|
| 498 |
+
00:07:29.895 --> 00:07:34.235
|
| 499 |
+
esos bloques son descubiertos. ¿Cómo así que descubiertos?
|
| 500 |
+
|
| 501 |
+
00:07:34.455 --> 00:07:36.695
|
| 502 |
+
Aquí es donde muchas personas se confunden. Yo
|
| 503 |
+
|
| 504 |
+
00:07:36.695 --> 00:07:39.449
|
| 505 |
+
me confundía mucho. Parte del problema de las
|
| 506 |
+
|
| 507 |
+
00:07:39.449 --> 00:07:42.569
|
| 508 |
+
criptomonedas es que tiene que haber un límite
|
| 509 |
+
|
| 510 |
+
00:07:42.569 --> 00:07:45.690
|
| 511 |
+
máximo de la cantidad de dinero que se
|
| 512 |
+
|
| 513 |
+
00:07:45.690 --> 00:07:48.569
|
| 514 |
+
puede crear, que se puede emitir. Lo que
|
| 515 |
+
|
| 516 |
+
00:07:48.569 --> 00:07:51.835
|
| 517 |
+
se inventó Satoshi Nakamoto es unas ecuaciones matemáticas
|
| 518 |
+
|
| 519 |
+
00:07:51.835 --> 00:07:54.955
|
| 520 |
+
que hacen un uso muy intensivo de procesador
|
| 521 |
+
|
| 522 |
+
00:07:54.955 --> 00:07:58.335
|
| 523 |
+
y de energía eléctrica para descubrir unos números
|
| 524 |
+
|
| 525 |
+
00:07:58.395 --> 00:08:02.875
|
| 526 |
+
cifrados únicos. Esas estructuras matemáticas numéricas únicas es
|
| 527 |
+
|
| 528 |
+
00:08:02.875 --> 00:08:06.120
|
| 529 |
+
lo que compone los bloques de bitcoin. Y,
|
| 530 |
+
|
| 531 |
+
00:08:06.120 --> 00:08:08.920
|
| 532 |
+
en esencia, un bloque de bitcoin es como
|
| 533 |
+
|
| 534 |
+
00:08:08.920 --> 00:08:11.240
|
| 535 |
+
imprimir un montón de billetes de papel de
|
| 536 |
+
|
| 537 |
+
00:08:11.240 --> 00:08:15.260
|
| 538 |
+
algodón, es plata. Parte del proceso de minar
|
| 539 |
+
|
| 540 |
+
00:08:15.560 --> 00:08:18.920
|
| 541 |
+
bitcoin, de generar estas ecuaciones matemáticas, es insertar
|
| 542 |
+
|
| 543 |
+
00:08:18.920 --> 00:08:21.420
|
| 544 |
+
en las diferentes bases de datos las transacciones.
|
| 545 |
+
|
| 546 |
+
00:08:22.104 --> 00:08:24.444
|
| 547 |
+
Y el paper determina que hay una cantidad
|
| 548 |
+
|
| 549 |
+
00:08:24.664 --> 00:08:27.064
|
| 550 |
+
máxima de transacciones que cada bloque puede tener.
|
| 551 |
+
|
| 552 |
+
00:08:27.064 --> 00:08:29.064
|
| 553 |
+
¿Qué pasa cuando un bloque se llenó y
|
| 554 |
+
|
| 555 |
+
00:08:29.064 --> 00:08:31.224
|
| 556 |
+
ya descubrí todo el tamaño del bloque? Pues
|
| 557 |
+
|
| 558 |
+
00:08:31.224 --> 00:08:34.445
|
| 559 |
+
lo cierro y construyo otro bloque, pero necesito
|
| 560 |
+
|
| 561 |
+
00:08:34.584 --> 00:08:37.380
|
| 562 |
+
hacer que cada bloque esté relacionado entre sí.
|
| 563 |
+
|
| 564 |
+
00:08:37.539 --> 00:08:39.980
|
| 565 |
+
Ahí entra otro proceso matemático que se conoce
|
| 566 |
+
|
| 567 |
+
00:08:39.980 --> 00:08:44.900
|
| 568 |
+
como hashing, HASH. Un hash es una ecuación
|
| 569 |
+
|
| 570 |
+
00:08:44.900 --> 00:08:48.900
|
| 571 |
+
matemática que lee el contenido de un archivo
|
| 572 |
+
|
| 573 |
+
00:08:48.900 --> 00:08:52.708
|
| 574 |
+
y genera un código único para cada 1
|
| 575 |
+
|
| 576 |
+
00:08:52.708 --> 00:08:54.972
|
| 577 |
+
de esos archivos. Entonces, un archivo que puede
|
| 578 |
+
|
| 579 |
+
00:08:54.972 --> 00:08:57.785
|
| 580 |
+
pesar un megabyte o 30 gigabytes o 100
|
| 581 |
+
|
| 582 |
+
00:08:57.785 --> 00:09:01.065
|
| 583 |
+
gigabytes o 300 bytes, no importa, cada 1
|
| 584 |
+
|
| 585 |
+
00:09:01.065 --> 00:09:04.185
|
| 586 |
+
de esos va a tener un código único,
|
| 587 |
+
|
| 588 |
+
00:09:04.185 --> 00:09:06.605
|
| 589 |
+
como si fuera una firma digital, una huella.
|
| 590 |
+
|
| 591 |
+
00:09:06.850 --> 00:09:09.410
|
| 592 |
+
Esa huella son unos pequeños caracteres que pueden
|
| 593 |
+
|
| 594 |
+
00:09:09.410 --> 00:09:13.330
|
| 595 |
+
tener 10 caracteres, 50 caracteres, 30 caracteres, pero
|
| 596 |
+
|
| 597 |
+
00:09:13.330 --> 00:09:16.130
|
| 598 |
+
es único, eso es un hash. Los hash
|
| 599 |
+
|
| 600 |
+
00:09:16.130 --> 00:09:18.924
|
| 601 |
+
o huellas son súper importantes porque garantizan la
|
| 602 |
+
|
| 603 |
+
00:09:18.924 --> 00:09:19.223
|
| 604 |
+
integridad del contenido del archivo. Si el archivo
|
| 605 |
+
|
| 606 |
+
00:09:19.223 --> 00:09:22.985
|
| 607 |
+
cambia, el hash cambia. Entonces, fue manipulado, archivo.
|
| 608 |
+
|
| 609 |
+
00:09:22.985 --> 00:09:25.785
|
| 610 |
+
Si el archivo cambia, el hash cambia, entonces
|
| 611 |
+
|
| 612 |
+
00:09:25.785 --> 00:09:28.505
|
| 613 |
+
fue manipulado. De esa manera, cada vez que
|
| 614 |
+
|
| 615 |
+
00:09:28.505 --> 00:09:32.205
|
| 616 |
+
calculas el hash de un bloque, estás verificando,
|
| 617 |
+
|
| 618 |
+
00:09:33.065 --> 00:09:36.265
|
| 619 |
+
este bloque es legítimo y su movimiento de
|
| 620 |
+
|
| 621 |
+
00:09:36.265 --> 00:09:39.110
|
| 622 |
+
transacciones no cambió. Eso significa que en cada
|
| 623 |
+
|
| 624 |
+
00:09:39.110 --> 00:09:41.850
|
| 625 |
+
1 de los bloques de bitcoin quedan registrados
|
| 626 |
+
|
| 627 |
+
00:09:41.910 --> 00:09:44.230
|
| 628 |
+
desde el inicio de la red todos los
|
| 629 |
+
|
| 630 |
+
00:09:44.230 --> 00:09:48.150
|
| 631 |
+
movimientos del inicio de la historia humana de
|
| 632 |
+
|
| 633 |
+
00:09:48.150 --> 00:09:51.835
|
| 634 |
+
bitcoin en adelante de las diferentes transacciones de
|
| 635 |
+
|
| 636 |
+
00:09:51.835 --> 00:09:54.315
|
| 637 |
+
dinero que hay, porque nadie puede cambiar los
|
| 638 |
+
|
| 639 |
+
00:09:54.315 --> 00:09:56.875
|
| 640 |
+
bloques, porque entonces tendrían que cambiar el hash.
|
| 641 |
+
|
| 642 |
+
00:09:56.875 --> 00:09:59.115
|
| 643 |
+
Y la magia es que el hash de
|
| 644 |
+
|
| 645 |
+
00:09:59.115 --> 00:10:02.235
|
| 646 |
+
un bloque anterior va en el bloque siguiente,
|
| 647 |
+
|
| 648 |
+
00:10:02.235 --> 00:10:05.920
|
| 649 |
+
en su estructura. Entonces, el siguiente bloque va
|
| 650 |
+
|
| 651 |
+
00:10:05.920 --> 00:10:08.420
|
| 652 |
+
y busca si el bloque anterior tiene ese
|
| 653 |
+
|
| 654 |
+
00:10:08.880 --> 00:10:10.640
|
| 655 |
+
mismo hash, y de esa manera sabe que
|
| 656 |
+
|
| 657 |
+
00:10:10.640 --> 00:10:15.040
|
| 658 |
+
están interconectados de una manera legítima. Esa cadena
|
| 659 |
+
|
| 660 |
+
00:10:15.040 --> 00:10:18.020
|
| 661 |
+
de bloques conectado por hash es el Blockchain.
|
| 662 |
+
|
| 663 |
+
00:10:18.705 --> 00:10:21.925
|
| 664 |
+
Las operaciones matemáticas de la minería es lo
|
| 665 |
+
|
| 666 |
+
00:10:22.225 --> 00:10:25.025
|
| 667 |
+
que calcula las transacciones de la red, lo
|
| 668 |
+
|
| 669 |
+
00:10:25.025 --> 00:10:27.745
|
| 670 |
+
que distribuye copias de la base de datos
|
| 671 |
+
|
| 672 |
+
00:10:27.745 --> 00:10:30.545
|
| 673 |
+
de esa red a otros computadores de minería,
|
| 674 |
+
|
| 675 |
+
00:10:30.545 --> 00:10:33.000
|
| 676 |
+
esa es la red de bitcoin, porque tienen
|
| 677 |
+
|
| 678 |
+
00:10:33.000 --> 00:10:35.900
|
| 679 |
+
diferentes copias del Blockchain, que son las transacciones,
|
| 680 |
+
|
| 681 |
+
00:10:36.520 --> 00:10:38.920
|
| 682 |
+
y lo que descubre nuevos bloques a través
|
| 683 |
+
|
| 684 |
+
00:10:38.920 --> 00:10:42.280
|
| 685 |
+
de estos procesamientos matemáticos. Ese procesamiento matemático con
|
| 686 |
+
|
| 687 |
+
00:10:42.280 --> 00:10:44.540
|
| 688 |
+
un gasto energético muy fuerte se conoce como
|
| 689 |
+
|
| 690 |
+
00:10:44.840 --> 00:10:48.345
|
| 691 |
+
P OW, o Proof of Work. Pero otras
|
| 692 |
+
|
| 693 |
+
00:10:48.345 --> 00:10:50.665
|
| 694 |
+
redes, como Ethereum, que también es un tipo
|
| 695 |
+
|
| 696 |
+
00:10:50.665 --> 00:10:54.745
|
| 697 |
+
de criptomoneda, usan otro sistema llamado Proof of
|
| 698 |
+
|
| 699 |
+
00:10:54.745 --> 00:10:57.465
|
| 700 |
+
Stake. Proof of Stake es muy interesante porque
|
| 701 |
+
|
| 702 |
+
00:10:57.465 --> 00:10:59.945
|
| 703 |
+
usa mucha menos electricidad. En vez de hacer
|
| 704 |
+
|
| 705 |
+
00:10:59.945 --> 00:11:02.839
|
| 706 |
+
cálculos matemáticos muy complejos, lo que hace es
|
| 707 |
+
|
| 708 |
+
00:11:02.839 --> 00:11:06.600
|
| 709 |
+
que genera una apuesta. Varios miembros de la
|
| 710 |
+
|
| 711 |
+
00:11:06.600 --> 00:11:10.220
|
| 712 |
+
red de Ethereum apuestan algunas de sus monedas
|
| 713 |
+
|
| 714 |
+
00:11:10.360 --> 00:11:12.839
|
| 715 |
+
y, de manera aleatoria, 1 de ellos se
|
| 716 |
+
|
| 717 |
+
00:11:12.839 --> 00:11:16.185
|
| 718 |
+
gana el derecho a construir el próximo bloque,
|
| 719 |
+
|
| 720 |
+
00:11:16.185 --> 00:11:18.765
|
| 721 |
+
lo que gasta mucho menos energía. El resto
|
| 722 |
+
|
| 723 |
+
00:11:19.225 --> 00:11:21.485
|
| 724 |
+
pierden las monedas que apostaron y se las
|
| 725 |
+
|
| 726 |
+
00:11:21.865 --> 00:11:24.925
|
| 727 |
+
queda el que le quedó la la generación
|
| 728 |
+
|
| 729 |
+
00:11:24.985 --> 00:11:28.220
|
| 730 |
+
del nuevo bloque. Es distinto, es una filosofía
|
| 731 |
+
|
| 732 |
+
00:11:28.680 --> 00:11:30.360
|
| 733 |
+
diferente, y la verdad que la más popular
|
| 734 |
+
|
| 735 |
+
00:11:30.360 --> 00:11:32.040
|
| 736 |
+
el día de hoy es la más segura,
|
| 737 |
+
|
| 738 |
+
00:11:32.040 --> 00:11:33.240
|
| 739 |
+
que es la que genera la mayor cantidad
|
| 740 |
+
|
| 741 |
+
00:11:33.240 --> 00:11:35.320
|
| 742 |
+
de gasto energético, que es proof of work,
|
| 743 |
+
|
| 744 |
+
00:11:35.320 --> 00:11:37.800
|
| 745 |
+
como la que tiene Blockchain de bitcoin. Lo
|
| 746 |
+
|
| 747 |
+
00:11:37.800 --> 00:11:41.100
|
| 748 |
+
más importante es que todos estos mecanismos criptográficos
|
| 749 |
+
|
| 750 |
+
00:11:41.805 --> 00:11:44.385
|
| 751 |
+
hacen que toda la red se pueda verificar
|
| 752 |
+
|
| 753 |
+
00:11:44.845 --> 00:11:48.465
|
| 754 |
+
entre sí, sin necesidad de tener un mecanismo
|
| 755 |
+
|
| 756 |
+
00:11:48.605 --> 00:11:53.345
|
| 757 |
+
central de criptografía o llaves, sino simplemente una
|
| 758 |
+
|
| 759 |
+
00:11:53.965 --> 00:11:56.225
|
| 760 |
+
distribución del trabajo de CPU o de GPUs
|
| 761 |
+
|
| 762 |
+
00:11:56.720 --> 00:11:59.920
|
| 763 |
+
y una verificación de la integridad de los
|
| 764 |
+
|
| 765 |
+
00:11:59.920 --> 00:12:03.200
|
| 766 |
+
datos. De esta manera, tenemos un algoritmo que
|
| 767 |
+
|
| 768 |
+
00:12:03.200 --> 00:12:05.520
|
| 769 |
+
hace el trabajo que haría un banco central
|
| 770 |
+
|
| 771 |
+
00:12:05.520 --> 00:12:07.700
|
| 772 |
+
o los sistemas de confianza de los bancos
|
| 773 |
+
|
| 774 |
+
00:12:07.760 --> 00:12:10.042
|
| 775 |
+
regulados. Parte de la razón por la que
|
| 776 |
+
|
| 777 |
+
00:12:10.042 --> 00:12:12.815
|
| 778 |
+
bitcoin es tan poderoso es porque, para hackearlo,
|
| 779 |
+
|
| 780 |
+
00:12:13.115 --> 00:12:15.514
|
| 781 |
+
necesitarías tener más poder de cómputo que toda
|
| 782 |
+
|
| 783 |
+
00:12:15.514 --> 00:12:18.555
|
| 784 |
+
la red de minería. Necesitarías tener un 51
|
| 785 |
+
|
| 786 |
+
00:12:18.555 --> 00:12:20.634
|
| 787 |
+
por 100 de más poder de cómputo que
|
| 788 |
+
|
| 789 |
+
00:12:20.634 --> 00:12:23.759
|
| 790 |
+
la red de minería para recalcular los bloques
|
| 791 |
+
|
| 792 |
+
00:12:23.759 --> 00:12:25.680
|
| 793 |
+
y tener un voto más fuerte en el
|
| 794 |
+
|
| 795 |
+
00:12:25.680 --> 00:12:28.319
|
| 796 |
+
consenso que distribuye la versión actualizada de las
|
| 797 |
+
|
| 798 |
+
00:12:28.319 --> 00:12:31.940
|
| 799 |
+
transacciones. Esto ha pasado en criptomonedas más pequeñas
|
| 800 |
+
|
| 801 |
+
00:12:32.240 --> 00:12:35.120
|
| 802 |
+
que bitcoin, pero con bitcoin, ethereum, Solana, las
|
| 803 |
+
|
| 804 |
+
00:12:35.120 --> 00:12:38.488
|
| 805 |
+
monedas grandes es prácticamente imposible. Parte del problema
|
| 806 |
+
|
| 807 |
+
00:12:38.488 --> 00:12:41.305
|
| 808 |
+
de la inflación, bitcoin lo controla haciendo que
|
| 809 |
+
|
| 810 |
+
00:12:41.305 --> 00:12:45.645
|
| 811 |
+
en la ecuación matemática de bitcoin como criptomoneda
|
| 812 |
+
|
| 813 |
+
00:12:46.505 --> 00:12:48.985
|
| 814 |
+
exista un límite. Tiene un límite máximo de
|
| 815 |
+
|
| 816 |
+
00:12:48.985 --> 00:12:51.785
|
| 817 |
+
21000000 de bitcoin al que, a la fecha
|
| 818 |
+
|
| 819 |
+
00:12:51.785 --> 00:12:53.290
|
| 820 |
+
de grabación de este curso, todavía no hemos
|
| 821 |
+
|
| 822 |
+
00:12:53.290 --> 00:12:56.090
|
| 823 |
+
llegado. Otro de los problemas para no poder
|
| 824 |
+
|
| 825 |
+
00:12:56.090 --> 00:12:58.250
|
| 826 |
+
hackear bitcoin es la cantidad de energía que
|
| 827 |
+
|
| 828 |
+
00:12:58.250 --> 00:13:00.570
|
| 829 |
+
necesitarías. Para que se hagan una idea, al
|
| 830 |
+
|
| 831 |
+
00:13:00.570 --> 00:13:02.970
|
| 832 |
+
día de hoy, la red de bitcoin usa
|
| 833 |
+
|
| 834 |
+
00:13:02.970 --> 00:13:06.730
|
| 835 |
+
130 terawatts por hora de energía. Esto es
|
| 836 |
+
|
| 837 |
+
00:13:06.730 --> 00:13:08.750
|
| 838 |
+
el equivalente a la energía entera de Suecia.
|
| 839 |
+
|
| 840 |
+
00:13:09.845 --> 00:13:13.524
|
| 841 |
+
Algunos protocolos de criptomonedas, aparte del sistema de
|
| 842 |
+
|
| 843 |
+
00:13:13.524 --> 00:13:17.285
|
| 844 |
+
transacciones, los wallets, las llaves privadas, agregan la
|
| 845 |
+
|
| 846 |
+
00:13:17.285 --> 00:13:20.665
|
| 847 |
+
capacidad de ejecutar órdenes de código de programación
|
| 848 |
+
|
| 849 |
+
00:13:20.805 --> 00:13:24.520
|
| 850 |
+
bajo ciertas condiciones, como por ejemplo, si estos
|
| 851 |
+
|
| 852 |
+
00:13:24.520 --> 00:13:27.080
|
| 853 |
+
servidores tienen estos datos o si estos usuarios
|
| 854 |
+
|
| 855 |
+
00:13:27.080 --> 00:13:30.120
|
| 856 |
+
colocan estas llaves en una configuración particular, entonces
|
| 857 |
+
|
| 858 |
+
00:13:30.120 --> 00:13:32.120
|
| 859 |
+
dispara estas transacciones de esta manera o de
|
| 860 |
+
|
| 861 |
+
00:13:32.120 --> 00:13:35.420
|
| 862 |
+
esta otra manera. Eso significa que contratos legales
|
| 863 |
+
|
| 864 |
+
00:13:35.815 --> 00:13:38.295
|
| 865 |
+
u otro tipo de mecanismos de compañía se
|
| 866 |
+
|
| 867 |
+
00:13:38.295 --> 00:13:41.095
|
| 868 |
+
pueden expresar en código y distribuir de manera
|
| 869 |
+
|
| 870 |
+
00:13:41.095 --> 00:13:44.135
|
| 871 |
+
descentralizada. Esto es lo que permiten redes como
|
| 872 |
+
|
| 873 |
+
00:13:44.135 --> 00:13:46.135
|
| 874 |
+
Ethereum o Solana, y es lo que ha
|
| 875 |
+
|
| 876 |
+
00:13:46.135 --> 00:13:47.910
|
| 877 |
+
permitido la creación de lo que se llama
|
| 878 |
+
|
| 879 |
+
00:13:47.910 --> 00:13:51.670
|
| 880 |
+
tokenización, que es convertir ciertos activos del mundo
|
| 881 |
+
|
| 882 |
+
00:13:51.670 --> 00:13:55.029
|
| 883 |
+
real en expresiones de criptomonedas. Los NFTs, por
|
| 884 |
+
|
| 885 |
+
00:13:55.029 --> 00:13:57.510
|
| 886 |
+
ejemplo, son una expresión de este estilo. Aún
|
| 887 |
+
|
| 888 |
+
00:13:57.510 --> 00:13:59.910
|
| 889 |
+
ninguno ha triunfado en el mundo real, pero
|
| 890 |
+
|
| 891 |
+
00:13:59.910 --> 00:14:02.550
|
| 892 |
+
es muy prometedor y probablemente inevitable para el
|
| 893 |
+
|
| 894 |
+
00:14:02.550 --> 00:14:05.225
|
| 895 |
+
futuro. Platzi tiene muchos cursos técnicos que te
|
| 896 |
+
|
| 897 |
+
00:14:05.225 --> 00:14:07.865
|
| 898 |
+
enseñan desde mucho más básico hasta mucho más
|
| 899 |
+
|
| 900 |
+
00:14:07.865 --> 00:14:10.505
|
| 901 |
+
complejo cómo programar tus propias redes, cómo ser
|
| 902 |
+
|
| 903 |
+
00:14:10.505 --> 00:14:13.385
|
| 904 |
+
minero, cómo tener una granja de bitcoin en
|
| 905 |
+
|
| 906 |
+
00:14:13.385 --> 00:14:15.704
|
| 907 |
+
tu casa, cómo hacer Ethereum, Solana, lo que
|
| 908 |
+
|
| 909 |
+
00:14:15.704 --> 00:14:17.930
|
| 910 |
+
quieras. Solamente ve al buscador de Platzi y
|
| 911 |
+
|
| 912 |
+
00:14:17.930 --> 00:14:21.290
|
| 913 |
+
escribe Ethereum, Blockchain o bitcoin, o aquí abajo,
|
| 914 |
+
|
| 915 |
+
00:14:21.290 --> 00:14:22.570
|
| 916 |
+
en los recursos de la clase, te voy
|
| 917 |
+
|
| 918 |
+
00:14:22.570 --> 00:14:24.649
|
| 919 |
+
a colocar varios enlaces. Este es un mundo
|
| 920 |
+
|
| 921 |
+
00:14:24.649 --> 00:14:27.290
|
| 922 |
+
muy grande que fluctúa mucho con el precio,
|
| 923 |
+
|
| 924 |
+
00:14:27.290 --> 00:14:29.950
|
| 925 |
+
pero que desde una perspectiva tecnológica es fascinante.
|
subir/fixed/Curso de Fundamentos de Ingeniería de Software/05-Introducción a Blockchain e Inteligencia Artificial/01-Lecturas recomendadas.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
https://platzi.com/home/ruta/ethereum-blockchain-developer/
|
| 2 |
+
https://platzi.com/home/ruta/bitcoin-developer/
|