2011辛卯年总结

家庭:

为人子

父母在,不远游,游必有方。但我做不到,为了生活,我只能苟且得生活在大城市,辛勤付出,简单的生活,节省开支,为了房子、房子、房子!!!今年帽帽出生了,母亲过来照顾他,父亲一个人留在老家,吃不好,穿不好。想到这些,更愈加惭愧内疚了。父亲60多岁,一生劳碌,先是为兄弟,后是为子女。他辛勤工作,废寝忘食,从无闲日,更无怨言,总希望子女生活得比自己好。每逢过年过节,总是不让子女回家,担心浪费路费,担心路上安全。其实心底下更多的是希望把子女守在身边,团团圆圆,享受天伦之乐。今年母亲来上海,父亲要一个人在家过年了,儿子太小,没法回家。姐姐也多次表示,车接车送,把我们接回老家,春节之后,再送回上海。但总担心刚满月的儿子不适应老家温度环境,对他身体有影响,还是打算等儿子大了,满两三个月了再回家。值得欣慰的是,姐姐跟外甥、外甥女表示,年三十晚上在自家过,大年初一就到我家,陪陪父亲。

上周周末,网上看了龙应台的《目送》前几篇,以及筷子兄弟的《父亲-父女篇》、《父亲-父女篇》(暂时没看),更是感慨颇多,对父亲思念有加。筷子兄弟的每一步作品,都能跟我们80后产生共鸣,是因为我们都有那么个童年,都有这样的父亲。没有什么比家人团聚更快乐的了。对于不打算回家的同学,请看完上述两篇短片,再做决定,三思啊。

为人夫

2011年正月初六结婚,对于我们来说,或许有点早。可对于我年迈的父母来说,已经非常晚了。我跟我老婆分别是两个省份的人,相离太远,无法完成当天“接亲”的风俗。我们的父母皆为农民,没有轿车楼房,没有达官显贵,婚礼就是那么简简单单扑扑素素的完成。由于我们当地奇怪的风俗习惯,准新娘不能在新郎的亲戚家待。而且,新娘必须12点之前迎娶到新郎家,同时,越早越好。老婆只好跟我一起,在市区的一家宾馆等待到迎娶的那天,被接到老家里。感谢老婆的信任,岳父岳母的理解,使得我这种在大城市最底层、普普通通、卑微的80后,能奢侈的完成真正意义上的裸婚。

为人父

2011年12月7号,儿子陈帽帽出生,最高兴的要属我父母了。60多岁的老头老太太,以后不用再羡慕他人,可以每天抱着孙子到处溜达,他们也可以了。可能儿子以后更多的是在我们身边,而不能经常在老家的父母身边,教育啊教育,唉…

其实,结婚生子,对我来说都太早了,但每次父母的威逼利诱、软硬兼施,搞的我每次回家过年都泪流满面的承诺尽快结婚、尽早生子。

说起儿子的名字,还挺有意思的。“帽帽”是我老婆无意中想到的,叫这个名字的小孩还挺少,基本没有。叫起来也听顺口。关于大名,在帽帽没出生之前,只是想了个女孩名,叫“陈亦初”。妈妈的解释:"亦"意为"也是"、"总是",比较委婉;"初"意为"刚刚"、"第一"等寓意。比如刘亦菲的"亦",张静初的"初"。两个字比较文雅,适合女孩名。爸爸的解释:"亦初"谐音"溢出",跟爸爸的工作有关,爸爸是个程序员。男孩的名字还没想好,直到帽帽出生了,出院前必须定好大名,情急之下,就定了“陈亦迅”,跟HK的著名歌手“陈奕迅”名字读音相同,“亦”字不一样。医院的护士跟我说,你家宝宝的名字说一遍我就记住了,哈哈。

工作:

朝气蓬勃

上半年劲头十足,目标明确,专注性能调优、架构设计。温习了正则,阅读熟悉了RFC2616、RFC3875部分章节,对xhprof、httpwatch、charles proxy等工具更加熟悉了。熟悉了浏览器的http并发数在不同http协议、不同浏览器之间的差异。最大的收获是web项目的调试技巧,尤其是后端有反响代理、负载均衡,DB、web不在同一机房,各种奇形怪状的问题。收获颇丰,这当然要感谢同事们的指点协助。尤其是netxflydeluxe1983ivon_lee等…

萎靡不振

本年度第四季度,稍有放松、士气低落、目标迷失,责任心下降,这跟我本人生活、情绪有关,感谢老大、职业欠钱等信任与包容。使得我能尽快调节自己,跳出低谷,走向正道。计划尽快转入C/C++、LUA、SOCKET相关技术的研究中去,这也是我本人研究学习的新方向。

生活:

精神食量

