深入学习Rust异步编程:mini-redis项目解析
前言 为了深入学习Rust编程的最佳实践,并熟悉成熟且主流的tokio异步运行时,我决定通过学习mini-redis项目来提升自己的Rust高性能编程能力。本文记录了我对该项目的学习过程和理解。 项目地址:https://github.com/tokio-rs/mini-redis 项目架构概览 graph TD %% Main components with subgraph structure subgraph 核心服务器 ["核心服务器组件"] server["serverRedis服务器实现"] shutdown["shutdown优雅关闭机制"] db["db键值存储和发布/订阅"] end subgraph 通信层 ["通信层组件"] connection["connectionTCP连接管理"] parse["parseTCP字节流解析"] frame["frameRedis协议帧表示"] end subgraph...
程序员的价值在哪里
程序员的核心价值是利用技术为企业创造业务价值,而非纯粹的技术能力。其价值公式 V=Σ(技术杠杆率×业务价值密度)揭示了价值来源:技术杠杆放大个人产出,业务价值密度决定场景潜力。不同场景和行业对程序员价值估值各异,通用价值体现在解决复杂问题、优化性能、提升效率、推动创新和降低成本等方面。程序员需拥抱多元技术栈,精进核心技能,提升业务理解和复合能力。技术价值受稀缺性、适配度和泡沫溢价率影响,需警惕技术超前、路径依赖和伪需求陷阱。逃离泡沫需识别资本退潮、人才降温、监管收紧等信号,并提前转型、提升能力、谨慎投资、拓展人脉和终身学习。
从 Alpha 到坐庄:不充分市场中的暴富
在金融市场的丛林中,“暴富"二字总是充满诱惑。相对于成熟、高效的市场,那些不充分的市场,由于信息不对称、监管缺失、参与者结构单一等原因,往往潜藏着更大的波动性和"机会”。本文将从金融操作的角度,剖析在不充分市场中,从追求 Alpha(超额收益)到极端情况下的"坐庄",可能涉及的策略和路径。 🚀 Alpha 的追逐:不充分市场中的"信息差” 在有效市场中,所有信息都已反映在价格中,获取超额收益(Alpha)难于登天。但在不充分市场中,信息传播的滞后、扭曲,为 Alpha 的追逐提供了空间。 应该有不少的 KOL 都是通过这种手段,在20年开始积累了自己的原始资本的。他们有的会重复研究项目的价值,团队背景,叙事,市场情绪等,形成自己的研究优势。在早期,绝大多数人的盲目的,合约只知道倍数,甚至不知道怎么计算的。这个时候,基于对技术和叙事的自信,有人投入了大量的资金。 我看到 0富...
公链安全开发指南和审计checklist
作者: Jiahao Luo 来源:https://blog-blockchain.xyz/audit/blockchain-client-security/ 前言 【文档使用范围与目标读者】 本审计清单适用于从事区块链开发、安全审计,或对区块链底层安全感兴趣的技术人员和研究人员。我们假设读者对区块链基本概念(区块、交易、合约等)已有一定了解,但可能对密码学、P2P 网络、共识机制、跨链通信等专业领域的安全风险尚不完全熟悉。 【关键术语释义】 熵源:指生成随机数时所依赖的随机性来源,如操作系统随机数设备、硬件随机数模块等。熵源的质量直接决定私钥或交易nonce的安全性。 共识机制:区块链中达成一致状态的协议,如PoW、PoS、BFT等。若共识机制有漏洞,可能导致双花、长程攻击或分叉。 VM安全(虚拟机安全):区块链上运行合约的执行环境(如EVM、WASM)。任何虚拟机级别的安全缺陷都会导致合约逻辑被恶意利用。 基于 SlowMist...
Mermaid 快速绘制流程图
本文主要介绍了如何快速绘制流程图、系统架构图和处理流程,以及如何在 Markdown 中渲染 Mermaid。 渲染 Mermaid 商业产品,支持高级功能,丰富的自定义,但是一般不太需要那么精美:https://www.mermaidchart.com/ vscode markdown 插件:Markdown Preview Mermaid Support 或者 Markdown Preview Mermaid Support,前者更加重,支持更多的功能。 draw.io:https://www.drawio.com/blog/mermaid-diagrams 各种markdown编辑器。 Excalidraw 的手绘风格,更加适合快速绘制:https://excalidraw.com/ Mermaid 流程图 Mermaid 的 flowchart(流程图) 是用来绘制流程图、系统架构图和处理流程的核心功能之一。以下是详细的语法和功能解释,涵盖基本用法、节点类型、箭头连接、条件分支等。 基本结构 Mermaid 的流程图以 flowchart...
如何保障个人网站的安全
前言 我的服务器2次被攻击,一次是我端口映射到windows的远程桌面,但是居然被人在不停的爆破。第二次是我的后台管理页面,经历了 ACK Flood,让我甚至不能正常的ssh连接上服务器。于是我学习了linux怎么去配置防火墙,如何自动去拉黑IP。但是这个工作太过于繁琐,防火墙的配置非常复杂,线性的匹配各个规则,互相耦合。而且针对每个端口不同的用途,需要不同的防火墙设置。fail2ban的配置也比较复杂,尽管我之前熟悉linux的日志管理,但是每个应用的日志在不同的地方,还是带来了很多的麻烦。 我这才意识到,原来nginx是非常伟大的项目,只通过80和443端口,反向代理其他的本地端口,极大的减少了攻击面。而且速率控制等高级功能,可以在nginx上配置,不用繁琐的去配置各个端口的防火墙,我只要简单配置这两个端口的防火墙即可。Nginx 提供了一种单入口、多服务分发的方案,解决了下面的核心问题: 安全风险:暴露的端口越多,越容易成为攻击目标(如...
科研小总结
计算机科学的科研 会议的等级 国内计算机学会的 CCF 划分是比较权威的,虽然它受到了政治立场的影响,对某些会议的评级可能存在偏差,但总体上还是在合理范围内。CCF将会议分为A、B、C三个等级: A类会议:质量很高,是公认的顶级会议。 B类会议:部分质量很高,但整体略低于A类。 C类会议:质量相对较低,影响力有限。 一般而言,专注于发表A类会议论文,并选择能够发表A类会议的研究课题,是一个很好的科研策略。值得注意的是,国际认可度高的会议和期刊通常都是英文的,其他语言的学术活动在声望和影响力上往往难以相提并论。 除了CCF的分类,还有一个重要的参考是Core Conference Rankings。这个系统汇集了全球多个国家和地区的会议评级标准,为研究人员提供了更全面的参考。它可能包含了如下的标准 SCI(Science Citation Index):主要用于评估期刊影响力。 SCIE(Science Citation Index Expanded):SCI的扩展版本。 ERA(Excellence in Research for...
RSS信息汇聚
阅读软件 我用过 Feedly,它很适合免费的用户,但是我个人不喜欢它的 UI 界面,我更喜欢 inoreader 的界面,因为我需要更大的预览空间。 follow 也不错,布局是类似的,而且是开源的,支持加密货币大赏,我喜欢它的UI还有激励模式。它会激励一些收费的feed出现,刺激RSS生态的发展。但是它目前还在公测中,很多的功能用不了。 https://github.com/RSSNext/follow 我在试用期的时候,被 Inoreader 吸引力,核心在于 它居然和youtube联合,可以用 youtube 的 API 自动就导入了我关注的频道。 AI识别网站生成 feed的能力很强大。我可以关注 bilibili 感兴趣的 UP 主的视频。虽然由于反爬虫机制,可能会爬取失败,但是多尝试几次,一般都能成功。 Inoreader和其他的 RSS 一样,也有移动和网页客户端,网页有插件能很方便的收藏阅读和加入feed。我购买一年,一年大概432人民币,我还能接受。 订阅渠道 RSSHub: https://docs.rsshub.app/zh/...
安全加密实践-GPG
GPG 是一款强大的开源加密工具,基于公钥密码学原理,为电子通信提供隐私保护和数据验证。它广泛应用于确保信息安全和身份认证。 安装指南 Linux 系统 Debian/Ubuntu: 12sudo apt updatesudo apt install gnupg CentOS/RHEL: 1sudo yum install gnupg Fedora: 1sudo dnf install gnupg Arch Linux: 1sudo pacman -S gnupg macOS 使用 Homebrew 安装: 1brew install gnupg Windows 从 Gpg4win 官方网站 下载安装包 2. 运行安装程序,按提示完成安装 3. 安装后,在命令提示符或 PowerShell 中验证 FreeBSD 通过 pkg 包管理器安装: 1pkg install gnupg 验证安装 在任何平台上,运行以下命令确认安装成功: 1gpg...
传输和备份实践
rsync rsync 是一个强大的文件同步和传输工具,适用于类 Unix 系统。Windows 用户可以通过 WSL(Windows Subsystem for Linux)来使用 rsync。以下是详细的安装和使用方法: Ubuntu/Debian: 12sudo apt updatesudo apt install rsync CentOS/Fedora: 1sudo yum install rsync macOS(使用 Homebrew): 1brew install rsync 注意,两台机器都要安装好。 使用方法 1rsync [选项] 源目录/ 目标目录 -a:归档模式,保留所有文件属性 -v:详细输出 -z:压缩传输 -P:显示进度并允许断点续传 –delete:删除目标目录中源目录没有的文件 -h:以人类可读的格式显示文件大小 -e:指定要使用的远程 shell,通常用于指定 SSH 连接参数 本地同步: 1rsync -avzP /path/to/source/...