康康马

不烧饭的女人

 kangkangma | 27 十一月, 2007 19:56

康康马     个么你以后结婚会烧饭洼
Joanna     不会
Joanna     叫我男朋友烧,不会么,学
Joanna     或者以后吃爸妈的,每月交饭钱
康康马     哈哈
康康马     当你男人真可怜
Joanna     切,那是他的幸福所在
康康马     强迫人家烧饭就算了,还要强迫人家觉得幸福
Joanna     :D
Joanna     ;)他会觉得很幸福的
康康马     流着眼泪说很幸福
康康马     不说就打他
Joanna     他打不过我,我们打过了
Joanna     哈哈
康康马     替我问候你男人,不容易啊

    以上摘自我和某位MM的msn聊天记录。我不是大男子主义者,认为烧饭应该是女人做的事情,相反我是一直提倡男女平等的。可是当男人要给女人一个安定的生活,并且也要随大流的期许一个远在星辰之外的美好未来,然后还要顺手把饭烧了的时候,你会发觉这个世界永远都不会有平等。

    没有文化的女人很可怕,但是被言情小说和言情电视剧毒害的女人更可怕。她们不知道婚姻的本质是合法的性关系和共同抚养后代,幻想着有个男人让她过上安定的生活,并且爱她,照顾她,理解她,XXX她……(省略100项)一辈子。也许这就是造成众多婚姻悲剧的一个重要原因。

    爱一个人是心魔。同样,要求被爱也是一种心魔。 

用PHP正则表达式解析网页内容

 kangkangma | 26 十一月, 2007 22:41

    在前面的文章中,笔者上传了正则表达式Cheat Sheet,不过光看这些手册是不能明白正则表达式的精妙的,来个实例更有助于理解。

    抓取网站内容应该是程序员经常会碰到的问题,获取网页的内容很简单,只要一个file_get_contents就搞定了。你也可以选择一个叫snoopy的class,虽然只是一个class,但是功能很强大,可以模拟用户登录,表单提交等。

    假设要获取网页中所有的链接和链接中的文字,可以用以下的正则表达式代码来获得:

正则表达式 example
  1. $content=file_get_contents($url);
  2. preg_match_all('/<a href="(.*)" >(.*)<\/a>/U', $content,$arr_pat);
  3. print_r($arr_pat);
kangkangma © 2007

$arr_pat[1][0]是网页中第一个链接的地址, $arr_pat[2][0]是网页中第一个链接的文字。

    正则表达式就是这样的简单,强大,它能让你头疼,疑惑,也能让你更有效率,更加的cool。 

大道至简

 kangkangma | 17 十一月, 2007 11:52

    今天早上7点起床,和友人一同前往龙华寺烧香。

    难得这么早起床,也难得感受一个宁静安详的早晨。跨入寺门,香雾缭绕,耳边不时传来诵经声,顿觉心清气爽。

    “凡进佛寺人,多有求佛事”。我到还好,也没什么特别的事需求佛帮忙,只想暂时远离现实的生活,寻求片刻的心灵安宁。 生老病死,富贵贫穷,皆是定数与劫数,冥冥之中,早有安排。故不必强求,专心烧香礼佛即可。

    礼佛需心无杂念,心净则心静。 礼佛之时,眼中只有佛像,心中只有佛,忘了我自己是谁,诸多烦恼也随之烟消云散。

    礼佛之后,与友人在寺中闲庭信步,他前些日子刚去过法门寺,便向他询问佛手指骨舍利的情况。大道至简,快乐的生活其实也很简单。

    有些朋友时常会和我抱怨,觉得郁闷,无聊,我会建议他们读读金刚经,听听大悲咒。方法很简单,不过许多人不相信如此简单的方法能管用,也许他们的机缘还没到。

    最后引用一个关于“事事无碍”的谒语,希望我也能早日到达事事无碍的境界。

事事无碍,如意自在。手把猪头,口诵净戒。
趁出淫房,未还酒债。十字街头,打开布袋。

 