本年度读书13-15本,平均每月一本。包括《大话处理器》、《浪潮之巅》、《大话数据结构》、《黑客与画家》、《暗时间》、《代码之美》、《一线架构师实践指南》、《大规模Web服务开发技术》、《Rework重来》、《企鹅凶猛》、《构建高性能WEB站点》、《软件随想录》、《程序员的自我修养》、《数据结构》等。

  1. 其中《黑客与画家》我个人觉得,并没网上传说的那么好,就是一普普通通的个人从业经验感言,或许我还不到理解背后深层含义的地步。
  2. 时间管理类的《暗时间》是非常不错的,值得推荐,适合我这种注意力经常不集中的码农。
  3. 技术类《程序员的自我修养》最棒,对操作系统、编译原理、链接、装载、库、运行机制等进行原理性讲解,可惜以我目前的功力,无法全部读懂理解,目前只看了前面几章。计划先补习相关知识再看。

最期待的书就属余晟老师的《正则指引》了,之前试读过其中的“匹配原理”与“常见问题解决思路”,觉得思维方式很巧妙,我之前从来都没有理清过思路,如何去完成正则表达式的编写,分几步,每一步的目的等等。对于“匹配原理”部分,也有跟我理解不一样的地方。非常期待其他章节。

来年的计划增加数据结构、算法相关技能书的阅读,同时增加点散文类文学作品的阅读,陶冶下情操。同事说我太愤青了,换下视线吧。还有,不打算买书看了,计划到“青番茄”?借阅,除非读到非常好的书,才购买收藏。一来节省开支;而来节省空间。每次换房子,搬东西都太麻烦,书又比较重。

今年送给外甥4本书,分别是《夏洛的网》、《窗边的小豆豆》、《昆虫记》、《赛尔号》,其中《昆虫记》是一套,共6本。算是比较经济且实用的礼物了。据他们反映,最喜欢《夏洛的网》。

运动

5月初,公司举行一次户外活动,地点是崇明岛的国家森林公园,为期2天,做大巴来回。M哥、deluxe1983两位骑行爱好者决定骑车到崇明岛,中间做轮渡。我有幸也参与了,由于本人身体素质问题,体力不支,导致进展速度较慢,拖了大家后腿,各种腰酸背痛,屁股红肿….还好坚持下来了。同时,感谢netxfly的爱车。2012年最好再来一次类似的体能消耗较大的户外运动。

印迹

2011年度写博客大约6篇,平均2个月一篇,相比以为大牛60篇来说,还是非常非常的少。当然,我跟这位大牛的水平差距也非常的大,我之是他的1/100,甚至不到。2012年,由于我最近比较想读原理类的技能资料,要多多关注鸟哥春哥两位重点讲述PHP原理与Nginx原理的大牛学习。同时,要做总结自己的学习成果,并记录下来,N年之后,我退休了,这也算是经验之谈,丰富的学习资料,留给我的儿子继承了。今年,我在sina微博腾讯微博上发言的次数综合大约为1500次,平均每天5条,这足够可耻了,太浪费时间了。来年要减少微博的使用次数,增加博客的撰写。

在第三季度写了两个PPT《正则表达式匹配原理》与《WEB开发安全与运维安全浅见》,其中背后所需学习的知识点比较大,算是自我批评的一点安慰吧。2012年计划再写一个关于HTTP1.0与1.1相关的PPT,分享下我的学习经验,同时,给自己下目标,鞭策自己。

善举

2011年度从善5次,均为不超过20元的小额捐款,总计100左右。捐款对象多为山区失血儿童,还有以为是微博里传的一位白血病患者,好像也是IT从业者,性别男,为其女友发起。具体谁记不清了。明年来继续,额度不小于100元。(本人能力有限,也是社会底层的贫苦大众,富人勿嘲笑)

败家

抗得住ipad的诱惑,没扛得住ipad2的诱惑。败家4000RMB,特此反省1年,期间不能购买任何非必须的电子产品。(08年的blackberry 8800我用四年了,也算扛得住诱惑了吧。换个手机,也不为过吧?)

老友

老友牧野天涯来访一次,带了他的宝贝女儿。记得上次个他见面时,也是轻松的小夫妻。转眼间女儿就1岁多了,做了导游,逛了中国馆(世博会期间我都没去,一点兴趣都没,不知为啥),我也是第一次去,场景还凑活吧,没什么 新奇的高科技,人流仍那么凶猛。也感谢他在SEO上的相关指点。这些好友今年通话过:闫超、杲强、朱丽楠,宝发、刘威、董林、李彬、刘亚、大眼、高楠、朝阳、王勇。其他没通话过的好友,你反省,我也反省吧。

总结:

本年度评分为50分,满分100,差距较大,尤其是自我充电类计划,完成的不到40%,来年定要认真履行计划,读书15本,技术类10本,非技术类5本。由于我本人性格问题,言语中如有得罪,还请见谅。再次感谢各位同事在工作上的包容帮助。

《正则表达式》PPT共享(公司内部培训)

近来我越发懒惰,博客很少更新,最近在公司内部做了一个培训,关于正则表达式的,发到博客里来凑数吧,也算分享给其他朋友了。至于正则表达式的重要性,想必不用我说了吧。

