??xml version="1.0" encoding="utf-8" standalone="yes"?>国产偷国产偷亚洲清高APP,亚洲一级片内射网站在线观看,亚洲国产综合精品中文第一http://www.tkk7.com/iamzzb/zh-cnSat, 10 May 2025 23:38:41 GMTSat, 10 May 2025 23:38:41 GMT60生成cdhttp://www.tkk7.com/iamzzb/archive/2009/02/03/253113.htmliamzzbiamzzbTue, 03 Feb 2009 08:39:00 GMThttp://www.tkk7.com/iamzzb/archive/2009/02/03/253113.htmlhttp://www.tkk7.com/iamzzb/comments/253113.htmlhttp://www.tkk7.com/iamzzb/archive/2009/02/03/253113.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/253113.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/253113.html

iamzzb 2009-02-03 16:39 发表评论
]]>
(?大盘暴跌的背?/title><link>http://www.tkk7.com/iamzzb/archive/2008/09/02/226366.html</link><dc:creator>iamzzb</dc:creator><author>iamzzb</author><pubDate>Tue, 02 Sep 2008 06:17:00 GMT</pubDate><guid>http://www.tkk7.com/iamzzb/archive/2008/09/02/226366.html</guid><wfw:comment>http://www.tkk7.com/iamzzb/comments/226366.html</wfw:comment><comments>http://www.tkk7.com/iamzzb/archive/2008/09/02/226366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/iamzzb/comments/commentRss/226366.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/iamzzb/services/trackbacks/226366.html</trackback:ping><description><![CDATA[转蝲Q?br />   股民一研究股市上涨下跌的原因,理层就发笑。涨跌的开x握在他们手中Q你们却ȝI技术啦、这个面那个面啦Q这不是~木求鱼又是什么? <br />   投资中国股市的hQ本来应该是非常q福的。从股市诞生C天的20个年_中国l济一直牛气冲天,从来没有低于q?%的增镉K度Q?990q的GDP?1.74万亿元,?007q已l是24.6万亿元了Q?0q增长了14倍之多。作为实体经的晴雨表,照道理来Ԍ是一头彪悍的大牛才对啊,即投资人有所谓“过度情l”,最多也是有时候肥牛有时候瘦牛Ş了?<br />   可悲的是Q?0岁的中国股市从来没有牛q,一会儿是骨瘦如柴的猫Q一会儿是硕大无朋的大象Q股h格d喜马拉雅的顶峰和马里亚纳h之间来回y达着?<br />   是中国股民有着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构吧?<br />   中国股市׃个部分构成:1、代表法律权威、行使市场监责ȝ国家机关Q?、被投资者,也就是上市公司;3、投资者,也就是股民、基金和其他机构投资者;4、在以上三者之间架设沟通桥梁的C会中介机构Q如交易所、券商、会计师事务所Q?、由公共知识分子和各利益集团代言人组成的公众舆论?<br />   照道理讲Q如果市场各部分各守其职Q市场应该^E_展才是啊Q但是事实却表明Q?8q来Q中国的股市一直就是这栯么是猫,要么是大象,来回折腾个不休?<br />   Z么会q样Q我们要从市Z涨下跌的原因分析h?<br />   中国股市从诞生至今,从来都是一个受着严格政府制的“政{市”,其上涨和下跌完全是政{h为制造出来的Q所以和实体l济几乎老死不相往来?<br />   既然是h为的政策市,Z么不股市调控成q稳发展的市场呢Q?<br />   因ؓ涨跌得越“暴”,利益得的p巨大Q?br />   设想一下,假如有h能准地在中国股市的每一个低点买入,又在股市的每一个高点卖出,有个三年五年的,他将拥有多少财富Q实在难以想像。不是说成ؓ亿万富翁很简单吗Q只要拿十万元钱Q找?0个翻番的股票实C万富的梦了?<br />   试想一下,假如q个“神人”在低点买入后,他是否希望在短时间内涨得高好Q而他在高点卖Z后,是否希望在短旉内跌得越低越好? <br />   谁能扑ֈ大盘的高点低点?刉政{的人;谁能扑ֈ个股的高点低点?操纵个股的h?<br />   谁制造着政策Q中国证监会Q谁具体操纵个股Q机构投资者?<br />   中国证监会和机构投资者应该是什么关pdQ应该是猫和老鼠的关pR但是现实是什么关pdQ是一家亲的关pR?<br />   一家亲是如何Ş成的Q?、入市靠证监会批准;2、运行靠证监会“窗口指导”;3、队伍相互融合?<br />   仅仅查公开的资料就一目了Ӟ证监会不q是一个蟩板,许多证监会官员们人生的目标是到被监管单位Mn受胦富。   <br />   先看证监会和券商的队伍融合:   <br />   新银沌券的董事长李鸣曾是中国证监会E查二局局长;新银沌券的总裁肖时庆曾M国证监会上市公司监管部副MQQ   <br />   安信证券ȝ理王彦国曑֜证监会发行部、基金监部、证监会南京Ҏ办、上办{部门担任要职;   <br />   国金证券董事镉K波,是已被“双规”的前证监会副主席王益的在证监会时的U书Q   <br />   q_证券总裁助理张文生曾l是证监会干部;   <br />   曾Q证监会副d的汪建熙Q后来摇w一变,成ؓ合资投行中金公司的董事长Q   <br />   太^z证券ȝ理王,曾Q证监会法律部MQQ证监会杭州Ҏ办主仅R党委书记、证监会E查一局局长等职;太^z证券独立董事王q洲更是在业内赫赫有名,是基金法的v草组长;   <br />   …?…?……   <br />   再看证监会和基金公司队伍的融合:   <br />   目前60家基金公怸Q?5家基金公司的ȝ理曾在证监会、上证所、深交所担Qq要职;此外Q还?家基金公司的董事{也在上q监部门工作过Q   <br />   甚至国的也在招募中国证监会的官员:不久前,中投公司怸32亿美元的国U募基金弗劳斯的董事ȝ理宣昌,曾任证监会规划委委员和机构监管部副MQ。   <br />   …?…?……   <br />   好了Q在q样明目张胆的融合中Q证监会对市Z两支最重要的主力的监管已经成了左手右手了。剩下来监管谁呢Q管上市公司Q   <br />   众所周知Q上市公司是券商辅导、保荐、发行上市的Q券商和证监会是一家h后,上市公司和证监会有了“姑表亲”;而基金等机构投资者要炒作股h需要上市公司有相应的消息配合,上市公司也要基金拉升股hq行减持、再融资{活动,在市场生存过E中Q上市公叔R过基金{机构投资者也和证监会有了“姨表亲”。都是一家hQ那么监谁呢?   <br />   q有两支力量Q“经学家”和媒体舆论。但是大多数“经学家”本来就是强势利益集团包装出来的、豢ȝ的,而这些强势利益集团通过q告购买、信息沟通早已经大多数舆论媒体收归麾下了;至于会计师事务所、律师事务所Q假如他们坚持客观公正的立场Q在没有集体诉讼制度的中国,在中股东没有对上市公司监督理权的中国Q能生存下来吗?   <br />   现行的政d度和政治道dQ将证监会、券商、机构投资者、中介机构、大众舆论焊接在一P形成一个利益共同体的时候,他们是反市场的一致行动hQ暴涨之后暴跌,暴跌之后再暴涨,在q疯狂的上串下蟩中,一ơ次l杀中小投资者的资本Q一ơ次剐削人民的胦富!   <br />   今年q初Q沪׃市的通市值是10万亿Q到6?8日已l不?万亿了,q?万亿真金实银Q相当于d全年国家财政收?0%财富到那里去了?我们知道从去q到今年Q?<img src ="http://www.tkk7.com/iamzzb/aggbug/226366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/iamzzb/" target="_blank">iamzzb</a> 2008-09-02 14:17 <a href="http://www.tkk7.com/iamzzb/archive/2008/09/02/226366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>周`:|络业的柔道搏击??http://www.tkk7.com/iamzzb/archive/2008/04/03/190608.htmliamzzbiamzzbThu, 03 Apr 2008 05:49:00 GMThttp://www.tkk7.com/iamzzb/archive/2008/04/03/190608.htmlhttp://www.tkk7.com/iamzzb/comments/190608.htmlhttp://www.tkk7.com/iamzzb/archive/2008/04/03/190608.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/190608.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/190608.html  q去的两q_中国互联|江湖格局变化不大。腾讯、百度、网易、新、阿里巴巴这些数q前掌权的“老h”,今天依然牢牢l持住他们在各自领域里的垄断CQ还利用既有优势在新战线上对创业公司无情d。新创公司该如何以小博大、以p强?

  “中国互联网巨头本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_英C֌Q“博客中国”迅速进入中文网站前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>

  错误地选择了相扑战略,惛_助资本优势获取量与百度正面竞争?



iamzzb 2008-04-03 13:49 发表评论
]]>
化JavaMailQ小?Jakarta Commons-Email 单教E?(?http://www.tkk7.com/iamzzb/archive/2008/03/21/187615.htmliamzzbiamzzbFri, 21 Mar 2008 01:25:00 GMThttp://www.tkk7.com/iamzzb/archive/2008/03/21/187615.htmlhttp://www.tkk7.com/iamzzb/comments/187615.htmlhttp://www.tkk7.com/iamzzb/archive/2008/03/21/187615.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/187615.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/187615.html
知道有它几个class吗?你一定想不到Q只?个!

好了Q开始我们的jakarta commons emails 之旅Q)

