经过无数个日夜的奋战,终于读完了第二本,读完的感觉还是震撼。目前,《大秦帝国》第一部已经在电台上映了,大家可以去感受一下这是一个怎样的年代,又是怎样一种震撼,不明白的是,这么一部大作,竟然没有上央视,杯具啊。。。
感谢孙皓晖老师这部经典的巨著,将战国时代那些零零散散的小故事完美的融合在了一起,比读《东周列国志》的战国部分要胜出好多好多。当然,这是一本小说,不免对某些故事、人物做了修改,比如扁鹊、卫鞅、侯赢等人的事迹有略改,但大体与史无异。书中虚构的人物—白雪,简直了。。。哎,太完美了。。。没有话表扬她了,简直就是虚幻。。。下面一段卫鞅要和白雪私奔时,白雪对卫鞅说的话,感人至深呀:^_^
“鞅,我比你更懂得你的心。我用生命与灵魂在抚摸他,用我的痴爱之心在感知他,熟悉他的一沟一壑一平一凹。鞅,你是天生的铁腕执政家。你的意志,你的灵魂,你的秉性,你的智慧,都是为政为治而生的。你的血液中奔流着有为权臣的无尽激情,你的内心深处涌动着强烈的权力欲望,你可以为了自己的治国信念去做牺牲,而无怨无悔。你的超人品性,注定了你更适合于创造烈烈伟业,而不是隐居田园,去谱写生生死死如歌如泣的情爱奇迹。你不是陶朱公范蠡,你缺乏散淡超脱。你归整、严厉、追求生命的每一刻都有实际价值。所有这些,都是芜杂散漫的田园情爱所无法给予你的。没有了权力,没有了运用权力创造国家秩序的机会,你的生命价值就会失去最灿烂的光彩,你的灵魂就会不由自主的沉沦。当我们隐居田园,泛舟湖海,开始了那平淡漫长的二人之旅时,你会慢慢的感到空虚无聊,寂寞难耐。并非你不爱我了,而是你最坚实的生命根基已经化成了流沙。你可能变成一个狂夫,变成一个放荡任性的游侠,去寻找新的生命刺激。你也可能变成一个酒徒,变成一个行吟诗人,将自己献给朝阳、落日、山海、林涛。一个生机勃勃的政坛巨星,必然要销蚀陨落在平凡琐细的消磨中去了。那时侯,你只有一具或狂放或堕落的生命之躯,你的灵魂,将无可挽回的漂泊失落。而我,也只有更加痛苦。我所深爱的那个人已经不复存在,我寄托在他身上的人生情怀,也永远的化成了泡影。那时侯,我们的田园生活,我们的诗情画意,还会有么?……
前两卷以六国谋秦(灭秦)开始,以六国谋秦(杀卫鞅)结束。讲述了秦国国君赢渠良和法家名士卫鞅在秦国施行变法的事,短短20年,秦国由一个落后、贫困的弱国,变成了一个强大、富庶的强国,而魏国从一流的强国沦落到了一流的弱国。。。
卫鞅 — “极心无二虑,尽公不顾私。”太公正、太无私的人,天理不容哦。。。杯具。。。
开始奋战第3卷,同时也期待《大秦帝国》第2部电视剧快点出。。。
自从Div+CSS风潮袭来之后,很少人愿意在自己的页面里用table了,甚至以之为耻,杯具啊。。。
最近在做的仓储物流项目里,因为有大量的数据表格,所以这一段都在跟table打交道。或者有些人根本就没听说过col和colgroup这两个标签,col可以定义表格的1列或者多列,可以通过其span属性来控制包含的列数,而colgroup跟它差不多,也同样可以通过span来控制其包含的列数。不同的是,col是一个自闭合标签,跟
类似,而colgroup可以包含col,也可以像使用col一样去使用它,不过要注意它的闭合。它们都可以单独去用,但一般我会用colgroup包含col这样来用,显得比较好看。。。^_^二者都只能在table中使用,而且不能包含其它元素。
显而易见,它们的作用主要就是来控制单元格的宽度了,这样省去单独定义每个单元格的麻烦,可能有些人会觉得其实我们只需要定义一行td的宽度就行了,效果差不多,而col可以让我们做到更多,我们可以通过col来控制几列宽度的总和,还可以控制这列的背景色。。。。仁者见仁吧~
视觉的table是千变万化的,而我们的col是没法满足每一个视觉的,有些地方还是要通过单独定义单元格来实现,总结了下各浏览器对齐css属性支持的情况,不是很全,只是自己尝试用的几个做了简单测试,测试的css为:
.t-1 { width:300px; color:red; background:#ccc; text-align:center; padding:20px; text-decoration:underline; font-weight:900; font-style:italic; font-size:18px; line-height:30px; vertical-align:bottom;}
先在各浏览器下看下Demo吧:http://www.12sui.cn/test/cols-0910.php
各浏览器的表现如下图所示:
继续阅读 »
对未安装支付宝插件的用户,在访问淘宝登录页面时会出现假死的情况,这是由于插件检测的问题,这里提供屏蔽插件检测的userjs,以便Opera用户可以正常访问、登录。
UserJs Code:
/**
* 淘宝登录页
* @url http://member1.taobao.com/member/login.jhtml,http://login.taobao.com/member/login.jhtml,https://login.taobao.com/member/login.jhtml
* @description 防止未装支付宝插件的用户在登录页面卡死,禁掉插件检测,请使用标准登录
* 1.用户需要设置opera:config#User Prefs中的User JavaScript on HTTPS为允许(请谨慎使用!);
* 2.用户可以使用站点首选项里的禁止插件来做到同样的效果。
*/
if(location.hostname.indexOf('member1.taobao.com') != -1 || location.hostname.indexOf('login.taobao.com') != -1) {
window.opera.addEventListener(
'BeforeScript',
function(e) {
var _s = e.element;
!_s.src && _s.text.indexOf('window.ActiveXObject') != -1 && (_s.text = '');
},false
);
}
嘿嘿,终于去横店秦王宫玩了一趟,感觉还不错哈,在这么囧的地方能拍出那么nb的影片,让我对导演这个行业更加的向往啦。。。哈哈~在里边看了柏芝的《无极》的拍摄场景,在无极甬道末还和“柏芝”合了影,^_^



继续追逐我的导演梦,希望未来的两三年内我可以起步哈,never give up,come on!
下午在使用tab组件的时候遇到一个问题,就是table的显隐,因为组件默认的恢复显示使用的是display:block;使得恢复显示的table在现代浏览器下脱离了原有的的面貌(仅IE浏览器保持原状),只好在table外再嵌套了一个div以解决问题。
加了display:block;的table在各浏览器下的显示,可以参照这个Demo:http://www.12sui.cn/test/display-0910.html
使用display来控制元素的显隐是比较普遍的,但是问题就在display的模式太多了,而我们经常用恢复显示的就是block,但是这个东东也往往给我们带来了诸多的不便,特别是在组件里,无法预料的元素很多。
解决的办法其实很简单,就是在恢复的时候使用el.style.display=”,我们的目的是去掉none这个属性值,所以使用这个方法可以轻易的去掉这个值,而不改变元素本身的display模式,而且还省了不少字节。。。类似的,对于采用visibility控制显隐的,在恢复的时候也可以采用这种方式,避免把visible拼错了,一不小心拼错了的话在某些浏览器(比如ie)下是不会恢复显示的,我总记不住这个单词。。。所以我都是设置为空。。。
之前会用@media all and (min-width:0) {}作为Opera、Safari等的hack使用,不知道Firefox从什么版本开始已经也支持了,反正这个是不能用啦,今天用的时候才发现,土鳖一下。。。
目前只认Opera的hack就剩下了:@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { …. },但是这个很明显太长了。。。估计没多少人能记住,也没多少人喜欢用。今天做页面的时候发现了通过使用@media all and () {},只有Opera会认,其它浏览器不认,但是有一点需要注意的是,如果你确定要使用这个hack,必须要在样式表的末尾去用,因为在Firefox下,会将这段之后的所有样式忽略,其它浏览器不会。(类似的@media screen and () {}也一样的)
Demo地址:仅Opera能显示绿色背景 仅Firefox不能显示红色背景
测试浏览器版本:IE6、7、8、Opera 10.10 Build1840、Firefox 3.5.3、Safari 4.0.3、Google Chrome 3.0。
Opera的widgets我用的最多的就是ruler那个东东了,但是总是感觉它有一些不方便,一来不能最小化,只能关闭或者随便拉到一个角落里去,二来不支持我自定义颜色、透明度,它本身的配色并不怎么好看,所以就想自己搞一个。其实上个月就在写了,不过写了一半就不写了。昨天搞了一下,完成了这个widget,并发布了,分享给大家,希望大家能够喜欢哈!~
Gorgeous Ruler 安装:http://widgets.opera.com/widget/download/14151/
请用Opera浏览器打开直接安装,使用Opera 10.10 Build1840 以下版本的会直接安装到饰件(Widgets)中,1840版本的会提示进行安装。
目前版本支持以下几方面:
- 支持背景颜色更换,支持透明度修改;
- 记忆设置,关闭重打开时会使用上次配置的背景色以及透明度;
- 透明度设置为0时会强制转化为1;
- 可以通过键盘的方向键移动,前提是尺子必须在选中状态;
- 可以最小化,可以将最小化的尺子移到任何位置暂放;
- 水平、垂直可以随意切换;
- 目前尺子宽度、高度与电脑屏幕分辨率保持一致。
源码下载:http://code.google.com/p/gorgeous-ruler/downloads/list
2009.10.20 v1.1版本更新:修改icon.png名字为operate_icon.png,因为在Opera 10.10Build1840版本内生成独立widget时会生成一个名为icon.png的icon,将原来的图片覆盖,造成其它icon无法正常显示。

土鳖的记录下,昨天在计算昨天的时间时试着使用了new Date(new Date()*1 – 24*3600*1000)竟然可以正确的算出,当时惊讶了下哈,查了JavaScript权威指南,它的参数可以是数字(毫秒)、字符串(同Date.parse()的参数,格式必须是月日年这样子)以及(年、月、日…)等格式~
另外,无比兴奋的的是Opera 10.10 Build1840支持了Opera Widgets的导出,使其不依赖Opera运行,虽然我的Opera都是一直开着的,但是我还是很高兴Opera这一伟大决定,希望Opera Widgets成倍的增长吧,Opera 10.10 Build1840下载。
JavaScript 在日常的应用中非常的少,其实当年在大学学习C#的时候,位运算符也不是重点,而且后来考试的时候根本就没有考这章,但是对于对数字感兴趣的我,当时听的特认真,以至于虽然从来都没再看过,印象还是非常的深刻,前几天在用的时候进入了个误区,所以这里还是记录一下,巩固一下哈~
JavaScript 的位运算符一共有7个,分别是&、|、^、~、<<、>>、>>>(C#没有这个运算符,但是C#可以通过>>的逻辑右移来实现此运算),位运算的操作都是通过二进制进行的。
按位与运算符(&)
当两个数相同位都为1时返回1,否则返回0,例如1&2=0,1的二进制表示为0001,2的二进制表示为0010,二者的运算则返回0000。
按位或运算符(|)
当两个数相同位数字不同的时候返回1,否则返回0,例如1|2=3。
按位异或运算符(^)
当两个数相同位仅有一个为1的时候返回1,否则返回0,例如1^2=3。
按位非运算符(~)
~是一个一元运算符,它将所有位数取反。这里首先必须要说下负数的存储,负数是以其正数的二进制补码进行存储的,所以我们在进行负数的运算时,必须要正确的获取其二进制编码,也就是其正数的二进制补码。补码是取反然后加1来实现,下面看例子:
先计算3的反码:3的二进制形式为00000011,其反码为11111100,其补码为11111101,所以-3的二进制编码为11111101,那么我们要求~-3,就是取其反码,为00000010,这就是-3的反码,将其转化为十进制为2。
多试几个就会发现,其实一个数的反码就是其十进制的相反数减去1。
左移运算符(<<)
左移运算符就是将数的所有位集体左移,第一位变成第二位,第二位变成第三位。。。空出的新位用0补充。比如1<<2=4,-1<<2=-4。1的二进制表示为0000 0001,那么将其向左移动两位变成了0000 0100,转换为十进制就为4,-1的二进制表示为1111 1111,将其向左移动两位,得到1111 1100,1开头的为负数,将其转化为十进制则需要倒着执行一次补码的计算,就是先减去1,得到1111 1011,然后取反,得到0000 0100,转化为十进制加负号得到4。这里需要注意下二进制的减法运算法则:1-1=0-0=0,1-0=1,0-1=1(向高位借)。
这里我们可以发现左移运算就是将其十进制数乘以2的位数次方。
带符号的右移运算符(>>)
既然左移是乘以2,那么右移肯定应该是除以2了,事实上就是这样子的,如果数字本身为正数,则在高位补0,如果为负数则在高位补1。例如3>>1=1,-3>>1=-2。3的二进制编码表示为0000 0011,将其向右移动1位,得到0000 0001,转换为十进制就是1,-3的二进制编码为1111 1101,将其向右移动1位得到1111 1110,这是一个负数,负数转化为十进制,先减一得到1111 1101,取反为0000 0010,得到-2。
带符号的右移运算就是将其十进制数除以2的位数次方,并舍弃余数。
无符号的右移运算符(>>>)
正数的无符号右移运算结果跟带符号的右移运算是一样的,主要是负数的无符号右移运算。它跟带符号的右移的区别就在于,不管是正数还是负数,高位都以0补充,所以对正数来说带符号和无符号的运算都是一样的,而对于负数来说则是天壤之别。例如:-1>>>1=2147483647,数字很恐怖是吧,看看计算过程:-1的二进制编码为1111 1111 1111 1111 1111 1111 1111 1111,将其右移1位,并补0,得到0111 1111 1111 1111 1111 1111 1111 1111,第一位为0,是正数,将其转化为十进制就是230+229+……+20=230(1-1/231)/(1-1/2)=231-1=2147483647,这样最终得到了我们需要的结果,结果很恐怖,慎用!
位运算符的应用:
继续阅读 »
Opera UserJs Code:
/**
* 淘宝首页
* @url http://www.taobao.com
* @description 屏蔽淘宝首页弹出广告
*/
if( location.hostname.indexOf('www.taobao.com') != -1 ) {
//屏蔽新窗口广告弹出
window.opera.addEventListener(
'BeforeEventListener.load',
function (e) {
if(e.listener.toString().indexOf('function(){q._showAds()}') != -1) {
e.preventDefault();
return;
}
}, false
);
//屏蔽右下角pop窗口
window.opera.addEventListener(
'BeforeExternalScript',
function (e) {
if(e.element.src.indexOf('wizard.js') != -1) {
e.preventDefault();
return;
}
}, false
);
}
Firefox Greasemonkey Code:
// ==UserScript==
// @name taobao
// @namespace tb
// @author nanzhi at www.12sui.cn
// @description pingbi index ad
// @include http://www.taobao.com
// @include http://taobao.com
// ==/UserScript==
document.cookie = '_tb_defaultbackpop_=1';
document.getElementById('J_DirectionalFloat').innerHTML = '';
对Greasemonkey不甚熟悉,所以用的方法比较散~