自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

把握自己。

专注linux、english

  • 博客(33)
  • 资源 (7)
  • 收藏
  • 关注

原创 软件架构师的特点

下面是电气及电子工程师协会给“构架师”做的定义:构架师是负责系统构架的人、团队或者组织。作为项目的技术主管,构架师的技术需要非常的广泛,这比技术深度更加重要(当然构架师在特定的领域需要一定的技术深度)。软件构架师是技术主管首先,软件构架师是技术主管,这意味着除了他要有技术上的技能外,还要有很好的领导才能。构架师的领导能力在团队中和项目质量控制中起着十分重要的作用。在团队中,

2012-07-15 01:22:27 10302 1

原创 Jive 源代码研究

简介: Jive 是一个开放的 Java 源代码项目。其目标是建设一个开放结构的,强壮的,易于扩展的基于 JSP 的论坛。在其设计目标的指导下,其结构设计得非常得好,融合了很多新的观念,比如 Design Pattern,可更换的 Skin,可插入 Plug 等等。详细解读其源代码对于理解这些新的设计上的概念是很有裨益的。如果你对 Design Pattern 和 Java 语言有一定的了解,

2012-07-29 19:55:30 1228

原创 多线程服务器的常用编程模型

本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与线程同步的最佳实践,以期用简单规范的方式开发多线程程序。文中的“多线程服务器”是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intel x64 系列的多核 CPU,单路或双路 SMP 服务器(每台机器一共拥有四个核或八个核,十几 GB 内存),机器之间用百兆或千兆以太网连接。

2012-07-29 19:52:28 3042

原创 POSIX 多线程程序设计

Blaise Barney, Lawrence Livermore National Laboratory  目录表 摘要  译者序Pthreads 概述  什么是线程?  什么是Pthreads?  为什么使用Pthreads?  使用线程设计程序  Pthreads API编译多线程程序  线程管理  创建和终止线程  向线程传递参数  连接(Joining)和

2012-07-27 21:10:37 1795

原创 大型网站的负载均衡器、db proxy和db

本文主要分析网站后台架构中的负载均衡器,企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。1.1 负载均衡在大型网站部署中,负载均衡至少有三层部署。第一层为web server或者缓存代理之上的负载均衡,第二层为数据库之上的负载均衡,第三层为存储设备之上的负载均衡。在第一层部署中,最常使用的是硬件负载均衡器有F5 BIG-IP、Citrix NetScale

2012-07-27 20:12:08 1722 1

原创 软件工程中的内聚与耦合

简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。   有软硬件之间的耦合,还有软件各模块之间的耦合。   耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.一般模块之间可能的连接方式有七种,耦合

2012-07-27 15:14:42 7117

原创 用C++进行函数式编程

或许本文的每位读者都听说过,当初“函数式编程”(Functional Programming)肩负着为软件开发带来福祉的期望来到这个世界,大家可能还听说过有人将它奉为软件开发的银弹。然而,上维基百科查看更多信息却让人大倒胃口,一上来就引用λ演算和形式系统。很难一眼看出这跟编写更好的软件有什么关系。我的实效性总结:软件开发中的大部分问题都缘于程序员没有完全理解程序执行中所有可能的状态。在多线程环

2012-07-27 00:23:05 2391

原创 C++类设计者的核查表

1. 类需要构造函数么? 2. 数据是否需要保持私有的? 方案一 public: int length; 方案二 public: const int& length;//在构造函数中length = true_length;这样由于是const变量,只能读,不能修改。 private: int true_length;方案三 public: int length() const;/

2012-07-25 23:34:11 1139

原创 Hello,Bada!

为什么要学bada:现在的移动市场,纷争四起,各大厂商齐发力。目前笑的最从容的当属iPhone和Android。在移动开发领域混了几年,感觉开发者是最苦的。要学的东西太多了,这么多手机系统,要全掌握并精通,那简直是不可能的。聪明些的,就会做出选择,也就是所谓的抱大腿,只要你抱对了,日子过得会有滋有味;抱错了,面临了继续重新做选择。举个现在大家都知道的例子,07年iPhone一出,好

2012-07-25 23:12:31 1353 1

原创 最轻量级的C协程库:Protothreads

