Home

(转)天朝六十年编年史

作者: 李舒扬 高祖武帝开国元年 49 二月,王师入京,吏民欣喜。北土悉平。帝遣六军征南朝,号百万。 四月,六军涉江,灭南朝。南酋蒋氏遁,入海,据澎湖以抗圣化。迁九鼎于京。江南诸道初定。 十月,帝登基于天丨安门。入太庙,誓,立政,改元“开国“。周文正公相。封六辅政亲王。 王曰:“华夏诸民今日立也!“ 十一月,大将军刘,西路招抚使邓统王师十万入蜀,前朝余孽星散,蜀,滇,黔传徼而定。 邓平公封西南节度使,坐镇西南以图吐蕃。 是年,帝下《别了,司徒雷登》等三诏,用赐西夷美利坚使,夷使惭去。史称“三诏去西夷”。 高祖武帝开国二年 50 二月,北狄俄罗斯遣使来朝,盟,世世代代约为兄弟之邦。 六月,高丽内乱。帝诏命停战,不听。 九...

Read more

Oceanbase迭代器说明

所有迭代器的类图如下所示: ObRootTabletIterator 所有tablet类迭代器,也就是ObRootTableIterator, ObTableTabletIterator等的直接父类,定义了迭代接口。 ObTableTabletIterator 最基本的迭代器,继承ObRootTabletIterator, 负责迭代一个表的所有(或者某个指定range里面的)Tablet。 ######实现机理 : 从Rowkey::MINROWKEY开始,每次迭代的tablet的endkey(加一个ObRowkey::MIN_OBJECT防止找到同一个)作为下次迭代的起始值。 ######错误码与错误原因对应 断言失败: 接受返回值的传入参数table...

Read more

通过脚本统计代码覆盖率

只是记录一下工作里面的一些trick。我发现我对这些trick的兴趣无比的高。 我们有时候需要在开发机上统计代码覆盖率,这可能是做测试的同学经常的工作,做开发的同学也难免会遇到。对于某些分支复杂的逻辑,代码覆盖工具是极大的助力。 关于gcc coverage选项和gcov/lcov工具的使用已经在 上篇文章里面说过了,我们这里说的是如何实现方便的统计和拉取数据并显示。 首先,测试目录和代码目录是分开的,我们在测试目录运行的时候会生成测试文件的代码覆盖率统计,但是实际上被测试的文件的代码覆盖率是在源码目录生成的。这是需要注意的一点,之前我考虑过合并两处的代码覆盖率统计文件,后来发现没有必要,毕竟你关注的是源码目录的统计文件。这样我们通过如下脚本实现代码覆盖率的生成和拉取。 #...

Read more

测试覆盖率统计

###什么是代码覆盖率(code coverage) 代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。 代码覆盖主要包括如下四个方面: 语句覆盖(StatementCoverage) 判定覆盖(DecisionCoverage) 条件覆盖(ConditionCoverage) 路径覆盖(PathCoverage) 或者叫条件/判断覆盖率 具体的参见参考文献1 2. ###怎么得到覆盖率数据 这里我们主要说测试工具的使用的问题。c++的项目测试里面我们用gcc产生测试数据,用gcov和lcov生成测试结果的报表。 gcc这里需要做的工作是编译的时候打...

Read more

git reset和git revert

git reset 作用 git reset 主要完成到版本库某个特定版本的回退,分为如下三种方式 git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可 git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容 git revert 作用 git revert从字面的理解上跟git reset是一样的,不同之处在于git revert生成一个反向的差异(特...

Read more

svn vim 整合方案

这也是实际工作中遇到的问题,所以还是分类到了oceabase分类里面。 遇到的情况是这样的,有可能同时做多个任务的修改,或者说上一个任务的修改并未提交(尚未ship不能提交),但是下一个已经修改了,这样的话,post-review的时候是需要管理post列表的,而不能把所有的修改一起post。之前应该写过一篇文章说一个post-review插件的实现,但是实际上颇为不便,最好的办法是直接在vim里面操作一个修改列表。这里我们首先通过如下方式生成修改列表。 alias sta='st|grep ^A ' alias stm='st|grep ^M ' alias std='st|grep ^D ' alias po='echo "#!/bin/sh" >post-review...

Read more