论坛首页 海阔天空论坛

流水的思考,繁杂的心情,该锻炼了,身体有意见了。

浏览 10393 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-11-14  


最近实在太忙,因为一个非常紧的项目的缘故,所以也很累。

最近心情也实在不好,因为某个人的缘故。

最近也在重新审视自己,是不是需要好好的反思了?

说到反思,想到反问,"反问“是个好东西啊,Agile的人很喜欢
这个词语,TW的人也把它整天挂在嘴上。 确实如此。做每0一件事情,
当觉得很复杂的时候,反问一下自己,这是我要的结果吗?我需要这样做吗?
我为什么要这样做?

这样的反问,作用于项目开发里面,可以很好的左右开发的复杂度。

同样,这样的反问作用于日常生活中的话,可以很好的学会“做人“的道理。

某人跟我说过这样一句话:

不想写测试的人是不合格的开发人员。
想写测试的人刚刚入门。
会写测试的人是中级开发人员。
开发中经常会“反问“得人是高级开发人员。

将“反问“提升为日常行为的是“大师“级别的任务。

虽然队最后一个观点不仅苟同,别的大致如此。


最近因为个人感情的事情,我也要反思自己。是不是自己太过“自我”了?

总是以自己的感受为中心。


唉,继续反思中.......

最近花钱也比较厉害,每月的花费简直是“巨款“,继续反思中.....


估计因为心情不好,染上了“购物狂”的坏毛病.........

反思Cache Lock的设计。

说道Concurrency Lock,似乎计算机造物主也就发明了Lock的机制。除了Lock还是Lock.

上次推荐了一片SCI的文章给buaawhl看,不知道他仔细看了没有,如果他没有仔细看,那么它也要
仔细反思中....


里面提到的Two phase Lock,如果所有的lock必须发生在unlock之前,死锁发生的概率太大了。

Mysql估计就是严歌遵循这个传统的理论来做的设计,怪不得那么容易死锁,记得某年某月某日,
用了高并发的插入和读取作压力测试,结果Mysql立马死锁,而Oracle却不会。

某一篇文章仔细分析了dead lock detection的机制,没有时间看,或许没有时间也使自己的借口,反思中......

既然提到Lock机制,就不得不提数据库的隔离级别的设计,想一下数据库的Repeatale Read是如何实现的?

nihongye说了一些思路,感觉应该是这样的,可惜没有时间仔细探究,不过大概也是这样:

每个事务拥有已经读取得数据副本,并且放置share lock (Mysql似乎称之为 X lock) 。

要是这样的,估计Mysql的默认隔离级别的也大大降低并发性了八,疑惑中......谁来帮我反思呢?


QuakeWang兄很久没来教训我了,可惜我现在不能够和他一起探讨问题.... 记得当初,我问她我要去苏州还是北京,他就说了
一句:做产品的话,技术含量要高很多。  我就来到了北京,一直到现在。


听Caoxiaogang说QuakeWang准备安度晚年了,真羡慕他,不过和自己“钦佩”的人一起讨论问题,这个梦想不知道如何实现。

TW最近很是热火,虽然都是对Agile着迷,但是感觉人家还是在另外一个境界,至少环境还是很重要的。

说道TW想起那个技术总监,似乎叫李晓来着,记得在某个地方发了某各文章,里面某段话提到,大致的意思如此:

不要随便Mock。

这句话,深感赞同,同时也深感佩服。

再说Marin fowler的北京之行,映像中来了两次,前面一次听说拉肚子,后面一次,我看到他从讲台上跑下来。

真够可怜的,对北京水土不服还得来两次。来了做宣传,也算个tw有个好交代了,不然也对不住这么高的咨询费巴。

TW也算是个好的资本家了,除了来中国赚取廉洁劳动力之外,还不忘了在中国培养高素质的Agiler,相信很多有志向的人都在
那里奋斗吧。

