自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愷风(Wei)的专栏

使用工具、了解工具、创造工具……

  • 博客(21)
  • 资源 (25)
  • 收藏
  • 关注

原创 我的技术博客索引

我的JAVA相关文章我的Clutter相关博客我的网络通信相关文章我的Linux相关文章我的与kernel module有关的文章我的嵌入式Linux相关文章我的MeeGo/Moblin相关文章我的Andriod开发相关文章我的与编程思想相关的文章我的无限网络文章我的产业生态链和杂谈文章我的四方书库生活空间为五斗饭相关文章天南地北相关

2009-09-12 22:47:00 13058 14

原创 kernel module编程(九):通过用户程序的strace检查内核模块调用情况

  本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的读书笔记之四,但我们不限于此内容。  由于最近比较忙,赶文档,这么多天没看两页纸。前两天来个老外,forgive my poor English。和他到我们饭堂吃饭,还有几个同事坐在一起,一同六个人,5个人拿匙羹,一个人用筷子,用筷子的人是老外……  在前面我们学习了两种通

2009-09-29 15:20:00 3540

原创 出非洲

  今天新闻联播讲格鲁吉亚发现了人类化石,这是对人类不是源于非洲的又一证据(不记得准确说法,而且好像说是一百多万年前,查了一下网络说180万年)。这个短短的新闻,以及官方的用词很引人注意。因为国内一直有种说法,对人类出非洲提出反对,认为在更找的时候就出非洲,作为ape-like,中国人可能是北京猿人的后代,或者是北京猿人后代和出非洲的人的混合的后代。这种说法我记得在我们中学的历史课本这样讲,而现在似乎也这样讲。   但是给出的化石,是homo erectus和能人之间,不是homo sapien。直立人在

2009-09-27 00:26:00 1717

原创 Linux Bash Shell学习(三):基本I/O操作、特殊字符、控制键和帮助

  本文也即《Learning the bash Shell》3rd Edition的第一章 bash Basics之读书笔记之二。但我们将不限于此。用linux就会用bash,一直没有系统地学过,所以来看看书。一些I/O操作  Linux的I/O有两个特点,一、I/O分为character和block两类;二、所有的产生和接收数据都可以视为file。而就是说这些I/O操作都可

2009-09-21 21:29:00 5473 2

原创 Linux Bash Shell学习(二):目录和通配符

  我们继续看书。本文也即《Learning the bash Shell》3rd Edition的第一章 bash Basics之读书笔记之一。但我们将不限于此。  先讲历史:第一个重要的shell是Bourne shell,他在1979年Unix version7中加入,即sh,很多UNIX的应用的管理仍然依赖它。第一个广泛使用的其他shell是几年后C shell,因为他和C编程有些

2009-09-21 16:51:00 8457

原创 Moblin:对于Moblin的版本更新的看法

  我已经有一个多月没去moblin的网站看了,他们的更新速度让我感到疲倦。有些时候脚步需要slow down。Moblin有很多中间的临时版本,每周作出更新,比如像在的moblin2 beta就已经有无数个版本,属于天天向上,即使不是day day up,也是week week up。   让我们看看Ubuntu和fedora的做法,他们的新版本半

2009-09-20 22:23:00 2165

原创 kernel module编程(八):读取proc文件之seq_file

  本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的读书笔记之三,但我们不限于此内容。  在上次我们使用了read_proc的方式通过/proc文件读取kernel module的信息。作者给的例子他自己说是ugly。而我们在读取大量数据时发现,受到用户buffer大小的限制(page的大小),可能需要读取多次,不仅需要记录上次

2009-09-18 15:06:00 7373 1

原创 Linux Bash Shell学习(一):开始看书《Learning the bash Shell,3rd》

  本文也即《Learning the bash Shell》3rd Edition的前言之读书笔记。但我们将不限于此。   Bash即Bourne Again shell,可以通过下面查询机器的bash版本:[wei@wei bash-script]$ echo $BASH_VERSION3.2.39(1)-release   这和书中介绍的2004

