【Rust 日报】2023-05-28 一个构建在TCP上的聊天工具

news2024/12/23 9:35:54

tcp-chat:构建在TCP上的简单快速轻量的聊天工具

tcp-chat通过TCP进行通信,该项目的目的是了解并行性和底层网络通信。

1e8af0badd998adacb9233e359cdbd62.png

前端工具:Solid、Tauri、Vite

后端工具:Rust、Tokio、Serde

GitHub: https://github.com/gatomod/tcp-chat

ezlua:Rust的Lua绑定

功能包括:

  • 序列化 (serde) 支持

  • 异步函数绑定支持

  • 人性化的函数和用户数据方法绑定

  • 人性化的堆栈值操作,无需关注堆栈细节

  • 高效:无辅助堆栈,支持引用类型转换

  • 内置绑定到最常用的 rust std 函数和类型

  • 多线程支持

GitHub: https://github.com/metaworm/ezlua

failsafe-rs:错误处理

轻量的错误处理库。使用示例:

#[derive(Clone, Debug, PartialEq)]
pub struct Person {
    name: Option<String>,
    pub url: String,
}

# 必须实现 Runnable
impl Runnable for Person {
    fn run(&mut self) -> Result<(), Box<dyn Any>> {
        println!("I am a person, getting my name!");
        let name_response: Result<String, SomeNetworkError> = remote_request_that_might_fail(self.url);
        match name_response {
            Ok(name) => {
                println!("Got a name! {}", name);
                self.name = Some(name);
            }
            Err(_) => return Err(
                Box::new(
                    PersonError::as_any(&PersonError::NameFindingError)
                )
            )
        }
        Ok(())
    }

    fn update(&mut self, other: &Box<dyn FallbackAble>) {
        let n: &Person = other.as_any().downcast_ref().unwrap();
        self.url = n.url;
    }
}

GitHub: https://github.com/inventhq/failsafe-rs

r2:RISC-V模拟器

fe8bfaf933a25f40bc9366b9cdc6bb49.gif

本地启动:

$ cargo run -p app -- -i fixtures/linux.bin -d fixtures/default.dtb

WASI:

$ cargo build -p wasi --target wasm32-wasi --release
$ wasmtime ./target/wasm32-wasi/release/wasi.wasm

Wasm:

$ cd wasm
$ cargo build --target wasm32-unknown-unknown --release
$ wasm-opt --asyncify --pass-arg=asyncify-imports@env.keydown ../target/wasm32-unknown-unknown/release/wasm.wasm -o out.wasm
$ npx serve

GitHub: https://github.com/bokuweb/r2

disintegrate

Disintegrate 提供了一种从事件流构建域对象的替代方法。在支持传统聚合的同时,Disintegrate引入了一种新方法,允许在建模业务规则时具有更大的灵活性和适应性。通过利用事件流作为基础,Disintegrate使开发人员能够构建模型来捕获业务事件的本质,而无需在聚合中对同一事件进行多版本。这减少了重复和复杂性,从而产生更清晰和更易于维护的代码。

GitHub: https://github.com/disintegrate-es/disintegrate


From 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

  • 微信公众号:Rust 语言中文社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/591956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信号链基础

信号链&#xff08;SIGNAL CHAIN&#xff09;&#xff1a;一个系统中信号从输入到输出的路径。 从信号的采集&#xff0c;放大&#xff0c;传输&#xff0c;处理一直到对相应功率器件产生执行的一整套信号流程叫信号链。具体来说&#xff0c;信号链是对从信号采集&#xff08;传…

WebGPU:下一代 Web 图形和计算 API

WebGPU 是一种新兴的 Web 标准&#xff0c;旨在为现代图形和计算应用提供高性能、低功耗的 API。本文将介绍 WebGPU 的背景、特点、用途以及和 WebGL 的对比。 一、背景 随着 Web 技术的不断发展&#xff0c;越来越多的高性能图形和计算应用开始出现在浏览器中。WebGL 是迄今为…

陈丹琦团队提出低内存高效零阶优化器MeZO,单卡A100可训练300亿参数模型

深度学习自然语言处理 原创作者&#xff1a;辰宜 今天下午突然发现了一篇陈丹琦大佬的巨作~ 大家一起来简单瞅瞅。 本文旨在介绍一种用于fine-tuning语言模型&#xff08;LM&#xff09;的低内存优化器——MeZO&#xff0c;内存减少多达12倍。使用单个A100 800G GPU&#xff0c…

中文完整版FL Studio21永久免费升级

集合最新FL基础操作、编曲技巧、混音技巧、乐理基础、声乐演奏等各类内容&#xff0c;比如更高端版本才有的必备原厂插件Pitcher和Sakura&#xff0c;还有智能编曲插件ORB&#xff0c;编曲软件FL Studio21版本更新现已发布&#xff0c;在这次更新中优化了很多功能&#xff0c;但…

基于 Amazon API Gateway 的跨账号跨网络的私有 API 集成

一、背景介绍 本文主要讨论的问题是在使用 Amazon API Gateway&#xff0c;通过 Private Integration、Private API 来完成私有网络环境下的跨账号或跨网络的 API 集成。API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境)&#xff0c;因为客观上不同业务…

Arm推出新一代高性能CPU内核Cortex-X4以及GPU Immortalis-720 GPU

每年差不多这个时候&#xff0c;智能手机芯片背后的大脑 Arm 都会推出高通、联发科等公司用于下一代SoC的构建模块。在 2023 年 Arm 技术日期间&#xff0c;Arm 推出了一系列涵盖高性能和低功耗用例的新 CPU 内核&#xff0c;以及其第五代 GPU&#xff0c;并提供光线追踪图形支…

