<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>流浪青春</title>
    <link>http://www.topn.net/</link>
    <description>个性有一点，才情有一点，幽默感有一点，进取心有一点，不因循，喜创新。</description>
    <image>
      <title>流浪青春</title>
      <url>http://m1.img.libdd.com/farm3/200/2CB8DD00A67B2218A7678DEF671CABC8_64_64.jpg</url>
      <link>http://www.topn.net/</link>
      <description>个性有一点，才情有一点，幽默感有一点，进取心有一点，不因循，喜创新。</description>
    </image>
    <item>
      <title>用什么来拯救国内HR的“诚意”</title>
      <link>http://www.topn.net/HR-should-be-better.html</link>
      <description>&lt;blockquote&gt;&lt;p&gt;1. hr这个职业在国内起步较晚，很多人甚至不清楚hr具体是干啥的，能起啥作用&lt;br /&gt;2. 很多一心想混混的人，往往会去应聘行政、HR之类的职位，潜意识中以为这些职业工作简单好糊弄、不用动脑子&lt;br /&gt;3. hr可以看别人的个人资料、简历，满足某些人的窥私欲&lt;br /&gt;4. 网上有很多“hr教育应聘者”的文章，使某些人产生幻觉：以为hr就是生来指责、教育他人的职业，满足自己的“家长欲”&lt;br /&gt;5. hr能够随意对应聘者说“不”，满足自己的“掌控欲”&lt;br /&gt;6. 客观上，很多企业根本不懂hr的意义，人为降低了hr的门槛&lt;br /&gt;&lt;br /&gt;我想在不少人心目中：hr=窥私+有小小的实权+工作内容简单无脑&lt;br /&gt;&lt;br /&gt;所以hr队伍中往往混进了很多混子、痞子、赖子&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;------------------------------------&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;hr需要的首先是一颗善心，因为主要是和作为弱势群体一方的员工、应聘者打交道的；&lt;br /&gt;其次要有宽容包容之心，眼睛不要只盯着别人的缺点——大家都容易看到别人的缺点，而对别人的优点更倾向于视而不见，这是人的本性。hr就要反过来，因为公司用的是一个人的长处，而怎样让这个人在这个岗位发挥出长处、规避短处，这就是你hr需要做的事情，没有人是完美无瑕的，你也不要指望通过问“你的缺点是什么”这样的弱智问题来达到目的，这是很幼稚的做法；&lt;br /&gt;hr要受过良好的教育，并且有一定的阅历，最好有过受挫经历，这样才能对“什么是人生”有更好的理解，不是脸蛋漂亮一点、身材曼妙一点就能解决问题的&lt;br /&gt;&lt;br /&gt;理论上的hr门槛比大家想象中的高得多，这是一个综合性很强的职业，不是搁几个花瓶、草包就能完事的。&lt;br /&gt;&lt;br /&gt;中国企业没几个上得了台面的，对hr这个职位的理解也极其肤浅。这也难为了很多真心想办好事、办实事的hr，而hr队伍中混进的混混（而且不在少数）又损坏了hr的整体形象。这就是现状&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;----------------------------------&lt;/p&gt;</description>
      <pubDate>Thu, 22 Mar 2012 02:32:56 GMT</pubDate>
      <guid>http://www.topn.net/HR-should-be-better.html</guid>
      
    </item>
    <item>
      <title>Ubuntu 下 python之 pyquery下初探</title>
      <link>http://www.topn.net/post/python-pquery.html</link>
      <description>&lt;p&gt;Python是什么？&lt;/p&gt;&lt;p&gt;Python是一种解释型的面向对象的高级语言，你可以把它当作是PHP/Java/.Net。&lt;/p&gt;&lt;p&gt;优势：&lt;/p&gt;&lt;p&gt;1.轻便、高效率；&lt;/p&gt;&lt;p&gt;2.在网络编程可涉及网络层以上的协议；&lt;/p&gt;&lt;p&gt;至于一些类似跨平台之类的优势存在价值貌似不是我们所能关心的&lt;/p&gt;&lt;p&gt;劣势：&lt;/p&gt;&lt;p&gt;1.难以进入企业级的应用行业&lt;/p&gt;&lt;p&gt;案例：豆瓣&lt;/p&gt;&lt;p&gt;Ubuntu下安装：&lt;/p&gt;&lt;p&gt;#sudo apt-get install python&lt;/p&gt;&lt;p&gt;Pyquery是一个在python环境下类似jQury的类库，用于爬虫等开发非常方便&lt;/p&gt;&lt;p&gt;安装：有网上介绍要逐个安装setuptools等，详细请见：&lt;a href="http://www.cnblogs.com/sliverdang/archive/2011/09/05/2167760.html" class="edui-filter-line-through"&gt;http://www.cnblogs.com/sliverdang/archive/2011/09/05/2167760.html&lt;/a&gt;&lt;span class="edui-filter-line-through"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;个人认为既然在Ubuntu下就没不要这样安装，因为上述安装的时候有过多的函数依赖，亲自试了下，觉得有点太麻烦了，所以干脆用上apt-get省事，方便。&lt;/p&gt;&lt;p&gt;安装顺序：libxml2 \libxslt \lxml\pyquery&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;使用案例：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt;pyquery&lt;/span&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt;PyQuery as pq&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;pq(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;lt;html&amp;gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;可以直接拼HTML&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;pq(url&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;http://www.topn.net/&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;也可以打开一个url&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;取title元素&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;]&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).text()&lt;br /&gt;&lt;/span&gt;&lt;span&gt;流浪青春--个性有一点，才情有一点，幽默感有一点，进取心有一点，不因循，喜创新。&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;#logo&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;).html()&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;根据ID获取元素&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;a href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;http://www.powereasy.net&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;amp;#x52A8;&amp;amp;#x6613;&amp;amp;#x7F51;&amp;amp;#x7EDC;&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;官方主站&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;.s&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;根据类名获取元素&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;li.s&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;#topNavIn li:eq(5)&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).find(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;复杂点的选择器也是可以的，看来支持的不错&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;a.attr(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;href&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;属性操作&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;http://sms.powereasy.net/&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;a.attr(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;href&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;http://qleelulu.cnblogs.com&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;href&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;修改属性值&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;http://qleelulu.cnblogs.com&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;#LoginFrom&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).hasClass(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;Login_ajax&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;css类操作&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;True&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;d(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;#LoginFrom&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).addClass(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;lulu&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;class&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;#&lt;/span&gt;&lt;span&gt;css类操作&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;lulu Login_ajax&lt;/span&gt;&lt;span&gt;'&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;更多体验待加.....未完。&lt;/p&gt;</description>
      <pubDate>Fri, 16 Mar 2012 08:27:35 GMT</pubDate>
      <guid>http://www.topn.net/post/python-pquery.html</guid>
      
    </item>
    <item>
      <title>Webbench服务器压力测试资料汇总</title>
      <link>http://www.topn.net/post/webbench.html</link>
      <description>&lt;p&gt;服务器压力测试工具：Webbench&lt;/p&gt;&lt;p&gt;适用系统：Linux&lt;/p&gt;&lt;p&gt;测试：&lt;/p&gt;&lt;p&gt;&lt;span&gt;webbench -c 500 -t 30&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http://www.gzfad.com/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;参数说明：&lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt;表示并发数，&lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt;表示时间&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;秒&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="edui-filter-align-center"&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;PV与并发之间换算的算法换算公式&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;并发连接数 = PV / 统计时间 * 页面衍生连接次数 * http响应时间 * 因数 / web服务器数量&lt;/p&gt;&lt;p&gt;PV = 并发连接数 * 统计时间 * web服务器数量/ 页面衍生连接次数 / http响应时间 / 因数&lt;/p&gt;&lt;p&gt;解释：&lt;br /&gt;统计时间 : pv统计的总时间，单位秒，要计算一天的pv就是86400秒&lt;br /&gt;页面衍生连接次数: 一个HTML页面可能会请求好几次http连接，如外部的css, js,图片等,可以估算一下，或者用10,可根据实际情况改变&lt;br /&gt;http响应时间: 可以使用1秒或更少,可根据实际情况改变&lt;br /&gt;因数: 一般使用5即可,可根据实际情况计算后推出&lt;br /&gt;web服务器数量: web服务器数量&lt;/p&gt;&lt;p&gt;* &amp;quot;页面衍生连接次数&amp;quot;，&amp;quot;http响应时间&amp;quot;，&amp;quot;因数&amp;quot;这三个参数要根据实际情况分析计算后，确定一个适合的值&lt;/p&gt;&lt;p&gt;推算一下。单台机器1000并发的情况下，一天是1,728,000的pv(1秒响应，10个衍生连接，因子为5的情况下)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;例子：&lt;/p&gt;&lt;p&gt;保证每天多少PV的并发连接数的计算公式是：&lt;br /&gt;并发连接数＝ PV / 统计时间(一天是86400) * 页面衍生连接次数 * http响应时间 * 因数(5) / web服务器数量&lt;/p&gt;&lt;p&gt;保证4千万PV的并发连接数：&lt;br /&gt;(40000000PV / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰值) / 6台Web服务器 = 19290连接数&lt;/p&gt;</description>
      <pubDate>Wed, 14 Mar 2012 03:27:09 GMT</pubDate>
      <guid>http://www.topn.net/post/webbench.html</guid>
      
    </item>
    <item>
      <title>土豆网运营团队博客</title>
      <link>http://www.topn.net/post/tudou_technology_team_blog.html</link>
      <description>&lt;p&gt;http://blog.ops.tudou.com/wp/&lt;/p&gt;&lt;p&gt;土豆网运营团队技术博客&lt;br /&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 10 Mar 2012 04:40:55 GMT</pubDate>
      <guid>http://www.topn.net/post/tudou_technology_team_blog.html</guid>
      
    </item>
    <item>
      <title>sphinx开源搜索引擎对Discuz &amp; ucenter 的优化手记</title>
      <link>http://www.topn.net/post/sphinex-for-discuz.html</link>
      <description>&lt;p&gt;工作需要，需要对公司使用的开源搜索引擎Sphinx的产品对Discuz相关搜索进行优化。&lt;/p&gt;&lt;p&gt;背景：&lt;/p&gt;&lt;p&gt;sphinx在production环境上经常卡死mysql，使得linux服务器CPU占用99%，而且经常有多个进程等待甚至死锁的情况发生。&lt;/p&gt;&lt;p&gt;在QA环境上，因每20分/次运行程序重新对discuz内容进行抓取，大概有2152条数据情况下，大概需要用时&lt;/p&gt;&lt;p&gt;274.05657482147s&lt;/p&gt;&lt;p&gt;优化后0.8s左右。&lt;/p&gt;&lt;p&gt;下面放出优化前有某国内知名公司所做的代码：&lt;/p&gt;&lt;p&gt;优化的核心思想：&lt;/p&gt;&lt;p&gt;一、针对select语句：&lt;/p&gt;&lt;p&gt;目前有很多开源mysql class类中如果不写相关field，则默认是select *，这样导致很多懒人就直接不写所需要用到的域。&lt;/p&gt;&lt;p&gt;所以所做的工作也就是针对这块进行处理。&lt;/p&gt;&lt;p&gt;二、insert/update数据分离&lt;/p&gt;&lt;p&gt;搜索引擎重新收录数据的过程中，肯定会针对旧数据进行比较。则可以分开insert/update操作。因为我们在insert语句中，&lt;/p&gt;&lt;p&gt;通常N条记录，如果使用普通的方法则需要N次的insert操作，这样大大降低了效率。所以可以使用insert table() value(),(),()这样的语句减少语句数量，同时提高工作效率。（但这过程可能存在一个问题，那就是insert语句如果不做适当的处理，则会导致语句过长，而超出mysql配置文件中的MAX_ALLOWED_PACKET，通常要防止这个问题，如果用插入个数来限制则不是明智的选择，通常我们会判断语句的长度，取MAX_ALLOWED_PACKET/2作为上限。）&lt;/p&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:31:26 GMT</pubDate>
      <guid>http://www.topn.net/post/sphinex-for-discuz.html</guid>
      
    </item>
    <item>
      <title>2011百度之星第一题，锻炼思维，我的PHP代码</title>
      <link>http://www.topn.net/baidu-star-2011.html</link>
      <description>&lt;p&gt;中文版：很久都没动过这类的东西了，发现脑子已经开始慢慢僵化，所以赶紧拿写题目来锻炼下，不然以后就笨得咬死了。找到了百度之星2011的第一题，话了两小时（这样的比赛，第一题本来要半小时就搞定的，如果真去，初赛就会被过滤掉），既然做了，我放出我的代码，初步验证，觉得没什么大问题。用作大家锻炼思维用吧。&lt;/p&gt;&lt;p&gt;英文版：Long time no do things which be challenged, As it's not a good habit to continue like that, so I search the test questions &amp;nbsp;from baidu star 2011. &amp;nbsp;Usually, it could just take half past a hour for a player to fix the first question. Amazing, it took me almost 2 hs to fix it. I do so I do share, I guess there's not too many people do these things like me that used php to fix it.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&amp;lt;?php
