- 博客(93)
- 资源 (8)
- 收藏
- 关注

原创 SouceInsight跳转到文件夹插件更新到1.2.1版
1.1版 SouceInsight跳转到文件夹插件更新到1.1版,修复了有时不能正常跳转的错误,同时在脚本端添加了错误提示。具体介绍参见:http://blog.youkuaiyun.com/chenyufei1013/archive/2010/11/22/6028016.aspxhttp://blog.youkuaiyun.com/chenyufei1013/archive/2010/12/0
2011-01-22 10:56:00
2291
1
原创 关于spring的IoC本质
关于spring的IoC本质我最早接触IoC(Inversion of Control)是在Android刚出来的时候,那个时候的Android版本是1.5,大概是09年,市面上有基本关于Android的书讲到了这个概念。碰巧,当时正好做和操作系统相关的事情,对这个概念深有体会。感觉“控制反转”这个概念很有意思,有意思的地方在于,既然是“反”,那么它的“正”是什么呢?控制(Control)程序里面,
2017-06-14 00:45:04
1688
原创 C语言知识结构之二
C语言的知识结构整理成思维导图,如下图所示:这张图的整体思路是:用C写程序,该学会什么?要用C写的更好,改学会什么?其实,只要是分层的知识结构,大致的思路是:首先,研究本层的知识;其次,研究上面第一层、下面第一层的知识;(若存在的话)第三,研究上面、下面加一层的知识;重复步骤3。目标只有一个:把本层的工作做好(牢记目标,别发散了,研究其它层过于深入)。举两个例子:用C写出来的代码,
2015-08-23 00:44:14
2664
原创 C语言知识结构
很长时间以来,都是在用C语言写东西。也一直在思考,如何能很好的掌握C,查过很多资料,也作过一些尝试,于是整理成此文。在大部分情况下,我们会写或者使用一个C库,然后被应用程序使用,运行在Linux的系统上。于是,就有了基于C语言的知识结构: App------------------- C API C, libc------------------- Posix AP
2015-05-31 22:48:15
2871
原创 CXF Web Service的Hello World之一 搭建环境
本文介绍如何配置 Eclipse + Java EE + Apache CXF + Tomcat + JDK 的开发环境,用于开发CXF Web Service。
2015-01-06 11:47:16
9317
原创 Python的字符串编码规则
本文简单分析了Python的字符串编码规则。主要涉及的内容有:文件的编码格式、系统缺省的编码格式、字符串的编码转换。
2013-12-18 11:38:21
4767
原创 Lamobo M1
Lamobo M1是一个类似于树莓派(Raspberry Pi)的开发板,官方说明参见这里。下面是一些资源(持续更新中……):Lamobo M1官网Lamobo M1论坛为Lamobo M1编译Android环境为Lamobo M1编译Linaro环境
2013-12-12 11:44:11
3760
原创 Ubuntu下编译Linux内核和hello模块
环境准备 Ubuntu版本信息:$ uname -aLinux ubuntu 2.6.32-38-generic-pae #83-Ubuntu SMP Wed Jan 4 12:11:13 UTC 2012 i686 GNU/Linux下载源码$ wget http://www.kernel.org/pub/linux/kernel/v2.6/lin
2013-08-22 22:57:55
3530
原创 关于文件夹同步的那点事
本文分析了文件夹之间进行一对一同步所涉及的概念,并根据这一概念,分析出实现文件夹之间的同步背后的模型,以及遇到的问题。本文最后还对文件夹之间一对多的特殊情况进行分析。
2013-08-20 21:11:14
3250
原创 MFC客户端开发记录
最近在写一个MFC程序,感觉MFC发展了很多年,应该是趋于完善的;具体表现在:相关的文档比较全,相关功能的Demo可以很方便的google到。因此,在MFC上做一些基本功能应该是没问题的。MFC文档 MSDN上的文档也比较全,相关的文档参考:MFC Reference,Controls (MFC)。本文中,提到的一些功能,并不只和MFC相关。既然用到了,就记在一起,方便查
2013-04-15 15:15:28
2764
原创 Android SurfaceView Double Buffer
摘要 本文主要介绍Android SurfaceView的双缓冲机制,并给出一个测试用例来展示SurfaceView用到了两块绘图缓冲。概述 SurfaceView的机制可以简单的用下图来表示: 首先,SurfaceView内部会有两块Buffer。调用lockCanvas之后,便可以在第一块Buffer上绘
2013-01-06 18:58:05
5847
原创 关于android的单位dp,dip
摘要 本文介绍了android单位dp,dip的概念,并给出了它的确切含义。概述 Android中,dp是Density-independent Pixels简写,而dip则是Density Independent Pixels,实际上指的是一个概念,都是Android的单位。在文档More Resource Types中有描述:
2012-12-21 14:14:16
47752
1
原创 CherryPy的Hello World分析
摘要 本文是建立在分析CherryPy的Hello World及背后的源码基础上的,旨在分析支持Hello World运行的CherryPy框架。概述 CherryPy 3.2.2作为Web Application Server,支撑着CherryPy的Application的运行。相关的背景资料可以参考《关于cherrypy和wsgid
2012-12-12 13:04:45
4323
原创 关于cherrypy和wsgidav的一些问题
摘要 主要是介绍协议HTTP、ISAPI、WSGI,以及Web Application Server(集成了Web Server和Application Server,比如:CherryPy库)。最后,介绍了基于WebDav库的应用在CherryPy和IIS环境下的运行示例。本文可以看作是一个CherryPy的背景知识,方便大家理解一些概念。HTTP
2012-12-06 17:59:26
5311
1
原创 libjingle源码分析之四:Session和Transport
摘要 本文介绍了Session和Transport模块。概述 Session、SessionClient、Transport和TransportChannel的关系如下图所示:模块解析SessionClientSessionManager中,按content_type来区分不同的SessionClien
2012-11-07 09:37:18
5697
原创 libjingle源码分析之三:P2P
摘要 本文主要介绍了libjingle库中的P2P模块。概述 在libjingle中,P2P模块并非一个完全独立的模块,它的实现依赖于Jingle协议,需要通过libjingle中的其它模块获取必要的信息和支持。P2P模块的内部结构及与其它模块的关系如下图所示。 如前文所示,SocketServer模块是用来
2012-11-06 10:36:24
12712
1
原创 libjingle源码分析之二:Thread和SocketServer
摘要 本文主要分析了libjingle源码中的Thread和SocketServer模块,以及它们是如何协同工作的。首先,介绍了Thread和SocketServer的模型,给出了如何使用Thread的示例。然后,分析了Thread中的默认消息循环的处理流程和如何自己处理消息。概述 libjingle源码中,Thread和SocketServer
2012-10-25 20:10:52
7621
原创 libjingle源码分析之一:Signal机制
摘要 本文主要分析了libjingle中的Signal(信号)机制,它实际上是基于sigslot开源库。本文开始描述了Signal机制是什么;然后,给出一个libjingle文档中的例子,来描述它是如何使用的。最后,介绍了Signal机制的具体实现。概述 按照libjingle文档关于Signal(https://developers.g
2012-10-18 17:18:00
7730
原创 Ubuntu 10.04 Server下编译libjingle-0.6.14
环境Ubuntu 10.04 Server包expat-2.1.0.tar.gzlibjingle-0.6.14.zipopenssl-1.0.0e.tar.gzscons-2.2.0.zipscons-local-2.1.0.zipscons-local-2.2.0.zipsrtp-cvs.zipswtoolkit.0.9.1.zip
2012-09-28 18:08:55
3977
3
原创 android init中的service
android的init进程初始化的时候,除了对系统作一些必要的初始化外,就是启动service了。而service是定义在init脚本中的,故很有必要了解一下,init中对service的处理。struct service 该数据结构保存了和service相关的信息。service下可以定义option,这些option被保存在这个结构体中;除此之外还保存了se
2012-08-31 11:11:32
9807
原创 android init进程启动的大致流程
参考Android源码的版本:4.0.4;init源码目录:system/core/init/;解析init脚本代码:init_parser.c;init脚本支持的关键字:keywords.h; 关于init.rc脚本相关的介绍可以参考system/core/init/readme.txt文件;纵观init源码,会发现init进程在启动的时候,会执行init脚本和一些内置的a
2012-08-30 11:00:36
1234
转载 VS2010手动加载DevExpress
It’s possible to prevent the IDE tools from being loaded automatically when starting Visual Studio. To do this, please follow these steps:1) In the Visual Studio IDE, use the “Ctrl+Shift+Alt+O”
2012-08-08 16:15:41
4732
原创 skia之双向队列SkDeque
skia中的SkDeque代表的是双向队列。本文简单说一下它的算法,由于算法并不复杂,就不分析它的源码了。初始化 下图表示的是SkDeque,初始化时候的状态,整个队列数据部分实际上就是一块白色区域所显示的内存,该区域又它的头部来描述,头部对应的类型为SkDeque::Head。我们可以通过函数push_front()往队列头部添加数据节点,也可以通过push_b
2012-01-17 20:52:32
1356
原创 重读C++之一:封装、继承和多态
导读 前段时间重新看了一下C++,一是感觉清晰了许多,二是觉得若是换个角度看的话,会有不一样的体会,并且也容易记住C++中的一些特性。本文就试图将集合论中的相关知识引入到C++的封装、继承、多态上,让我们对它有个重新的认识。 从代码的角度而言,我认为计算机语言都不可不免的解决以下两个问题: 1.为了构建大型的程序,需要将代码模块化。C+
2011-12-01 20:31:05
9195
2
原创 Unix环境高级编程习题3.2
题目 3.2 Write your own dup2 function that performs the same service as the dup2 function described in Section 3.12, without callin
2011-09-23 08:57:26
2375
原创 Linux semaphore POSIX信号灯的Hello World
信号灯(semaphore)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语(引自Unix网络编程第2卷进程间通信第二版)。闲话少说,直接上Hello World代码。其中用到的信号灯函数的用法参见进程间通信一书第10章。本人的测试环境cygwin。服务端
2011-09-21 20:20:16
1249
原创 浅析Android的RILD服务进程的消息循环
Android中,RILD是RIL(Radio Interface Layer) Deamon的简称。简单的说它下面承接GSM/GPRS Modem(电话通信模块),上面接电话应用相关的Java库(telephony internal)。telephony internal通过s
2011-07-14 23:22:11
2356
原创 浅析调用android的content provider(二)
上一篇文章(http://blog.youkuaiyun.com/chenyufei1013/article/details/6586456)中提到应用程序的管理模型。但是,并未作具体的解释,所以本文先把这一块内容稍许解释下,这对跟踪Android的Framework代码会有帮助。主线程消息循环概述 Android 2.3.5的实现中:同一个进程中,只有一个JVM
2011-07-13 19:48:36
2815
原创 浅析调用android的content provider(一)
在Android下,查询联系人、通话记录等,需要用到content provider。但是,调用content provider时,Android框架内部是如何做的呢?这一系列文章就是解决这个问题的,所采用的开发环境及源码都是基于Android 1.6版本。
2011-07-05 20:08:45
8053
2
原创 Windows下,dbus的hello world
dbus的是一个低延迟,低开销,高可用性的IPC机制。通过dbus的daemon,可以实现进程间通信和函数调用。Windows下,dbus的开发库可以去这里(http://code.google.com/p/dbus-windows-installer/downloads/list)下载,在VS设置头文件和lib库的路径即可。若是要编写其Hello World,自然包含客户端和服务端两
2011-06-28 19:23:00
10101
原创 浅析Lua调试器的实现
摘要 本文简单介绍了如何实现一个Lua调试器,实现Lua调试器的目的仅仅是寄希望借此熟悉Lua源代码。所编写的Lua调试器功能越强,表明你对Lua源码越了解。 正文 先前用lua写过一些应用,感觉Lua是一个很小巧的语言,Lua源代码无疑是研究语言相关的首选。“Lua虽小,五脏俱全”!为了研究Lua源代码,就打算着手写一个简单的Lua调试器,发现其中还是有些收获的,特记录如下。 作为一个调试器,应该支持一些最简单而又常用的功能,比如:单步跟踪、输出调试信息、设置断点等。要探索如何实现Lua调试器,还
2011-04-25 20:47:00
11067
4
原创 编译android源码的make命令解析
摘要: 本文描述了编译android源码时,make命令后面隐藏的玄机,通过一步步的分析,你会发现,实际上不是想象的那么复杂(肯定比编hello world复杂,哈)。 正文: 最近编译了一下android 1.6,同时也分析了一下android的build system。build system对我来说实在太大,要想了解这个系统的细节不是一两天可以完成的,于是我就退而求其次,去了解编译android源码的命令make。还是那句话,一切都是从编译开始的。 1. make命令执行后,编译的入口在哪里?
2011-03-04 18:47:00
6482
1
原创 android 1.6 中读写sim卡
android 1.6 的文档中未提到怎么样操作SIM卡,经过google和自己的一些尝试,已经可以成功操作SIM卡了,记录下来,以便翻阅。 android 1.6中,SIM的provider是IccProvider。既然是provider,就和操作Contact的provider类似的,只是有一些微小差别。 IccProvider的Uri是content://icc/and,可以通过这个Uri来操作SIM卡。当然,使用时需要转换为android的Uri对象。android中对SIM卡操作的支持很简单,
2011-02-23 19:17:00
5130
2
原创 判断指针是否为空
这两天一直迷惑一个问题,就是如何判断指针是否为空,通常有如下两种方式(假设p为指针): if (NULL == p) { // ... } if (!p) { } 到底哪种方式好呢?这个问题应该从两个方面去考虑,本文就是围绕这两个问题展开的,仅限于C语言。 它们在语义、编译等环节上是否等价? 它们在可读性、可维护性等上面是否等价?一、是否存在隐式类型转换?《C 程序设计语言
2011-02-18 14:24:00
52743
3
原创 windows下编译Cairo图形库1.10.2
上周写一个游戏(http://blog.youkuaiyun.com/chenyufei1013/archive/2011/01/26/6165650.aspx)要用到Cairo图形库,于是就去下了个最新版本1.10.2(http://cairographics.org/releases/,文件名:cairo-1.10.2.tar.gz)。由于原先编过1.8.10版本(http://blog.youkuaiyun.com/chenyufei1013/archive/2010/08/07/5794910.aspx),所以
2011-01-27 19:41:00
8933
Microsoft SQL Server 2008 T-SQL Fundamentals
2017-11-12
SourceInsight跳转到文件夹插件1.2.1版
2013-04-15
SourceInsight 跳转到文件夹 插件 1.2版
2011-10-20
SourceInsight 跳转到文件夹 插件 1.1版
2011-01-21
source insight的“跳转到文件夹”插件
2010-11-22
A Practical Guide to Linux
2009-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人