Перейти к содержимому

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