怪谈“观察者模式”

对于代码的设计模式,我用的不多,又不甘心说自己是乱说,所以只能取个“怪谈”的名字。

观察者—我对这个名字充满了好感,如果你也像我一样,对这个名字多念了几次,就能读出世态炎凉人情冷暖的味道来。

所谓观察者模式,就是“冷眼旁观”的写程序,我在一旁盯着,老板说这个功能不要了,那好,我撤销一个观察者;过了一些时日,老板又说,你再加个功能,很简单,我再加一个观察者。在这样的情况下,无论老板怎么虐我,我都能快速的组织代码,实现功能。

不过大家不要误会,我拿老板做例子,不是总是树立雇佣双方的矛盾,在实际开发中,需求改变在所难免。

观察者模式的代码实现具体是怎样的呢?

abstract class Observer { abstract function update(); } class Observer1 extends Observer { public function update(){ echo “我是第一个观察者<br>”; } } class Observer2 extends Observer { public function update() { echo “我是第二个观察者<br>”; } } class Eventer { private $observers = array(); public function addObserver($observer){ $this->observers[] = $observer; } public function trigger(){ foreach ($this->observers as $observer) { $observer->update(); } } } $eventer = new Eventer(); $eventer->addObserver(new Observer1()); $eventer->addObserver(new Observer2()); $eventer->trigger();

上面的代码串的意思是使用了一个叫做“Eventer”的观察者类,来管理继承了“Observer”这个父类的类,通过Eventer观察者来处理操作监听Observer类的状态,反正思想大致如此,具体实现随便玩。

有时,我为了强用设计模式,甚至写出这样的代码来记录一个日志:

interface Observer { public function addLog(); } class LogObserver implements Observer{ private $file_path = “./error.log”; private $message; private $special_message; public function __construct($special_message) { $this->message = date(“Y-m-d H:i:s”).”===”; $this->special_message = $special_message.PHP_EOL; } public function addLog() { error_log($this->message.$this->special_message,3,$this->file_path); } } class LogMaster{ function __construct(Observer $observer) { $observer->addLog(); } } new LogMaster(new LogObserver(‘log info’));

有人说,上班久了,无聊了,要开始炫技了。

“人生苦短,何必学Python?”

标题的名字,不是我说的,不出你所料是鼎哥说的。

话出有因,我用Python写的同步印象笔记的代码不能同步中文笔记,我对Python不熟,调试了好久也没有弄清问题的症结在哪,只能让鼎哥来。最后,鼎哥果然神勇,花了三个小时,通过加了个str函数解决了这个问题。

鼎哥抚了抚袖子,长吁一口气:人生苦短,何必学Python

这就是标题的来源。

这个debug的故事说明了两个问题,一个是Python的字符操作要谨慎;另一个问题是,要不要学Python

以前我如果介绍牛逼的程序员的时候,我会用这样的词汇,比如此人精通八种计算机语言,熟练使用八种计算机语言输出“helloworld,现在估计我不会这样去介绍别人了。

你会再多语言也不过是码农,就像一个农夫只是换了一个锄具,你能在别人的面前炫耀你会使用八种锄头锄田吗?作为一个农夫,你原本就必须使用八种甚至更多锄头才行。

再说一个问题,我为什么瞧不起码农? 在外人眼里看来,我也逐渐要成为一个码农了,每天上班的事情别无二致,从计算机的角度讲,是最低级的编码人员。

但是,我有意规避了这个称谓,我自称“web艺术家,想甩别人一条街。在我看来,码农的可替代性太强了,耕田谁不会,但是web艺术家,可能还讲究一些故弄玄虚的奇技淫巧。

说白了,我自称web艺术家,也是遮掩自己对计算机懂得不多的弊病。

有人会说,你瞧不起码农,比尔盖茨、莱纳斯、扎克伯格都是码农,你瞧不起他们?我不会回答这个问题,因为问这种问题的人,连码农的概念都没有搞清。 再回到题目,人生苦短,要不要学Python?我的回答是,当然要学,但是不止于Python。道家说过,知止于不知,何等的嘲讽,但是做人总要有些挣扎。

