Thinking
lovingprince
关注大型WEB系统架构的高可用性、高性能处理
展开
-
项目快结束的日子
公司项目快结束了,在这最后的关头,好象大家都不是很着急的样子,今天是3月17号,20号就要提交了. 想到半年前接到这个项目的时候,心里一点底都没有,现在居然就要结束了,这个时间也真快啊.每天上班,加班,下班成了我毕业后的家常便饭,当然我也是乐此不比,至少我的每一天都很充实. 我现在养成了每天看书的习惯,晚上不管多晚回家,我都要看上那么几十页,当然都是技术书籍,我对其他的书籍不太感兴趣,不过技术书籍原创 2007-03-17 10:47:00 · 1152 阅读 · 2 评论 -
bug状态开发人员必知必会(续)
在上一篇《bug状态开发人员必知必会》 中说到了开发人员在bug修复过程中需要在QC中操作的bug状态,这里说说测试人员需要在QC中操作的常用的bug状态。 New(新bug):一般测试人员录入一个新bug时,这个就是第一个默认初始状态,而开发人员看到这个状态时bug,就知 道这是一个新引入的bug。见到这个状态表示该bug必须被处理。Assigned(已指派的):当原创 2008-12-03 10:18:00 · 1815 阅读 · 0 评论 -
WEB开发者八项注意
接收到的客户端参数一定要在服务器端校验和过滤(包括长度、格式、非法字符等) 敏感数据传输务必加密、签名 紧密关联的多个数据库操作一定要加事务管理,必要时回滚 异常一定要统一打印详细日志,不要随意丢弃 业务逻辑千万不要写在SQL中,要知道大型应用性能瓶颈往往都在数据库端 代码必要时候一定要写详细的注释原创 2009-02-19 09:42:00 · 1563 阅读 · 2 评论 -
如何尽快熟悉新公司应用系统
进入一个新公司进行企业应用系统开发,一般都会遇到新的开发环境和应用系统框架,要尽快进入角色,则务必要从两个角度来熟悉新的系统环境:第一是系统开发环境,第二是系统运行环境。从开发环境角度来看,应该理解系统层次关系,工程是如何创建的,工程中各部分是如何关联的,如果是多工程系统,那么多个工程之间关系如何建立,它们如何编译打包等等。从运行环境角度来看,则应理解请求是如何被系统框架接收处理,处原创 2009-03-15 20:58:00 · 2090 阅读 · 0 评论 -
技术乱弹
1、通过主键id select详情或者更新记录,不用加user_id,但是在程序中判断这个id是否属于这个userdao 接口设计可以遵循下面这种约定方式:////////////////insert interfaceinsertXXX(XXX) 插入记录///////////////////update interfaceupdateXXXStatus2Next(id,currstatus,n原创 2009-04-09 16:59:00 · 1150 阅读 · 0 评论 -
如何与接口合作方合作
由于最近带一个公司项目,需要和某国企合作,其中需要其配合提供几个接口并联合调试,结果其合作过程令人抓狂,以前只是听说国企办事效率不高,现在真切体会到,果然让人大跌眼镜,谈妥的接口交付日期等细节,结果一推再推,本来计划的半月时间,结果足足拖了4个月还未完成,无奈之举,群发邮件,提升事件等级,通知对方高管等等方法试遍了,无一奏效,属于打一棍子走半步之列,感叹于此,现将一些对于这种类似合作原创 2009-11-01 20:49:00 · 1852 阅读 · 1 评论 -
站在使用者的角度设计应用服务接口
界面是系统和终端用户的交互接口,界面的美观与否,使用流程通畅与否,错误提示友好与否等等都直接影响到用户的体验,一个体验不好的系统相信不会有用户青睐的。同理,系统之间进行交互,特别是不同的业务主体的业务系统之间进行交互,服务提供方和使用方就扮演了一个提供者和用户的角色。我看到经常有开发人员在处理外部接口时抓狂,骂别人接口写得烂,写得非常不好用,骂过了别人,那么自己写的接口呢?可能也被另原创 2009-12-10 17:47:00 · 2249 阅读 · 0 评论 -
万不得已不要使用ORM延迟加载(Lazy Loading)
延迟加载(Lazy Loading)是啥玩意儿?估计地球人都知道,它的意义在于只在需要的时候才去加载必要的数据,这样可以避免即时加载所带来的不必要的系统开销(教科书是这么说的)。另外,教科书中还举了个例子。例如某个User对象在加载时会同时读取其所关联的多个地址(Address)对象,对于需要对Address进行操作的应用来说,关联数据的自动加载机制非常有效。不过呢如果我们只想要获得原创 2009-12-28 11:30:00 · 6560 阅读 · 11 评论 -
UML类对象基本关系解析
我们平常要使用UML工具画类之间的关系,因此经常会见到依赖、关联、泛化、继承、实现、聚合、组合等概念,那么他们是怎么样的,区别在哪里呢?我在这里整理一下: 依赖 依赖是指类A要完成一定的功能,必须要类B的帮助,例如使用到类B的方法,而类A和类B之间并没有比较亲密的联系,只是要利用B而已,他们之间的关系是偶然的,临时性的,比较脆弱,体现在代码形式上:类B只需作为类A的方原创 2010-04-17 10:52:00 · 5644 阅读 · 2 评论 -
找准目标再下手
代码出现问题,不要一开始漫无目的一开始上来就一通debug,这样目标范围太大,也基本上没有什么效果,而应该采取其他办法将问题范围缩小,找到问题发生的最可能根源再动手debug,本人之前一来就烦了.这个大忌,导致时间白白浪费不少,教训。原创 2010-08-25 10:30:00 · 1055 阅读 · 0 评论 -
TNND 霸道移动
今天突然想起去看下手机上还有多少话费,不看不要紧,一看,还剩60元了,本来上个月底才冲了200进去,都没怎么打电话,查看详单发现移动数据流量扣了100多,晕。我包月了30M用完了,移动没有提醒,从8月24号开始就一直开始扣费,气死我了,打电话去移动投诉,MM说其实有超限提醒,只是需要自己开通,我说怪了,为啥有这个提醒不自动开通呢?还需要用户自己动手,发条短信应该是你移动的义务吧,黑倒这种地步了,我问MM可以网上开通不,MM说可以,我就让她给我说怎么开通,结果MM也没有找到入口,无语,最后MM说她去反馈下原创 2010-09-15 15:24:00 · 1156 阅读 · 0 评论 -
硬盘分区、寻址和系统启动过程
硬盘分区、寻址、系统启动原创 2011-01-05 15:39:00 · 12599 阅读 · 1 评论 -
bug状态开发人员必知必会
在项目开发过程中,我发觉很多人在解决测试人员提出的bug之后,应该将这个bug修改成什么状态不太了解,导致了最后统计bug解决数量,以及遗留bug等等数据不准确。作为开发人员,我觉得了解bug的解决状态是一门基础课程。这里我将开发人员用到的bug解决状态列举出来,希望对大家有所帮助(这些都是开发人员在解决相应bug时应该在测试库中修改的状态): FIXED(已解决):bu原创 2008-12-02 09:27:00 · 6692 阅读 · 18 评论 -
到底专才好还是全才好?
我今天看到这篇博客 《经济危机专才与全才哪个更有优势》,这其实一篇打广告的帖子,先不论这个,我发表一下自己意见,到底是专才好还是全才好呢?其实我觉得,如果单独说是专或者全,那么我觉得他们的优势是各有所长,没有什么好与不好之分,就像一个文一个武,你说哪一个好? 我的看法当然是文武双全才是最好。但是人的精力毕竟有限,不可能照顾到方方面面,那么怎么办呢?其实,我们可以这样规划我们的路? 我原创 2008-12-01 09:25:00 · 6521 阅读 · 38 评论 -
走人应该走的路
如何用自己一年的时间走完别人两年时间才走完的路,靠的是什么?努力、技巧、还有执着。坚定不移的为实现自己的梦想而奋斗,光有目标不行,重要的是要行动起来,时刻保持警惕性、危机感,虽然感觉紧张,不过毕竟人年轻,如果要享受,等把铺垫做完了会有更多的时间来享受,否则,享受完短短的年轻时光,日后更多的痛苦会让你追悔莫及。人啊,很多时候就少这么一根筋,要做人就要做一个聪明点的人,少根筋的是人么?呵呵,我不知道,原创 2008-06-25 10:36:00 · 1349 阅读 · 0 评论 -
缺乏足够支撑的项目注定了要失败
今天是星期四,本来说这一周我们的项目就会结束,今天又听说可能又需要延期一周,听了感觉浑身都不自在,我们项目都延期了好几次了,好不容易盼到快结束的日子,现在又出来这种情况,真打击士气啊. 同项目组的一个同事在最后关头被老大调到其他部门去了,他的工作全部交给我和另一个同事来完成.说实话,我们基本上是从头再来把他的东西做一遍,因为他很多基本功能没有完成,加上代码比较凌乱,读起来都费力,现在我们都原创 2007-03-22 12:51:00 · 1574 阅读 · 0 评论 -
一种结合混沌密码理论的彩色图象水印算法
本文是本人毕业时发表的论文.原文地址:http://www.ahcit.com/lanmuyd.asp?id=1972 摘 要 文章提出一种集混沌加密技术,小波变换,扩频技术为一体的彩色图像水印算法。该算法先将水印信息通过混沌序列加密,再进行扩频调制弱化水印信息,然后在彩色载体图像绿色分量上进行小波变换,利用人类视觉模型(HVS)特性,在低频系数上嵌入处理后的水印信息。实验结果和攻击原创 2007-03-23 13:19:00 · 4267 阅读 · 4 评论 -
testNG 不错的单元测框架--我喜欢
最近使用了一些testNG单元测试框架,感觉很是灵活方便,可以定义测试方法之间顺序和分组,用起来也很简单直观,利用JDK5的标注来进行测试,不错,我喜欢Table of Contents 1 - Introduction 2 - Annotations 3 - testng.xml 4 - Running TestNG 5 - Users manual 5.1原创 2007-06-26 18:03:00 · 5320 阅读 · 2 评论 -
什么是极限编程?什么是借口编程?什么是敏捷开发?
ExtremeProgramming(极限编程,简称XP)是由KentBeck在1996年提出的。KentBeck在九十年代初期与WardCunningham共事时,就一直共同探索着新的软件开发方法,希望能使软件开发更加简单而有效。Kent仔细地观察和分析了各种简化软件开发的前提条件、可能行以及面临的困难。1996年三月,Kent终于在为DaimlerChrysler所做的一个项目中引入了新的软件转载 2007-04-25 14:01:00 · 4170 阅读 · 2 评论 -
要成为一个成熟的软件工程师不容易啊
做了几个项目,有一个深深的体会,靠看书学习得来的很多设计经验到真正要用在实际项目中的时候就会觉得困难重重,看别人的东西热血沸腾,跃跃欲试,总是以为自己理解了别人的精髓,以后可以写出同样优秀的代码来,结果却令人沮丧,很多时候是拿到具体项目模块或升级单的时候,总觉得以前学的设计的东西好像不能使用,写的代码依旧那么凌乱,想想方法应该按照单独的功能划分,结果实现出来了就是一个大方法,什么鸟原创 2007-05-18 10:04:00 · 1209 阅读 · 2 评论 -
事务处理的层次问题
最近一直在想一个关于事务处理层次 的问题。平时我们在做J2EE应用的时候,习惯把应用分为三个逻辑层次,web层,业务层和持久层,比较经典的是持久层一般使用dao的设计方式。涉及到数据库相关的事务处理时,很多人也就习惯于将事务处理代码写在dao这一个层次上,也就是持久层这个层次。这样写对于简单一点的数据库访问没有什么问题,一旦实现复杂一点,牵涉到的业务处理比较繁杂一点时,这种在dao里面处理事务的方原创 2007-08-22 15:23:00 · 1191 阅读 · 0 评论 -
velocity+struts+spring+ibatis
企业web应用采用框架struts(webwork)+spring+ibatis(hibernate)其实大可以做到,web页面我个人认为使用velocity模板替换JSP或者配合JSP使用,效果会非常好,如果单纯使用velocity速度明显比JSP快得多,从淘宝的网站我们其实可以看出这一点了,数据库如果相当注重性能要求的话,采用ibatis会比hibernate好,因为它可以给我们更多的控制权利原创 2007-08-26 14:28:00 · 1354 阅读 · 2 评论 -
从ET2开发中领悟到的
1、DAO接口增、删、改操作 针对每张表进行设计2、检索单条记录详情也可以针对每张表进行设计,然后在业务层使用其他DAO接口进行组装成需要的领域对象(这里可以考虑缓存,这样就尽量避免多次访问数据库)。如果考虑到效率,也可以进行联合查询,特别是一对多和一对一的情况,对返回的记录进行组装得到需要的领域对象。3、如果是针对单个数据库的系统,分页尽量在数据库中进行,所以进行表关联查询,同时需要返回原创 2007-10-27 17:19:00 · 1260 阅读 · 0 评论 -
从ET2开发中领悟到的(续)
1、 设计表时,如果属于同种类型的字符串保存,可以使用分隔符来分隔保存数据,可以避免存储多条记录或多个字段;操作上只需在存储之前加上分隔符,读取时分割一下就可以了。2、 对于标志之类的字段,如果可以使用0、1表示,那么可以设计在一个字段之类,使用每一位来表示不同的含义,可以利用的函数BITAND(位与运算)来判断标志位. 在存储过程中需要创建一个函数BITOR(位或运算)来设置标志位原创 2007-11-13 17:57:00 · 1781 阅读 · 1 评论 -
领域驱动设计,难
最近一直在关注领域驱动设计的方法学问题,说实话,这些理论的东西实践起来的确还是很困难,原因是多方面的,第一:领域驱动设计要求开发设计人员与业务专家一起进行头脑风暴,从而建立起领域模型来,而这个过程是贯穿软件开发的整个生命周期的,因为领域模型不是一开始就完全建立起来的,而且开始的模型也可能会随着项目的进行而不断深化变换,这就要求业务专家必须和开发设计人员共同长期的进行这项活动,因此这原创 2008-03-24 15:54:00 · 1269 阅读 · 0 评论 -
web应用设计之我见
web应用设计这个话题看似有点搞笑,很多人可能会说,web应用有什么好设计的,ssh不是已经有了很好的分层架构模式了么?还需要什么设计?web应用不外乎就是请求处理和响应,诚然,简单的web应用的确不需要什么设计,遵循简单的分层概念和模式就可以开发出一个系统来。我想说的是,如果这个web应用所涉及的业务概念比较复杂,我们是否还需要设计呢?如果需要,我们应该从哪个方面入手呢? 这就是我下面要说的。原创 2008-01-06 15:16:00 · 968 阅读 · 0 评论 -
IO Models
摘选自: Addison Wesley - UNIX.Network.Programming.Volume.1.3rd.Ed.The.Sockets.Networking.API-LiB ,喜欢的朋友可以去找找这本书,很经典的。原创 2011-05-17 09:08:00 · 2709 阅读 · 3 评论