2009-09-16 14:45:00 7751 1

原创 kernel module编程(七):通过读取proc文件进行debug

  本文也即《Linux Device Drivers》,LDD3的第四章Debuging Techniques的读书笔记之二,但我们不限于此内容。  在linux中,例如读取CPU,可以使用cat /proc/cpuinfo,通过这个我们可以在程序中采用读文件的方式获取CPU,这种大容量高性能的服务中非常常用,例如在cpu大于60%的时候,我们将拒绝所有的业务请求,直至cpu恢复到40%

2009-09-15 17:18:00 4583

原创 我的网络通信相关文章

我想如果是一年前,这类文章可能会占据所有版面。从VoIP、SIP等等,好像一直都在搞网络通信相关的项目,不过最近缓了一缓。WAP1.X/WAP2.0以及WAP浏览器的协议版本从云计算到框计算SIP协议sip消息的路由NTLM的实现:实现PROXY穿越(16):NTLM的PROXY穿越实现PROXY穿越(15):NTLM Session Security实

2009-09-12 22:54:00 3293

原创 我的嵌入式Linux相关文章

cross compiler Toolchain(交叉编译工具链)的建立构造嵌入式Linux(一):Kernel编译构造嵌入式Linux(二):vmlinux、vmlinuz和bzImage建立Host和Target的MTD工具[摘]嵌入式linux系统的开启Moblin: kernel编译和rpm打包(一):更换

2009-09-12 22:49:00 2969 1

原创 我的MeeGo/Moblin相关文章

MeeGo相关技术VisionMobile:从MeeGo到Tizen:制造另一个软件泡沫 2011.10.28【转】MeeGo merges with LiMo to form Tizen 2011-9-29[转]著名的自由软件圣战- “KDE/QT .VS. Gnome/Gtk”(2010.11.4)环境和工具MeeGo 1.2的repo使用方法 2011.1

2009-09-12 22:48:00 3582 2

原创 我的与编程思想相关的文章

专门描述谈谈敏捷开发的误区 2013.1.22[记录]编程思想(一):提供"mechanism"还是"policy"[记录]编程思想(二):对于内核模块编程 涉及文章(请查看黑体部分,或者检索【编程思想】)kernel module编程(五):设备读写【编程思想:对复杂数据结构的读写技巧】kernel module编程(六):printk-printf的debug 【编程思

2009-09-09 15:00:00 5499 1

原创 kernel module编程(六):printk-printf的debug

  本文包含《Linux Device Drivers》,即LDD3的第四章:Debugging Techniques的读书笔记之一,但我们不限于此内容。我在网上看到了LDD3的中文版:http://www.deansys.com/doc/ldd3/,我看了一下,最好和原文版一起阅读。  在我们的程序的调测中,无论是JAVA,C(kernel module或者是用户

2009-09-09 09:38:00 7727

原创 我的JAVA相关文章

   之前有一个历经三年的项目,负责其中一个AS,最后实现的性能和功能已经超出了我的预期,尤其作为电信运营级别所要求的性能,各类的过载保护等等。最近这个项目可能又要翻出来,这一年多来,位置没有变化,部门的名字换了两趟,名片上的除了名字外什么都不对。实验室搬了两次,手头的机器也更换了。最近有空的时候就整理一下,当时有一些对JAVA很有趣的性能文档,可惜一下子没找着。我想发现一些问题还是整理一下,...

2009-09-07 15:05:00 7727 5

原创 在fc10中如何压缩和解压rar文件

  有时windows的同事会给一些rar的文件,在fedora里面很难打开。在ubutu上可以通过adp-get获得rar和unrar,但是在fedora中,至少在fc10中无法通过yum来获取。  可以通过ftp://ftp.pbone.net/mirror/atrpms.net/f10-i386/atrpms/stable/rar-3.8.0-2.fc10.i386.rpm 来获

2009-09-07 14:50:00 2072

原创 我的Linux相关文章