从匪夷所思的bug说起(一)

昨天,某媒体过来采访,OK记现场展示自己,结果出现严重bug:摘录的无论是图片还是文字,最后通通都变成了美女(是穿了衣服的)。站在背后的化妆了的媒体姑娘已经在嗤嗤地笑,但是作为一个开发人员,这个时候要表现出自己强大的心理素质,要装作什么事情都没有发生。 人生如戏,演完了之后,自然要debug一番。打开了控制台,一看网络请求,发现报了一个错误:数据库插入错误,主键重复了。反正调试过程省却了180个字,无聊又乏味,一度以为有人通过cdn上传代码文件攻击我们,三个人一起花费了三个小时,才勉强找到原因,准确的讲是没有找到具体原因,只能删除重复主键的数据了事。这个事情,其实说明一件很重要的事:如果做互联网持续开发,持续做一个产品,它的服务器数据库域名都应该是分离的,最大限度的测试代码,最后才配置到生产服务器,使用生产数据库。

我靠,这件事情昨天发生的,今天写发现没激情了。

突然想到

我挺想念这些老人的,他们开始说话缓慢,听不清楚,理解事物的思维方式还是和他们年轻的那个时代一样,他们说这些东西太贵了,注意骗子,多吃饭。

开始听了,会有些厌烦,但逐渐就会对他们的叮嘱唯唯诺诺,变成一股温暖的力量。 人老了,总会有一些悲凉,谁都知道等待着他们的是什么。

我有时候想想这些,对我自己还是一件蛮好的事,我现在就开始想这些事情了,至少我老了,我不会太恐惧,至少现在,我还能不去做太多无谓的等待。

想念是一件很美妙的事,就像这冬天的早上,我蜷缩在被子里,双手捂在胸前,胸口是热的,但是时间久了会咯人。

需要想念,也被想念所害。

大学之寝室生活

大学毕业了,回过头来看,寝室之间的矛盾真的不想再提及,索然无味。你的室友既然和你不一样,那就互相尊重互不打扰,收敛一些自己的坏脾气,时时刻刻想一想我这么做是不是影响了别人。

大学即将毕业,先来回忆一把,说说我记得最清楚的寝室生活。 Nike Air Max 90 Dames 我常常跟别人说起,我和室友之间关系很好,几乎没什么矛盾。别人就问了:“你和室友关系这么好,有什么秘诀?我和我的室友关系最差了,我看书的时候他们开音响打游戏,我睡觉的时候他们开音响打游戏,我开音响打游戏的时候他们睡觉。” 我是这样回答他的:“我没有什么秘诀,我们之间的矛盾早在大一的时候就已经全部爆发了,大一以后,基本上话都不会说一句,能有什么矛盾?” 各位看官有没有被倾倒?但是对我而言,我和我的室友说话很少是真的,和某些室友甚至两年多没有说过一句话,我现在一直庆幸我喝放在寝室里的水没有喝出毛病。大家一言不合而又两不相害,也算品德高尚君子之交淡如水了。 我和我室友关系不好有没有我的问题,这个我是肯定的,我是有问题的,因为我个人觉得我和很多同班的同学关系也很一般,而他们好像还玩得不错,当然造成这个局面的主要原因是因为我,原因之一我不交班费。 我是一个极度很追求正确和错误的人,我有一篇帖子发在知乎上,问问各位知乎的大神,我不交班费对还是错?有链接为证。 Nike Air Max 2014 Dame 假如我不交班费除了我的错之外,谁还有错?那就是大学的包容性不够了,如果我搬出什么是大学精神这种虚无的主题,你肯定觉得我傻逼,这年头谁还讲这个。但是,我有我的抗争,我是讲这个的,毫无保留,这是我唯一的抗争方式。 再说寝室生活。 2016年6月4号答辩完成之后,回到寝室,只有我一个人,室友还在答辩。我感到一身轻松,我的大学四年就这样一晃眼过去了,我终于可以离开13栋108了(我的宿舍住址),我不用再和性格不一致价值观背道而驰的人生活在一间房里,出了这里,我有更多的自由。 我玩了一把LOL,依然戴着耳机,只是心情从未感到如此惬意。在寝室里戴耳机是个好习惯,你放的歌即便对室友的口味也不一定时机是适合的,很多人知道这个道理但未必愿意去施行。 Nike Free 3.0 V4 Goedkoop 我知道很多大学生和室友之间都会有矛盾,所以很多人不敢买饮水机,确实,大学里最好不要买饮水机,你不用挑战别人是否真的如此善意,保护自己,尊重他人。 中国的大学是一个很矛盾的地方,宿舍四个人甚至更多人住在一起,但是,又允许人堕落。你想,一群人天天呆在宿舍里,能不发生矛盾吗?初中和高中就有效地避免了这个问题,大家在教室被应试教育压得死去活来,回到寝室就只能睡觉。 大学寝室有什么问题? 一、人多。四个人一起住,别提这他妈有多恶心了,每个人总有不一样的地方,那么就有可能产生矛盾。 Nike Air Max 90 JCRD Heren 但是中国人口基数大,所以这个就没办法,你只能忍受。 二、傻逼多。很多人以为高中受罪了三年,大学就是玩乐的地方。一群傻逼没有丝毫自制力又自以为是,容易激化矛盾。又不懂“尊重”为何物,就继续任性的挑战室友的地线。 三、寝室有矛盾,学校不解决。我和我的室友发生矛盾之后,申请换寝室,辅导员就一句话吓得我不敢再换:你要想清楚,你换一个寝室不一定比现在的寝室更好。 Nike Air Max 90 BR Heren

