
术
chelsea
这个作者很懒,什么都没留下…
展开
-
Essential Security: PKI, SSL and Xml Security
See also: <<Essential Security Tools: OpenSSL and Keytool>> 一、PKI与数据通信中的安全相关概念这几个概念是正交的,所谓正交,是指:彼此独立,互不影响,可独立演化 可两两结合使用 1. 保证安全通常需要解决三个问题 数据本身的机密性:数据...2007-03-09 13:51:00 · 126 阅读 · 0 评论 -
Ivy: 搭建本地仓库
基本上, 搭建一个本地的ivy仓库, 包含两件独立的事情: 搭建仓库本身, 和配置如何使用这个仓库 仓库本身Ivy的Repository是由一个个Module组成的, Module则包含自身的artifacts(通常是jar文件)和描述文件.Module的描述文件是ivy的核心, 里面记录了这个module包含哪些artifacts和这个module对其它module的依赖. 这样...2007-12-23 23:23:00 · 337 阅读 · 0 评论 -
CruiseControl 的 108 种调度模式
/*************************/"拥抱变化" 是敏捷的态度之一, CruiseControl 正是来实证这种态度的作品. 多种类型的"变化"都会触发CruiseControl的一次构建过程.我们知道CruiseControl能根据源代码的变化来调度一次构建, 但你知道CruiseControl支持多少种调度模式吗?---切尔斯基/*********...2008-01-05 18:19:00 · 95 阅读 · 0 评论 -
Ant: 大规模应用中的应用
Large Scale 的应用通常意味着: 目录较多, 层次较深依赖较多, 构建脚本依赖的第三方Ant Task, 项目依赖的第三方库等测试较多, 构建时间反馈周期较长需要在不同操作系统上运行 需要在不同团队成员的机器上运行 由于以上原因, 导致Ant脚本较长 1. 目录较多, 层次较深通常有两种风格的解...2008-01-12 21:52:00 · 206 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (4) : Bootstrap with a Bootstrapper
©Copyright 2008 Julian Simpson. All rights reserved. 英文原文: Bootstrap with a Bootstrapper I'm an Infrastructure Specialist at ThoughtWorks. In my role I make sure that we are building our s...2008-02-18 11:04:00 · 97 阅读 · 0 评论 -
持续集成: 流程指南
/** * 本没有流程, 公司采用CMMI, 要求有个流程, 就写了一个 */Continuous Integration Process Guide 持续集成实施指南像" 版本控制", "配置管理"一样, "每日构建", "持续集成(Continuous Integration, 简称CI)"等实践也成为现代软件开发的必备配置. 一个好的CI环境, 能够让你实时监控软...2008-09-07 22:38:00 · 132 阅读 · 0 评论 -
持续集成: 实践指南
第一部分. 实现 0. 持续集成工具的作用降低风险? No提高质量? No快速反馈? Yes !工具本身并不能降低项目风险, 提高代码质量. 工具唯一能做的是给你快速反馈. 你收到反馈之后的行为, 才是降低风险, 提高质量的关键 (好几天不check in, 工具再牛也白搭; 失败的build不修复, 工具也无能为力)所以持续集成是一个以人为核心的过程, 工具...2008-09-07 22:41:00 · 235 阅读 · 0 评论 -
ThrowawayObject :在Java中实现Rails里的Flash Message
需求是表单提交后, 转到另外一个已经存在的页面, 并在页面上方的空白处显示一条醒目的消息, 而且只显示一次 (刷新后这条消息不应该再出现). 对 Web 开发相当不熟, Pair说这需求类似 RoR里的 flash message, 问Java里有没有. 我们用SpringMVC + Velocity, 看了看文档, 问了问人, 短时间没有得到确定方案.那就试一试吧, 明知几乎不可能成功, 还是写...2008-10-06 22:07:00 · 103 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (5) : Refactor your configuration file
©Copyright 2008 Julian Simpson. All rights reserved. 英文原文: Refactor your configuration file I was an Infrastructure Specialist at ThoughtWorks. In my role I make sure that we are building our ...2008-03-12 10:32:00 · 98 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (6) : Scaling up
CruiseControl Enterprise 最佳实践 (6) :Scaling up©Copyright 2008 Julian Simpson. All rights reserved. 英文原文: Scaling up I was an Infrastructure Specialist at ThoughtWorks. In my role I make s...2008-04-12 23:17:00 · 94 阅读 · 0 评论 -
交互设计: 股市帮凶
同事 Y 在线操作股票时, 把"买入"点成了"卖出", 结果以远远低于市场价的价格差点清仓. 没有看过那个界面, 从他的描述中是这样的:"一排五个按钮, 买入和卖出靠在一起, 字体很小."谁还没有个眼花手抖鼠标乱跳的时候啊!作为业余交互设计爱好者, 我觉得好一点的设计可以这样:0. 使用业务术语, 甚至业务口语来标识按钮的功能, 比如不要说什么买入卖出, 按钮文字应该是大大的"抄底", "出货"等...2008-05-04 21:30:00 · 107 阅读 · 0 评论 -
交互设计: 火车上的厕所
有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了,其实里面没人.可是设计上没有任何区别! 都是门闩处显示"有人"字样!其实厕所有两种状态, 使用中和停用中, 使用中才分有人和无人, 可似乎设计上只考虑了使用中的情况. 我注意了车厢内的电子显示屏, 也没看出如何指示锁住停用的状态没注意是不是所有的火车都这样, 或者认为这个问题可以由乘务员解决? ...2008-05-26 17:17:00 · 312 阅读 · 0 评论 -
The Ruby Programming Language Notes
/****************************************按名称调用一切都是对象, 且永不关闭钩子无处不在yield/block/proc/lambda, 一等公民符号与哈希模块/类/实例, 随意组装****************************************/ 关于风格 不会区分什么 primitive ty...2008-05-26 23:13:00 · 92 阅读 · 0 评论 -
C#泛型: 消除Visitor模式的循环依赖, 以及无聊的Accept方法
1. 经典的Visitor模式(循环依赖) public interface Document { void Accept(DocumentVisitor visitor); } public class WordDocument : Document { public void Accept(...2010-03-15 23:37:00 · 119 阅读 · 0 评论 -
客户识别 Client Categorization
问题: 如何减少跟某个客户了解和确认并实现了的需求却被他的同事推翻需重新设计和实现 具体的原因有很多,其中一点是一开始没找对人. 一个项目,客户那边的stakeholder通常不止一个人,这些人有自己负责的领域. 他们也通常是某一领域的专家. 这里专家的意见要参考,但要找负责的人确认. 所以首要的就是识别谁负责啥. 以CWP项目为例, 初始客户那边有4个人. 他...2011-02-20 16:42:00 · 119 阅读 · 0 评论 -
RegexBuilder: A DSL for creating regular expression, Request For Comment
class IP include RegexpBuilder def less_than_255 _0_to_100 = repeat(digit(), 1, 2) _100_to_200 = "1" + _0_to_100 _200_to_250 = "2" + either("0-4") ...2007-12-16 22:25:00 · 158 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (3) : Configuring CruiseControl the CruiseControl way
©Copyright 2007 Julian Simpson. All rights reserved. 英文原文: Configuring CruiseControl the CruiseControl way I'm an Infrastructure Specialist at ThoughtWorks. In my role I make sure that we are b...2007-11-09 09:27:00 · 104 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (2) : Keep your dependencies to yourself
CruiseControl Enterprise 最佳实践 (2) : Keep your dependencies to yourself©Copyright 2007 Julian Simpson. All rights reserved. 英文原文: Keep your dependencies to yourself I'm an Infrastructure Spec...2007-10-15 23:06:00 · 86 阅读 · 0 评论 -
Essential Security Tools: OpenSSL and Keytool
See also: <<Essential Security: PKI, SSL and Xml Security>> 1、OpenSSL实践工作中需要配置使用SSL来双向认证并通信的FTP服务器,以OpenSSL和Java的keytool为例,来完成证书的制作:d:/openssl/mkcerts>openssl genrsa -o...2007-03-09 13:57:00 · 127 阅读 · 0 评论 -
Essential Web Services: SOAP, WSDL and UDDI
1. SOAP: 与 Web Service 无关虽然SOAP可能是为了实现Web Service而被发明的,但实际上它可以被用在任何需要交换数据的场合(SOAP is an XML-based communication protocol and encoding format for inter-application communication)SOAP本身是语义独立的,基...2007-03-09 15:34:00 · 121 阅读 · 0 评论 -
emma : 测试覆盖率低于指标的时候让Ant Build自动失败
<target name="emma.reporting"> <emma enabled="true"> <report sort="+name" metrics="method:80,block:90,line:80,class:100"> <fi2007-04-22 18:05:00 · 83 阅读 · 0 评论 -
Enhanced SAX Handler : 比 DOM 还简单的SAX Handler
快速与简单并非天生不可兼得, 相反, 简单的东西应该是快速的在使用 SAX 解析 XML 的过程中, 碰到了以下问题:SAX Handler 并没有想象中快, 尤其是文件比较大的时候SAX Handler 编写容易出错, 因为需要区别不同的元素, 需要很多判断才能拿到自己想要的信息没有统一的方法获取SAX Handler解析出来的信息这实际上反映了目前SAX Handler接口定...2007-05-21 07:03:00 · 162 阅读 · 0 评论 -
The Boost C++ Metaprogramming (翻译)
THE BOOST C++ METAPROGRAMMINGLIBRARYAleksey GurtovoyMetaCommunicationsagurtovoy@meta-comm.comDavid AbrahamsBoost Consultingdavid.abrahams@rcn.com?1. Introduction元程序通常被定义为“生成其它...2004-01-20 21:19:00 · 132 阅读 · 0 评论 -
Mingle: 做Agile, 用Mingle
我是Developer, 偶尔做些管理工作, Mingle是我用过的"管理"工具中最没有抵触情绪并乐于使用的产品, 相较于曾用过的ClearQuest, JIRA, Trac, MS Project等 想了一下, 可能是因为下列原因吧: 1, 简单 我讨厌文字堆砌, 密密麻麻的界面, 让人望而生畏的菜单, 这种界面和菜单都在向你暗示, 你的工作是枯燥的, 繁琐的, 从而让你情绪不高.然而M...2007-06-20 06:44:00 · 288 阅读 · 0 评论 -
The Java Programming Language Notes
1,static member可使用该类对象的空引用来引用该类static memberSomeClass obj = null;obj.staticMethod();obj.staticData = 1;用对象引用静态成员是不被推荐的,但为什么不像C#那样禁止掉呢?2,多重继承面对从多个接口继承而来的签名相同的方法,子类似乎只能提供一份实现,这样语义的正确性是如何保证的呢?C#可...2004-07-07 08:39:00 · 250 阅读 · 0 评论 -
The C# Programming Language Notes
1,不彻底的abstract即使是abstract class,也不能对实现的接口的某个成员视而不见,即下面这样是不允许的:interface in_one{ void A();}abstract class base_one : in_one{ }这一点上还是Java方便,不管C#的初衷是什么2,out参数与指针的指针out子类不能转化为out基类,如果允许转换的化,将无...2004-07-21 17:28:00 · 109 阅读 · 0 评论 -
The Curl Programming Language
The Curl Programming Language概述 | 语言特性 | 应用领域 | 优点 | 缺点 | 示例程序 | 供应商 | 学习成本概述 Curl是由美国国防部和麻省理工学院共同研究开发的Web开发语言。目前它的拥有者是Curl.Inc(www.curl.com);目标是用一种统一的面向对象的语言代替HTML,Cascading Style Sheets,Ja...2004-07-26 11:26:00 · 82 阅读 · 0 评论 -
C++批判的批判
1,typedef不必要?a,typedef提供了一层间接,面向对象语言中,接口掩盖了运行时不同具体类型间的差别,而typedef掩盖了编译时不同类型间的差别,却又不丧失类型安全性b,一般语言只能返回“值”,而typedef提供了返回“类型”的能力,这是模板元编程不可或缺的机制,除非模板元编程眼下也是不必要的2,导入在不同地点分别对#include,private成员放在头文件中,...2004-08-10 18:38:00 · 99 阅读 · 0 评论 -
synchronized : 规则, 推论与实践
14.3.Synchronization.Rule 1. synchronized:只影响多线程,不影响本线程 (Locks are owned per thread, so invoking a synchronized method from within another method synchronized on the same object will proceed with...2007-07-23 22:32:00 · 192 阅读 · 0 评论 -
设计原则与模式: 案例介绍--CppUnit
设计原则与模式: 案例介绍--CppUnitCppUnit 是一个单元测试框架, 我们看一看它的设计是如何遵循基础的设计原则和模式的单一职责原则TestRunner 和 TestResult 的分离 class CPPUNIT_API TestRunner {virtual void addTest( Test *test );...2008-06-01 20:15:00 · 104 阅读 · 0 评论 -
假冒的艺术
预处理的接入点构建脚本中的宏定义可以控制将文本解释为真正的实现还是假的实现构建脚本中的头文件搜索路径可被用来控制接入真正的声明还是假的声明头文件中的防卫宏可被用来接入假的声明以遮挡真正的声明被包含进来上面第二点通常要求提供同名的头文件, 而使用不同的构建设置而第三点不要求同名, 只要使用相同的防卫宏, 并保证把包含替代声...2008-07-06 22:39:00 · 111 阅读 · 0 评论 -
CruiseControl Enterprise 最佳实践 (1) : Publish with a Publisher
CruiseControl Enterprise 最佳实践 (1) : Publish with a Publisher©Copyright 2007 Julian Simpson. All rights reserved. 英文原文: CruiseControl Enterprise: 10 Best Practices I'm an Infrastructure Specialis...2007-10-11 23:56:00 · 116 阅读 · 0 评论 -
REST on ASP.Net MVC (and Future)
See also: <<Enterprise REST = Customize, Invent and Standardize Media Types>> MVC和REST是两种不同的世界观. 前者更多的是对行为的建模,后者则更强调数据(状态及状态的变迁). 前者给出的是内部实现方面的指导, 把程序结构分离为Model, View及Controller. ...2011-06-14 21:18:00 · 145 阅读 · 0 评论