众家智慧,实时资讯


Google
 
  热门搜索: 女子整形医院 SONY笔记本维修 旅游 预定澳门酒店
标签:cnblogs.com
时间:
出处:博客园-读书区 (49 : 113)

专注于.NET技术

3
Sat, 01 Mar 2008 01:

     摘要: 孙永杰分析云计算...  阅读全文

kelvenxu 2008-03-01 09:11 发表评论

3
Tue, 26 Feb 2008 02:

领导法则一 WTO人才的竞争是决定成败的关键

  中国在加入WTO之后,我们面临越来越多的竞争,尤其是国际级世界级的竞争。
    然而,一个企业如何超越竞争对手,如何面对新的时代的新的挑战,以及新的竞争?
    一个企业,到底它是产品品质的竞争,还是价格的竞争,还是服务的竞争?
  很多人说:我们只要把产品做得更好,我们从事这个品质管制,我们这样呢,企业就可以生存发展;
    有人说:我们只要把价格压得低一点点,让竞争对手呢喘不过气来,这样我们就可以超过竞争对手;
    有人说:只要产品品质好价格好,我们生意就做得起来;
    还有人觉得:只要服务好,服务才是重点——我们用服务代替销售。
  这三个理论,都是对的,但是我觉得,都还不是最关键的。
    因为我觉得,一个企业,它不是产品品质的竞争,它也不是产品价格的竞争,它更不是服务的竞争。
    企业对企业,它是人才的竞争。
    各位你们想想看,产品是谁设计出来的?是人;
    产品的品质是谁在管理的?是人;
    产品的价格是谁订出来的?是人;
    产品的服务是谁在做的?还是人。
  所以企业它绝对不是产品的竞争,它不是价格的竞争,它也不是服务的竞争,它是人才的竞争。
    所以哪一个企业拥有最多、最优秀、最适合的人才,那个企业就会蓬勃地发展。

领导法则二 看企业有什么样的人才就能衡量出是第几流的企业

  我给大家几句话:
    第一个——一流的企业它就拥有一流的人才;
              二流的企业它就拥有二流的人才;
              三流的企业它就拥有三流的人才。
         你公司的人才是属于什么流的,你就知道自己是什么样的企业。
  那一流的企业为什么会有一流的人才呢?
    再送给大家三句话:
              一流的企业拥有一流的领导者;
              二流的企业拥有二流的领导者;
              三流的企业拥有三流的领导者。
         看你的团队,看你的人才,你就知道自己是什么样的总裁,是什么样的经理,是什么样的管理者。


领导法则三 领导的能力是选对人而不是训练人

  所以每一个人都在问我说:“陈老师啊,既然这个企业是人才竞争,那我们如何去吸引并且留住、或是发掘好的人才?”
  首先呢,我们需要了解,这个人才需要经过过滤。
    我举个例:假设你今天未婚,你想要找一个好老公,或是娶一个好老婆,
    你会不会看到街上一个女人,哇,因为你是女的,好吧,我就娶你当老婆?肯定是不会的;
    因为你是男人,你看起来还活着,也没有死,也不会死,好吧,我嫁给你吧?
    NO NO NO,这些事情,这些人都需要经过挑选。
  企业也是一样的,你会不会找一个在街上要饭的人当你公司总经理?不会的;
    你会不会找一个只有十二岁的人当你企业的总经理、管理者?也是不会的。
    所有的企业的人才,都需要经过挑选。
  所以如何挑选人才变成一个重要的话题,所谓的领导力——领导力不是去训练人,领导力的定义是选对人!
  我再强调一次:领导力的定义是选对人!
    一般人从小到大,没有学习如何选对人,
    所以他们在经营企业的时候,他们觉得只要我有一颗善良的心,我有爱心,反正我们就彼此以真诚相待,
    然后我们企业就会找到好的人才。——这是个全世界最大的谎言。

