摘要:        
这是模仿优酷视频分享的js复制按钮,兼容各种浏览器 view plain<!--复制按钮js--><script>functioncopyToClipboard(txt){if(window.clipboardData){window.clipboardData.clearData();window.clipboardData.setData("Text",document.getElementById(txt).value);}elseif(navigator.userAgent.indexOf("Opera")!=-1){//    
阅读全文
 
         
        
        
            posted @ 2011-08-31 19:53
ChaunceyHao
阅读(642)
推荐(0)
        
        
            
        
        
            
摘要:        
平时喜欢看看QQ空间.看看好友的动态,但是不喜欢发表自己的动态.总喜欢潜水.看到别人的快乐痛苦,人生百味.QQ空间就是一个小社会.在好友的动态里面,发现有很多这样的文章.一般这些文章都是大家转过来的.标题大概都是这些:杨澜经典语句.乔布斯告诉你如何成功.看了这些话,你能少奋斗20年.亚洲销售女王语录--太经典了!刚开始申请QQ空间的时候,看到这些,我一般都是去看看.看看他们到底有那些成功的秘诀.现在我看到总转这些文章的人,我一般的做法就是隐藏此人的消息.个人感觉这些成功的人,他们说的都没错,他们说的话.我其实听过已经很多遍了,但是没感觉他们给我带来多少东西.我看了很多遍这些文章.但是...    
阅读全文
 
         
        
        
            posted @ 2011-08-31 19:50
ChaunceyHao
阅读(152)
推荐(0)
        
        
            
        
        
            
摘要:        
磁盘分割一直不甚清楚,今学习并记录如下: 1、磁盘有最小的扇区,扇区成磁轨,磁轨成磁柱,磁柱成分区。扇区的大小为512Byte 2、磁盘的第一个扇区主要记录了两个重要的信息:主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有 446 bytes;分割表(partition table):记录整颗硬盘分割的状态,有 64 bytes。 3、在分割表所在的 64 bytes 容量中,总共分为四组记录区,每组记录区记录了该区段的启始到结束的磁柱号码。 4、磁盘的两种接口规范:IDE与SATA ;IDE 接口下为:/dev/hda1 /dev/hda2 /    
阅读全文
 
         
        
        
            posted @ 2011-08-31 19:48
ChaunceyHao
阅读(625)
推荐(0)
        
        
            
        
        
            
摘要:        
USE [master] GO ALTER DATABASE CNMobile SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE CNMobile SET RECOVERY SIMPLE --简单模式 GO USE CNMobile GO DBCC SHRINKFILE (N'CNMobile_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE CNMobile SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE C    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:54
ChaunceyHao
阅读(292)
推荐(0)
        
        
            
        
        
            
摘要:        
一天正在发呆,QQ上的一个朋友向我求救:“我的网站被黑了,首页给换了,SOS!”。最近正好无事,索性就帮帮他吧。 收复失地 刚刚准备在浏览器上输入他网站的地址,结果却停了下来:如果入侵者在首页挂了马,我岂不是也要遭殃?所以我先用查看挂马的工具检查了一下。没有不可见窗 体、没有JS调用、没有Object,OK。进了首页看到上面只有入侵者的名字和一些图片,网站里边的具体情况待会再看吧。向朋友要了管理员的密码,用 3389登录上去一探究竟。 先看看服务器用户的情况,输入“net user”后发现“tsinternetuser”这个用户比较显眼。 依稀记得tsinternetuser是Windows.    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:53
ChaunceyHao
阅读(885)
推荐(0)
        
        
            
        
        
            
摘要:        
时间过得很快,两个礼拜一晃就过去了。阿捷他们的第一次快跑Sprint也结束了,但大家感觉并不怎么好。 在Sprint计划会议上,大家按照阿捷准备的一个Product Backlog,从中选择了一些用户需求,进行开发。虽然阿捷事先对这个Product Backlog条目做了一定的细化,并设定了一定的优先级,但在选择的时候,大家并没有按照优先级来选,只是找了几个刚好可以在两个礼拜内做完的东西。在会议上,大家大致讨论了一下,阿捷就按照先前的惯例,根据每个人过去的经验,对每个模块的熟悉程度,基本上是直接指定一个人做哪个任务了。对于每个任务,没有做详细的估算和任务划分,因为以前就一直是把任务交给一个..    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:51
ChaunceyHao
阅读(332)
推荐(0)
        
        
            
        
        
            
摘要:        
我最喜欢的方法是“规范书变更请求”(SCR,Spec Change Request),它还有一个扭曲的名字叫“设计变更请求”(DCR,Design Change Request)。这种方法是委员会议和走廊会议的组合,同时带有一些关键的改进。假设你现在想去改变规范书或者给规范书增加新的内容,你的这个想法可能是你自己想出来的,也可能源于一次走廊对话,也可能受到了一次主管会议的启发。 不管你是项目经理、开发、测试或实施人员,你都可以把你的想法写到e-mai中去,并且e-mai的标题定为“SCR: <受影响的规范书> - <变更的简短描述>”。在e-mai结尾的地方,你用粗体字    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:47
ChaunceyHao
阅读(217)
推荐(0)
        
        
            
        
        
            
摘要:        
与角色匹配的优势和天资。如果性格和技巧与角色不符合,任何人也无法取得成功。很多优秀的人工作成绩不好,正是因为他们处在错误的职位上。不要强迫人们留在他们并不适合的职位上,要帮助他们找到合适的职位。[3]提供反馈信息。有时候人们工作表现欠佳,但没有人告诉他们。如果没有人提醒他们,他们根本就不知道需要做出改变,就更不用说在哪些方面做出改变了。不要急着下结论说某人工作表现不好,而要先检查自己的工作有没有做到位。你有没有明确的期待值,确定在某一合理的时间内可交付的成果,并且有没有就结果的质量表明你的态度:满意,或者不满意。请参见“技巧:如何给予有效的反馈意见”。技能只是一方面大部分管理者都会努力发掘并聘    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:45
ChaunceyHao
阅读(223)
推荐(0)
        
        
            
        
        
            
摘要:        
关于设计的思想由来已久,至少可以追溯到维特鲁威(逝于公元前15年)。他于古典时期(Classical period)写就的《建筑十书》(De Architectura)被奉为设计的奠基之作。而随后达·芬奇的《达·芬奇笔记》(Notes)(1452—1529)及Andrea Palladio的《建筑四书》(Four Books of Architecture)(1508—1580)则可称作是这一领域里的里程碑。而对于设计过程本身的思考则是近现代的事。Pahl和Beitz将其追溯到1852年由Redtenbacher所带来的德国思潮,这一思潮是由机械化的兴起而激发的。对于我本人    
阅读全文
 
         
        
        
            posted @ 2011-08-31 17:43
ChaunceyHao
阅读(254)
推荐(0)
        
        
            
        
        
            
摘要:        
1.6 智能应用中八个常见的误区 到此,我们已经介绍了与智能应用相关的基础知识,现在你应该已经对什么是智能应用,以及应该如何使用智能应用有了一个整体的了解。你很有可能迫不及待地想要开始写代码,我们不会让你失望的。除了本章之外,每一章都会给你介绍新的有价值的代码。 但在开始进入激动人心且充满经济利益的智能应用世界之前,先来看一些带有智能功能的项目中常见的错误,或者说是误区。你可能熟悉分布式计算的八大误 区(如果没有看过,可以参考Van den Hoogen的业界评论),其中列举了第一次开发分布式应用的程序员对分布式应用的常见误区。同样,根据这个传统,我们在这里也会介绍八个智能应用开发中 常见的.    
阅读全文
 
         
        
        
            posted @ 2011-08-31 15:14
ChaunceyHao
阅读(234)
推荐(0)
        
        
            
        
        
            
摘要:        
在本书中,我们不断地提及"智能",到底什么是"智能"?我们说的是人工智能吗?或者是机器学习?它跟数据挖掘和软计算有什么关系?在学术界,对于 本书中所介绍的内容的精确定义也已经争论了好几年。从实践的角度看,这些概念并没有实质性的区别,更多的是指应用环境的不同。本书融合了上述所有领域的精 华,让我们逐个来看看吧。 以其首字母缩写AI而广为人知的人工智能是一个起源于20世纪50年代的计算领域。最初,AI的目标是极具野心的,试图开发出能像人类一样思考的机 器(Russell and Norvig, 2002; Buchanan, 2005)。随着时间的推移,目标    
阅读全文
 
         
        
        
            posted @ 2011-08-31 15:12
ChaunceyHao
阅读(242)
推荐(0)
        
        
            
        
        
            
摘要:        
两年前,移动社区有传言说RIM将会同时支持Flash和Silverlight程序。自那以后RIM推出的平板电脑虽然支持了Flash,Silverlight却不见踪影。考虑到当时人们对Silverlight移动应用缺乏兴趣,RIM选择Flash也并不稀奇。 再后来,RIM又盯上了Apple和Google的应用商店。虽然总体而言RIM应用商店中真正有用的程序并不多,但只要消费者找不到他想要的那个应 用,就会嫌弃整个应用商店。但RIM又不可能针对性的特邀一些开发者为RIM的商店补全各类基本应用,因为每一位消费者心中认为必不可少的应用不尽相同。 于是,他们改变策略,准备支持整个Android应用商..    
阅读全文
 
         
        
        
            posted @ 2011-08-31 15:11
ChaunceyHao
阅读(160)
推荐(0)
        
        
            
        
        
            
摘要:        
根据微软的年度节奏, 已经开始着手下一个版本的ASP.NET MVC的规划了。其重点领域包括让开发和部署工作流程更平滑,共享更多Web Forms特性,改善对AJAX的支持,并在手机和平板设备为HTML5提供更好的体验。 警告:在这篇文章中提到的功能仍处于规划阶段,未必会出现在最终版本的MVC 4。 Recipes 在开发速度方面,MVC框架缺乏复杂的用户控件是相当不利的。MVC团队正在想办法提供一种方式,能实现象Web Forms一样快速开发,而不会被缺乏控件的情况所拖累。一个想法是“Recipes”的使用。这用一个例子能够很好的解释: 假设开发人员相要一个客户端排序的复杂网格。在...    
阅读全文
 
         
        
        
            posted @ 2011-08-31 15:05
ChaunceyHao
阅读(290)
推荐(0)
        
        
            
        
        
            
摘要:        
毫无疑问,Facebook是现在最炙手可热的公司之一。访问量超过Google,访问时间更让其他网站难以望其项背。最近,它的未上市股票交 易价报收50美元,公司总市值达到约225亿美元。当然,早在2007年10月,微软就花2.40亿美元才购买了Facebook 1.6%的股份,这还是和Google争来的。 这种情况下,公司那些出身技术人员的高层应该早就日理万机,远离代码了吧。其实不然。技术博客TechCrunch的编辑Michael Arrington发现,Facebook创始人兼CEO Mark Zuckerberg这几天还在写代码! 他发了一条状态更新,说自己刚刚chec...    
阅读全文
 
         
        
        
            posted @ 2011-08-31 01:26
ChaunceyHao
阅读(374)
推荐(0)
        
        
            
        
        
            
摘要:        
今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上。所以我开始是这么干的: 1.查询一台服务器的数据,并导入本地Excel 2.查询另一台服务器的数据,并导入本地Excel 3.Excle导入数据库,数据库自带了Excel导入数据库的功能 4.连接查询,OVER! 后来才知道产品部要全国50多个城市的数据,所以每个城市的我都要重复这样干一遍。 这时才想起跨库查询了。 1.开通分布式查询权限execsp_configure'showadvancedoptions',1 reconfigure execsp_configure'AdHocDistribute    
阅读全文
 
         
        
        
            posted @ 2011-08-31 01:25
ChaunceyHao
阅读(283)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
8月29日举行的国际语音通信协会年会上,微软研究人员Dong Yu和Frank Seide将发表论文,宣布在应用人工神经网络识别大词汇语音上取得重大突破。 现有的语音识别技术都需要先训练软件,了解用户的语言模式。而语音识别技术的终极目标是提供即时使用、无特定说话者的自动识别服务——不需要训练、适用于 所有人和不限条件。研究人员指出,语音识别对于移动日益重要,因为声音是智能手机的一种基本接口模式。研究应用人工神经网络改进语音识别早在1980年底 就已起步,但一直未能被商业语音识别系统使用,主要是因为性能不佳。微软研究人员在深度神经网络(deep neural network)上取得突破,使其在.    
阅读全文
 
         
        
        
            posted @ 2011-08-29 19:13
ChaunceyHao
阅读(169)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
要想解决我们之前所述的所有问题,核心理念其实非常简单:Web 开发团队需要日积月累、稳步实施可重用策略。可重用策略可以划分为三种资源库:模式、组件,以及交互设计的框架体系。这些资源库能让开发团队充分利用丰富的成品资源,从而提高工作的速度和效率。我们发现,那些成功实施可重用策略的团队已经尝到了实实在在的甜头。首先,他们可以调用已经(按最基本水平)实现的成品集,快速地拼凑起有效的设计雏形,从而达到让设计尽快启航的目的。这些团队完成整个设计的时间似乎也更短,而且可以周全地涵盖一切有利于提升用户体验的细节和精妙之处。其次,尽管他们在无趣的支撑功能上并未花费太多时间,其设计成果却似乎具备更高的可用性,而    
阅读全文
 
         
        
        
            posted @ 2011-08-27 20:07
ChaunceyHao
阅读(302)
推荐(0)
        
        
            
        
        
            
摘要:        
1998 年,可用性专家 Rolf Molich①分别给 9 个团队 3 周的时间对 Web 邮箱 www.hotmail.com 进 行 评 估。 该 实 验 是 被 他 称 为 CUE(Comparative Usability Evaluations,相对可用性测试)系列实验②的一部分,试图建立起一套切实可行的可用性测试标准。在每一项测试中,Rolf 都会请多个可用性团队对同一个设计进行自由评估。这次测试被称为 CUE-2,因为它是该系列实验中的第二项测试。在各团队记录下的结果中,反映出一个令人惊诧的趋势。尽管可用性专家们在检测界面问题时宣称使用的方法非常科学,但是可用性评估本身却“并不    
阅读全文
 
         
        
        
            posted @ 2011-08-27 17:33
ChaunceyHao
阅读(360)
推荐(0)
        
        
            
        
        
            
摘要:        
1.1 等待的真相 整个过程听起来好像并不复杂,也许你从来都没有考虑过在这段等待的时间里世界都发生了什么变化,也许你早已习惯了利用这段时间东张西望或者品尝零食,或者你根本没有来得及意识到这点,新的网页就已经闪亮登场,恭喜你,你很幸运!但是在这个世界上,幸运儿永远只占少数,大多数人的大脑处理速度已经让他们明显感觉到这段等待时间漫长无比,久经考验的他们可以随时身手敏捷地打开多个浏览器窗口与时间赛跑,并为此筋疲力尽。 另一方面,对于站点经营者来说,让用户等待的时间过长,也许会造成毁灭性的后果。我见过很多人为了享用某家特色小吃而在餐馆门口乐此不疲地排着长队,但没有听说有多少用户执着地等待着一个速度缓.    
阅读全文
 
         
        
        
            posted @ 2011-08-27 11:49
ChaunceyHao
阅读(623)
推荐(0)
        
        
            
        
        
            
摘要:        
jStat是一个Javascript库,为开发人员提供了统计功能和在浏览器中绘制相应图形的特性。jStat能够在所有浏览器中执行统计操作,它需要jQuery和绘制数据的插件。jStat是开源统计语言和环境R的部分移植版。 InfoQ采访了Matthew Williams(英国伯明翰阿斯顿大学研究员、jStat团队成员),了解jStat提供的功能: jStat的核心基于向量和矩阵(很像MatLab)。基本单元是矩阵,可以通过jStat函数(j$)来创建: § var matrix = j$([[1,2,3],[4,5,6],[7,8,9]]) 每一个矩阵包含许多方法,包括加法、除法、乘    
阅读全文
 
         
        
        
            posted @ 2011-08-27 11:16
ChaunceyHao
阅读(769)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
问题 当一个JavaScript计算进程耗时太长,浏览器会弹出警告框,不仅烦人而且一不小心就会点错导致后面的程序不被执行。 很多这类长计算是由于操作大数组造成的。虽然每个元素的处理耗时很少,当数组有几百上千个元素时整个计算时间就会长到超时。由于数组元素数不确定,对单一元素操作调优仍然不能根本解决问题。 办法 把长计算拆解成多个异步的短计算。 即使计算所需的总时间并不缩短,将阻塞的长计算拆解成异步的短计算至少带来响应性的提升:在计算进行的同时用户还可以做其他操作,而不是眼看着整个浏览器失去响应。 在拆解的基础上可以改进任...    
阅读全文
 
         
        
        
            posted @ 2011-08-26 00:41
ChaunceyHao
阅读(188)
推荐(0)
        
        
            
        
        
            
摘要:        
《代码大全》是一本不多见的值得多次阅读的好 书,在《代码大全》一书中,每一章后面都有这一章的要点,略读这些要点中我们就可以了解到我们已经掌握了哪些知识,哪些知识还没有掌握,阅读,重读时就有 重点了。下面列出这些要点,供没有购买这本书的同学(同仁)参考,或可用作决定“是否应该买这本书”的参考。 第1章 欢迎进入软件构建的世界 中文要点: 	软件构建是软件开发的核心活动;构建活动是每个项目中唯一一项必不可少的工作. 	软件构建的主要活动包括:详细设计,编码,调试,集成,开发者测试(包括单元测试和集成测试). 	构建也常被称作"编码"和"编程". 	构    
阅读全文
 
         
        
        
            posted @ 2011-08-26 00:35
ChaunceyHao
阅读(654)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
很难预测一百年后的人类生活,只有少数几件事是可以确定的。那时,汽车将具备低空飞行能力,城市规划的法规将放宽,大楼可以造到几百层,大街上一天到晚看不见太阳,女性个个都学过防身术。本文只想讨论其中的一个细节:一百年后,人们使用什么语言开发软件?为什么这个问题值得思考?原因不是我们最终会用上这些语言,而是幸运的话,我们从现在开始就能用上这些语言。我认为,编程语言就像生物物种一样,存在一个进化的脉络,许许多多分支最终都会成为进化的死胡同。这种现象已经发生了。Cobol语言曾经流行一时,但是现在看来没有任何后续语言继承它的思想。它就像尼安德特人①一样,进化之路已经走到了尽头。(①尼安德特人(Neande    
阅读全文
 
         
        
        
            posted @ 2011-08-24 11:15
ChaunceyHao
阅读(677)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
想象我正在往一个已有的代码库中添加新的功能。假如我一次只添加一个小修改,这个小修改是如此简单以至于它只有两种状态——写完代码之后只要看一看,我要么是改对了要么是改错了;如果改错了,我就用另一种方式来修改,后者一定是正确的。 如果我一次不是添加一个小修改,而是添加两个,然后把两个修改放在一起来验证。这时可能的状态就有四种:一种正确的,以及三种不同的出错方式。 如果我再贪心一点(或者是因为某些客观条件的约束),一次添加三个小修改然后再验证。这时可能的状态就成了八种:一种正确的,以及七种不同的出错方式。 所以这就是复杂...    
阅读全文
 
         
        
        
            posted @ 2011-08-23 23:37
ChaunceyHao
阅读(413)
推荐(0)
        
        
            
        
        
            
摘要:        
导语:用户故事的颗粒度一直是一个谈论已久的话题,但参加了很多研讨会,搜索了很多网络资源后发现一直没有定论,只好在这里原创一下。 前言:为何需要讨论用户故事的颗粒度 其实需求颗粒度的问题由来已久,即使是在传统开发中,也没有提及在需求分析阶段应该把需求做到什么颗粒度才可以开工。所以在下面这些分析之后会发现,其实即使反推到传统开发中,下面提及的方法也依然有效。 为何要对用户故事做一个颗粒度约束呢? 笔者在开发实践中发现,如果大小不一的“用户故事”堆积在一起,很难看出一个产品到底实现了哪些功能(或一个项目到底有哪些需求)。如果回溯到敏捷 开发的源头就会发现,由于敏捷开发中设定用户故事是为了描述开发..    
阅读全文
 
         
        
        
            posted @ 2011-08-23 15:11
ChaunceyHao
阅读(465)
推荐(0)
        
        
            
        
        
            
摘要:        
本文是从 Living in the zone 这篇文章翻译而来。 跟程序员相处你一定会有很多的挫折感。比如,程序员会把能让他们达到最高效率的那种神奇的境界叫做”那里“。 ”那里“是真实存在的。至少对于我是这样的,很有可能你也很熟悉那里,只是情形不一样。对于非程序员的人来说,跟程序员的这种境界相对应的情形是, 当你完全投入进一本书或一场电影,你感觉整个世界都消失了,唯一留下了的只有你正在关注的东西。如果你有丰富的创作力,那有可能是在你写一本书或绘一副画 时候。 当你正全神贯注的读一本书上,有人打断了你,通常这会需要你花很长的时间重回到那种状态。通常,当我在读一本书,有人或什么事情(电话!...    
阅读全文
 
         
        
        
            posted @ 2011-08-23 15:01
ChaunceyHao
阅读(354)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
淘 宝网拥有国内最具商业价值的海量数据。截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数 据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。为 此,我们进行了一系列数据产品的研发,比如为大家所熟知的量子统计、数据魔方和淘宝指数等。尽管从业务层面来讲,数据产品的研发难度并不高;但在“海量” 的限定下,数据产品的计算、存储和检索难度陡然上升。本文将以数据魔方为例,向大家介绍淘宝在海量数据产品技术架构方面的探索。淘宝海量数据产品技术架构数据产品的一个最大特点是数据的    
阅读全文
 
         
        
        
            posted @ 2011-08-22 11:16
ChaunceyHao
阅读(848)
推荐(0)
        
        
            
        
        
            
摘要:        
IBM无锡云计算中心第一期总投资3250万,大楼共有4层,建筑总面积为1800平方米。大楼结构布置合理,功能划分清晰,可扩展性和可操作性强,能够满足云平台公司的管理、运营要求,也为入园使用云平台的企业的商务洽谈、人员培训、临时办公提供了良好的环境。(SAAS博士:盖了一栋楼)云计算中心拥有雄厚的维护和支持力量,具备多年机房管理、互联网网络维护及网站建设维护经验,资深的专业工程师为客户提供机房设备维护、网络实时监控到网络设备故障排除等全方位的、7×24小时的专业技术服务。(SAAS博士:养了一帮网管) 一、机房内部环境:机房整体抗震级别为8级,地板承重为800/平方米; 多台空调机采用    
阅读全文
 
         
        
        
            posted @ 2011-08-22 10:42
ChaunceyHao
阅读(4456)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
在javascript开发中我们会经常获取页面中的事件对象,然后来处理这些事件,例如下面的getEvent函数就是获取javascript下的页面事件对象。function getEvent(event){ return event || window.event; }我们使用getEvent的时候可以这样调用。function foo(event){ var evt = getEvent(event); alert(evt); }并且把foo函数绑定到一个onclick事件上。但是常用的是foo函数不会有参数,或者第一个参数没有传入,我们可以通过arguments[0]来获取第一个参数...    
阅读全文
 
         
        
        
            posted @ 2011-08-21 16:15
ChaunceyHao
阅读(663)
推荐(0)
        
        
            
        
        
            
摘要:        
比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: 1var a={"name":"tom","sex":"男","age":"24"};23var b='{"name":"Mike","sex":"女","age":"29"}'; 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用J    
阅读全文
 
         
        
        
            posted @ 2011-08-21 16:09
ChaunceyHao
阅读(443)
推荐(0)
        
        
            
        
        
            
摘要:        
今天我们一起来了解Facebook背后的软件,看看作为当今世界上访问量最大的网站之一,Facebook是如何保证5亿用户的系统一直稳定可靠的运行。 Facebook的扩展性挑战 在我们讨论细节之前,这里有一些Facebook已经做的软件规模: ◆Facebook有570000000000每月页面浏览量 (据Google Ad Planner) ◆Facebook的照片量比其他所有图片网站加起来还多(包括Flickr等网站) ◆每个月超过30亿张照片被上传 ◆Facebook的系统服务每秒处理120万张照片,这不包括CDN服务中处理的照片 ◆每月超过25亿条的内容 (状态更新,评论等)被共享 ◆    
阅读全文
 
         
        
        
            posted @ 2011-08-21 15:33
ChaunceyHao
阅读(475)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
装箱用于在垃圾回收堆中存储值类型,是值类型(C#参考)到object类型或到此值类型所实现的任何接口类型的隐式转换。对值类型装箱会在堆中分配一个对象实例,并将该值复制到新的对象中。 以下3段代码说明如何使用装箱拆箱操作,请尝试将其分别保存在不同的文件中并使用csc命令编译,然后分别运行查看效果:classTestBoxing { staticvoidMain() { intI=123; objecto=I;//implicitboxing I=456;//changethecontentsofi System.Console.WriteLine("Thevalue-typevalue    
阅读全文
 
         
        
        
            posted @ 2011-08-20 15:21
ChaunceyHao
阅读(245)
推荐(0)
        
        
            
        
        
            
摘要:        
另一个重要的优化是减少函数调用的次数。虽然现在许多编译器已经针对函数调用进行了重大优化,但是对于函数携带的重大开销还是稍存疑虑。为了验证这一点,我们可以编写一个小程序,它把一个只执行返回语句的函数调用了10 000次,你将开始感觉到函数调用的代价,如果函数传递参数或者返回值,那么花费的时间将会更长一些。常见的惯例是使用内联代码或者宏,把函数直接隐藏在算法中。研究编译器的库(如果可用,应该总是能得到源代码),并且你将会发现许多函数已经被实现为宏。要尽可能使用这些宏,并且要留心观察它们的副作用。如果你仍然必须调用函数并且不能获得所需的性能,可以考虑将供应商的源代码直接复制到你的算法中。这是一种危险    
阅读全文
 
         
        
        
            posted @ 2011-08-20 08:29
ChaunceyHao
阅读(196)
推荐(0)
        
        
            
        
        
            
摘要:        
在计算机领域,一项正在进行的工作是,通过对算法进行改进以求获得最佳的性能。这种工作通常采用以下两种策略之一:优化现有的算法或者开发新的算法。这些策略具有截然不同的目标,应当加以区别看待。在优化算法的时候,一般不会尝试使其性能方程降级。例如,我们知道冒泡排序的平均性能是O(N2-N)。如果你必须使用冒泡排序,那么将希望确定在冒泡排序中执行的动作所耗费的时间非常短。也就是说,希望它的两个主要操作(比较列表中的元素并交换它们)执行得非常快。在应用程序的上下文中,需要付出相当大的努力来确保算法的实现是经过完全优化的。例如,需要确保在内存中而不是在磁盘上交换元素。通过处理每个数据项的处理所需的时间,可以    
阅读全文
 
         
        
        
            posted @ 2011-08-20 08:28
ChaunceyHao
阅读(249)
推荐(0)
        
        
            
        
        
            
摘要:        
除了最直观的应用之外,算法是所有程序的核心和灵魂。算法一般被设计用于以最小的代价高效地解决特定的问题。算法的价值一般取决于两方面因素:如何恰当地解决问题以及如何高效地实现解决方案。这些是算法分析的定性和定量方面。对于许多算法,质量不是一个问题。例如,对于排序算法,必须保证每次都对所有元素正确地进行了排序。一旦出错,就必须丢弃它并且严格说来不能将其视为一种算法。在其他领域,不能基于这种简单的通过/失败测试来度量质量。例如,在第4章中介绍的Soundex算法允许检索听起来相同的单词或名字。与排序算法不同,可以调整Soundex算法,以寻找接近的匹配或者相当宽泛的匹配;这取决于实现算法的方式和开发人    
阅读全文
 
         
        
        
            posted @ 2011-08-20 08:27
ChaunceyHao
阅读(448)
推荐(0)
        
        
            
        
        
            
摘要:        
如果许多个体有着共同的名字,那么我们可以认为它们同样有着相应的概念或形式—明白我所说的吗?明白。让我们以任意一个普通的事物为例。我们的世界中有许许多多的床和桌子,是吗?是的。但这里仅仅存在两个它们的概念或形式:一个是床的概念,一个是桌子的概念。确实如此。而任何工匠都是遵循这种概念来制作我们所使用的床和桌子的。—柏拉图(公元前360年),《理想国》第十卷在2008年的第7届设计思想研讨会上,每个发言人都对四个同样的设计小组会议作报告。3 视频和打印件都提前很好地分发下去了。来自雷丁大学的Rachael Luck在架构会谈中提出一个之前没有引起任何人注意,而后又被大家一致认同的实体:设计概念。毫无    
阅读全文
 
         
        
        
            posted @ 2011-08-20 08:15
ChaunceyHao
阅读(274)
推荐(0)
        
        
            
        
        
            
摘要:        
《牛津英文词典》对设计这个动词作了如下定义:To form a plan or scheme of, to arrange or conceive in the mind ... for later execution.对……形成计划或模式,运用思维整理或考量……以便后续执行。这一定义的精髓在于计划、思维和后续执行。所以,一个设计(名词)是一种被创造出来的事物,它先于被设计的事物出现且与之相关,但又有所区别。英国作家、戏剧家Dorothy Sayers在她那本发人深省的著作《The Mind of the Maker》里,将创作的过程分为了三个不同的阶段,她称之为构想(Idea)、精神(Ene    
阅读全文
 
         
        
        
            posted @ 2011-08-20 08:14
ChaunceyHao
阅读(237)
推荐(0)
        
        
 
    
    
        
        
            
摘要:        
到这里,我们理想的应用程序的轮廓应该很清楚了。应用程序应该基于无绪原则来开发,尽量让最终负责集成的相关人员不需要深入了解系统也可以把集成工作做好。所以,我们理想的应用程序应该基于模块化架构来开发,可以由散布在世界各地的独立开发团队分别负责编写相应的模块。他们可以按照自己的日程来安排工作,以达到最终的目标。但这种做法却存在一个重要的问题,那就是模块间的关联关系。大多数模块并不能孤立存在,它们要依赖于其他模块提供的环境。只有少数模块才可能完全不依赖其他模块而独立对外提供功能。实际上,大部分模块化的组件都需要其他组件为其提供服务。这就意味着这些模块的开发人员需要去发现和了解如何使用外部模块提供的AP    
阅读全文
 
         
        
        
            posted @ 2011-08-19 23:58
ChaunceyHao
阅读(157)
推荐(0)
        
        
            
        
        
            
摘要:        
模块化的应用程序是由分布式团队开发出来的独立组件组成的。这些独立的组件通常都会提供一个自己的API,当然在具体执行的时候,也需要第三方组件的API或者其他功能才能保证正确运行。例如,Tomcat服务器需要Java运行时实现。同样,标准的C++模板库也需要libc,这样才能调用printf方法。如果使用了大量的组件,那么面临的最大问题就是能否看清整个应用的全貌。只有理解了整个系统以后,才能理清楚模块间的交互关系。在上一节中,我们可以看到一个组件的API只会把其最重要的功能给暴露出来,大部分情况下,用户无需关注其内部的实现,只需要集中精力了解API即可。但如果系统包含成千上万个组件的话,光是组件A    
阅读全文
 
         
        
        
            posted @ 2011-08-19 23:56
ChaunceyHao
阅读(218)
推荐(0)
        
        
            
        
        
            
摘要:        
无绪的模型需要利用全世界范围的软件项目中大的组件模块,以装配的方式来开发应用程序。要尽可能多地复用,而不要从零开始编写软件,这样就可以保证产品团队能将重点集中在软件的独特功能上,即应用程序的具体业务逻辑上。这样,开发人员就无需花费时间去创建和编写基础设施,重用现有的框架和由第三方提供的功能库即可。相信现在不会有人因为自用的原因去写一个SQL数据库服务器软件,而是会使用一些商业或者开源的数据库。创建一个私用的数据库可以说是一种低效的资源浪费。对于软件技术的其他领域也是如此。Web服务器、编程语言及其功能库、集成开发环境还有富客户端程序框架①都已经有设计良好的组件可供使用了。就像活动板房,只需将其    
阅读全文
 
         
        
        
            posted @ 2011-08-19 23:55
ChaunceyHao
阅读(241)
推荐(0)