发明BSD、TCP/IP、csh、vi和NFS的SUN首席科学家Bill Joy说过,在计算机体系结构领域里,缓存是唯一称得上伟大的思想的。其他的一切发明和技术不过是在不同场景下应用这一思想而已。在计算机软件领域里,情形也大体相似。如果罗列这个领域的伟大发明,绝对不超过二十项。这些包括分组交换网络、WEB、lisp、哈希算法、UNIX、编译技术、关系模型、面向对象、XML这些大名鼎鼎的家伙,而正则表达式绝对不应该被漏掉。

你还记得大学时候的课程编译原理中提到的 NFA\DFA 吗?还有印象吗?你知道PHP编译器扫描你写的PHP代码字符串的时候,是如何区分哪个是变量,哪个是常量的吗?你知道SQL语法分析器是如何判断你的WHERE条件中出现的SELECT\FROM\ WHERE等关键字是字符串,而不是子查询等关键字的?
你知道.ini配置文件跟xml配置文件对程序来说,是如何扫描解析的吗?他们一样吗?如果你想知道,那你务必的熟悉正则表达式,精通正则表达式。不光能写出正则实现功能,还得能写出高效的正则表达式。(编译原理的课程里,有关于NFA\DNA的大篇幅描述,想写出自己的编程语言,正则是躲不掉的。)

不扯淡了,附PPT吧。
(PPT模版是网上网友的,我是借用他的,其中有几张PPT是直接用他的。很好区分,动画效果很炫的(主要是文字层下的颜色,大约10页吧,简单描述那几页)就是原作者的,其他都是我自己写的。作者信息在PPT最后一页有)
PDF也放出来,效果没PPTX好,很多层都被遮住了。

猛击这里下载《正则表达式》PPTX

或者您也可以在线阅读:

程序员的谦逊编程

译注:开发人员如何从无休止的需求、项目进度中摆脱烦躁的心态,这是每个人都值得思考的话题。无意间看见了这篇文章,恐于太长遂将其精简翻译,错误之处难免欢迎指正。

同时如果你有有关程序员修身养性的观点和心得,欢迎说说你的看法。

-- Split --

其实每个程序员或多或少都会有个毛病,就是具有某种有强烈的“优越感”。而这种“优越感” 有可能成为激励自身不断发展的动力,同时也有可能成为其职场中的绊脚石。

程序员的这种心态,源自自身掌握的技术、以及多年积累的经验。正如上面所言,这种心态 能使其一切都力求完美、同时准确按照自己的思路行事,能使其技术不断的提升。而另一方 面,如果将这种态度套用给身边其他的人(包括陌生人、同事、朋友甚至家庭),则会发现 他的生活将会如履薄冰 — 他们只会看见完美的一面而忽略了更多更需要关注的事物。

总而言之,越早发现并解决这一问题,越对自身有利。套用 GeraldWeinberg 在《计算机编程心理学》中的一段话

这种想法是程序员必须解决的,他们对待自己的代码犹如对待自己身体的
一部分,因此他们拒绝所有的负面评价。相反,它们(指代这种心态)应
该及时的引导到正途,使其发挥真正的效用。人非圣贤,这不仅仅是心态
更是精神上的境界,并非所有人都能达到,但仍旧值得去尝试。

症状

那么,你如何得知这种“优越感”正在伤害到自己?除了应付那些没完没了的催促项目进度的 电话,以及给同事擦屁股的优化工程,其它的现象并非显而易见。

其实就我个人而言,时常也会自我责备,这就能窥出事态的严重。例如一方面你对项目疲于 奔命,而同时却忽略身边的人对你表达的看法(该死,这个时候我应该放下手头的工作听他 们说完的)。或者你“假装”静下心来听取他们的意见,但不就繁杂的工作却让你左耳进右耳 出。

其他的些症状

  • 如上面所说的,不会妥善处理批评
  • 不放心同伴的代码,经常性地对他们进行代码审查(Review)
  • 报复性的编写大量充斥着错误的代码
  • 个人的消极心态,对自身和团队造成不利的影响
  • 必须要求进行测试,但出发点却是炫耀
  • 对事物的看法仅仅局限于个人或者本职位的角度

这不仅仅是你个人的事情,编程以及项目开发实际上是团队活动。了解到这些,你将会意识到 你的心态将会直接影响到你的同事。

事实就是这样,当我对您的代码提出写意见甚至批评时,你应该听、并且认
真的听,这样你才能理解我的看法。

有可能最糟糕的情况就是,即便早已经收到其他同事的提醒,当事人已经陷入此泥潭无法自拔。

准则

让我们回到文章的题目本身,正如上面的例子中看到,“谦逊编程”不是编程技术本身,而是 种态度,但它的确会比你掌握的某种技术要有用的得多。

