Rust: Concurrencia sin Miedo | Proyecto final: Detector de rostros - Arquitectura | Ep. 19
iDesoft Learn Español
0:00 / 0:00
Rust: Concurrencia sin Miedo | Proyecto final: Detector de rostros - Arquitectura | Ep. 19
136 просмотров · 10 дней назад
iDesoft Learn Español
190 подписчиков
136 просмотров · 10 дней назад
En este episodio presentamos el proyecto final del curso de Rust: Concurrencia sin Miedo: un detector de rostros que combina hilos nativos del sistema operativo y canales asíncronos para procesar un dataset de imágenes en paralelo. Nos centramos en la arquitectura: repasamos el repositorio `r3y-faces-example`, ejecutamos el aplicativo con su barra de progreso en tiempo real y analizamos los diagramas UML de componentes y de secuencia que tendremos que implementar en los próximos episodios, con cuatro componentes software trabajando en conjunto a través de canales de Tokio y de la librería estándar.
Lo que aprenderás:
La arquitectura del proyecto: Image Discovery, Image Processing, Face Detector y Progress Report
Cómo mezclar canales de Tokio (asíncronos) con canales mpsc de std::thread (síncronos)
Cómo orquestar workers CPU-bound con hilos nativos y aprovechar todos los núcleos
Escaneo recursivo de directorios con tareas asíncronas independientes (tokio::spawn)
Barra de progreso en tiempo real con indicatif
Por qué delegar el procesamiento pesado a hilos evita bloquear el escaneo de imágenes
Requisitos:
Conocimientos previos de los episodios anteriores del curso (hilos, canales y Tokio)
Dataset de imágenes con rostros (WiderFace o imágenes propias)
Recursos:
Código fuente: https://github.com/iDesoftSystems/r3y...
Documentación de Tokio: https://tokio.rs/tokio/tutorial
std::thread: https://doc.rust-lang.org/std/thread
0:00 - Introducción
1:06 - El proyecto final: detector de rostros
2:49 - Repositorio r3y-faces-example
6:48 - Ejecución del detector de rostros
10:08 - Arquitectura: diagrama de componentes
16:36 - Canales: mezclando Tokio y std::thread
27:44 - Diagrama de secuencia
35:34 - Dependencias y estructura del código
44:27 - Resumen y próximos pasos