??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
投资中国股市的hQ本来应该是非常q福的。从股市诞生C天的20个年_中国l济一直牛气冲天,从来没有低于q?%的增镉K度Q?990q的GDP?1.74万亿元,?007q已l是24.6万亿元了Q?0q增长了14倍之多。作为实体经的晴雨表,照道理来Ԍ是一头彪悍的大牛才对啊,即投资人有所谓“过度情l”,最多也是有时候肥牛有时候瘦牛Ş了?
可悲的是Q?0岁的中国股市从来没有牛q,一会儿是骨瘦如柴的猫Q一会儿是硕大无朋的大象Q股h格d喜马拉雅的顶峰和马里亚纳h之间来回y达着?
是中国股民有着q动员一般的体魄Q热qp蟩L山地来回折腾吗?昄不是。今天中央电视台通过?6万投资者的调查Q得Z个数据:?007q至 今,92%的股民亏损,亏损5成以上的人竟然接q?成!ȝQ今q是“黄金十q”的W二q_也是a犹在耳的“增加h民胦产性收入”和“防止股市大起大落?q些庄严的承诺才说了6?个月啊。而纵?0q股市的发展历程Q至也?2%以上的^民参与者血本无归,几万甚至十几万亿的^民资财化为灰烬。说中国股市是百姓胦产的屠宰场,那是一点也不过分的Q?br /> 中国股市怎么了?一个社会胦富的源泉怎么成了C会财富的黑z?一个全体社会成员民dq_分nC会发展成果的渠道怎么成了加剧C会不公不义的工P让我们看看中国股市的l构吧?
中国股市׃个部分构成:1、代表法律权威、行使市场监责ȝ国家机关Q?、被投资者,也就是上市公司;3、投资者,也就是股民、基金和其他机构投资者;4、在以上三者之间架设沟通桥梁的C会中介机构Q如交易所、券商、会计师事务所Q?、由公共知识分子和各利益集团代言人组成的公众舆论?
照道理讲Q如果市场各部分各守其职Q市场应该^E_展才是啊Q但是事实却表明Q?8q来Q中国的股市一直就是这栯么是猫,要么是大象,来回折腾个不休?
Z么会q样Q我们要从市Z涨下跌的原因分析h?
中国股市从诞生至今,从来都是一个受着严格政府制的“政{市”,其上涨和下跌完全是政{h为制造出来的Q所以和实体l济几乎老死不相往来?
既然是h为的政策市,Z么不股市调控成q稳发展的市场呢Q?
因ؓ涨跌得越“暴”,利益得的p巨大Q?br /> 设想一下,假如有h能准地在中国股市的每一个低点买入,又在股市的每一个高点卖出,有个三年五年的,他将拥有多少财富Q实在难以想像。不是说成ؓ亿万富翁很简单吗Q只要拿十万元钱Q找?0个翻番的股票实C万富的梦了?
试想一下,假如q个“神人”在低点买入后,他是否希望在短时间内涨得高好Q而他在高点卖Z后,是否希望在短旉内跌得越低越好?
谁能扑ֈ大盘的高点低点?刉政{的人;谁能扑ֈ个股的高点低点?操纵个股的h?
谁制造着政策Q中国证监会Q谁具体操纵个股Q机构投资者?
中国证监会和机构投资者应该是什么关pdQ应该是猫和老鼠的关pR但是现实是什么关pdQ是一家亲的关pR?
一家亲是如何Ş成的Q?、入市靠证监会批准;2、运行靠证监会“窗口指导”;3、队伍相互融合?
仅仅查公开的资料就一目了Ӟ证监会不q是一个蟩板,许多证监会官员们人生的目标是到被监管单位Mn受胦富。
先看证监会和券商的队伍融合:
新银沌券的董事长李鸣曾是中国证监会E查二局局长;新银沌券的总裁肖时庆曾M国证监会上市公司监管部副MQQ
安信证券ȝ理王彦国曑֜证监会发行部、基金监部、证监会南京Ҏ办、上办{部门担任要职;
国金证券董事镉K波,是已被“双规”的前证监会副主席王益的在证监会时的U书Q
q_证券总裁助理张文生曾l是证监会干部;
曾Q证监会副d的汪建熙Q后来摇w一变,成ؓ合资投行中金公司的董事长Q
太^z证券ȝ理王,曾Q证监会法律部MQQ证监会杭州Ҏ办主仅R党委书记、证监会E查一局局长等职;太^z证券独立董事王q洲更是在业内赫赫有名,是基金法的v草组长;
…?…?……
再看证监会和基金公司队伍的融合:
目前60家基金公怸Q?5家基金公司的ȝ理曾在证监会、上证所、深交所担Qq要职;此外Q还?家基金公司的董事{也在上q监部门工作过Q
甚至国的也在招募中国证监会的官员:不久前,中投公司怸32亿美元的国U募基金弗劳斯的董事ȝ理宣昌,曾任证监会规划委委员和机构监管部副MQ。
…?…?……
好了Q在q样明目张胆的融合中Q证监会对市Z两支最重要的主力的监管已经成了左手右手了。剩下来监管谁呢Q管上市公司Q
众所周知Q上市公司是券商辅导、保荐、发行上市的Q券商和证监会是一家h后,上市公司和证监会有了“姑表亲”;而基金等机构投资者要炒作股h需要上市公司有相应的消息配合,上市公司也要基金拉升股hq行减持、再融资{活动,在市场生存过E中Q上市公叔R过基金{机构投资者也和证监会有了“姨表亲”。都是一家hQ那么监谁呢?
q有两支力量Q“经学家”和媒体舆论。但是大多数“经学家”本来就是强势利益集团包装出来的、豢ȝ的,而这些强势利益集团通过q告购买、信息沟通早已经大多数舆论媒体收归麾下了;至于会计师事务所、律师事务所Q假如他们坚持客观公正的立场Q在没有集体诉讼制度的中国,在中股东没有对上市公司监督理权的中国Q能生存下来吗?
现行的政d度和政治道dQ将证监会、券商、机构投资者、中介机构、大众舆论焊接在一P形成一个利益共同体的时候,他们是反市场的一致行动hQ暴涨之后暴跌,暴跌之后再暴涨,在q疯狂的上串下蟩中,一ơ次l杀中小投资者的资本Q一ơ次剐削人民的胦富!
今年q初Q沪׃市的通市值是10万亿Q到6?8日已l不?万亿了,q?万亿真金实银Q相当于d全年国家财政收?0%财富到那里去了?我们知道从去q到今年Q?
]]>
“中国互联网巨头本n创新能力不够Q就会反q来模仿公司压制创斎ͼ创业公司的空间会来小。”盘腿坐在摆攄两巨大立柜韛_的工作间里,听着舒缓的古兔R乐,周`说Q“所以今天的创业者亟需柔道思维Q?/p>
q个创立q两家公司,也做q职业经理h和VC(风险投资)的天使投资h怿Q“对付腾讯和癑ֺQ要么别跟他们竞争,dq远的,要么q柔道。不要期望追随在他们后面Q就可以分到一杯残V?/p>
借力打力
中国互联|诞生过许多白手起家的英雄,但过Mq_江湖格局变化不大。而在太^z对岸的国Q新陈代谢却不曾停滞?q前雅虎在美国崛P中国有三大门P5q前eBay脱颖而出Q中国有阉K巴巴Q?q前h一飞冲天,中国有百度。但在美国崛起YouTube、MySpace和Facebook的今天,中国几乎交了白卷。两q前最U火的三?.0概念的网站是“博客中国”、千、和讯。后来,方兴东“阵亡”,陈一舟在苟gD喘Q而当q的和讯掌门谢文赋闲在家恰好两年?/p>
新浪、腾讯、百度、网易、阿里巴巴这些数q前掌权的“老h”,今天依然牢牢l持住他们在新闻、即旉信、搜索、邮、电子商务上的垄断,q利用既有优势在新战U上对创业公司无情阻凅R腾讯成为最强大?.0公司Q这只恐怖的怪兽胃口之大Q见什么吃什么。百度帖吧成为最大的论坛Q网易垄断了在线相册Q阿里孵出的淘宝和支付宝是最大的C2C和电子支付^収ͼ而新把两年前风光一时的专业博客|站打得落花水。h人都在好奇地{待Q在新的Z出现Ӟ比如视频领域Q腾讯和新浪的播?视频分n)是否会同h土豆|们逐一歼灭呢?
如何以小博大Q这是所有创业者都必须思考的问题。而周鸿祎的经历无疑颇有研Ih倹{?/p>
3721时代Q周鸿祎在渠道上做文章,过了先行者CNNICQ主政中国雅虎时期,他用“一搜”在MP3搜烦上超q百度,q甩开几家门户Q把雅虎邮箱做到W二。而在q期战役中,他用短短一q就低?60安全卫士”进入安全Y件前三位Q而奇虎网也迅速成为社区内容聚合的领导者。作为天使投资h的他Q更是频频出手,比如投资q雷和DiscuzQ,两者分别是下蝲和社Y件的领先者。两ơ投资同时吸引到h的注资?/p>
“如果我挑战M一个巨_Ҏ都不会等闲视之。我都有能力冲击它,撼动它。”周鸿祎以ƈ不夸张的语调坚定地说。近半年Q他d公司内部以及业内朋友间推荐“柔道战略”以及相应书c,甚至要求把目前仅存的只能在金书网买到的几十本《柔道战略》“通通买回,让奇虎员工都看看”。周也愿意向业界传播q种思维方式?/p>
2000q?月,在日本东京的Kodokan会所Qn为前特工的俄|斯ȝ普京竟被一?0岁女学生摔倒在圎ͼ甘拜下风。这个体形娇的奛_生打败黑带高手普京所用的技巧,x以小博大、以p强的柔道。关于柔道,《哥伦比亚百U全书》的定义是:对手的体能和力量ؓ己所用,借力打力Q击败对手而获胜的一U武术,它p或体重处于劣势的h能够战胜w体占优势的Ҏ?/p>
国学者大卫·尤费在其著作《柔道战略》中把柔道看作一U商业策略,核心是借力打力。作为弱势的一方,不能与强大的一方硬ͼ而要设法把对手的体重、力量等优势变成对其不利的因素。比如寻扑ֈ一个支点,利用杠杆作用把对手撬h、甩出去Q对方的劲越大、体重越大,摔得越惨?/p>
一U有效的{略Q一般是知道的h少好。不q,周`却不同凡俗。三q前当他q带领着雅虎跟百度、网易作战时Q就讲述q自q{略Q“我期望天下大ؕQ期望所有的公叔R来挑战大公司Q大公司是业规则的制定者,当然不期望ؕQؕ对小公司有好处,因ؓ׃会打破既有的规则和^衡,׃雄。大׃后会大治Q我期望那时争取到应得的位置。?/p>
从这个角度讲Q同为广大创业者中一员的枭雄周`,与这个群体的利益是一致的。且看他g的历ơ互联网战役?br />劲越大,可能刹不住?/strong>
借力打力是柔道的核心。大块头Ҏ向你猛冲q来Q但你不能硬挡,而是势一退一拉,大块头就失去重心冲了出去。他的劲大Q就可能刹不住车而摔倒。大企业所拥有的庞大资产,是其打击企业的强大武器。所以柔道中思考的关键是:如何让大企业的资产成为它的篏赘?在什么情况下Q大企业的资产反而o其痛苦?
2001q_做网l实名的3721开始跟卖域名的CNNIC竞争。当时CNNIC已经有万|等九大代理商,他们各有一套自上而下的代理体pR这个庞大的代理渠道、经销商和客户,是CNNIC的重要资产,3721无法与其怺?721不能ȝq九大代理商QCNNIC随时可利用自q影响力封杀3721Q况?721也没有够h力绕开l销商去直销。CNNIC的代理体p隔M3721和它潜在的客L?/p>
但这个代理体pL其天生弱点:CNNIC高居代理体系最上层Qƈ未深入到基层的代理和客户中去Qƈ且这些代理对中国底层的小企业也渗透得不够?/p>
周`的对策是自Z个不同于M理、地方代理这L分层U,即一个扁q的代理体系。在每个城市都圈定一家代理,在全国圈定上千家Q由3721直接理。这弥补了CNNIC代理体系的不?/p>
更重要的是,CNNIC无法模仿3721的做法。如果CNNIC自徏扁^渠道Q就难以处理其与既有代理体系间的关系。比如原有的层代理自上而下有不同的h差,以维持每一U都有利可图Q但新的扁^渠道都直接执行来?721总部的一个h|二者必然相互干扰。而CNNIC原有的代理体p越庞大Q生的摩擦和震荡就大Q反而开始成ZU负资Q阻CNNIC变革?/p>
随后一qCNNIC都按兵不动,眼睁睁看着3721快速发展。但一q之后CNNIC军_不再忍受Q开始从3721挖角Q徏立新扁^体系。而这正是周`“所期望看到的事情”,新的直属代理商的q入Q打破了CNNIC原有的九大代理商的势力均衡。壮士断腕,血不止?/p>
在CNNIC逐步建立赯3721竞争的通用|址代理体系Ӟ其原来。cn域名的代理体pM逐步瓦解Q新|、万|等大代理商都看淡。cn域名交易。今天,cn域名每年使用费已l跌?元钱?721自始至终都没有直接打击CNNIC的代理体p,但CNNIC被自己内部的力量打翻在地?/p>
在周鸿祎那里Q柔道思维其实是些简单的问题。只要碰到大公司Q就应该下意识地LQ“它最珍贵的东西是什么?它最大的优势是什么?q个优势里有什么问题?它的敌h是谁Q它最x什么?你可以做什么事情,但你强大的对手却不能跟着dQ?/p>
当然QCNNICq算不上太强大的ҎQ但癑ֺl对是?004q开始,周`把雅虎搜索的发力点定在MP3上,为此推出了独立的搜烦|站“一搜”,q把它吹嘘成“中国最大的׃音乐搜烦”。但即便癑ֺ的MP3搜烦量q大于“一搜”,癑ֺ却不敢站出来戳穿“谎a”,不敢声明自己才是“中国最大的׃音乐搜烦”,而Q由“一搜”独享这一定位带来的市知,高速增ѝ?/p>
因ؓ癑ֺ作ؓ“中国最大的|页搜烦”有其Y肋。百度所有的收入都来自中企业投攄_ևq告Q而当时所有中企业都认ؓ|页搜烦上的量才有价|不认为娱乐性质的MP3量会有价倹{如果百度这么做Q就与其|页搜烦的定位不W,会损宛_q告M的Ş象。周鸿说Q“百度的|页搜烦成功,pD它不敢在MP3上向我发力,所以我׃打MP3.”一q后Q“一搜”超q百度,成ؓ名副其实的“中国最大娱乐音乐搜索”?/p>
做对手不敢做的事
2004q_h跟雅虎和微Y也玩了一场柔道比赛。当时微软Hotmail和雅虎邮分别名列第一、第二,而谷歌没有邮服务,其用户和资都ؓ零。众所周知Q谷歌高调推Z定w高达1G的免贚wGmailQ容量是Hotmail和雅虎邮q几十倍。一旦Hotmail们跟随Gmail扩容Q其庞大的用L导致其成本呈数量往上翻Q技术难度也会成倍增加,从零开始的Gmail所面的成本和隑ֺ要小很多。Hotmail们难以立卌q扩容而留lGmail一D飞速圈地的旉Q从而一丑֥定了三分天下的地位?/p>
2004q周鸿祎也用了一L{略。当旉虎邮在中国基本无用P|易邮箱遥遥领先居第一Q其ơ是搜狐{几个门戗雅虎邮首先扩容到1GQ给Ҏ非常大的压力。第一Q扩容会D成本大幅提高Q搜狐等Ux辑օ上市公司会面临业l压力;W二Q技术难度升U,扩容后容易出现邮件丢q情况?/p>
q一仗之后,雅虎邮箱q入前三Q搜狐等基本被挤Z市场。但|易的老大C依然牢固Q这一仗对它基本没能生动摇。第一Q网易邮q技术很好;W二Q虽是上市公司,但一股独大的丁磊q不把股市放在眼里,舍得成本投入。所以周?开始出第二招Q直指网易?/p>
“网易是老大Q其最有h值的是品牌和用P正因为如此,|易不会愿意跟别人分享。所以我往反方向力,愿意跟别人分享。而且|易肯定有竞争对手,像盛大、联众、浩方,甚至265、当当也都是潜在Ҏ。我不用跟网易直接竞争,转而去扑֮的对手合作。这是网易决不能做的事情。?/p>
雅虎一口气跟联众、携E、当当?65{?2家专业网站签订协议,Z们提供以各家品牌为地址?G邮箱。雅虎放弃了品牌Q得C几百万用P而这些合作网站则可以对自q用户提供属于自己品牌的邮服务,此D间接地削׃Ҏ|易?/p>
q一仗后Q雅虎邮成为第二,虽然没有越|易Q但也造成了不压力。当时丁暗C是种ƺ骗的方式,说“老虎吃h之前都会微笑”。但周`反问,我怎么可能“骗”到q么多网站?“实际情况就是我们跟丁磊打一Zh民战争。丁这么高傲的人,要不是打C的痛处,他是不会出来骂我的。?/p>
后来周`飞到广州拜访丁。周安慰丁磊Q雅虎就是要获取应得的市Z额,但网易应该自信,自己很强大。而另一斚wQ周鸿祎又准备好了针对网易的W三仗?/p>
2004q_|易q在全力推即旉信产品泡Q当时丁还抱有希望。雅虎也有自qx通信工具“雅虎通”,而周鸿祎计划再做一件“网易不会做的事”。就是把雅虎通牺牲掉Q不推广雅虎通,而是把它改装成支持雅虎邮q附属工具。这个被UCؓ雅虎邮箱通的应用会自动提醒新邮Ӟ能自动打开|页Q然后回信的人可以直接在邮g里跟Ҏx聊天?/p>
其实q就是后来Gmail所采取的方式,即Gtalk。这个小应用的确帮助Gmailq一步扩展了份额Q在国成ؓlMSN和AOL之后的第三大聊天工具。不q因为周鸿祎随后MQQ这个计划未在雅虎中国公司实施?/p>
心被自q?/strong>
借力打力虽是攑ր对手的必杀技Q但q需要两个技巧来保驾护航Q移动和q。不断移动,不要挑v强大Ҏ对你发v正面dQ像只小狗那样低调而不要像大狗那样叫嚣。在Ud中需要保持^衡,千万不要自己摔倒!
两年前风风火火而今天已l无问的“博客中国”,是因ؓ不遵守移动和q原则而劫数难逃衰落的命运。周鸿祎认ؓq是“典型的反面案例”?/p>
2003q_博客概念在中国风生水PIT评论人士方兴东的“博客中国”是领先者。由于两q都专注于ؓIT博客提供服务而营造出一个IT_英CQ“博客中国”迅速进入中文网站前50强?/p>
但在2005q初赛富基金投入1000万美元后Q方兴东便一改往日低调。他在北京世U坛qK嘉宾和媒体,隆重宣布“博客时代的来”,q叫L“一q超新浪Q两q上市”的目标Q这不仅把资讯业最强的新浪直接当成ҎQ更让所有h警惕Q博客就是下一个金矿!当“博客中国”导航条上的子频道不断增多,也把自己|于与门户面寚w竞争的境圎ͼ而其他几家专业博客网站也不甘C弱Q竞相宣布庞大的融资和强劲的增长?/p>
q场闹剧之后不到半年Q新出手了。接二连三地Q腾讯、搜狐、百度也大兴资源正式q场厮杀。其实在“博客中国”创立时Q新ȝ辑陈彤作为朋友还l过方兴东支持,q给“博客中国”早期的发展带来了不帮助。但接下来发生的同样是事实,方兴东激昂高调对博客的宣讜y提醒”了陈TQ而也是方兴东持箋不断的公开挑衅Q最l“激怒”了陈T。之后新和搜狐都把博客作ؓ一Ҏ略业务来发展Q要求每个频道都讄博客专员Q們օ公司资源发展博客Qƈ且方兴东和“博客中国”的一切言论和新闻Q也都被杀?/p>
以新ؓ首的门户很快大获全胜。博客前五名里,再没有专业网站的w媄。而方兴东无疑成了“行业罪人”,他的一些做法引发了一网站的萧条。时d讯ȝ辑的刘骏曑֦此感叹:“你可以把那些话写出来、脓在墙_每天睡觉前和醒来后在心里默念三遍Q但Z么要叫出来呢Q?/p>
方兴东的错误q不止于此。与Ud盔R合的另一原则 —?qQ也没能做到。就在融?000万美元后Q“博客中国”大肆招兵买马,员工?0人快速扩张到300人。方兴东作ؓ一个从未管理过40Z上规模企业的“评Zh士”,聘用了超q?0个副总裁以上的高。“博客中国”也很快从专注于IT扩展到几乎所有领域,子频道之多与门户无异?/p>
快速膨胀D失控Q方兴东无力l持。之后,“博客中国”经历了大幅裁员和方本h被投资方架空的悲剧。当强大的敌LQ“博客中国”想抓紧旉快速发展,但没能保持住qQ重重地摔倒了?/p>
周`从另一个角度解释失败原因:选择了错误的竞争方式。方兴东本应选择柔道的方式,但却选择了相扑的方式。虽然同样发源于日本Q但相扑的方式完全与柔道相反Q靠体重和体力来正面抗衡Qƈ且一开始就双眼盯住ҎQ激起彼此的斗志Q一旦开战就速战速决?br />无力的模仿?/strong>
|易与三个挑战者在|络游戏上的竞争正可验证相扑和柔道策略的差别?/p>
凭借精巧而强势的两款产品Q网易在2005q后期坐上了中国|游公司头把交椅。柔道选手盛大q未跟网易比g品,而是改变规则Q免费玩游戏Q靠卖道兯钱。而网易既有的模式与之完全相反Q收费玩游戏Q靠旉和技巧赢得道兗这令网易处于困境:原来的游戏越成功Q{型新模式所造成的损失和震荡p大。一q半q去了,|易q未推出一ƑօҎ戏,眼睁睁看着盛大?007q一季度过自己成ؓW一?/p>
相比盛大Q新兵征途更没资D|易碰Q同h柔道选手的史玉柱在颠覆传l上比陈天桥走得更远。征途不再遵守游戏与现实间的界限Q彻底引入现实世界的“不均衡”。比如有׃hd一切,一些所谓的“道德”也被抛弃,赌博开始大行其道。游戏规则的设计和营销渠道更向二三U地区倾斜Q这些做法直接否定了通行的行业模式。“异端”征途因此扶摇直上,与盛大、网易分庭抗C{?/p>
而相扑选手金山却不同,要与|易正面交锋。自恃研发力量雄厚,金山跟随|易大搞自主研发Q期望借助一两款大作的暴发奠定地位。金山在全国四个城市讄立研发机构,斥巨资从|易挖走骨干Q推Z|易怼的游戏正面抢夺玩Ӟq在公关宣传上与光锋相对,渲染丁磊与雷军的Uh恩怨。但?003q入局至今Q金׃直未挤入一阵营,也没能研发出一Ƒ֠与网易比肩的大作?/p>
周`说Q“作随和模仿者,唯一的h值就是让领先者更加强大。你帮它挑错Q它不断ҎQ你跟它学,{你学会了,它又有了新的东西。?/p>
从战役到战局
柔道战略的核心借力打力Q隐含有q样一个几乎是真理的假设:M资Q在特定环境下都可能变成累赘。强劉K必然藏有弱势?/p>
对于柔道选手本nQ其实这U辩证关pM存在。柔道是处于下风的弱势一Ҏ借助的技巧,适用于企业成长初期;而一旦处于上风,实力占优的一方就应该q渡到相扑法则,与对Ҏ面交锋、比拼实力。不q,柔道思维娴熟,q渡到相扑思维p困难?/p>
q正是周鸿祎心头之病Q“我适合初创企业。但如果做到很大规模需要整合资源,q些功夫׃是我擅长的。我的缺h~Z宏观的眼光,对趋势的判断和对自己的认知不뀂?/p>
2003q卖?721正是一ơ错误。自认ؓ技术落后、实力弱而“妄自菲薄”,周`把当时在营收和渠道上都胜过癑ֺ?721卖给雅虎Q而结果尽人皆知:3721的基业最l坍塌,而对手百度则在上市后一飞冲天。周鸿祎假设Q“如果当时我选择融几千万元QI补技术上跟百度的差距Q借助渠道和收入的优势跟它全面抗衡Q那今天我在中国搜烦市场不是老大也是老二。?/p>
d雅虎后,周`去IDG做了半年VC(风险投资)Q其实就是有意识地I补,换个角度看问题。“打仗很兴奋Q但老处在战Z中,光看到一ơ战役的布局Q而看不到战争的格局。有时争夺某个山_实有冲d。但一个山头的得失不等于整个战争的胜|。”以灵y的方式赢得局部,q要有统帅全局的稳健战略,周` 认识到这两个要结合v来?/p>
柔道高手、善于率领小企业冲击大企业的周`,如何能成׃番大事业、让自己成长Z个巨无霸Q?/p>
奇虎?60安全卫士、迅雗DiscuzQ是周`或亲自执掌或天使投资的四块资Q姑且称为奇虎系。奇虎以搜烦为切入口整合论坛资讯Q?60占据了安全这最后一块尚未被巨头垄断的互联网基础服务Q迅雷已l成Zơ于QQ的第二大应用软g和客L软gQDiscuzQ正在成坛Y件的垄断者和论坛资讯的整合者。四块资产相互独立,正给了柔道高手施展以博大策略的有利环境?/p>
“我觉得不要把所有业务装在一个公叔RQ因Z务多了必然多元化Q多元化很难形成聚焦。”周鸿祎_“所以用资本的方式,扑ֈ不同的创业团队,然后L持他们。最后大家在市场中各自占据有利的地ŞQ可以互相支_互相合作。?/p>
虽然q没有h清晰地给出四块资产的合力会成怎样一番图景,但互联网观察家胡延^曄谨慎Cq判断:未来有期望在底层改变互联|而成霸业的三家企业是腾讯、百度和奇虎pR?/p>
陈一舟的千橡Q正好成为周鸿祎奇虎pȝҎ参照。从2003q开始,陈一舟进行了大小10余次q购Q集合了各种论坛和各U服务的千橡集团意欲快速成长ؓ巨无霸?006q中期,有h曾抛l陈一舟一个问题:你是在做投资q是在做企业Q陈思考片刻说道:“我是在用投资的方式做企业。”不q后来证明,q是ơ失败的试?/p>
周`认为,天和魔鬼都隐藏在细节之中,不深入企业、不Ȁ励创业团队,单靠q购的资本方式难以做好企业,而且q购后整合的隑ֺ非常大。所以另外一套做法是通过深入企业帮助它们产生影响力和支配力,而不是通过q购来控制。另外要保持企业的独立,在独立的基础上相互协作,而不是ƈ购之后强行整合。这是与陈一舟完全不同的做法Q周鸿祎UCؓQ“用做企业的方式做投资?
另一个互联网观察家张云帆提出了“隐形舰队”的概念。陈一舟利用ƈ购组Z一个巨型舰队,q立d起了Ҏ的关注和dQ同时管理这个舰队的隑ֺ也大。而“周鸿祎l徏的是一个隐形舰队,它沉在水下各自ؓ阵,避免了强大对手的注视Qƈ能以周`所擅长的柔道方式攻d人。而一旦时机成熟,׃快速集l,发挥l一的能量”?/p>
q些独立舰船能否通过资本安排最l合Z体,周`ƈ无把握,“要看缘分”。即便不成,“我最后的成就感,也就是通过摸烦Z些模式,影响更多的创业公司和q个行业的发展”?/p>
国学者大?. 费在其著作《柔道战略》中把柔道看作一U商业策略,核心是借力打力。作为弱势的一方,不能与强大的一方硬ͼ而要设法把对手的体重、力量等优势变成对其不利的因素。比如寻扑ֈ一个支点,利用杠杆作用把对手撬h、甩出去Q对方的劲越大、体重越大,摔得越惨?/p>
周`眼中的l典战役Q?/p>
3721构徏扁^渠道打击CNNIC的层U代理体p?/strong>
以对手的同盟为杠杆,同盟多Q{型代仯大?/p>
雅虎邮箱扩容以打L有巨大用户量的门?/strong>
建立新规则,Ҏ资多Q篏赘就多?/p>
雅虎邮箱同盟
以对手的Ҏ为杠杆,Ҏ强大,Ҏ的对手的反击情Ap大?/p>
“一搜”高调出击MP3搜烦d癑ֺ
把对手的资变成我的{码Q对手资产越大,不敢向我发力?/p>
癑ֺ接受h注资
成功避免了强大对手的猛烈dQ赢得了独立发展的宝贉|间?/p>
盛大和征途改变游戏规则攻ȝ?/strong>
把对手的资变成我的{码Q对手原有资产越成功Q越不敢模仿?/p>
“博客中国”高调攻L?/strong>
q反狗{略Q激起对手正面攻击;未能界定一个狭领域独立发展?/p>
新浪成功反击“博客中国?/strong>
杰出的相扑策略,搞名人博客,通过把博客媒体化而把博客竞争引入自己熟悉的媒体战场?/p>
金山与网易正面抗?/strong>
错误地选择了相扑战略,跟随者会让领先者做得更好?/p>
h在中国大肆入股注资外围公司获取流?/strong>
错误地选择了相扑战略,惛_助资本优势获取量与百度正面竞争?
import
javax.crypto.Cipher;
import
javax.crypto.SecretKey;
import
javax.crypto.spec.SecretKeySpec;
public
class
DesedeStrDemo {
static
void
getDecrypt()
throws
Exception {
/******************
加密
******************/
String APSecret =
"dddddd"
;
//
密钥字符?/span>
String info =
"iamzzb"
;
//
加密字符?/span>
byte
[] key =
new
byte
[24];
//
密钥预存攑֭节数l?/span>
byte
[] APSecretB = APSecret.getBytes();
int
keylen = APSecretB.
length
;
if
(keylen > 24)
keylen = 24;
System.arraycopy(APSecretB, 0, key, 0, keylen);
//
密钥格式化ؓ字节数组
,
q复制到
key
SecretKey deskey =
new
SecretKeySpec(key,
"DESede"
);
//
生成U密Q对Uͼ密钥
Cipher c = Cipher.getInstance(
"DESede/ECB/PKCS5Padding"
);
//
提供了针对加密和解密的密?/span>
cipher
功能
c.init(Cipher.
ENCRYPT_MODE
, deskey);
//
用密钥初始化?/span>
cipher
byte
info_new[] = c.doFinal(info.getBytes());
//
l束多部分加密操?/span>
/******************
解密
******************/
Cipher cc = Cipher.getInstance(
"DESede/ECB/PKCS5Padding"
);
//
提供了针对加密和解密的密?/span>
cipher
功能
cc.init(Cipher.
DECRYPT_MODE
, deskey);
//
用密钥初始化?/span>
cipher
byte
info_old[] = cc.doFinal(info_new);
//
l束多部分解密操?/span>
String info_olds =
new
String(info_old);
System.
out
.println(info_olds);
}
public
static
void
main(String[] args)
throws
Exception {
getDecrypt();
}
}
代码1QMyHtml.html
-----------------------------------------------------------------------------------------------
<html>
<script language = javascript type="text/javascript">
function submitBatch(form,func){
var action = func + "";
var countFid = getCheckedCount(form.elements["fid"]);
alert ("countFid = "+countFid);
form.action = action;
form.submit();
return true;
}
//调用的函? getCheckedCount(control)
function getCheckedCount(control) {
var count = 0;
if (control) {
if (control.length) {
for (var i=0; i<control.length; i++) {
var c = control[i];
if (c.checked) count ++;
}
} else {
var c = control;
if (c.checked) count ++;
}
}
return count;
}
//调用的函? resConfirmDelete(fileCount, folderCount)
function resConfirmDelete(fileCount, folderCount) {
return confirm("你确定要删除选定?"
+ folderCount + " 吗Q?)
}
</script>
<body>
<form action="" method="post" >
<input name="test_name" type="text" value="zhaozb" />zhaozb<br>
<input name="fid" type="checkbox" value= zhao zb />zhao zb<br>
<input name="fid" type="checkbox" value=??/>??lt;br>
<input name="fid" type="checkbox" value="zhaozb3" />zhaozb3<br>
<input name="submitTest" type="text" onClick="submitBatch(form,'MyJsp.jsp');" value="提交">
</form>
</body>
</html>
-----------------------------------------------------------------------------------------------
代码2QMyJsp.jsp
-----------------------------------------------------------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<head>
<title>test</title>
</head>
<body>
看看能不能接受到. <br>
<%
request.setCharacterEncoding("gb2312");
String str="ok";
str = request.getParameter("test_name");
String items[]=request.getParameterValues("fid");
for(int i=0;i<items.length;i++){
str = items[i];
out.println(i+" = "+str+"<br>");
}
//out.println("items="+items.length);
//out.print(str+"ss");
%>
</body>
</html>
-----------------------------------------------------------------------------------------------
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class DomParse {
public DomParse() {
DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder = domfac.newDocumentBuilder();
InputStream is = new FileInputStream("src/com/app.xml");
Document doc = dombuilder.parse(is);
Element root = doc.getDocumentElement();
NodeList books = root.getChildNodes();
if (books != null) {
for (int i = 0; i < books.getLength(); i++) {
Node book = books.item(i);
if (book.getNodeType() == Node.ELEMENT_NODE) {
String email = book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(email);
//String name2 = book.getAttributes().getNamedItem("name").getNodeValue();
//System.out.println("name2="+name2);
for (Node node = book.getFirstChild(); node != null; node = node.getNextSibling()) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
if (node.getNodeName().equals("name")) {
String name = node.getFirstChild().getNodeValue();
System.out.println("name="+name);
}
if (node.getNodeName().equals("price")) {
String price = node.getFirstChild().getNodeValue();
System.out.println("price="+price);
}
if (node.getNodeName().equals("param")) {
String param = node.getFirstChild().getNodeValue();
System.out.println("param="+param);
}
}
}
}
}
}
} catch (Exception e) {
}
}
public static void main(String[] args) {
new DomParse();
}
}
四、代码解?br>
先看看这个程序引用类Q?br>
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
//下面主要是org.xml.sax包的c?br>
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
上面那么单的代码一看就明白了,但是Z介绍个DOM~程的大概还是来看看q个E序吧:
Q?Q得到DOM解析器的工厂实例
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
得到javax.xml.parsers.DocumentBuilderFactory;cȝ实例是我们要的解析器工?br>
Q?Q从DOM工厂获得DOM解析?br>
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
通过javax.xml.parsers.DocumentBuilderFactory实例的静态方法newDocumentBuilder()得到DOM解析?br>
Q?Q把要解析的XML文档转化入流Q以便DOM解析器解析它
InputStream is=new FileInputStream("bin/library.xml");
InputStream是一个接口?br>
Q?Q解析XML文档的输入流Q得C个Document
Document doc=dombuilder.parse(is);
由XML文档的输入流得到一个org.w3c.dom.Document对象Q以后的处理都是对Document对象q行?br>
Q?Q得到XML文档的根节点
Element root=doc.getDocumentElement();
在DOM中只有根节点是一个org.w3c.dom.Element对象?br>
Q?Q得到节点的子节?br>
NodeList books=root.getChildNodes();
for(int i=0;i<books.getLength();i++){
Node book=books.item(i);
}
q是用一个org.w3c.dom.NodeList接口来存攑֮所有子节点的,q有一U轮循子节点的方法,后面有介l?br>
Q?Q取得节点的属性?br>
String email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(email);
注意Q节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE
Q?Q轮循子节点
for (Node node = book.getFirstChild(); node != null; node = node.getNextSibling()) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
if (node.getNodeName().equals("name")) {
String name = node.getFirstChild().getNodeValue();
System.out.println("name="+name);
}
if (node.getNodeName().equals("price")) {
String price = node.getFirstChild().getNodeValue();
System.out.println("price="+price);
}
if (node.getNodeName().equals("param")) {
String param = node.getFirstChild().getNodeValue();
System.out.println("param="+param);
}
}
}
q段代码的打印输ZؓQ?br>iamzzb@tom.com
name=hibernate
price=100
param=不错?br>iamzzb@126.com
name=spring
price=120
param=太喜Ƣ了
注意Q
String name=node.getNodeValue(); 是一个空倹{而
String name1=node.getFirstChild().getNodeValue(); 才是真正的|q是因ؓDOM?lt;name>hibernate</name>也当作是两层l构的节?
看一眼mode.User.java,数据库的实体beanQ没什么可说的?/p>
W二眼service.UserManager.java,心里惌定是逻辑层中的DaoҎ据库的操作,增加、读取、更新和删除Qeditpus完后Z我的意料
之外Q里面没有方法的实现
/**
* 用户理业务c?
* <p/>
* l承于HibernateEntityDao,不需M代码x有默认的对User对象的CRUD函数. 如果想了解不l承于EntityDao,自行~写CRUD的写? 参?a href="mailto:{@link">{@link UserManagerNativeVersion}.
*
* @author calvin
* @see HibernateEntityDao
* @see org.springside.core.dao.HibernateGenericDao
* @see UserManagerNativeVersion
*/
public class UserManager extends HibernateEntityDao<User> {
// ....CRUD以外的其它商业方?br>}
q里面出CCRUD看完了才知道是增加、读取、更新和删除几个单词的首字母?即Create,Read,Update,Delete四个单词的羃写。是数据库操作的基本功,往往是程序员的入门评之一Q也是最无聊的工作,在ROR中,q种工作被简化了好多,很多很牛的JavaE序员也自己写了机器人去完成q些工作Q这里的HibernateEntityDao<User>
肯定是机器Z.
下面看机器hHibernateEntityDAOQ查springside参考手册知道它已存在默认的CRUD函数Q子cd要用泛型语法声明自己理的Entitycd卛_Q如果你的Manager是简单的CRUDc,没有其他的商业方法,那就恭喜了,上面的代码就是全部?br> SpringSide是如何对q行Hibernate装的呢Q看相关文档如下Q?br>SpringSide对Hibernate做了三层装Q?/p>
W一层:HibernateGenericDaoQ基于spring的HibernateDaoSupportQ但加入了分函C各种Finder函数Qƈ使用泛型避免了返回值强制类型{换?/p>
W二层:HibernateEntityDaoQ基于HibernateGenericDaoQ用泛型声明Dao所理的Entityc,默认拥有该entity的CRUDҎ?/p>
W三层:HibernateExtendDaoQ基于HibernateEntityDaoQ主要扩展各U选择性的功能?/p>
关于三个cȝ详细注解LJavaDocQ大致描q如下:
1 HibernateGenericDao
在Spring HibernateDaoSupport基础上封装的DAOQ功能如下:
1.应用泛型:使得find(), get() q些函数不再q回ObjectQ而是q回TQ不再需要强制类型{换?/p>
2.提供各种finder的简便函?br> 应用了JDK5可变参数的hsql查询函数QList find(String hql, Object... values)Q支持find(hql),find(hql, param1); find(hql,param1,param2);find(hql,new Object[] {param1,param2}) 四种接口?
单查询的化函敎ͼfindBy(Class entityClass,String name,Object value) ,findUniqueBy(Class entityClass,String name, Object value),findByLike(Class entityClass,String name,Object value)
3.获得讄好的Query和CriteriaQcreateQuery(String hql,Object... values) ?createCriteria(Class<T> entityClass,Criterion... criterions)
Springq没有很好的接口装支持firstResult, maxResult, fetchsize,cache,cacheRegion {多个查询参敎ͼ所以springside宁愿q回已设|好查询条g的Query和CriteriaQ让大家l箋剩下的参数设|,最后再执行list()Q注意那几个参数可以q箋讄的,如:
createQuery(hql,param1).setFirstResult(10).setMaxResult(20).llist();
4.分页函数:Page pagedQuery(Criteria criteria, int pageNo, int pageSize) 和Page pagedQuery(String hql, int pageNo, int pageSize, Object... args)
Page是SpringSide自行装的一个典型Pagec,pagedQuery与hibernate自n分页查询的差别是先运行一ơcountQ获得符合条件的总记录数?/p>
如果查询不需要总记录数Q用普通的hibernate APIQ加上setFirstResult(),setMaxResult()p冻I不需要pagedQuery()?/p>
5.判别对象属性在数据库中唯一的函?isUnique(Class<T> entityClass,Object entity,String names)?/p>
2. HibernateEntityDao
所有UserManager, ProductManager之类只管理一cd象的Managercȝ基类Q只需要在cd义处声明Entitycd卛_
public class BookManager extends HibernateEntityDao<Book> {
}
通过<Book>的定义,避免了HibernateGenericDaocdҎ中必有的Class entityClass参数?/p>
如果需要操作其他的EntityQ比如BookManager可能需要处理Category(图书目录)Q可以注入CategoryManager。无需担心事务的问题,JavaEE的默认事务模型已能很好处理?/p>
如果没有对应的CategoryManagerQ或者各U原因不x入的话,可以使用BookManagerl承自HibernateGenericDao的带entityClass参数的函数来操作Category的增删改Q如Category category= this.get(Category.class, 1);
3. HibernateExtendDao
此类演示SpringSide 所作的一些扩展,大家可以按照自己的需要进行修改和扩展?/p>
1. 支持对象不能被直接删除,只能讄状态列为无效?br> 接口UndeleteableEntityOperationQ定义了要支持此功能必须实现的函数?/p>
可以有接?UndeletableEntity)和annotation(@Undeletable)两种形式来定义无效列Qannotation列Ş式还可以定义标识对象已删除的状态属性的名称Q用接口则必d现setStatus()接口Q在里面操作实际的状态属性?/p>
两种方式的异同见侵入Q非侵入QInterface vs Annotation?/p>
2. 重蝲save()Q在保存前先调用onValid() 函数
3. 增加find(Map map) 接口
默认查找与map中全部条件相同的entity?/p>
条g的比较运符默认为相同,用户也可以ؓ属性名加上like_Qlargerthen_ q样的前~Q则使用相应的运符作比?未完?
W三?看web.UserAction.java,心想应该和struts里的acition一Peditpuls完后得到
/**
* 用户理Controller.
* <p/>
* l承于StrutsEntityActionQ不需~码拥有默认的对User对象的CRUD响应函数. 如果想了解不l承于EntityAction,自行~写CRUD的写? 参?a href="mailto:{@link">{@link UserActionNativeVersion}.
*
* @author calvin
* @see org.springside.core.web.StrutsEntityAction
* @see org.springside.core.web.StrutsAction
* @see UserActionNativeVersion
*/
public class UserAction extends StrutsEntityAction<User, UserManager> {
@SuppressWarnings("unused")
private UserManager userManager; //看到serviceContext.xml中面有userManager应该是spring的注?/p>
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
W四?看了web.xml、struts-config.xml、applicationContext.xml、dataAccessContext.xml、serviceContext.xml 五个配置文g?br>接下来调试程序,用运成功?br>