行为准则的确能改变人的心态,下面是些不成文的建议,或许你可以尝试下

  • 不要草率的宣布你的决定,在大多数情况下,你应该和你们的同事们讨论
  • 不要使用这些论调,这非常让人感到不适:“这是见过的最糟糕的代码了”,换之你可以这样说,“我有个更好的解决方案,要不看看?”
  • 不要轻易认为他们没有考虑到你想的方式,即便很不幸是这样,应该善意的提醒。例如“你觉得我这个看法怎么样…”
  • 不要无理由的批评你认为很弱智的现象,例如“我觉得 DBA 脑门子被夹了,这个字段竟然使用 INT 型”

更多的,可以参考 Tech Republic 中的“谦逊编程”十条诫律

  • 理解和接受你将犯下的“错误”。
    重点是及早的发现你已经犯下的错误,当代码投入使用以后,改动起来就会非常的困难。
  • 你的代码不能代表你的人。
    记住始终要 Review 你的代码,即便你已经认为无懈可击,经验证明总能发现些错误。
  • 不管怎么样,有些“奇技淫巧”总能派上用场,而可能这些技巧别人知道的比你更多。
    如果你坚持不耻下问,你的同伴总能分享你更多。
  • 不要在完全没有沟通的情况下,自作多情的进行代码重构。
    当你确定要更改别人的代码时,必须加上良好的修改记录,这也是出于对他人的种尊重。
  • 对待那些新手要保持充分的尊重、细心以及耐心。
    记住当他们成长起来后,能帮你解决的问题会比你想象中的还要多。
  • 唯一不变的是变化。
    怀着开放的心态对待变化,对于各种需求、平台甚至开发工具的变更,应该是迅速适应而不是牢骚满腹 — 这样解决不了问题。
  • 真正的权威来自学识,而不是立场。
    权威源自学识、尊重源自权威。
  • 优雅的接受失败。
    最终你的一些观点将会被推翻,即便你有能力证明你的观点是正确的,请不要重复的争辩。帮助其他人意识到这点的最好工具,就是你的理解以及时间。
  • 不要成为“办公室男”。
    不要在昏暗的办公室里独自喝着可乐敲着代码。当与外界隔绝,离开同伴的视线,也就说明你离开了一个开放、合作的环境。
  • 批判代码而不是编写它的人。
    要知道你的意见可以影响到代码也可以影响到其人,如果你想尝试下如何打击别人的自信并造成冲突,那么尝试下吧。

此文转载自:http://www.gracecode.com/archives/2971/ ,自勉自勉。

朝三暮四,还是朝四暮三?

朝三暮四是个老典故:古时候宋国有个人养了一群猴子,早上喂它们三颗果子,晚上四颗,猴子就恼怒;如果改成早上四颗,晚上三颗,猴子就高兴了。小时候听了这个故事,总觉得猴子太傻:反正每天都是七颗果子,何必在乎早晚呢?长大了做许多事情也是如此,反正总量不变,朝三暮四还是朝四暮三,只有时间的差别而已,想找出什么分别都是徒劳,还不如索性从容点。而且,许多人的潜意识里似乎也这样认为的,至少争辩起来,许多人都会这样反驳,典型的句式就是“反正……,何必呢?” 可是,我又逐渐发现,有些事情似乎不是这样的。

就从生活的小事说起吧:现在物价飞涨,当过家的人都知道,有些菜简直是一天一个价,许多事情就不再是“早晚一样”了,能赶早的就得尽量赶早,否则,拿同样的钱,就买不到同样多的菜,要买同样多的菜,花的钱就不一样。换句话说,在迅速变化的形势面前,朝三暮四还是朝四暮三,就不再只有时间的差别,而是有了实实在在的不同。

而且,即便不是在迅速变化的形势下,朝三暮四和朝四暮三,也可能存在真正的分别。还是拿我自己当例子,我生活还算规律,晚上一般十二点左右睡觉,早上六点半起床,之后要锻炼、读读书、收拾收拾,八点多出门上班,时间充裕,动作从容,自己也比较满意。可是有一天,周老师跟我说,晚上早点睡觉,早上早点起床,这样可以做的事情多得多。开始我并不相信,抱着怀疑的态度尝试了几天之后,发现果然如此。可是,这是为什么呢?我仔细思考之后,终于找到了原因:我自己习惯每天要认真读点书学习点资料,大概是每天2小时左右,以前因为早上六点半起床,留给看书的时间大概是二十到三十分钟,刚刚进入状态,想清楚几个题,就得去忙别的了。提早到五点半起床之后,留出来看书思考的时间就多了很多,夸张点说,可以很从容地安排两节自习课。相应的,晚上不必看那么长时间的书,也更容易保持清醒的头脑,效率也高了不少。看来,“朝三暮四还是朝四暮三”的道理,也可以用在学习上:相比之下,“每天学习xx小时”这样的目标,还是显得太粗了,更细致更妥善的安排,完全可以收获更好的效果。

