- 博客(42)
- 资源 (5)
- 收藏
- 关注

转载 理解 Linux 配置文件
http://www.ibm.com/developerworks/cn/linux/management/configuration/
2007-08-10 20:06:00
408
原创 s-random随机交织器程序
Turbo码中需要实现s-random随机交织器,简单来说,就是要生成一个长度为n的随机序列,使得每一个数与前面s个数的距离(差值)都大于s. 用穷举的方法一个个测试显然非常得慢。希腊学者07年底写的一篇application of the bubble search sorting method>基于冒泡的思想实现复杂度较低的s-random交织序列生成。int interleave
2008-06-04 17:46:00
1676
原创 linux任务调度学习
调度单位 进程描述,位于运行栈底部,可通过偏移定位thread_info { task_struct *task; //基本调度单位(下面展开) flags //TIF_NEED_RESCHED表明需要调度 cpu //CPU号 。。。 }任务调度的基本单位
2008-02-13 09:53:00
3734
原创 scrum开发
这次去MSRA的培训,时间比较仓促,技术最大的收获就是M$内部的开发模式。 对于中小型项目,MS采用scrum这种敏捷开发模式(http://www.controlchaos.com) 简单来说,就是先按功能列表的各项需求优先级,分开一个个sprint进行迭代开发。每一个sprint周期大概30天,每天做20分钟的汇报,使得小组成员随时跟踪项目进度。当一个sprint结
2008-02-03 14:35:00
617
原创 Observer模式的理解
最近的项目中遇到了多个对象之间协作的设计问题,经过参考别的一些代码,发现解决这种一对多的对象间协作问题,通常使用Observer模式进行设计。什么是Observer(观察者)模式呢?下面举一个简单的例子。 假设我们要设计一个交通状况监控系统,收到的数据封装成TrafficData类,然后把他拥堵状况用图形显示出来,处理该显示用TrafficMap类实现,然后又想以表格形式显示
2007-11-03 11:02:00
655
原创 Directshow的Filter开发简要步骤
本文以一个Transform Filter为例,一步步整理Transform Filter一般开发步骤。本文的Filter名为GrayFilter,把YUV视频信号转化为灰度信号,造成黑白电视的效果。 1. 配置开发环境 1. VC中在Tools->Options->Directories 设置好DirectX SDK的头文件和库文件路径 2. 编译了基类源
2007-10-16 23:34:00
1118
原创 web2.0
昨天老板突然问我什么是web2.0.我: web2.0就是博客, Youtube, Flickr, wiki之类的网站,网民既是内容提供者又是内容消费者。老板曰: 那只是商业模式不一样,技术上有什么革命性的革新么?我:Er... ...于是找了这篇文章,比较详细的论述了web2.0http://www.enet.com.cn/article/2005/1122/A200511
2007-09-30 12:47:00
421
原创 编译VIM
今天下载了VIM的代码包,编译时把大部分功能开尽。7.1主要有两个包 vim-7.1.tar.bz2, vim-7.1-lang.tar.gz (多国语言包)前者是bz2格式的,用 tar xvfj vim-7.1.tar.bz2 解压 ( j表示解压bz2)后者用 tar xzvf vim-7.1.lang.tar.gz 解压我的配置选项. / configure --with-feature
2007-08-28 13:49:00
2236
原创 BP神经网络(LM算法训练)--C代码
前段时间毕业设计中写的一段代码,三层BP神经网络用于自适应,用Levenberg-Maquardt法进行训练。 #define EPSILON 1E-6//3层的神经网络结构typedef struct tag_bpnnt ...{ int in_n; //输入层神经元数 int hidd_n; //隐层神经元数 int
2007-08-27 13:03:00
8739
21
原创 深入ARP
最近复习Internetworking with TCP/IP 的第一卷书 ,才发现他的章节习题颇有挑战性,如果都能顺利完成,基本具备一名初级黑客的知识基础了。 在IBM developerworks上发现几篇讲ARP的文章,以及相应的网络安全问题。 “ ARP协议揭秘”,回顾ARP已经ARP欺骗等问题。 http://www.ibm.com/develope
2007-08-14 13:16:00
597
原创 C++标准库与Java基础类对照
C++标准库与Java基础类对照表作者: Daly 日期:2007-08-11 一、集合类 对象的集合,指如链表,数组,队列这一类的数据结构。在C++标准库中把这些成为Container, 在Java中称为Collection。 C++STL常用Container: vector, list, map, set, queue, stack, priorit
2007-08-11 14:42:00
2762
原创 正则表达式备忘
字符 描述 / 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 "n"。/n 匹配一个换行符。序列 // 匹配 "/" 而 "/(" 则匹配 "("。
2007-08-09 10:36:00
404
原创 开始学习Java
Java已经是企业级Web开发的标准语言,其跨平台特性很方便地适应各种部署环境。 在众多开源项目中,一些java写成的程序也具有很高的参考价值。 于是开始了解这种普及度极高的语言。 学习工具: 《Thinking in Java 第三版》 MyEclipse 开发环境 IBM Developworks的教程 大概用了2天时间对基本
2007-08-08 17:58:00
391
转载 C语言宏定义技巧(常用宏定义)
转载:C语言宏定义技巧(常用宏定义) 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移
2007-08-04 00:16:00
859
转载 RWGuard多线程读写同步类
摘自 第10章该类解决了同一进程内的生产者--消费者同步问题。 class CRWGuard ...{public: CRWGuard(); virtual ~CRWGuard(); void WaitToRead(); void WaitToWrite(); void Done();protected: CRITICAL_SECTION m_
2007-08-02 14:51:00
699
原创 环形缓冲队列
项目中需要线程之间共享一个缓冲FIFO队列,一个线程往队列中添数据,另一个线程取数据(经典的生产者-消费者问题)。开始考虑用STL的vector容器, 但不需要随机访问,频繁的删除最前的元素引起内存移动,降低了效率。使用LinkList做队列的话,也需要频繁分配和释放结点内存。于是自己实现一个有限大小的FIFO队列,直接采用数组进行环形读取。 队列的读写需要在外部进程线程同步(另
2007-08-02 14:44:00
1264
转载 实现业务系统中的用户权限管理
转载一篇文章http://blog.youkuaiyun.com/eagle11936/archive/2007/06/20/1659478.aspx B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就
2007-07-17 10:45:00
585
原创 关于SubclassWindow()和SubclassDlgItem
msdn上的解析CWnd::SubclassWindowBOOL SubclassWindow( HWND hWnd );Return ValueNonzero if the function is successful; otherwise 0.ParametershWndA handle to the window.RemarksCall this member function to "
2007-07-16 21:41:00
4179
原创 仿任务管理器中"CPU使用"的控件
从CStatic中派生出这个类使用时先在对话框编辑器添加一个static文本框,再直接用classWizard 添加对话框的一个member variable成员CLevelBar, 又或者直接用Create动态生成。 该控件还提供警戒线设定,参数超过警戒线部分会用另一种颜色表示代码如下:类定义////////////////////////////////////
2007-07-12 20:19:00
723
原创 字节顺序和位域顺序的讨论
大端和小端的讨论,一般计算机组成原理教材都会有谈到,但多数不够深入。Big Endian: 高位字节放到内存的低位地址,反之亦然。以太网网络传输字节序, PowerPC, UltraSparc一类的处理器采用大端。Little Endian: Intel的IA-32架构采用。高位字节放到内存高位地址。记得学X86结构是有一记忆口令:High high, low low比特位顺序一般
2007-05-05 17:19:00
1764
原创 高斯消元法求线性方程组
#define SWAP(x,y) if((x)!=(y)) / { x = x+y; / y = x-y; / x = x-y; } ////////////////////////////////////////////////////////////////// gauss-jordan消元法解线性方程组Ax = B// 参数// a -- 输入系数矩阵,输
2007-04-19 23:05:00
783
原创 windows编程好书介绍
VC6技术内幕 David J. Kruglinski MFC编程入门好书,一步步由浅入深走入MFC编程世界。看完这本再看候俊杰的,剩下的问题由MSDN解决吧 Charles Petzold 这书是WIN32 SDK的宝典级著作。即使用MFC等编程框架,这书也有很高的参考价值下面的都是经典,遇到问题时解惑的好帮手 Jeffery.Richter
2007-04-12 21:45:00
898
1
转载 什么是内核对象
什么是内核对象作为一个Wi n d o w s 软件开发人员,你经常需要创建、打开和操作各种内核对象。系统要创建和操作若干类型的内核对象,比如存取符号对象、 事件对象、文件对象、文件映射对象、I / O 完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计 时器对象等。这些对象都是通过调用函数来创建的。例如,C r e a t e F i l e M a
2007-04-12 21:29:00
872
2
原创 用C实现数据隐藏(私有化)
在C++中,为了更好实现数据隐藏,可把成员设为protected或private,那么C又怎样做呢? 下面看这个例子:hidedemo.h typedef struct Octstr Octstr ;hidedemo.c struct Octstr{ int member1; char* member2;}
2007-04-08 09:37:00
652
翻译 利用C预编译管理相似结构体
Daly(翻译, 有删减)Lars Wirzenius http://liw.iki.fi/liw/texts/cpp-trick.html 介绍 一般教科书或者编程指南中都建议减少宏的使用,从我的经验看,大量使用宏是错误的来源,经常会使人陷入混乱。但当我1997年参与HiBase项目时学习到这个技巧后,使我很震惊。我发现在一些任务里,这个技巧可以避免大量相似
2007-04-04 11:24:00
748
转载 常见字符编码扫盲(UTF,Unicode, GB2312)
文章一,本文转载自:http://fmddlmyy.home4u.china.com/text6.html谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在G
2007-04-03 13:56:00
1237
1
转载 软件需求的实践
http://www.ibm.com/developerworks/cn/linux/software_engineering/requirement/part1/ IBM的文章,关于需求的实践。最近在看, 真是一本很好的书,通常讲软件工程的书都感觉太虚,毕竟没有参与过大型的项目。但是这本书讲得很实在很生动,而且确实能应用到项目开发当中。赞~~
2007-03-25 18:07:00
489
原创 最小平方误差的求值
在很多问题里,通常要找到一个系数a,使得给定的误差函数值形如f(d(x,a)-t)期望最少,其中t为真实值,d(x,a)是关于自变量x,系数为a的函数(通常是线性函数)(注:x和a通常是向量,表示一组自变量和对应的一组系数)。给定的误差函数可以是误差的绝对值期望,也可以是误差值的平方的期望。通常平方比绝对值更常用,因为方便做微分运算。 对于平方误差函数E = Σ(d(x,a
2007-03-15 17:03:00
4505
1
原创 空间变换及其应用(二)----仿射,双线性,透视
上篇复习了空间,映射和变换的概念。接下来介绍几种图像处理中常见的仿射,双线性,透视。下面仅讨论二维的情况。 仿射(affine) 仿射变换是一个线性变换,变换后保持图形的平直性(直线还是直线),平行性(平行线变换后还是平行)。仿射变换通过一系列原子变换实现:平移(translation),缩放(scale),翻转(flip),旋转(rotation),
2007-02-28 16:35:00
2851
1
原创 空间变换及其应用(一)----代数几何重温
空间变换在计算机图形学,图像及视频处理,密码学,通信编码中有着广泛的应用。本文归纳几种常见的变换,进一步可参阅高等代数与解析几何方面的教材。在实际应用中,很多时候需要把一个点(坐标)从一个空间映射到另一个空间。例如在游戏设计中存在多个坐标系,他们之间的点的映射关系就得通过变换。简单来说,变换就是在空间中到自身(即定义域和值域相同)的映射,通过矩阵相乘来完成。 先来重温一下
2007-02-28 16:25:00
1276
转载 MFC应用程序中指针的获取
MFC应用程序中指针的使用 1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量 8) 在Mainframe
2007-02-14 22:12:00
734
转载 XML新手入门
IBM的XML教程http://www.ibm.com/developerworks/cn/xml/newto/index.html XML and how it will change the Webhttp://www-128.ibm.com/developerworks/xml/library/xml-web/index.html XML是什么?XML,或称为可扩展标记语
2007-02-03 23:14:00
501
原创 C++编程规范(下)
第三章命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是整型数则用n为前缀。例如nWidth, chText, fTax. 但笔者认为这种表示方法过于烦琐,而且未必真能有效增进理解,因此不建议用匈牙利法。良好的命名规则可便于记忆和理解。但是什么是好的命名规
2007-01-30 21:31:00
452
原创 C++编程规范(上)
第一章文件声明【规则1-1】头文件和定义文件的说明 在头部声明文件的基本信息。1) 文件名2) 简要说明该文件的作用3) 版本信息,原作者和编辑作者,建立日期或最后修改日期 /************************************************
2007-01-30 21:29:00
471
原创 算法导论系列--动态规划
动态规划(dynamic programming) 是个较难理解的算法,常用于最优化问题的求解。和分治法类似,动态规划也是解决小问题的基础上合并为更大规模的解。动态规划中,一个大问题的一个最优解必定包含子问题的最优解;且这些子问题是重叠的。为免子问题重复计算,通常将子问题的最优解储存在一个表中。并且,后续问题的解必须不会影响之前子问题的最优解(无后效性)。 设计一个动态规划
2007-01-20 23:07:00
856
原创 算法导论系列--计算几何(computational geometry)
Computational Geometry是个十分有趣的课题。很遗憾笔者不是数学/计算机专业,对这个领域认识很少。第一次接触这个词是在topcoder的算法教程里面,被其算法的巧妙所吸引,可惜未有机会进一步学习。认识所限,本文介绍仅能最简单的2D几何算法跟大家分享。对于从事CAD软件开发,图形开发,统计,游戏开发的人,计算几何都是必修课。这个领域有一本很著名的入门书:Mark de ber
2007-01-17 21:17:00
4050
原创 数字通信ABC
通信的目的就是把信息从一处传达到另一处。那么信息怎样量化呢?香农(Shannon)信息论中定义了信息熵(entropy) H = - ∑ pi log2 (pi ) ,即每个信息源输出所含的平均信息量。其中pi为每个可能值的概率, 熵的单位是比特(bit)。例如我告诉你:我是男孩,这条信息包含了1 bit,因为性别只有男和女两种可能值,概率都是0.5。 数字通信系统(以下简
2007-01-17 12:01:00
859
原创 算法导论系列--Divide & Conquer(分而治之)
分而治之(Divide and conquer) Divide and conquer(分治法)的基本思想是把一个大问题分解成若干个小问题,把小问题逐个击破后组合起来,得出结果。算法步骤如下: (1) Divide: 按一定预设条件把问题分解为若干。 (2) Conquer: 解决每个子问题(通常是递归) (3) Combine: 各子问题的组
2007-01-16 12:31:00
2844
原创 算法导论系列----算法规模.递归式
一般来说,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),f(n)是一个随n增长的函数,当n很大时,其逼近某个函数g(n)的增长。常用渐进符号Θ(g(n)),上限符号O(g(n))(大O符号),下限符号Ω(g(n))。定义Θ(g(n)) 为0 ≤ c1g(n) ≤ f(n) ≤ c2g(n), O(g(n))为0 ≤ f(n) ≤ cg(n),Ω(g(n))为0 ≤ cg
2007-01-15 22:08:00
900
转载 关于字节对齐
字节对齐 为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字节边界上,即起始地址能够被4整除。变量
2007-01-12 11:40:00
558
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人