正则表达式的Cheat Sheet

 kangkangma | 15 十一月, 2007 21:00

    不知道各位程序员是不是和我一样,反正我看到正则表达式就头大,这么多规则,根本记不住。最近写的一个程序要大量的用到正则表达式,先来个cheat sheet,有备无患。

PNG版本

PDF版本

尘埃落定

 kangkangma | 13 十一月, 2007 22:34

    拿了3个offer,最终去了薪水最低的那家公司,希望这次的选择是正确的。

    相比较学习生涯的顺风顺水,我的职业生涯总是磕磕绊绊,不那么顺利。 不少关键的选择,好像都选错了,好在冥冥之中,自有定数,要取真经,必经磨难。

    就像johnny君说的,我总是带有SB气质的乐观,在事情一团糟的时候还能打起精神,重新振作,并乐观的认为我有一个光明的前途。

喜欢曹操,来首他的横槊赋诗以明志:

对酒当歌,人生几何?
譬如朝露,去日苦多。
慨当以慷,忧思难忘。
何以解忧,唯有杜康。
青青子衿,悠悠我心。
但为君故,沉吟至今。
呦呦鹿鸣,食野之苹。
我有嘉宾,鼓瑟吹笙。
明明如月,何时可掇。
忧从中来,不可断绝。
越陌度阡,枉用相存。
契阔谈宴,心念旧恩。
月明星稀,乌鹊南飞。
绕树三匝,何枝可依?
山不厌高,海不厌深。
周公吐哺,天下归心。

CSS Framework -- 让程序员轻松搞定css

 kangkangma | 11 十一月, 2007 23:01

    既然是framework, 那么其作用也和程序的framework一样,抽象出可以通用的模块,避免重复开发,统一风格,提高工作效率。如果你有10个网站,你的css是基于一个framework做的,那么维护起来会很方便,否则你会发觉这是个灾难。同样,这些抽象出来的模块对于程序员来说也是个好东西,可以让程序员轻松的在页面中加入css,比如专门用来排版的,专门定义form的css,你再也不用面对一堆杂乱无章的css代码,因为不知如何下手而头痛。

    首先介绍一下YUI中的css。Yahoo真是太棒了,不光提供javascript给我们用,还给我们准备了css。目前最新的版本(2.3.1)中包括4个css文件,分别是:

1. reset.css

这个css的作用是消除一些浏览器中默认的css样式的差异,让你的HTML Element能够在不同的浏览器上通用(across broswers)。比如统一h1的字体大小,移除img的边框等。

2.  base.css

在reset.css消除了差异性后,base.css提供了一个默认的能够跨浏览器的定义。

3. font.css

顾名思义,这个css是用来处理字体的显示的,你再也不用因为IE和FF的字体大小不一样而烦恼了。

4.  grid.css

这个css是用来处理页面布局的,比如让你方便的进行2栏排版或3栏排版的设置。

 接下来介绍另外一个比较热门的css framework -- blueprintcss

里面包含了form.css, grid.css, ie.css, reset.css, typography.css, print.css, screen.css。部分功能和yui差不多,我会在接下来的项目中用到blueprintcss,到时会另外撰文详细的介绍一下。

 相关资料

1.  blueprintcss -- http://code.google.com/p/blueprintcss/

2.  YUI(The Yahoo! User Interface Library) -- http://developer.yahoo.com/yui/

