摘要:
本文是“松结对编程”系列的第七篇。(之一,之二,之三,之四,之五,之六,之七,之八)刚刚参加完MPD 2011深圳站,在演讲中间及后来媒体采访,被问到了一些问题,也给出了答案,这里做一总结。我自问自答到一半,才发现这里边的很多问题的答案,都用到了火星人谚语系列之一:有问题的地方无答案、火星人谚语系列之三:正确的答案一定简单。如果您觉得答案和自己的情况不完全相符,请用火星人谚语系列之二:问问题的人负责找答案。另外多数答案在本系列1~6中有,只是比较分散,不太容易意识到是答案。人员与结构在团队中使用层级结构,是否阻碍了个体与外界的沟通?极少有底层程序员或新手能和产品经理做深入的沟通的,所以中间放上 阅读全文
摘要:
最近博客写的太多了,提前完成了任务,又忍不住不写,所以把技术文章推迟几天,写点无聊但好玩的,看有没有年轻时有共同爱好的GEEK。前段时间看了《生活大爆炸》,一堆按程序员的标准看都是书呆子的人的故事——回想起自己年轻的时候,还真干过很多大爆炸的事情,选取几个,写着玩玩。粘玻璃20年前高中时候老师偶然讲到“硅酸钠溶液又叫水玻璃,是一种粘稠的液体,可以用来粘玻璃”,这一下触发了书呆子气,能把溜滑的玻璃粘起来,可不是一般的小事。倒推:1. 硅酸钠=(氢氧化钠+二氧化硅+水)×加热 - (忘了什么东西了)二氧化硅就是沙子,好弄;难办的是氢氧化钠。当然化学药品店其实有卖氢氧化钠的,但那还卖硅酸钠 阅读全文
摘要:
还没太弄明白微博的价值观,但是感觉至少可以做博客通知,如果您喜欢博主的博文,又想在走路/坐车/排队的时候看,请关注博主的新浪微博:火星人陈勇 点击下载免费的敏捷开发教材:《火星人敏捷开发手册》 阅读全文
摘要:
今天参加MPD2011深圳站,听到最重要的乃是徐锋老师课上的一些内容,本来有一个很长的笔记,但是其实里边不过关是只言片语的摘抄,形成不了章句,干脆把一些重要观点摘录于此。徐锋老师是做投资的,不是顺便聊聊这个话题,对业务模式和需求收集模式的评价,是他们判断一个企业是否值得投资的重要依据,因此下面的内容是他们实际工作中真正要用得到的,所以很宝贵。1. 当尝试使用技术手段解决某个实际需求的时候,一定要注意业务圈和技术圈人群的重合性,存在需求的人,是否在使用这种技术比如:“妈妈”们肯定很关心如何育儿,以及幼儿教育,所以开一个相关网站好不好呢?结论是要如果10年前开,不好,因为那时候的妈妈差不多都是19 阅读全文
摘要:
这是敏捷开发用户故事系列的第三篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)用户建模的目的,是为了更好地分析用户行为和用户价值,并因此获得商机。用户建模四部曲有一次培训中,分组建模的时候,一位学员就自言自语地说了一句话:“真的啊……我好像不知道谁会使用我的产品……”这其实是一种常见的现象。比如前文所说的敏捷开发管理软件,如果想把一个用户故事描述为“作为一个用户,可以登录“我的空间”,以查看我我在的所有项目的进展以及自己的任务”,就会遇到这个麻烦。所谓领导,肯定想浅层次低能看到多少项目,就看到多少项目,而且最好能汇总一下显示;作为普通程序员,则肯定不止是想知道自己在哪些项目中有任务 阅读全文
摘要:
这是敏捷开发用户故事系列的第二篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)敏捷开发中的用户故事采用的语法模式看似简单,却蕴含着深刻的思想。“作为一个……,可以……,以(以便)……”不同于一般专注于功能的需求条目描述方法,三个……把角色、功能、价值跃然纸上。然而使用不当,却有可能形似而神不似。下面就三个部分分别举出一个例子。网络游戏的排行榜功能“作为一个玩家,可以通过显示排名,以便让自己在服务器中的地位获得认可。”这个功能可以激发玩家的“斗志”,鼓励购买道具,是个不错的想法,但实现起来却有技术问题:服务器中的玩家太多了,实时查看排名非常不现实。另一个问题是小虾米们其实对自己的排名 阅读全文
摘要:
这是敏捷开发用户故事系列的第一篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九)全系列将涉及何为用户故事,面向客户价值编写故事,用户建模,产品待开发项的分类,故事颗粒度,故事的组织结构,等等若干问题,力求将此中问题尽量解决干净。本系列文章假设正在编写一个“敏捷开发管理软件”,因为来阅读的都是做敏捷开发的,又都是做软件的,会更熟悉一些。用户故事三要素:角色,功能,价值按“作为一个……,可以……,以便……”样式和思路写成的用户需求,就是用户故事。样式是技法层面的东西,它保证了无需太多思考,用户故事中即包含角色、功能、价值这三个要素。角色角色切记不要总是写“作为一个用户”,而是要把用户区别 阅读全文
摘要:
内存读写函数实现进程间通信 上一篇博文讲了使用Windows自定义消息实现进程间的通信,而今天这篇博文讲重点讲解使用内存读写函数实现进程间的通信。 使用内存读写函数实现进程间通信,是使用自定义消息和内存读写函数来实现的,通过上一篇博文,我们都知道了,在使用自定义消息通信的时候,有一个局限性的条件------只能传递长整形的数据,而对于字符串数据,那是无可奈何的。所以,使用内存读写函数是完全可以实现的。 两个内存读写函数: WriteProcessMemory()和ReadProcessMemory(); WriteProcessMemory()函数实现在进程的内存... 阅读全文
摘要:
Windows使用自定义消息实现进程之间通信 Windows程序与其它类型程序的区别就是使用消息,例如键盘或鼠标消息等,在dos系统下的程序没有定义消息。在windows操作系统中,消息不但可以用于进程内的通信,也可以用于进程间的通信。而我这篇博文将讲使用自定义消息实现进程间的通信。 我们都知道,在windows中消息分为两种,即系统消息和用户自定义消息,系统消息定义从0到0x3ff,可以使用0x400到0x7fff定义自己的消息。windows把0x400定义为WM_USER,如果想定义自己的一个消息,可以在WM_USER上加上一个值。当然了,还有另外一种方法,这里就不讲了,而是... 阅读全文
摘要:
9. 解开 .tar.gz 的文件gunzip -cdf xxxxxxx.tar.gz|tar -xvf –10. 修改权限 (用户解压覆盖的时候,经常因为权限不够导致覆盖失败,-R 可以将路径下所有文件都更改状态)chmod -R +w ./* 11. 打开日志的方法(cbp和bmp):cat .cshrcvi /home/aisbb1/bin/valuecshrc修改 setenv TEST_LOG_ON 1source /home/aisbb1/bin/valuecshrc12. 更换SCP的license:delete from w_uvs_scpconfig;insert into 阅读全文