摘要:
一、什么是cmake cmake 是为了让开发者编写一种与平台无关的CMakeList.txt文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“ 阅读全文
摘要:
wireshark作为一款常用的抓包工具,对程序员调试非常重要,因此理出一些常用的过滤规则。 1.过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 或者 ip.addr eq 192.168.1 阅读全文
摘要:
go中定义了结构体之后,使用json.marshal的时候,如果对应字段未能解析,会自动填充字段类型的零值。unmarshal的时候也是。可以通过在json 的标签内添加omitempty来防止这种情况发生 例子如下,在更新数据库的时候,可以先查询,再更新。可选字段可以加上omitempty标签。 阅读全文
摘要:
在执行一系列小的变化之前,我们应该重构,每次重构都应该在使程序正常运行的情况下改善代码。 正确执行重构的清单 一、代码应该变得更加整洁 如果在重构之后代码仍然不干净,那么很抱歉,你浪费了这段重构的时间。想想看为什么会这样。 当你离开重构进行小的修改并将一堆重构混合成大的变更时,这些情况通常就会发生。 阅读全文
摘要:
一、三个规则 1、当你第一次做某件事的时候,直接做就是了 2、当你第二次做类似的事情的时候,不得不重复,无论如何都要做同样的事情 3、当你第三次做同样的事情的时候,你应该开始重构 这个是为了避免代码重复。事不过三。 二、什么时候添加新的特性 重构能帮助你理解其他人的代码。如果你不得不处理某些人遗留下 阅读全文
摘要:
技术债务 每个人都尽最大的努力从头开始编写出色的代码。项目中一般不存在故意写垃圾代码来损害项目的程序员。那么整洁代码变得杂乱无章的原因是什么呢? Ward CunningHam最初突出了关于不干净代码是技术债务的隐喻。 如果你从一个银行里贷款,这样会让你购物更快。在加快处理进程的时候你付出了额外的费 阅读全文
摘要:
整洁代码 重构的主要目的就是清理技术债务,将一堆杂乱无序的代码转换成整洁代码和简单设计。 这很好,但是什么才是整洁代码呢。下面是整洁代码的一些特征: 一、整洁代码对其他的编程者是很浅显易懂的 整洁代码不存在超级复杂的算法,糟糕的变量命名,臃肿的类和方法,魔鬼数字,这些都使代码变得草率而且难以理解。 阅读全文
摘要:
前几天因为公司需要用python自动化测试模拟话机呼叫,找了半天,大部分都是基于pjsip的库。所以开始苦逼的编译安装pjsua之路。 先已经编译好python3.7 32位的_pjsua.pyd并且可以通过import pjsua导入 首先,需要准备的工具有visual studio 2019 c 阅读全文
摘要:
最近项目在补充单元测试,这里介绍以下几个go里流行的单元测试框架。 gomock gostub monkey Convey 下面介绍下各个框架的主要用途 convey 主要用途是用来组织测试用例的 gomock 主要用来给接口打桩的。mockgen可以生成对应的接口测试文件。 gostub 主要用来 阅读全文
摘要:
一、二分查找 二分查找的输入是一个有序的元素列表。如果元素在列表中,返回其位置,否则返回null 二分查找每次都将列表分成两半,分别与查询元素对比。舍弃其中一半。然后再另一半中查找元素。 每次都可以排除一半的元素。所以其效率为O(logn以2为底) 二分查找查询的速度非常快,但是要求也比较严格,需要 阅读全文