99%的相遇与地铁有关

 kangkangma | 07 十一月, 2007 22:26

    今天下午,在星巴克,规划着我接下来一段时间的努力方向。抬起头,喝了口咖啡,朝窗外望了随意的望了一眼。我初中时暗恋的MM穿着职业套装,那种非常帅气和她性格非常和谐的西装,从窗外快速的走过,进入了地铁站。这已经是最近几个月第二次遇到她了。上一次是在人民广场地铁站,我前往一号线,她走向二号线,迎面相遇,我们都认出了对方,但没有打招呼,对望的瞬间已擦肩而过。事实上,我们以前也没说过什么话,只是知道彼此的存在,仅此而已。似乎从高中毕业之后,我们就没有遇到过。地铁是个神奇的东西,相遇基本上都与地铁有关。

    每次找工作,公司在地铁附近是必要条件。 地铁是去的最多的地方。大家在地铁里行色匆匆,各奔东西。我们相遇,有时会一起乘一段,有时朝着相反的方向。地铁似乎是生命历程的一个缩影。在地下行驶很黑,只能对着车厢东张西望。在地上行驶时,可以看风景。当身边有朋友一起乘时,你会忘了风景,专注和朋友聊天。有的人会先下车,有的人比你晚。到了终点大家都会下车。当方向相反时,彼此淹没在人流中,不能回头。

    小学的时候,学校组织大家参观地铁,那时候只有一号线,坐到莘庄再坐回来,地铁上好像没什么人。现在,几乎天天都要乘坐拥挤不堪的地铁。很多东西,没有的时候好奇,有的时候躲也躲不掉。 

    下一站,会遇到谁? 

让PNG图片在IE中透明

 kangkangma | 06 十一月, 2007 23:26

    在做在线设计T-shirt项目的时候需要显示透明的PNG图片,IE中不支持透明的PNG,所以上网找了这个javascript函数。

使用方法: 

 <img  onload="fixPNG(this)" src="upload/aaa.pic" />

Javascript函数: 

function fixPNG(myImage)
{
    var arVersion = navigator.appVersion.split("MSIE");
    var version = parseFloat(arVersion[1]);

    if ((version >= 5.5) && (version < 7) && (document.body.filters))
    {
        var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "";
        var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "";
        var imgTitle = (myImage.title) ? "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' ";
        var imgStyle = "display:inline-block;" + myImage.style.cssText;
        var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + myImage.width
            + "px; height:" + myImage.height
            + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>";
        myImage.outerHTML = strNewHTML;
    }
}

生活在旋转

 kangkangma | 03 十一月, 2007 17:28

    今天把台式机和笔记本都重装了系统,我的工作平台终于重win2000升级到了winxp,并且装上了已经购买了9个月的norton杀毒软件。以往总是十分厌恶重装系统这种无聊的事情,今天心情出奇的好,和我的电脑一样有种重获新生的感觉。

    生活中有太多的事情无从把握,塞翁失马,峰回路转,柳暗花明。把握当下,做自己目前能做的事情,享受目前的生活,或许是最好的选择。生活在旋转,不知道我会停在哪里。既然不知道应该停在哪里,那就继续旋转吧。

 

上面这张图片,有人看到图片中的MM在顺时针旋转,有的则看到逆时针旋转。看到顺时针表示右半脑更活跃,反之则是左半脑。据说大多数人看到逆时针。

右半脑活跃有如下特点:

看到事情的整体图像,想象力好,喜欢梦想,哲学化和宗教化,有空间想象力,大胆。

左半脑活跃有如下特点:

善于观察细节,逻辑性强,语言能力强,易于接受图像,制定策略,现实,喜欢安全感。

我昨天一会儿看到逆时针,一会儿顺时针,难道我的左右脑都很强?不过今天不管怎么看都是顺时针了。

div的offsetLeft与style.left区别

 kangkangma | 01 十一月, 2007 21:13

    做在线设计T-shirt项目的时候碰到一个问题,通过div的style.left属性取不到值,拖动div后可以取到值。于是上网查了资料进行研究并与offsetLeft进行比较。

    如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,这同offsetLeft是相同的,区别在于:

1. style.left 返回的是字符串,如28px,offsetLeft返回的是数值28,如果需要对取得的值进行计算,还用offsetLeft比较方便。

2. style.left是读写的,offsetLeft是只读的,所以要改变div的位置,只能修改style.left。

3. style.left的值需要事先定义,否则取到的值为空。而且必须要定义在html里,我做过试验,如果定义在css里,style.left的值仍然为空,这就是我刚开始碰到的问题,总是取不到style.left的值。offsetLeft则仍然能够取到,无需事先定义div的位置。