上次和moxie开了一次关于xp的短会,算然很是仓促,但是总归给自己聊了一些疑惑,说到底,还是对自己不够自信。


反思Hibernate的二级缓存的Cache Lock的设计。

记得里面的 ReadwriteCache的get方法上面有一个比较有意思的注释,大意是:

因为没有跟db直接交户,无法避免 phantom read ,但是可以通过version ,来避免对更新的覆写。

记得那个apusic的开发人员,也是一个javaeyeer,似乎叫”Tomhiso..."来者,他说过一个观点,说Cache 地加入,

影响了 数据库原生的issolation level。

这个观点我认为是对的,反思这观点,为什么呢?

数据的隔离级别的实现是靠 lock来实现的,而lock的获得是靠执行sql语句来获得,因为cache地加入,这些sql
语句失去执行机会,也就打破了隔离级别得以保证的基础。

反思一下Cache Lock

Read commited应该可以得到保证,不过Repeatable read似乎很难得到保证,除非在每次query之前,强行执行一次select..

,来让底层数据库获得x lock. 至于从resultSet读取数据,就可以依据缓存中的数据进行处理了。


项目成功的关键是什么?

关键是人? 除了人呢?
关键是交流?
怎么的交流才是好呢?

如果大家作过失败的项目,可以好好反思了。。。。
反思是否时刻和客户保持交流,不懂得需求,不懂客户的价值所在。。。。

如果合作存在问题。那也可以好好反思是否时刻让大家在互相“提问“,互相“说明自己的意图“

如果代码质量存在问题,那也可以好好反诉是否时刻保持“消除重复代码的警惕“

如果重构存在灾难问题,那是否可以好好反思 累积的单元测试/集成测试在哪里?是否足够的测试到了该测试的逻辑?

如果写单元测试让你感到疲乏,那是否可以好好反思测试是这样写的马?

最近Railes实在红火,可惜没有足够的时间来体验ror .

既然可以提高生产力的东西,何必有更多的借口呢? 太多的争论,或许这些都是国内一些人的习惯吧。




   发表时间:2006-11-14  
心情不好,我是吃东西,吃很多好吃的。

看来也要反思^_^
0 请登录后投票
   发表时间:2006-11-14  
总会有些伤心和挫折的

每过段时间也会有些迷茫和自责,谁都一样,会过去的

这个时候相信自己,比反思更加重要

反思适合在志得意满的时候
0 请登录后投票
   发表时间:2006-11-14  
运动有助于放松心情,最好是配合音乐的有氧运动操
0 请登录后投票
   发表时间:2006-11-14  
看到firebody在寻求着智慧,:idea: 。

另外,mysql在serailable级别才会使用share mode lock。之前跟你说repeatable read用到version lock,只是我的猜测。
mysql的repeatable read具体看下http://nihongye.iteye.com/admin/show/28827
0 请登录后投票
   发表时间:2006-11-14  
意识流文体...
言之有物。
0 请登录后投票
   发表时间:2006-11-14  
我刚刚入门
0 请登录后投票
   发表时间:2006-11-14  
离奥体那么近,周末去给中间那个废弃的大池子灌满水,以后天天可以去冬泳,哈哈。另外,buaawhl是它,QuakeWang是她,......
0 请登录后投票
   发表时间:2006-11-14  
最近也在反省自己是不是一个合格的PM,也许自己就不该担当PM这个角色.
0 请登录后投票
   发表时间:2006-11-14  
应该想办法抽时间放松放松了。

觉得LZ太把工作和程序当成事了。

看LZ的文字觉得,LZ的生活只有这些了,不停的在思考工作,思考编程。我猜跟我有阵子差不多。觉得这是一种强迫症。

LZ应该好好的休息。休息,除了上班写程序,剩下的时间就还给自己吧。逛公园,泡酒吧,划船,看电影什么的找点感兴趣的彻底的放松。
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics