RSS 2.0 Feed
2004-12 Entries
摘要:下面这张图,在Win的缩略图中,跟实际图是完全不一样的。 (点击看原图,原图比较大) Win下缩略图的效果  ACDSee缩略图的效果  大家就当一个娱乐来看吧。^&^...[阅读全文]

posted @ | Feedback (24) | Filed Under [ 非技术随笔 ]

摘要:今天在考虑一个问题的时候,突然发现,对于一个企业级的大型应用,性能一般都不是很好的,他追求的重点是用户体验。而不是性能。 在用户访问量小的时候,企业级的大型应用性能一般不好(你做了分布式考虑,大量的数据被冗余)。但是这时候,用户体验并不会很差(因为用户量小)。 在用户访问量大的时候,企业级的大型应用性能仍然不好(同上,你做了分布式考虑,大量的数据被冗余)。但是这时候,用户体验并不会很差(因为使用了分布式技术)。 最近我在进行的下一代CSDN社区集群架构设计中,一度陷入既要考虑性能最好,又要考虑企业级应用下用户体验不差。结果发现好矛盾。 现在想想,我应该优先考虑的是用户体验最好,而不是性能最好。...[阅读全文]

posted @ | Feedback (18) | Filed Under [ .net 编程心得 技术随笔 与CSDN有关的内容 ]

摘要:这是12月4日李维讲座的主题,觉得对最近的软件发展的根本有一个概括性理解,同时这是一个影响每一个IT从业人员的大事,特整理一下他讲座的主题: 首先看几个场景: 场景一:你们公司是如何绩效考核一个程序员的:1、他写过多少项目;2、他写过代码行数;3、他写过项目产生Bug数;4、由高级程序员主观对他的代码进行质量评价; 以上数据都不能很量化的评价一个程序员。如果看过《水煮三国》的,还会记得“猎人的狗力资源管理”那一节,这样的机制会出问题的。 场景二:如果测试人员发现bug,谁会被拎出来罚站?1、程序员2、架构设计师3、项目经理;4、总经理 注意:某些bug,是因为架构、技术的问题而造成的,不能把所有责任都推给程序员。 场景三:为何我们估算的软件成本、软件开发工期经常不准?1、我们采用的技术是一个新技术,执行中可能会碰到很多技术难题;2、我们很难对一个程序员、架构师进行正确的评估,进而对他们完成某个工作所花费的时间和成本估算不准。 我们可以带着上面的几个场景来看下面的分析: 最近这几年,不知你有没有留意到,一些对代码质量进行量化的工具,出来了不少。比如: Borland的Together中的Code metrics/Audits可以对代码进行评估和管理,CMMI是对软件开发做管理,JAVA 的JMX/ BCI也是对代码做管理,VS.net TS 中也有对代码进行静态分析和东西分析的工具。那么SA/SD/OOA/OOD又由什么管理呢?当分析人员画了分析图Class Diagram时有什么方法可以确定他们画出来的架构是正确的?IT的管理人員常常以程序员写的程序或是代码数量来衡量程序员的绩效,可是当新的软件技术,如Generic Programmuing出现时又如何管理/评估程序员的绩效呢? 其实,这些问题的背后都是管理和数字。 以上质量量化分析工具的出现对软件开发来说,会带来哪些变革呢? 变革就是,可预计的未来几年,以后程序员的绩效、架构师的绩效,将会变得可计量。人为因素对绩效工资的影响可以变得越来越小。也许你在某个单位,并没有采用上面代码质量对应绩效工资。但是这会是一个趋势,我们必须从现在开始就准备应对这个变革。 以上是对人来说,对整个软件行业来说,由于软件质量分析工具的引入,软件质量这个黑盒子将变得透明,对软件开发工期,成本等信息的计算将变得更加非主观化,IT 行业将可以更加方便的进行管理,管理的功能将更加深入的进入主流应用。 IT人员必须知道明年开始IT人员可能会进入一个managed的阶段。这就是Java JMX/BCI、Borland SDO、SOA逐渐出现的原因,IT即将从unmanaged business進入managed business,管理的功能将正式进入主流应用。这太重要了。管理已经深入各种IT领域,如programming, framework, architecture和business。 我们无法逃离这个变革,必须面对这个变革。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ 非技术随笔 ]