一QQuick Start
通过SimpleEmail发送邮?br />
1java.lang.Object
2  org.apache.commons.mail.Email
3      org.apache.commons.mail.SimpleEmail

1SimpleEmail email = new SimpleEmail();
2email.setHostName("mail.4ya.cn");
3email.setAuthentication("<username>","<password>")
4email.addTo("martin.xus@gmail.com""martin");
5email.setFrom("martin@4ya.cn""martin");
6email.setSubject("试主题");
7email.setMsg("q里是邮件内?/span>");
8email.send();

如代码里字面上的意思一L?
1Q创ZSimpleEmail对象
2Q设定发送信件的smtp服务器,如果没有讑֮Q会Lpȝ变量中mail.host倹{?br />3Q设定smtp的用户和密码
4Q收件h
5Q发件h
6Q主?br />7Q内?br />8Q发?br />
二:发送带附g的邮?br />我们可以发送本机的附gQ当然我们也可以发送非本机的附Ӟ如果发送的是一个存在网l上的附件的url,则邮件发送的时候会自动下蝲Q添加到附g中?br />
   1Q)发送本地附Ӟ
1EmailAttachment attachment = new EmailAttachment();
2attachment.setPath("test/test.rar");
3attachment.setDisposition(EmailAttachment.ATTACHMENT);
4attachment.setDescription("python resource");
5attachment.setName("resource");

   2Q)发送不存在本地的附?br />