领导法则四 选择人才首先要列出理想人才的具体标准

  人才的过滤,人才的挑选,是有系统有方法的。
  以下我分享一些财富五百大企业挑选人才并且发掘人才,以及留住人才的方法:
  我们今天要选择好的人才,第一个,我们一定要列出理想人才的条件,好像我们今天征婚一样,
    OK,我们需要列出来:这个人的个性,这个人的职业,或是这个人身高、体重、长相以及他所具备的人格特质等等。
    比如说我时常问一些女生:“你要嫁好老公,身高大概是多少?”
    她们说:“陈老师啊,身高不重要,”
    我说:“那给你一米四零。”
    她说:“不行不行不行,一米七零至一米七五”。
    我说:“体重呢?”她们说:“陈老师,这个也不太重要!”
    那我说:“我给你三百斤,”
    她说:“NO NO NO NO ,这个也不行。”
    事实上她们都有一个理想的标准,而她们没有列出来。
  举个例子,假设我今天请我的助理帮我去买一套西装,
    我说:“助理,请你去帮我买一套黑色的西装。”
    然后他就去买了,我说:“助理啊,你怎么这么笨哪,我要的是四颗扣的西装,你怎么买成两颗扣?”
    我助理立即跟我讲:“老板哪,你之前只告诉我买黑色,你并没有告诉我买四颗扣。”
    后来我又请助理去换,结果助理回来又错了,
    我说:“助理啊,我穿是size五十号,你还买成四十八号,你还以为这一套是送你自己的啊?”
    助理说:“老板,你又没有说啊!”
    结果助理又去换,结果又买错了,
    我说:“助理啊,我要买某某牌。“
    他说

4
Mon, 25 Feb 2008 00:

第1章 新视野:企业—产品—人

1.1 软件危机新理解
1.2 企业—产品—人
1.3 企业的根本目标
1.3.1 观点和论断
1.3.2 案例与评论
1.3.3 推论
1.4 产品开发之道
1.4.1 开发正确的产品
1.4.2 正确地开发产品
1.5 用人之道
1.5.1 如何组建软件开发团队
1.5.2 如何管理软件开发团队
1.6 漫谈软件白领
1.6.1 软件白领的概念
1.6.2 软件白领的生活现状
1.6.3 软件白领的前途
1.7 如何成为优秀的软件人才
1.7.1 学习强势知识
1.7.2 提高表达能力
1.7.3 提高管理能力
1.7.4 提升人格魅力
1.8 小结
思考与练习

第2章 立项管理和结项管理

2.1 什么是立项管理
2.2 立项建议
2.2.1 规程介绍
2.2.2 产品构思
2.2.3 立项调查
2.2.4 如何撰写立项建议书
2.3 可行性分析
2.3.1 为什么要进行可行性分析
2.3.2 市场可行性分析
2.3.3 政策可行性分析
2.3.4 技术可行性分析
2.3.5 成本收益分析
2.3.6 SWOT分析
2.4 立项评审
2.4.1 角色职责
2.4.2 如何评审
2.5 项目筹备
2.6 结项管理
2.6.1 什么是结项管理
2.6.2 结项管理的流程
2.7 小结
思考与练习

第3章 项目规划与项目监控

3.1 项目规划的概念
3.2 如何进行项目估计
3.2.1 数学模型真的好用吗
3.2.2 简单直观的估计方法
3.3 制定项目计划
3.4 项目计划审批
3.5 项目计划变更控制
3.6 Future项目规划工具介绍
3.7 如何有效地监控项目
3.7.1 为什么要进行项目监控
3.7.2 任务进度监控
3.7.3 项目开支监控
3.7.4 人员业绩记录
3.7.5 软硬件资源监控
3.7.6 风险管理
3.7.7 项目进展报告
3.8 Future项目监控工具介绍
3.9 小结
思考与练习

第4章 需求开发与需求管理

