嵌入式Rust模式-零空間參考
文章提出一種參考方式可以在嵌入式系統使用 讓你可以在嵌入式系統中節省記憶體的使用
https://ferrous-systems.com/blog/zero-sized-references/
Tide 0.8.0 發佈了!
新特色 Fallible endpoints
use async_std::{fs, io};
use tide::{Response, StatusCode};
#[async_std::main]
async fn main() -> io::Result<()> {
let mut app = tide::new();
app.at("/").get(|_| async move {
let mut res = Response::new(StatusCode::Ok);
res.set_body(fs::read("my_file").await?);
Ok(res)
});
app.listen("localhost:8080").await?;
Ok(())
}
新特色 Server-Sent Events
use tide::sse;
#[async_std::main]
async fn main() -> Result<(), std::io::Error> {
let mut app = tide::new();
app.at("/sse").get(sse::endpoint(|_req, sender| async move {
sender.send("fruit", "banana", None).await;
sender.send("fruit", "apple", None).await;
Ok(())
}));
app.listen("localhost:8080").await?;
Ok(())
}
新特色 Static file serving
#[async_std::main]
async fn main() -> Result<(), std::io::Error> {
let mut app = tide::new();
app.at("/public/images").serve_dir("images/")?;
app.listen("127.0.0.1:8080").await?;
Ok(())
}
https://github.com/http-rs/tide/releases/tag/v0.8.0
如何在2020年加速Rust編譯器
Nicholas 記錄了他們過去增加編譯速度的一些方法
https://blog.mozilla.org/nnethercote/2020/04/24/how-to-speed-up-the-rust-compiler-in-2020/