何处为山
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
谈谈Rust动态派发

谈谈Rust动态派发

在 Rust 中,多态主要通过两种方式实现:静态派发 和 动态派发。虽然泛型(静态派发)是 Rust 的首选,但在处理“异构集合”(例如一个包含不同 UI 组件的列表)时,动态派发(即 dyn Trait)则是不可或缺的利器。 然而,并不是所有的 Trait 都能开启动态派发。这篇文章简单聊聊:想要实现动态派发,Trait 必须满足哪些条件?底层又是如何运作的? 核心概念:胖指针在 Rust 中,
2026-03-03
TechMagic
#rust
一致性哈希

一致性哈希

背景假设在分布式负载均衡场景中,对于一些输入,我们希望尽可能均匀的将其分配到 n 个不同的节点。常规的哈希算法通常使用简单的哈希函数与取模来得到下标。$$\text{index} = hash(input) \ % \ n$$但当节点扩缩容时,即 n 的大小变化时,一个显而易见的问题是。对于相同的 input,得到的 index 是不同的。 从数学上来看,即使 index 发生变化,这样
2026-03-03
TechMagic
#密码学
几种IO方式

几种IO方式

面试问到了,重新梳理一下 一次 IO 到底发生了什么?以读 socket 数据为例。一次 read 实际上包含两个阶段: 等待数据准备好(内核态) 数据从网卡 → DMA → 内核缓冲区 这个过程应用程序完全无法参与 只能等 数据从内核拷贝到用户空间 内核 buffer → 用户 buffer 这是一次内存拷贝 一次 IO = 等待数据 + 拷贝数据 所有 IO 模型
2026-03-02
TechMagic
从 TTY 到现代 Shell

从 TTY 到现代 Shell

掌握数字世界的咒语:从 TTY 到现代 Shell 写在前面: 很多新生看着电脑屏幕上那个闪烁光标的黑框(Terminal)会感到恐惧。习惯了图形界面(GUI)的点点点,为什么我们还要学习敲命令? 如果把操作系统比作一辆赛车,GUI 是方向盘,让你轻松驾驶;而 Shell(命令行)则是引擎盖下的机械结构。作为计算机专业的学生,你不能只会开车,你必须学会修车、改装车,甚至重新设计引擎。 这篇文章将带
2025-12-16
经验分享
#shell #terminal
某科学的超黑魔法

某科学的超黑魔法

写在前面前序文章是:爱与魔法 - I++ Club,当时是以俱乐部的名义发的,所以在内容上更偏向了技术科普,而不是实践操作。并且有相当一部分同学看完之后其实并没有懂,就算正确操作后,在出现偶发的网络问题时也不清楚如何解决。本文的目的就是尽可能去解决这些问题。 小试牛刀首先,请你先处于SEU的校园网环境下(即就是你连接了SEU-ISP或者SEU-WLAN),并且你可以ping通 10.210.126
2025-11-03
经验分享
#Clash #网络 #魔法
RustFFI

RustFFI

什么是 FFIFFI (Foreign Function Interface,外部函数接口) 是一种编程机制,允许一种编程语言调用另一种编程语言编写的代码或与另一种语言进行交互。它打破了语言之间的壁垒,使得不同语言编写的模块能够相互协作。 引入:open() 系统调用 Rust: std::fs::File::open() → libc::open() → syscall(SYS_open) C:
2025-08-03
TechMagic
#Rust #FFI
AI猫娘 启动!

AI猫娘 启动!

AI猫娘 启动!NcatBot,基于 NapCat 的 QQ 机器人 Python SDK,快速开发,轻松部署。 前言我们 I++ 俱乐部的小伙伴一直悄悄主持维护了一个QQ聊天机器人的项目,并在最近才分享给了大家。虽然这个项目的star数还没到三位数,但在简单浏览其 README 和文档之后,我们都感到非常震撼!这个项目将QQ聊天Bot的部署成本降低到了只需要基础Python语法的地步。得益于其优
2025-03-19
经验分享
#Python #NCatBot
123…6

搜索

Hexo Fluid
载入天数... 载入时分秒...
总访问量 次 总访客数 人