张经纬的博客-分享互联网

做技术能做多久?

做技术能做多久?每年开春,每年都可以在各种论坛中看到这样的问题。

为什么总能看见这种一年一次的,年年舒畅的问题呢?

大抵扫了很多帖子,仿佛是因为有的人觉得做技术不长久是因为身体的问题,不能像年轻人一样加班加点的熬夜;有的人考虑到结婚生子买房子买车等等一大堆烂屁眼的事情,仅仅依靠做技术无法满足他们的夙愿。

在中国,人们总是很浮躁,一切都以钱为最先衡量的标准,是的,中国人命苦,上有老下有小中间有房子两旁有大嫂,每个月还要给社会主义添砖加瓦,实在麻烦,因此在中国“钱”为万物之本是可以理解的。

回过头来,也就不难解释为何年年都可以看见这种烂屁眼的问题了。 :)

可能有的人觉得我很粗俗,为何把这种问题形容为烂屁眼呢?呵呵,主要是因为我觉得有很多不适合做技术的人来做了技术,并且每年都要把这个问题发出来,让技术氛围因钱浮躁,所以我说它烂屁眼。

其实,如果你热爱技术,我想技术会给你带来钱,但反过来说,如果你热爱钱,技术不一定能给你带来钱,我建议你更应该去抢银行。

但凡为了什么去做什么不一定能得到什么。

呵呵,自己也不知道说了些什么,大抵自己也在烂屁眼吧。

不过,真心希望不要年年再看到这种烂屁眼的问题了,下次换一个有新意的,比如说“做技术能找到小三么”,“做技术的怎么才可以有外遇”或者是“做技术如何才可以不得痔疮”?对于这些,我会非常感兴趣阅读的。

原文链接(77 views)|评论 (4)

十二年,虎年来了

2010年焰花

十二生肖就像一个钟表的轮盘,在零点的时刻开始,在零点的时刻结束,每一分,每一秒,表盘上都在滴滴答答的演绎着或美好或悲伤,或惊喜或忧愁的故事。

过去的12年,是一个纯情的年代,在表盘归零的时候,恍然发现,这种纯情早以被遗弃,世界在变化,我们每一个人也在变化。

人如宝剑,少年时是随心所欲剑从心生,我们在那个年代挥舞着,挥霍着,虽然毫无章法,但也能不时画出几下凌厉的招式,但终究只是“几下”。

如今,归零时刻,我默默的磨剑,我知道了要想仗剑行天涯,必要十年磨一剑!

过去的十二年,江湖没有哥的传说;将来的十二年,江湖将会流传哥的传说。

12年,一个归零,12年,一个启始。

十二年,虎年来了。

原文链接(11 views)|暂无评论(赶紧抢沙发)

Rel与CSS的联合使用

Rel-License 是微格式的开发标准之一,简单的说就是通过给引用标签(通常是链接)加上REL属性,来标明所引用链接/数据与文章的关系。

Wordpress很早就引入了rel标准,在我们添加新链接的时候就可以看到“关系”属性。

早期某些社交类搜索引擎可根据这个标签来判断人与人之间的关系,但它对网页开发来说并无意义,值得庆幸的是随着浏览器的逐渐升级,我们可以利用CSS属性选择器以及REL来做一些有意思的功能。

这是一段带有REL属性的HTML结构。

<ul>
<li><a href="#" rel="civil">小李</a></li>
<li><a href="#" rel="party">局长</a></li>
</ul>

页面中他呈现这个样子
example_01

因为局长和小李是两个不同的阶级,所以我们应该有区分他们,我打算在小李和局长后面增加两张图片让他表现出这个样式。
e2

过去,我们需要在两个链接标签上增加不同的class来实现这种样式,并且我们需要针对不同的样式书写不同的CSS

 .c,.b {background:url(01.png) right center no-repeat;}
 .b {background-image:url(02.png);}
<ul>
<li><a href="#" rel="civil" class="c">小李</a></li>
<li><a href="#" rel="party" class="b">局长</a></li>
</ul>

现在,我们可以利用REL属性以及属性选择器来完成这个工作。

a[rel~="civil"]{background:url(01.png) right center no-repeat;}
a[rel~="party"]{background:url(02.png) right center no-repeat;}

同时,我们的HTML结构也可以剔除那些多余的样式了。

<ul>
<li><a href="#" rel="civil">小李</a></li>
<li><a href="#" rel="party">局长</a></li>
</ul>

另外:ie6不支持属性选择器,但我们可以用JS来修复这个问题。

原文链接(25 views)|暂无评论(赶紧抢沙发)

Luhn 算法的Perl实现

Luhn 算法主要应用在校键数字卡号的合法性,例如我们常见的银行卡,信用卡,ICCID号等等。

Luhn 算法简单的说,既从低位开始,基数位相加的和,与处理过的(将当前偶数位数字×2,若结果大于9,则将2位数字相加得到个位数,若结果小于等于9,直接记录这个值)偶数位相加的和的总和,若可被10整除,则合法,反之则不合法。

算法如下:

#!/usr/bin/perl
use strict;
use warnings;
 
#定义一个卡号
my $cardNum = "4367421590502289184";
 
sub luhnCheckNum{
	my $oddSum = 0;
	my $evenSum = 0;
	my $isOdd = 1;
	for(my $i=length($_[0])-1; $i>=0; $i--){
		my $iNum = substr($_[0],$i,1);
		if($isOdd){
			$oddSum += $iNum;
		}else{
			$iNum = $iNum*2;
			if($iNum>9){
				my @iNumArry = split(//, $iNum);
				$iNum = $iNumArry[0]+$iNumArry[1];
			}
			$evenSum += $iNum;
		}
		$isOdd = !$isOdd;
	}
	return (($evenSum + $oddSum)%10==0)
}
 
if(luhnCheckNum($cardNum)){
	print "您输入卡号合法";	
}else{
	print "您输入的卡号不合法";
}

原文链接(63 views)|暂无评论(赶紧抢沙发)

Perl 压缩 Js

sub compress {
	my ($codevalue)=@_;
	$codevalue =~ s/^\s+//;
	$codevalue =~ s/<!--(.*?)-->//g;
	$codevalue =~ s/(http|https):\/\//$1:~~/g;
	$codevalue =~ s/\s*\/\/.*?\n/\n/g;
	$codevalue =~ s/(http|https):~~/$1:\/\//g;
	$codevalue =~ s/(^| |\t)\/\/.*$//g;
	$codevalue =~ s!/\*.*?\*/\s*!!sg;
	$codevalue =~ s/(;|\n)\t+/$1/g;
	$codevalue =~ s/\n{2,}/\n/g;
	$codevalue =~ s/(if|else)\s*(\(.*?\))?\s*([\w\{])/$1$2$3/sg;
	$codevalue =~ s/[ \t]*([\=\,\+\-\*\&\|\:\?\< \>\{\}\(\)\[\]]+)[ \t]*/$1/g;
	$codevalue =~ s/^\s*\n//mg;
	$codevalue =~ s/(;)\s*/$1/g;
	$codevalue =~ s/(\r\n|\n)//g;
	$codevalue =~ s/({)(\s*?)(\S)/$1$3/g;
	return $codevalue;
}

原文链接(42 views)|暂无评论(赶紧抢沙发)