以上文字写于毕业前

大学毕业了,回过头来看,寝室之间的矛盾真的不想再提及,索然无味。你的室友既然和你不一样,那就互相尊重互不打扰,收敛一些自己的坏脾气,时时刻刻想一想我这么做是不是影响了别人。

要不要开黑?

敬启。

回来之后思考良久,难以抉择,但是还是要尽早给一个答复。

出于对科技和数据的崇拜,你们公司确实有很多吸引我的地方,我也深刻明白抓住时代的脉搏,公司和个人才会有更好的发展。但是,出于对未知的畏惧和人性的偏安,我还是选择在旧公司上班一阵,好一点的说是因为回报知遇之恩和坚持梦想。

非常感谢你和你们老板给我这么好的一个机会,对于一个涉世未深的学生实在是抬举太高了。再次感谢,也替我感谢你们老板。

要不要开黑?

图个吉利、图个吉利

新春时节,又是佳节刚过,李潇气第一天来公司上班,脸上还带着洋洋的喜气。进来公司一看,大家伙都来了,年前招聘的新人也一一到场安坐。他一边打招呼一边走到自己的位置,路过王小姐的桌位时,也不忘轻佻的打趣一声: 唉,你春节相亲怎么样? 王小姐插科打诨,随便说了句,小女子我貌美如花,追求者多了去,相什么亲,就算应对过去了。王小姐是公司的行政主管,对于李潇气的这种调侃,自然能坦然应对,只是今天是第一天上班,春节的余韵还在,没什么心情搭理李潇气。说完便顺势起身,走进了垚老板的办公室。 李潇气在自己的位置坐了一会儿,把电脑开起来,桌面显示的是一副巨乳美女像。这可不必感到奇怪,他们这家公司的所有职员,桌面壁纸都不一般,就连王小姐的也不例外。

李潇气所在的公司做的是特殊服务,去年行业整顿公司发展不景气,关停了几家网站,但是公司的士气反而不减反增,在年前还招聘了几个技术大牛,准备在新的一年重整雄风。

没过五分钟,王小姐伴着垚老板从办公室里踉踉地走出来。

垚老板走到公共办公室的中庭,所有员工都起身,把垚老板围在一个了圈子里,这时李潇气故意地瞄了一眼王小姐手里拿的红包。

