自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(385)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 使用Ventoy安装FnOS

Ventoy是一款多功能U盘启动工具,支持同时存放系统镜像和个人文件。安装时需下载Ventoy安装包,运行Ventoy2Disk.exe格式化U盘为exFAT格式,然后将系统镜像拷贝至U盘根目录。使用时需通过BIOS设置U盘为第一启动项,选择系统镜像安装。安装过程中要注意为系统分区预留空间(建议80-90GB),不能全盘分配,以便后续创建存储空间。安装完成后拔掉U盘即可启动新系统。该工具支持版本升级且不会影响U盘中的个人文件。

2025-12-05 22:54:53 309

原创 通过sunshine+moonlight在客厅的电视上玩书房里电脑上的游戏

摘要:本文介绍如何通过Sunshine和Moonlight实现电脑游戏在客厅电视上串流播放。具体步骤:1)电脑安装ViGEmBus驱动和Sunshine服务端;2)电视安装Moonlight客户端;3)手柄连接提供两种方案:蓝牙直连电视(仅游戏内可用)或2.4G接收器连接电脑。作者推荐使用蓝牙连接电视的方案,并指出多手柄情况需要自行测试。全文采用直白表述,避免常见教程关键信息缺失的问题。(149字)

2025-12-01 00:15:27 158

原创 ceph搬迁的时候压力汇总情况

摘要 本文介绍了一个用于分析Ceph集群数据迁移压力的Python脚本。该脚本通过解析ceph pg dump命令输出,统计各OSD节点在数据迁移过程中的读写压力。主要功能包括: 统计待迁移数据(backfill_wait)和正在迁移数据(backfilling)的分布情况 计算各OSD作为源节点(发送数据)和目标节点(接收数据)的PG数量 提供三种压力视图:发送压力、接收压力和总迁移压力 输出结果按压力降序排列,便于识别高负载节点 使用方式简单,只需通过管道将过滤后的PG信息传递给脚本即可。该工具弥补了原

2025-11-28 18:04:00 183

原创 鼓捣4k仓库(一个旧手机,帮你打造4K观影天堂)

摘要:本文介绍了如何利用闲置的旧手机搭建家庭下载服务器,实现远程控制下载4K电影并本地观看。通过Termux安装Aria2下载工具,配置内网穿透使用frp服务,解决了远程操作、低功耗下载和本地观看三大问题。文中详细记录了从环境配置、Aria2安装、内网穿透到实际下载的全过程,提供了一种经济高效的影音下载解决方案,避免在线观看时的画质压缩问题。

2025-11-19 22:00:52 326

原创 聊聊c++的反射

本文探讨了C++中实现反射功能的几种方法。首先介绍了反射的基本概念,即通过字符串动态修改实例字段的能力。然后分析了RTTR框架的局限性,指出其已多年未更新且与高版本GCC兼容性差。重点介绍了两种实用方案:一是使用boost.pfr库进行字段索引访问,但存在只能通过常量索引访问的限制;二是基于nlohmann/json库的JSON序列化方法,通过模板函数实现了通用的字段修改功能,支持多种数据类型转换,虽然性能不高但足够满足一般需求。文章最后展示了这两种方法的具体实现代码示例,包括对Person和Config结

2025-11-10 17:50:09 188

原创 说说c++的异步 聊聊async_completion

我们从https://blog.youkuaiyun.com/dlf123321/article/details/154187272 看完,从流程上来说就走进了异步的大门。

2025-11-03 11:25:54 285

原创 说说c++的异步(从std::future到Boost.Asio)

谈谈c++的异步

2025-10-31 15:18:10 225

原创 关于protobuf

【代码】关于protobuf。

2025-10-16 00:28:00 154

原创 关于gflag

https://gitee.com/cxyxd/cpp-toy/tree/master/src/for_flag

2025-09-28 21:49:42 94

原创 c++ 关于全局变量

总感觉自己c++基础知识很差。最近看代码看到全局变量。我是这么想的。我定义一个global.h里面有一个int a=10;某个cc文件想用这个全局配置,就include globa.h 就行么。额,报错 multiple definition。那么怎么办呢?

2025-09-26 15:40:34 211

原创 关于Unix Domain Socket的使用入门