1EmailAttachment attachment = new EmailAttachment();
2attachment.setURL(new URL("http://www.smilinglibrary.org/sldoc/pics/index03.jpg"));
3attachment.setDisposition(EmailAttachment.ATTACHMENT);
4attachment.setDescription("微笑图书?/span>");
5attachment.setName("微笑图书?/span>");


next,d附g到我们的邮g?br />
 1MultiPartEmail email = new MultiPartEmail();
 2email.setHostName("mail.4ya.cn");
 3    email.setAuthentication("<username>","<password>")
 4email.addTo("martin.xus@gmail.com""martin");
 5email.setFrom("martin@4ya.cn""martin");
 6email.setSubject("邮g主题");
 7email.setMsg("邮g内容");

 8//d附g
 9email.attach(attachment);
10
11//发送邮?/span>
12email.send();

如果需要发送多个附Ӟ只需创徏多个EmailAttachement,卛_
1email.attach(attachment1)
2email.attach(attachment2)

三:发送html格式的邮?br />通过HtmlEmail我们可以发送Html格式的邮Ӟ

1java.lang.Object
2  org.apache.commons.mail.Email
3      org.apache.commons.mail.MultiPartEmail
4          org.apache.commons.mail.HtmlEmail
5

如下Q?br />
 1//HtmlEmail!
 2HtmlEmail email = new HtmlEmail();
 3email.setHostName("mail.4ya.cn");
 3   email.setAuthentication("<username>","<password>")
 5email.addTo("martin@4ya.cn"martin");
 6email.setFrom("martin.xus@gmail.com"martin");
 7email.setSubject("主题Q该邮g包括html格式内容");
 
 8// embed the image and get the content id
 9// 注意q里Qembed 帮助我们创建标{֦Qcid:xxx url
10URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
11String cid = email.embed(url, "Apache logo");
12
13/**
14set the html message
15我们看到HtmlEmail extends Email的,它依然有setMsg()Q但是这里发送的邮g包括了插入在邮g内容中的囄Q所以不能在使用了setMsg(),而要以setHtmlMsg 或setTextMsg代码
16**/

17email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");
18
19// set the alternative message
20email.setTextMsg("Your email client does not support HTML messages");
21
22//set mail
23email.send();
24

四:最后一?
如果需要实现更复杂authenticator 你可以extends javax.mail.Authenticator ,实现你自q东西Q然后调?font face="Courier">Email.setAuthenticator(javax.mail.Authenticator newAuthenticator)卛_

q一点jakarta也做了,l我们提供了一个defaultAuthenticator
1java.lang.Object
2  javax.mail.Authenticator
3      org.apache.commons.mail.DefaultAuthenticator

覆盖掉该ҎQ实C自己的东?o_o
1protected javax.mail.PasswordAuthentication getPasswordAuthentication()


五:any more?
当然有了 o_o 以后再写.


iamzzb 2008-03-21 09:25 发表评论
]]>
字符串进行DES加密和解?/title><link>http://www.tkk7.com/iamzzb/archive/2008/02/22/181468.html</link><dc:creator>iamzzb</dc:creator><author>iamzzb</author><pubDate>Fri, 22 Feb 2008 09:33:00 GMT</pubDate><guid>http://www.tkk7.com/iamzzb/archive/2008/02/22/181468.html</guid><wfw:comment>http://www.tkk7.com/iamzzb/comments/181468.html</wfw:comment><comments>http://www.tkk7.com/iamzzb/archive/2008/02/22/181468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/iamzzb/comments/commentRss/181468.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/iamzzb/services/trackbacks/181468.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">字符串进?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">DES</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">加密和解?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">import</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> javax.crypto.Cipher;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">import</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> javax.crypto.SecretKey;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">import</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> javax.crypto.spec.SecretKeySpec;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">public</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">class</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> DesedeStrDemo {<span style="mso-tab-count: 1">    </span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">    </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">static</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">void</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> getDecrypt() </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">throws</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> Exception {</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">/******************</span> <span style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">加密</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">******************/</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>String APSecret = </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">"dddddd"</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">密钥字符?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>String info =</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">"iamzzb"</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">加密字符?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">byte</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">[] key = </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">new</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">byte</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">[24];</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">密钥预存攑֭节数l?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">byte</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">[] APSecretB = APSecret.getBytes();</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">int</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> keylen = APSecretB.</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #0000c0; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">length</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">if</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> (keylen > 24)</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 3">           </span>keylen = 24;</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>System.<i>arraycopy</i>(APSecretB, 0, key, 0, keylen);<span style="mso-tab-count: 1">  </span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">密钥格式化ؓ字节数组</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">,</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">q复制到</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">key<span style="mso-tab-count: 1">   </span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>SecretKey deskey = </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">new</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> SecretKeySpec(key, </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">"DESede"</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">生成U密Q对Uͼ密钥</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>Cipher c = Cipher.<i>getInstance</i>(</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">"DESede/ECB/PKCS5Padding"</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">提供了针对加密和解密的密?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> cipher </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">功能</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>c.init(Cipher.</span> <i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #0000c0; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">ENCRYPT_MODE</span> </i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">, deskey);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">用密钥初始化?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> cipher</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">byte</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> info_new[] = c.doFinal(info.getBytes());</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">l束多部分加密操?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">/******************</span> <span style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">解密</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f5fbf; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">******************/</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">    </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>Cipher cc = Cipher.<i>getInstance</i>(</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">"DESede/ECB/PKCS5Padding"</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">提供了针对加密和解密的密?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> cipher </span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">功能</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>cc.init(Cipher.</span> <i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #0000c0; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">DECRYPT_MODE</span> </i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">, deskey);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">用密钥初始化?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> cipher</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">byte</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> info_old[] = cc.doFinal(info_new);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">//</span> <span style="FONT-SIZE: 10pt; COLOR: #3f7f5f; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">l束多部分解密操?/span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>String info_olds = </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">new</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> String(info_old);</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span>System.</span> <i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #0000c0; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">out</span> </i> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">.println(info_olds);<span style="mso-tab-count: 1">  </span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> </span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">    </span>}<span style="mso-tab-count: 1">   </span></span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">    </span> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">public</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">static</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">void</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> main(String[] args) </span> <b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">throws</span> </b> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> Exception {</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 2">       </span> <i>getDecrypt</i>();</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <span style="mso-tab-count: 1">    </span>}</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">}</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt"> <o:p> </o:p> </span> </p> <img src ="http://www.tkk7.com/iamzzb/aggbug/181468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/iamzzb/" target="_blank">iamzzb</a> 2008-02-22 17:33 <a href="http://www.tkk7.com/iamzzb/archive/2008/02/22/181468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>post带空格的values时只能传递空格前部䆾http://www.tkk7.com/iamzzb/archive/2007/07/05/128407.htmliamzzbiamzzbThu, 05 Jul 2007 08:56:00 GMThttp://www.tkk7.com/iamzzb/archive/2007/07/05/128407.htmlhttp://www.tkk7.com/iamzzb/comments/128407.htmlhttp://www.tkk7.com/iamzzb/archive/2007/07/05/128407.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/128407.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/128407.html解决办法Q?br>HTML部gvalue=""要加双引?br>value="成| 呒呒.txt"

