- 博客(11)
- 资源 (10)
- 收藏
- 关注
原创 初识通信安全:对称加密、非对称加密、证书认证
通信双方(客户端C和服务端S)在数据交互的过程中,或多或少会涉及一些敏感信息的问题,而由于传输信道本身是不安全,随时有可能会被黑客劫持,必然会产生信息泄密的风险,给双方带来财产损失(见图1)。由于数据在传输过程中被劫持不可避免,又不能任由信息泄漏,通信双方通常会对自己的数据进行加密传输,这样即使流量被劫持了,黑客依然无法获取数据的真实内容,就避免了泄漏风险。根据加密方式的不同,分为对称加密、非对称加密,证书认证等
2021-11-09 20:25:28
5481
2
原创 【MySQL】【性能】大字段造成的统计卡顿
创建三张表格,test,test1,test2,每张表插入十万行数据,这三张表的schema都如图1所示,不同的是每张表的des字段的长度不同(但同一张表格内,每一行des字段的长度都是相同的),如图2所示。 图1、schema 图2、desc字段长度的对比 重启测试机,两次执行sql查询语句以统计每张表cnt字段的累加和,并获取耗...
2020-02-23 18:49:27
838
原创 【MySQL】锁与隔离级别
文章目录一、前言二、表锁三、MDL锁四、行锁(一) 索引与锁五、gap锁^[1]^六、next-key lock七、如何选择隔离级别Ref一、前言快照读的幻读通过 mvcc 解决当前读的幻读通过 next-key锁 解决读提交隔离级别一般没有 gap lock可重复读隔离级别下,如果触发了当前读,那也是要保证事务存续期间的数据一致性的,具体怎么保证呢?答案是加锁,阻塞破坏本事务数据一致...
2020-02-16 14:22:29
197
原创 【MySQL】写一行数据时,MySQL内部发生了什么
文章目录一、主要流程二、日志系统(一) redolog(二) binlog(三) 两阶段提交与crash_safe(四) undolog三、减少随机IO^[1]^(一) 减少随机写IO之redolog(二) 减少随机读IO之Change Buffer^[2]^Ref一、主要流程一条mysql的更新语句,内部执行的主要流程如下mysql > update T set c=c+1 wher...
2020-02-16 14:09:47
476
原创 shared_ptr 创建时即捕获析构动作,何解?
shared_ptr 创建时即捕获析构动作读陈硕书《Linux多线程服务端编程》,有一句话不能理解:析构在创建时被捕获,这意味着虚析构不再是必须的。实际代码操作了一下,发现确实通过shared_ptr去释放派生类对象,无需将析构函数置为virtual,代码如下:#include <iostream>#include <memory>using namespace s...
2019-11-02 11:37:55
904
2
原创 Manacher's Algorithm——搜索最长回文串
Manacher's Algorithm——搜索最长回文串最近刷leetcode刷到一个寻找最长回文串的题,想了很久都没想出能够将算法复杂度降低至O(n2)以下的方法,只能上网搜求答案:Manacher’s Algorithm 马拉车算法这篇文章将Manacher算法分为两个重点:对字符串进行修改,在每个字符两边添加标识符#,而后在字符串首另外添加符号$ ,于是乎字符串abcdcba变为$...
2019-06-09 11:42:25
207
转载 vs2015:/utf-8选项解决UTF-8 without BOM 源码中文输出乱码问题
转载自:https://blog.csdn.net/10km/article/details/80203286 本来我已经参考网上关于C++中文输出乱码的文章解决了,如下面的代码输出前调用wcout.imbue设置locale,就可以正常输出中文了。std::wcout.imbue(std::locale(std...
2018-06-27 19:55:06
2241
原创 JDK10的环境配置方法
JDK10的环境配置方法JAVA_HOME=jdk安装路径JRE_HOME=jre安装路径PATH= ;%JAVA_HOME%\bin;%JRE_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib;
2018-06-26 21:16:30
608
原创 Centos7下安装Python3.7
Centos7下安装Python3.7首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,笔者曾安装python3未成功就是因为没有安装libffi-develsudo yum -y groupinstall "Development tools"sudo yum -y install zlib-devel bzip2-devel o
2018-02-02 14:31:09
36632
10
原创 C语言转义字符
C语言转义字符‘\ooo’表示ascii码为八进制数ooo的字符,如’\101’代表ascii码为65的字符’A’ ‘\xoo’表示ascii码为十六进制数oo的字符,如’\xff’代表ascii码为255的扩展字符
2017-09-15 17:25:00
1781
原创 APUE学习笔记:Linux下signal和sigaction的使用区别
《UNIX环境高级编程》第三版,图10-20在Linux环境下的运行结果与书中所述有所不同,信号处理函数执行期间未自动屏蔽该信号,详见: 信号之sigsetjmp和siglongjmp函数其原因在于:glibc 2之后,如果系统定义了_BSD_SOURCE宏或_GNU_SOURCE宏的话,那么系统将通过调用sigaction函数的方式去实现signal函数,否则signal函数将遵循System
2017-06-16 16:27:27
579
C程序设计语言 第2版 文字版
2018-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人