4.1 什么是需求
4.1.1 基本概念
4.1.2 需求案例
4.2 了解用户
4.3 需求工程
4.3.1 基本概念
4.3.2 一些感悟
4.4 需求开发的主要困难与对策
4.4.1 知识技能问题
4.4.2 态度问题
4.4.3 合作关系
4.4.4 用户说不清楚需求
4.4.5 双方误解需求
4.4.6 开发人员写不好需求文档
4.4.7 用户经常变更需求
4.5 如何开展需求调查
4.5.1 需求调查规程
4.5.2 准备调查
4.5.3 调查与记录
4.5.4 撰写用户需求说明书
4.6 如何进行需求分析
4.6.1 问答分析法
4.6.2 建模分析法
4.6.3 做出决策
4.7 什么是好的产品需求规格说明书
4.7.1 正确
4.7.2 清楚
4.7.3 无二义性
4.7.4 一致
4.7.5 必要
4.7.6 完备
4.7.7 可实现
4.7.8 可验证
4.7.9 确定优先级
4.7.10 阐述“做什么”而不是“怎么做”
4.8 如何定义产品需求
4.8.1 规程
4.8.2 软件需求规格说明书的模板
4.9 需求确认
4.9.1 规程
4.9.2 需求评审
4.9.3 需求承诺
4.10 需求跟踪
4.11 需求变更控制
4.12 Future需求管理工具介绍
4.13 小结
思考与练习

第5章 软件系统设计

5.1 软件系统设计的核心内容
5.2 漫谈设计模式
5.3 体系结构设计
5.3.1 体系结构设计原则
5.3.2 体系结构设计的规程与模板
5.3.3 谈谈层次结构
5.4 用户界面设计
5.4.1 什么是好的用户界面
5.4.2 用户界面设计原则
5.4.3 用户界面设计的规程与模板
5.4.4 示例及详细的设计规则
5.5 数据库设计
5.5.1 数据库设计的主要困难与对策
5.5.2 数据库设计的规程与模板
5.6 模块设计
5.6.1 何为“模块”与“模块化”
5.6.2 模块设计原则
5.6.3 模块设计的规程与模板
5.7 数据结构与算法设计理念
5.8 小结
思考与练习

第6章 软件实现

6.1 软件实现的流程
6.2 准备工作
6.2.1 要准备什么
6.2.2 制定计划
6.2.3 制定编程规范
6.2.4 技术攻关
6.3 对编程的建议
6.3.1 尽可能

4
Sun, 24 Feb 2008 00:

Why would I build custom activities? Three proper motivations are:

  • Building reusable components
  • Extending windows workflow
  • Building a domain-specifice language

How do I build custom activities? Two way:

  • Activity composition(活动组合)

组合方式有点类似工作流的创建,我们使用Workflow Designer拉拽,放置和配置活动到一个自定义的活动中,然后将此活动进行打包到一个程序集,其他的工作流工程就可以引用这个程序集并使用这个自定义的活动。组合是工作流组件重用最简单最快捷得一种方式。

  • Derivation(派生)

在派生方式中,我们从Activity类中派生一个新的Activity,相应的,我们也可以从Activity的派生类中进行派生以继承更多的功能。我们可以自定义该Activity的设计视图,验证,序列化以及代码生成部分。派生方式提供了最高层次的控制Windows Workflow,并提供了扩展WF的一种途径。



navyliu 2008-02-24 08:45 发表评论

5
Sat, 23 Feb 2008 09:

今天在亚马逊网址上浏览时,发现一本介绍如何介绍如何优雅的编程的书籍,不敢独享,特拿供大家来分享,希望对你有所帮助,当然书是英文的优雅的代码

Lucky Jack 2008-02-23 17:20 发表评论

5
Wed, 20 Feb 2008 09:

第1章  UML介绍
 1.1  UML概述
 1.1.1  方法之战
 1.1.2  UML方法
 1.1.3  UML的认可
 1.1.4  OMG标准
 1.2  方法和建模语言
 1.3  面向对象软件开发
 1.4  UML的用途
 1.4.1  不同类型的系统
 1.4.2  业务工程
 1.5  系统开发阶段
 1.5.1  需求分析阶段
 1.5.2  分析阶段
 1.5.3  设计阶段
 1.5.4  编码阶段
 1.5.5  测试阶段
 第2章  UML概述
 2.1  视图
 2.1.1  用例视图
 2.1.2  逻辑视图
 2.1.3  组件视图
 2.1.4  并发视图
 2.1.5  部署视图
 2.2  图
 2.2.1  用例图
 2.2.2  类图
 2.2.3  对象图
 2.2.4  状态图
 2.2.5  顺序图
 2.2.6  协作图
 2.2.7  活动图
 2.2.8  组件图
 2.2.9  部署图
 2.3  模型元素
 2.4  通用机制
 2.4.1  修饰
 2.4.2  注解
 2.4.3  规格说明
 2.5  扩展UML
 2.5.1  构造型
 2.5.2  标记值
 2.5.3  约束
 2.6  用UML建模
 2.7  工具
 2.7.1  绘图支持
 2.7.2  模型存储库
 2.7.3  导航
 2.7.4  多用户支持
 2.7.5  代码生成
 2.7.6  逆向工程
 2.7.7  工具集成
 2.7.8  模型互换
 2.8  本章小结
 第3章  用例建模
 3.1  用例图
 3.2  系统
 3.3  参与者
 3.3.1  发现参与者
 3.3.2  UML中的参与者
 3.3.3  参与者之间的关系
 3.4  用例
 3.4.1  发现用例
 3.4.2  UML中的用例
 3.4.3  用例之间的关系
 3.5  描述用例
 3.6  测试用例
 3.6.1  排练用例
 3.7  实现用例
 3.8  本章小结
 第4章  类. 对象及它们的关系
 4.1  类和对象
 4.2  类图
 4.2.1  发现类
 4.2.2  名称部分
 4.2.3  属性部分
 4.2.4  操作部分
 4.2.5  使用简单类型
 4.3  关系
 4.4  关联
 4.4.1  标准关联
 4.4.2  对象图
 4.4.3  递归关联
 4.4.4  关联中的角色
 4.4.5  限定关联
 4.4.6  或关联
 4.4.7  有序关联
 4.4.8  关联类
 4.4.9  三元关联
 4.4.10  聚合
 4.5  泛化
 4.5.1  标准泛化关系
 4.5.2  受约束的泛化关系
 4.6  依赖和精化关系
 4.7  约束和导出(规则)
 4.8  接口
 4.9  包
 4.10  模板
 4.11  模型质量
 4.11.1  什么是好模型
 4.11.2  模型与它的目的匹配吗
 4.11.3  模型协作
 4.11.4  模型复杂性
 4.12  本章小结
 第5章  动态建模
 5.1  对象(消息)之间的交互
 5.2  状态图
 5.2.1  状态和转换
 5.2.2  事件
 5.3  在状态图之间发送消息
 5.3.1  子状态
 5.3.2  历史指示器
 5.4  顺序图
 5.4.1  一般形态和实例形态
 5.4.2  并发对象
 5.4.3  定义迭代和约束的标签
 5.4.4  创建和销毁对象
&

8
Mon, 18 Feb 2008 08:

Programming C# 3.0 Fifth Edition,O'REILLY 2008 出版,ISBN 978-0-596-52743-3
这本书很详细的介绍了C# 3.0,建议跳过你手中介绍C# 1.0和C# 2.0的资料,直接学习C# 3.0。

C# 3.0 Cookbook Third Edition,O'REILLY 2008 出版,ISBN 978-0-596-51610-9
超过250个C# 3.0和.NET 3.5的使用实例,适合作为参考书,有实际需求的时候查询。

C# 3.0 Design Patterns,O'REILLY 2008 出版,ISBN 978-0-596-52773-0
23个模式的C# 3.0实现,可以用来温习GoF的Design Patterns,同时了解C# 3.0的新功能如何运用。

PS: http://www.cnblogs.com/RobertLee/archive/2008/02/13/1068259.html 提供了下载地址。