前些年我读冯仑先生写的《野蛮生长》,也见到了道理:年轻的时候,到底是多玩乐一些好,还是多积累一些好?对这个问题,他似乎并没有给出明确的答案,如果一生中用来积累的总量和玩乐的总量差不多,年轻的时候多积累一些,虽然看起来玩的少了点,但年纪大的时候收益更多一些,玩起来的后顾之忧也少一些;如果年轻的时候玩得多一些,老了就得花更多的精力补上积累的课。我想这说法确实有道理,此类问题也确实不宜从“总量一定”的角度来看:积累和玩乐之间,到底是选择朝三暮四,还是朝四暮三,它们之间,远远不只是时间的差别。

本文由Yurii《精通正则表达式》译者余晟老湿原创。引自:http://www.luanxiang.org/blog/archives/1089.html

近来二三事(流水账)

信用卡上个月刷了4000块,上周周末,在去公司的路上还了2000多,还欠1000多。今天,睡到9点才起床,应该算懒觉吧,煮了点稀饭,跟GF把夏天用的物品等 晒晒,修理下坏的窗帘,重摆了电线的线路,省的每次都从窗户连到床上,过路都麻烦。之后,稍微清扫垃圾,便出门了。直奔招商银行,取钱之后,再跑到浦发银行,还了信用卡,又跑到中国银行,还了下个月的贷款。房贷卡是江苏的,在上海存5000,收了25块的手续费,真黑。

欠的钱还完了,心里松口气。下一个目标,到公司拿手机,昨晚走的晚,跟同事他们匆忙离开,忘记拿手机了,我很少犯这种错误的。回到家之后,还以为落在KFC了。到家之后,赶紧登录QQ,发现他们都不在线,只好在QQ群里喊了一声,就下线了。今早登录QQ的时候,收到netxfly的留言,他当晚帮我联系了夜班的运维同事,确认手机在公司,已经让同事帮我保存好了。实在得感谢峰哥(netxfly)的热心帮助。到公司门口,看到大门敞开,走进之后,看到视野范围之内,一个人都没。只听到客服部在他们的办公室里有说话的声音。到我的办公坐上拿了手机就走。出门之后,到电梯里,不禁想到,如果一个非本公司的人,到公司去,拿东西就走,却没有人知道,这样。。。。公司的保安措施是不是不到位?

出门之后,到对面小公园坐坐,顺便买几个芭比馒头里的包子豆浆,稍微补充下能量。直奔下一个目的地–徐家汇站,美罗城,帮家里亲戚买奶粉。到了之后,逛遍周围所有大型超市,也没找到亲戚描述的专卖店。几个电话沟通之后,只好作罢。过天桥的时候,顺便到百思买里逛了下,免费体验下3D电影,又看了看苹果的产品,MAC OS、Ipad、Ipod等产品,用ipod玩了植物大战僵尸–打地鼠那关。哈,我跟我GF两个人每人一只手,10个手指同时点,屏幕同时出现10个锤子,秒杀所有僵尸,哈哈哈哈。

嗯,好了,所有的事情都办完了,回家吧。到地铁口,正好看到KFC,也觉得饿了,GF提议去吃KFC,又想省点钱,便到维洛城终端机上打印优惠券。记得美罗城的某楼层有终端机,我们只好每一层都去找下,终端机找到了,上面却没KFC的优惠券,在5楼又看到电影院上公告“美团网团购电影票兑换规则”,忽然想到我9月份团购的电影票还没看,快到期了,遂赶紧跟GF买了KFC,直奔衡山路电影院。。。

从美罗城到衡山路,我实在不知道从哪里走,手机上显示在东北方向450米,我却没方向,问了几个地铁的志愿者,得知从地铁入口进去,到马路对面13号口出来,再走一段路,绕来绕去,也终于到了,衡山路电影院比起美罗城的,显得偏僻的多,不过,环境很好,在一条两侧都是枫树的马路深处,两侧灯光很少,显得很有情调。到了电影院,已经17:35了,放映单上写这目前今晚还有《生化危机四》和《哈利波特七》,为了赶时间,早点回家,选了《生化危机》,但已经放映3分钟了,赶紧领爆米花,可乐,直奔放映厅。检票的时候,才知道又是3D电影。上次看《阿凡达》3D的时候,我头晕,想吐,整个过程中,我一直在努力控制自己如何不呕吐,根本没心情看电影。这次有是3D,我讨厌3D。放映厅里早已熄灯,摸黑到后排,随便找两个位子,做了下来,一边吃爆米花,喝可乐,一边看电影,不知不觉,电影结束了,我却没有头晕,想呕吐的感觉,不尽感叹这电影时间真短,我还没头晕,就已经结束了。但剧情我也记不清是神马啦。。

一路地铁,下地铁之后,又饿了,我还真不低碳啊,吃这么多,又饿了。随便到附近的一家港式茶餐厅吃点东西,又奔向今天最后一个未完成的任务的目的地,理发店。上周就打算剪头,却拖到现在。(还没剪,人太多了。等明天吧。这周争取搞定)