开发篇——D-BusD-Bus学习(一):总体介绍D-Bus学习(二):基本概念D-Bus学习(三):消息D-Bus学习(四):基础小例子(同步和异步)D-Bus学习(五):Signal的收发小例子D-Bus学习(六):Method的收发小例子D-Bus学习(七):利用XML定义D-

2009-09-07 14:44:00 15566 3

原创 Makefile的编写——用于C和JAVA

  因为要整理一个古老的JAVA project,原来的开发环境已经没有,找到source code,现在要重新搭建编译环境。决定使用Makefile的方式作为源代码的一部分。make一般用于GNU C,我们可以认为它是一个shell,可以完成我们期待的编译工作,无论是C还是java。Makefile每次总是要写半天,每次都不记得,总结一下,以后可以方便进行copy。  简单的就直接将编译

2009-09-02 16:40:00 7908 1

原创 Clutter讨论(三):兼容性再次讨论——在moblin中使用Clutter

  在我们学习Clutter中,已经不断碰到Clutter的兼容性问题。这些兼容性问题的出现,一方面在clutter刚推出1.0版本,不太成熟,另一方是clutter本身机制造成的,他使用了很多底层的东西,那么他就需要适配不同的display硬件,虽然clutter一直说他的通用的。他不是创建在其他已经经过多年为兼容奋斗的软件或者技术上,因此在初期出现兼容性的问题是可以理解的。即便如此,clu

2009-09-02 11:02:00 3869

原创 Clutter讨论(二):Clutter和GTK+

嵌入:  不能在里面嵌入GTK+的小部件。它属于low level的toolkit,因此不能嵌入height level的widget,例如GTK+。但是GTK+里面可以嵌入clutter widget。 使用:  Clutter可提供文本(可编辑),但是不能提供包括button、list、combox、scroll等等,如需要使用,可通过嵌入GTK+来实现。这

2009-09-02 10:39:00 3898

原创 JDK 1.6.x(1.6.0_16)和以前版本的变化

  最近需要整理一个以前的项目,需要增加新的接口。这个项目进行了很久,一开始用JDK1.4的版本,后来用JDK1.5的版本。再后来发现JDK1.5版本存在一个BUG(具体忘了,还没能翻出文档,好像和时间有关),需要JDK1.6。从1.4到1.5没有任何问题,从1.5到1.6,在source code上没有问题,但是1.6编译的不能在JRE1.5上面跑。  接着这些东西开始尘封,有1年的时间

2009-09-02 09:22:00 6516 1

Pro Android学习:联系人API

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-06-15

Servlet速成学习

跟踪http://edu.51cto.com/course/course_id-1774.html学习,在代码上做笔记,可算是速成学习完servlet

2015-03-20

Pro Android学习:传感器

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-02-06

[zip文件] Pro Android学习:拖拽小例子

Pro Android学习系列中的拖拽小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-12-12

Pro Android学习:touch screen小例子

Pro Android学习系列中的Touch Screen小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-11-18

Pro Android学习:list widget小例子

Pro Android学习系列中的List Widget2小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-23

Pro Android学习:widget小例子

Pro Android学习系列中的Home Screen Widget小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-15

Pro Android学习:media frameworks小例子

Pro Android学习系列中的media frameworks小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-30

[zip文件] Pro Android学习:telephony小例子

这是Pro Android学习系列中Telephony API部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-16

Pro Android学习:location小例子

这是Pro Android学习系列中location部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-27

Pro Android学习:2D动画小例子

这是Pro Android学习系列中2D动画部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-14

Pro Android学习:Alarm manager小例子

这是Pro Android学习系列中alarm manager部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-18

Pro Android学习:Broadcast小例子

这是Pro Android学习系列中Broadcast部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-01

Pro Android学习:AsyncTask小例子

这是Pro Android学习系列中AsyncTask部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-16

Pro Android学习:了解Handler小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-08

Pro Android学习:了解package的小例子

这是Pro Android学习系列中了解package部分的例子源代码。包括通过共享UserID实现资源共享,以及lib项目

2014-04-18

Pro Android学习:Android service小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-03-27

Pro Android学习:Http service小例子

