Entradas

Mejores prácticas para gestionar diferentes Respuestas de Error en una API

Trabajar en un servidor de API backend usando Axum donde cada endpoint devuelve un Result<respuesta correcta, ApiError> y ApiError es un enum parecido a este del ejemplo https://github.com/juhaku/utoipa/blob/master/examples/todo-axum/src/main.rs#L90 , donde cada variante es un tipo específico; significa que cuando se genera una especificación de API, cada endpoint específico no tendrá ni idea de las variantes específicas de error que puede devolver, y la especificación OpenAPI se presentará como si pudiera devolver cualquiera de las existentes. ¿Hay algún patrón generalmente aceptado para esto?

Best Practice for managing different API Error Responses (Utoipa/Axum)
byu/No-Bookkeeper-6272 inrust

Disposición de los objetos Trait de Rust

Rust distingue entre valores y referencias, una distinción que generalmente se aprende nada más empezar a usar el lenguaje. Pero, ¿cómo se aplica esa distinción a los objetos trait? ¡Quizás te sorprenda!

https://neugierig.org/software/blog/2025/03/trait-object-layout.HTML

Creación de un microservicio distribuido en Rust

Este artículo muestra cómo dividir tareas dependientes de la CPU en múltiples microservicios programados con Rust:

https://dev.to/copyleftdev/building-a-distributed-microservice-in-rust-46ke

¿Qué pinta LLVM en Rust?, es más, ¿qué es LLVM?

Rust es un lenguaje de programación compilado, y si lees sobre él pronto encontrarás …

Aprendiendo Rust (y presentando PageTop)

Llevo ya bastante tiempo siguiendo Rust de cerca. Es un lenguaje de programación que goza de mucha popularidad como demuestran las encuestas anuales de stackoverflow. De hecho, fue votado como lenguaje más amado en 2021 y lleva haciéndolo así unos cuantos años. Se compara mucho con Go y tiene, como éste y otros lenguajes, sus defensores incondicionales y sus detractores acérrimos.

En mi caso quiero aprenderlo porque es diferente a lo que he estado usando en los últimos años, y tengo mucho interés en conocerlo en profundidad. Quizás sea el último lenguaje de programación que estudie a fondo en mi carrera profesional. Lo que sí es seguro es que le voy a dedicar mucho más esfuerzo que simplemente trastear o probar como he hecho con otros lenguajes.

Rust no es fácil, aunque está extensa y cuidadosamente documentado, y su ecosistema ha crecido enormemente. Es difícil abarcarlo y conocer todos los recursos de la librería estándar, o las librerías creadas por la comunidad. Algunas son auténticos frameworks, muchos de ellos del mundo de los videojuegos. Incluso va camino de convertirse en el segundo lenguaje del kernel Linux.

PageTop, un proyecto para aprender

Por ahora, el tiempo que puedo lo dedico a uno de esos proyectos mascota que tanto nos gusta tener a los programadores para aprender y experimentar. Lo he llamado PageTop y quiero que utilice algunas de las librerías más relevantes para la creación de soluciones web.

Usaré SuitePro para el seguimiento del proyecto, y GitHub para el repositorio. Todo en español.

Y contaré la experiencia por aquí, las dificultades encontradas, pero también esos pequeños logros que tanto se disfrutan.

Lista de Twitter dedicada a Rust

Una de las fuentes que más sigo para estar al tanto de las novedades en torno al lenguaje de programación …

iced, biblioteca GUI multiplataforma para Rust

iced ayuda a crear interfaces gráficas de usuario (GUI) para aplicaciones Rust. Se centra en la simplicidad y la seguridad de tipos, proporciona bloques de construcción simples que se pueden unir con tipaje fuerte para reducir la posibilidad de errores en tiempo de ejecución. Se inspira en el lenguaje de programación funcional Elm para crear aplicaciones web.

GitHub...: https://github.com/iced-rs/iced
crates.io: https://crates.io/crates/iced
docs.rs..: https://docs.rs/iced/latest/iced

exitcode, códigos de salida para programas Rust

Sigue la especificación de sysexits.h‎ para definir constantes para los códigos preferidos de salida en la finalización de programas Rust.

GitHub...: https://github.com/benwilber/exitcode
crates.io: https://crates.io/crates/exitcode
docs.rs..: https://docs.rs/exitcode/latest/exitcode

snarkOS, un sistema operativo descentralizado

snarkOS es un sistema operativo descentralizado para el desarrollo y ejecución de aplicaciones privadas. Es la columna vertebral de Aleo y permite que las aplicaciones verifiquen y almacenen el estado de una manera públicamente verificable:

https://github.com/AleoHQ/snarkOS