自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT旅途

厚积薄发 坚其志,苦其心,劳其力,事无大小,必有所成

  • 博客(74)
  • 资源 (8)
  • 收藏
  • 关注

原创 云主机计算性能波动调研-磁盘IO影响

云主机计算性能波动调研

2023-07-10 12:27:57 275

原创 boost::asio异步调用-socket.close引起崩溃

boost意外崩溃问题调查

2022-05-15 23:10:33 935 4

原创 线程同步:condition_variable的隐患

线程同步:condition_variable的隐患

2022-03-22 19:55:05 2031

原创 CentOS分区不合理导致根目录存储空间不足

VM默认安装分配了200G的磁盘空间,使用一段时间后发现空间不足。使用df -hl查看空间情况实际根目录只分配了50G的空间。home目录分配了大头的空间。简单的方式就是移除home所占用的分区,分配给根目录如果home中有存储文件,记得备份1、查看分区情况: fdisk -l 2、删除分区umount /homelvremove /dev/mapper/centos-home3、查看剩余空间:vgdisplay4、扩展分区lvexte...

2021-10-14 20:52:29 1549

原创 Win10内存已提交大小过大的问题调研

Win10最大的内存大小实际是看已提交中的最大值(上图红框),如果这个数值满了,就会导致系统崩溃。Win10使用过程中会存在很多内存碎片或者系统内存消耗(具体原因未明),导致已提交大小过大,远大于任务管理器中的显示。主要导致已提交内存过大的原因有两个:(一)软件运行占用经过一段时间的调查,Windows官方也没有给出一个合理的解决方法,只是建议用户关闭一些软件进行处理,说是可能由于软件导致的内存泄露。我们可以考虑关闭一些不用的后台软件或者替换一些轻量级的软件具体的优化就需要看..

2021-08-19 14:21:15 18573

原创 CentOS从FTP下载tar文件,解压失败

使用ftp的get命令取文件下来,发现解压失败,报错如下:gzip: stdin: invalid compressed data--format violatedtar: Unexpected EOF in archivetar: Unexpected EOF in archivetar: Error is not recoverable: exiting now经查是因为在ftp传输中默认是使用ASCII模式传输而非BIN模式,导致压缩文件在传输过程中文件损坏。解决方法:

2021-08-19 14:02:39 1629

原创 跨平台格式化输出int64_t

由于Windows和Linux两平台对于int64_t的定义不一致,所以会导致告警。如果无视这些就警告的话实际上使用lld或者llu,就可以正确输出信息。(gcc报错需要添加-Wall -Wno-format-overflow)本着不能有警告的原则,需要寻找出完美的解决方案。首先出现问题的原因:系统对于int64_t的认定不一致Windows下推荐使用的是:%lld、%I64d、%IdL......

2021-07-03 18:24:01 2576

原创 Mysql插入emoji表情失败解决办法

emoji插入失败是大概率是因为utf8编码问题因为mysql支持的utf8编码最大字符长度为3,而emoji的编码是4字节的,所以导致mysql插入检测时出现问题。解决办法如下:1、表格使用utf8mb4编码2、通过set names命令设置会话字符集对于JDBC连接串设置了characterEncoding为utf8,或者做了上述配置仍旧无法正常插入emoji数据的情况,建议在代码中指定连接的字符集为utf8mb4,示例代码如下。String query = “set names utf8m

2021-03-16 20:16:46 383

原创 印象笔记图标显示不正常的问题-Win10

换了Win10很长一段时间印象笔记的图标都是不正常,之前都是通过跟换快捷方式进行修复,今天又要更新软件,就又查了下,有位朋友分享了,亲测有效,遂记录下。PS:感谢TripCS朋友的分享方法如下: 卸载重新安装,安装的时候选择高级,只为当前用户安装...

2021-03-02 16:38:17 1154 1

原创 win10远程时提示凭证不工作问题

