Skip to content

thefu/rust-achievement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Achievement

一个包含多个 Rust 项目的学习和实践仓库,展示了不同的编程概念和实用应用。

项目结构

本仓库包含以下三个主要项目:

1. 📐 Expression Parsing Calculation

描述:一个表达式解析和计算引擎,实现了完整的数学表达式解析和求值功能。

主要特性

  • ✅ 支持基本算术运算(+, -, *, /, ^
  • ✅ 支持括号和表达式嵌套
  • ✅ 实现了 Shunting Yard 算法的优先级处理
  • ✅ 完整的词法分析和语法分析
  • ✅ 包含单元测试

技术栈

  • Rust 2021 Edition
  • 标准库

编译和运行

cd expression_parsing_calculation
cargo run --bin expression_parsing_algorithm

示例

let src = "92 + 5 + 5 * 27 - (92 - 12) / 4 + 26";
// 输出结果

2. 📈 Quantitative Trading

描述:一个量化交易系统,使用技术指标和 API 数据进行股票行情分析和交易信号生成。

主要特性

  • ✅ 接入 Alpha Vantage API 获取实时股票数据
  • ✅ 计算技术指标:指数移动平均线(EMA)和相对强弱指数(RSI)
  • ✅ 基于多重指标的交易信号生成
  • ✅ 支持异步 HTTP 请求

技术栈

  • Rust 2021 Edition
  • tokio - 异步运行时
  • reqwest - HTTP 客户端
  • serde / serde_json - JSON 序列化
  • ta - 技术分析库

依赖

reqwest = { version = "0.12.12", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
ta = "0.5.0"

编译和运行

cd quantitative_trading
cargo run --bin quantitative_trading_v2

配置说明

  • 需要配置有效的 Alpha Vantage API 密钥
  • 默认股票代码为 600016(中国银行)

3. 🤖 RIG RSS

描述:一个 RSS 订阅源自动摘要提取系统,使用 AI(OpenAI GPT)对 RSS 内容进行智能摘要和分析。

主要特性

  • ✅ 异步获取 RSS 订阅源内容
  • ✅ 利用 GPT-4o-mini 模型进行内容摘要
  • ✅ HTML 标签和 CDATA 清理
  • ✅ 相关性评分
  • ✅ 定时更新机制(每小时)
  • ✅ 结构化输出

技术栈

  • Rust 2021 Edition
  • rig-core - LLM 交互框架
  • tokio - 异步运行时
  • reqwest - HTTP 客户端
  • rss - RSS 解析
  • regex - 正则表达式
  • chrono - 日期时间处理
  • serde / schemars - 数据序列化和 JSON Schema

依赖

rig-core = "0.7.0"
serde = { version = "1.0", features = ["derive"] }
schemars = "0.8"
tokio = { version = "1.34", features = ["full"] }
chrono = { version = "0.4", features = ["serde"] }
reqwest = { version = "0.12.12", features = ["json"] }
rss = "2.0"
regex = "1"

编译和运行

cd rig_rss
cargo run

配置说明

  • 需要设置 OpenAI API 密钥环境变量
  • 默认 RSS 源为 Hacker News(https://news.ycombinator.com/rss
  • 每小时自动更新一次

快速开始

前置条件

  • Rust 1.70+ (推荐使用 rustup 安装)
  • Cargo 包管理器

安装 Rust

如果还未安装 Rust,可以通过以下命令安装:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

构建所有项目

# 在项目根目录执行
cargo build --all

运行单个项目

# 运行表达式计算
cargo run -p expression_parsing_calculation --bin expression_parsing_algorithm

# 运行量化交易
cargo run -p quantitative_trading --bin quantitative_trading_v2

# 运行 RSS 摘要
cargo run -p rig_rss

运行测试

cargo test --all

项目概览

项目 用途 主要语言特性
Expression Parsing 数学表达式解析 迭代器、枚举、模式匹配
Quantitative Trading 股票数据分析 异步编程、宏、序列化
RIG RSS AI 内容摘要 异步编程、HTTP、正则表达式

学习资源

这个项目集合演示了以下 Rust 概念:

  1. 基础概念

    • 所有权和生命周期
    • 错误处理(Result、Option)
    • 模式匹配和枚举
  2. 进阶特性

    • 异步编程(async/await)
    • 迭代器和闭包
    • 宏和元编程
    • 特征(Trait)实现
  3. 实用库

    • HTTP 网络编程
    • JSON 序列化/反序列化
    • 外部 API 集成
    • 正则表达式处理

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


贡献

欢迎提交 Issue 和 Pull Request!


联系方式

GitHub: @thefu


更新日志

v0.1.0 (2025-11-30)

  • 初始发布
  • 包含三个核心项目
  • 基础文档和示例

About

学习rust语言后的部分成果展示

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages