coding到灯火阑珊

专注于技术分享,包括Rust、Golang、分布式架构、云原生等。

使用Rust构建IP嗅探器
在这篇文章中让我们学习如何构建一个基本的网络工具,该工具可以扫描指定IP地址上的端口,以查看哪些端口是打开的。
Rust:深入了解线程池
在某些情况下,你需要并发地执行许多短期任务。创建和销毁执行这些任务线程的开销可能会抑制程序的性能。解决这个问题的一个办法是建立一个任务池,并在需要时将它们从这个任务池中取出。
如何用Rust实现gRPC服务
在本文中,将展示如何使用Rust和Proto协议创建一个简单的gRPC服务。
一家硬件公司的Rust之旅
Oxide计算机公司以其在云计算领域的开创性方法而闻名,其目标是彻底改变云服务的集中化模式。他们的产品是一款商业云计算机,旨在为个人企业带来超大规模云计算的好处,标志着云计算领域的转变,他们自己的硬件和软件解决方案由Rust提供支持。
Rust 构建跨平台 GUI 的新选择
在现代软件开发过程中,用户界面(GUI)的设计与实现是不可或缺的一环。随着Rust编程语言的崛起,其安全性、性能和并发特性使其成为开发高质量GUI应用的理想选择。`relm`框架,作为Rust生态中的一员,提供了一种声明式、事件驱动的方法来构建GUI,本文将深入探究`relm`的设计理念、特性以及应用实例,为广大Rust爱好者开启构建跨平台GUI应用的新篇章。
Rust:Trait和泛型的高级用法
在这篇文章中,我们将快速复习一下Rust的trait和泛型,以及实现一些更高级的trait边界和类型签名。
从使用Rust构建SaaS平台中学到的东西
Meteroid是以产品为主导的云原生定价和计费的SaaS平台,解决了传统计费系统的复杂性和局限性,简化了复杂计费模型的创建、扩展和维护,自动生成发票,并为实现kpi提供清晰、可操作的见解。它消除了客户使用和计费之间的差距,确保了准确性和透明度。
2024年Rust编程的十大领域
Rust经常被誉为“只要能写就能做任何事情的语言”,它确实是一种具有无限可能性的通用语言。从嵌入式系统到web浏览器,Rust的底层能力是无限的。
动态生成Rust代码
本文讨论的是从其他Rust代码生成Rust代码,而不是Rust编译器的代码生成步骤。源代码生成的另一个术语是元编程,但这里将其称为动态代码生成。
Rust中Trait的关联类型和自动实现
在这篇文章中,我们将深入了解Rust中Trait的关联类型和自动实现。我们将使用标准库中的示例来阐明这些概念,并演示它们在API设计中的重要性。
Rust中的数据可视化指南
可视化是数据分析和解释的一个关键方面。虽然Rust主要以其性能和安全特性而闻名,但它也为数据可视化提供了强大的工具。在这个全面的指南中,我们将深入研究Rust中的数据可视化世界,探索库,技术和编码示例,以帮助你为数据项目创建令人惊叹的可视化。
Go不能写,但是可以用Rust写的3段代码!
在这篇文章中,要分享的例子不仅仅是假设,它们来自于工作中的真实案例,在这些例子中,Go的局限性无法实现所需的解决方案。声明:这里的区别并不在于Rust代码比Go代码更正确或更快。
选择正确的Rust机器学习框架:Candle、Burn、DFDX,还是tch-rs?
随着机器学习(ML)领域的不断发展,对高性能和可靠框架的需求导致Rust生态系统中出现了几种选择。Rust的安全保证、性能特征和并发支持使其成为ML应用程序的一个有吸引力的选择,特别是在关键任务或资源受限的环境中。
介绍几个Github上的Rust开源项目-第三期
Quary是一个SQL引擎和CLI工具,可以让你轻松管理数据转换项目。Quary使团队能够设计、记录、测试和部署数据转换在你的数据存储上。
介绍一个Rust的键值存储库:keyv
Keyv是一个简单的键值存储库,旨在简化键值存储并增加其灵活性,支持多个后端。它为跨后端键值存储提供了一致的接口。由于支持基于ttl的过期,它足够通用,既可以充当缓存,也可以充当持久键值存储,以适应你的需求。
适合Rust初学者晋级到中级的项目
这个项目使用piston游戏引擎和OpenGL图形库构建Pong游戏,这个游戏创建两个球拍,一个在左边,一个在右边,还有一个球。有2名玩家,他们将能够用Y和X键和上下箭头处理左右球拍。
Rust挑战 - 动手实现HashMap 2
通过迭代器循环遍历entry,而不是老式的索引计数。由于我们需要从给定的索引开始,循环遍历整个数组,以index-1结束,这本身有点棘手,但可以使用Iterator::split\_at\_mut()方法完成。这样,我们就可以最终实现get\_mut()方法了。
为什么Rust中存在Eq与PartialEq两种Trait ?
当我们将Student与仅限制必须实现Eq的类型一起使用时,编译器就会提示。HashMap键需要实现Eq trait,因为HashMap的键必须满足自反关系。在我们的例子中,多个学生实例的id都可以是0,因此Student类型不能作为键。
Rust优于C++的两个原因 ?
尽管学习曲线陡峭,Rust已经证明了自己是一门值得掌握的语言。今天,让我们深入研究一下Rust优于C++语言的原因。
WASM与Rust:革命性的组合
WebAssembly (Wasm)和Rust已经成为一个强大的组合,改变了软件工程的面貌。Wasm是一种二进制指令格式,可以在web浏览器上高性能的执行,为web应用程序提供接近本机的速度。Rust与Wasm的无缝集成,可以专注于性能和内存安全,这样就创建了一个强大的组合。
为Rust项目共享Target目录
在这篇文章中,主要关注Rust项目。类似的解决方案也适用于其他语言,如NodeJS,它需要大量的空间。
如何使用Rust和Kafka进行高效的文件共享?
在当今相互关联的世界中,高效的文件共享是许多应用程序的基本需求,特别是在分布式环境中运行的应用程序。在本文中,我们将探索如何利用Kafka和Rust的强大功能来构建高效的文件共享系统。
Rust: 如何区分可变引用还是可变变量?&mut VS mut
要在Rust中创建不可变变量,只需编写let x = 1337,这是简单的。如果想创建一个以后可以改变的变量,只需在let之后添加mut关键字。添加mut关键字通知其他人该变量将在代码的其他地方被修改。
高级Rust面试问题 - 3
描述如何在Rust中实现高级错误处理模式,例如将Result与自定义错误类型和 ?(用于错误传播的操作符) 相结合.
为什么Rust适用于游戏开发?
Rust是一种强调内存安全性、高性能和并发性的现代系统编程语言。由于其性能和安全特性,它最近作为一种非常适合游戏开发的语言而受到欢迎。
你是否了解Rust中闭包的优缺点?
在本文中,我们将探索Rust中的闭包,这是一种强大的语言特性,允许开发人员编写简洁、灵活且可读的代码。我们将深入研究闭包背后的动机,讨论它们的优点和缺点,并通过实际示例演示它们的使用。
如何编写异步运行时通用库?
使用futures crate,可以编写非常通用的库代码,但是time,sleep或timeout等操作必须依赖于异步运行时。这时,你可以定义自己的AsyncRuntime trait,并要求下游实现它。
在Rust中实现API限速
在这篇文章中,我们将讨论如何在Rust中实现API限速。当涉及到生产中的服务时,是为了确保不良行为者不会滥用API——这就是API限速的作用所在。
用Rust和OpenCV打造ASCII图片
使用Rust和OpenCV的动态组合,将任何旧图片变成一个炙手可热的ASCII艺术图片。想象文字像像素一样跳舞,在纯文本的基础上捕捉图像的本质。
Rust Pingora框架实践:构建负载均衡器
Pingora是一个Rust框架,用于构建快速、可靠和可编程的网络系统。Pingora是经过实战测试的,它在过去几年的时间里每秒服务超过4000万次互联网请求。