C/C++版本更迭历程 发表于 2019-04-09 | 更新于 2019-11-17 | 分类于 C/C++ | 热度 ℃ | 字数统计: 996(字) | 阅读时长: 4(分) 前言使用 C/C++ 实现功能的时候经常需要上网搜索一些解决方案,但是当你把代码粘贴到自己项目中时偶尔会出现编译失败的问题,其中一个原因就是新加的代码所使用的特性在当前的编译环境中并不支持,就好像不久前我们还在使用VS2003写着C++98标准的代码(2015年),虽然对C++11的特性垂涎已久,但是无奈在项目中就是无法使用,只能是遥望着它发飞快地发展出了C++14和C++17。 阅读全文 »
Mysql表连接:内连接、外连接、交叉连接、自然连接真的都不一样吗 发表于 2019-04-03 | 更新于 2019-11-17 | 分类于 Mysql | 热度 ℃ | 字数统计: 3,998(字) | 阅读时长: 18(分) 前言提起这几种表连接方式就让人头大,想当初还因为这个面试被刷了,长得挺像,用法挺像,可就是有点不一样,其实的它们的差异不是固定的,要在一个具体的环境下才能进行对比,比如在Mysql环境下, JOIN, INNER JOIN, CROSS JOIN 三者在语法上是等价的,也就是作用相同,但是在标准的SQL下却又存在差异。 阅读全文 »
IP地址常见分类:A类、B类、C类、D类、E类 发表于 2019-04-03 | 更新于 2019-11-17 | 分类于 Network | 热度 ℃ | 字数统计: 963(字) | 阅读时长: 4(分) 前言虽然IPv6渐渐出现在了人们的视线之中,但是目前来看IPv4仍然占据着主导地位,在日常的编码过程中两者都会接触到,但实际上两者在使用范围、消息头结构等细节上有诸多不同,具体的那些细节对于应用层来说可能体会不到,所以我们先从两者的表示方式来看看,学会认出哪些是IPv4类型的地址,而哪些是IPv6类型的地址。 阅读全文 »
Mysql开启、查看慢查询日志 发表于 2019-03-25 | 更新于 2019-11-17 | 分类于 Mysql | 热度 ℃ | 字数统计: 2,403(字) | 阅读时长: 10(分) 前言想要优化现有的数据库结构或者查询语句,首先要找到需要的优化的地方,不然就会出现费了很大精力优化却不达目的的情况,这就和上学考试一样,想要取得好的成绩,先要分析自己差在哪里,重点学习才会有快速的提升。 阅读全文 »
Mysql查询可通过给条件字段添加索引提高查询速度 发表于 2019-03-15 | 更新于 2019-11-17 | 分类于 Mysql | 热度 ℃ | 字数统计: 1,530(字) | 阅读时长: 7(分) 前言当使用sql语句查询表数据时,会发现随着表中记录的增多,查询的速度也会也来越慢,特别是那种日志记录,少则几十万,多则上百万,甚至上千万数据,如果查询一次耗时太长,会严重影响业务逻辑,这时候可以考虑给经常作为条件的字段添加索引了,这样做会大大加快查询速度,这里所说的条件字段,就是指sql语句中放到where条件中用于筛选记录的字段,关于加索引提高查询速度的做法,我们可以做一下试验,对比一下看看是否真的有效。 阅读全文 »
linux环境下查找包含指定内容的文件及其所在行数 发表于 2019-03-13 | 更新于 2019-11-17 | 分类于 linux | 热度 ℃ | 字数统计: 836(字) | 阅读时长: 4(分) 前言在linux系统下搜索文件一般情况下一个命令就搞定了,之前搜索文件的时候一直使用find,今天排查问题时想查一个函数的调用者在哪个文件中,发现不会写了,搜了一下发现使用grep命令就可以实现,改变了我对grep命令的理解,原来使用grep命令的情况通常是作为结果的过滤函数,比如ps aux | grep gameserver,这次发现他居然还可以直接用来搜索,其实也是过滤的一种。 阅读全文 »
为目标打好基础的希尔排序 发表于 2019-03-09 | 更新于 2019-11-17 | 分类于 Sort | 热度 ℃ | 字数统计: 1,882(字) | 阅读时长: 7(分) 前言刚刚分析过的插入排序通常被叫做简单插入排序或者直接插入排序,而这篇文章刚好以插入排序为基础来说说希尔排序,还是先从名字开始,结果发现完全没有头绪,说实话第一次听说这个排序时还以为是个特别神奇的高端算法,结果了解一番之后发现其实是一个被改造的插入排序,“希尔”居然是发明者的名字,所以从名字来判断算法思想在这里行不通,甚至说快速排序起码说明了这种方法排序快,而希尔排序等于什么都没说。 阅读全文 »
linux环境下运行程序常用的nohup和&的区别 发表于 2019-02-25 | 更新于 2019-11-17 | 分类于 linux | 热度 ℃ | 字数统计: 519(字) | 阅读时长: 2(分) 前言复杂问题简单记,先了解一下概念,对于一般的小程序而言这两种启动方法应该用不上,如果程序瞬间的就结束了,是否挂起与是否后台也就没有了意义,所以标题中提到的方式常用来启动需要一直运行的程序,比如游戏服务器。 假如我们直接通过命令行./game_server运行一个简单的游戏服务器,那么会发现这个运行程序霸占了整个命令窗口,此时,我们无法再运行其他的程序,所有的输入都变成了game_server的输入,而命令终端此时也只能输出game_server程序的输出信息了。 阅读全文 »
linux环境下服务器程序的查看与gdb调试 发表于 2019-01-11 | 更新于 2019-11-17 | 分类于 gdb | 热度 ℃ | 字数统计: 1,214(字) | 阅读时长: 5(分) 前言这一篇主要是记录下调试服务器程序常用的命令,内容很简单,但是长时间不用很容易记混,因为游戏服务器也不是天天宕机,所以当有一天突然挂掉需要调试的时候,如果记不清调试命令很容易耽误时间,有好几次我就把gdb gameserver core记成了gdb core gameserver,所以干脆把这些内容统计到一起,查询的时候也方便。 阅读全文 »
抓扑克牌风格的插入排序 发表于 2018-12-04 | 更新于 2019-11-17 | 分类于 Sort | 热度 ℃ | 字数统计: 1,645(字) | 阅读时长: 6(分) 前言上次聊到了快速排序,我们说到快排这个名字是非常抽象的,究竟什么是快排,从名字上我们无从得知,或许叫二分排序都比快速排序要形象的多,可是这又和归并排序重复了,所以我们还是不要在意快排的名字了,接下来看一下今天的插入排序,这里指的是简单的插入排序。 阅读全文 »