变量混淆太多,但根据语言逻辑,再在返写会有意义的变量名。需要很多时间。
March 5, 2010
December 31, 2009
春夏秋冬
我们一同经历了春天,一同感受了夏天,一同走过了秋天,一同拥抱了冬天。
我们一同见证了祖国60岁的生日。
我们一同数过了那么多的节日。
我们一同分享了那么多的欢乐和泪水。
我们一同经受了生命的考验。
将来,我们还会一同慢慢变老……
December 10, 2009
经过
自从决定走路上班后,再也没有完整的送甜甜上班了,每次都是经过一小段路后各奔东西,想起来还是挺不舒服的。
以前的我们,会一起经过一条窄窄的小路,总会在这条路上遇到一位送小女孩上学的奶奶,每次她都字正腔圆的为小孩讲解诗词,我始终觉得小孩听不懂。再往前走,经过第一个小路口,总是会遇到一些开出小区的车,而每次,我都会抓住你的手。然后我们可能会走北面的这条路,经过天河电大,也是经常遇到一个瘦瘦的女孩子,我总是觉得她太瘦,而你却挺喜欢的;我们也可能走南面的那条路,经过一所幼儿园,我总是对幼儿园传来的音乐感兴趣,而你,总是想让我送你进去。接着往前走,就是一个包子店,我总是不喜欢买瘦肉的,而你总是会吃掉我一个包子。快到小区门口了,时间距你们的班车启动大概只有5分钟了,你总是会让我放下牵着你的手,而我每次都会不高兴。这时候总会看到你的一个年长的同事,秃顶,你总是会说有一天我也会这样,而我只是笑笑。要上车了, 我每次都会说上班玩的开心点,而你每次都是笑着登上那辆紫色的大巴。
September 26, 2009
强制IE使用Google Chrome Frame插件
近日 Google 推出了一款 IE 浏览器插件 Google Chrome Frame ,可以让你的 Internet Explorer 获得与 Google Chrome 浏览器一样的浏览速度,并且支持最新的 HTML5 等 web 技术。
但是比较麻烦的是在 IE 浏览器中必须手动添加网址前缀“cf:”才可以正常使用此插件,好在今天labnol.org 给出了一个方法可以强制 IE 浏览器始终使用 Google Chrome Frame,方法如下:
首先给 IE 浏览器下载安装 Google Chrome Frame 插件,然后下载并双击运行此文件 chrome-frame.reg 即可。
如需卸载此文件请运行 windows 注册表编辑器(开始-运行-regedit),找到如下项
HKEY_CURRENT_USER\Software\Google\ChromeFrame\OptInUrls
删除位于右侧栏的字符串值“*”即可。
August 24, 2009
July 28, 2009
openssl命令的用法
密钥的生成
a. 生成非对称密钥对
openssl genrsa -out rsa.key
b. 指定生成的密钥的位数,默认512
openssl genrsa -out rsa_2048.key 2048
c. 为私钥添加密码 (一般都不用)
openssl genrsa -out rsa_des3.key -des3
密钥的查看
d. 查看私钥
openssl rsa -in rsa.key
e. 查看公钥
openssl rsa -in rsa.key -pubout
f. 查看公钥和modulus
openssl rsa -in rsa.key -modulus
g. 查看密钥的详细信息,包含component prime等细节信息,这些信息的值都是冒号分割的,称为abstract
openssl rsa -in rsa.key -text
h. 查看只有public key的文件
openssl rsa -in pub.txt -pubin
注:
pub.txt 可由
openssl rsa -in rsa.key -pubout >pub.txt
或
openssl rsa -in rsa.key -pubout -out pub.txt
产生
如果pub.txt 中不是公钥将报错, -pubin 仅仅说明 -in 所指定的文件里面是什么
i. 只查看key的其他信息,不显示key
openssl rsa -in rsa.key -noout
其它:
检查是否含有某个子命令
openssl no-rsa
输出rsa,命令的返回值为1,说明存在该子命令
openssl no-des5
输出no-des5 命令的返回值为0,说明不存在des5这个子命令
分析key的详细信息
openssl asn1parse -in rsa.key
openssl asn1parse -in pub.txt
July 17, 2009
jQuery选择器
$的选择器部分:
凡是运用$,其返回值是一个object
$选择器主要用于选择标签.基本用法是同css的选择器.但是,很让人兴奋的是,他支持常见的浏览器,而css中很多选择器是IE6所不支持的.
1.基本选择器(3种):
$(”标签名”),如$(”p”)是选取了所有的p标签节点
$(”#id名”),如$(”#test”)是选取了id为test的标签节点
$(”.class名”),如$(”.test”)是选取了所有class为test的标签节点
上面的$(”标签名”)和$(”.class名”)返回的都是所有满足的节点,至于进一步筛选可以添加一些函数,如eq,gt,lt等等.
2.组选择器:
下面还是现做一个约定:把”标签名或#id名或.class名”记作mix,则mix表示一个标签名,或一个#id或一个.class.
$(”mix,mix,mix,…”),如:$(”div,#test1,p,.test2,#test3″)
3.后代选择器:
$(”mix mix”),当然可以是多个嵌套,但后代选择器可以是深层子代,所以$(”mix mix mix …”)这种写法作用不大.例子:$(”div .test”):在div标签内的所有具有test的class的后代元素(就是被div嵌套的class属性为test的标签)
可以见DEMO。
4.子选择器:
$(”mix>mix”),这个放在后代选择器后面是为了和它做对比.子选择器只能选择第一代子代.不处理深层嵌套.例子:
$(”div>.test”)
<div><p class=”test”></p></div>对这里的p段落标签有效.但对
<div><p><p class=”test”></p></p></div>对这里的p段落标签无效,这里要用
$(”div .test)
5.临近选择器:
$(”mix+mix”),选取下一个兄弟节点.如:$(”div +#test”),id为test的的节点必须是div的下一个兄弟节点.
<div></div><p id=”test”></p>在$(”div + #test”)中能取到p段落节点
<div></div><p></p><p id=”test”></p>则不能取到
6.属性选择器:
把属性选择器不放在css选择器里面是因为jQuery中写法是不一样的.至于css中写法可以参考我之前写的一篇css的选择器一文.jQuery中是和xPath类似的写法:
$(”mix[@attr]“):选取所有该mix且具有attr属性的节点
$(”mix[@attr=a_value"]):选取所有该mix且具有attr属性并满足属性值为a_value的节点
$(”mix[@attr^=a_value_head"]):attr属性的属性值是以a_value_head开头的
$(”mix[@attr$=a_value_end"]):attr属性的属性值是以a_value_end结尾的
$(”mix[@attr*=a_value"]):attr属性的属性值中包含a_value
7.进一步选择器:
这个名称是我自己起的,其实选择器组合都有进一步的意思,你明白后面所介绍的知识即可.
具有限定子节点选择器:$(”mix1[mix2]“):返回包含mix2的mix1节点.如:$(”div[a]“):包含a标签的div.
这个和$(”div a”)不相同.后者表示div中的a标签,返回的是a标签对象,前者返回的是div标签对象
冒号限定结点选择器:$(”mix:condition”):mix标签,并且满足限定条件.
E:root:类型为E,并且是文档的根元素
E:nth-child(n):是其父元素的第n个类型为E的子元素 ,基数从1开始
E:first-child:是其父元素的第1个类型为E的子元素
E:last-child:是其父元素的最后一个类型为E的子元素
E:only-child:且是其父元素的唯一一个类型为E的子元素
E:empty:没有子元素(包括text节点)的类型为E的元素
E:enabled
E:disabled:类型为E,允许或被禁止的用户界面元素
E:checked:类型为E,处于选中状态的用户界面元素(例如单选按钮或复选框)
E:visible:选择所有可见元素(display值为block或visible,visibility值为visible元素,不包括hide域)
E:hidden:选择所有隐藏元素(非Hide域,且display值为block或visible,visibility值为visible的元素)
E:not(s):类型为E,不匹配选择器s
E:eq(n),E:gt(n),E:lt(n):元素限定
E:first:相当于E:eq(0)
E:last:最后一个匹配的元素
E:even:从匹配的元素集中取序数为偶数的元素
E:odd:从匹配的元素集中取序数为奇数的元素
E:parent:选择包含子元素(包含text节点)的所有元素
E:contains(’test’):选择所有含有指定文本的元素
表单选择器:
E:input:选择表单元素(input,select,textarea,button)
E:text:选择所有文本域(type=”text”)
E:password:选择所有密码域(type=”password”)
E:radio:选择所有单选按钮(type=”radio”)
E:checkbox:选择所有复选框(type=”checkbox”)
E:submit:选择所有提交按钮(type=”submit”)
E:image:选择所有图像域 (type=”image”)
E:reset:选择所有清除域(type=”reset”)
E:button:选择所有按钮(type=”button”)
当然包括E:hidden
July 4, 2009
服务器apache转lighttpd
本来只是想简单的给apache2加上压缩模块,结果,编译后的模块似乎无法工作,折腾n久未果,干脆直接换掉apache,装上lighttpd,lighttpd确实很轻,看配置文件行数就知道了,php fastcgi弄了好久,重新把之前编译过的php5的整个目录删掉,再解压编译才正常,rewrite和apache下语法一样,直接拿过来用就ok了。
不过编译出的php-cgi大概10m,所以执行php程序好像还是比较消耗内存,可能我还对fastcgi不理解吧。
June 22, 2009
June 14, 2009
x86运行mac系统
最近忽然对mac系统非常感兴趣,找了很多资料看,发现现在这项技术算是比较成熟了,2005年就开始了,唯一麻烦的就是你的硬件驱动,CPU 主板,一般问题都不会太大,显卡,网卡,声卡,有些就比较麻烦,查了下我的benq s73u 114本本,显卡因为是集成的,应该没问题,无线网卡ar5006x ,现在貌似还没办法驱动,声卡alc883 以太网卡bcm5789都可以驱动,不过网卡是借助bcm5751修改的,驱动,os光盘都下载好了,过几天装个试试
必看的两个坛子:http://bbs.kenapple.com/
http://www.insanelymac.com/forum/index.php 这个最权威