协程的好处不用再多说,作为与函数调用/返回相对的概念,它使我们思考问题的方式经历一场变革。现在我们关注的是C,由于C本身的特质,将协程引入其中将会是一 个挑战。无数先驱已经为这个目标抛了头颅洒了热血,于是我们有了libtask之类。而这里提到的,是一个堪称最轻量级的协程实现:Protothreads(主页:http://www.sics.se/~adam/pt/)。所谓最轻量级,就是说,功能已经不

2012-07-23 23:52:31 6015 1

原创 协程的C实现

今天正好跟ownwaterloo聊到协程,于是查了查资料,顺便写个博客记录一下吧。我主要参考的是这篇资料http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html,是Simon Tatham提出的一个协程的C实现,非常有意思。协程的思想主要是为了解决多个任务如何分享CPU这个问题的。线程在很多协作问题上处理的不好,而且需要

2012-07-23 23:04:49 3304

原创 纤程

纤程(Fiber),是微软加入到Windows中,使得UNIX服务器应用程序更好地移植到Windows中。所以本篇真正没有多少应用价值,只是为了使得笔记更加完整。  看完本章,感觉纤程是比线程的更小的一个运行单位。可以把一个线程拆分成多个纤程,然后通过人工转换纤程,从而让各个纤程工作。  要知道的是人工的转换,不是系统自动切换。因为线程的实现通过Windows内核完成的,因此Windo

2012-07-23 22:40:30 3366 2

原创 Objective-C中的锁

锁是线程编程同步工具的基础。锁可以让你很容易保护代码中一大块区域以便你可以确保代码的正确性。1 使用POSIX互斥锁    POSIX互斥锁在很多程序里面很容易使用。为了新建一个互斥锁,你声明并初始化pthread_mutex_init一个pthread_mutex_t的结构。为了锁住和解锁一个互斥锁,你可以使用pthread_mutex_lock和pthread_mutex_unlo

2012-07-23 15:42:10 3130

原创 百万用户级游戏服务器架构设计

服务器结构探讨 -- 最简单的结构  所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。  好的结构不是一蹴而就的,而且每个设计者心中的那把尺都不相同,所以这个优秀结构的定义也就没有定论。在这里,我们不打算对现有游戏结构做评价,而是试着从头开始搭建一个我们需要

2012-07-23 11:49:53 3741 2

原创 简析主存数据库系统MMDB

什么是MMDBMS ?主存数据库系统(MMDB)在主存中管理整个数据库或者数据库的一部分,所以可以直接访问数据而不用访问磁盘,这样主存数据库就具有了高性能的事务处理能力。在英语中,主存数据库可以叫做main-memory database,memory residence database或者in-memory database等等,所有这些英文名称的主要的概念都是数据库的主体保存在内存中

2012-07-22 22:37:39 3984

原创 JDK里的设计模式

下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patternsStructural(结构模式)Adapter:把一个接口或是类变成另外一种。java.util.Arrays#asLi

2012-07-22 14:56:44 1365

原创 UIView和CALayer的区别

CALayer属于Core Animation部分的内容,比较重要而不太好理解。以下是园子中看到的一篇文章的摘录:以下摘自>:两者最大的区别是,图层不会直接渲染到屏幕上。在模型-视图-控制器(model-view-controller)概念里面NSView和UIView是典型的视图部分,但是在核心动画里面图层是模型部分。图层封装了几何、时间、可视化属性,同时它提供了

2012-07-21 23:09:05 8997 2

原创 透过项目看程序-新手成长篇

程序员的重要性,决定了我们的钱途    程序应该是美术画风和策划创意的完美实现,是游戏开发的基石。对项目的成败起至关重要的作用,尤其是在小公司。就这两三年有很多游戏死掉了,有的死于外挂;有的死于大量BUG;有的干脆就做不来东西。项目成败有很多因素,就程序而言,在游戏稳定性,流畅性,游戏感和性能等方面,起关键作用。游戏团队非常注重程序团队能力。项目中的技术搭配,决定了有我们一席之

2012-07-21 14:29:48 2946 2

原创 Android Handler Message多线程实例

什么是Handler handler通俗讲就是在各个进程之间发送数据的处理对象。在任何进程中,只要获得了另一个进程的handler则可以通过 handler.sendMessage(message)方法向那个进程发送数据。基于这个机制,我们在处理多线程的时候可以新建一个thread,这 个thread拥有UI线程中的一个handler。当thread处理完一些耗时的操作后通过传递过来的ha

2012-07-20 00:03:52 1697

原创 java创建线程的三种方式

1)继承Thread,重写其的run方法2)实现Runnable接口,重写run方法.代码如下:[java] view plaincopypackage com.study;  /**  *   * @ClassName: ThreadTest  * @Description: 创建线程的两种方式  * @auth

2012-07-19 00:12:30 3445

原创 用VC++建立Service服务应用程序

用VC++建立Service服务应用程序为什么要使用服务应该程序呢?服务程序就像系统的一些服务一样,能够自动地启动,并执行相应的操作;而且因为服务程序的在层次上和一般的应用程序不同,其能够在系统启动时就自动地运行,而不像一般的应用程序那样一定要在登陆后才能运行,这些就是服务的一些好处了,如果你也想你的程序具有这样的功能,那么你就可以建立一个服务应用程序了。下面就跟着我一步一步地教你

2012-07-18 20:40:06 1322 1

原创 关于IoC控制反转的设计原则

静态类的使用是一个有争议的话题,有人甚至提倡不要在类的名称上使用作用域限定符。关于静态特性争论的焦点在于一个被称为IoC控制反转的设计原则。IoC这个设计原则试图在面向对象编程中去掉所有相互依赖的现象。这个原则对于复杂的系统来说是很重要的。它使得对象具有更好的多态性和封装性。相互依赖的现象越少,就越容易单独测试某个组件。静态类与IoC之间的问题在于静态访问特性,这个特性从本质上来说

2012-07-18 14:52:40 1635

原创 如何使用java synchronized进行线程同步

这篇文章从网上找到的,作者是谁不详,因为到处都是转帖。看了之后,解开了我对synchronized的一些疑问,同时也验证了我之前的理解是正确的,记录下来。 在java编程思想中对synchronized的一点解释:1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问

2012-07-16 10:27:53 1190

原创 Core Foundation 框架

Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoop

2012-07-13 18:02:07 13160

原创 使用Audio Queue Services 播放和录制音频

要在iOS设备上播放和录制音频,苹果推荐我们使用AVFoundation框架中的AVAudioPlayer和AVAudioRecorder类。虽然用法比较简单,但是不支持流式;这就意味着:在播放音频前,必须等到整个音频加载完成后,才能开始播放音频;录音时,也必须等到录音结束后,才能获取到录音数据。这给应用造成了很大的局限性。为了解决这个问题,我们就需要使用Audio Queue Services来

2012-07-10 16:08:27 2131 1

原创 广播通信

广播通信代码框架:1. 协议都是:[python] view plaincopyprint?SOCKET s = ::socket(AF_INET, SOCK_DGRAM, 0);  2. 服务端设置选项[python] view plaincopyprint?

2012-07-08 19:35:15 1677

原创 iphone 界面实现下拉列表

#import @interface DropDownList : UIView{UITextField* textField;   //文本输入框NSArray* list;            //下拉列表数据BOOL showList;             //是否弹出下拉列表UITableView* listView;    //下拉列

2012-07-06 23:40:20 2608 1

原创 AudioToolbox学习笔记

之前公司做的是音乐播放器,用到了AudioToolbox这个音频接口,总结下,希望对需要的朋友有帮助。AudioToolbox这个库是C的接口,偏向于底层,用于在线流媒体音乐的播放,可以调用该库的相关接口自己封装一个在线播放器类,AudioStreamer是老外封装的一个播放器类,有兴趣的朋友可以研究下。       其实IOS库中有两个可以播放在线音乐的播放器类,AVPlayer和MPMus

2012-07-06 21:33:18 1963

原创 10个迷惑新手的Cocoa&Objective-c开发问题

language backgroundrun­timethreadrun­loopdel­e­gate, protocolevent respon­dermem­ory managementclass heritage and categorydesign patterndrawing issue首先请谅解我可能使用很多英文,毕竟英文资料将来会是你的主要

2012-07-06 18:19:17 1394

原创 Some of the Best Open Source Project's in VC++ & MFC

http://www.codeproject.com/Articles/19218/Some-of-the-Best-Open-Source-Project-s-in-VC-MFCIntroductionThis article lists of some of the best Open Source projects written in VC++/MFC.Background

2012-07-06 14:16:44 1986

原创 mac os x如何在eclipse中阅读jdk源代码

操作系统:mac os x 10.6.8 snow leopardmac中自带的jdk并不包含源代码,所以在eclipse中无法查看。需要到 http://connect.apple.com 下载Java for Mac OS X 10.6 Update 6 Developer Package, 下载完成后先安装,然后打开Terminal. 输入:sud

2012-07-05 17:14:53 3703

原创 textField被虚拟键盘挡住的3种解决方法

经常会遇到以下情况,textField被虚拟键盘挡住的情况,解决。RootViewController.h 中:#import @interface RootViewController : UIViewController {UITextField *textField1;UITextField *textField2;}@property (nonatomic,retain) UI

2012-07-03 21:02:49 2192

原创 JAVA静态初始化块,初始化块,构造器调用顺序

一个简单的关于初始化块,静态初始化块,构造器的执行顺序的小例子,请大家参考:父类如下:[java] view plaincopypackage test.jamin;  /**  * ClassName:Father  *  * @author   wangjieming  * @version  1.0  * @

2012-07-02 18:14:20 1592 4

网络游戏客户端编程 随书code 全

vs2008编译, 方便下载, 是学习网络游戏编程的好的代码

2012-01-07

C++ BOOST 库中文指南

官方文档中文翻译版,亲手制作,绝对珍藏。

2010-12-22

\超级好的ogre的教程

Pro OGRE 3D Programming 中文翻译版本0.2.0

2009-11-12

数据结构实验课的全部源程序

全部程序都有顺序和链式存储两种,有线性表操作,栈队列的应用,稀疏矩阵的存储和转置,二叉树的实现和运算,线索二叉树的实现和运算,哈夫曼树的实现和运算,图的实现和运算,最小生成树,最短路径,拓扑排序,各种查找算法,各种排序算法,哈希表查找的实现和运算,下吧,疯狂的下吧,太好的资源了

2009-08-31

effective c++

c++经典著作effective c++,描述了c++在实际运用中应该遵循的一般性准则50条。

2009-08-27

清华大学c语言PPT

最全的JDK1.5帮助文档,支持类和方法的搜索。

2009-07-24

空空如也

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

TA关注的人

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