另外还有几本C# 3.0的新书,个人认为没有以上三本好:
Accelerated C# 2008,Apress
Beginning ASP.NET 3.5 in C# 2008,Apress
Beginning C# 2008,Apress
Pro C# 2008 and the .NET 3.5 Platform,Apress

旧的一些资料,顺便整理下
ECMA-334 http://www.ecma-international.org/publications/standards/Ecma-334.htm
ECMA-335 http://www.ecma-international.org/publications/standards/Ecma-335.htm
C#和CLR的ECMA标准

.NET 3.0 相关的
Pro WPF Windows Presentation Foundation in .NET 3.0, Apress
XAML in a Nutshell, O'REILLY
LINQ in Action, MANNING
Pro LINQ Language Integrated Query in C# 2008, Apress
Pro WCF Practical Microsoft SOA Implementation, Apress
Professional Windows Workflow Foundation, Wrox
Programming WCF Services, O'REILLY

其它的
Essential Silverlight,O'REILLY
Programming ASP.NET AJAX,Apress
Foundation of F#,Apress
Expert F#,Apress
The Definitive Guide to the Microsoft Enterprise Library,Apress

每个主题我尽量只给出1~2本新书推荐,同时在P2P网络中可以获取到的。出于对作者的尊重,大部分电子书我浏览完后都删掉了。

有问题请邮件联系我xingd[at]263.com,对于不在此列表中的电子书,我很乐意给出比较并推荐适合你阅读的那一本。



xingd 2008-02-18 16:41 发表评论

3
Sun, 17 Feb 2008 15:

老榕的SINA博客:

http://blog.sina.com.cn/laorong

有启发,与大家共享!



Jeff Weng 2008-02-17 23:23 发表评论

5
Fri, 15 Feb 2008 09:

前两天看到Haissam推荐的一片文章——Exception Management in .NET.

确实是篇好文章,虽然有些年头了,但是仍颇有价值。仔细一看,原来是P&P出的一个Guide。

以下是一些我觉得有用的要点:

异常处理流程

  • exception handling process.

Figure 2. Exception handling process

  • Processing of unhandled exceptions, see Figure 3.

Figure 3. Processing of unhandled exceptions

异常检测

You should only catch exceptions when you need to specifically perform any of the following actions:

  • Gather information for logging

  • Add any relevant information to the exception

  • Execute cleanup code

  • Attempt to recover

异常传播
There are three main ways to propagate exceptions:

  • Let the exception propagate automatically:With this approach, you do nothing and deliberately ignore the exception.

  • Catch and rethrow the exception:With this approach, you catch and react to the exception, and clean up or perform any other required processing within the scope of the current method. If you cannot recover from the exception, you rethrow the same exception to your caller.

catch(TypeAException e)

{

// Code to do any processing needed.

// Rethrow the exception

throw;

}

  • Catch, wrap, and throw the wrapped exception:If you cannot recover, wrap the exception in a new exception, and throw the new exception back to the caller. The InnerException property of the Exception class explicitly allows you to preserve a previously caught exception. This allows the original exception to be wrapped as an inner exception inside a new and more relevant outer exception.

catch(TypeBException e)

{

// Code to do any processing needed.

// Wrap the current exception in a more relevant

// outer exception and rethrow the new exception.

throw(new TypeCException(strMessage, e));

}

When to use inner exception
You should wrap an exception only when wrapping an exception can provide a more relevant exception to the caller.

 

管理未处理异常

When an unhandled exception propagates to the last point or boundary at which your application can handle the exception before returning to the user, your application can no longer recover from the exception. At this point, it must gather information, log information, send any notifications, perform any cleanup, and do any other processing needed before managing the communication of the exception condition

to the user.

 

收集信息

What is the required information, just see table 2:


ps:文中关于Exception

3
Wed, 13 Feb 2008 14:

     摘要: 各位过年好啊,祝大家新年里大展宏图,事业有成,也希望南方能够尽快从雪灾中恢复过来,迎来奥运的春风....