/* 第一题：图标排列

百度应用平台上有很多有趣的应用，每个应用都由一个开发者开发，每个开发者可能开发一个或多个应用。百度的工程师们想把应用尽可能好的推荐给用户。

研究发现，同一个开发者开发的程序的图标有很大的相似性。如果把同一个开发者开发的应用放在一起，用户很快就会厌倦相似的图标，如果把这些图标穿插摆放效果就会好很多。

现在工程师想给用户推荐来自m个开发者的n个应用，在推荐的时候这些应用的图标将排成整齐的一行展示给用户，相邻两个图标之间的距离正好是1，工程师们想让这些图标尽可能的穿插摆放。为了衡量穿插摆放的效果，给每个图标定义一个“分离度”，分离度的值是指当前图标和它左边最近的来自同一个开发者的图标之间的距离。如果一个图标左边没有来自同一个开发者的图标，则分离度为0。所有图标穿插摆放效果的值定义为所有图标的分离度之和。

已知每个开发者开发的应用个数，请帮助百度的工程师找到图标穿插摆放效果的最大值。

输入描述

输入的第一行包含两个整数n和m，用一个空格分隔，分别表示应用的个数和开发者的个数。

第二行包含m个正整数，相邻两个数之间用一个空格分隔，表示每个开发者开发的应用个数，这些整数之和必然等于n。

输出描述

输出一个整数，表示图标穿插摆放效果的最大值。

样例输入

8 3

3 3 2

样例输出

15

提示

对于20%的数据，n≤ 10；

对于40%的数据，n≤ 100。

对于100%的数据，1≤ m ≤ n ≤ 100,000 */

