<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>yuehei 两点之间</title>
		<link>http://yuehei.37net.com/old/</link>
		<description>&lt;h4&gt;现阶段的主要矛盾是落后的生产力不能满足日益增长的物质文化需求&lt;/h4&gt;</description>
		<copyright>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</copyright>
		<generator>SaBlog-X Version 1.6 Build 20080806</generator>
		<lastBuildDate>Sun, 01 Aug 2010 08:12:18 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=44</guid>
			<title>Ph4nt0m Webzine 0x03</title>
			<author>月黑风高</author>
			<description><![CDATA[<pre>Ph4nt0m Webzine 0x03发布，看不懂这名字含义。不过文章是很好看</pre>
<p><a href="http://www.cncert.net/pstzine_0x03/pdf/PSTZine_0x03_0x06.pdf ">http://www.cncert.net/pstzine_0x03/pdf/PSTZine_0x03_0x06.pdf</a></p>
<p>以后不用mt_rand这种方法来取回密码。。试了一下，果然是这样<img border="0" alt="" src="http://yuehei.37net.com/images/smiles/sweat.gif" /></p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=44</link>
			<category domain="http://yuehei.37net.com/old/?cid=4">PHP</category>
			<pubDate>2009-05-06 10:58</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=43</guid>
			<title>有个样子了</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>1。一个月时间，封闭了后端，模仿的zf封装一个简单的框架，zf太大，我想用只是那么一点点，看了qeephp，用了领域编程，有点不好掌握，模仿了手机之家封装了一个memcache+db的简单DAL，用的还不错，但是业务交叉比较多，表到数据库的映射不好掌握，我的程序很山寨。</p>
<p>2。我JS一直不行，写出这个前端还是Jquery功能NB，我在一些Jquery GPL插件的基础封装一个插件，屏蔽掉底层操作，有一些地方也分离了请求和模板，前端的样子大概是出来了，后面改动也逃不出这个大局。JS对象是鸡肋？我没发现太大的用处，但是前端还是全部用对象，我把它当成命运空间来用，挺爽的，结构看起来也清晰。</p>
<p>3。之前我一直考虑GB2312还是utf8，后来还是用utf8，方便，不过数据数据传输大了一些，主要就是JSON之后的汉字，我封装了前端的语言包，但是没有去用，算来算去太麻烦，上线根据情况再调整。有很多Jquery的功能好像没用，程序稳定了以后计划进行一些删减。我的前端也很山寨。</p>
<p>4。发现一些sns目录结构&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; /account/detail/index.php</p>
<p>&nbsp;&nbsp; /account/list/index.php</p>
<p>&nbsp;&nbsp; 这样就可以用/account/detail/?xxx来访问。。看起来结构比较清晰，核心也肯定比较小。</p>
<p><br />
3.今天是林<font color="#ffffff">空</font>昭4<font color="#ffffff">空</font>1周年，缅怀那些忠于自己，勇敢的人，时光流逝，今天依然清澈。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=43</link>
			<category domain="http://yuehei.37net.com/old/?cid=9">webgame</category>
			<pubDate>2009-04-29 21:37</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=41</guid>
			<title>基于令牌的通行证</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>晚天搞到三点多，把ZF默认的目录结构做了一些修改，配置一些文件，放到SVN中<br />
<br />
以前扯淡过一次通行证，不过当时知道的比较少，这次再扯一次，<br />
通行证，我知道有两种，一种是cookie加密，一种是memcached做的令牌<br />
<br />
1. cookie 小站用的比较多，问题是不支持分布，也不能解决多地登录，在不在线，还有不能放太大的数据量，毕竟每次请求都附上cookie。<br />
<br />
2. 令牌可以解决cookie的一些问题，很多网站都在用，好处就是支持分布式，N个应用都可以自由判断用户登录没登，不好的地方的是保持不方便。<br />
令牌一般有两组，一组只保存很少的信息：用户ID=&gt;(登录时间，客户端IP)，这个是用来快速判断。<br />
另一组才是真正的令牌：md5(用户id+登录时间)=&gt;其它信息，用户每次登录都会刷新这个令牌。<br />
<br />
想过用memory表，效率太差，比较好的方法是把这两个结合起来：<br />
在线的用户会放在memcached中，假设设置时间是60m, 过期就是不在线，可以解决在线问题。<br />
用户本地有cookie, 如果解密成功且memcached中没有用户信息则设置，此时同一用户可以多地登录的。<br />
如果应用程序要求比较严格，不允许多地登录，则可以用memcached中保存的客户端信息来确定当前唯一登录用户。<br />
在线保持还会有一个效率问题，因为要刷新在线时间，保持状态，不过比较好解决，简单的就是设置长一点过期时间和随机刷新。<br />
<br />
总体上来说：<br />
cookie: （rc4或xxtea） 用户ID, 登录时间戳<br />
memcache第一组：用户ID=&gt;(登录时间，客户端IP(更严格一点可以包括浏览器信息))<br />
memcache第二组：md5(用户id+登录时间)=&gt;其它信息<br />
<br />
这样做有一个很不好的地方，增加了其它应用判断是否登录的复杂度，以前只要检测memcached就可以了，现在还要检查一下cookie， 不过借助于js的还是比较容易解决。<br />
<br />
另外，这样会有一些安全问题，比如用户改了密码以后，原来的cookie还能用，这个问题解决应该和全站安全一起考虑，用户在注册的时候随机生成的key，位数可以少一点，这个key是用来确认客户端cookie有效的，也可以用来防止跨站请求伪造，也可以md5的时候加上，形成双密码保护，功能多多。。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=41</link>
			<category domain="http://yuehei.37net.com/old/?cid=4">PHP</category>
			<pubDate>2009-03-15 17:39</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=40</guid>
			<title>hello world</title>
			<author>月黑风高</author>
			<description><![CDATA[<p><a href="http://www.ibm.com/developerworks/cn/linux/l-django/">一个起步教程</a><br />
<br />
可能教程的版本比较旧</p>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol start="1" class="dp-py">
    <li class="alt"><span><span class="keyword">from</span><span>&nbsp;django.utils.httpwrappers&nbsp;</span><span class="keyword">import</span><span>&nbsp;HttpResponse&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;index(request):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;HttpResponse(</span><span class="string">&quot;Job&nbsp;Index&nbsp;View&quot;</span><span>)&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>1。httpresponse已经挪到django.http下面了，放在__init__.py这个感觉没什么用的文件里，找了好一会儿<br />
<br />
框架的文件全放在site-packages里面，没想到和zf差不多，传入request对象，输出response对象</p>
<p>2。<a href="http://www.ibm.com/developerworks/cn/linux/l-cppeak3.html">egg是什么格式</a></p>
<p>3。昨天清理笔记本，有二颗螺丝滑丝了，死按拧上了一个，用了快二年。宽裕的时候换一个。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=40</link>
			<category domain="http://yuehei.37net.com/old/?cid=8">python</category>
			<pubDate>2009-02-24 19:24</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=39</guid>
			<title>开始web py部分</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>今天把django，NND，这个单词我还不会拼，给装了，没用nginx，担心把我的php环境给搞坏了，用他自带的那个web server，</p>
<p><a href="http://yuehei.37net.com:8080/">http://yuehei.37net.com:8080/</a></p>
<p>1。现在一头雾水，以前用php就是开启fastcgi监听，web server转发处理响应，然后把框架布署在目录里，django把这些东西都放在一起，我茫然了，迷茫了，找不前进的方向了，恶。。</p>
<p>2。试了一下php gtk，这种鸡肋的东西，除了证明一下PHP能写桌面也没别的用了。</p>
<p>3。wxpython GUI组件 <a href="http://www.ibm.com/developerworks/cn/linux/sdk/python/wxpy/">http://www.ibm.com/developerworks/cn/linux/sdk/python/wxpy/</a></p>
<p>4。<a href="http://www.phprpc.org/zh_CN/">PHPRPC</a> 比 soap之类的东西简单多了，好用多了。。就是页面太艺术。。</p>
<p>mod：将解释器加载为web server 的一部分</p>
<p>cgi：每次接受请求解释器都会初始化，比较消耗资源</p>
<p>fastcgi：会生成解释进程，常驻内存，速度比较理想</p>
<p>cli：php安静模式，一般在命令行下用</p>
<p>饿了，撤</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=39</link>
			<category domain="http://yuehei.37net.com/old/?cid=8">python</category>
			<pubDate>2009-02-23 18:06</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=38</guid>
			<title>网址记录</title>
			<author>月黑风高</author>
			<description><![CDATA[<p><a href="http://www.javaeye.com/post/886707?page=11">http://www.javaeye.com/post/886707?page=11</a></p>
<p>&nbsp;一直不订javaeye的blog，几个血红大字，还有血红的推荐。</p>
<p>这里记录</p>
<p>update:09/02/23</p>
<p><a href="http://www.javaeye.com/topic/141889">http://www.javaeye.com/topic/141889</a></p>
<p>还是订了，这里记那个论坛的文章</p>
<p>&nbsp;</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=38</link>
			<category domain="http://yuehei.37net.com/old/?cid=1">点滴</category>
			<pubDate>2009-02-18 12:55</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=37</guid>
			<title>五六节</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>类和异常与文件处理，没什么特别的。。很想睡觉，困<br />
<br />
py类中的变量就相当静态变量</p>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol start="1" class="dp-py">
    <li class="alt"><span><span class="keyword">from</span><span>&nbsp;UserDict&nbsp;</span><span class="keyword">import</span><span>&nbsp;UserDict&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">class</span><span>&nbsp;dict(UserDict):&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;{}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;num&nbsp;=&nbsp;<span class="number">0</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;__init__(</span><span class="special">self</span><span>,&nbsp;data={}):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(data&nbsp;</span><span class="keyword">is</span><span>&nbsp;</span><span class="special">None</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;{}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">else</span><span>:&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="special">self</span><span>.data.update(data)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="special">self</span><span>.num+=</span><span class="number">1</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;addNum(</span><span class="special">self</span><span>,&nbsp;num):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="special">self</span><span>.__class__.num+=num&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;items(</span><span class="special">self</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="special">self</span><span>.data.items()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;keys(</span><span class="special">self</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="special">self</span><span>.data.keys()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;values(</span><span class="special">self</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="special">self</span><span>.data.values()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;getClass(</span><span class="special">self</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="special">self</span><span>.__class__&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;__setitem__(</span><span class="special">self</span><span>,&nbsp;key,&nbsp;values):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;=&nbsp;<span class="string">&quot;s_&quot;</span><span>+str(key)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="special">self</span><span>.key&nbsp;=&nbsp;values&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">def</span><span>&nbsp;__getitem__(</span><span class="special">self</span><span>,&nbsp;key):&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;=&nbsp;<span class="string">&quot;s_&quot;</span><span>+str(key)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="special">self</span><span>.data[key]&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>d&nbsp;=&nbsp;dict({<span class="string">&quot;aa&quot;</span><span>:</span><span class="string">&quot;bnb&quot;</span><span>})&nbsp;&nbsp;</span></span></li>
    <li class=""><span>d.addNum(<span class="number">4</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;d.num&nbsp;&nbsp;</span></span></li>
    <li class=""><span>e&nbsp;=&nbsp;dict()&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;e.num&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;dict.num&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;e.data&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">#d['fdsad']&nbsp;=&nbsp;'fdas'</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;dir(d)</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#k&nbsp;=&nbsp;{}</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#k[&quot;a&quot;]&nbsp;=&nbsp;&quot;a&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#k[&quot;b&quot;]&nbsp;=&nbsp;&quot;b&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;k.a</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#del&nbsp;k[&quot;a&quot;]</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;k</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol start="1" class="dp-py">
    <li class="alt"><span><span class="keyword">try</span><span>:&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;fh&nbsp;=&nbsp;open(<span class="string">'D:/music/KuGou/寒衣调.mp3'</span><span>,&nbsp;</span><span class="string">'rb'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">except</span><span>&nbsp;Exception:&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">'error'</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">else</span><span>:&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">print</span><span>&nbsp;</span><span class="string">'ok'</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;fh.name</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;fh.mode</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;dir(fh)</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;fh.tell()</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>fh.seek(-<span class="number">1024</span><span>,&nbsp;</span><span class="number">2</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;fh.tell()</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>data&nbsp;=&nbsp;fh.read(<span class="number">1024</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="comment">#print&nbsp;data</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;fh.closed</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>fh.close()&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;fh.closed</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">try</span><span>:&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;fh&nbsp;=&nbsp;open(<span class="string">'D:/project/a.txt'</span><span>,&nbsp;</span><span class="string">'wb'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;fh.write(<span class="string">&quot;aaaaaa&quot;</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;fh.close();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">#print&nbsp;file('D:/project/a.txt').read()</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">except</span><span>&nbsp;IOError:&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">pass</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;file(</span><span class="string">'D:/project/a.txt'</span><span>).read()&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="comment">#import&nbsp;sys</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;&quot;\n&quot;.join(sys.modules.keys())</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;os&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;os.path.expanduser(</span><span class="string">'~'</span><span>)&nbsp;&nbsp;</span></span></li>
</ol>
</div>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=37</link>
			<category domain="http://yuehei.37net.com/old/?cid=8">python</category>
			<pubDate>2009-02-16 23:38</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=36</guid>
			<title>第四节</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>看完了，对数组的映射和过滤有了比较清楚的了解，这么快就看到了最爱用的三元运算，这章的例子非常有用，我默了出来</p>
<p>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol start="1" class="dp-py">
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;setRunEnv():&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span><span>&nbsp;sys&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sys.path.append(<span class="string">'D:\project\mypy'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>setRunEnv()&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;info(object,&nbsp;spacing&nbsp;=&nbsp;</span><span class="number">10</span><span>,&nbsp;collapse&nbsp;=&nbsp;</span><span class="number">1</span><span>):&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;methodList&nbsp;=&nbsp;dir(object)&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;methodList&nbsp;=&nbsp;[method&nbsp;<span class="keyword">for</span><span>&nbsp;method&nbsp;</span><span class="keyword">in</span><span>&nbsp;methodList&nbsp;</span><span class="keyword">if</span><span>&nbsp;callable(getattr(object,&nbsp;method))]&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;processFunction&nbsp;=&nbsp;collapse&nbsp;<span class="keyword">and</span><span>&nbsp;(</span><span class="keyword">lambda</span><span>&nbsp;s:</span><span class="string">&quot;&nbsp;&quot;</span><span>.join(s.split()))&nbsp;</span><span class="keyword">or</span><span>&nbsp;(</span><span class="keyword">lambda</span><span>&nbsp;s:s)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="string">&quot;\n&quot;</span><span>.join([</span><span class="string">&quot;%s%s&quot;</span><span>&nbsp;%&nbsp;(method.ljust(spacing),&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processFunction(str(getattr(getattr(object,&nbsp;method),&nbsp;<span class="string">&quot;__doc__&quot;</span><span>))))&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;method&nbsp;</span><span class="keyword">in</span><span>&nbsp;methodList])&nbsp;&nbsp;</span></span></li>
    <li class=""><span>li&nbsp;=&nbsp;[]&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">#print&nbsp;info(li,&nbsp;20,&nbsp;0)</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;</span><span class="number">1</span><span>&nbsp;</span><span class="keyword">and</span><span>&nbsp;</span><span class="string">'ok'</span><span>&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="string">'no'</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;</span><span class="number">1</span><span>&nbsp;</span><span class="keyword">and</span><span>&nbsp;</span><span class="string">''</span><span>&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="string">'no'</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;</span><span class="number">1</span><span>&nbsp;</span><span class="keyword">and</span><span>&nbsp;[</span><span class="string">''</span><span>]&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="string">'no'</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
用and和or进行判断，我用这种偷懒的方法写PHP还是比较单一，一般就是一个and或or，这里直接把这个当三元来用。太帅了。。逻辑表达式PHP虽然返回的true或false，但是PHP可以直接赋值，所以也可以用这种方式。</p>
<p>
<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span>&lt;?php&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="vars">$a</span><span>&nbsp;=&nbsp;1;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="vars">$b</span><span>&nbsp;=&nbsp;</span><span class="string">''</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="vars">$a</span><span>&nbsp;==&nbsp;1&nbsp;&amp;&amp;&nbsp;(</span><span class="vars">$b</span><span>&nbsp;=&nbsp;</span><span class="string">'ok'</span><span>)&nbsp;||&nbsp;(</span><span class="vars">$b</span><span>&nbsp;=&nbsp;</span><span class="string">'no'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="func">echo</span><span>&nbsp;</span><span class="vars">$b</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>?&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
很有意思，py逻辑表达式可以返回最后的值，但里面不能进行赋值操作，一赋值，报syntax error</p>
<p>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol start="1" class="dp-py">
    <li class="alt"><span><span>a==</span><span class="number">1</span><span>&nbsp;</span><span class="keyword">and</span><span>&nbsp;b=</span><span class="string">'ok'</span><span>&nbsp;</span><span class="keyword">or</span><span>&nbsp;b=</span><span class="string">'no'</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
PHP虽然返回只是表达式最后运算的结果，但可以进行赋值操作，所以他们都可以用这种写法。</p>
<p>第二个表达式一定不能为 false，否则完蛋。。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=36</link>
			<category domain="http://yuehei.37net.com/old/?cid=8">python</category>
			<pubDate>2009-02-13 23:58</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=35</guid>
			<title>前三节</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>刚看完前三节</p>
<p>&nbsp;</p>
<div class="codeText">
<div class="codeHead">Python代码</div>
<ol class="dp-py">
    <li class="alt"><span><span class="keyword">def</span><span>&nbsp;setRunEnv():&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span><span>&nbsp;sys&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;sys.path.append(<span class="string">'E:\mypy'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>setRunEnv()&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">import</span><span>&nbsp;calc&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">import</span><span>&nbsp;string_operation&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">#help(calc)</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;calc.add(</span><span class="number">110</span><span>,&nbsp;</span><span class="number">33</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;calc.sub(</span><span class="number">110</span><span>,&nbsp;</span><span class="number">22</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;calc.mul(</span><span class="number">44</span><span>,&nbsp;</span><span class="number">55</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;calc.div(</span><span class="number">6</span><span>,&nbsp;</span><span class="number">3</span><span>)&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>list&nbsp;=&nbsp;{<span class="string">&quot;name&quot;</span><span>:</span><span class="string">&quot;yuehei&quot;</span><span>,&nbsp;</span><span class="string">&quot;email&quot;</span><span>:</span><span class="string">&quot;none&quot;</span><span>,&nbsp;</span><span class="string">&quot;sex&quot;</span><span>:</span><span class="string">&quot;man&quot;</span><span>}&nbsp;&nbsp;</span></span></li>
    <li class=""><span>params&nbsp;=&nbsp;list.keys()&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;params&nbsp;&nbsp;</span></span></li>
    <li class=""><span>params&nbsp;=&nbsp;list.values()&nbsp;&nbsp;</span></li>
    <li class="alt"><span>str&nbsp;=&nbsp;string_operation.arrToStr(<span class="string">&quot;###&quot;</span><span>,&nbsp;params)&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;str&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="keyword">print</span><span>&nbsp;</span><span class="string">&quot;--------&quot;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="keyword">print</span><span>&nbsp;string_operation.strToArr(</span><span class="string">&quot;###&quot;</span><span>,&nbsp;str)&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>感觉很像JS，有一个问题，怎么能让他不生成pyc文件，每次删不方便</p>
<p>和PHP相比，她是强类型语言，做一个1/3，不会得0.33333</p>
<p>关于后缀名 <a href="http://bbs.chinaunix.net/thread-852032-1-1.html">http://bbs.chinaunix.net/thread-852032-1-1.html</a></p>
<p>update:2009/02/14&nbsp; 不用删除，如果用help老是看到没有变化，是因为新改的编译没有通过，过了就会重新生pyc</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=35</link>
			<category domain="http://yuehei.37net.com/old/?cid=8">python</category>
			<pubDate>2009-02-13 17:30</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=34</guid>
			<title>CSS的提示</title>
			<author>月黑风高</author>
			<description><![CDATA[<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">style</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/css&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>a:link&nbsp;span&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;display:none&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li class=""><span>a:hover&nbsp;span&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;display:inline;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;position:absolute;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>} <br />
    </span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#&quot;</span><span class="tag">&gt;</span><span>看看</span><span class="tag">&lt;</span><span class="tag-name">span</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">br</span><span>&nbsp;</span><span class="tag">/&gt;</span><span class="tag">&lt;</span><span class="tag-name">img</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;http://www.jjwxc.net/img/logo.gif&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">span</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<div class="demo"><style type="text/css">
.demo a:link span {
	display:none
}
.demo a:hover span {
	display:inline;
	position:absolute;
}
</style> <a onclick="return false;" href="#">看看<br />
<span><img src="http://www.jjwxc.net/img/logo.gif" alt="" /></span></a></div>
<p>这种提示我一直用JS,刚才看一网站发现没有JS也搞定这种效果了，搞清楚后才发现用的是CSS，太奇妙了，比JS好多了。。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=34</link>
			<category domain="http://yuehei.37net.com/old/?cid=6">前台</category>
			<pubDate>2009-02-09 22:28</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=33</guid>
			<title>2008年最后一天</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>1，最后一天，我有点发烧，一会去输点水，应该会很快好，郁闷的是去年也是这个时间发个烧，二年跨进同一条河流。<br />
2，第一次见到年终奖金，虽然没多少。。 <br />
3，去年的这个时候我问过自己明年的现在会是怎么样？<br />
最后一天，我依然问：明年现在我会在那儿，过的怎么样？</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=33</link>
			<category domain="http://yuehei.37net.com/old/?cid=1">点滴</category>
			<pubDate>2008-12-31 20:09</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=32</guid>
			<title>qq的评论</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>看QQ新闻，不小心打开评论了。。<br />
comment.htm?site=news&amp;id=17928206<br />
不是URL重写，完全是异步，之所这样，估计是因为评论经常更新，又想squid之类的前端能缓存住部分页面，不用每次都purge，我劳动的地方就是因为这个原因切成异步<br />
<br />
请求三个页面，<br />
guinGrade.php?uin=xxx：返回的jsonp的格式，找到回调方法可以发现，这个页面基本上是一些用户信息，包括发评和自己的<br />
goriginReplyBycid.php：分页的评论<br />
gciteReply.php ：叠楼的那种帖<br />
<br />
看了这些可以想到服务端写的有多简单，<br />
guinGrade.php如果让我来写，我肯定会这样guinGrade.php?uin=1,2,3,4，一次查到多个用户的信息返回，之所以不这样写应该是针对用户的ID进行了纵向分割。。<br />
<br />
另外一个发现比较好的地方是json的返回，我现在使用json会返回联合数组, 因为有key值JS操纵方便写，但返回的数据量比较大，而且这些key也没有什么意义，可以抛弃只返回基本数组，这样数据量会小不少。<br />
<br />
另外一个比较龌龊的地方是，json竟然返回了二个IP，一个最后一位被替换为*，一个则是真实的，估计是给管理员看的<img border="0" src="http://yuehei.37net.com/images/smiles/sweat.gif" alt="" /></p>
<p>这种方法适合写一些经常被用户更新东西，如BBS，想想全站html，很帅。。只是不知道引擎收录不收录，以现在这种网络环境，引擎应该解释一下网页的异步读取？</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=32</link>
			<category domain="http://yuehei.37net.com/old/?cid=6">前台</category>
			<pubDate>2008-12-24 21:44</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=31</guid>
			<title>有一种冲动</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>跑到一个地方，隐居几个月，做点自己想做的，魔障<img alt="" src="/images/smiles/sweat.gif" /></p>
<p><a href="http://www.cwebgame.com/">http://www.cwebgame.com/</a></p>
<p><a href="http://www.cnblogs.com/yahle/">http://www.cnblogs.com/yahle/</a></p>
<p><a href="http://www.eb163.com/club/forum-7-1.html">http://www.eb163.com/club/forum-7-1.html</a></p>
<p><a href="http://hi.baidu.com/seebysee">http://hi.baidu.com/seebysee</a></p>
<p><a href="http://game.ali213.net/viewthread.php?tid=2161026">http://game.ali213.net/viewthread.php?tid=2161026<br />
</a></p>
<p>&nbsp;update:09/02/23</p>
<p><a href="http://www.ia56.com/">http://www.ia56.com/</a></p>
<p>最近常上的。。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=31</link>
			<category domain="http://yuehei.37net.com/old/?cid=1">点滴</category>
			<pubDate>2008-12-03 23:23</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=29</guid>
			<title>今天太晚了，洗脚睡觉</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>1。开通后的第一文就是骂明网，这帮XX，让我花了300大洋把数据买回来。</p>
<p>2。这次租了台VPS，说是256M内存，实际上就150M多一点，问客服N天也没反应。后来懒得问了，主要这次用了ngnix， 总共用才了60多M内存，少一点也没关，20多M跑mysql，开启16个cgi，占了快40，可以再少，两nginx进程用了5M，最大连接数是5120，理论上能响应10240个请求。好像是这么算的。我观察一下网站状态，最多也就20多个，是不是浪费了。。看来可以再装个svn</p>
<p>3。这个空間商用centos4，不支持yum，我一点一点的找包好不困难，没想到环境装好了，最大的问题在thinkphp的 PATH_INFO路径模式，我用了至少7，8小时才整好。<img border="0" src="http://yuehei.37net.com/images/smiles/sweat.gif" alt="" />明天有时间整理一下</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=29</link>
			<category domain="http://yuehei.37net.com/old/?cid=7">platform</category>
			<pubDate>2008-10-30 22:51</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=28</guid>
			<title>天域 - 杨海涛</title>
			<author>月黑风高</author>
			<description><![CDATA[<p><strong>天域</strong><br />
作词：特艺 作曲：董乐弦 英文词配译：Chelsey Mark</p>
<p><br />
轻轻地 你抚摸着我的脸庞<br />
静静地 把温暖洒在我身上<br />
虽然我看不到你的身影<br />
可是我知道 你就在我的身旁<br />
轻轻地  树叶在微风中歌唱<br />
静静地 远处飘来阵阵花香<br />
虽然没见过你美丽的容颜<br />
可是我知道 你就在我的身旁 <br />
我的身旁<br />
歌声里  白云在蓝天上飘过<br />
歌声里 鲜花在草丛中开放<br />
歌声里 我看到了美丽的姑娘<br />
歌声里 我走进广阔的天域<br />
Gently your hands  graces my face<br />
Quietly i feel your warmth beside me<br />
Even though i cannot  see you<br />
Or your shadow<br />
I know you are right here<br />
Right here with  me<br />
With my song<br />
I see white clouds and blue sky<br />
With my song<br />
I see  flowers in the fields<br />
With my song<br />
I see a beautiful girl<br />
With my  song<br />
I always sing of my paradise<br />
歌声里 白云在蓝天上飘过<br />
歌声里 鲜花在草丛中开放<br />
歌声里  我看到了美丽的姑娘<br />
歌声里 我走进幸福的天堂<br />
歌声里 我走进广阔的天域</p>
<p><a href="http://video.cctv.com/opus/152455.html">http://video.cctv.com/opus/152455.html</a></p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=28</link>
			<category domain="http://yuehei.37net.com/old/?cid=1">点滴</category>
			<pubDate>2008-09-09 23:13</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=27</guid>
			<title>北京有线能收凤凰卫视了？</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>可能是中文台，不像资迅台。。光看到鲁豫那有个发型了。。<br />
<a href="http://yuehei.37net.com/old/attachment.php?id=7" target="_blank"><img src="http://yuehei.37net.com/old/attachments/date_200809/thumb_941979d47676ce0aa1b0e44e8bbf4a21.jpg" border="0" alt="大小: 257.27 K&#13;尺寸: 500 x 334&#13;浏览: 31 次&#13;点击打开新窗口浏览全图" width="500" height="334" /></a></p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=27</link>
			<category domain="http://yuehei.37net.com/old/?cid=1">点滴</category>
			<pubDate>2008-09-07 21:58</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=26</guid>
			<title>ubuntu下svn</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>我使用dav可以访问，但是整个80下面全是svn，用虚拟主机也不行，没找到问题，感觉配置比较麻烦，换一个简单的用svn协议访问，我把svn目录放在/home/yuehei/svn/<br />
<br />
apt-get install subversion  <br />
svnadmin create /xxx</p>
<p>我sudo很恶，直接切成root，sudo su root <br />
运行 svnserve -d -r /xxx 守护  <br />
配置/svn/conf/svnserve.conf 验证和未验证的权限我配置成下面这样 <br />
<br />
anon-access = none <br />
auth-access = read <br />
auth-access = write <br />
未验证的人没有任何权限，验证后可以读写，如果想让任何都可以读，直接把第一行去掉 <br />
去掉password-db = passwd前面的注释 <br />
在/svn/conf/passwd 里面配个密码  ok  <br />
如果再想增加别的项目用svnadmin create /xx再建一个 <br />
然后重启一下svn的守护进程，搜到用killall svnserve 有点变态</p>
<p>多个仓库和一个仓库加载目录方式式有些不同，找了一篇比较详细的文章:</p>
<p><a href="http://hi.baidu.com/diyit/blog/item/46ea1b4c7ecfa3ffd72afcbd.html">http://hi.baidu.com/diyit/blog/item/46ea1b4c7ecfa3ffd72afcbd.html</a></p>
<p>终于好，以后就用虚拟机的环境了。。<br />
<a href="http://yuehei.37net.com/old/attachment.php?id=6" target="_blank"><img src="http://yuehei.37net.com/old/attachments/date_200809/thumb_34d0585fa87d82594edd6d02a2b499d2.jpg" border="0" alt="大小: 24.21 K&#13;尺寸: 500 x 137&#13;浏览: 30 次&#13;点击打开新窗口浏览全图" width="500" height="137" /></a></p>
<p>update 081109：/root/svn/apps/conf/svnserve.conf:12:Section header expected&nbsp;</p>
<p>http://svn.haxx.se/users/archive-2004-07/1563.shtml</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=26</link>
			<category domain="http://yuehei.37net.com/old/?cid=7">platform</category>
			<pubDate>2008-09-07 01:58</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=25</guid>
			<title>google出浏览器了</title>
			<author>月黑风高</author>
			<description><![CDATA[1。chrome的速度很快的，打开网页体验到soso的感觉，貌似在这个版本的blog下面fck有点问题，有时间找找<br />

2。内存查看页面也挺有意思，彩蛋：http://www.cnbeta.com/articles/63739.htm<br />

3。我这几天写的js在这个版本下面也没有问题，不过上传框大变样<br />

4。还要我自己手动加&lt;br /&gt;

]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=25</link>
			<category domain="http://yuehei.37net.com/old/?cid=2">看帖</category>
			<pubDate>2008-09-03 20:25</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=24</guid>
			<title>addslashes的安全问题</title>
			<author>月黑风高</author>
			<description><![CDATA[<div class="codeText">
<div class="codeHead">PHP代码</div>
<ol class="dp-c">
    <li class="alt"><span><span>&lt;?php&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="vars">$a</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;abc's&quot;</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">//echo&nbsp;getHex(addslashes($a));</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="vars">$a</span><span>&nbsp;=&nbsp;getStr('bf27</span><span class="string">');</span>&nbsp;</span></li>
    <li class=""><span><span class="string">echo&nbsp;getHex(addslashes($a));</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">echo&nbsp;&quot;&quot;;</span>&nbsp;</span></li>
    <li class=""><span><span class="string">echo&nbsp;getHex(strip27(addslashes($a)));</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li class=""><span><span class="string">function&nbsp;getHex($a)&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;$len&nbsp;=&nbsp;strlen($a);</span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i&nbsp;=&nbsp;0;&nbsp;$i&nbsp;&lt;&nbsp;$len;&nbsp;$i++)&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t&nbsp;.=&nbsp;dechex(ord($a[$i]));</span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$t;</span>&nbsp;</span></li>
    <li class=""><span><span class="string">}</span>&nbsp;</span></li>
    <li class="alt"><span>&nbsp;</span></li>
    <li class=""><span><span class="string">function&nbsp;getStr($a)&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;$len&nbsp;=&nbsp;strlen($a);</span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;($i&nbsp;=&nbsp;0;&nbsp;$i&nbsp;&lt;&nbsp;$len;&nbsp;$i&nbsp;+=&nbsp;2)&nbsp;{</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$t&nbsp;.=&nbsp;chr(hexdec(substr($a,&nbsp;$i,&nbsp;2)));</span>&nbsp;</span></li>
    <li class=""><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$t;</span>&nbsp;</span></li>
    <li class=""><span><span class="string">}</span>&nbsp;</span></li>
    <li class="alt"><span><span class="string">//不一定正确的二次过滤</span>&nbsp;</span></li>
    <li class=""><span><span class="string">function&nbsp;strip27($str,&nbsp;$encoding&nbsp;=&nbsp;'</span><span>gbk')&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$len</span><span>&nbsp;=&nbsp;</span><span class="func">strlen</span><span>(</span><span class="vars">$str</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$i</span><span>&nbsp;=&nbsp;0;&nbsp;</span><span class="vars">$i</span><span>&nbsp;&lt;&nbsp;</span><span class="vars">$len</span><span>;&nbsp;</span><span class="vars">$i</span><span>++)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(ord(</span><span class="vars">$str</span><span>[</span><span class="vars">$i</span><span>])&nbsp;&gt;&nbsp;127)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$i</span><span>++;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$str</span><span>[</span><span class="vars">$i</span><span>]&nbsp;==&nbsp;</span><span class="func">chr</span><span>(0x27))&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$str</span><span>[</span><span class="vars">$i</span><span>]&nbsp;=&nbsp;</span><span class="func">chr</span><span>(0x20);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$str</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class=""><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><br />
<a href="http://www.cnblogs.com/Safe3/archive/2008/08/22/1274095.html">http://www.cnblogs.com/Safe3/archive/2008/08/22/1274095.html</a><br />
重装系统之后虚拟机起不了，直接在zs中测试，确实存在问题，<br />
PHP处理字符还是以单字节为单位，所以PHP页面中如果不放中文，可以存成任何编码<br />
addslashes在过滤的时候也是以字节进行过滤的，这就会破坏GBK的序列，逻辑上来说，<br />
即使不注入，使用addslashes也会导致个别字符乱码。<br />
如果数据库是gbk，插入数据库时，数据库0xbf5c当成一个字，这种情况不只在gbk其它多字节的数据库里也应该有问题</p>
<p>update:080901&nbsp; 晕，我一直有个误区，以为gbk的第二个字节是从0开始，BS，实际GBK的范围是在8140-FEFE，这样，0x27不在gbk的范围中，直接使用str_replace替换就OK，谢谢safe3前辈<img alt="" border="0" src="http://yuehei.37net.com/images/smiles/laugh.gif" /></p>
<p>update:081030 想BS一下自己，因为空間商关门了一直没机会，竟然一直相当然mysql_real_escape_string和addslashes是一样的。</p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=24</link>
			<category domain="http://yuehei.37net.com/old/?cid=4">PHP</category>
			<pubDate>2008-08-31 03:21</pubDate>
		</item>
		<item>
			<guid>http://yuehei.37net.com/old/?action=show&amp;id=23</guid>
			<title>很有意思的一个CSS滑动层</title>
			<author>月黑风高</author>
			<description><![CDATA[<p>看一个blog看到的：http://blog.sina.com.cn/s/blog_491de9d60100ad50.html&nbsp; 相当强大，相当有意思，费话少说，帖代码分析</p>
<p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&quot;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&quot;&nbsp;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">html</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;http://www.w3.org/1999/xhtml&quot;</span><span>&nbsp;</span><span class="attribute">xml:lang</span><span>=</span><span class="attribute-value">&quot;zh&quot;</span><span>&nbsp;</span><span class="attribute">lang</span><span>=</span><span class="attribute-value">&quot;zh&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">head</span><span>&nbsp;</span><span class="attribute">profile</span><span>=</span><span class="attribute-value">&quot;http://www.w3.org/2000/08/w3c-synd/#&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">meta</span><span>&nbsp;</span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">&quot;content-language&quot;</span><span>&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;zh-cn&quot;</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">meta</span><span>&nbsp;</span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">&quot;content-type&quot;</span><span>&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;text/html;charset=gb2312&quot;</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>test</span><span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>#newBox&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position:absolute;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:240px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:170px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:1px&nbsp;solid&nbsp;#CCC;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>#newContent&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:0px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:240px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:170px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overflow:hidden;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>#newCaption&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position:absolute;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;left:1px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span>ul{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>margin:0px;&nbsp;&nbsp;</span></li>
    <li class=""><span>padding-left:3px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>padding-top:40px;&nbsp;&nbsp;</span></li>
    <li class=""><span>background:url(&quot;http://www.boxstory.cn/Upload/test.gif&quot;)&nbsp;no-repeat&nbsp;1px&nbsp;1px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li class=""><span>#a{background-position:1px&nbsp;1x;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>#b{background-position:79px&nbsp;1px;}&nbsp;&nbsp;</span></li>
    <li class=""><span>#c{background-position:159px&nbsp;1px;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>li&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding-left:5px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:27px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size:12px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;white-space:nowrap;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overflow:hidden;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>#newCaption&nbsp;a&nbsp;{&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display:block;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float:left;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border-right:1px&nbsp;solid&nbsp;#CCCCCC;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border-bottom:2px&nbsp;solid&nbsp;#CCCCCC;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin-top:3px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:78px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:31px;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-height:31px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-align:center;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size:12px;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:#000;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-decoration:none;&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-weight:bold;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;newBox&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;newCaption&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#a&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>国际新闻</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#b&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>娱乐新闻</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;#c&quot;</span><span>&nbsp;</span><span class="attribute">style</span><span>=</span><span class="attribute-value">&quot;border-right:none&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>体育新闻</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">dt</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;newContent&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">ul</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;a&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]JavaScript中的Navigator浏览器对象&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]啊的啊的出现在完全都是在娥请问</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]啊双方就阿斯兰附近达拉斯想佛i按顺序现在</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]啊上放大上的适当方式大是否</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]阿斯蒂芬所发生阿斯蒂芬撒旦法</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[国际]阿斯蒂芬范德萨阿斯顿夫妇撒旦法</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">ul</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;</span><span class="tag-name">ul</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;b&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]得到的暗示飞阿斯顿地方阿斯顿</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]自行车不能记得分好</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]是大法官的闪电似的的第四个地方</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]都发生过的广大师生范甘迪说的</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]娱乐新闻娱乐新闻娱乐新闻</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[娱乐]阿斯顿飞洒飞洒都发生多方撒旦</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">ul</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">ul</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;c&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[体育]撒受到法士大夫</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[体育]啊上放大撒旦法是大发上的的说法</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>体育]撒旦法受到法士大夫</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[体育]体啊所得税放大是大势</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[体育]阿飞洒分萨芬的上放大使发达</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">li</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">a</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>[体育]受到法上放大的萨芬的萨芬</span><span class="tag">&lt;/</span><span class="tag-name">a</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">ul</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
这个CSS有两个最重要的东西，一个层切换，二是背景换色</p>
<p>层切换：把<span>17，18行去掉，就可以看到它固定了外部容器的大小，根据页内锚点来显示，a,b,c，当定位到a时，bc因为超过容器大小而被隐藏掉了</span></p>
<p><span>背景换行：将28行的no-repeat换成repeat就可以很看到它设置了ul的背景，然后根据30,31,32这几行的定位来生成不同的背景<br />
</span></p>]]></description>
			<link>http://yuehei.37net.com/old/?action=show&amp;id=23</link>
			<category domain="http://yuehei.37net.com/old/?cid=6">前台</category>
			<pubDate>2008-08-29 11:19</pubDate>
		</item>
	</channel>
</rss>
