首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏EdisonTalk

    MongoDB入门实战教程5

    UpdatedDate':ISODate("2012-10-02T07:58:51Z")}]) 2 配置ASP.NET Core项目 创建WebAPI项目 建立一个ASP.NET Core 或 ASP.NET 5的 通过NuGet安装MongoDB.Driver: PM>Install-Package MongoDB.Driver 目前MongoDB.Driver最新版本为2.12.4(2021年6月5日发布)。 示例github地址:https://github.com/EdisonChou/EDT.Mongo.Sample 4 总结 本文总结了如何在ASP.NET Core/ASP.NET 5应用程序中操作MongoDB

    1.7K10发布于 2021-06-17
  • 来自专栏前端开发面试指南

    2022-webpack5实战教程

    new CleanWebpackPlugin() ] } 经掘友提醒,webpack5有新增清空dist目录的方式,在output增加clean字段,现补充在下面 module.exports = } }, exclude: /node_modules/ } ] } } babel-loader负责将ES6/7/8等语法转换为ES5语法

    1.4K30编辑于 2022-10-17
  • 来自专栏abin在路上

    Rust实战系列-Rust介绍

    也就是说,Cargo 执行 rustc(Rust 编译器)将 Rust 代码转换为可执行的二进制文件或共享库。 record.trim().len() == 0 { // <4> continue; } let fields: Vec<_> = record // <5> (需要保证目标文件未被编译,如果已经编译则没有对应输出) rustc:管理 Rust 源代码的编译 rustup:管理 Rust 的安装 5. grains.push(Cereal::Rye); // <4> drop(grains); // <5> Rust 的特征:性能 Rust 充分发挥计算机的可用性能,Rust 不依赖 GC(垃圾收集器)来保证内存安全。

    1.9K22编辑于 2023-03-21
  • 来自专栏Rust语言学习交流

    Rust日报】Rust newtype 终极教程

    https://www.gauge.sh/blog/parsing-python-asts-20x-faster-with-rust Rust newtype 终极教程 通过Rust的newtype包装器可以提高类型安全性 这个教程非常全面,推荐阅读: https://www.howtocodeit.com/articles/ultimate-guide-rust-newtypes 微软Surface的UEFI是用Rust 写的 微软Surface的UEFI固件是用Rust写的 https://techcommunity.microsoft.com/t5/surface-it-pro-blog/surface-uefi-evolution-in-boot-security-amp-device-management-to /ba-p/4159998 教程 - 使用Rust开发跨平台安全应用 讲解了Rust如何与TS配合。 https://www.firezone.dev/blog/using-tauri Rust 社区统计数据 这个统计各大社交平台上的Rust数据。显示Rust正在快速增长。2个月涨了几%。

    29510编辑于 2024-07-02
  • 35-Rust 教程 - unsafe Rust

    unsafe Rust 编译器:我不允许!你:我偏要!欢迎来到 Rust 的"法外之地" 引入 学到这里,你可能已经对 Rust 的借用检查器又爱又恨了。 恭喜你,这种想法说明你已经准备好了学习 unsafe Rust。 但先别急着兴奋。unsafe Rust 不是让你"为所欲为"的通行证,而是一把双刃剑。 指针解引用不会导致未定义行为 unsafe fn get_unchecked(slice: &[i32], index: usize) -> i32 { *slice.as_ptr().add(index) } 5. 实战案例:实现一个简单的 Vec 让我们看看 unsafe 在实际中的应用。 参考资料 The Rustonomicon - unsafe Rust Rust Book - unsafe Rust Rust by Example - unsafe

    15610编辑于 2026-06-04
  • 来自专栏Rust

    Rust match 教程

    基本概念 match 是 Rust 中的强大模式匹配语法,类似于其他语言的 switch,但功能更强大。它允许你根据变量的值执行不同的代码分支,并且可以匹配复杂的数据结构。 ("Write: {}", text), } } 绑定变量与守卫(if 条件) 你可以在分支中绑定变量,还可以加条件 let x = Some(5); match x { Some( ("Result: {}", result); 穷尽性检查 Rust 要求 `match` 必须覆盖所有可能情况,否则编译报错。这保证了代码的安全性。 实战例子:Option 和 Result fn main() { let maybe_name = Some("Alice"); match maybe_name { Some ("Error: {}", e), } } 总结 `match` 是 Rust 的模式匹配工具,功能远超传统 `switch`。 可以匹配数字、枚举、结构体、元组等。

    13010编辑于 2026-04-23
  • 来自专栏Rust

    Rust 多线程编程教程:从基础到实战,解锁并发神力!

    Rust 线程基础:spawn、join 和 move 闭包Rust 的线程在 std::thread 模块中。 性能对比:单线程 ~5s,多线程 ~2s(视 CPU 核数)。在数据科学工具中,这能加速矩阵运算或模拟。3. 线程通信:通道(Channels)入门线程间不共享数据? 实战场景:在游戏服务器中,Arc<Mutex<Player>> 共享玩家状态;或 CLI 工具并行下载文件,Mutex 记录进度条。警告:死锁风险!别在锁内调用另一个锁住的 Mutex。 调试神器:RUST_LOG=debug cargo run,或 gdb 附着。线程,让 Rust 并发如丝般顺滑 Rust 线程不是“可选糖衣”,而是安全并发的基石。 实战中,从小项目起步:试试并行排序日志文件,或构建 mini Web 服务器。Rust 的并发哲学:让编译器抓错,别让运行时崩溃。

    20710编辑于 2026-04-23
  • CubeCL Rust GPU计算教程

    CubeCL是一个现代化的Rust GPU计算框架,它让编写高性能、可移植的GPU内核变得简单。 简单易用:用Rust写GPU代码,学习曲线平缓 高性能:自动向量化优化,充分利用GPU算力 可移植:同一份代码可运行在WGPU/CUDA等不同后端 类型安全:Rust的类型系统保证代码安全性 提示: 即使没有GPU编程经验,通过本教程你也能快速上手CubeCL! / 创建与GPU设备的连接 let client = R::client(device); // 准备测试数据: 4096个5.0f32 let input = &[5f32 255 - pixel[2], // 反转蓝色通道 ]); buffer.put_pixel(x, y, inverted); } // 5.

    1K31编辑于 2025-04-09
  • 来自专栏abin在路上

    Rust实战系列-基本语法

    本文是《Rust in action》学习总结系列的第二部分,更多内容请看已发布文章: 一、Rust实战系列-Rust介绍 “主要介绍 Rust 的语法、基本类型和数据结构,通过实现一个简单版 grep fn main() { let needle = 0o52; let haystack = [1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862]; for , 5]; for i in 0..collection.len() { let item = collection[i]; // ... } 这是合法的 Rust 语法,在不能直接对 collection 5. (5)std::path::Path:专门用于处理文件系统路径的字符串类型。 接下来,为轻量级 grep 增加功能,打印行号和匹配的内容。

    3.1K10编辑于 2023-03-21
  • 20-Rust 教程 - 测试

    今天咱们就聊聊 Rust 的测试系统——内置的、强大的、让你爱上写测试的神器。 核心概念 Rust 的测试类型 类型 位置 用途 单元测试 源码文件内(#[cfg(test)]) 测试单个函数/模块 集成测试 tests/ 目录 测试整个库的 API 文档测试 文档注释中(///) : # 安装 dotenvy cargo add dotenvy # 创建 .env 文件 API_KEY=test_key // 测试前加载 dotenvy::dotenv().ok(); 实战案例 三剑客 测试要独立:不依赖顺序,不共享状态 文档测试:让文档示例永远正确 下篇预告: 咱们已经学了内存的基础(栈和堆),但 Rust 的内存模型可不止这些。 下篇深入聊聊Rust 的内存模型,看看所有权、借用、生命周期是怎么在内存层面工作的! 参考资料 Testing Chapter Integration Tests

    15710编辑于 2026-05-14
  • 36-Rust 教程 - FFI

    Rust 中,主要指 Rust 调用 C 或 C 调用 Rust。 为什么需要 FFI? 复用现有代码:几十年积累的 C 库,不能扔了吧? ("5 + 3 = {}", result); // 8 let c_str = b"Hello, C! C 调用 Rust 函数 反过来,C 也可以调用 Rust 函数。这在给 C 程序提供 Rust 实现的高性能函数时很有用。 否则 Rust 可能优化内存布局,导致 C 端读取错误。 5. 错误处理:Result ↔ errno Rust 用 Result<T, E>,C 用返回值 + errno。怎么转换? 实战案例:封装 SQLite C 库 让我们看一个真实的 FFI 封装案例——封装 SQLite 的 C API: use std::ffi::{CStr, CString}; use std::os:

    15000编辑于 2026-06-05
  • 来自专栏Se7en的架构笔记

    Elastic Stack 实战教程 5:Elasticsearch Java API Client 开发

    本系列 Elastic Stack 实战教程总共涵盖 5 个实验,目的是帮助初学者快速掌握 Elastic Stack 的基本技能。 cd elastic-lab/5_java_develop/ docker-compose up -d 执行 docker-compose ps 命令查看容器运行状态,其中 5java_develop_setup 选择打开 elastic-lab -> 5_java_develop -> elasticsearch_java_api_client 项目目录。 docker exec -it 5javadevelop_es01_1 cat config/certs/ca/ca.crt 5 创建实体类 创建一个 Product.java 文件用于保存商品字段。 其中密码是在 elastic-lab/5_java_develop/.env 文件中设置的。

    3K20编辑于 2023-02-26
  • 来自专栏Web 技术

    Rust 易学教程】第 1 天:Rust 基础,基本语法

    Rust 是个啥 Rust 是一种新的编程语言,在 2015 年发布了 1.0 版本,我会从以下方面让你知道 Rust 出现的意义: Rust 是一种静态编译语言,其作用与 c++ 类似。 Hi,I am Rust 了解了 Rust 是什么后,就让我们先来体验一番 Rust 最简单的程序: fn main() { println!("Hi, I am Rust!") , T2), … (), (‘x’,), (‘x’, 1.2), … 数组的赋值和访问: fn main() { let mut a: [i8; 10] = [42; 10]; a[5] self.width += delta; } } fn main() { let mut rect = Rectangle { width: 10, height: 5 ("old area: {}", rect.area()); rect.inc_width(5); println!

    1.4K20编辑于 2023-11-12
  • 21-Rust 教程 - 内存模型

    引入 你有没有想过,当你写下一行 let x = 5; 时,Rust 到底把你的 5 放在了哪里? 是随便找个地方塞进去?还是有个精心规划的"小区"? 今天咱们就来扒一扒 Rust 的内存模型,搞清楚你的数据到底住在哪儿,以及为什么 Rust 要这么设计。 ("x = {}, y = {}", x, y); // 输出:x = 5, y = 5 } 为什么 x 还能用? 因为 5 是固定大小的整数,直接存在栈上,复制成本几乎为零。 "); process_data(&s); // 只是借用 process_data(&s); // 再借一次 process_data(&s); // 随便借 } 实战案例 有没有被 Rust 的所有权转移坑过?评论区聊聊你的"血泪史"! 参考资料 Rust Book - Stack and Heap Rust By Example - Box

    15810编辑于 2026-05-14
  • 16-Rust 教程 - 闭包

    Rust 里,有个好东西叫闭包(Closure),让你能随手写个"一次性函数",不用取名,随写随用。今天咱们就聊聊这个让代码更简洁的神器。 核心概念 什么是闭包? 闭包,说白了就是匿名函数。 , numbers); // [9, 8, 5, 2, 1] } 看到没?|a, b| b.cmp(a) 这个闭包直接写在 sort_by 里面,不用单独定义函数,多清爽! , name); }; greet(); // Hello, Rust! Box(需要堆分配) fn make_adder_boxed(x: i32) -> Box<dyn Fn(i32) -> i32> { Box::new(move |y| x + y) } 实战案例 参考资料 Rust Book - 闭包 Rust by Example - Closures

    17110编辑于 2026-04-28
  • 04-Rust 教程 - 函数基础

    Rust 教程 - 函数基础 函数:代码界的"打工人",给啥干啥,干完交活 引入 你是不是已经写过一些 Rust 代码了? 简单说: 表达式(Expression):有返回值的东西,比如 1 + 2、x * 3、func() 语句(Statement):执行某个动作,不返回值,比如 let x = 5;、println! ("3 + 5 = {}", result); // 调用带默认行为的函数 print_greeting("Alice"); print_greeting("Bob") 改成 3 和 5 !" 注意:Rust 不会自动类型转换!这在其他语言里可能行得通,但 Rust 说:"不行就是不行"。 ("{}", name); } 实战案例 案例 1:温度转换器 fn main() { let celsius = 25.0; let fahrenheit = celsius_to_fahrenheit

    16510编辑于 2026-03-30
  • 来自专栏全栈开发工程师

    Rust Vec<T> 集合使用教程

    Rust Vec 集合使用教程教程将介绍如何在 Rust 中使用 Vec<T> 集合。 Vec<T> 是一个动态数组,可以存储任意类型的元素。 ("{}", i); // 输出每个元素 } } 运行结果 1 2 3 5.

    38600编辑于 2025-01-06
  • 49-Rust 教程 - 调试技巧

    今天咱们就聊聊 Rust 调试的那些事儿,从最原始的 println! 到专业的 gdb/lldb,再到 IDE 神器! 核心概念 Rust 调试的"三个阶段" 阶段 1:println! , src/main.rs:4:5 } assert! vs debug_assert!: // assert! - 所有模式都检查 assert! (&my_complex_variable); 5. 解决思路: 看错误信息中的行号 找出哪个变量"活得不够长" 调整作用域或所有权 实战案例 案例:调试一个内存泄漏 问题代码: use std::cell::RefCell; use std::rc:: 学完 Rust 后的学习路线是什么?敬请期待! 参考资料 Rust 调试指南 tracing 官方文档 VS Code Rust 调试 gdb 使用手册 lldb 使用手册

    10300编辑于 2026-07-03
  • 06-Rust 教程 - 结构体

    Rust 教程 - 结构体 结构体:数据的"收纳盒",把相关字段装一起 引入 你有没有写过这样的代码: let user_name = "Alice"; let user_age = ; let user_email 今天咱们就来聊聊 Rust 的结构体,看看它怎么帮你组织数据,以及它和其他语言的"类"有什么不一样。 核心概念 结构体是什么? error[E0594]: cannot assign to `user.age`, as `user` is not declared as mutable --> src/main.rs:12:5 用这个 只读数据 &self 修改数据 &mut self 消耗/转换结构体 self 实战案例 案例 1:学生管理系统 struct Student { id: u32, name 参考资料 Rust Book - 结构体 Rust By Example - 结构体

    13410编辑于 2026-03-30
  • 38-Rust 教程 - 高级宏

    ("Result: {}", result); // 输出: // Entering add // Exiting add // Result: 8 } 5. ::Error::new( input.ident.span(), "Only structs supported" ) .to_compile_error() .into(); 实战案例 恭喜你完成了 Rust 高级主题四部曲: ✅ 第 35 篇:unsafe Rust ✅ 第 36 篇:FFI ✅ 第 37 篇:宏编程 ✅ 第 38 篇:高级宏 这些是 Rust 中最强大也最复杂的特性 掌握它们,你就真正进入了 Rust 高手的行列! 下篇预告 高级主题学完了,接下来咱们进入 实战项目篇! Writing a Skeleton Driver - 过程宏实战

    12000编辑于 2026-06-08
领券