$app=array(
0=&amp;gt;4,
1=&amp;gt;3,
2=&amp;gt;2,

);
$num=count($app);
    sort($app);
$last_num=0;
$current_num=$num;
for($i=0;$i&amp;lt;$app[$num-1];$i++){
foreach($app as $k=&amp;gt;$v){
if($i==$v &amp;amp;&amp;amp; $i+1&amp;lt;=$num){$current_num--;}
}
$s+=$current_num*$last_num;
$last_num=$current_num;
}
echo $s;
?&amp;gt;&lt;/pre&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:30:58 GMT</pubDate>
      <guid>http://www.topn.net/baidu-star-2011.html</guid>
      
    </item>
    <item>
      <title>电灯泡将可传输无线数据：每秒超10Mb</title>
      <link>http://www.topn.net/post/2012-02-24/16867665</link>
      <description>&lt;p&gt;&lt;strong&gt;英国著名物理学家哈拉尔德-哈斯表示，他研发出一种全新的无线数据传输技术，可利用普通的电灯泡完成整个过程&lt;/strong&gt;。在打开房间电灯的同时，用户也打开了互联网连接。哈斯将&lt;strong&gt;这种装置称之为“Light Fidelity”(简称Li-fi)，&lt;/strong&gt;可用于传输来自电视波段“白空间”的无线数据或者未被使用的卫星信号。&lt;/p&gt;&lt;p&gt;哈斯是英国爱丁堡大学工程学院教授，他表示我们当前使用的无线电波数据传输方式效率不高。借助于手机，现在有140万个基站负责增强信号，但大部分 能量都用在冷却上，效率只有5%。相比之下，全世界使用的灯泡却有400亿个，因此拥有更高的效率。只要将传统白炽灯换成LED灯，便可让灯泡变成无线网 络发射器。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;这项发明被称之为“D-Light”，通过改变房间照明光线的频率进行数据传输，每秒传输的数据超过10Mb&lt;/strong&gt;，与典型的宽带连接不相上下。它可以应用于医院、机场、军队甚至于水下。&lt;/p&gt;&lt;p&gt;从理论上说，飞机乘客能够利用机舱内发出的光信号上网冲浪。哈斯说：“我们当前采取的无线数据传输方式是效率低下的电磁波，尤其是无线电波。无线电 波存在很多局限性，它们较为稀有、成本昂贵并且只有确定的波段。这些局限性使其无法跟上无线数据的步伐，让效率成为一种不可能。光是电磁波频谱的一部分， 将其用于无线通讯难道不是一个很棒的做法吗？”&lt;/p&gt;&lt;p&gt;他指出可见光谱的空间是无线电波的1万倍，使其成为可使用的最理想的波段。在一次演讲中，哈斯展示了一盏使用LED灯的桌灯，能够像桌子下面的接收器传输数据。只要将手放入光束中，视频信号便会传输给身后的屏幕，一旦阻隔信号，便会停止播放。&lt;/p&gt;&lt;p&gt;哈斯表示这项技术还没有与智能手机结合在一起，希望不久后可以做到这一点。他说：“任何有光的地方都是潜在数据传输源。在我看来，这项技术的应用前景超乎我们想象，我们要做的就是为所有潜在照明装置安装微芯片，将照明与数据传输联系在一起，解决我们面临的无线通讯问题。”&lt;/p&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:30:28 GMT</pubDate>
      <guid>http://www.topn.net/post/2012-02-24/16867665</guid>
      
    </item>
    <item>
      <title>Using jQuery to get document title not works right in IE7/8 在IE7/8下无法正常使用document.title获取网页名称的问题</title>
      <link>http://www.topn.net/jquery-bug-report.html</link>
      <description>&lt;p&gt;Using jQuery to get document title not works right in IE7/8, once time I just want to get the document title and use split() to split the title, it wokrs well in IE9/Chrome/firefox 5.0（and may be so on ）,but it'll not get the right title inIE7/8 if the page url has '#', I do not understand it and why? Any friend knows it?&lt;/p&gt;&lt;p&gt;在IE7/8下无法正常使用document.title获取网页名称的问题。在一次工作中发现通过doument.title来获取页面的标题的时候，通常情况下是可以的，但是如果在ie7/8下页面的地址中包涵了井号（‘#’）就会出错，出错就是活得了#号后面的内容，其它浏览器下正常（至少IE9/Chrom/firefox 5.0），求高人指点。&lt;/p&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:28:23 GMT</pubDate>
      <guid>http://www.topn.net/jquery-bug-report.html</guid>
      
    </item>
    <item>
      <title>Bing翻译中遇到的问题：js中escape,encodeURI,encodeURIComponent</title>
      <link>http://www.topn.net/bing-translate-debug.html</link>
      <description>&lt;p&gt;js对文字进行编码涉及3个函数：escape,encodeURI,encodeURIComponent，相应3个解码函数：unescape,decodeURI,decodeURIComponent&lt;/p&gt;&lt;p&gt;我们在给bing翻译中的数据如果带#号的话，bing翻译就把#号之前的内容给漏掉了，我们觉得这是bing翻译存在的bug.&lt;/p&gt;&lt;p&gt;We meet the problem &amp;nbsp;in the bing translation api, if we submit the content with sharp, the return data will be cut by sharp('#'), We think it's bug of bing we have used encodeURIComponent to transfer our data.&lt;/p&gt;&lt;p&gt;1、 &amp;nbsp;&amp;nbsp;传递参数时需要使用encodeURIComponent，这样组合的url才不会被#等特殊字符截断。&lt;/p&gt;&lt;p&gt;例如：&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;document.write('&amp;lt;a href=&amp;quot;http://passport.baidu.com/?logout&amp;amp;aid=7&amp;amp; u='+encodeURIComponent(&amp;quot;http://cang.baidu.com/bruce42&amp;quot;)+'&amp;quot;&amp;gt;退出&amp;lt;/a&amp;amp;amp; gt;');&amp;lt;/script&amp;gt;&lt;/p&gt;&lt;p&gt;2、 &amp;nbsp;&lt;strong&gt;进行url跳转时可以整体使用encodeURI&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;例如：Location.href=encodeURI(&amp;quot;http://cang.baidu.com/do/s?word=百度&amp;amp;ct=21&amp;quot;);&lt;/p&gt;&lt;p&gt;3、&lt;strong&gt;js使用数据时可以使用escape&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;例如：搜藏中history纪录。&lt;/p&gt;&lt;p&gt;4、 &amp;nbsp;&lt;strong&gt;escape对0-255以外的unicode值进行编码时输出%u****格式，其它情况下escape，encodeURI，encodeURIComponent编码结果相同。&lt;/strong&gt;&lt;br /&gt;最多使用的应为encodeURIComponent，它是将中文、韩文等特殊字符转换成utf-8格式的url编码，所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持（form中的编码方式和当前页面编码方式相同）&lt;/p&gt;&lt;p&gt;&lt;strong&gt;escape不编码字符有69个：*，+，-，.，/，@，_，0-9，a-z，A-Z&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;encodeURI不编码字符有82个：!，#，$，&amp;amp;，'，(，)，*，+，,，-，.，/，:，;，=，?，@，_，~，0-9，a-z，A-Z&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;encodeURIComponent不编码字符有71个：!， '，(，)，*，-，.，_，~，0-9，a-z，A-Z&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;javaScript中URL编码转换,escape() encodeURI() encodeURIComponent2007年05月12日 星期六 下午 04:48&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;在使用url进行参数传递时，经常会传递一些中文名的参数或URL地址，在后台处理时会发 生转换错误。在有些传递页面使用GB2312，而在接收页面使用UTF8，这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode 函数编码的URL，与使用客户端javascript的encodeURI函数编码的URL，结果就不一样。&lt;strong&gt;javaScript中的编码方法：&lt;/strong&gt;escape() 方法：&lt;br /&gt;采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码（xx等于该字符 在字符集表里面的编码的16进制数字）。比如，空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符： @ * / +&lt;/p&gt;&lt;p&gt;英文解释：MSDN JScript Reference: The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where xx is equivalent to the hexadecimal number representing the character. For example, a space is returned as &amp;quot;%20.&amp;quot;&lt;br /&gt;Edge Core Javascript Guide: The escape and unescape functions let you encode and decode strings. The escape function returns the hexadecimal encoding of an argument in the ISO Latin character set. The unescape function returns the ASCII string for the specified hexadecimal encoding value.&lt;/p&gt;&lt;p&gt;encodeURI() 方法：把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符：! @ # $&amp;amp; * ( ) = : / ; ? + '&lt;/p&gt;&lt;p&gt;英文解释：MSDN JScript Reference: The encodeURI method returns an encoded URI. If you pass the result to decodeURI, the original string is returned. The encodeURI method does not encode the following characters: &amp;quot;:&amp;quot;, &amp;quot;/&amp;quot;, &amp;quot;;&amp;quot;, and &amp;quot;?&amp;quot;. Use encodeURIComponent to encode these characters. Edge Core Javascript Guide: Encodes a Uniform Resource Identifier (URI) by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character&lt;/p&gt;&lt;p&gt;encodeURIComponent() 方法：把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比，这个方法将对更多的字符进行编码，比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话，不能用这个方法来进行编码，否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符：! * ( )&lt;/p&gt;&lt;p&gt;英文解释：MSDN JScript Reference: The encodeURIComponent method returns an encoded URI. If you pass the result to decodeURIComponent, the original string is returned. Because the encodeURIComponent method encodes all characters, be careful if the string represents a path such as /folder1/folder2/default.html. The slash characters will be encoded and will not be valid if sent as a request to a web server. Use the encodeURI method if the string contains more than a single URI component. Mozilla Developer Core Javascript Guide： Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;因此，对于中 文字符串来说，如果不希望把字符串编码格式转化成UTF-8格式的（比如原页面和目标页面的charset是一致的时候），只需要使用escape。如果 你的页面是GB2312或者其他的编码，而接受参数的页面是UTF-8编码的，就要采用encodeURI或者encodeURIComponent。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;另外，encodeURI/encodeURIComponent是在javascript1.5之后引进的，escape则在javascript1.0版本就有。&lt;/p&gt;&lt;p&gt;英文注释：The escape() method does not encode the + character which is interpreted as a space on the server side as well as generated by forms with spaces in their fields. Due to this shortcoming, you should avoid use of escape() whenever possible. The best alternative is usually encodeURIComponent().Use of the encodeURI() method is a bit more specialized than escape() in that it encodes for URIs [REF] as opposed to the querystring, which is part of a URL. Use this method when you need to encode a string to be used for any resource that uses URIs and needs certain characters to remain un-encoded. Note that this method does not encode the ' character, as it is a valid character within URIs.Lastly, the encodeURIComponent() method should be used in most cases when encoding a single component of a URI. This method will encode certain chars that would normally be recognized as special chars for URIs so that many components may be included. Note that this method does not encode the ' character, as it is a valid character within URIs.&lt;/p&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:27:21 GMT</pubDate>
      <guid>http://www.topn.net/bing-translate-debug.html</guid>
      
    </item>
    <item>
      <title>仿Discuz!弹出层JS</title>
      <link>http://www.topn.net/discuz-overlay.html</link>
      <description>&lt;p&gt;Discuz!中的弹出层效果不错，于是我们自己模板了一个这样的overlay，不过方式和discuz有点不一样，在Discuz中，他是通过类似iframe的形式加载弹出框内容的，因为取得的是另外一个网址里面的内容，而我们的overlay.js中引用的是获取本页面的指定id下内容进行弹出。实现对指定id进行dispaly:none，在调用的时候会自动显示。不过有个潜在的问题就是，会导致网页里面的id有重复，这是个不好的地方，不知道有没有其它更好的做法。不过如果需要取弹出层里面的内容，还是可以的，你可以通过父级元素来处理。稍候放出zip文件。下载地址：http://niceie.com/blog/wp-content/uploads/2011/08/overlay.tar，有任何问题可以直接mail to me.(admin[at]niceie.com)&lt;br /&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 24 Feb 2012 10:26:15 GMT</pubDate>
      <guid>http://www.topn.net/discuz-overlay.html</guid>
      
    </item>
  </channel>
</rss>


