【转载】商业计划书撰写要点

原文作者: Brad Feld
翻译作者: 丁丁
原文链接: The Torturous World of Powerpoint

  从90年代以来,我已经看了成千上万的商业计划报告。其中绝大部分都很糟糕。不幸的是,这并不是微软Powerpoint软件的错(即使 Freelance 也不能解决这个问题)。

  这其实是计划书作者的责任。 Edward TufteThe Visual Display of Quantitative Information 方面的权威,他认为 Powerpoint绝对是邪恶而且有害的。象 Beyond Bullets 这样的网站有助于减少这些害处,但是因为我必须在很短的时间里(通常是30到60分钟)完成非常细节内容,我想有必要更详细的介绍一下什么是“好的”计划。

  几年以前,Chris Wand (他和我一起在 Mobius 投资公司工作过)列出了一些和VC商谈时必须解决的问题。如果所有创业者都自觉考虑并解答了这些问题,那事情会变得容易多了。

  下面是那些应该解答的问题:

阅读全文 »

【转载】Apache+JK+Tomcat负载均衡配置

  网上关于Apache+JK+Tomcat的集群配置例子很多,按着例子配置下来,基本都能运行,不过,在一些重要的地方却没有进一步的说明。这次公司一个产品就是采用Apache+JK+Tomcat集群,在整个配置、测试过程中,遇到了许多的问题,经过不断测试、摸索,最后总算是搞定了,性能也达到了预期的目标。针对网上的例子,感觉有必要再详细的介绍一下我的配置过程,对一些要特别注意的地方进行补充。

  集群有别于分布式的解决方案,它采用的是每台服务器运行相同应用的策略,由负责平衡的服务器进行分流,这对提高整个系统的并发量及吞吐量是更有效的办法。而集群对请求的处理又有两种不同的方式:负载平衡、状态复制(即集群),状态复制需要在各服务器间复制应用状态,而负载平衡则不用,每台服务器都是独立的。实践证明,在各应用服务器之间不需要状态复制的情况下,负载平衡可以达到性能的线性增长及更高的并发需求。

  对于集群的其它基础知识,在此就不再赘述。以下就这次Apache+JK+Tomcat的负载平衡配置进行总结,重点关注整个配置及注意事项。

阅读全文 »

乌克兰哥萨克老人弹起古老的Bandura

乌克兰哥萨克老人弹起古老的Bandura

  乌克兰哥萨克的一位老人10月31日在基辅,陶醉地弹奏乌克兰民族古老的管弦乐器——bandura,在乡村的节日和市集里献唱。

  十九世纪末,乌克兰的民族学者发现了这项尚存的珍贵传统,盲歌手,当地称KOBZARI,在乡村的节日和市集里献唱,他们所奏的乐器称作BANDURA,是一种结合了中亚鲁特琴和中古时期基辅式膝上竖琴特征的弦乐器。这些职业歌手所唱的史诗歌谣与当地民谣并没有共同之处,盲歌手们自有其秘密的组织,技艺由学徒制传承,通常三年才出师,团内使用密语,以免功夫外传。

  哥萨克是历史上俄罗斯、乌克兰等地的一些人群的总称,是俄国历史上的特殊社会阶层。哥萨克一词源于突厥语,意为自由人。

  哥萨克住在人烟稀少的边远地区,靠当雇工为生。一些不愿忍受地主、贵族压榨的俄罗斯、乌克兰农民迁徙到由于钦察汗国被推翻之后的俄南地区并建立了一些地方政权。自16世纪起,哥萨克因替沙皇政府镇守边疆,被免除劳役和赋税,并获得一定的俸禄和相当数量的土地。他们拥有经自由选举产生的统领、百人长、大尉所组成的自治机构。

阅读全文 »

不包含图形验证码的安全表单?

  今天看到这篇文章:Safer Contact Forms Without CAPTCHA’s,仔细想了下,得出的结论是,如果你的网站对于机器人来说没有什么太大的利用价值,那么这种验证方式已经足够了,如果垃圾信息发送者认为你的网站很有价值,那么破解起来也很方便。

1、先说原理
  我们使用图形验证码(当然还有声音等其他方式),主要就是欺负机器人看不懂复杂的图片。上面这篇文章中提到的方法就是将验证信息隐藏在用Ajax生成的表单隐藏域中,说白了,也就是欺负机器人看不懂JS生成的隐藏域和cookie。其实这只是个掩耳盗铃的做法。我们来看一下原文代码:

$ct mktime();
setcookie('token',md5('secret salt'.$ct), 0'/');
# 'Expires' in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

# Always modified
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");

# HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0"false);

# HTTP/1.0
header("Pragma: no-cache");
echo 
$ct

  首先给浏览器一个加密的cookie值,然后给表单一个时间戳,验证时对比下cookie和时间戳的编码规则是否匹配。如果机器人要破解,有这么个办法:首先人工获取cookie和时间戳,然后伪造这个cookie,让机器人同时发送到评论入口就行了。

阅读全文 »

JQuery UI组件

jQuery UI  值得jQuery Fans兴奋的又一大喜讯,不过这已经是1个月之前的事情了。我好久没用到jQuery,没有那么狂热的关注,搞得现在手都有点生了,不过总体上感觉还是不错的。

  该组件包含了以下一系列眼花缭乱的功能:如拖动,包含,表格排序,拉伸,日历,对话框,滑动等等,但运行起来也相当的占资源,而且JS语言本身就有不稳定的特点,所以我的观点是,少用为妙,尽量朴素。详细参见 http://ui.jquery.com/