<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/blade2001" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/blade2001" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 28 Jun 2011 15:15:00 GMT</lastBuildDate><title>blade2001的专栏</title><description>CSDN博客聚合服务</description><link>http://blog.csdn.net/blogrss.aspx?username=blade2001</link><item><title>Mysql乱码问题解决</title><link>http://blog.csdn.net/blade2001/archive/2011/06/28/6573852.aspx</link><description>&lt;br /&gt;Mysql乱码问题: http://www.sxszjzx.com/~t096/phparticle/article.php/620&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MySQL用Load Data local infile 导入部分数据后中文乱码:&lt;br /&gt;http://www.lsanotes.cn/load-data-local-infile&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最后的解决方法是：load data local infile '/home/lsanotes/newsdata.sql'  into table news　character set utf8;&lt;img src=&quot;http://www1.feedsky.com/t1/528641708/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/06/28/6573852.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Tue, 28 Jun 2011 23:15:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/06/28/6573852.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/06/28/6573852.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/528641708/1094273</fs:itemid></item><item><title>Learn from AWS outage</title><link>http://blog.csdn.net/blade2001/archive/2011/06/22/6560641.aspx</link><description>&lt;br /&gt;&lt;br /&gt;http://techblog.netflix.com/2011/04/lessons-netflix-learned-from-aws-outage.html&lt;br /&gt;http://don.blogs.smugmug.com/2011/04/24/how-smugmug-survived-the-amazonpocalypse/&lt;br /&gt;http://blog.rightscale.com/2011/04/25/amazon-ec2-outage-summary-and-lessons-learned/&lt;br /&gt;http://www.readwriteweb.com/cloud/2011/04/almost-as-galling-as-the.php&lt;br /&gt;http://developers.simplegeo.com/blog/2011/04/26/how-simplegeo-stayed-up/&lt;br /&gt;http://broadcast.oreilly.com/2011/04/the-aws-outage-the-clouds-shining-&lt;img src=&quot;http://www1.feedsky.com/t1/525851023/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/06/22/6560641.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 22 Jun 2011 11:30:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/06/22/6560641.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/06/22/6560641.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525851023/1094273</fs:itemid></item><item><title>VMware虚机时间同步及校准-VMware Linux 时间过慢或过快解决方法</title><link>http://blog.csdn.net/blade2001/archive/2011/06/22/6560633.aspx</link><description>&lt;br /&gt;有的朋友在使用VMware产品时，可能会遇到虚机时间不准确的问题，在着手解决此问题前，请阅读此文档：&lt;br /&gt;http://www.vmware.com/pdf/vmware_timekeeping.pdf&lt;br /&gt;&lt;br /&gt;适用范围：VMware ESX3/ESXi3.5；VMware Workstation 6.5&lt;br /&gt;该文档详细的讲述了为何虚机的时间为何会不准确，针对此问题VMware提供了以下解决方案：&lt;br /&gt;1、虚机的操作系统为Microsoft旗下OS，那么仅需安装VMware Tools就可以了，虚机的系统会利用VMware Tools读取Host的硬件时钟进行同步和校准。如此一来，只要Host的时钟不出问题，那么虚机的时间就不会出现问题。&lt;br /&gt;2、对于虚机是类Unix操作系统，请参考以下的文章：&lt;br /&gt;&quot;Timekeeping best practices for Linux&quot;&lt;br /&gt;http://kb.vmware.com/kb/1006427&lt;br /&gt;&lt;br /&gt;基本上的意思是：针对不同的发行版本系统，在引导内核的指令中加&lt;img src=&quot;http://www1.feedsky.com/t1/525850468/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/06/22/6560633.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 22 Jun 2011 11:28:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/06/22/6560633.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/06/22/6560633.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850468/1094273</fs:itemid></item><item><title>Google Protocol Buffers 就是我想要的</title><link>http://blog.csdn.net/blade2001/archive/2011/05/26/6446694.aspx</link><description>&lt;br /&gt;最近有个项目涉及到php/j2me/python,  研究了下Google Protocol Buffers, 发现它的特性(语言无关,向后兼容性)就是我想要的， 就是它了。&lt;br /&gt;&lt;br /&gt;Google Protocol Buffers 是一种轻便高效的结构化数据存储格式，可以用于结构化数据串行化，或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。&lt;br /&gt;&lt;br /&gt;Protobuf 的优点:&lt;br /&gt; 1.序列化后的数据小, 性能高,比 XML 小 3 到 10 倍，快 20 到 100 倍。&lt;br /&gt; 2.“向后”兼容性好&lt;br /&gt; 3.语义清晰&lt;br /&gt; 4.无需写序列化、反序列化操作&lt;br /&gt;&lt;br /&gt;Java ME和PHP的第三方实现:&lt;br /&gt;Java ME: http://code.google.com/p/protobuf-javame/&lt;br /&gt;Java ME: http://&lt;img src=&quot;http://www1.feedsky.com/t1/525850469/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/05/26/6446694.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 26 May 2011 10:03:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/05/26/6446694.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/05/26/6446694.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850469/1094273</fs:itemid></item><item><title>[读]互联网应用服务扩展的一点经验</title><link>http://blog.csdn.net/blade2001/archive/2011/05/13/6417113.aspx</link><description>互联网应用服务扩展的一点经验http://blog.rebill.info/archives/wangdi-internet-service.htmlFreeWheel：互联网MRM视频广告投放发布平台: B2B：content owner -&gt;content distributiors 广告应用服务器： 匹配(用户请求和现有广告的匹配)Log processor: map-reduce(hapdoop),  ETL---&gt;OLAP（数据仓库）Pusher: OLTP DB cache in memory, Pull from DB, 预处理和数据准备。mmap structured memory dump总结: 商业模式和业务决定设计方案 服务的高可靠性: 99.99% uptime 峰值比: 5:1 peak to Mean. 1.应用服务扩展  1.1 无状态的应用服务器：&lt;img src=&quot;http://www1.feedsky.com/t1/525850470/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/05/13/6417113.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 13 May 2011 13:15:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/05/13/6417113.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/05/13/6417113.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850470/1094273</fs:itemid></item><item><title>Trie树|字典树的简介及实现</title><link>http://blog.csdn.net/blade2001/archive/2011/04/22/6342279.aspx</link><description>&lt;br /&gt;Trie,又称字典树、单词查找树,是一种树形结构，用于保存大量的字符串。它的优点是：利用字符串的公共前缀来节约存储空间。&lt;br /&gt;相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.&lt;br /&gt;&lt;br /&gt;其基本性质可以归纳为：&lt;br /&gt;1. 根节点不包含字符，除根节点外每一个节点都只包含一个字符。 &lt;br /&gt;2. 从根节点到某一节点，路径上经过的字符连接起来，为该节点对应的字符串。 &lt;br /&gt;3. 每个节点的所有子节点包含的字符都不相同。&lt;br /&gt;其基本操作有:查找 插入和删除,当然删除操作比较少见.我在这里只是实现了对整个树的删除操作,至于单个word的删除操作也很简单.&lt;br /&gt;搜索字典项目的方法为：&lt;br /&gt;(1) 从根结点开始一次搜索；&lt;br /&gt;&lt;br /&gt;(2) 取得要查找关键词的第一个字母，并根据该字母选择对应的子树并转到该子树继续进行检索；(3) 在相应的子树上，取得要查找关键词的第二个字母,并进&lt;img src=&quot;http://www1.feedsky.com/t1/525850471/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/04/22/6342279.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 22 Apr 2011 17:24:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/04/22/6342279.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/04/22/6342279.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850471/1094273</fs:itemid></item><item><title>浅谈MD5加密算法中的加盐值(SALT)</title><link>http://blog.csdn.net/blade2001/archive/2011/04/22/6341078.aspx</link><description>&lt;br /&gt;我们知道，如果直接对密码进行散列，那么黑客可以对通过获得这个密码散列值，然后通过查散列值字典（例如MD5密码破解网站），得到某用户的密码。&lt;br /&gt;　　加Salt可以一定程度上解决这一问题。所谓加Salt方法，就是加点“佐料”。其基本想法是这样的：当用户首次提供密码时（通常是注册时），由系统自动往这个密码里撒一些“佐料”，然后再散列。而当用户登录时，系统为用户提供的代码撒上同样的“佐料”，然后散列，再比较散列值，已确定密码是否正确。&lt;br /&gt;　　这里的“佐料”被称作“Salt值”，这个值是由系统随机生成的，并且只有系统知道。这样，即便两个用户使用了同一个密码，由于系统为它们生成的salt值不同，他们的散列值也是不同的。即便黑客可以通过自己的密码和自己生成的散列值来找具有特定密码的用户，但这个几率太小了（密码和salt值都得和黑客使用的一样才行）。&lt;br /&gt;下面以PHP示例，讲解md5($pass.$salt)加密函数。&lt;br /&gt;&lt;br /&gt;function hash($a) {&lt;br /&gt;    $salt=”Random_KUGBJVY”;  //定义一&lt;img src=&quot;http://www1.feedsky.com/t1/525850472/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/04/22/6341078.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 22 Apr 2011 12:35:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/04/22/6341078.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/04/22/6341078.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850472/1094273</fs:itemid></item><item><title>强大的多线程内存分配器jemalloc</title><link>http://blog.csdn.net/blade2001/archive/2011/03/25/6278211.aspx</link><description>&lt;br /&gt;目前使用的malloc() 库，调用的是 Poul-Henning Kamp 的 phkmalloc，这一实现已经有了近十年历史。这一实现设计于内存稀缺的时代，在内存分配优先级的考虑上与现在不同，而且当时多线程仍是一个学术问题。尽管如此，它仍然是相当流行的 malloc()实现，并广泛应用于所有的BSD中，甚至某些Linux发行版也使用了。&lt;br /&gt;由于在多处理器系统中运行多线程应用时，它的缺乏效率，一个新的userland内存分配器被创建出来，并被它的创建者Jason Evans命名为jemalloc。它在计算机速度和内存可用性上的改进意味着，相对于phkmalloc——仅在内存使用上保守时使用，jemalloc 更适用于复杂情况，以及在底层属性上——比如CPU缓存位置和并发处理——需要记账时。 （此处似乎需要调整翻译）&lt;br /&gt;这个allocator最终成为这个样子：使用多allocation arenas帮助并发性，针对多线程进行了优化。在单处理器的系统上，只有一个arena，但是在多处理器，或者则多核系统上，就分配4倍于处理器个数的arena。Allocatio&lt;img src=&quot;http://www1.feedsky.com/t1/525850473/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2011/03/25/6278211.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 25 Mar 2011 16:32:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2011/03/25/6278211.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2011/03/25/6278211.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850473/1094273</fs:itemid></item><item><title>设计和部署internet级可扩展服务-On Designing and Deploying Internet-Scale Services</title><link>http://blog.csdn.net/blade2001/archive/2010/12/10/6067652.aspx</link><description>&lt;br /&gt;&lt;br /&gt;James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单，James paper中内容几乎称不上理论，而是多条实践经验分享，每个公司对这些经验的理解及执行力决定了架构成败。&lt;br /&gt;&lt;br /&gt;http://www.mvdirona.com/jrh/talksAndPapers/JamesRH_Lisa.pdf&lt;br /&gt;&lt;br /&gt;Three simple tenets&lt;br /&gt;1. Expect failures &lt;br /&gt;2. Keep things simple &lt;br /&gt;3. Automate everything &lt;br /&gt;&lt;br /&gt;1. Overall Application Design&lt;br /&gt;1. Design for failure &lt;br /&gt;2. Redundancy and fault recovery &lt;br /&gt;3. Commodity hardware slice &lt;br /&gt;4. Single-version software &lt;br /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/525850474/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2010/12/10/6067652.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 10 Dec 2010 14:16:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2010/12/10/6067652.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2010/12/10/6067652.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850474/1094273</fs:itemid></item><item><title>Java客户端用https连接服务器的一点心得</title><link>http://blog.csdn.net/blade2001/archive/2010/12/08/6063615.aspx</link><description>http://wwwww.javaeye.com/blog/94854&lt;img src=&quot;http://www1.feedsky.com/t1/525850475/blade2001/csdn.net/s.gif?r=http://blog.csdn.net/blade2001/archive/2010/12/08/6063615.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 08 Dec 2010 17:39:00 +0800</pubDate><author>d</author><guid isPermaLink="false">http://blog.csdn.net/blade2001/archive/2010/12/08/6063615.aspx</guid><dc:creator>d</dc:creator><fs:srclink>http://blog.csdn.net/blade2001/archive/2010/12/08/6063615.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/blade2001/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/blade2001/~1094275/525850475/1094273</fs:itemid></item></channel></rss>