VS2008已经正式发布,估计很多朋友已经安装了...趁热打铁,送出两本C#3.0的电子书,都是今年1月才Release的....

OReilly.C.Sharp.3.0.Cookbook.3rd.Edition
OReilly.Programming.C.Sharp.3.0.5th.Edition  阅读全文

Robert Lee 2008-02-13 22:46 发表评论

4
Wed, 13 Feb 2008 09:

近日消息,据国外媒体报道,Linux之父李纳斯·托沃兹(Linus Torvalds)近日表示,Mac OS X和Windows Vista是两款有缺陷的操作系统。

托沃兹说,这两款系统的缺陷程度是不同的。相比之下,新版Mac OS X Leopard要比Vista好些。但是,在某些方面,Leopard还要逊色于微软的Vista系统。

至于Linux系统,托沃兹所引以自豪的是打入了移动设备市场,如百元笔记本电脑和华硕的易PC。

关于后者,托沃兹认为,这是亚洲硬件厂商绕过西方商业操作系统的开始,目的是获得对产品的更多控制权。



kelvenxu 2008-02-13 17:39 发表评论

5
Tue, 11 Mar 2008 05:

     摘要: 我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?

将下列原则应用到你的软件工程中,你会获得立杆见影的成果。

1. 人远比技术重要

  阅读全文

phcis 2008-03-11 13:47 发表评论

4
Mon, 10 Mar 2008 13:

        从前在一个密闭的王国里, 一群人做了一个很二很二的项目, 在那个项目里他学会了说"二"这个词, 在开始编码前他们发疯的使用时序图绘制了所有的函数, 并以每天做出了许多个为傲.

  一个年轻人曾经彻彻的认为, 这就是未来, 这就是革命, 这就是思考.

       有一天, 他从王国走出来, 发现大家都很谈笑的计划和实施, 一切原始和自然的记忆慢慢回来心里.

       真实的渴望就像风吹过一样.

 

"我们应该拿到这个日本开发的GridView控件的行和列"

"我们应该获取正在编辑的这个单元格的行和列"

"怎么能让这个控件可以被编辑呢?"

"怎么让这一列不能被编辑呢?"

"我们可以绘制一个矩形, 并且判断鼠标是不是在这个矩形中, 如果在的话,  这个就不应该被编辑"

"那让我们来试试看"

 

         好稚嫩的对话, 在梦里流淌的对话, 这是对程序原始最原始的渴望和交流.

         这是曾经的他.

 

         今天终于看到Bob大叔和他的儿子Robert C.Martin;Micah Martin 说的公道话

         "我曾经看到一个愚蠢的项目用时序图绘制出了所有的函数", "最聪明的程序开发方法是结伴编程".

 

        迷失了很久, 终于找到追逐的距离. 原来, 我们的追逐就在我们起步的地方.



阿鸟 2008-03-10 21:15 发表评论

4
Mon, 10 Mar 2008 03:

通过对书上例子对文档结构的分析学习组合模式
分析:
定义文档基本元素
从根本上来说,一个文档只是对字符、线、多边形和其他图形元素的一种安排。这些元素记录了文档的整个信息内容。
分析内部表示
然而,一个文档作者通常并不将这些元素看作图形项,而是看作文档的物理结构—行、列、图形、表和其他子结构 。而这些子结构也有自己的子结构。用户界面应该让用户直接操纵这些子结构。
• 保持文档的物理结构。即将文本和图形安排到行、列、表等。(元素如何组织)
• 可视化生成和显示文档。(元素如何显示)
• 根据显示位置来映射文档内部表示的元素。(根据显示获取元素,涉及用户操作)
一些限制条件:
一致对待文本和图形,简化格式及操作机制
一致地对待简单元素和组合元素
为了检查拼写错误和确定连字符的连接点,需要对文本进行分析与一致地对待简单元素和组合元素产生的矛盾。
实现:
层次结构信息的表述通常是通过一种被称为递归组合 (Recursive Composition)的技术来实现的。递归组合可以由较简单的元素逐渐建立复杂的元素.

