Arquitectura teórica del emulador de subprocesos múltiples
Estoy tratando de diseñar una arquitectura de emulador de consola que sea precisa en bucle y multiproceso. La función de espera Async de Rust y su ecosistema son una gran inspiración.
https://www.n0mandevelopblog.com/posts/cycle-accurate-multithreaded-console-emulator/page/
Mi idea es separar el área de memoria compartida de los componentes del dispositivo en un participante de bus de memoria compartida central que aceptará solicitudes de lectura y escritura y las enviará en el ciclo de reloj correcto. De esta manera, los componentes pueden ejecutarse de forma asincrónica y luego esperar a que estén disponibles algunos datos que necesitan de otros componentes.
Originalmente publiqué este artículo en /EmuDev
https://www.reddit.com/r/EmuDev/comments/vtuwj8/cycle_accurate_multithreaded_console_emulator/?utm_source=share&utm_medium=web2x&context=3
trane-rustlings: Aprenda Rust con Trane (y susurros)
A principios de esta semana, compartí mi proyecto Trane (https://github.com/trane-project/trane) y un sistema automatizado para aprender nuevas habilidades. https://github.com/trane-project/trane-music tiene algunas clases, pero pensé que sería bueno tener una clase independiente para mostrar Trane.
Dado que Trane es mi primer proyecto de Rust, pensé que sería bueno aumentar los robos (https://github.com/rust-lang/rustlings/) con Trane. El resultado es trane-rustlings (https://github.com/trane-project/trane-rustlings).
Este curso es un ejemplo de cómo se puede utilizar Trane para aumentar fácilmente el material educativo existente. Los ejercicios de este curso se refieren a los ejercicios de Swish solo por su nombre. Al resolver los ejercicios de susurro en el orden que presenta Trane, puede dominarlos gradualmente mientras los fortalece a medida que avanza.
Si descubre que se le muestra el mismo ejercicio varias veces (especialmente al principio), entonces puede completar su sesión de estudio y continuar teniendo tiempo para absorber el material más tarde o agregar el ejercicio a la lista negra para que no volver mostrado.
cargo-craky: configure fácilmente las pelusas de Clippy
Me gustaría aprovechar algunas pelusas recortadas no predeterminadas, pero estoy cansado de habilitarlas para cada bin/example/lib, repitiendo para cada caja en el espacio de trabajo. Durante un tiempo, he estado agregando scripts de shell que ejecutan todos los lints que me gustan (por ejemplo --warn clippy::cast_possible_truncation
), pero también quiero poder ejecutar mis opciones de lint desde vscode.
Así que escribí una pequeña extensión de cargo para ayudarme: cargo-craky. Busca Cranky.toml
archivos de configuración que contengan pelusas para permitir/advertir/denegar, luego ejecuta clippy con esas pelusas habilitadas. Funciona como se esperaba desde la línea de comandos y en vscode.
Es bastante básico hasta ahora, pero ya está funcionando muy bien para mí. ¡Espero que lo encuentres útil también!
Del tiempo de grupo diario
Suscripción a la plataforma de intercambio de aprendizaje comunitario:
-
Foro de Rustcc: Soporte rss
-
Cuenta oficial de WeChat: Comunidad china de Rust Language