Dvorak
Dvorak

Dvorak Chen

Design maybe the art of programming


Leptos - CSR & SSR

Leptos是一个全栈框架,支持MVC式的Web应用开发。前端框架的纯前端应用采用CSR(客户端渲染)方式,优点是更少的打包文件,更紧凑的格式,但对SEO不友好。SSR(服务器端渲染)是更好的选择,Leptos采用Actix和Axum实现SSR,分为脱水、浸泡和湿润三个步骤,使用Rust的features在不同环境运行不同代码。组件里的服务器代码运行在SSR环境下,Leptos提供了Server Functions功能,可以在组件里使用服务器的代码。但是,Leptos的SSR环境有时会遇到一些奇怪的问题。--GPT 4

Rust Leptos

在 Rust 中使用 Actor 模型

在本篇博客中,我们探讨了在Rust编程语言中如何使用Actor模型来解决多线程共享变量的线程安全问题。文章首先介绍了Rust中使用`Mutex`锁来实现线程安全的基本方法,然后通过实际案例展示了在多线程通讯功能中,使用`Mutex`锁可能导致的问题,例如长时间阻塞等。为了解决这个问题,文章尝试了使用`TcpStream`引用来绕过生命周期检查的方法,但这种方法存在一定的不安全性。 然后,文章引入了Actor模型作为解决方案。Actor模型是一种并发计算模型,由许多独立的并发实体组成,每个实体都是一个Actor。每个Actor都有自己的状态和行为,Actor之间通过消息传递。在这个模型中,每个客户端都成为一个Actor,分别持有自己的`TcpStream`,无论是向这个`TcpStream`发送还是监听,都由持有这个`TcpStream`的Actor去执行,而执行的时机就通过消息(Message)来触发。这种方法避免了全局变量和原始指针的使用,同时也没有`Mutex`锁,看起来更加干净清爽。 那么,Actor模型是否能完全解决多线程下的线程安全问题呢?如何在实际中更有效地使用Actor模型?这些都是值得我们进一步探讨的问题。--GPT 4

Rust

  • 1