自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GREAT

TK TM

  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

转载 linux kernel内存回收机制

http://www.wowotech.net/linux_kenrel/233.html无论计算机上有多少内存都是不够的,因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用。页面回收的方式有页回写、页交换和页丢弃三种方式:如果一个很少使用的页的后备存储器是一个块设备(例如文件映射),则可以将内存直接同步到块设备,腾出的页面可以被重用;如果页面没有后

2018-01-02 22:20:12 368

转载 修复grub

没有liveCD和启动U盘时使用,比使用启动U盘简单。

2016-09-07 20:04:30 477

原创 hexo 搭建

hexo搭建

2016-09-07 19:49:44 357

原创 C++运算符重载

#include using namespace std;class A{ public: A(int v):m_val(v){} A operator+(A a1); bool operator==(A a1); friend ostream& operator<<(ostream& out, A a1); p

2015-10-25 17:53:25 369

转载 JNI调用

简单的JNI调用

2015-09-14 00:08:12 384

原创 mutt+exim+fetchmail收发邮件

1、fetchmail收邮件2、mutt读写邮件3、exim

2014-09-06 14:32:51 978

转载 CMMI实施流程

实施流程阶段1:CMMI项目启动会明确企业实施CMMI的商业目标,建立CMMI项目实施的沟通机制。阶段2:CMMI基础培训和过程改进小组(EPG)组建进行CMMI基础概念讲解,指导企业建立核心的过程改进小组。阶段3:诊断充分了解企业研发过程现状,识别企业现有软件过程与企业现阶段理应达到的CMMI成熟度级别的差距,提交诊断报告,进行过程改进的策划。

2014-05-18 19:08:42 1315

转载 Huffman 编码压缩算法

前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过 David Huffman 和他的压缩算法—— Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树 —— 一种带权重的树。从学校毕业很长时间的我忘了这个算法,但是网上查了一下,中文社区

2014-03-28 17:00:32 701

转载 iptables

简单地说,就是设定一些规则,对进来和出去的数据包的ip做检查,符合规则的通行,不符合的做响应的处理,要了解这个流程中的三个表:nat表,filter表,mangle表,五条链:INPUT链,OUTPUT链,FORWARD链,PREROUTING链,POSTROUTING链。1)对于进来的包:经过IP校验后,经过第一条链PREROUTING处理,一般是做DNAT;然后经过路由,决定是到本

2014-02-05 20:18:25 494

转载 putty工具命令行参数

putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]hostExample: putty -ssh -l vagrant -pw vagrant -P 2222 127.0.0.1 -V        print version information and exit -pgpfp    print PGP key fingerpri

2014-01-11 22:41:42 1341

原创 项目管理基础学习

要明白项目管理首先要明白项目是什么:项目是指一个独特的过程,一个确定目标,在有限时间内,以有限的费用来实现的过程。

2013-10-06 14:40:26 586

原创 测试基础整理

白盒测试、黑盒测试、静态测试、动态测试、性能测试、测试自动化、安全性测试、配置测试、兼容性测试、测试工具单元测试、集成测试、系统测试、验收测试的区别:根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。

2013-08-25 12:26:18 1145

转载 CMM流程之总结

从CMM软件开发流程的理念、流程这两个方面概括介绍一下CMM。CMM软件开发流程试图将几十年来风险比较不可控的软件开发用一个规范的流程控制起来,变成一个类似传统工业化生产流程的工业。CMM理念CMM主要理念之一就是加强过程控制,认为只要开发的过程按照规定动作执行,就可以很大程度上降低软件开发的质量、进度风险。而过程质量控制的主要手段就是检视。CMM的理念之二是根据经验数

2013-08-24 16:18:34 1193

原创 嵌入式开发流程整理

当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,如下图所示为嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。

2013-08-24 15:58:52 1332

原创 敏捷开发整理

开发宣言:个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划虽然右项也有价值,但是我们认为左项具有更大的价值。敏捷开发与测试的关系:正因为敏捷开发的这些特征,原则,模式等等,才需要有相应的敏捷测试团队与之匹配,注重和敏捷开发团队配合,沟通,并且重要的是测试团队要理解和重视敏捷的思想,融入这样的一个大的

2013-08-24 15:25:10 812

原创 调制解调笔记

数字与模拟的区别是:数字利于机器处理但有失真、模拟保真度高但不利于机器处理调制是由于频带有限为了提高频谱利用率、通过搬移到高频降低直流分量传送的损耗、提高纠错和差错能力。调制分为模拟调制和数字调制。声音->模拟交流电->AD抽样->量化->信源编码->信道编码->调制->信道->解调->信道解码->信源解码->DA->声音编码分为信源编码(压缩)和信道编码(冗余、校验)。信道复

2013-08-17 14:56:35 1039

原创 机顶盒笔记

机顶盒(STB)的主要作用是用普通模拟电视机收看数字电视或数字高清晰度电视,当然也具备网络和有条件接收功能(CA)。目前很多机顶盒为缩短开发时间和提高扩展性都采用中间件的方式。根据传输媒体的不同,数字电视机顶盒又分为数字卫星机顶盒(DVB-S)、地面数字电视机顶盒(DVB-T)和有线数字电视机顶盒(DVB-C)三种,三种机顶盒的硬件结构主要区别在解调部分。现在出来的IPTV通过网络传输节目。

2013-08-14 22:48:48 800

转载 编写linux module

Linux内核模块编程的资料有些纷繁复杂,有的过于简单,有的过于庞杂,我试图用笔记的形式想读者展示怎样来进程Linux模块编程,力图做到简明扼要,这篇文章也是作为本人备忘的资料,所以有些地方过于简略是难免的。本来这篇文章的目的就是让用户知其然,至于所以然还是请参考相应的资料,其实最好的资料莫过于Linux Kernel Source。适用范围:* Linux Kernel >= 2.6.0

2013-07-21 22:09:27 755

转载 C++与Java的语法区别

首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别。main 函数C++//自由浮动的函数int main( int argc, char* argv[]){printf( "Hello, world" );}Java// 每个函数都必须是一个类的一部分;当java 运行是一个特定类的主函数会被调用// (因此你可以让每个类都有一个main

2013-07-21 14:21:19 626

转载 Linux C SQLite3 编程

SQLite3SQLite是一个轻量级的数据库。和常用的MySQL大同小异。和MySQL相比,数据类型基本一样,只是sqlite的指令都是以"."开头(如:mysql中查看当前有哪些数据库是“show databases",而sqlite中是".databases")。当然,SQL语句都是一样的语法规则。Host System: Archlinux  gcc: 4.6.1 201108

2013-07-21 01:07:40 659

原创 SQL常用命令

(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

2013-07-20 23:49:09 915

原创 vim学习笔记一

vim中执行shell命令,有以下几种形式1):!command不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容例如:!ls -l特别的可以运行:!cmd来启动一个cmd shell并执行命令,不需要退出vim2):r !command将shell命令command的结果插入到当前行的下一行例如

2013-07-20 15:39:58 605

原创 FLTK学习笔记三

Drawing Things in FLTKThere are only certain places you can execute drawing code in FLTK. Calling these functions at other places will result in undefined behavior!• The most common place is insid

2013-07-04 22:52:26 723

原创 FLTK学习笔记二

Making Your Own BoxtypesYou can define your own boxtypes by making a small function that draws the box and adding it to the table of boxtypes.Adding Your Box Type#define XYZ_BOX FL_FREE_BOXT

2013-07-03 23:36:38 797

原创 FLTK学习笔记一

The widgets are created using the C++ new operator. For most widgets the arguments to the constructor are:Fl_Widget(x, y, width, height, label)label is a pointer to a character string to label the

2013-07-01 22:38:39 855

转载 gcc同时使用动态和静态链接

场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,需要关心的只是mysqlclient引用到的动态库。大部分情况下,不是每台机器都安装有libmysqlclient,所以我想把这个库静态链接到Nginx模

2013-06-30 15:14:16 445

转载 C/C++与Lua互相调用

