- 博客(39)
- 资源 (20)
- 收藏
- 关注
转载 设计模式目录
此目录包含23个设计模式,在这里仅列出其命名(Name)和意图(Intent)。Abstract Factory抽象工厂提供一个接口,在不说明具体类的情况下建立具有相关性或依赖关系的对象族。Adapter适配器将某个类的接口转换成客户所期望的另一个接口。适配器可使得接口本来不匹配的类在一起工作。Bridge桥接 Builder建造器将一个复杂类的表示
2012-02-28 23:11:55 636
转载 Linux上的C++ STL,标准模板库简介
STL 简介,标准模板库 作者:Scott Field这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我重新考虑了一下我原来的想法。我为什么要写这篇文章,又为什么要
2012-02-28 21:05:03 2553
转载 QT进程间通信 详细介绍
1、QT通信机制为了更好的实现QT的信息交互,在QT系统中创建了较为完善的通信机制。QT的通信可分为QT内部通信和外部通信两大类。对于这两类通信机制及应用场合做如以下分析:(1)QT内部对象间通信在图形用户界面编程中,经常需要将一个窗口部件的变化通知给窗口的其它部件使其产生相应的变化。对于这种内部对象间的通信,QT主要采用了信号和槽的机制。这种机制是QT区别于其他GUI工具的核心机制。
2012-02-28 14:29:05 1830
转载 Qt 双缓冲绘图
双缓冲技术是GUI 编程中常用的技术。所谓的双缓冲就是把需要绘制的控件保存到一个图像中,然后在把图像拷贝到需要绘制的控件上。在Qt 的早期版本中,为了用户界面更加清爽,经常用这个技术来消除闪烁。在Qt4 中,QWidget 能够自动处理闪烁,因此我们不用再担心这个问题。尽管如此,如果控件绘制复杂且需要经常刷新,双缓冲技术还是很有用的。我们可以把控件永久保存在一个图像中,随时准备下一次绘制事件的
2012-02-28 14:28:08 3470
转载 Linux framebuffer ---double buffer
【什么是FrameBuffer】FrameBuffer直译就是,帧缓冲。Frame帧:你所看到的屏幕的图像,或者在一个窗口中的图像,就叫一帧。Buffer缓冲:一段RAM,用来暂存图像数据,这些数据会被直接写入到显示设备。帧缓冲就相当于介于 图形操作 和 图像输出中间的一个中间人。将程序对图形数据的处理操作,反馈到显示输出上。显卡(显存中的数据) 帧缓冲(程序对其中的数据进行
2012-02-28 14:18:26 1274
转载 linux下编程学习----- 远程过程调用(rpc)
一、概述 在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,也即其主程序和过程之间的运行关系是本地调用关系。因此这种结构在网络日益发展的今天已无法适应实际需求。总而言之,传统过程调用模式无法充分利用网络上其他主机的资源(如CPU、 Memory等),也无法提高代码在实体间的共享程度,使得主机资源大量浪费。而本文要介绍的RP
2012-02-28 09:05:22 872
转载 使用rpcgen的RPC编程(Linux + C语言)
C语言进行rpc编程时可以使用rpcgen自动生成分布式的程序代码文件,自己之需要编写***.x,客户端、服务器端程序以及相应的接口就可以了。下面根据一个实现远程文件传输的rpc调用程序(客户端根据文件名请求文件,服务器端传回相应的文件),具体介绍使用rpcgen编写rpc调用的过程,最后保证调用成功必须有8个源文件,rpcgen能自动生成3个,过程比较复杂,共分为7步: 1.
2012-02-28 08:52:46 3121
转载 从一道面试题谈linux下fork的运行机制
摘要:由于fork函数运行机制的复杂性,造就了当两个fork并排时,问题就变得很复杂。解这个题的关键,一是要对linux下进程的机制有一定认识,二是抓住上文提到的几个关于fork的关键点。 今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #include "stdio
2012-02-25 19:52:33 549
转载 Linux进程间通信
一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、资源共享:多个进程之间共享同样的资源。为了作
2012-02-25 19:34:39 493
转载 软件架构师必读书籍--------软件架构师推荐书籍系列
一、架构篇 1. 《Software Architecture in Practice,2nd Edition--软件构架实践(第2版)》 2. 《Documenting Software Architectures --软件构架编档》 第13届JOLT大奖作品,捕获架构的过程,徐昊推荐。 3. 《Applied Software Architecture --实用软件
2012-02-25 15:59:43 2720
转载 Linux 进程间通信(IPC)简介Linux 进程间通信(IPC)简介
在Linux系统中,以进程为单位分配和管理资源。由于保护的缘故,一个进程不能直接访问另一个进程的资源,也就是说,进程之间互相封闭。但在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项任务,因此要求进程之间必须能够互相通信,从而来共享资源和信息。所以,一个操作系统内核必须提供进程间的通信机制(IPC)。进程间通信(IPC: Inter-process communication)有如
2012-02-25 15:36:18 652
转载 socket编程原理
1 问题的引入 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成
2012-02-25 09:44:25 619
转载 IPv4组播通信原理
摘自网络,感谢原作者摘要:本文试图成为学习TCP/IP网络组播技术的入门材料。文中介绍了组播通信的概念及原理,以及用于组播应用编程的Linux API的详细资料。为了使读者更加完整的了解Linux 组播的整体概念,文中对实现该技术的核心函数也做了介绍。在文章的最后给出了一个简单的C语言套接字编程例子,说明如何创建组播应用程序。一、导言在网络中,主机间可以用三种不同的地址进行通信:
2012-02-25 09:42:32 3660
转载 软件架构视频推荐
时刻关注软件架构发展的最新信息,说得容易做到难。因为这些信息可能会隐藏在厚厚的书中或者互联网的某个不起眼的角落。不过这里有另外一个更加轻松的方法,那就是在YouTube或者Vimeo这样的视频网站上观看视频。YouTube和Vimeo上存储了海量的视频,这也让用户很难找到高质量的内容。而且,并不是所有的视频都是由专业人士制作,这也增加了视频挑选的难度。尽管如此,InfoQ.com还是找到了
2012-02-23 17:01:43 835
转载 软件架构师应该具备的素质
软件/企业架构师是一项很重要的工作。架构师的职责很多,要胜任的话,需要具备特定的领导、沟通、技术技能。Gabriel Morgan在最近的一篇帖子里从Daniel Goleman的情感智能(EI)——自我意识、自我管理、社会意识和关系管理——切入,谈论了企业软件架构师应该具备的素质。自我意识情绪自我觉察准确的自我评估自我管理自控透明度适应性成就主动乐观社会意识
2012-02-22 07:24:37 573
转载 Ubuntu下安装及配置单点hadoop
环境:Ubuntu10.10,Hadoop 0.21.0首先准备工作:1,我是在deskTop版本的Ubuntu下安装的所以,需要先安装ssh server。这个很好找,直接到到新立得里搜索ssh,第一个就是。2,安装sun jdk6,切忌一定要是java6及其以上版本。先到更新管理器里把canonical的源加进去。 之后sudo apt-get update.3, sud
2012-02-21 14:49:48 1026
转载 利用Cloudera实现Hadoop
目录[隐藏]1利用 Cloudera 部署 Hadoop1.1前言1.2规划1.2.1运行模式1.2.2主机规划1.2.3Hadoop环境规划1.3安装1.3.1设置Cloudera的源1.3.2安装Hadoop1.4部署1.4.1主机互联1.4.1.1主机互联的可选方法(配置复杂并不推荐)
2012-02-21 14:47:01 1104
转载 Socket编程中的select多路复用
Socket编程中的select多路复用阻塞方式(block),顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,假如事件没有发生,进程或线程就被阻塞,函数不能立即返回。非阻塞方式(non-block),就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,假如事件发生则和阻塞方式相同,若事件没有发生则返回一个代码来告知事件
2012-02-20 15:08:04 1071 1
转载 Linux下基于socket多线程并发通信的实现
/**************************************************** 文件名:pthread_server.c* 文件描述:创建子线程来接收客户端的数据***************************************************/#include #include #include #include
2012-02-20 15:05:41 911
转载 安装、编译boost
CentOS 5.5的内核版本是2.6.18-194.e15 GCC版本是4.1.2 (20080704)CentOS 5.5自带的boost 1.33,这个版本比较老了,几年前的版本。主要是,这个版本没有ASIO。所以决定重新编译一个boost。首先去http://www.boost.org/下载一个最新的boost 1.45.下载http://sourceforge.net/pro
2012-02-17 17:10:07 803
转载 Boost学习系列
在做长字符串匹配、搜索的问题时,我想大家最先想到的应该就是使用正则表达式,简单、高效。而Boost的Regex库则是不得不提的,很早之前我就接触过了Boost的这个模块,也对Boost了解了一点点,只是觉得它很NB,没做深究。昨天在网上无意中看到了Highscore的Boost C++库系列教程,很是感兴趣,如此现代又有前途的库,是程序员提升自身技巧和竞争力的有力武器,值得一学。因此我打算和他一样
2012-02-17 17:04:09 657
转载 Linux下的signal信号机制
在Linux中,要发送一个信号相当容易。程序员需要知道两个信息:要发送哪个信号,将这个信号发送给哪个进程。可以用 man 7 signal 找到一个可以利用的信号的列表。用户可以只将信号发送给用户自己的进程,也可以以root身份运行从而将信号发送给任意一进程。 Source:[cpp] view plaincopyprint?#include #include
2012-02-17 15:57:42 545
转载 架构师书单 2nd Edition
作者:江南白衣,原文出处: http://blog.csdn.net/calvinxiu/archive/2007/03/06/1522032.aspx,转载请保留。 为了2007年的目标,列了下面待读或重读的书单。 "其实中国程序员,现在最需要的是一张安静的书桌。",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬"读书无用,重在实践变通,修身立命哲学书更重要",
2012-02-16 23:32:48 709
转载 用户空间访问I2C设备驱动
关于Linux下如何编写芯片的I2C驱动,本系列第一篇文章《手把手教你写Linux I2C设备驱动》(见 http://www.linuxidc.com/Linux/2012-01/51289.htm )对编写I2C Client 设备驱动的关键代码给出了初步的讲述和示例,第二篇文章《Linux下读写芯片的I2C寄存器》(见http://www.linuxidc.com/Linux/2012-
2012-02-16 20:06:03 1316
转载 Linux下读写芯片的I2C寄存器
要想在Linux下读写芯片的I2C寄存器,一般需要在Linux编写一份该芯片的I2C驱动,关于Linux下如何编写I2C驱动,前一篇文章《手把手教你写Linux I2C设备驱动》(见http://www.linuxidc.com/Linux/2012-01/51289.htm )已经做了初步的介绍,并且留下了两个疑问尚未解决,第一个是如何对Linux提供的I2C操作函数进行进一步封装,实现对芯片寄
2012-02-16 20:05:02 2059 1
转载 手把手教你写Linux I2C设备驱动
Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,因为凡是系统中使用到的I2C设备,几乎都需要编写相应的I2C驱动去配置和控制它,例如 RTC实时时钟芯片、音视频采集芯片、音视频输出芯片、EEROM芯片、AD/DA转换芯片等等。 Linux I2C驱动涉及的知识点还是挺多的,主要分为Linux I2C的总线驱动(I2C BUS Driver)和设备驱动(I2C
2012-02-16 18:21:55 2181 5
转载 软件架构模式的种类
在做软件架构设计时,根据不同的抽象层次可分为三种不同层次的模式:架构模式(Architectural Pattern)、设计模式(Design Pattern)、代码模式(Coding Pattern)。 架构模式是一个系统的高层次策略,涉及到大尺度的组件以及整体性质和力学。架构模式的好坏可以影响到总体布局和框架性结构。 设计模式是中等尺度的结构策略。这
2012-02-16 08:38:04 731
转载 软件架构模式
浅谈架构模式[此文于2010年7月29日被重新编辑] 软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度的视点也会造成软件体系结构的不同理解,以下是一些主流的标准观点。组成派 Mary Shaw在《软件体系结构:一门初露端倪学科的展望》中为“软件架构”给出了非常简明的定
2012-02-16 08:36:32 850
转载 GRASP(通用职责分配软件模式)介绍及一些小经验
通用职责分配软件模式(GRASP)侧重于基本的通用设计过程,是针对FURPS+需求模型中的Functional(功能性)的重要的设计原则。 GoF设计模式更注重FURPS+需求模型中的质量需求的设计。 可以在GoF设计模式中找到GRASP的影子。个人的一点小经验:1、解决接口变化的外部服务问题时使用“适配器模式2、解决变化的算法及策略问题时(客户定制业务规则)使用“策略模式(将
2012-02-15 23:38:13 1048
转载 Linux Shell 通配符、元字符、转义符使用实例介绍
说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例:?1 ?1234[chengmo@localhost ~/shell]$lsa.txt b.txt c.old #2
2012-02-15 08:46:29 518
转载 Linux Framebuffer适配层释疑
Linux Framebuffer对应的源文件在linux/drivers/video/目录下。在这个目录下还有与各种显卡驱动相关的源文件。Linux FrameBuffer适配层有以下两个文件非常重要的文件。1. linux/include/linux/fb.h ,包含了几个非常重要的数据结构fb_var_screeninfo描述了对应的framebuffer当前的配置状况,
2012-02-14 18:32:58 1162
转载 linux 下fork函数和exec 函数的区别
2.2 Linux下的进程控制在传统的Unix环境下,有两个基本的操作用于创建和修改进程:函数fork( )用来创建一个新的进程,该进程几乎是当前进程的一个完全拷贝;函数族exec( )用来启动另外的进程以取代当前运行的进程。Linux的进程控制和传统的Unix进程控制基本一致,只在一些细节的地方有些区别,例如在Linux系统中调用vfork和fork完全相同,而在有些版本的Unix系统中,v
2012-02-14 13:56:55 1801
转载 Ubuntu 10.04后的设置代理
Ubuntu 10.04后原来的设置代理的方式不起作用了。下面是我验证通过的设置代理的方法。 打开终端输入下面这条语句可以正常执行sudo apt-get Acquire::http::proxy="http://用户名:密码@代理服务地址:端口" install 安装包的包名 当然也可以全局设置,具体步骤是system-->preferences-->network p
2012-02-14 13:42:20 784
转载 socket 编程入门教程(三)TCP原理:7、TCP连接的关闭
TCP连接一旦建立,服务器端和客户端就成为了对等关系,任何一方都可以发出关闭握手请求,甚至可以同时发出关闭握手请求。TCP的连接建立需要3次握手,而正常关闭则需要4次握手。1、主动关闭的一方A调用close(),SendQ不再接收send()写入信息,在SendQ队列的最后,向被动关闭的一方发送TCP的IP数据报作为关闭握手的请求。这个数据报中包含着标志FIN,也包含着此刻的字节序号m。2
2012-02-13 10:52:00 698
转载 SDL入门教程(七):SDL抠色(Color Keying)
1:什么是抠色(Color Keying) 我们总是blit矩形区域的图片,但是很显然,几乎没有一个游戏的角色图片是矩形的。美工把图片画到一个矩形范围内,如果设定了特定的背景颜色,我们就可以把矩形图片上的角色“抠”下来,相对于背景来说,我们就是把不属于角色的背景颜色扣掉,故称抠色。 我们看看SDL抠色函数的原形:int SDL_SetColorKey
2012-02-13 10:51:03 1042
转载 拜读大牛Ulrich Drepper大作之How To Write Shared Libraries
读大牛Ulrich Drepper关于如何写动态库的大作心得。一些术语DSO, Dynamic Shared ObjectsPLT,Procedure Linkage Table关键点section 1回顾a.out的历史,阐述它的优缺点, 引入COFF, 再到ELF. 相关描述也可以参照有一定年头的Linker and Loader一书.
2012-02-09 12:30:06 1356
转载 BD FD DD
N BD FD DD C UT CT TT IT OP 今天填简历,工程一栏给出这样的选项、网上没有查到准确解释.跟朋友讨论了一下,大体上猜测出几个,也有两个不知道何意,如果有知道正解的请不吝赐教!AN-要求分析BD-基本设计 FD-结构设计DD-详细设计C -编码UT-单体测试CT-不知道TT-结合测试IT-系统测试OP-发布以上只是个人
2012-02-08 22:24:41 2045
转载 一年成为Emacs高手(像神一样使用编辑器)
很容易.一年多前我还在Vi阵营,偶尔使用Emacs还总是忘记`退出`(C-x C-c)的快捷键,但是一年后我跨入高手行列.现在网上很多中文文章都是和你强调Emacs有多牛,以激发你的兴趣.最有名的大概是王垠的Emacs是一种信仰!世界最强编辑器介绍.这些好文章让你激动,你因此定下来一个伟大崇高的目标(掌握神一样的编辑器Emacs),接下来的关键就是执行了(如何高效地学习Emacs).国
2012-02-03 08:18:04 724
转载 学习设计模式的一些常见问题
根据最近热心读者的反馈,这里列出来一些常见的设计模式的问题,进行解答。如何领悟设计模式中的面向对象思想,还是请下载《漫谈设计模式》 学习设计模式的一些常见问题 1. 模式有没有标准形式? GoF为了描述每一种设计模式,给它们定义了四个基本要素,旨在模式使模式能够得到广泛传播,这并不代表GoF给出的模式就是标准模式。事实上,他们也没有给每一种模式给出标准,而是很多地方给出了它们可能的变化
2012-02-01 08:31:49 575
Linux操作系统文件系统基础知识
2010-03-22
BIOS的使用完全手册
2010-03-22
基于Quartus_II_+_ModelSim_SE的后仿真(VHDL版)\基于Quartus II + ModelSim SE的后仿真(VHDL版
2010-03-22
modelsim的库编译
2010-03-22
驱动开发windwos入门
2009-07-20
华为面试资料(总汇)
2008-12-08
端口映射原理与linux
2008-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人