我们将字符和图形从左到右排列形成文档的一行,然后由多行形成一列,再由多列形成一页


  我们将为出现在文档结构中的所有对象定义一个抽象类图元(Glyph )。它的子类既定义了基本的图形元素(像字符和图像),又定义了结构元素(像行和列)



费哥 2008-03-10 11:17 发表评论

3
Sun, 09 Mar 2008 13:

刚在Google books上撞到这本书,还以为是个标题党,善搞,一看作者,竟然有Gerald Jay Sussman!列入看书计划。


yushih 2008-03-09 21:25 发表评论

4
Thu, 13 Mar 2008 06:

谈到Web站点,或者俗称的“网站”,想必很多程序员朋友都不陌生。很多朋友也正是从纯粹HTML的“网页制作”对计算机产生了兴趣,随后开始涉及后台的“网站程序”,最终走入了IT领域。

市面上介绍网站制作,比如PHP、ASP.NET、JSP的图书不计其数。可是当我们从这些图书中学到了入门知识后,怎样才能真正地做出一个像样的网站,而不是只能在个人电脑中运行的、类似各种官方资料中的示例页面呢?

所谓“像样的网站”,是指那些大规模的、实实在在存在于互联网上、每天被成千上万人访问的网站。简简单单从IDE中拖放控件做出的网站是无法做到这一点的。

作为Flickr的架构师和主力开发人员,Henderson自然深谙此道。通过这一本薄薄的小书,作者将大规模、可扩展网站的实现要点悉数囊括其中。

本书的第二章介绍了Web站点的架构知识,包括软件和硬件的层次结构。可以看作是全数后续章节的基础。随后在第三章中转向了软件开发流程的介绍。毕竟罗马不是一天建成的,真正的大规模网站需要整个团队的长时间一起努力。其中的团队配合、构建过程、Bug跟踪、编码规范等每一个问题都值得我们在开始前仔细斟酌。

第四章和第六章中讨论的国际化和Email问题是每个网站都要使用的,而且又不是件容易的事,因此作者特地将其分为两个章节讨论。

大型网站容易成为“众矢之的”,因此安全性则显得特别重要。在第五章对数据一致性和安全性的介绍中,作者给出了一些相当精妙的问题对策,用来处理HTML字符、脚本攻击以及SQL注入攻击等。

八、九章则专注于性能。首先在第八章中介绍了找到Web站点性能瓶颈的方法,随后在第九章中给出了扩展并提升性能的方法,包括编程语言、负载均衡、数据库等多个主题。

最后在第十一章中,作者有意识地将API也列成了一个独立的章节,显示出Web 2.0网站的交互特色。这一章介绍了网站中API的一般开发、设计模式。

总体说来,这本篇幅不大、语言诙谐的小书,能够帮助你在“Web程序设计”之上更进一步。作为开始学习并尝试开发大规模Web站点的入门资料,本书所提供的理论基础以及基本的介绍能够让你找到起步的方向。至于随后的专门深入了解,就不是任何资料能够提供的了,需要每个人的理解、尝试、分析和总结。

希望这本书能够帮助对此感兴趣的朋友找到继续研究的方向。



Dflying Chen 2008-03-13 14:41 发表评论

8
Wed, 12 Mar 2008 14:

“当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。因为剩下的20%可能还需要80%的时间,甚至永远都不能完成。”

上面这段话来自于《持续集成——软件质量改进和风险降低之道》的译者序。仔细想想,此话说得相当有道理:程序员是一群自信而乐观的人,总是以为自己已经考虑到了方方面面,所编写的模块万无一失、无懈可击。哪怕遇到了问题,也总会找到理由:是不是需求或是别人出了问题——一句最为流行的Developer应对Tester的Bug Report的话就是,“It is not a bug, but it is a feature.”。