参考链接:https://blog.csdn.net/sinat_25926481/article/details/50775616本机端的解决办法: 1、在“开始”窗口运行gpedit.msc,进入计算机配置->管理模板->系统->凭据分配->允许分配保存的凭据用于仅NTLM服务器身份验证,双击打开,选择“已启用”->单击“显示”输入“TERMSRV/*”,点确定后退出。 2、在“开始”窗口运行命令“gpupdate /force”立即生效或重启电脑。...

2020-12-24 10:33:40 258

转载 Win10下VMware复制文件卡死的解决

最近在Win10下,用WMware启动Win7,安装VMware Tools后,直接复制传输文件经常出现传输进度不更新卡死的现象,后发现网上说可能是版本的问题。遂更新后,问题解决。参考链接:https://blog.csdn.net/u010921682/article/details/105199098/...

2020-04-26 10:18:42 6612

原创 通过GooglePlay地区切换实现下载所需的APP

经过多番查找,目前发现最简单的切换地区的方式。此方式可以下载免费的APP,若要付费需要有礼品卡或者对应区域的支付方式。实验环境:夜神模拟器需要准备:代理方法:1、通过“设置"->"应用" 找到GooglePlay商店,删除GooglePlay商店的缓存数据2、通过代理切换到对应的地区3、打开GooglePlay就可以看到首页的信息已经切换到对应的区域了。...

2020-03-21 15:58:29 2213

原创 Windows下安装NERDTree插件方法记录[基于vim8.2]

前期准备:1.下载vim并安装2.安装git,打开控制台用git --version检查是否安装成功3.安装Curl,打开控制台用curl --version检查是否安装成功开始安装1、本文利用Vundle进行安装,开始安装Vundlegit clone https://github.com/VundleVim/Vundle.vim.git %USERPROFILE%...

2020-03-21 15:51:07 1305

原创 案例分享:fatal error C1001: 编译器中发生内部错误

1>正在生成代码1>c:\********************************\src\thread.cpp : fatal error C1001: 编译器中发生内部错误。1>(编译器文件“d:\agent\_work\1\s\src\vctools\compiler\utc\src\p2\main.c”,第 187 行)1> 要解决此问题,请尝试...

2019-12-18 19:24:51 11774 3

转载 【转】数据处理不规范,DB泪两行。一份非常完整的 MySQL 规范【值得收藏】

转自https://zhuanlan.zhihu.com/p/59721140一、数据库命令规范·所有数据库对象名称必须使用小写字母并用下划线分割·所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)·数据库对象的命名要能做到见名识意,并且最后不要超过32个字符·临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以ba...

2019-12-02 20:51:27 316

原创 Windows 防火墙的入站和出站规则说明

Windows 高级防火墙可以分别设置入站和出站规则,原来以为出入站规则是更具消息包的进入规则来划分的,后面查了相关资料发现并不是如此。入站规则和出站规则的本质区别,最关键是要看这个连接是由谁发起的,如果这个连接是本地发起的,影响该链路的就是出站规则,那仅设置入站规则是无效的。也就是说你无法通过防火墙单向的阻止某个链路的发包或者收包,而只能整个链路封禁。...

2019-12-02 20:49:26 11346

原创 PowerShell引发mysqldump导出文件的字符集错误

尝试使用了PowerShell执行mysqldump命令导出对应的表和数据,发现导出的text字段有乱码,猜测应该是字符集的问题,查看导出的sql文件发现所使用的字符集是utf-16,而数据库的默认字符集是utf-8。使用的执行语句如下:mysqldump -uroot -p --default-character-set=UTF8 --databases test_db --tables...

2019-09-19 20:43:08 769 3

原创 小心浮点数溢出

平时编码相对关注整形溢出情况,对于浮点数考虑溢出情况关注较少,因为计算性能的缘故本身使用浮点数的时机就很少,而且也很少会用到较大的数。但是如果使用pow之类的函数的时候,就要关注下是否会有溢出的情况。例如:double fTemp1 = pow(-1.2, -1.2); // 会得到-nan(ind)double fTemp2 = pow(10.0, 330.0);...

