老徐的博客

一个刚毕业的码农

自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

红黑树实现原理

一、红黑树介绍 1、定义 每个结点或者为黑色或者为红色 根结点为黑色 每个叶结点(实际上就是NULL指针)都是黑色的 如果一个结点是红色的,那么它的两个子节点都是黑色的(也就是说,不能有两个相邻的红色结点) 对于每个结点,从该结点到其所有子孙叶结点的路径中所包含的黑色结点数量必须相同 2、二叉...

2019-08-17 23:06:12

阅读数 17

评论数 0

字典树和基数树

一、字典树 1、概述 字典树是一种前缀查找树,在前缀匹配查找中应用比较多,查找树的层级取决于字符串长度,时间复杂度O(1),但是他要求每个节点要有26各分支,所以空间开销比较高,是一种典型的以空间换时间的数据结构。 2、实现原理 1)、字典树快速查找是依赖于将一个字符串分解成单个字符...

2019-08-17 23:04:53

阅读数 14

评论数 0

linux c嵌入式汇编关于输入输出限定字段说明

在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 1、简单的内嵌汇编 例: __asm__ __vol...

2019-08-12 14:15:25

阅读数 7

评论数 0

setsockopt参数之TCP_NODELAY

转载:神秘的40毫秒延迟与 TCP_NODELAY 1 现象 现象是这样的,首先看我用 ab 不加 -k 选项的结果: [~/dev/personal/breeze]$ /usr/sbin/ab -c 1 -n 10 http://127.0.0.1:8000/styles/shTheme...

2017-12-27 00:30:04

阅读数 1242

评论数 0

iptables

一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目前市面上比较常见的有...

2017-12-26 16:11:21

阅读数 135

评论数 0

google test 安装

Google Test (libgtest) 是由谷歌开发的一款基于xunit框架的跨平台单元测试框架,C#上的NUnit,Java的JUnit写单元测试非常容易,也不乏可视化工具与IDE集成插件,深受喜欢测试区洞开发的程序员的喜爱。但对于C++来说,写测试就看着麻烦一些。但如果用习惯了,goog...

2017-12-26 00:31:43

阅读数 747

评论数 0

ubuntu下安装cunit

参考blog:http://blog.csdn.net/cupedy/article/details/749319381、下载cunit包 https://sourceforge.net/projects/cunit/2、安装: 注意:不能按照源码提供的readme里面的方式安装,会有坑1)确...

2017-11-22 23:19:40

阅读数 895

评论数 0

c++函数对象构造函数和operator()执行关系

函数对象常用在stl的算法中,用于特殊的匹配定制功能。在执行的函数对象中构造函数和重载()函数的关系先后顺序

2017-04-12 23:19:47

阅读数 1199

评论数 1

关于模板template的泛型参数的构造函数

#include <iostream> #include <cstddef> using namespace std;class alloc { public: alloc() { cout << "alloc()&qu...

2017-03-29 00:09:48

阅读数 777

评论数 0

lua面向对象的2种私密性封装

一、返回tablelocal function newAccount( initCount) local self = { count = initCount} set = function( c) self.count = c ...

2017-03-27 01:03:39

阅读数 342

评论数 0

lua的伪面向对象和继承理解

关于 setmetable 和index的理解的博文 http://blog.csdn.net/wisdom605768292/article/details/36662033总结: **1.在表中查找,如果找到,返回该元素,找不到则继续2.判断该表是否有元表,如果没有元表,返回nil,有元...

2017-03-27 00:20:07

阅读数 242

评论数 0

sql语句嵌套子查询将子查询结果作为表与其他表再联接查询

子查询 要用()括起来实例: info( uid,serv_id,app_id)user(uid,uname)app(id,name)这三个表中,info表的 serv_id 和app_id是对应app表的id,能通过serv_id 和app_id查到对应的app的name要求将info表的id...

2017-03-23 00:17:34

阅读数 16678

评论数 1

sql语句跨数据库的表联接

直接使用 数据库名.表名来联接以mysql为例 说明跨数据库的表联接1、 数据库 db1 表 tb1(uid,username,groupname) 2、数据库 db2 表 tb2(uid,phone,addr)现在要联接tb1和tb2两张表select a.uid as u...

2017-03-23 00:04:12

阅读数 688

评论数 0

伪代码编程过程

一、伪代码伪代码的指导原则: 1、用类似的 英语来描述特定操作。2、避免使用目标语言的语法来描述,伪代码能让你在一个比代码更高的层次上进行设计。当用编程语言的语法来描述时,你的伪代码设计就降到了一个更低的层次。3、在意图的层面上去编写伪代码,用伪代码来描述该解决方法的意图,而不是去用目标语言去编...

2017-02-14 23:38:31

阅读数 1993

评论数 0

防御式编程

防御编程的核心思想是: 子程序应该不因传入的错误数据而被破坏,哪怕由其他子程序产生的错误数据。更确切的说,必须承认程序会有问题,都需要被修改。防御编程的最佳方式: 一开始不要再代码中引入错误,使用迭代式设计、编码前先写伪代码、写代码前先写测试用例、底层设计检查等。一、保护程序免遭非法数据破坏1、检...

2017-02-14 22:30:47

阅读数 1925

评论数 0

高质量子程序设计

一、创建子程序的正当理由 降低复杂度。 通过子程序来隐藏程序的实现细节,只需对外提供调用接口 (频繁重复的小段代码,抽象成函数) 引入中间、易懂的抽象 通过给一段程序取一个足够说明语义的名字,该名字能够提供更高层次的抽象,使代码更具有可读性。 避免代码重复如果2个子程序都拥有相同的代码段,...

2017-02-12 23:20:26

阅读数 445

评论数 0

类的设计

一、类的基础:抽象数据类型ADTADT最大的益处是 实现细节隐藏,把关键数据隐藏在接口内,数据改动不会影响接口函数。把常用的底层数据类型创建为ADT,并使用这些ADT,而不需要使用底层数据(底层数据操作在ADT内部实现),也就是说尽可能的使用更高的抽象层次。二、良好的类接口1、类的接口应该具有一致...

2016-12-26 00:48:57

阅读数 267

评论数 0

软件构建中的设计

一、设计的挑战1、设计中存在的一些问题是必须通过解决或者部分解决才能明确的问题,所以在实际设计中你必须把问题“解决”一遍,才能定义它,然后再次解决,循环往复,最终形成一个可行性方案。2、设计师了无章法的过程,多次的犯错时设计的关键所在。在设计阶段犯错并加以改正比在实际编码中发现问题并改正花费的代价...

2016-12-16 01:37:39

阅读数 284

评论数 0

软件构建的前期准备

注:第三章 三思而行:前期准备 首先要明确: 项目质量的关键不在于后期的测试工作,测试只是占项目的完整质量,排查bug的一小部分,它不会纠正制造的“一个错误的产品”,所以关键在于软件构建活动之前的问题定义和需求分析。 小系统,风险低,需求简单 中型系统,存在风险 大型系统,风险高,需...

2016-12-01 01:23:58

阅读数 387

评论数 0

理解软件开发

注: 第一~二章小节1、软件开发的总体流程1) 定义问题2) 需求分析3) 规划构建4) 软件架构5)详细设计6) 编码与调试7)单元测试2、学会用隐喻理解软件开发理解生活中的事物,从中吸取发散出模型到项目开发中。 如 种植培育模型 可以理解成增量开发模型

2016-12-01 00:22:55

阅读数 269

评论数 0

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