mdBook para crear libros usando archivos Markdown
mdBook permite crear documentación estructurada en forma de libro para la web usando archivos Markdown. Sirva de ejemplo la propia guía de mdBook.
Puede instalarse descargando el binario de la aplicación, o directamente con Cargo (el administrador de paquetes de Rust) para añadir mdbook
a las herramientas de cargo
:
$ cargo install mdbook
GhostCell, separando permisos de los datos en Rust
El lenguaje Rust ofrece un enfoque prometedor para la programación de sistemas seguros. Un valor puede ser un alias o puede ser mutable, pero no ambas cosas al mismo tiempo.
Pero implementar estructuras de datos basadas en punteros con acceso compartido, como grafos o listas doblemente enlazadas, requiere poder mutar estados que son alias. Para admitir tales estructuras de datos Rust proporciona una serie de APIs que ofrecen la denominada mutabilidad interior: la capacidad de mutar datos usando métodos sobre una referencia compartida. Desafortunadamente, las APIs existentes sacrifican la flexibilidad, el acceso concurrente y/o el rendimiento a cambio de la seguridad.
Este artículo académico propone una API llamada GhostCell que separa de forma segura los permisos de los datos. La propuesta se acompaña de su implementación y ejemplos y de comparativas de rendimiento con otras APIs.
Sonic, indexar textos y documentos con Rust
Sonic es un software de búsqueda rápido y liviano. Una alternativa simple a los pesados y llenos de funciones productos como ElasticSearch.
Normalizar las consultas de búsqueda en lenguaje natural, autocompleta y proporciona resultados relevantes.
Sonic es un índice de IDs, en lugar de un índice de documentos; cuando se consulta, devuelve un ID que luego se puede usar para hacer referencia a los documentos coincidentes en una base de datos externa.
Hablando de sitios web estáticos
Zola es un generador de sitio estático rápido en un solo binario con todo integrado. Documentación disponible en el sitio web o en la carpeta docs/content del repositorio.
Otro buscador rapidísimo con Rust para sitios estáticos
Stork indexa el contenido estático y crea un archivo que se puede cargar en el servidor web. Y proporciona una interfaz Javascript + WebAssembly para buscar en ese archivo de índice.
MeiliSearch es un motor …
MeiliSearch es un motor de búsqueda rápido, de código abierto. Tanto la búsqueda como la indexación son personalizables. Las características como la tolerancia a errores tipográficos, los filtros y los sinónimos se proporcionan de forma inmediata (aunque por ahora no está disponible en español). Más información en la documentación y en el crate para usar desde Rust.
Arrays, vectores y slices en Rust
Debido al compromiso de Rust con la seguridad en el acceso a memoria, existen algunas diferencias en el uso de arrays y vectores respecto a otros lenguajes inseguros.
Los slices, por otro lado, son un concepto nuevo, aunque muy útil.
https://hashrust.com/blog/arrays-vectors-and-slices-in-rust/
Rust, instrucciones «if let» y «while let»
- if let es una sofisticada condición if
- while let es un sofisticado bucle while
Ejecutan un bloque de código si una asignación funciona.
https://dev.to/nickymeuleman/rust-syntax-if-let-and-while-let-12im
Sobre el movimiento «No-Code»
No había leído nada sobre el «No-Code» o el Movimiento «Sin Código» y he encontrado este tuit de David Bonilla en el que difunde una lista de enlaces que preparó sobre el tema. Me la guardo:
https://gist.github.com/dbonillaf/cf8c4a18800a087020bd08528cdb0d63
Se anuncia Tokio 0.3 y se prepara el camino para la 1.0
Esta versión 0.3 funciona como una versión de Tokio 1.0 beta. Se han corregido aspectos de la API para validar los cambios antes de estabilizarlos como parte de una versión 1.0. La mayoría de estos cambios son pequeños, por lo que actualizar de la 0.2 a la 0.3 no debería ser complicado.