代码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>
-----------------------------------------------------------------------------------------------



iamzzb 2007-07-05 16:56 发表评论
]]>
用Java解析XML文档http://www.tkk7.com/iamzzb/archive/2007/06/07/122545.htmliamzzbiamzzbThu, 07 Jun 2007 03:39:00 GMThttp://www.tkk7.com/iamzzb/archive/2007/06/07/122545.htmlhttp://www.tkk7.com/iamzzb/comments/122545.htmlhttp://www.tkk7.com/iamzzb/archive/2007/06/07/122545.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/122545.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/122545.html一、前a
  
  用Java解析XML文档Q最常用的有两种ҎQ用基于事件的XML单APIQSimple API for XMLQ称为SAX和基于树和节点的文档对象模型QDocument Object ModuleQ称为DOM。Sun公司提供了Java API for XML ParsingQJAXPQ接口来使用SAX和DOMQ通过JAXPQ我们可以用Q何与JAXP兼容的XML解析器?br>  
  JAXP接口包含了三个包Q?br>  
  Q?Qorg.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口?br>  
  Q?Qorg.xml.sax  用于对XMLq行语法分析的事仉动的XML单APIQSAXQ?br>  
  Q?Qjavax.xml.parsers解析器工厂工PE序员获得ƈ配置Ҏ的特D语法分析器?br>  
  二、前?br>  
  DOM~程不要其它的依赖包Q因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax 和javax.xml.parsers包就可以满意条g了?br>  
  三、用DOM解析XML文档
  
  我们现在来看看DOM是如何解析XML的吧Q同LQ我从一个简单的不能再简单的例子来说明DOM是如何解析XML文档的,先让我们看看XML是什么内容吧Q?br>  
 <?xml version="1.0" encoding="gb2312"?>
 <books>
 <book email="iamzzb@tom.com">
 <name>hibernate</name>
 <price>100</price>
 <param>不错?lt;/param>
 </book>
 <book email="iamzzb@126.com">
 <name>spring</name>
 <price>120</price>
 <param>太喜Ƣ了</param>
 </book>
 </books>
  