摘要:这是12月4日陈榕讲座的主题,觉得有醍醐灌顶的感觉,特整理一下他讲座的主题: 首先我们来看电信业的发展,大家应该都记得排国内80年代左右的电影,如果要把一个电话从北京打到上海,需要通过很多接线员转接。  而现在,如果我在北京,要向上海的一个朋友打电话, 我根本感觉不到这个中转的过程。程控交换技术,就带来了这种体验。 我们再回来看目前的网络状况:比如我现在在家写文档,突然发现需要某一个数据,而这个数据是保存在公司电脑上的,这时候,我就需要自己手工设置网关,上网,连接上公司的电脑,把文件拉下来。这时候,就相当于自己给自己做了一回接线员的工作。 现在很多人为了实现一个网络软件的中间抽象层绞尽脑汁,比如:CORBA、DCOM、GNOME .net Remoting 等等。这些设计无不晦涩难懂,随着网络日益走向消费类电子应用,我们能否找到更简单实用的网络编程模型? 我们知道传统计算机的存储体系结构是由寄存器、内存、硬盘等组成,前者是后者的cache,它们之间是由北桥、IDE等连接。传统计算机编程与不同存储体系结构间的连接技术无关。 网络计算机(网格)的硬盘只是因特网上存储信息的cache。我们可以设想,TCP/IP等属于连接硬盘与因特网的技术,应该与网络时代的编程模型无关。 这个观点现在还没有被普遍认可,但事实证明,TCP/IP的确与网络时代编程无关。醍醐灌顶,网络软件其实跟网络无关,这是一个战略意义上的观察和信念。 随着网络的不断进步,下一代的internet,必然会发展到现在电信网这样一步,虽然你是取得互联网上另外一个机子的资源,但是你感觉不到这个取得过程。 我们再换个方向来考虑这个问题: 伟大的物理学家牛顿发现力的作用是相互的。有作用力就必有同等大小的反作用力存在。这就是我们通常所说的牛顿定律。照此推理,有摩尔定律就必有摩尔定律的反定律。盖茨定律便是摩尔定律的反定律。微软的创始人盖茨证明应用速度每18个月减少一半。应用软件无限增加的功能和可操作性,在不断消耗着下一代计算机处理器所能达到的水平。 摩尔定律:  每18到24个月,CPU和内存的速度、容量会增大一倍。盖茨定律:  每18到24个月,应用速度每18个月减少一半.也就是说软件的速度是恒定的 ,这18到24个月硬件上的进步所带来速度上的提升,被软件充分的利用了。 造成这个的原因就是  随着时间的推移,软件运行的时候,需要加载的东西越来越多,进而速度是一个恒定的值。 软件变得越来越膨大,而且软件并不是免费的,一个软件的80%的功能,你用不到,但是你也要为这80%的功能付费,这显然是一个不合理的情况。 未来最理想的就是,程序运行的时候,用到某个功能,才去自动的到网上下载相关的程序和数据。就像前面说的,未来网络速度的改善,用户对存取你本地数据和存取外部数据或者程序,体验感觉是一样的。这种“无限”下载的软件设计思想,在可预计的未来10年左右,也许就会出现。微软的Lorghorn,以及智能客户端的开发中,我们都可以看到这种设计思想离我们已经不远了。 而这种下载用户是感觉不到的。就跟目前的手机漫游一样。这也是为啥说:网络应用软件跟网络无关。...[阅读全文]

posted @ | Feedback (15) | Filed Under [ 技术随笔 非技术随笔 ]