本想今天不coding,回家之后,三国杀玩两局,谁知道洗漱完毕,写了博客之后,已经将近23点。忙碌的一天又过去了。

工作:最近比较忙,但充实,我喜欢,也期待能尽快的开发我筹划准备已久的项目。明天又的coding一天,把对别人承诺东西完成,不能也不想做个食言的人。

其他:饭否好像复活了,但只能用手机登录。上面记录了我08年的一些闲言碎语,现在看起来,感慨颇多。

广发英雄帖-招聘广告(DBA、PHP开发、运维工程师、BI专员)

首先,我已经改行了,因此这个招聘和安全无关,不是招安全工程师的。

其次,我现在所在的团队,是一个比较年轻的团队,无论是同事的平均年龄,还是公司的成立时间,或者是公司的收入状况。

所以,如果你现在觉得自己充满激情,渴望学习和成长,耐得住性子,能做好在小公司待2年以上的准备,不太在乎加班多(不一定有加班费),不太计较眼前得失,希望和公司一起成长,渴望自己的努力在公司的成功道路上占据重要的比重(相对于大公司比较细分化的工作岗位),并且有志于往下列岗位发展,欢迎投递简历至 cfc4n # cnxct {dot} com ,最好来信注明薪资期望

公司性质:网游
规模: 100人左右
工作地点:上海
待遇:根据个人能力而定,本次招聘主要面向中、基层岗位

除BI专员外,其余岗位无学历限制
职位:运维工程师
招聘人数:3-4人
职位描述:
1. 负责生产网络、服务器、数据库与支撑系统的建设、运维和监控,保证各业务系统正常运营;
2. 负责突发性事件的快速响应和处理,解决服务器和网络故障;
3. 研究运维相关技术,制定运维技术方案、部署统一化、集中化的运维系统和工具;
4. 负责对现有运维系统的性能改善。

职位要求:
1. 计算机或相关理工科专业专科或以上学历,为人真诚正直;
2. 熟悉Linux操作系统,熟悉Linux脚本编程;
3. 熟悉Apache、nginx、Mysql等应用的配置与维护;
4. 熟悉防火墙,交换机等网络设备的安装、配置;
5. 2年以上相关工作经验,深入理解Linux系统的和部署,有系统调优经验者优先;
6. 具备良好的沟通能力和强烈的责任心,热爱运维技术,有良好的文字表达能力和自学能力,有良好的团队合作意识。
职位:PHP开发工程师
招聘人数:3人
职位描述:
负责如下系统的设计,编码,测试,文档记录,开发优化维护等:
1. passport中心
2. 支付平台
3. 论坛整合插件(discuz!)
4. 在线活动项目
5. 资产管理系统
6. 广告统计系统
7. 服务器监控系统
8. 周边产品的
职位要求:
1. 精通PHP5开发(2年以上工作经验,有WebGame或者社区开发经验优先)
2. 扎实的编程基础。代码构造清晰,易读。擅长代码和算法优化。
3. 熟悉MySql数据库设计,了解Memcached优化。
4. 了解PHP与FLASH(或者其它非浏览器客户端)的常用通信方式。(如AMFPHP)了解HTTP协议。
5. 熟悉javascript,善用ajax等技术,熟悉Jason数据格式。
6. 熟悉各浏览器的安全机制上的差异,能够解决兼容性问题,如:iframe,cookies,ajax。
7. 熟悉PHP(APC之类)缓存技术,对异步机制下的状态维持、更新有一定的了解
8. 熟悉SVN等版本控制开发环境。

职位:数据库管理员/DBA
招聘人数:1-2人
职位描述:
1. 负责公司游戏产品、支撑平台的数据库日常维护和监控;
2. 负责数据库的更新和运营相关数据的统计分析。

职位要求:
1. 熟悉MySQL,Oracle的体系结构,复制,高可用,监控和备份机制;
2. 具备较强的数据库故障解决能力;
3. 至少熟悉Shell或Python脚本语言之一;
4. 熟练使用PL/SQL,对大数据量下的数据处理有一定经验,有PL/SQL, SQL调优经验者优先;
5. 熟悉数据仓库的ETL开发和数据建模优先;
6. 能阅读各类英语文档。

职位:BI&UCD专员
招聘人数:1
职位描述:
1. 辅助运营流程建设;
2. 辅助运营数据统计、分析、挖掘;
3. 参与实施BE/UCD管理及团队建设;
4. 数据化衡量运营质量、提供决策参考依据;
职位要求:
1. 本科学历是必须条件,计算机及相关专业优先;
2. 学习能力强,具有较强的沟通与领悟能力;
3. 具备自我驱动能力,抗压能力强,服务意识及团队合作精神佳;

说明:招聘详情是我直接从我同事BLOG上复制过来的,只改了邮箱地址,别的都照搬。文中头部描述也是我的现状,我也不做安全了,回归到开发上来了。