Unix Domain Socket(UDS) 是一种 在同一台计算机上的不同进程之间进行通信的机制。你可以把它理解为“本地版的网络套接字”,但它不走网络,只在操作系统内部完成数据交换。简单说一个c++每隔几秒钟打印一个字符串,这个字符串就存在进程的内存里,并不是从磁盘里实时读取的。现在想让程序打印另一个字符串怎么办?最近在看ceph的动态参数修改。就观察到了Unix Domain Socket这个技术。假定我有个c++程序,里面有个变量,我现在想修改它怎么办?那这个UDS具体是个啥呢?

2025-09-26 15:02:48 300

原创 关于前置声明

假定,有下面3组文件a.cc被编译成可执行文件其中。

2025-08-19 14:05:10 208

原创 关于使用netserver 进行网络速度的测试

1 在server A上启动 netserver 这个程序;端口,就随便写一个不用的值,这里就暂时用88882 在server B上去进行测试,假定server A的ip是192.168.1.1053 在server A上查看网络流量,就可以看到192.168.1.105绑定的网卡上有流量,另外这个流量的计算单位是KB/s,或者MB/s。记得是大B。4 测试完成关闭server A上面的netserver然后 kill5 测试完成关闭server B上面的netperf。

2025-06-22 19:25:30 298

原创 关于sst的统计信息

不是,使用的是 FdWithKeyRange(就是上面的VersionStorageInfo里面的level_files_brief_)即使我们配置单个sst的大小是64MB,L1L2及更下层次的sst最大大小确实是64MB,但是L0层的sst并不受这个限制。下一个问题,在compact进行选择文件的时候,使用的是FileMetaData么?VersionStorageInfo里面的files_的语意说的很清楚了。Version 记录的某个时刻全局所有sst的信息。记录在sst内部的属性信息。

2025-06-17 11:05:32 367

原创 char* Slice的引用拷贝管理

因为org的清理,只是说让org内部不在指向0x4070a3 ,但是0x4070a3的数据(abc)依然没有被覆盖,而且another依然指向0x4070a3。data_ 本身是一个字符指针,指向0x40709a ,这个位置存放的数据是“abcx\0”data_ 本身是一个字符指针,指向0x40709f,这个位置存放的数据是“defx\0”org和another指向同一个位置,那为什么清理了org,another依然可以读到呢?因为slice_list里面的每个元素的data都指向temp2。

2025-06-09 14:32:16 302

原创 RocksksDB写流程

batch里面有个字符串叫rsp_,里面放的就是每次操作的元数据,rsp_ 的格式如下|8个字节的sequence|4个字节count|serialized-kv-1|serialized-kv-2|serialized-kv的结构就是|1个字符的KTypeValue|4个字节key_size|key_bytes|4个字节value_length|value_bytes|所谓的KtypeValue就是表明这次操作是写还是删除。

2025-06-05 15:24:53 851

原创 谈谈iostat

这个简单的可以理解为快递员要给一个18层的公司所有员工送快递,每一层都有一些包裹,对于快递员来说,最好的办法是同一楼层相近的位置的包裹一起投递,否则如果不采用这种算法,采用最原始的来一个送一个(即noop算法),那么这个快递员,可能先送了一个包括到18层,又不得不跑到2层送另一个包裹,然后有不得不跑到16层送第三个包裹,然后包到1层送第三个包裹,那么快递员的轨迹是杂乱无章的,也是非常低效的。aqu-sz: 发出到设备的请求的平均队列长度。w_await 向设备发出的写请求被处理的平均时间(以毫秒为单位)。

2025-05-28 22:02:49 555

原创 关于甲骨文(oracle cloud)丢失MFA的解决方案

前两年,申请了一个招商的多币种信用卡,然后就从网上撸了一个oracle的免费1h1g的服务器。用了一段时间,人家要启用MFA验证。啥叫MFA验证,类似与短信验证吧,就是绑定一个手机,然后下载一个app,每次登录的时候除了你设置的用户名密码外,还需要那个特定手机上展示的一个code。就这么简单。但是,不出意外的话,有意外了,手机换了,当时忘记更新那个app了。然后 就没法登录oracle了。

2025-05-10 17:05:52 1779

原创 c++ stl的插入获取与删除

