自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈俞飞的专栏

思路决定出路(新浪微博:http://weibo.com/fredyu1979)

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

原创 博客搬家

最近转做后端了,搭了个私服。具体参见这里: [陈俞飞的博客]。

2016-08-02 11:07:11 1192

原创 SouceInsight跳转到文件夹插件更新到1.2.1版

1.1版      SouceInsight跳转到文件夹插件更新到1.1版,修复了有时不能正常跳转的错误,同时在脚本端添加了错误提示。具体介绍参见:http://blog.csdn.net/chenyufei1013/archive/2010/11/22/6028016.aspxhttp://blog.csdn.net/chenyufei1013/archive/2010/12/0

2011-01-22 10:56:00 2227 4

原创 关于spring的IoC本质

关于spring的IoC本质我最早接触IoC(Inversion of Control)是在Android刚出来的时候,那个时候的Android版本是1.5,大概是09年,市面上有基本关于Android的书讲到了这个概念。碰巧,当时正好做和操作系统相关的事情,对这个概念深有体会。感觉“控制反转”这个概念很有意思,有意思的地方在于,既然是“反”,那么它的“正”是什么呢?控制(Control)程序里面,

2017-06-14 00:45:04 1631

原创 C语言知识结构之二

C语言的知识结构整理成思维导图,如下图所示:这张图的整体思路是:用C写程序,该学会什么?要用C写的更好,改学会什么?其实,只要是分层的知识结构,大致的思路是:首先,研究本层的知识;其次,研究上面第一层、下面第一层的知识;(若存在的话)第三,研究上面、下面加一层的知识;重复步骤3。目标只有一个:把本层的工作做好(牢记目标,别发散了,研究其它层过于深入)。举两个例子:用C写出来的代码,

2015-08-23 00:44:14 2601

原创 C语言知识结构

很长时间以来,都是在用C语言写东西。也一直在思考,如何能很好的掌握C,查过很多资料,也作过一些尝试,于是整理成此文。在大部分情况下,我们会写或者使用一个C库,然后被应用程序使用,运行在Linux的系统上。于是,就有了基于C语言的知识结构: App------------------- C API C, libc------------------- Posix AP

2015-05-31 22:48:15 2780

原创 CXF Web Service的Hello World之一 搭建环境

本文介绍如何配置 Eclipse + Java EE + Apache CXF + Tomcat + JDK 的开发环境,用于开发CXF Web Service。

2015-01-06 11:47:16 9254 2

原创 samba配置之最简单步骤

安装samba:sudo apt-get install samba

2014-06-23 10:27:29 8392 2

原创 SSDP协议的Python示例

本文展示了一个基于Python的SSDP协议的例子

2014-05-05 20:56:15 7965 8

原创 CherryPy wsgiserver模块的分析

概述本文分析了CherryPy wsgiserver的模块,分析它如何

2014-04-30 23:42:22 5781 2

原创 Python的字符串编码规则

本文简单分析了Python的字符串编码规则。主要涉及的内容有:文件的编码格式、系统缺省的编码格式、字符串的编码转换。

2013-12-18 11:38:21 4711 2

原创 Lamobo M1

Lamobo M1是一个类似于树莓派(Raspberry Pi)的开发板,官方说明参见这里。下面是一些资源(持续更新中……):Lamobo M1官网Lamobo M1论坛为Lamobo M1编译Android环境为Lamobo M1编译Linaro环境

2013-12-12 11:44:11 3714

原创 Android系统升级那些事儿

本文描述了Android系统更新要用到的一些概念,用到的硬件、用于烧写的系统和用于系统更新的文件。

2013-10-17 11:34:09 9784 1

原创 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 3473

原创 关于文件夹同步的那点事

本文分析了文件夹之间进行一对一同步所涉及的概念,并根据这一概念,分析出实现文件夹之间的同步背后的模型,以及遇到的问题。本文最后还对文件夹之间一对多的特殊情况进行分析。

2013-08-20 21:11:14 3147

原创 MFC客户端开发记录

最近在写一个MFC程序,感觉MFC发展了很多年,应该是趋于完善的;具体表现在:相关的文档比较全,相关功能的Demo可以很方便的google到。因此,在MFC上做一些基本功能应该是没问题的。MFC文档        MSDN上的文档也比较全,相关的文档参考:MFC Reference,Controls (MFC)。本文中,提到的一些功能,并不只和MFC相关。既然用到了,就记在一起,方便查

2013-04-15 15:15:28 2716

原创 Android SurfaceView Double Buffer

摘要        本文主要介绍Android SurfaceView的双缓冲机制,并给出一个测试用例来展示SurfaceView用到了两块绘图缓冲。概述        SurfaceView的机制可以简单的用下图来表示:        首先,SurfaceView内部会有两块Buffer。调用lockCanvas之后,便可以在第一块Buffer上绘

2013-01-06 18:58:05 5748

原创 关于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 47479 2

原创 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 4255

原创 关于cherrypy和wsgidav的一些问题

摘要        主要是介绍协议HTTP、ISAPI、WSGI,以及Web Application Server(集成了Web Server和Application Server,比如:CherryPy库)。最后,介绍了基于WebDav库的应用在CherryPy和IIS环境下的运行示例。本文可以看作是一个CherryPy的背景知识,方便大家理解一些概念。HTTP

2012-12-06 17:59:26 5187 1

原创 libjingle源码分析之四:Session和Transport

摘要        本文介绍了Session和Transport模块。概述        Session、SessionClient、Transport和TransportChannel的关系如下图所示:模块解析SessionClientSessionManager中,按content_type来区分不同的SessionClien

2012-11-07 09:37:18 5631

原创 libjingle源码分析之三:P2P

摘要        本文主要介绍了libjingle库中的P2P模块。概述        在libjingle中,P2P模块并非一个完全独立的模块,它的实现依赖于Jingle协议,需要通过libjingle中的其它模块获取必要的信息和支持。P2P模块的内部结构及与其它模块的关系如下图所示。        如前文所示,SocketServer模块是用来

2012-11-06 10:36:24 12605 1

原创 libjingle源码分析之二:Thread和SocketServer

摘要      本文主要分析了libjingle源码中的Thread和SocketServer模块,以及它们是如何协同工作的。首先,介绍了Thread和SocketServer的模型,给出了如何使用Thread的示例。然后,分析了Thread中的默认消息循环的处理流程和如何自己处理消息。概述      libjingle源码中,Thread和SocketServer

2012-10-25 20:10:52 7528

原创 libjingle源码分析之一:Signal机制

摘要        本文主要分析了libjingle中的Signal(信号)机制,它实际上是基于sigslot开源库。本文开始描述了Signal机制是什么;然后,给出一个libjingle文档中的例子,来描述它是如何使用的。最后,介绍了Signal机制的具体实现。概述        按照libjingle文档关于Signal(https://developers.g

2012-10-18 17:18:00 7631 3

原创 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 3933 11

原创 android init中的service

android的init进程初始化的时候,除了对系统作一些必要的初始化外,就是启动service了。而service是定义在init脚本中的,故很有必要了解一下,init中对service的处理。struct service        该数据结构保存了和service相关的信息。service下可以定义option,这些option被保存在这个结构体中;除此之外还保存了se

2012-08-31 11:11:32 9525

原创 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 1184

转载 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 4670

原创 skia之双向队列SkDeque

skia中的SkDeque代表的是双向队列。本文简单说一下它的算法,由于算法并不复杂,就不分析它的源码了。初始化        下图表示的是SkDeque,初始化时候的状态,整个队列数据部分实际上就是一块白色区域所显示的内存,该区域又它的头部来描述,头部对应的类型为SkDeque::Head。我们可以通过函数push_front()往队列头部添加数据节点,也可以通过push_b

2012-01-17 20:52:32 1318 1

原创 重读C++之一:封装、继承和多态

导读        前段时间重新看了一下C++,一是感觉清晰了许多,二是觉得若是换个角度看的话,会有不一样的体会,并且也容易记住C++中的一些特性。本文就试图将集合论中的相关知识引入到C++的封装、继承、多态上,让我们对它有个重新的认识。        从代码的角度而言,我认为计算机语言都不可不免的解决以下两个问题:        1.为了构建大型的程序,需要将代码模块化。C+

2011-12-01 20:31:05 9145 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 2314 3

原创 Linux semaphore POSIX信号灯的Hello World

信号灯(semaphore)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语(引自Unix网络编程第2卷进程间通信第二版)。闲话少说,直接上Hello World代码。其中用到的信号灯函数的用法参见进程间通信一书第10章。本人的测试环境cygwin。服务端

2011-09-21 20:20:16 1213 1

原创 浅析Android的RILD服务进程的消息循环

Android中,RILD是RIL(Radio Interface Layer) Deamon的简称。简单的说它下面承接GSM/GPRS Modem(电话通信模块),上面接电话应用相关的Java库(telephony internal)。telephony internal通过s

2011-07-14 23:22:11 2295 1

原创 浅析调用android的content provider(二)

上一篇文章(http://blog.csdn.net/chenyufei1013/article/details/6586456)中提到应用程序的管理模型。但是,并未作具体的解释,所以本文先把这一块内容稍许解释下,这对跟踪Android的Framework代码会有帮助。主线程消息循环概述        Android 2.3.5的实现中:同一个进程中,只有一个JVM

2011-07-13 19:48:36 2769

原创 浅析调用android的content provider(一)

在Android下,查询联系人、通话记录等,需要用到content provider。但是,调用content provider时,Android框架内部是如何做的呢?这一系列文章就是解决这个问题的,所采用的开发环境及源码都是基于Android 1.6版本。

2011-07-05 20:08:45 7974 5

原创 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 9837 2

原创 浅析Lua调试器的实现

摘要 本文简单介绍了如何实现一个Lua调试器,实现Lua调试器的目的仅仅是寄希望借此熟悉Lua源代码。所编写的Lua调试器功能越强,表明你对Lua源码越了解。 正文 先前用lua写过一些应用,感觉Lua是一个很小巧的语言,Lua源代码无疑是研究语言相关的首选。“Lua虽小,五脏俱全”!为了研究Lua源代码,就打算着手写一个简单的Lua调试器,发现其中还是有些收获的,特记录如下。 作为一个调试器,应该支持一些最简单而又常用的功能,比如:单步跟踪、输出调试信息、设置断点等。要探索如何实现Lua调试器,还

2011-04-25 20:47:00 10838 5

原创 编译android源码的make命令解析

摘要: 本文描述了编译android源码时,make命令后面隐藏的玄机,通过一步步的分析,你会发现,实际上不是想象的那么复杂(肯定比编hello world复杂,哈)。 正文: 最近编译了一下android 1.6,同时也分析了一下android的build system。build system对我来说实在太大,要想了解这个系统的细节不是一两天可以完成的,于是我就退而求其次,去了解编译android源码的命令make。还是那句话,一切都是从编译开始的。 1. make命令执行后,编译的入口在哪里?

2011-03-04 18:47:00 6408 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 5080 3

原创 判断指针是否为空

这两天一直迷惑一个问题,就是如何判断指针是否为空,通常有如下两种方式(假设p为指针): if (NULL == p) { // ... } if (!p) { } 到底哪种方式好呢?这个问题应该从两个方面去考虑,本文就是围绕这两个问题展开的,仅限于C语言。 它们在语义、编译等环节上是否等价? 它们在可读性、可维护性等上面是否等价?一、是否存在隐式类型转换?《C 程序设计语言

2011-02-18 14:24:00 52149 5

原创 windows下编译Cairo图形库1.10.2

      上周写一个游戏(http://blog.csdn.net/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.csdn.net/chenyufei1013/archive/2010/08/07/5794910.aspx),所以

2011-01-27 19:41:00 8770 2

Master_SwiftUI.pdf.zip

5.3

2021-10-05

Microsoft SQL Server 2008 T-SQL Fundamentals

Microsoft SQL Server 2008 T-SQL Fundamentals(T-SQL语言基础)英文chm版图书,加书配套源代码,方便学习。

2017-11-12

SourceInsight跳转到文件夹插件1.2.1版

[source insight的“跳转到文件夹”插件1.2.1版] 简介: 在source insight中,使用插件中的两个宏(macro),可以: 1.ToProjectFileBrowserFolder:在si的项目文件浏览器(Project File Browser)中,跳转到当前打开文件所在的目录。 2.ToExplorerFolder:在资源管理器中,跳转到当前打开文件所在的目录。 安装: 首先,打开source insight的Base工程,选择菜单Project->Add and Remove Project Files…,将插件包中的SIToFolder.em添加到Base工程。 其次,将文件SIToFolder.exe拷贝到D盘下。 第三,选择菜单Options->Key Assignments…,将命令(command)Macro: ToProjectFileBrowserFolder的快捷键设置为Ctrl+T。 你也可以将Macro: ToProjectFileBrowserFolder命令添加到菜单中,然后通过菜单来使用该命令。 第四,点击你打开的文件,按下Ctrl+T,你会发现自动显示了项目文件浏览器(Project File Browser)窗口,并跳转到当前文件所在的目录。 第五,你可以使用同样的方式调用宏Macro: ToExplorerFolder,它的作用是在资源管理器中打开当前文件所在的目录。 其它: 1.关于该插件的其它说明参见以下地址: http://blog.csdn.net/chenyufei1013/article/details/6158145 2.若想修改SIToFolder.exe的位置,只需修改文件SIToFolder.em的第93行。 3.有问题,直接在上面的地址留言吧。 4.直接执行SIToFolder.exe,可以查看其使用说明。 5.测试环境:Win7 32bit, Source Insight 3.50.0070英文版。 6.使用快捷方式时,有时会出现不跳转的情况,这是由于按住Ctrl键所致。此时,快速按下快捷键,并抬起,可解决。 [1.2.1版的更新] 1.将调试信息的目录改为sitofolder.exe所在的目录,文件名为log.txt. 2.修复了项目名称或者路径中包含空格或中文时,无法跳转的问题。 [1.2版的更新] 1.修正了有时无法找到SourceInsight主窗口的错误。 [1.1版的更新] 1.修复了无法更新的错误

2013-04-15

SourceInsight 跳转到文件夹 插件 1.2版

source insight的“跳转到文件夹”插件1.2版 简介: 在source insight中,使用插件中的两个宏(macro),可以: 1.ToProjectFileBrowserFolder:在si的项目文件浏览器(Project File Browser)中,跳转到当前打开文件所在的目录。 2.ToExplorerFolder:在资源管理器中,跳转到当前打开文件所在的目录。 安装: 首先,打开source insight的Base工程,选择菜单Project->Add and Remove Project Files…,将插件包中的SIToFolder.em添加到Base工程。 其次,将文件SIToFolder.exe拷贝到D盘下。 第三,选择菜单Options->Key Assignments…,将命令(command)Macro: ToProjectFileBrowserFolder的快捷键设置为Ctrl+T。 你也可以将Macro: ToProjectFileBrowserFolder命令添加到菜单中,然后通过菜单来使用该命令。 第四,点击你打开的文件,按下Ctrl+T,你会发现自动显示了项目文件浏览器(Project File Browser)窗口,并跳转到当前文件所在的目录。 第五,你可以使用同样的方式调用宏Macro: ToExplorerFolder,它的作用是在资源管理器中打开当前文件所在的目录。 其它: 1.关于该插件的其它说明参见以下地址: http://blog.csdn.net/chenyufei1013/archive/2010/11/22/6028016.aspx 2.若想修改SIToFolder.exe的位置,只需修改文件SIToFolder.em的第93行。 3.有问题,直接在上面的地址留言吧。 [1.2版的更新] 1.修正了有时无法找到SourceInsight主窗口的错误。 [1.1版的更新] 1.修复了无法更新的错误

2011-10-20

SourceInsight 跳转到文件夹 插件 1.1版

source insight的“跳转到文件夹”插件 简介:在source insight中,使用插件中的两个宏(macro),可以: 1.在si的项目文件浏览器(Project File Browser)中,跳转到当前打开文件所在的目录。 2.在资源管理器中,跳转到当前打开文件所在的目录。 安装: 首先,打开source insight的Base工程,选择菜单Project->Add and Remove Project Files…,将插件包中的SIToFolder.em添加到Base工程。 其次,将文件SIToFolder.exe拷贝到D盘下。 第三,选择菜单Options->Key Assignments…,将命令(command)Macro: ToProjectFileBrowserFolder的快捷键设置为Ctrl+T。 你也可以将Macro: ToProjectFileBrowserFolder命令添加到菜单中,然后通过菜单来使用该命令。 第四,点击你打开的文件,按下Ctrl+T,你会发现自动显示了项目文件浏览器(Project File Browser)窗口,并跳转到当前文件所在的目录。 第五,你可以使用同样的方式调用宏Macro: ToExplorerFolder,它的作用是在资源管理器中打开当前文件所在的目录。 其它: 关于该插件的其它说明参见以下地址: http://blog.csdn.net/chenyufei1013/archive/2010/11/22/6028016.aspx [1.1版的更新] 1.修复了无法更新的错误

2011-01-21

source insight的“跳转到文件夹”插件

简介:在source insight中,使用插件中的两个宏(macro),可以: 1.在si的项目文件浏览器(Project File Browser)中,跳转到当前打开文件所在的目录。 2.在资源管理器中,跳转到当前打开文件所在的目录。 安装: 首先,打开source insight的Base工程,选择菜单Project->Add and Remove Project Files…,将插件包中的SIToFolder.em添加到Base工程。 其次,将文件SIToFolder.exe拷贝到D盘下。 第三,选择菜单Options->Key Assignments…,将命令(command)Macro: ToProjectFileBrowserFolder的快捷键设置为Ctrl+T。 你也可以将Macro: ToProjectFileBrowserFolder命令添加到菜单中,然后通过菜单来使用该命令。 第四,点击你打开的文件,按下Ctrl+T,你会发现自动显示了项目文件浏览器(Project File Browser)窗口,并跳转到当前文件所在的目录。 第五,你可以使用同样的方式调用宏Macro: ToExplorerFolder,它的作用是在资源管理器中打开当前文件所在的目录。 其它: 关于该插件的其它说明参见以下地址: http://blog.csdn.net/chenyufei1013/archive/2010/11/22/6028016.aspx

2010-11-22

A Practical Guide to Linux

<A Practical Guide to Linux® Commands, Editors, and Shell Programming> 学习Linux操作的一本好书,英文版,比较全面

2009-08-05

Lua 5.1.4 reference manual(参考文档)

Lua 5.1.4 reference manual,英文原版参考资料的chm版本,和官方网上的一致,欢迎享用

2009-03-08

空空如也

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

TA关注的人

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