单的不能再简单了。但是该有的都有了,根元素、属性、子节点。好了,能反应问题就行了Q下面来看看解析q个XML文g的Java代码吧!

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构的节?



iamzzb 2007-06-07 11:39 发表评论
]]>
什么是敏捷开?http://www.tkk7.com/iamzzb/archive/2007/05/23/119362.htmliamzzbiamzzbWed, 23 May 2007 03:54:00 GMThttp://www.tkk7.com/iamzzb/archive/2007/05/23/119362.htmlhttp://www.tkk7.com/iamzzb/comments/119362.htmlhttp://www.tkk7.com/iamzzb/archive/2007/05/23/119362.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/119362.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/119362.html

iamzzb 2007-05-23 11:54 发表评论
]]>
学习springsideq程跟踪之一“熟悉例子helloworld代码?/title><link>http://www.tkk7.com/iamzzb/archive/2007/05/23/119361.html</link><dc:creator>iamzzb</dc:creator><author>iamzzb</author><pubDate>Wed, 23 May 2007 03:49:00 GMT</pubDate><guid>http://www.tkk7.com/iamzzb/archive/2007/05/23/119361.html</guid><wfw:comment>http://www.tkk7.com/iamzzb/comments/119361.html</wfw:comment><comments>http://www.tkk7.com/iamzzb/archive/2007/05/23/119361.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/iamzzb/comments/commentRss/119361.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/iamzzb/services/trackbacks/119361.html</trackback:ping><description><![CDATA[<p>    学习最快的方式看代码是一个很好的ҎQ到springside|站下栽springside-2.0-RC1-allinone.zipQ看最单的例子helloword,<br>包结构很清晰Q典型的mvc三层架构Qmodel、service、web.</p> <p>    看一眼mode.User.java,数据库的实体beanQ没什么可说的?/p> <p>    W二眼service.UserManager.java,心里惌定是逻辑层中的DaoҎ据库的操作,增加、读取、更新和删除Qeditpus完后Z我的意料<br>之外Q里面没有方法的实现<br>/**<br> * 用户理业务c?<br> * <p/><br> * l承于HibernateEntityDao,不需M代码x有默认的对User对象的CRUD函数. 如果想了解不l承于EntityDao,自行~写CRUD的写? 参?a href="mailto:{@link">{@link</a> UserManagerNativeVersion}.<br> *<br> * @author calvin<br> * @see HibernateEntityDao<br> * @see org.springside.core.dao.HibernateGenericDao<br> * @see UserManagerNativeVersion<br> */<br>public class UserManager extends HibernateEntityDao<User> {<br> // ....CRUD以外的其它商业方?br>}  <br>q里面出CCRUD看完了才知道是增加、读取、更新和删除几个单词的首字母?即Create,Read,Update,Delete四个单词的羃写。是数据库操作的基本功,往往是程序员的入门评之一Q也是最无聊的工作,在ROR中,q种工作被简化了好多,很多很牛的JavaE序员也自己写了机器人去完成q些工作Q这里的HibernateEntityDao<User><br>肯定是机器Z.<br>    下面看机器hHibernateEntityDAOQ查springside参考手册知道它已存在默认的CRUD函数Q子cd要用泛型语法声明自己理的Entitycd卛_Q如果你的Manager是简单的CRUDc,没有其他的商业方法,那就恭喜了,上面的代码就是全部?br>    SpringSide是如何对q行Hibernate装的呢Q看相关文档如下Q?br>SpringSide对Hibernate做了三层装Q?/p> <p>W一层:HibernateGenericDaoQ基于spring的HibernateDaoSupportQ但加入了分函C各种Finder函数Qƈ使用泛型避免了返回值强制类型{换?/p> <p>W二层:HibernateEntityDaoQ基于HibernateGenericDaoQ用泛型声明Dao所理的Entityc,默认拥有该entity的CRUDҎ?/p> <p>W三层:HibernateExtendDaoQ基于HibernateEntityDaoQ主要扩展各U选择性的功能?/p> <p>关于三个cȝ详细注解LJavaDocQ大致描q如下:</p> <p>1 HibernateGenericDao<br>   在Spring HibernateDaoSupport基础上封装的DAOQ功能如下:</p> <p>   1.应用泛型:使得find(), get() q些函数不再q回ObjectQ而是q回TQ不再需要强制类型{换?/p> <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}) 四种接口?</p> <p>      单查询的化函敎ͼfindBy(Class entityClass,String name,Object value) ,findUniqueBy(Class entityClass,String name, Object value),findByLike(Class entityClass,String name,Object value) </p> <p>   3.获得讄好的Query和CriteriaQcreateQuery(String hql,Object... values)  ?createCriteria(Class<T> entityClass,Criterion... criterions)</p> <p>      Springq没有很好的接口装支持firstResult, maxResult, fetchsize,cache,cacheRegion {多个查询参敎ͼ所以springside宁愿q回已设|好查询条g的Query和CriteriaQ让大家l箋剩下的参数设|,最后再执行list()Q注意那几个参数可以q箋讄的,如:</p> <p>createQuery(hql,param1).setFirstResult(10).setMaxResult(20).llist();<br>   4.分页函数:Page pagedQuery(Criteria criteria, int pageNo, int pageSize) 和Page pagedQuery(String hql, int pageNo, int pageSize, Object... args)</p> <p>      Page是SpringSide自行装的一个典型Pagec,pagedQuery与hibernate自n分页查询的差别是先运行一ơcountQ获得符合条件的总记录数?/p> <p>      如果查询不需要总记录数Q用普通的hibernate APIQ加上setFirstResult(),setMaxResult()p冻I不需要pagedQuery()?/p> <p>   5.判别对象属性在数据库中唯一的函?isUnique(Class<T> entityClass,Object entity,String names)?/p> <p>2. HibernateEntityDao<br>    所有UserManager, ProductManager之类只管理一cd象的Managercȝ基类Q只需要在cd义处声明Entitycd卛_</p> <p>public class BookManager extends HibernateEntityDao<Book> {<br>}<br>  通过<Book>的定义,避免了HibernateGenericDaocdҎ中必有的Class entityClass参数?/p> <p>  如果需要操作其他的EntityQ比如BookManager可能需要处理Category(图书目录)Q可以注入CategoryManager。无需担心事务的问题,JavaEE的默认事务模型已能很好处理?/p> <p>  如果没有对应的CategoryManagerQ或者各U原因不x入的话,可以使用BookManagerl承自HibernateGenericDao的带entityClass参数的函数来操作Category的增删改Q如Category category= this.get(Category.class, 1);</p> <p>3. HibernateExtendDao<br>      此类演示SpringSide 所作的一些扩展,大家可以按照自己的需要进行修改和扩展?/p> <p>     1. 支持对象不能被直接删除,只能讄状态列为无效?br>        接口UndeleteableEntityOperationQ定义了要支持此功能必须实现的函数?/p> <p>        可以有接?UndeletableEntity)和annotation(@Undeletable)两种形式来定义无效列Qannotation列Ş式还可以定义标识对象已删除的状态属性的名称Q用接口则必d现setStatus()接口Q在里面操作实际的状态属性?/p> <p>        两种方式的异同见侵入Q非侵入QInterface vs Annotation?/p> <p>      2. 重蝲save()Q在保存前先调用onValid() 函数<br>      3. 增加find(Map map) 接口<br>       默认查找与map中全部条件相同的entity?/p> <p>       条g的比较运符默认为相同,用户也可以ؓ属性名加上like_Qlargerthen_ q样的前~Q则使用相应的运符作比?未完? <br>W三?看web.UserAction.java,心想应该和struts里的acition一Peditpuls完后得到<br>/**<br> * 用户理Controller.<br> * <p/><br> * l承于StrutsEntityActionQ不需~码拥有默认的对User对象的CRUD响应函数. 如果想了解不l承于EntityAction,自行~写CRUD的写? 参?a href="mailto:{@link">{@link</a> UserActionNativeVersion}.<br> *<br> * @author calvin<br> * @see org.springside.core.web.StrutsEntityAction<br> * @see org.springside.core.web.StrutsAction<br> * @see UserActionNativeVersion<br> */<br>public class UserAction extends StrutsEntityAction<User, UserManager> {</p> <p> @SuppressWarnings("unused")<br> private UserManager userManager;    //看到serviceContext.xml中面有userManager应该是spring的注?/p> <p> public void setUserManager(UserManager userManager) {<br>  this.userManager = userManager;<br> }<br>} </p> <p>W四?看了web.xml、struts-config.xml、applicationContext.xml、dataAccessContext.xml、serviceContext.xml 五个配置文g?br>接下来调试程序,用运成功?br></p> <img src ="http://www.tkk7.com/iamzzb/aggbug/119361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/iamzzb/" target="_blank">iamzzb</a> 2007-05-23 11:49 <a href="http://www.tkk7.com/iamzzb/archive/2007/05/23/119361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RoR是什么?http://www.tkk7.com/iamzzb/archive/2007/05/23/119356.htmliamzzbiamzzbWed, 23 May 2007 03:41:00 GMThttp://www.tkk7.com/iamzzb/archive/2007/05/23/119356.htmlhttp://www.tkk7.com/iamzzb/comments/119356.htmlhttp://www.tkk7.com/iamzzb/archive/2007/05/23/119356.html#Feedback0http://www.tkk7.com/iamzzb/comments/commentRss/119356.htmlhttp://www.tkk7.com/iamzzb/services/trackbacks/119356.htmlRoR是Ruby on Rails的羃写?br>Ruby on Rails是一个用于编写网l应用程序的框架Q它Z计算Y件语aRubyQ给E序开发h员提供强大的框架支持?br>Ruby on Rails包括两部分内容:Ruby语言和Rails框架?/p>

iamzzb 2007-05-23 11:41 发表评论
]]>
վ֩ģ壺 һëƬ| ĻƷ| þþƷƬѹۿ| VA߹ۿ| ߹ۿ| ƷһƵ| ձVAҹӰԺ| ۺһպ| ŷպٲ| ɫ͵͵ɫݺ99| һ߹ۿ| ŷպĻһ | ѴƬavֻƬ| ӰӴȫ߲| պ߹ۿ| ȫӳѹۿ߿| þþƷһ| þֻƷ99re| þۺϹ׾Ʒ | ޹Ʒպav| hairyëpicsȫ| ߹ۿƵ| ƵƵ| պƵ| ˳ѹۿ| ŮվɫƵ| ĻӰԺַ| ѹ߹ۿ| ޾Ʒվ߹ۿ| þѾƷav| Ʒ˿һҳ| ޾Ʒ˾þվ| Ůվ߹ۿƵѵ| ˾Ʒѿ| 99þþƷձһ| Ƶۿ| 㽶Ʒ鶹| ߹ۿavÿո| ޾Ļ| AžƷһ| jizzձ|