- 博客(245)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注

原创 C++程序员技能树
图片形式看起来不直观,可访问在线脑图:https://www.processon.com/view/link/5d415690e4b058ef96bba000
2019-08-22 11:49:36
1970
1
原创 py-spy分析性能发现_worker (concurrent/futures/thread.py:78)占用很高
py-spy分析性能发现_worker (concurrent/futures/thread.py:78)占用很高原因分析
2024-11-26 20:00:00
221
原创 rust 编译时报错:type annotations needed for Box
rust 编译时报错:type annotations needed for Box 解决方法
2024-08-14 16:03:38
554
转载 Linux环境下编译Google BreakPad的步骤
参考:https://blog.51cto.com/u_15639793/5296883
2024-05-09 17:07:03
165
原创 rust tokio select!宏详解
本文介绍Tokio中select!的用法,重点是使用过程中可能遇到的问题,比如阻塞问题、优先级问题、问题。在Tokio中,select!是一个宏,用于同时等待多个异步任务,并在其中任意一个任务完成时执行相应的逻辑。
2023-11-27 08:00:00
1478
1
原创 quinn源码解析:QUIC数据包是如何发送的
本文主要介绍quinn发送quic数据的流程。quinn是Rust编程语言中用于实现QUIC(Quick UDP Internet Connections)协议的一个crate(包)。它提供了一个高级别的API,用于构建基于QUIC的网络应用程序。quinn crate的设计目标是提供一个简洁、安全和高性能的QUIC实现。它内部使用了Rust的异步编程模型(async/await),使得编写异步网络代码更加方便和高效。
2023-11-20 08:00:00
739
原创 windows qos api使用示例
本文给出C++版以及Rust版调用windows API实现QOS的示例,并提出一些注意事项。QOS可以用来区分socket 优先级、实现带宽控制等诸多功能。
2023-11-13 08:00:00
489
原创 rust实现quic服务端和客户端
演示如何使用 Quinn 库实现一个简单的 QUIC 客户端和服务器。QUIC 是一种基于 UDP 的协议,用于在互联网上进行快速和安全的通信。
2023-11-11 03:30:00
1417
原创 Blocking waiting for file lock on the registry index 问题解决
本文介绍如何解决cargo build时一直卡在Blocking waiting for file lock on the registry index问题
2023-11-07 19:52:39
366
原创 各大开源组件都在使用什么样的限流算法?
本文引用其他博文的观点介绍几种常见的限流算法,并用rust实现一个令牌桶算法的限流器。最后总结一些开源组件实际上使用的是什么样的限流算法。
2023-11-06 08:00:00
219
原创 抓包分析DSCP字段在FTP/RSTP协议中的应用
本文介绍DSCP字段的作用,以及抓包分析DSCP字段在FTP协议中的应用。最后通过实验证明有可能DSCP字段实际上对普通用户没啥用,原因是运营商可能会将用户设置的DSCP字段重置。
2023-10-30 08:00:00
2170
原创 Orleans的成员管理和故障检测故障检测
Orleans框架是一个基于.NET平台的开源分布式系统框架,用于开发可扩展,高可用,高性能的云服务应用程序。它采用了Actor模型,将分布式系统中的各个节点抽象成为Actor,使得开发者可以更加专注于业务逻辑的实现,而无需关注底层的通信和协调机制。
2023-10-18 08:00:00
280
原创 使用Python将微信和支付宝账单导入随手记
本文介绍如何使用Python将微信和支付宝账单转换为可以导入随手记的文件,实现微信和支付宝账单的批量导入。
2022-10-15 21:52:27
5789
2
原创 《rust死灵书》阅读笔记
本书范围内的主题包括:(不)安全的含义、语言和标准库提供的不安全基础、用这些不安全基础创建安全抽象的技术、子类型和可变性(variance)、异常安全(恐慌/unwind 安全性)、与未初始化的内存相关的工作、类型转换、并发、与其他语言的互操作(FFI)、优化技巧、如何构建低级到编译器/操作系统/硬件的基元(primitives)、如何不使内存模型程序员生气、如何使内存模型程序员生气、以及更多。
2022-09-25 14:33:42
386
原创 《Orleans 构建高性能分布式Actor服务》读书笔记
《Orleans构建高性能分布式Actor服务》主要介绍了虚拟Actor模型和Orleans运行时、资源管理、消息传递、集群构建、数据持久化及可靠性管理等组件,还对Orleans的流式处理、分布式事务、多集群配置与部署等功能进行了介绍。全面介绍了Orleans 的主要功能与特点,并结合实际互联网应用场景给出了多个应用实例。
2022-09-11 20:57:40
397
原创 《软技能--代码之外的生存指南》读书笔记
本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
2022-09-04 16:53:18
235
原创 asyncio.run 会close当前的event_loop
asyncio.run执行完之后会终结异步生成器,并关闭线程池。不要再asyncio.run之后调用asynio.get_event_loop()
2022-09-03 20:33:57
644
原创 Python使用contextvars模块传递上下文的底层原理
contextvars:是Python提供的用于存放上下文信息的模块,支持asyncio,可以将上下文信息无感地在不同的协程方法中传递。contextvars模块主要有两个类:ContextVar和Context,Context可以是一个map,map的键是ContextVar。不同方法中的上下文传递实际上是通过拷贝Context来实现的。本文主要介绍contextvars模块的基本用法、底层实现、写时拷贝以及浅拷贝需要注意的事项。
2022-08-20 19:22:13
2806
翻译 py-spy: Python程序的性能分析工具
py-spy是一个python程序的采样性能分析工具。可以在不重启程序或修改代码的情况下可视化地展示Python程序的时间消耗情况。py-spy的开销很低:它用rust编写、和要分析的Python程序不在同一个进程,这意味着py-spy可以安全地在生产环境使用。...
2022-08-13 20:15:03
2432
原创 《数据密集型应用系统设计》思维导图(读书笔记)
《数据密集型应用系统设计》算的上是系统设计领域的神书了。书中关注与数据处理,但不仅仅是数据处理。一些诸如事务、分布式系统设计领域中的关键问题,本书也做了比较透彻的分析。如果你对分布式、数据处理等方面的事情比较感兴趣,不妨读一读。...
2022-08-13 17:48:00
305
原创 tokio channel性能测试
本文通过简单的场景测试tokio 中channel的收发性能。代码开了两个线程,一个收一个发,持续十秒。最终打印每秒发送次数。
2022-07-18 14:22:35
715
原创 rust-analyzer 的warning/error提示与实际位置不符合问题解决
环境:windows vscode rust-analyzer问题现象如下图,错误提示出现在莫名其妙的地方。原因:应该是最近版本引入的bug。解决方法:回退到历史版本,或者更新为预览版。笔者是选择了升级到预览版。参考:https://github.com/rust-lang/rust-analyzer/issues/12293...
2022-05-25 10:14:36
1735
原创 Rust 限流算法crate调研
简介:本文介绍几个Rust中实现了限流算法的crate。背景:最近工作需要实现限流算法。所以调研了一些限流算法。最终认为令牌桶算法比较适合我们的业务场景。想着rust应该有现成的库可以复用,所以简单看了下。几个可选的crate1、leaky_bucket - Rust基于tokio 异步的,实现了令牌桶算法,通过acquire接口来获取令牌。获取不到的时候会阻塞当前协程。use leaky_bucket::RateLimiter;let limiter = RateLi
2022-05-23 22:30:00
997
原创 orleans 限流策略源码剖析
orleans简介:Orleans is a cross-platform framework for building robust, scalable distributed applications | Microsoft Orleans Documentation1、gateway的建立链接和收消息限流都是简单判断一下cpu是否过载了。2、事务限流判断下(历史速率*1+ 当前速率*2)/3是不是超过阈值了3、activation限流有两个阈值:软阈值和硬阈值。统计当.
2022-05-20 22:15:00
309
原创 rust hashmap 按值排序
use std::collections::HashMap;use rand::random;fn main() { let mut count: HashMap<char, u32> = HashMap::new(); for i in 0..26 { count.insert( ('a' as u8 + i) as char, (random::<usize>() % 26).try_int.
2022-05-19 23:00:00
1571
linux和windows下分别wirshark抓包ftp协议
2023-10-27
libcapn-1.0.0(with openssl1.1)(vs2015,windows).rar
2021-07-08
libcurl7.65.3+openssl1.1.1e+nghttp2-1.40.0+libssh2+libzip.rar
2020-03-24
Snipaste-1.15.3-x64.rar Windows下的截图工具
2020-03-05
spacesniffer_1_3_0_2 磁盘空间分析工具
2020-03-05
Boost.Aiso实现Http服务端,VS2015工程可直接编译运行
2019-07-30
链表迭代器模式Demo
2017-04-18
SpringMVCDemo2
2017-04-06
elasticsearch 如何批量删除重复数据?
2017-12-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人