为什么要学习rust
内存管理:对于我来说,我就喜欢它的内存管理。我做了一个webapi,取100万行数据,导出到xlsx,再把这个xlsx文件发送给前端。分别用了java、c#、go和rust进行了相同的操作。只有rust做到了,启动时8MB内存,执行webapi操作时占了1G左右内存,发送给前端后,内存又回到了8MB。内存即时释放,这一点对于服务器来说,太重要了。当然你可能要说,c/c++也能做到内存即时释放,首先我不会c/c++,其次就算是会的人,也很容易出错。所以对于我来说,rust是我唯一能做到内存即时释放的语言。
跨平台且无需另外安装运行时:rust可以编译到win、mac、linux,而且体积非常小,而且不需要单独安装运行时。这一点GO,也可以,但是go内存占得多呀。
赌未来:rust处于上升期,微软已经在使用rust慢慢替代c/c++了,在win11 2024H2中已经有了rust的代码。linux虽然还没有rust落地,但是已经在“激烈讨论”了。国内来说,华为早就是rust最高级别会员之一,字节的rust早就落地了。从目前的趋势来看,rust在未来20年都不会被淘汰。
学习rust应有的准备:找不到工作,目前国内的rust岗位几乎没有。难度大,对于不会c/c++的人来说,rust入门难度很大。据说对于会c/c++的人,rust其实并不难。
哪些人最适合学rust?
1、学生,学生时间多,学习能力强,学rust最合适不过。
2、业余时间比较多的程序员,学rust很花时间。如果你太忙,不建议学。
3、已经会c/c++的程序员,这类人学习rust比较容易。多一个技能,为什么不呢。
4、自由开发者,这类人需要有突破点。java等开发的应用太多了,拿出去很难竞争,rust或许是一个突破点。
作者并不是高手,只是算是半入门rust的人,使用rust做了一个电子表格工具:hpctb。涉及到xlsx的读写,webapi的操作,pgsql、mysql、sqlite、mssql、oracle的操作,证明rust也能做业务。
相关文章:
为什么要学习rust
内存管理:对于我来说,我就喜欢它的内存管理。我做了一个webapi,取100万行数据,导出到xlsx,再把这个xlsx文件发送给前端。分别用了java、c#、go和rust进行了相同的操作。只有rust做到了,启动时8MB内存&#…...
观察者模式和订阅发布模式的关系
有人把观察者模式等同于发布订阅模式,也有人认为这两种模式存在差异,本质上就是调度的方法不同。 发布订阅模式: 观察者模式: 相比较,发布订阅将发布者和观察者之间解耦。(发布订阅有调度中心处理)...
基于STM32的智能温控花盆设计
目录 引言系统设计 硬件设计软件设计 系统功能模块 空气质量传感器模块数据处理与分析模块实时显示与用户交互模块报警与提示模块远程监控与数据上传模块 控制算法 空气质量数据处理与分析算法异常检测与报警算法数据上传与历史数据回溯算法 代码实现 空气质量检测与数据处理代…...
OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!
文本转语音(TTS)技术已经成为人工智能领域的重要一环,无论是语音助手、教育内容生成,还是音频文章创作,TTS 工具都能显著提高效率。今天要为大家介绍的是 OpenAI-Edge-TTS,一款基于 Microsoft Edge 在线文本…...
P4681 [THUSC 2015] 平方运算 Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an) 和常数 p p p ,有 m m m 个操作,分以下两种: modify ( l , r ) \operatorname{modify}(l,r) modify(l,r):对每个 i ∈ [ …...
【apt源】RK3588 平台ubuntu20.04更换apt源
RK3588芯片使用的是aarch64架构,因此在Ubuntu 20.04上更换apt源时需要使用针对aarch64架构的源地址。以下是针对RK3588芯片在Ubuntu 20.04上更换apt源到清华源的正确步骤: 步骤一:打开终端 在Ubuntu 20.04中,按下Ctrl Alt T打…...
Angular 2 表单深度解析
Angular 2 表单深度解析 引言 Angular 2作为现代前端开发的框架之一,以其灵活性和强大的功能赢得了众多开发者的青睐。在Angular 2中,表单处理是其中一个重要且复杂的部分。本文将深入解析Angular 2的表单,从基础知识到高级应用,旨在帮助开发者更好地理解和运用Angular 2…...
PHP 7 新特性
PHP 7 新特性 引言 PHP 作为一种广泛使用的服务器端脚本语言,自1995年诞生以来,已经经历了多个版本的迭代。PHP 7 是 PHP 的发展历程中的一个重要里程碑,它带来了许多新特性和改进,旨在提高性能、增强安全性和简化开发过程。本文将详细介绍 PHP 7 的新特性,帮助开发者更…...
vim如何解决‘’文件非法关闭后,遗留交换文件‘’的问题
过程描述: 由于我修改文件时(一定得修改了文件,不做任何修改不会产生这个问题)的非法关闭,比如直接关闭虚拟机,或者直接断开远程工具的远程连接,产生了以下遗留交换文件的问题: 点击…...
【练习】树形dp
G. Group Homework time limit per test: 3 s memory limit per test: 512 MB input: standard input output: standard output No, we don’t want group homework. It’s the place where KaTeX parse error: Expected EOF, got & at position 7: 1 1 &̲lt; 1 …...
Mybatis是如何进行分页的?
大家好,我是锋哥。今天分享关于【Mybatis是如何进行分页的?】面试题。希望对大家有帮助; Mybatis是如何进行分页的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 实现分页的方式有很多种,最常见…...
【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测
🔥【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测 📅 发布日期:2025年01月29日(大年初一) 在这个辞旧迎新的美好时刻,我们迎来了充满希望的2025年,也是十二生肖中的蛇…...
论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(五)
Understanding Diffusion Models: A Unified Perspective(五) 文章概括基于得分的生成模型(Score-based Generative Models) 文章概括 引用: article{luo2022understanding,title{Understanding diffusion models: A…...
C++并发:C++内存模型和原子操作
C11引入了新的线程感知内存模型。内存模型精确定义了基础构建单元应当如何被运转。 1 内存模型基础 内存模型牵涉两个方面:基本结构和并发。 基本结构关系到整个程序在内存中的布局。 1.1 对象和内存区域 C的数据包括: 内建基本类型:int&…...
JavaScript函数中this的指向
总结:谁调用我,我就指向谁(es6箭头函数不算) 一、ES6之前 每一个函数内部都有一个关键字是 this ,可以直接使用 重点: 函数内部的 this 只和函数的调用方式有关系,和函数的定义方式没有关系 …...
【java学习笔记】@Autowired注解 使用方法和作用 | 配合@Component注解使用 | IOC控制反转
原本在类中,要用什么对象,就直接new一个对象。这种原始的方式 是由应用本身去控制实例的。 用了Autowired注解后,就相当于把实例(对象)的控制权 交给外部容器来统一管理(降低耦合)。(…...
数论问题76一一容斥原理
容斥原理是一种计数方法,用于计算多个集合的并集中元素的个数,以避免重复计算。以下是其基本内容及相关公式: 两个集合的容斥原理 若有集合A和集合B,那么A与B的并集中元素的个数等于A集合元素个数加上B集合元素个数,再…...
python-leetcode-从中序与后序遍历序列构造二叉树
106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right r…...
【Oracle篇】使用Hint对优化器的执行计划进行干预(含单表、多表、查询块、声明四大类Hint干预)
💫《博主介绍》:✨又是一天没白过,我是奈斯,从事IT领域✨ 💫《擅长领域》:✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(…...
设置jmeter外观颜色
设置jmeter外观颜色 方法: 步骤一、点击顶部选项 ->外观,这里提供了不同的主题,可选自己喜欢的风格。 步骤二、选择后,弹框提示点击Yes。...
AI辅助开发实战:用Electron+React+TS构建跳台滑雪模拟器
1. 项目概述:一个由AI驱动的滑雪跳台模拟器如果你是一个体育游戏迷,尤其是对冬季项目里的跳台滑雪着迷,同时又对现代前端开发技术栈感兴趣,那么这个名为Sj.Sim Predazzo Edition的开源项目,绝对值得你花时间深入研究。…...
大语言模型微调实战:从LoRA到QLoRA,一站式开源框架详解
1. 项目概述与核心价值 如果你正在寻找一个能够一站式搞定主流大语言模型微调的开源项目,那么 ssbuild/llm_finetuning 绝对值得你花时间深入研究。这个项目本质上是一个基于 PyTorch 和 Hugging Face Transformers 生态的、高度工程化的微调框架。它最大的魅力在…...
从零搭建机器人抓取系统:OpenClaw工作坊实践指南
1. 项目概述:一个为初学者打开机器人抓取大门的实践工作坊如果你对机器人技术,特别是让机械臂“学会”抓取物体这件事充满好奇,但又觉得它高深莫测、无从下手,那么jelmerdejong/openclaw-beginners-workshop这个项目就是为你量身打…...
AITranslate:本地化AI翻译工作流框架,构建可编程翻译管道
1. 项目概述与核心价值最近在折腾一个挺有意思的项目,叫AITranslate。这名字一看就知道,它想用AI来干翻译的活儿。但说实话,现在市面上翻译工具多如牛毛,从老牌的谷歌翻译、DeepL,到各种大厂出的AI翻译插件,…...
混合人工智能架构可以将神经形态系统转变为可靠的发现机器。
基于ON-OFF神经元的高阶伊辛机架构。图片来源:Nature Communications (2026)。DOI:10.1038/s41467-026-71937-4来源:https://techxplore.com/news/2026-05-hybrid-ai-architecture-neuromorphic-reliable.html主导世界的AI机器可以分为三大类…...
从经典工程恶作剧看理论派与实践派的思维碰撞与团队协作
1. 项目概述:一场经典的工程恶作剧及其启示在任何一个技术团队里,总有一些故事会口口相传,成为团队文化的一部分。我今天想分享的这个故事,发生在上世纪80年代初,一个微电路设计小组里。它无关乎高深的技术突破&#x…...
别再只会用0填充了!Pandas DataFrame.fillna() 的6个高阶用法,数据分析师必看
别再只会用0填充了!Pandas DataFrame.fillna() 的6个高阶用法,数据分析师必看 在数据分析的日常工作中,缺失值处理就像是一道无法回避的数学题。许多刚入行的分析师会条件反射般地输入.fillna(0),这就像用创可贴处理所有伤口——有…...
期刊论文发表难破局:虎贲等考 AI 以真文献 + 强实证,大幅提升录用率
在职称评审、毕业要求、科研考核的多重压力下,期刊论文早已成为硬指标。可现实是:投稿容易录用难,初审因选题、文献、实证、格式任意一点不合格就被拒稿,返修反复消耗数月。通用 AI 只能堆砌文字、编造来源,普通工具仅…...
SmartNIC如何优化AI流水线与网络计算卸载
1. SmartNIC与AI流水线的联姻:网络计算卸载的技术革命 在分布式AI推理场景中,我们常常遇到一个令人头疼的现象:当GPU计算单元满载运行时,CPU利用率也常常飙升至90%以上。这种资源争用并非来自模型推理本身,而是源于那些…...
多重细胞因子检测及其技术综述
一、细胞因子概述细胞因子是一类由免疫细胞(如单核细胞、巨噬细胞、T细胞、B细胞及自然杀伤细胞等)及部分非免疫细胞(如内皮细胞、表皮细胞、成纤维细胞等)在相应刺激诱导下合成并分泌的小分子蛋白质,具有广泛的生物学…...