emplace_front 和push_front 的区别在于,emplace_front可以直接构造数据放到list最前面,不用再次拷贝。vector在头部增加元素或者删除元素 时间复杂度都是O(n)emplace_back和push_back类似。

2025-04-21 10:36:12 382

原创 c++ 获取当前时间戳与格式化时间字符串

chrono是c++11提出的。

2025-04-11 10:27:00 245

原创 关于LRU与LFU

第一个unordered_map key是真实的key,value是一个node,包含了真实的value和它使用的频率。简单地说,就是移除那些最长没有被使用的数据。当容量满的时候,直接从第三个unordered_map 里面找最小的key,然后清理对应的value即可。第一个unordered_map key是真实的key,value是真实的value。第二个unordered_map key是真实的key,value 是它的使用次数。这里麻烦的要记录每个key的使用频率,然后找到最小的那个频率。

2025-04-10 14:48:18 455

原创 C/C++指针与内存的常见错误踩坑

C/C++指针与内存的常见错误踩坑

2025-04-08 09:18:30 154

原创 说说c++的各种默认函数

除了大家都熟悉的默认构造函数(无参或有参)和析构函数。还有拷贝构造,拷贝赋值,移动构造,移动赋值这四个。

2025-03-25 11:34:19 133

原创 关于GDB

【代码】关于GDB。

2025-03-19 15:04:18 189

原创 c++ vector指针的传递

当vector里面是指针,且整个vector作为参数传递给某个方法的时候。大家看上面的输出,比对一下 就能看出来很多问题。在linux下运行代码,上面两个地址是一样的;在windows下运行,上面两个地址不一样。

2025-03-18 22:04:15 291

原创 c++基础概念

Person里面有个方法叫add,参数是Person *p,那么对p的所有修改,会影响真实的外部调用 这叫使用指针做函数参数。假定有个person类,里面有name和age,有个print方法会打印出name和age。但是你在方法内部修改ptr的指向,那原来myptr的位置 依然没有变呀。上面我们说了如果使用一个指针作为函数的参数,那么内部的修改会影响外部。假如在方法里修改了ptr的内容,那么是会影响到外面的myptr。至此以后,p2就是p1,p1就是p2。如上的代码,运行一次大家就能看到引用的意思了。

2025-03-16 00:36:41 126

原创 关于shared_ptr

我们可以看到person 构造了两次 析构了两次 但是 bed 只构造了一次 也析构了一次。

2025-03-10 17:16:43 272

原创 谈谈Libaio

但是 我找了半天 都没有一个能运行的例子。一段代码不能运行和shi有什么区别?下面的例子是直接把一个person list写入裸盘,再读出来进行校验的例子。网络上有一堆 aio的例子和说明。

2025-02-17 17:03:26 224

原创 线程池判断当前任务组是否都已经结束

最近写测试代码的时候,需要判断提交的线程池里面的任务是否都已经全部执行完成。在网上找到了一圈,发现这篇博客写到算是比较完整的。但是还是有几个问题。

2024-12-08 20:43:47 194

原创 rocksdb merge的简单记录

rocksdb的merge主要是为了解决读&写需要两步的操作。例如定义一个累加器,总得先把之前的值读出来才能加。下面给两个例子,大家可以直接用。

2024-10-10 17:56:14 447

原创 fio的常用命令

使用fio工具测试磁盘性能时,必须注意:写测试只能在未挂载文件系统的裸盘上进行,已挂载且有数据的磁盘不能直接测试。顺序写测试使用5GB文件,参数包括direct I/O、32队列深度、4K块大小;顺序读测试类似,但可设置多线程。测试命令需指定设备路径(如/dev/sdxxxxx)和测试名称。

2024-09-24 16:32:02 215

原创 谈谈Rocksdb的手动Compact

它默认是true,也就是说,如果我现在手动进行了一次compact,那么在我手动的compact执行完成之前,系统不会再进行内部的compact。也就是说即使L0的sst都满了,也不会把L0的sst往下刷,直到手动compact完成。执行上面的逻辑后,系统就会把L4之前在key1和key100范围内的sst都一层一层合并,最终保证在key1和key100范围内的sst都处于L4层。我已经没想明白为什么要这样,手动compact本身就是个低级别的事情,为什么要阻碍系统内部的compact呢?

2024-09-13 15:16:06 617

原创 谈谈Rocksdb的迭代器

