Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用:
1、Android团队提供的示例...   
actor模型的优缺点分析介绍
actor model是1973年就提出的一个分布式并发编程模型,在erlang语言中得到广泛支持和应用。目前java中也出现了很多支持actor模型的库:akka、killim、jetlang等等,其中akka是使用scala写的,有scala和java两套使用接口;killim需要对编译出来的class文件进行后处理。
最近项目需要架构整改,以支撑后续的发展,正在考虑是否采用actor模型。
 ...   
Actor模式的Java实现 JActor
JActor 是一个 Java 的 Actor 模式的实现,经过测试在 i5 CPU 上可支持每秒钟发送超过亿条消息,可能是目前最快的。这相当于是 Scala 的 Actor 的纯 Java 版本。
示例代码:
JAMailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(1);
try {
Mailbox mailbox = mailboxFactory.createMailbox();
JCActor a = new JCActor(mail...   
actor模型和消息传递的Java实现版:Kilim
正像在“多核危机:Scala vs. Erlang”一文中所讲的,面对当前、尤其是未来的多CPU,需要大量的并行性计算,那么并发的消息传递和actor模型将成为一种很有希望的解决之道。这些机制在Erlang中是完全内置的,Scala的框架中则包含了Scala Actor库。在Java的世界中,同样也存在一个纯Java的实现——Kilim。
Kilim是一个Java消息传递框架...   
Actor模型介绍
Actor模型在并发编程中是比较常见的一种模型。很多开发语言都提供了原生的Actor模型。例如erlang,scala等
Actor,可以看作是一个个独立的实体,他们之间是毫无关联的。但是,他们可以通过消息来通信。一个Actor收到其他Actor的信息后,它可以根据需要作出各种相应。消息的类型可以是任意的,消息的内容也可以是任意的。这点有点像webserv...   
GWT 迁到 gwtproject.org
今天搜索:gwt关键字,发现出现的是:gwtproject.org。
GWT (pronounced 'gwit') is the official open source project for GWT releases 2.5 and onwards. This site houses links to the documentation, source code repository, issues list and information related to GWT roadmap and release. It is intended for developers interested in contributi...   
旅行,写作和编程
本文的作者Alex MacCaw
概括起来,今年到目前为止,我所做的事情包括:
花了10个月的时间做世界环游,途经非洲,东南亚,澳洲,中南美洲里的17个国家和地区。这次旅行的主题就是冲浪和摄影。
出席在香港,日本,美国和伦敦举行的会议
启程时给O’Reilly出版公司写了一本书,书名叫做...   
程序员的工作不能用“生产效率”衡量?
几乎正如10年前 Martin Fowler 发现的,用生产效率来衡量软件开发工作没有任何意义。原因就在于,它们不属于同一范畴。换句话说,生产效率不具有作为衡量软件开发工作的适用性。“今天创造了多少代码/软件?”这是一个没有意义的问题。即使可以这样测量,软件开发工作上的生产效率也不能以任何有意义的方式估计出它的商业价值。
这是因为,软件开...   
Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings.
Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected...   
八个PHP开发必备功能
做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握。
1、传递任意数量的函数参数
我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数。下面这个示例向你展示了PHP函数的默认...   
四大开源测试工具基于Java
测试是应用程序生命周期里至关重要的一步,应用程序在进行最后的部署之前,需要通过测试来确保它的负载管理能力以及在特殊情况下的工作条件和工作加载情况。
网络上许多开源的Java测试工具,然而真正经得起时间和实践考验的不多,本文例举了Java里的四大开源测试工具,这四个工具主要专注于前端测试,并且得到了测试人员和QA团队的广泛使用。
1. ...   
测试驱动开发中的经验教训
测试驱动开发(TDD)已经不是一个新话题,在现在的项目开发中得到各种程度的运用,资深开发者Paulo总结了自己在实施TDD时的经验教训,值得读者借鉴。
1.不要在没有尝试之前,就在实际的项目中直接应用测试驱动开发,这不会有好结果。首先要搞清楚测试驱动开发的流程是什么样的,如何模拟测试对象,如何模拟框架内部的各个部分,如何组织测试等等。如果你的团队...   
在团队中进行单元测试和TDD的十二条经验
背景
两年前,我在一个Web项目开发组中,项目的目标是编写一个类似Excel的、用来计算产品/服务价格的Web应用程序。项目团队被分成3部分——开发团队、需求团队和QA团队。随着项目越做越大,而我们没有使用任何形式的自动化测试(QA团队使用手工测试),结果导致项目的测试时间比开发时间还要多。每进行一次小的改动,QA团队都要花费几个小时来做...   
程序员应该避免再犯的五大编程错误
当你成为程序员后,你很容犯下文所提到的这些错误。
话说失败是成功之母,在编程的道路上,犯错也是学习道路上不可或缺的一部分。尤其是初学者,他们犯的错误可能会比其他人更多,那么该如何才能避免这些错误的发生呢?
要有避免错误发生的意识,一旦意识到某种错误的发生,在下次编码时,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。...   
proftpd 550 permission denied
今天采用配置proftpd后。能登入看到目录。但上传文件,创建文件,目录都不可以,如下:
命令: PASV
响应: 227 Entering Passive Mode (106,186,23,11,197,135).
命令: STOR aaa
响应: 550 aaa: Permission denied
因为采用的是proftpd + mysql 权限都有了。就是不可以。
查看ftp的sql日志才发现是:user UID 510 below SQLMinUserUI...   
快速高效的清理烂代码的十个建议
猜猜看怎么了!你接手了一堆混乱的旧代码。恭喜你!现在都是你的了。混乱的代码可能来自任何地方——中间件、网络、可能来自你自己的公司。
你知道在一个角落里有一个家伙,没有人过去管他在做什么。猜猜看他一直在做什么?辛辛苦苦写出了代码,却是一堆烂代码。
你还记得这个模块是一个家伙几年前写的,在他离开公司之前。这个模块已经有20...   
Permon对机器性能测试
Permon 对电脑的CPU,内存,磁盘,网络流量监控,保存cvs格式(excel可以打开),提供日后分析。
由于我们电脑用于性能测试的执行机。要检查下permon对执行机的影响。
在实际测试中,单台执行机在跑1500TPS以上,permon的运行对其无影响,因此可以放心使用。
LMAX的Disruptor怎么工作?(stackoverflow)
原文地址http://stackoverflow.com/questions/6559308/how-does-lmaxs-disruptor-pattern-work
第一个答复(answered Jul 3 ""11 at 8:03 Michael Barker):
Disruptor最简单的描述就是:它是线程间通信最高效的体式格式。它可以用来调换队列,同时有很多SEDA和Actors模式的特点。
和队列斗劲:
Disruptor可以向其他线程发送消息,并在须要...   
LMAX Disruptor 架构
Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。
LMAX主要面向高速...   
Permon使用说明
Permon 对电脑的CPU,内存,磁盘,网络流量监控。保存cvs格式(excel可以打开),提供日后分析
Permon 包含客户端和服务端,可以把CPU,内存,磁盘,网络带宽监控的数据,从客户端发送到服务端。提供cpu预警的发送设置。
要求至少有.net 2.0的运行环境,最好是3.5.
Permon_client (客户端):
客户端配置文件:
<appSettings>
&...