不过即使程序员有千万种理由为自己的模块洗清了一切的“罪名”,但客户需要的上线或发布时间却仍旧无声地等在那里,不以任何人的借口而改变。

回到本文开始的那段译者序文字中,那“剩下的20%”究竟要用来做什么呢?为什么“可能还需要80%的时间”呢?

答案就是集成。虽然流行的软件开发理论已经把模块/组件之间的耦合程度降低到了最低,且有无数种类似单元测试的“流程”保证这每一个独立模块功能的正确性,不过当把这些堪称“完美”的模块集合成一个整体系统时,还是会不停地出现各种问题?

 

OK,让我们停止探讨为什么会发生这样的情况之类无谓的探讨,而是去看看应该怎样解决这个问题,并最终保证产品的发布时间和质量——毕竟问题已经发生了。

——持续集成。

持续集成能够把最终的一次大规模的集成调试过程分散到项目开发时间表的每一周、每一天、甚至每个小时。让项目中的各个人员都能够随时掌握当前的整体进度,并迅速发现集成过程中出现的问题并进行解决。

这本《持续集成——软件质量改进和风险降低之道》的第一部分就详细介绍了持续集成的理念、相关流程以及做法。

 

目前来看,持续集成似乎看起来非常不错,不是吗?

可是,一次集成并不是说句话就能搞定的——构建、部署、测试、生成测试报告、反馈……种种操作将会占用大量的人工。难道还需要专门派人负责每天的集成吗?

因此,将所有的步骤自动化,就是实现持续集成中最为重要的问题。

《持续集成——软件质量改进和风险降低之道》的第二部分则给出了一个完善的自动化持续集成流程,让持续集成从一句空谈变为实实在在的、具有可操作性的规范。

 

不过是一本200页左右的小书,却已经毫无遗漏地将持续集成的点点滴滴娓娓道来。若你正在为这方面的问题苦恼,不妨尝试从中找到一些答案。



Dflying Chen 2008-03-12 22:23 发表评论

4
Wed, 12 Mar 2008 05:

如果你是创业公司的老板或者, 未来的某天打算创业, 这篇 Mahalo.com 的创业过来人的经验之
谈, 教会我们如何充分地避免/节约不必要的开支. 有些咋一看似乎是花钱的, 其实, 不然 :)

1. 为 IT 部门买苹果电脑
2. 为每个员工配备两个显示器
3. 每周四天为员工买午餐, 不开会, 要开就在午餐时边吃边开
4. 买最便宜的桌子和最贵的椅子!
5. 别买电话系统 (大家都在网上交流了嘛)
6. 把办公室的空闲地方租出去
7. 把财务和 HR 外包 (原因俺不引用, 怕挨揍..)
8. 别用别买 M$ Office!
9. 用 gmail, 别用 M$ Exchange Server
10. 给非常努力干活的员工 - 那些回家也会嗷嗷找活干的 - 买一台家用电脑
11. 开掉不热爱, 不投入工作的家伙
12. 买台超好的咖啡机
13. 冰箱里务必堆满饮料
14. Allow folks to work off hours. Commuting sucks and is a waste of
time for everyone. Let folks start at 6am or 11am and you'll cut their
commute in half (at least in LA). (这句没看太懂,  似乎说是没必要要求所谓的 "全勤",要允许员工可以在早上 6 ~ 11 点间上班, 随他们喜欢)
15. 每 6 ~ 9 个月就找服务提供商要点 10~30% 的折扣
16. 上社区网站捞人
17. 想清楚在 PR (? 嘛东东? Press Release?? Public Relationship???) 上花老多的钱是否真的必要

原来的第 11 条作者写的是 "开掉非工作狂", 结果引发了来自 37signals.com (不知道是干啥的? RoR
文章内容均为自动聚合而来,不代表本网站赞同其内容和观点. 本页执行时间:6300.071 ms
© 2008 Dig168.com 冀ICP备07502488号
合作伙伴 链接交换
6301.66196823