2019-09-06 17:14:13 3231

原创 GOLang-判断进程是否存在

利用GO打算写一个进程检测工具,发现并没有直接可以获取进程的信息的方式,后经过查找,决定采用命令的方式进行处理,关键代码如下: buf := bytes.Buffer{} cmd := exec.Command("wmic", "process", "get", "name,executablepath") cmd.Stdout = &buf cmd...

2019-08-10 14:54:59 10407

原创 彻底关闭烦人的"FF新推荐"

1、进入控制面板——>管理工具——>服务找到Flash Helper Service服务2、进入控制面板——>管理工具——>任务计划程序找到FlashHelper TaskMachineCore的任务,将其删除...

2019-07-27 15:46:17 128445 3

转载 【转】阿里云Redis开发规范

一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idugc:video:1(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mi...

2019-07-24 13:37:31 94

原创 联合编译的神坑Error D8037

最近安装一个专门用于编译发布的机器遇到的神坑问题记录分享下,避免大家再绕进去。。。首先问题描述:Win7上Incredibuild编译时出现错误D8037:无法创建临时 il 文件;清除临时目录中的旧 il 文件(可疑点一)查了网上的资料清一色的说需要删除卸载KB3126587 和KB3126593两个补丁以及还有可能需要删除的KB4012212的补丁KB4012212据说是预防勒索病...

2019-07-05 09:48:05 1010

原创 性能-Windows内存中断-页面错误(page fault)

最近准备项目上线,做了大量的压测工作,发现了在有些机器上会出现大量的页面错误,这些错误会导致内存中断。然而实际的测试数据来看,分两种情况,有大量中断不影响性能和有大量中断影响性能。经过调查发现:大部分的文章中只提及的page fault会导致系统从硬盘中获取内存,导致效率下降。而实际上内存中断分为软中断和硬中断。软中断:内存实际还在物理内存中,但是已经移出working set。只...

2019-06-18 20:24:49 5249

原创 C++11风格的vector循环小坑注意

C++11新引入了类似如下分隔的遍历方式 for(auto iter : vectorTemp) 使用的时候需要注意iter变量是否需要加上引用,不然可能导致程序执行的效果不符合自己的预期。例子如下 typedef std::map<int, int> MAP_TEST_TEMP; typedef std::vec...

2019-05-16 19:13:15 1168

原创 VS2017+Win10内存泄露工具调研分享

最近刚升级到了VS2017进行项目开发,在准备做内存泄露调查的时候遇到了之前常使用的工具无法正常工作的问题,分享下1、LeakDiag vesion:1.25.28.2201会出现以下问题: a.无法识别到要检测的程序 b.设置PDB路径之后,无法启动检测 c.据说不支持x64,未验证2、Tencent TMM内存检测工具通过启动程序后无法识别到...

2019-05-16 08:39:03 2190

原创 GO实现获取本地IP地址(网卡IP地址的方法)

网络上百度了下大致都是如下做法: addrs, err := net.InterfaceAddrs() if err != nil { return false } for _, address := range addrs { if ipnet, ok := address.(*net.IPNet); ok &amp;&amp; !ipnet.IP.IsLoopbac...

2018-10-17 16:50:08 17259 7

原创 boost::asio::ssl::stream线程安全问题

   利用boost+Openssl支持一些安全协议链接时,要特别注意多线程的安全性。   官方文档明确指出了boost::asio::ssl::stream不是线程安全的需要保证其同一个对象不可多线程同时调用Thread SafetyDistinct objects: Safe.Shared objects: Unsafe. The application must also e...

2018-09-16 14:36:29 1244

原创 lib中定义的静态成员变量不一定唯一

  今天偶然间遇到一个BUG,我主工程和一个DLL工程同时使用了同一个lib中的静态成员变量。调试过程中就发现静态成员变量赋值后,到DLL中竟然没有值。  后来发现原来主工程和DLL工程有各自生成了一个静态成员变量,导致和预想的执行效果不一致,我想可能与主工程和DLL工程中的独立的栈空间有关,具体原因还没有深究过,不过这个比较隐晦的问题要注意下,调查起来比较麻烦。...

2018-09-13 22:19:52 562

原创 意外,Openssl出现死循环的问题

  最近调研和研发关于c++支持ws和wss协议的网络底层,意外发现了Openssl内部出现死循环的情况。网络底层采用boost::asio和Openssl的方式支持wss协议。  平时使用都是正常,等到最近压测的时候发现,一段时间后会出现死循环的情况,经过一段时间的调查发现竟然是Openssl底层导致的死循环,死循环的堆栈的信息如下:19:40:03.441 d:\tddownload...

2018-09-13 22:14:23 681 1

转载 【转】服务端为什么需要心跳(保活)机制

如果没有特意的设置某些选项或者实现应用层心跳包,TCP空闲的时候是不会发送任何数据包。也就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接。这其中如果有一方异常掉线(例如死机、路由被破坏、防火墙切断连接等),另一端如果没有发送数据,永远也不可能知道。这对于一些服务型的程序来说,是灾难性的后果,将会导致服务端socket资源耗尽。  所以为了保证连接的有效性、及时

2018-05-29 09:43:42 1626

原创 getpeername接口部分系统返回失败,LastError=10014

今天遇到个问题,我的系统win7系统下使用getpeername接口获取IP可以,但是我同事的win10却不行,接口调用返回失败,获取的错误码为10014.网络上找到一个相关的文章:https://blog.csdn.net/readyisme/article/details/28249883查看MSDN对应的描述(https://msdn.microsoft.com/en-us/library/...

2018-04-21 22:42:50 1600

转载 从清洁工到霸道总裁:真正有格局的人到底是什么样的?

原文地址:http://blog.sina.com.cn/s/blog_15f0658510102xh9u.html1闲暇之余,我翻阅了一本风靡全球,让人顶礼膜拜的商业奇才——乔帮主的个人传记。一个从无到有,建立起商业帝国,推动世界进步的人,传奇之处太多了。最让我感慨的是:乔布斯给新高管讲的一个和清洁工有关的故事。据说,在苹果公司,几乎每次有新的管理者走向副总裁的时候,乔帮主都会给他们补上这一课。...

2018-04-10 23:00:35 727

原创 Logstash关于反斜杠的转换

linux下路径是的分隔符是‘/’,而Winodows的分隔符可能是‘/’也可能是‘\'。最近因为需要对路径进行解析,发现filebeat获取的路径都是以反斜杠为分隔符的,对于直接解析会出现问题原先的解析代码如下:mutate{ split => ["source", "/"]}但是如果是反斜杠则会出现解析失败甚至脚本都无法正确运行。尝试过各种符号之后都无果,最后还

2018-02-06 16:11:50 5631 3

转载 修改Windows2012系统环境变量的脚本记录

@echo off::设置java的安装路径,可方便切换不同的版本set input=C:\Program Files\Java\jre1.8.0_161\echo jdk路径为%input%set javaPath=%input%::如果有的话,先删除JAVA_HOMEwmic ENVIRONMENT where "name='JAVA_HOME'" delete::创建J

2018-01-31 20:19:38 3910

原创 编辑器引发的血案-bat执行错误

最近调整一个自动化测试的bat脚本,调整后发现竟然出现各种乱七八糟的问题,检查脚本代码并未发现问题,后经过调查和测试后脚本执行的代码不完整,与预想一行一行执行不一致。然后尝试在行开头增加一个空格后,可以如预期执行。偶然间用windows自带的文本工具打开发现所有代码都在一行中,经过调查后发现该本文的换行模式是仅LF(换行),而Windows的换行是CR(回车)+LF。导致两行的代码出现在同一行,所

2017-11-16 13:41:55 343

原创 网络编程 - boost::asio优雅的退出

boost::asio算是一个比较成熟的网络库,不过在某些方面在异步上的接口实现却不是很友好,感觉官方的很多文档描述的都太简单了,甚是忧伤。     回归正题,最近一直在研究asio的关闭流程,发现相关的信息确实不多。简单总结了下大致就是先关闭 socket再关闭io_service。但是内部有很多细节的问题没有考虑到。     总结的一些注意点,分享下          1、一定要确

2017-01-18 20:26:32 7407 1

原创 Raknet中拆包的坑

Raknet自带拆包功能,如若你传入的buffer大于Raknet内部可接受的数据量,则会自动开启拆包。拆包会有流量和性能的消耗,但是这都不是关键,关键是这里藏了个坑,会导致数据异常。  原因是因为在组包时,Raknet并不是根据包的顺序进行组包,而是根据接收到包的顺序。例如:发送可靠类型的包Packet1,由于包过大,拆包成Packet1_1和Packet1_2,这时进行网路传输,如果Pac

2016-10-14 18:02:38 2269 5

原创 Raknet性能调研

(1)Raknet理论上可以支持多个客户端和服务器之间每秒4W个消息的ping-pong测试。但是不稳定,如果某些原因导致消息堆积,则会严重影响发送和接受的响应时间,会达到秒级。(2)Raknet如果消息超过承受的极限,底层的逻辑上导致不断会恶化卡的现象,表现出现吃内存,底层线程陷入循环,执行效率下降。(3)目前的Raknet版本不支持发送线程,虽然有发送线程的宏,但是打开后编译不过,还未

2016-06-27 19:56:01 2279

原创 strcpy_s的坑

因为安全的问题将strcpy替换为strcpy_s使用,一直没注意strcpy_s这类函数对于剩余内存的处理。直到某次调试出了点问题,一看内存,剩余的内存全部被填充了FE。与之前的认知发生了冲突。于是查阅了资料,发现确实是这种情况。而且还不止这个一个函数会这样。 官方的解释:strncat_s、_strncat_s_l、wcsncat_s、_wcsncat_s_l、_mbsncat_s

2016-04-06 15:40:05 2605

原创 运行库不一致导致的问题(/MDd /MTd)

如果出现如下问题 error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”1>LIBCMTD.lib(tzset.obj) : error LNK2005: __tzset 已经在 MSVCRTD.lib(MSVCR120D.dll) 中定义可以考虑是否链接的lib的

2016-02-14 11:35:59 2634

centos_7.6.1810.export.tar.7z

官方版本无修改,可以使用LxRunOffline进行WSL2子系统安装,需要先使用7Z解压

2021-05-14

Windows时间片精度设置工具

SetCpuTimeSlice,自制工具,可以设置Windows下CPU精度1~16ms,用于提高CPU的调度频率。 注意:Win10-2004版本之后无法使用

2020-05-14

弱网络模拟工具-clumsy-0.2

好用的弱网络模拟工具,功能强大。可以支持丢包、延迟、重复包、乱序等待

2017-06-08

自制Ping工具

文件记录每次ping的结果,支持配置ping的间隔、统计次数,目前不支持同时ping,必须等上一次ping完成后才会在指定的间隔进行ping操作

2017-06-08

IP修改工具 绿色无毒

绿色IP修改工具,可以选择指定网卡进行IP修改,还可以自己配置修改方案,方便快捷。方案保存在config目录下的XML中。 目前该版本已经在Win7和XP上测试通过。

2012-08-01

Win32编程经典参考书.part3

我自己用的WIN32编程的参考书,对于想好好学API的朋友们应该很有用。。。只能传20M一下的,所以分卷了。

2011-05-06

Win32编程经典参考书.part2

我自己用的WIN32编程的参考书,对于想好好学API的朋友们应该很有用。。。只能传20M一下的,所以分卷了。

2011-05-06

Win32编程经典参考书.part1

我自己用的WIN32编程的参考书,对于想好好学API的朋友们应该很有用。。。只能传20M一下的,所以分卷了。

2011-05-06

空空如也

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

TA关注的人

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