他知道今天新年第一天班,公司肯定有所表示的。 垚老板哼了几声,润了一番被烟熏得沙哑的嗓子,开始说话了。来来来,现在人来齐了,我说几句。首先热烈欢迎和感谢大家的到来,去年我们公司业务做的不好,可以说和我们公司的愿景相比,去年是在原地踏步······” 垚老板在滔滔地讲,李潇气则在全神揣测红包的大小,大脑里的红包数字,像程序一样做了循环遍历。听到垚老板一说出红包两字,李潇气如风停了马上立起来的树苗一样回过神来。这个红包呢,主要是为了图个吉利,数字要取得吉利······”。底下有自作聪明的人开始起哄:哦,那就一定是六百六十六元。这个你想多了,大家看到了我手上的红包呢,有大有小,我们自己来抽,抽中哪个是哪个。李潇气一听,哎呀,这个垚老板有点意思,数字要图个吉利,红包还有大有小,还要搞抽奖,有意思啊,刺激。

他再细细一想,吉利的数字无非就是68,莫非小红包有666,大红包有888这个红包呢,我先来抽。垚老板话音刚落,自己便拿走一个。

很快,红包就递到李潇气的面前,他故作镇定满不在乎的拿起一张,显得漠不关心的样子。 红包抽完,大家回到座位上。

李潇气已经按耐不住地想要打开红包,虽然他还没有拆开红包,但是他接过来时,用手捏了几番,自觉心里发凉,感觉不对劲,这个666块的红包。莫非只有这么薄?他心里嘀咕未定,垚老板又从门里出来了,对着大家说:怎么样,拆了红包没有?大家赶快拆了拆了,今年我们是一个吉利年,主要图个吉利,预祝公司早日上市。听到这番话,李潇气明显感觉到身上的这股凉气从心里凉到了脚底,顺手捏开封条,往里瞄了一眼,看到一张五块的,一张一毛的。 李潇气把红包收起来,像淋了雨水一般,全身凉透了。真是吉利啊,我抽到了一个大红包,66块钱。” “嗯,吉利

商业时代

马云说现在是一个数据时代。数据这个东西我倒是感受不强烈,但是感受强烈的是现在是一个商业时代。

比如说,近来我发现湖南卫视的综艺节目《天天向上》一直广告推广不断,也有可能是我的感觉现在才强烈起来,而商业推广一直都在的。

因为心里有了陌生感,我才会这样的去感觉。

上周看了一期节目,韩寒在《天天向上》推广一个app,林志颖在推广什么投影仪。《天天向上》这个节目在印象里还是挺深刻的,最初一期是在初三的时候,刚刚推出来的时候很符合初三的我的口味,有种怎么现在还是第一期的感觉,而那时《快本》已经办了多年。

现在《天天》也搞了八年了,我读了高中,读了四年大学。 又提到时间了。要去美利达的自行车店,我记得某个时间点,我买润滑油的时候老板娘跟我说他们的店要搬迁了,下次来的时候,让我去新店地址。

所以,我这次才去了滨江北路,我跟店员说起,你们是什么时候搬到这里来的?我内心里是有个答案的,就是去年下半年。

但是为了找些话题,我还是问了。

果店员告诉我,是2014年搬过来的。我内心里突然有股深深的时间断痕,好像从来没有过2015年,细细想来,去年我确实不会去她的店里,下半年一直在实习,上半年也绝没有去过的可能。

在感叹时间过的好快之余,《天天》已经不是我初中那个时候的样子。总之,还是我自己变了,内心里总是排斥这些推广,或者是其他太商业化的东西。

那个时候我会看《one》,现在不看了,因为商业化了。可是没有东西一直不变,商业迟早总是进入每个人的生活里。

就像我写写实习日记,我也要在微博再转发一次。 看完那期节目,我跟别人说时代变了时代变了,这个世界太商业了,钱都被别人拿走了,留下给我们的尽是诗与远方。

微信

多年以来,我一直希望做一个自由职业者,能够靠写写代码和文章,一家人也能过的不错。然而, 我什么也没有做好, 只学会了给出我的可以扫描的二维码支付宝账号,也学会了给出我的微信二维码。