以后的IT路还很长(1)最近有两位兄弟同事离职了,蛮可惜了,在一个战壕一起一、两年了,人各有志嘛!希望他们发展更好些!目前的公司是个创业型的公司,公司从08年的50来个人,扩张到今年11年400多人,今年的目标是500人,扩张速度相当快,公司主要是做中国移动游戏这块的,也在扩展自己的业务和产品,但到底是要走什么样的路,看不清,公司内部也是跑马圈地。在公司里面,最苦的项目组是我们组和另外一个组,每周不停的上线、升级,修改bug,是谁都会奔溃的,我们组已经换了好几拨的人了。技术牛的、不牛的,能拼的、不能拼的,男的、女的,没小孩的、怀孕的、有小孩的,在项目中都出现过,一波接着一波。我入职后,离职的同事算上最近两位,一共4个。第一个离开是个小女孩,小小的一90后,特别能吃苦,我刚入职时,帮了我不少的忙,她的离职,对我有些影响,因为我还有同事,我们属于空降过来的,对老人都有些冲击,还有那段时间,问题的高发期,小女孩的压力不是一般的大啊!我想帮帮,有心力不足啊!最后,那段时间也挺过来了,压力太大了,当时我没有直面问题,我也跟在小女孩旁边,偶尔出出主意,压力我也算是有些体会,有些男娃真比不上她。最后,她就离职到了我们楼上的一家公司,现在偶尔和她聊天,工作也还是挺轻松,不用怎么的加班,也不用关系升级,比在公司时,笑的更多了。接着走的同事,是和我从上一个公司一块过来的,很聪明的一个小伙,当时要走,我很早就知道了,他走的时候,都挺担心的,他经历的事情还有些少,一边希望他能留下来,给他一些时间,整理整理自己的能力,感觉差不多了,再走,另外一方面,他现在走,也是好事,让他能多磨练磨练。他是走了,公司也是国内一家很不错的公司,就是加班多一些。现在,他工作,可没比在公司舒服些,呵呵!男人嘛!现在多一些压力是好事,不是什么坏事。之后,团队稳定大半年了,也就是最近,有两位同事接连离职了。这位同事离职,我得付一些责任,做了一些让人看着不舒服的事情,这个我道歉,另外一块,在他走后,就是我们团队中说的,谁接谁死的模块,现在,是由我来接的。另外一位同事的离职,是刚刚知道的,之前知道他还没有转正,就有些担心,刚过几天,他就离职了,有些吃惊啊!他也是和我从上一个公司过来的,过来是比我们晚了许多。他和我算是搭档,他做需求,我做研发,是想把事情的的确确做起来的。我很感谢这位兄弟的,也很感谢我们的老大的,没他们帮我,我那段艰难困惑的时间,真不知道怎么能过来。团队人员走的走,也在加入新的献血,总得把事情继续坚持下去。
讲的还算是很形象,作为一个项目管理的寓言还不错。原文地址:http://www.otakustay.com/mario-project-management/超级玛丽奥,一个无比经典的游戏,在红白机上的受欢迎程度无出其右,游戏的设计必有其出色之处,才导致那么多人的痴迷。本篇文章试图将超级玛丽的游戏设计的部分理念和细节转换为项目管理的方案,使用游戏的方式去管理项目,找寻一条快乐的管理之道。游戏的组成超级玛丽的游戏组成非常简单,只有几个必要的概念,但是可以玩出无数的花样:主角一个水管工,名叫玛丽奥,某天他的公主被邪恶的大魔王抓走了,于是开始了拯救公主的征途……在项目中,主角无疑是整个团队,首先保证整个团队的一致性和不可分割性,使其成为一个单独的个体,而非若干个个体组合起来的松散的组织。当团队拿到项目的这一刻,就如同站在屏幕左边的玛丽奥,一段征程就此开始。关卡游戏的最基本组成是一个一个的关卡,每一个关卡最后都有已知的惊喜(不是一个城堡就是一只公主),正因为关卡这个概念的存在,才造就了游戏的多样化和挑战性。相对项目来说,一个关卡可以变成一个里程碑,每一个里程碑最后也都有着预先准备的“惊喜”。每一个里程碑成功交付之时,作为管理者,必须让所有成员意识到我们又突破了一个关卡,这是值得庆祝的事,并且要让每一个成员都认可这是团队一起努力后应得的结果。坑出于游戏中怪物智商普遍低于平均线,“坑”这一事物反而成了游戏中的一大障碍。跑着跳着欢快着,一不小心掉进个坑里,是多么没有面子的事情。对于项目,所谓的坑,自然是一个又一个的困难。在一个里程碑开始之初,就应当规划好整个头上的“场景”,整个团队有权利也有义务知道,按照小小主人公的奔跑速度,在什么时候会遇上坑,是一个怎么样的坑,以便团队事先做好应对的措施。而坑也是游戏中极富多样性的一个元素,也许玩的时候并没有仔细地分析,坑的各类其实是很多的:标准坑大量存在于各个关卡之中,只要按标准的速度“走”过去,在适当的里面起跳就可以轻松地跃过。但是永远也不要小看这样的坑,当地形变得复杂,一个又一个的标准坑连在一起,中间只剩一个人的容身之所,就会让游戏的难度大大增加。同样,在项目中,最常遇上的困难也就是如此简单的标准坑,只要团队按着计划的步调前进,在适当的时候给予一次小小的冲刺,就可以安全地度过。但是当这类不大不小的困难连续出现,在解决一个问题之后又紧接着出现另一个问题,之间只留下勉强喘息的时间之时,就是对项目组的一个考验。如果在项目开始之初就对关卡的地形了如指掌,事先做好全面的心理准备,在通过的过程中调整好自己的步调,相信绝大多数的“玩家”还是不会败在这种环境之下的。大坑大坑的跨度之大,足以让没有充分助跑就随意起跳的玛丽奥同志坠入无限的深渊。在初代的游戏中,最大的一个坑甚至需要足够的助跑,在平地的边缘起跑,才可以勉强地落到对岸。大坑对项目来说绝对是一种挑战,在这段时间内,项目组将不可避免地出现火力全开的情况,甚至要为此加班加点。但即便如此,如果没有之前的助跑,无论你的弹跳力多么超群,在大坑面前都无法避免跌入地狱的结局。因此作为项目进度制定者,对于大坑必须有明确的标识,提前一定的时间知会整个项目组。此时项目组需要开始调整自己的节奏,为即将到来的攻坚战作好准备,以最大的冲刺速度突前,直到坑的边缘,决然地起跳。每一次跃过大坑,都会给玩家带来成就和喜悦之感,往往项目也正是通过对困难的征服所带来的成就感,才得以保持整个团队的士气,一直向着最后的终点冲刺。碎坑碎坑是一种很特殊的坑,他由非常多但非常窄的坑组成,每2个坑之间仅容下一个身位的立足之所。在项目的进行过程中,遇上这样的情况也是不可避免的。小小的麻烦总是不断地骚扰,当一个函数出现了点问题、当客户来电说需要有一个小小的修改、当有同仁身体不适需要休息……而当这些细碎的问题撞在一起时,一个典型的“碎坑地形”就出现了。那么如何去应对矿坑地带呢?玩过游戏的人都知道,面对这样的地形,与其小心翼翼地从每一个坑上跳过、屏住呼吸随时注意自己的下一个落点、提心掉胆有惊无险地通过,不如在不远处开始加速,以飞奔的速度从上面通过,碎坑是可以直接跑过去的,而不需要起跳这样笨拙的动作。同样映射到项目之中,当面对一个碎坑地形的时候,如果管理者可以及早地发现问题,并通告整个团队。那么团队只需要一鼓作气,加快自己的节奏,哪怕无可避免地有一些加班加点的情况,但只要拥有足够的速度,碎坑将如同平地,无法给项目的进度造成任何的阻挠。砖砖也是游戏场景中无处不在的重要元素,主角可以拿他那比金子还硬的拳头(绝对不明脑袋)去敲一下砖头,至于砖头里有什么,那就另当别论了。当然可以肯定的是,不会敲出一个BOSS来:)在项目中,砖可以是一些起眼或者不起眼的小细节,而是不是去敲这个砖,并不会影响到项目整体,即便一个砖都不敲,项目最终也是可以交付的。只是砖作为一种额外的收益,如果花些心思去敲了,往往能得到一点什么。同样的,砖也有很多种:普通砖普通砖遍地都是,稍微敲一下就会碎裂,但往往不会给出什么东西。当然也存在极少数的情况,会出来一个蘑菇或者一朵鲜花,当然也有敲不完的金币。总得来说,普通砖里充满了机遇,但过分追求的结果往往是失望。对于项目,我们也经常能看到这样的现象,一个小小的元件摆放在那边,从各个角度看都有让人重构的冲动。但是对于管理者来说,这样的重构是不是值得,敲下这块砖会不会出现自己需要的收益,却是一个非常需要关注的事情。在大多数的情况下,我们并不反对去敲每一块砖;但是如果希望项目在绝对最短的时间内完成交付,是不是也同样可以选择忽略那些平凡的“砖”,用这一跳的时间去做更值得关注的事?方砖如果不是因为这东西不能拿去砸怪物的话,我很乐意称之为“板砖”。这是何等坑爹的一种砖,他就是那么一个广场,无论你怎么敲他,他都不会碎裂,也不会挤出哪怕是那么一丝的分数给你。当然项目中这样的情况也不少,当你从一开始就走在一条错误的道路上尝试,无论怎么努力也得不到回报。但是请不要气馁不要绝望,正是因为有这样无数的尝试,你的团队才能确定这块砖是不是真正的方砖,是不是绝对不会产出任何的收效,这样团队才可以在日后遇上类似情况时避免进入一个无谓的圈套去挣扎不休,而是直接忽略那个看起来充满诱惑的炸弹,直接冲向目标。要相信项目中每一分投入都会有相应的回报,每一次努力都有其应有的价值。问号砖问号砖太显眼了,除了上面有个大大的问号,还会不断地闪烁着光芒提示你来敲。而且,问号砖是不会不给你东西的,少则一只蘑菇,甚至有可能是一个无敌的星星。唯一的遗憾是,问号砖的数量还是比较稀少的。项目中,把握好每一个问号砖是非常关键的,一个砖带来的收益往往能起到决定性的作用,正如一个无敌星星能让你在以后很长的一段路程中平安无事(前提是别傻到掉坑里)。一但发现有一个如此闪亮的砖头,即刻组织一定的人力物力去敲掉,收益绝对能大于成本。这样的砖往往是一个全新进入视野的第三方组件、或者一位有意合作的资深人士、或者一款制作精良的工具,他将为项目接下去的进度提供足够的推力,不仅仅是对项目执行的帮助,也是整个团队士气振奋的关键所在。最终BOSS最后的BOSS,抢走我们(一点也不)可爱的公主的大魔王,库巴老乌龟,他始终那么耐心地将公主绑起来放在自己的房间里,然后站在一座桥上面等着主人公的来到。从剧情的角度看,库巴实在是无比可爱,无论是哪一个关卡,都会充满耐心地迎接剧情……对项目来说的最终BOSS,那无疑就是项目的交付了,虽然说交付往往并不是终点,但是对于项目来说,至少是很大很大的一步,称其为BOSS也没有任何的过错。玩游戏的都知道,库巴有2种打法,其一是慢慢地虐死他,其二是跳到他身后碰一下那个斧头,然后咔嚓一下库巴就掉火里去了……相对的,项目的交付也有两种方法:其一,简单地完成项目的需求,给予一个最低限度可运行的成果,完成基本的交付工作,获得项目的相应报酬。这算是一种皆大欢喜的结果,项目组使用了最合理的人力物力,完成了项目的需求;客户也拿到了其所希望的产品,并为此支付合理的报酬。其二,深入地理解客户的需求,不断挖掘出潜在的需求,完成良好的设计,构架起精美的实现,最后交付一个超出客户期望的产品。也许对于项目组来说,投入了更多的人力物力,却最终只得到合同中协议的报酬,就好像费劲力气折腾死了库巴,最后也就和(一点也不)可爱的公主说上一句话。但是玩游戏的人能从中体会到更大的乐趣,项目也是一样,在收获合同规定的报酬之余,项目组也获得了客户更好的认同,以及客户的忠诚度,为未来的发展打下了一个基础,在将来的某一时机,会得到应有的回报。项目过程在“超级玛丽式项目管理”中,我们将游戏的元素运用到项目,让所有成员可以更直观(相信多数人玩过超级玛丽,也知道这些概念)地理解项目的整个过程,以达到更紧密的团队合作。项目启动之初,项目经理必须能够根据项目的进度安排,与技术经理一起制作出“关卡”和“地图”,一个关卡即一个里程碑,在每个关卡的地图中,要明确标识出“坑”的位置以及大小。随着项目的启动,我们的主角玛丽奥先生将会出现在地图之上。随着项目的推进,先生也不断前进着。从地图上可以轻松地看出,项目是不是快要遇上“坑”了,会是一个怎么样的坑,全团队都可以直观地对项目的现阶段进展进行理解,当有“大坑”出现时,提前作好冲刺准备,当“碎坑地形”出现时,鼓足干劲通往直前……当然,项目并不是游戏那样有着最初静态的设定的。项目必须随着时间的推移不断地拥抱变化,地图也需要实时地进行修改,甚至加入一些通过下水道进入的特殊关卡,甚至是下水、上天等特殊情况。相信熟练玩游戏的开发者们,不会面对游戏的变化产生任何害怕的情绪,相反,也许会激起他们的好胜之心,更加投入地去解决困难。最后,当我们的主角站在桥上,面对着最后的大魔王库巴老好人的时候,团队作出最后的努力,战胜BOSS,解救公主,然后是盛大的庆祝,一个项目圆满落幕……如何让成员更有干劲至此,一个项目的元素基本齐全,项目可以稳步地进行。但是过于稳定的环境,会逐渐让项目成员产生疲倦的心态,效率也会按一定的曲线开始下降。这对于管理者来说,自然是不愿意看到的现象,因此,必须有一定的激励机制,让成员可以随时处在一个较好的心理状态。在游戏中也有一些这样额外的元素,可以引申到项目之中,对成员士气的激励有着非常好的效果:生命蘑菇游戏中最充满传奇色彩的元素,怎么看都不能吃的绿色蘑菇,却有着生命+1的效果。生命蘑菇永远出现在不可见的地方,当你在特定的位置停下脚本,轻轻地起跳,突然就出现了一块砖,一只漂亮的蘑菇落在你的脚边……对于项目来说,生命蘑菇就是对成员额外的努力的奖励,每一个成员都有完成本职工作的义务,但是在义务之外,如果对项目有着卓越的贡献,自然需要给予相应的奖赏,以至最后形成一个良好的循环,每一个成员都会自发地从项目的角度寻找突破口,并自觉地给予更大的产出。生命蘑菇的哲理是“你永远看不到他,但他就在那儿”,只要自身足够努力,他不会离你太远。怪物(们)怪物在游戏中几乎以弱智的形态出现,对玩家没有太大的威胁,但是当一脚踩扁一只蘑菇,一下踢飞一只乌龟,这种快感也是游戏吸引人的重要因素。因此在项目中,作为项目正常进行之余,定期进行总结、交流,提出一些更具挑战性的“子项目”来“玩玩”,确实有助于保持住团队成员的状态。同时,怪物是多样性的,技术的攻关也要具备多元化的特点,让不同职位、不同专长的人都可以平均地得到表现的机会。其他元素游戏中还有很多其他的细节,每一样都能映射到项目中的某个方面,比如:超级玛丽的任何一关,只要按住奔跑键和向前键,在适当的地方起跳,绝对可以毫不停留的冲到终点。但是一但有一处的停留,后面的进程反而会遇到种种麻烦,不是躲避满身是刺的怪物,就是各种大坑需要计算距离来助跑……除了库巴老同志外,每一关卡的最后都有一根旗杆。其实拿到旗杆的满分非常容易,但是无数玩家为了能跑过杆子而孜孜不倦地努力着。但其实这根杆子是跳不过去的……玩家只是看到了这么一丝希望,他们就会不断去努力。初代的超级玛丽不够刺激,变因不够多,用作充满变化的项目不适合?那么看看这个变态版的超级玛丽,想办法再用到项目中去?
我在项目中的笔记1【开篇】 工作也很久了,说大点,给别人还能吹吹,说自己还带过团队,管过项目,可实际肚子里面装了多少,自己最清楚,能骗了别人,骗不了自己,所以啊,就把自己在项目中的经历记下来,或许是经验,也有可能是教训,还有可能记录的是失败。很阿Q的说,是比不小的财富。 笔记的内容会很杂,围绕的主题是自己的项目经历,其中我会找些项目方面的资料,也会加进来,做为自己的学习笔记。 作为开篇,做个卷首语。
用两种方式实现第一种,使用timertask实现,timertask,可以比较精确的实现定时任务。在这里插一句,java的实时性是很差的,timertask也就是大概的可以实现看代码:Producer.javapackage me.dapeng.timer;import java.util.concurrent.LinkedBlockingQueue;public class Producer extends Thread { private LinkedBlockingQueue queue; public Producer(LinkedBlockingQueue queue) { this.queue = queue; } @Override public void run() { int i = 0; while (true) { queue.offer("string" + i); // System.err.println("[Producer]queue size:" + queue.size()); i++; } }}Consumer.javapackage me.dapeng.timer;import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimerTask;import java.util.concurrent.LinkedBlockingQueue;public class Consumer extends TimerTask { private LinkedBlockingQueue queue; public Consumer(LinkedBlockingQueue queue) { this.queue = queue; } @Override public void run() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(new Date()); int size = queue.size(); try { if (size > 0) {…
之前文章浏览的方式一直采用的数字方式,没有用过别名,采用固定链接方式后,中文默认全是乱码了,一篇一篇的去修改,显然不可能,最后用java做了文章别名批量来修改,思路简单,就是去文章的中文标题,在把标题转换为拼音而已,直接对数据库做操作而已。现把源码和工具公布,在http://code.google.com/p/dapeng/downloads/list可以下载到。 注:用java开发,所以必须要安装jar。
折腾了两天,用alltuts修改的,就是个升级的版本,定义名字就是updateA,updateA的版本中间重新改过好几次,对比alltuts,内容变化也有一些。1.去掉对告插件的支持,我不做什么广告,就去掉了2.去掉对评论最多的插件的支持3.去掉twitter、facebook的支持,要适合国内的情况嘛4.增加了固定顶部分类栏目的目录5.增加了置顶文章的幻灯片的切换,取前4篇的置顶文章,最好有图插入,这个效果是从Frontpage Slideshow修改过来的6.在页面上线都增加了页数7.去掉的页面的缩略图,我文章的图不是很多,而且插入也基本是引入外链8.预览的文字做了限制9.文章查看增加了上一篇、下一篇的支持10.当然做了部分SEO的优化,肯定是针对自己本站的了修改基本是按照我自己的需要来修改的,对php、wordpress的函数不熟,修改基本的七拼八凑起来的,那个图片的切换jquery用的1.2.6的版本,其他用的jquery都要1.3以上的版本,为了先满足这个功能,就先用了1.2.6的版本,再找时间修改吧!下次修改的目标,1.RSS订阅2.微薄更新3.首页文章无刷新全文阅读的4.文章收藏分享5.相关文章6.随机文章7.快速到达顶部、下部8.首页的tab页方式的最多评论、最多浏览之类的功能
ManicTime是一款数据收集软件,装在您的计算机上可以很准确的计算出你做每一项事情所花的时间 ,也可以计算出你离开的时间,比如,你离开计算机出去吃饭了,你离开多久,它就能计算出多久,使用起来很方便。ManicTime很早就知道,因为没有中文版,而且这东西比较占内容,就一直没用。前段时间装系统了之后,想统计一下自己的电脑使用情况,就装上了,用了几个月,一次电脑恢复了系统,没有备份数据,之前的数据都没有了,杯具啊!这次是从9月份开始用的,用到现在,基本上隔一段时间就做一次数据备份,数据很重要。今天电脑开始,就出现有新版本的升级提醒,就update了,完毕之后,高兴了,有中文版了看得舒服的了。汉字,喜欢的很啊下载地址http://www.manictime.com/
在ie中的语法tab = new dijit.layout.BorderContainer({ id: targetId, title: title, closable: true, refreshOnShow: false});其他浏览器的语法tab = new dijit.layout.BorderContainer({ id: targetId, title: title, closable: true, refreshOnShow: false,}); 区别就是在句末的“,”的添加,按照语句规则,最后添加是没有问题,但是在ie中却认为这是个错误,建议在使用按照ie中的写法来写。