chatgpt赋能python:Python中构造方法的介绍与应用

Python中构造方法的介绍与应用 在Python编程语言中&#xff0c;构造方法通常是类中的一个特殊方法&#xff0c;用于在对象创建时初始化其属性。构造方法使用__init__关键字来定义&#xff0c;而且通常会包含self参数&#xff0c;用于引用创建的新对象。在本文中&#xff0c;我…

本地服务器搭建PHP简单Imagewheel云图床

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

HVV的艺术系列 之 打点的艺术

渗透的本质是信息收集&#xff0c; 攻防的体系是知识点的串联。 打点的艺术 01 对靶标的分析 在HVV当中&#xff0c;获取到的靶标存在多种行业。对不同的靶标存在不同的打法&#xff0c;我通常分为两个大方向。其一为机关单位&#xff0c;其二为集团公司等。 其中二者区别对攻击…

【golang】2、http client、代理、爬图

文章目录 一、http client二、反向代理2.1 http2.2 gin 三、爬取并存储 jpg 用 golang 可以很方便的爬图&#xff08;http 下载图片&#xff0c;存储为 jpg 格式&#xff09;。 一、http client http client 有如下最佳实践&#xff1a; 尽量用 default http client&#xf…

小米万兆路由器里的 Docker 安装 chatgpt-next-web,打造自己的专属ChatGPT

小米万兆路由器里的 Docker 安装 chatgpt-next-web&#xff0c;打造自己的专属ChatGPT 0. 先体验一下效果1. 准备工作2. 查看Docker Hub镜像信息3. 拉取 ChatGPT-Next-Web 镜像和运行容器4. 感谢99. (Optional)其他 小米2022年12月份发布了万兆路由器&#xff0c;里面可以使用D…

挑战高通!智能座舱升级战

和智能驾驶相比&#xff0c;智能座舱无疑是智能化普及的领跑角色。 高工智能汽车研究院监测数据显示&#xff0c;2022年中国市场&#xff08;不含进出口&#xff09;乘用车搭载智能数字座舱&#xff08;大屏语音车联网OTA&#xff09;前装标配交付795.05万辆&#xff0c;同比增…

01. docker安装青龙面板 基于阿里云centos7服务器(保姆级图文)

目录 1. 安装docker2. 在终端中安装青龙面板3. 开放端口4. 访问青龙面板总结 欢迎关注 『青龙面板』 专栏&#xff0c;持续更新中 欢迎关注 『青龙面板』 专栏&#xff0c;持续更新中 1. 安装docker 在宝塔面板的软件商店中安装docker 2. 在终端中安装青龙面板 安装命令如下…

DTM在新交易平台的落地 | 业务平台

一、项目背景 在项目的发展过程中&#xff0c;我们将整个新交易平台(业务平台部专门为360集团内部打造的类似有赞、微盟的交易系统)微服务化&#xff0c;产生了店铺服务、商品服务、订单服务、优惠券服务、红包服务、用户服务、支付服务、履约服务、售后服务等等。并且这些服务…

前端系列17集-和公司架构师在学习vue3-springboot

SyntaxError: "undefined" is not valid JSON at JSON.parse (<anonymous>) 这个错误通常意味着你正在尝试将一个非 JSON 格式的数据转换成 JSON 格式。为了修复这个问题&#xff0c;你需要找到导致错误的代码行并检查它的输入数据是否符合 JSON 格式标准。 这…

chatgpt赋能python:Python中构造函数的作用

Python中构造函数的作用 Python是一种高级编程语言&#xff0c;其强大的面向对象编程&#xff08;OOP&#xff09;功能是其流行的主要原因之一。在Python中&#xff0c;通过使用构造函数可以轻松创建对象实例&#xff0c;并为对象的属性赋值。在本文中&#xff0c;我们将介绍P…

剖析CPU性能火焰图生成的内部原理

关注开发内功修炼&#xff0c;掌握硬核技术原理 大家好&#xff0c;我是飞哥&#xff01; 在进行CPU性能优化的时候&#xff0c;我们经常先需要分析出来我们的应用程序中的CPU资源在哪些函数中使用的比较多&#xff0c;这样才能高效地优化。一个非常好的分析工具就是《性能之巅…

到底什么是“5G新通话”?

今天这篇文章&#xff0c;我们来聊聊今年很热门的一个概念——“5G新通话”。 小枣君当年第一次听说“5G新通话”的时候&#xff0c;还以为是VoNR的“新马甲”。 后来&#xff0c;仔细研究了一下&#xff0c;我才知道&#xff0c;原来“5G新通话”并不是VoNR&#xff0c;而是Vo…

chatgpt赋能python:Python中的构造函数

Python 中的构造函数 Python 是一门广泛应用于各种应用领域的高级编程语言&#xff0c;它支持不同的编程范式&#xff0c;包括面向对象编程。在面向对象编程中&#xff0c;构造函数是一个重要的概念。本文将介绍 Python 中的构造函数&#xff0c;并介绍如何使用它们来创建对象…

PFTL201C 10KN 3BSE007913R0010 专为测量该分力而设计

在许多带材加工中&#xff0c;带材张力会在轧辊上产生一个水平分力...或者&#xff0c;通过设计&#xff0c;它可以做到这一点。概述使用该水平分力测量带材张力非常有利。称重传感器的尺寸可仅测量带材张力&#xff0c;不包括辊的皮重。结果是优化了测量精度。另一个优势是ABB…