上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 54 下一页
摘要: 收藏from:http://www.iteye.com/topic/82227上周末在杭州网侠大会做了关于REST的演讲。会后经过一些交流,特别是今天在msn上面和dlee的交流,感觉自己对于REST的理解更深入了一层。 我们说REST架构风格,从REST具备的内在特征来说,它包括了这些特征: 1、基于HTTP的资源 2、以HTTP协议去操作 3、数据和表象分离 但是如果我们换一个角度,即分布式应用系统的角度来看,我们会有一些更有意思的结论: 分布式应用系统的架构,经历了好几代的变迁,我们来简单回顾一下: 1、基于CORBA协议的C++中间件时代 CORBA时代我还在上学,基本上没有怎么接触过 阅读全文
posted @ 2011-04-02 13:57 dkcndk 阅读(1438) 评论(0) 推荐(0)
摘要: insmod 与 modprobe 都是载入 kernel module,不过一般差别于 modprobe 能够处理 module 载入的相依问题。比方你要载入 a module,但是 a module 要求系统先载入 b module 时,直接用 insmod 挂入通常都会出现错误讯息,不过 modprobe 倒是能够知道先载入 b module 后才载入 a module,如此相依性就会满足。不过 modprobe 并不是大神,不会厉害到知道 module 之间的相依性为何,该程式是读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过 de 阅读全文
posted @ 2011-04-02 10:20 dkcndk 阅读(1181) 评论(0) 推荐(0)
摘要: http://www.linuxidc.com/Linux/2011-01/31401.htmhttp://blog.csdn.net/lanmanck/archive/2010/12/27/6100019.aspxhttp://fengtong.javaeye.com/category/77366 阅读全文
posted @ 2011-04-01 16:34 dkcndk 阅读(285) 评论(0) 推荐(0)
摘要: 用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和luster使用FUSE实现。 Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。 文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。 Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。 在用户空间实现文件系统能够大幅提高. 阅读全文
posted @ 2011-03-30 09:21 dkcndk 阅读(9776) 评论(0) 推荐(0)
摘要: 观察者模式在软件编程中用的较多,我不善于表达我就用在网上看到的故事,和生活的例子说下基本思想故事: 小雪是一个非常漂亮的女孩,漂亮的女孩总是有很多的追求者,而且追求者的队伍在不断的变动,随时有人进入这个队伍,也有人退出。男孩们追求女孩时总是表现出120%的关心,当小雪私自游玩时总是不断收到追求者询问小雪位置变动的消息,小雪也不胜其烦,但小雪是如此的一个善良的女孩,她总是打断自己正常的生活回复男孩们的消息。而男孩们由于要不断的关心小雪的位置变化也弄的精疲力竭,而且还影响正常的工作。在这样一个简单的故事场景中我们发现了什么?来看看小雪和男孩们的烦恼: 1.男孩们必须不断的询问小雪的位置变化,从而. 阅读全文
posted @ 2011-03-28 16:05 dkcndk 阅读(787) 评论(0) 推荐(0)
摘要: epoll:Edge and Level Trigger Polling (epoll)边缘触发(edge trigger)和条件触发(level trigger)边缘触发是指每当状态变化时发生一个io事件,条件触发是只要满足条件就发 生一个io事件。举个读socket的例子,假定经过长时间的沉默后,现在来了100个字 节,这时无论边缘触发和条件触发都会产生一个read ready notification通知应用程 序可读。应用程序读了50个字节,然后重新调用api等待io事件。这时条件触发的api会 因为还有50个字节可读从而立即返回用户一个read ready notification。 阅读全文
posted @ 2011-03-28 14:03 dkcndk 阅读(4125) 评论(1) 推荐(1)
摘要: 如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。 java.lang.ref.WeakReference 不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息,但又不想影响此对象的垃圾收集,那么你应该用 Weak Reference 来记住此对象,而不是用一般的 reference。 A obj = new A();WeakReference wr = new WeakR 阅读全文
posted @ 2011-03-28 13:01 dkcndk 阅读(351) 评论(0) 推荐(0)
摘要: Python代码:import socket, loggingimport select, errnologger = logging.getLogger("network-server")def InitLog(): logger.setLevel(logging.DEBUG) fh = logging.FileHandler("network-server.log") fh.setLevel(logging.DEBUG) ch = logging.StreamHandler() ch.setLevel(logging.ERROR) formatter 阅读全文
posted @ 2011-03-25 17:57 dkcndk 阅读(12225) 评论(0) 推荐(2)
摘要: [作者]:滕昱,2005/3/30,0.1版本[版权声明]:此文档遵循GNU自由文档许可证(GNU Free Documentation License).任何人可以自由复制,分发,修改,不过如果方便,请注明出处和作者:)(1)导言:首先,我强烈建议大家阅读Richard Stevens著作《TCP/IP Illustracted Volume 1,2,3》和《UNIX Network Programming Volume 1,2》。虽然他离开我们大家已经5年多了,但是他的书依然是进入网络编程的最直接的道路。其中的3卷的《TCP/IP Illustracted》卷1是必读-如果你不了解tcp协 阅读全文
posted @ 2011-03-25 17:18 dkcndk 阅读(1121) 评论(0) 推荐(0)
摘要: os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.path.dirname(path) #返回文件路径os.path.exists(path) #路径存在则返回True,路径损坏返回Falseos.path.lexists #路径存在则返回True,路径损坏也返回Trueos.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户 阅读全文
posted @ 2011-03-25 15:43 dkcndk 阅读(164426) 评论(3) 推荐(11)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 54 下一页