这是Pro Android学习系列中http service的例子源代码。

2014-02-10

Pro Android学习:permission例子

这是Pro Android学习系列中permission部分的例子源代码。

2013-12-19

Pro Android学习:Preference(首选项)小例子

这是Pro Android学习系列中preference部分的例子源代码。

2013-12-04

Pro Android学习:ActionBar小例子

Pro Android学习系列中的action bar小例子。

2013-11-07

Pro Android学习:Dialog小例子

这是Pro Android学习dialog部分的例子源代码。

2013-10-30

Pro Android学习:Fragment

这是Pro Android学习Fragment部分的例子源代码。

2013-10-25

Pro Android学习:Menu

是Pro Android学习笔记Menu系统的例子代码

2013-09-29

NTLM PPROXY client的实现(C source code)

HTTP PROXY中NTLM的客户端的C源代码。包含相关的DES等算法在内。Base64的算法,是通过网上共产主义获取,MD4,MD5,HMAC MD5的算法是RFC中提供的,其余的可以根据下面链接的步骤进行编写。我提供一个源代码的例子。其中arith_开头的相关算法,httppc_ntlm是 NTLM的type1、type2、type3消息的应答构成,test_httppc_connect是一个测试的例子,里面没有main函数,但是另外构造一个main函数,在wei_set_proxy_info之后,调用wei_httppc_connect就可以了。详细见http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 有朋友说少了头文件,我查了一下,不好意思,少了md.h。请参考下面。 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived work. RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. These notices must be retained in any copies of any part of this documentation and/or software. */ #ifdef __cplusplus extern "C" { #endif #ifndef WEI_MD_H #define WEI_MD_H #ifndef IN #define IN #endif #ifndef OUT #define OUT #endif /************************************ 算法:MD4和MD5 *********************************/ //从RFC1320 The MD4 Message-Digest Algorithm的附录 //从RFC1321 The MD5 Message-Digest Algorithm的附录 /* PROTOTYPES should be set to one if and only if the compiler supports function * argument prototyping.The following makes PROTOTYPES default to 0 if it has not * already been defined with C compiler flags. */ #ifndef PROTOTYPES #define PROTOTYPES 0 #endif /* POINTER defines a generic pointer type */ typedef unsigned char * POINTER; /* UINT2 defines a two byte word */ typedef unsigned short int UINT2; /* UINT4 defines a four byte word */ typedef unsigned long int UINT4; /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.If using PROTOTYPES, * then PROTO_LIST returns the list, otherwise it returns an empty list. */ #if PROTOTYPES #define PROTO_LIST(list) list #else #define PROTO_LIST(list) () #endif /* MD4 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD4_CTX; void MD4Init PROTO_LIST ((MD4_CTX *)); void MD4Update PROTO_LIST ((MD4_CTX *, unsigned char *, unsigned int)); void MD4Final PROTO_LIST ((unsigned char [16], MD4_CTX *)); /* MD5 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD5_CTX; void MD5Init PROTO_LIST ((MD5_CTX *)); void MD5Update PROTO_LIST ((MD5_CTX *, unsigned char *, unsigned int)); void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *)); #endif #ifdef __cplusplus } #endif 因为我没有认真地打包封装,而是从我的一个project中抽出了,有些遗漏,请大家原谅。今天又有网友来问PRIVATE在哪里定义。因为代码不在手头的机器上,没法仔细看,PRIVATE的定义如下 #define PRIVATE 定义为空,这是模仿C++的private,说明这个函数不会被其他文件引用,只用于本文件。 最近又收到网友的来信,说少了几个util文件。这个是不在ntlm的算法中,而是在验证例子test_httppc_connect.cpp中使用。查了一下,我确实没有放到网上。汗啊,因为验证例子是从某个程序中抽取出来,里面包含一个很简单的http的解析。我本来想update资源,没有找到 update的方法。需要说明的是这部分和真正的算法没有直接关系。放在这里,太长了,如果需要的网友,请到http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 那里下载。

2009-03-16

空空如也

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

TA关注的人

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