随笔分类 -  思考瞬间

记录骤然思考所得。走路或休闲时大脑会有灵感来,突然对某个技术知识点豁然开朗,记录下来,防止丢失。文字可以简短些
摘要:几乎是计算机软件开发的发展历史 人月神话,增加人手并不一定能提高开发速度。原因在于,有些任务是无法分解的,存在先后顺序。无法同步进行。增加人手,增加的是沟通成本,相互牵制。可以分解的任务就可以通过增加人手来加快速度。但是不能分解的任务,增加人手只会增加开发时长。打个通俗比方,怀孕需要12个月,增加人 阅读全文
posted @ 2015-11-18 14:04 王滔 阅读(824) 评论(0) 推荐(0)
摘要:为什么开发功能变得越来越慢?某天来一个技术,他跟老板说:这个系统太臃肿了。很乱,我很难开展工作下去,至少很难按照我的经验和设想来实施。如果想让我顺利干下去,办法就是对系统进行重构一次(重构代码,或者开发新的系统替代原来系统)。我们让项目变得可维护性有很多。对公司,对接手的技术,都是有利而无害的。自己... 阅读全文
posted @ 2015-10-14 21:13 王滔 阅读(1207) 评论(0) 推荐(0)
摘要:看这篇文章:http://www.cnblogs.com/greyzeng/p/4077732.html对评论引发我的思考。网上有人说这句话我赞同:优化和重构是两个概念啊,楼主还是没有搞清楚优化不宜过早主要指的是性能的优化不宜过早,因为很多性能优化其实没有对系统有明显的提升。而重构主要指的是修正代码... 阅读全文
posted @ 2015-09-08 23:38 王滔 阅读(1490) 评论(0) 推荐(0)
摘要:什么是内存泄漏,我以前以为是内存被人可以拿到里面内容。现在发现概念是内存区域没有释放掉。内存泄漏造成的表现形式是,进程越来越慢。慢的原因是,它申请的内存越来越多,没有释放掉内存。而操作系统对进程的内存占用有限制。操作系统会将大的进程置换到磁盘去。换到磁盘去就导致速度慢了。主要是磁盘的速度跟不上。这让... 阅读全文
posted @ 2015-07-11 22:08 王滔 阅读(4054) 评论(0) 推荐(1)
摘要:这里系统专门指的是那种用户量大的系统,比如有几百万或者上千万的注册会员。因为小系统因为用户量少,不存在这种思考,考虑有时候是多余的。另外还有内部系统,给自己公司内部人员使用的,即便是出现了问题,也不会造成很大的问题,内部协调一下即可。而针对客户的系统,公司的收入和价值来源于给客户提供稳定的服务。这是... 阅读全文
posted @ 2015-07-11 14:42 王滔 阅读(2962) 评论(1) 推荐(3)
摘要:《计算机程序的构造和解释》(简称为SICP)这本书提到,代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。我觉得高级语言(java,php等都算),之所以被称为是高级语言,是相对汇编和机器指令而言的,... 阅读全文
posted @ 2014-11-18 10:46 王滔 阅读(2317) 评论(0) 推荐(0)
摘要:梦想是支撑一个人忍受艰苦环境最强大的精神力量;我看百家讲坛,曹操在外面行军打仗,生活条件艰苦,他完全可以在自己的许都清闲。赤壁之战的时候逃命时的狼狈不堪,东西都没得吃。那个年代物质条件哪里现在这么好,没有车,靠骑马,打仗靠走崎岖的山路,或晚上突袭。吃的话,在冷兵器时代,军粮几乎是军队的救命草,哪个时... 阅读全文
posted @ 2014-09-17 11:15 王滔 阅读(852) 评论(0) 推荐(1)
摘要:写代码,只是完成功能,堆砌代码。如果别的程序员接手,就会感觉比较吃力。难以维护,很怕去折腾这样的代码。所以很多技术员去维护的时候,宁愿自己写,不愿意在别人的基础上修改,因为看着别人的代码,难以看明白,加上业务部催任务的压力(包括老板),如果还等到去看懂别人代码,再修改。费时费力了。所以他们往往喜欢自... 阅读全文
posted @ 2014-05-25 10:22 王滔 阅读(436) 评论(0) 推荐(0)
摘要:对于技术方面开发,要解决一些比较复杂的问题。技术很折腾。有个观点说,业务调整一小步,技术进一大步。非常有同感。我记得曾经看阿里巴巴dba童家旺分享提到他们数据库方面调整时,说了一点:技术人员做得最牛逼的事情,不是解决了数据库本身的问题(言外之意很难解决),而在于砍掉了业务的需求。我觉得,面对需求,确... 阅读全文
posted @ 2014-05-03 19:03 王滔 阅读(432) 评论(0) 推荐(0)
摘要:缺乏产生背景的介绍。比如为什么会产生这种东西,在没有这种东西之前是什么一个情况。了解这些,对于解决实际问题可能帮助并不大,不过对于学习知识帮助很大。可以提升思维,知道这种东西是为解决什么问题而产生的。那么就不会盲目去模仿,有一个判断力。我们目前得到的只是知识的结果。理解起来困难,学起来就比较吃力。只注重知识结果,也不容易记忆。比如,在出现数据库系统之前,是文件系统来存储数据,会出现什么样的问题。于是专门的数据库系统解决了一些问题,独立于操作系统以外了。没有几本书讲解数据库系统的讲得比较详细,一般直接上结果了。再比如事务的思想从一本书得到是从现实中交易合同启发而产生的。倒排索引,为什么叫做倒排索 阅读全文
posted @ 2014-04-04 22:32 王滔 阅读(612) 评论(0) 推荐(0)