请您先登录,才能继续操作
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间: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 . 既然可以提高生产力的东西,何必有更多的借口呢? 太多的争论,或许这些都是国内一些人的习惯吧。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-11-14
心情不好,我是吃东西,吃很多好吃的。
看来也要反思^_^ |
|
返回顶楼 | |
发表时间:2006-11-14
总会有些伤心和挫折的
每过段时间也会有些迷茫和自责,谁都一样,会过去的 这个时候相信自己,比反思更加重要 反思适合在志得意满的时候 |
|
返回顶楼 | |
发表时间:2006-11-14
运动有助于放松心情,最好是配合音乐的有氧运动操
|
|
返回顶楼 | |
发表时间:2006-11-14
看到firebody在寻求着智慧,:idea: 。
另外,mysql在serailable级别才会使用share mode lock。之前跟你说repeatable read用到version lock,只是我的猜测。 mysql的repeatable read具体看下http://nihongye.iteye.com/admin/show/28827 |
|
返回顶楼 | |
发表时间:2006-11-14
意识流文体...
言之有物。 |
|
返回顶楼 | |
发表时间:2006-11-14
我刚刚入门
|
|
返回顶楼 | |
发表时间:2006-11-14
离奥体那么近,周末去给中间那个废弃的大池子灌满水,以后天天可以去冬泳,哈哈。另外,buaawhl是它,QuakeWang是她,......
|
|
返回顶楼 | |
发表时间:2006-11-14
最近也在反省自己是不是一个合格的PM,也许自己就不该担当PM这个角色.
|
|
返回顶楼 | |
发表时间:2006-11-14
应该想办法抽时间放松放松了。
觉得LZ太把工作和程序当成事了。 看LZ的文字觉得,LZ的生活只有这些了,不停的在思考工作,思考编程。我猜跟我有阵子差不多。觉得这是一种强迫症。 LZ应该好好的休息。休息,除了上班写程序,剩下的时间就还给自己吧。逛公园,泡酒吧,划船,看电影什么的找点感兴趣的彻底的放松。 |
|
返回顶楼 | |