以下介绍都来自rocksdb 6.15.5版本。

2024-09-05 20:15:09 640

原创 Rocksdb一些日志

表示:37号 job 需要从L3读1个文件,然后L4读23个文件,一共需要读取1512930764 字节的数据进行合并。而且通过table_file_creation 也可以看到新生成的sst里面kv总数是多少,墓碑是多少。会答应出每隔10分钟各个列簇compation的信息,具体包括。结果里ingest就是写入的数据总量。

2024-08-30 15:36:38 550

原创 谈谈CosBench

我一直认为,任何一个组件的开发者在编写user guide的时候都应该秉持这样一个思路:最快的,最方便的先让用户能把这个组件跑起来。各种优化细节应该后面再说,而不是一上来就给用户说一大堆琐碎的知识点。

2024-08-23 11:47:28 1040

原创 谈谈Rocksdb的del优化--CompactOnDeletionCollector

在GetIntTblPropCollectorFactory函数里面,会把我们设定的factory包装成一个个UserKeyTablePropertiesCollectorFactory,然后放到ColumnFamilyData的int_tbl_prop_collector_factories_里。核心逻辑就是把sliding_window_size分成128个小段,当处理了sliding_window_size个key之后,128段也走完了,就把第1段的数据抛弃掉,接着处理第129段数据。

2024-08-15 09:30:28 1137

原创 RocksDB中基于LRUCache的Block Cache生命周期管理

block cache的生命周期管理

2024-08-09 10:31:40 873

原创 rocksdb的缓存在读流程里面的作用

我认为理解一个东西最好的逻辑,就是先假定它不存在,然后看看在没有它的情况整个流程如何运行,然后再去看看加上它都解决了那些问题。Version::Get里面会按照L0的sst文件都检查一遍,然后之后的每层只用检查1个sst文件的逻辑进行搜索。具体对某个sst文件的查询在Version::Get里面的TableCache::Get方法里。在BlockBasedTable::Open里面,就是按照如下的顺序解析各个block的。这里面大的流程就是先从mem读,如果没有就去imm读,如果还没有就去sst里面读。

2024-08-01 12:02:03 824

原创 关于c++的友元类

【代码】关于c++的友元类。

2024-07-30 17:17:34 276

原创 Cmake静态库与动态库的构建与使用

但是ForHello_local_share 还动态依赖原来的库,你把目录名称改了,ForHello_local_share 想要去找hello_share这个动态库自然找不到了。ForHello_local_static 已经把库加到自己里面了,外面的库有什么变化,对ForHello_local_static 本身已经没有影响了。之后 我们可以看到两个可执行文件:ForHello_local_static 和ForHello_local_share。假定库不是我们的项目产生的,而是别人给的呢?

2024-07-04 00:22:18 523

关于java中的时间

关于java中时间 日期 和math的ppt 很简单

2012-12-24

fusioncharts/widgets for flex 的swf 与swc文件

里面的swf 我自己用过 绝对没有问题 另外使用fusioncharts的朋友 也希望你们与我交流

2012-11-28

用flex 写的 卖手机的网页

用flex写的 商店的 模型 绝对可以用 我从官网上下下来后 进行了一点点的修改

2013-01-12

springmvc 异常处理示例

springmvc异常处理的博文如下: http://blog.youkuaiyun.com/dlf123321/article/details/50756003

2016-02-27

用ext写的前台源码 有说明文档

用extjs写的前台 有说明文档 我自己从项目中剥离下来的 可以做为ext的一个综合应用

2014-08-26

ActiveMQ实例---分布式发送邮件

ActiveMQ实例---分布式发送邮件

2016-05-14

flex导航设计与表单验证

里面的每一项我都试验过 直接复制到flex就能看到效果

2012-12-23

mysql-connector-java-5.1.22.rar

mysql-connector-java-5.1.22 包含jar,doc与src代码

2014-10-27

mytinyspring

黄亿华 1000行代码读懂Spring(一)- 实现一个基本的IoC容器 代码的重写

2014-09-30

用java发送邮件

这是用javamail完成的发送邮件的demo diamond说明如下http://blog.youkuaiyun.com/dlf123321/article/details/39153175

2014-09-09

spring 源码

spring的源代码 分成了各个子项目 自己下载的

2014-07-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除