CFC4N喜欢的结婚照风格

男大当婚,女大当嫁。一眨眼的时间,我也到了谈婚论嫁的时间。也看上了几种不同风格的结婚照。在这里发下,尤其是民国时期,五四学生装,我尤为喜欢,其次是明代凤冠霞帔,再之是旗袍系列,最后是俗的一塌糊涂的婚纱照。

五四学生装代表的照片为:
董洁,潘粤明的五四学生装。

董洁、潘粤明的五四学生装

陈小春,应采儿的五四学生装

陈小春,应采儿五四学生装结婚照


陈小春,应采儿五四学生装结婚照

还有网上找来的几张。

网友五四学生装结婚照


网友五四学生装结婚照


网友五四学生装结婚照

下面就是明代的凤冠霞帔风格的结婚照了。

(汗,临时找不到了,先留空)

接着是5、60年代军装风格
还是以陈小春的为代表:

ChenXiaoChun_YingCaiEr_3


以下为网友的结婚照军装版:

60年代军装结婚照

60年代军装结婚照

60年代军装结婚照

60年代军装结婚照

密码保护:四年前的今天

这是一篇受密码保护的文章。您需要提供访问密码:


snoopy.class.php中_striplink方法的正则分析

上周提到老爷机坏了,昨天早上早早的抱去修理,维修工程师更换硬件排除法最后得知,故障出现在显卡,插入显卡,主板灯亮,按开关,没反映,或者CPU风扇抖动一下即停止。卸下显卡,开机正常。这位维修人员的结论是显卡坏了,建议更换显卡。我们有N卡9200,只要320元。我提出把显卡放到别的主机上试试,被拒绝了,好吧,那我也拒绝。最后,对方收我20元检测费。虽然我心里有点不情愿,他只是换了几个零件的简单排除法得出很有可能的结论而已,并没有告诉我准确的病因,是显卡的哪里出问题了?能否维修?他都没有告诉我。尽管这样,我还是给了,也没争论。

主机抱回来之后,自己卸下了显卡。开机,上网,打算到网上买块新的。老的显卡是我07年在学校买的。ATI RADEON X550,在当初,还算比较前卫的硬件。周五还赞扬其能勤奋工作到现在,而结果得知出问题的就是它。工作了3年多,不到四年,还能接收吧。主板换了华硕P5GC-MX/1333 ,作为硬件小白的我,也不知道换什么显卡较好。熟悉硬件的朋友,麻烦留言告诉一下,感谢了。现在打开网页,拉动浏览器滑动条的时候,卡的比较厉害,播放电影更是,像放映幻灯片一样。实在不能接受。遂网上搜了相关信息。价格在500左右。是有点贵了。遂暂时作罢。一整天心情都很低落,或者说,自从老爷机出问题了,心情一直很差。中午窝在家里,洗了洗衣服,趁太阳好,把冬天穿的衣服拿出来晒了晒。又挪动电脑附近的两个大桌子,打扫卫生,清理一番。一直忙到下午3点,头饿的晕忽忽的。匆忙到沙县小吃随便吃了点,下午,看会书,睡了会觉,早上送GF回家,起得太早了,困的厉害。睡醒之后,都7点多了,照照镜子,看看自己蓬松的发型,猥琐的样子,不禁笑了一笑。洗了把脸,到小区的理发店里剪了头发,由于是小区内,专门给老头老太太理发的,所以费用仅5元,在上海,应该没有比这还低了吧。晚上,把显示器接到电视盒上,看了会电视,差不多都是娱乐类的弱智脑残节目,我极为反感觉,又将显示器接回主机箱,开机到当当网上看了一番。因工作需要,要做个代码自动审计化的程序,我的想法是,不仅仅停留在对关键危险函数的正则匹配,而是做到语法分析,识别未初始化的变量、未过滤的富文本字段、SQL注入的方法等。想必,肯定的熟悉《编译原理》以及LEX、YACC之类相关知识,后悔大学没认真听,造成自己基础薄太弱了。当然,我也觉得大学的时候,直接教学生这么底层的知识没有循序渐进的引导学生去深入更好。可以从最简单的网页制作开始,然后,让学生对其感兴趣,再引导到动态,然后,联合数据库,然后效率优化,然后代码执行原理,然后编译原理类似这种步骤引导学生更好。比起现在的方式,可能更让学生感兴趣。(扯远了)东看西看,忙到了12点多才睡。

对于已经习惯8点左右起床上班的我来说,生物钟在早上8点左右,准时醒,有时候想赖床,但也无法再次入睡。起床洗漱,打开电脑,玩了两局web的三国杀,逛逛论坛,觉得饿了,才去煮点面条吃。回来继续,无意中打开PPC,看到一位网友“落叶人生”同学的帖子问一个正则问题,纠结了一下是否解释一下,以便给对方释疑解惑,也加固自己的知识。犹豫半天,觉得还是写下吧。下面正题:

PPC链接http://bbs.phpchina.com/thread-189797-1-1.html

  1. preg_match_all(“‘<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>’isx”,$document,$links);

对于一般的规范链 接能很好的使用,但不知道为什么对href=后面的网址不含引号的情况无法提取成功,哪个朋友帮分析下?谢谢!

其实,我没明白他的意思是想提取链接地址href后面的内容的,还是提取整个标签a中间的所有。

在下面的回帖中,他提到了这个正则来自snoopy.class.php的_striplink方法中的正则,遂到sf.net上下载一份原版到本地。

代码如下

	function _striplinks($document)
	{
		preg_match_all("'<\s*a\s.*?href\s*=\s*			# find <a href=
						([\"\'])?					# find single or double quote
						(?(1) (.*?)\\1 | ([^\s\>]+))		# if quote found, match up to next matching
													# quote, otherwise match up to next space
						'isx",$document,$links);

		// catenate the non-empty matches from the conditional subpattern

		while(list($key,$val) = each($links[2]))
		{
			if(!empty($val))
				$match[] = $val;
		}

		while(list($key,$val) = each($links[3]))
		{
			if(!empty($val))
				$match[] = $val;
		}

		// return the links
		return $match;
	}

先看下修饰符部分。【isx】,大家都知道【i】是不区分大小写;【s】是点号通配模式,也就是元字符【.】可以匹配换行符。在这里的作用是为了防止链接中出现换行的情况;
【x】宽松排列和注释模式,也就是空白字符不会被当成正则表达式的一部分,#后面的为注释,方便阅读的作用了。顺便说下括号后面的双引号后面的单引号,跟修饰符i前面的单引号,他们只是正则的起始标识,不是正则的一部分。其实,表达式里有单引号了,这里最好使用别的,比如斜杠,或者闭合的大括号等。
再看表达式【<\s*a\s.*?href\s*=\s*】,其后面也注释了,是匹配“<a href=”的,第一个【\s】匹配”<”到”a”之间的空白字符,不过一般都没的吧。都直接写”<a……”。后面的【\s】也是空白字符,不详细解释了。在后面的【.*?】是匹配“<a “到“href=”之间的内容,比如”title=”…..”、target=”….”等。【href=】中没有元字符,就是匹配【href=】.

再后面【([\"\'])?】这里的单引号,双引号是被PHP语法转义的,真正的表达式是【(["'])?】,匹配单引号和双音号,并且,用小括号分配了组(整个表达式的第一组),后面有【?】量词,意味这可有可无。

再后面很重要了。去掉PHP的转义字符之后【(?(1) (.*?)\1 | ([^\s>]+)】,这是一个正则表达式的高级用法,叫“条件判断”表达式。语法为【(? if then| else)】。这里的if部分为【(1)】也就是前面说的“整个表达式的第一组”的内容,如果为真,则使用表达式【(.*?)\1】来匹配(\1是引用捕获的第一个组的内容),如果【(1)】没匹配到,则使用【([^\s>]+)】来匹配。这样,就可以实现没有引号的情况下,也是可以匹配到了。(正则表达式的条件判断语法,【|else】可以不写,表示不用else部分的表达式)

对于楼主的问题。应该怎么改?我刚刚刷新了帖子,看到楼主的正则是可以匹配的呀。

汗,贴下PHP的代码吧。


if (preg_match('%<\s*a\s.*?href\s*=\s*(["\'])?(?(1)(.*?)\1|([^\s>]+))[^>]*>(.*?)</a>%si', $subject)) {
	# Successful match
} else {
	# Match attempt failed
}

文章标题跟内容有很大出入,见谅哈。

LO**网购物小记

上上上周,也就是6月11号左右,温度比较高,偶尔小雨,天气阴沉,适合蚊子生长繁殖,蚊虫很多,夜里,疯狂的咬俺。遂到LO**网站淘了一番,最终选择一款蚊帐,加1块钱送了个凉席药物枕头,送了个小闹钟。心想,过2-3天肯定送到,再晚也就4-5呗,都在上海,结果,一个星期,两个星期过去了,还没送到。今天早上,听到门铃声,正在猜想这会是谁按的呢?快递?我没买东西啊。。。开了门之后,才知道N天前网购的蚊帐送来了。赶紧付款,拿货。打开之后,我无语了。好漂亮的闹钟。下面上图。

意料之外的闹钟

嗯,不错吧?您是不是觉得这闹钟不错? 好吧,我让你看清楚一点,您对比一下吧。看看跟我的黑莓手机对比大小的照片。

黑莓8800手机跟闹钟大小对比照片

怎么样,精致吧,TMD 太小了,这闹钟,而且,压根不能闹铃。。。我汗。。还有,送货速度也忒………..“快”了。

第 1 页,共 4 页1234

CNXCT小组的博客 is Stephen Fry proof thanks to caching by WP Super Cache