function luaf_Add(x, y) print("luaf_Add: x=" .. x .. ", y=" .. y .. ", x+y=" .. x+y) return x + yend#include int main (void){ const int x = 123, y = 456; int ret = 0; lua_Stat

2013-06-23 23:21:51 712

转载 linux kernel map

2013-06-23 14:28:37 1403

转载 在线UML工具

类图、活动图、用例图:http://yuml.me/diagram/scruffy/class/draw 序列图:http://www.websequencediagrams.com/序列图、协作图:http://www.diagrammr.com/visio流程图:www.draw.io

2013-06-23 13:36:50 1283

原创 电路学习笔记(一)

原文:http://www.elecfans.com/yuanqijian/sanjiguang/20120831286715.htmli(b)->i(e)->i(c)i(c)不是产生的,而是i(e)泄露造成的,所以只能通过i(c)=f(i(e))计算,无法通过其他方式获得。要使三极管处于放大状态就只用保证V(be)正偏导通,V(cb)反偏即可。产生i(c)的条件是存在i(b),i

2013-06-16 15:01:12 907

原创 自动化测试

#!/usr/bin/luawhile true do os.execute("ls") os.execute("sleep 1m")end#!/usr/bin/bashwhile [ true ]do ls sleep 1mdone

2013-06-10 17:52:23 674

原创 linux kernel学习笔记(一)

include/linux/init.hmodule_init\module_exit\__setup1、通过alias可以指定函数的别名。2、同时加载不同的动态库时,即使有相同的函数名也不会引起任何异常,并且可以分别进行调用。include/asm-i386/unistd.hThis file contains the system call numbers.

2013-06-10 17:32:26 979

转载 加密算法

对称加密算法对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须

2013-05-25 12:47:56 533

转载 网络入侵一般步骤

第一步:进入系统    1. 扫描目标主机。   2. 检查开放的端口,获得服务软件及版本。   3. 检查服务软件是否存在漏洞,如果是,利用该漏洞远程进入系统;否则进入下一步。   4. 检查服务软件的附属程序(*1)是否存在漏洞,如果是,利用该漏洞远程进入系统;否则进入下一步。        5. 检查服务软件是否存在脆弱帐号或密码,如果是,利用该

2013-05-05 13:53:44 2493

转载 开启Linux 路由转发功能

如何使用iptables的NAT功能把红帽企业版Linux作为一台路由器使用?方法:提示: 以下方法只适用于红帽企业版Linux 3 以上。1、打开包转发功能:echo "1" > /proc/sys/net/ipv4/ip_forward2、修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效:# Controls IP pa

2013-04-29 11:27:33 785

转载 函数调用的压栈方式

几种函数调用方式__cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。_stdcall 是StandardCall的缩写,是C++的标准调用方式:所有参数从右

2013-04-15 21:18:26 1038

转载 Linux静态库和动态库

库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为

2013-04-14 15:06:58 377

转载 Makefile中用宏定义进行条件编译

在源代码里面如果这样是定义的: #ifdef MACRONAME //可选代码 #endif 那在makefile里面 gcc -D MACRONAME=MACRODEF 或者 gcc -D MACRONAME 这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。 对于GCC编译器,有如下选项: -D macro=string,等价于在头文

2013-04-14 14:14:35 607

原创 Lua syntax

Chapter 1: Getting Started1.1 ChunksEach piece of code that Lua executes, such as a file or a single line in interactive mode, is called a chunk. A chunk is simply a sequence of commands (or state

2013-03-24 12:49:03 673

转载 Linux下patch的制作和应用

转自:http://blog.chinaunix.net/u3/100239/showart_1984963.html首先介绍一下diff和patch。在这里不会把man在线文档上所有的选项都介绍一下,那样也没有必要。在99%的时间里,我们只会用到几个选项。所以必须学会这几个选项。1、diff--------------------NAMEdiff - find diffe

2013-03-17 21:49:25 425

StarUML绿色免安装版

著名的UML绘图工具,可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。 绿色免安装版

2013-02-19

二十三种设计模式迷你手册

二十三种设计模式迷你手册

2012-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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