buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

随笔分类 -  设计思想

上一页 1 2 3 4 5 6 7 下一页

利用自定义异常来重构代码(▄︻┻┳═一不了解自定义异常者勿看)
摘要:不考虑逻辑,仅从代码简洁的角度来看,如上代码段存在如下问题,使得代码有了坏味道(bad smell): * 对象oReturnValue被重复赋值并使用 * 层层嵌套, if和try...catch使得代码嵌套了好多层 阅读全文

posted @ 2016-12-16 14:52 buguge 阅读(455) 评论(0) 推荐(0)

SqlHelper中IN集合场景下的参数处理
摘要:拼sql的方式不可取,会带来sql注入风险。而sqlhelper会把你参数值当成字符串,不会对其做转义。所以,不管怎么对参数值处理,都还是一串字符串。按这样的原理往下想,只能是将单号分开来传递给sql了。 阅读全文

posted @ 2016-12-12 21:01 buguge 阅读(587) 评论(0) 推荐(0)

系统中生成编号/单号问题的实现方案讨论
摘要:1. 常规实现方案:代码逻辑为从数据表里取出现有最大订单号,转换后得到新的订单号,将新的订单insert到表里。 2. 考虑并发,在1的基础上,加lock,以避免多个线程同时执行这段逻辑,导致订单号重复引起主键冲突 3. 对于2来说,这种方案仅适用于单应用部署的情况。 像电商的订单表,往往是好多系统都要生成订单, 那么,最终到数据库层级时, 也仍然会导致订单号重复引起主键冲突。 所以,要做数据库级别的锁表和事务控制。 4. 方案3的另一个版本:将生单逻辑从各业务系统解耦,封装起来单独部署。 然后提供rpc,供各业务系统调用。 这种方案的缺点是,单点部署会有风险。 阅读全文

posted @ 2016-10-21 09:14 buguge 阅读(616) 评论(0) 推荐(0)

摇钱树运营小工具UI设计.vsd
摘要:去年,我负责公司的一个互联网投融资平台。系统运营过程中,业务和客服那边不断的反馈一些事情让技术这边协助实现。例如,土豪客户忘记登录密码后更愿意选择搭讪客服MM;再比如,客户多次登录导致账号被锁定,就反映给客户MM处理;再比如,运营经理定期索要到期投资报表,而系统后台现有的报表不能完全满足他们的需求。 每次处理这样的事情,开发人员都要忙上一阵子。 阅读全文

posted @ 2016-10-08 15:08 buguge 阅读(380) 评论(0) 推荐(0)

Thread.Sleep引发ThreadAbortException异常
摘要:当站点应用程序池回收或遇到其他未捕获的异常时,线程会被Abort,这时,当线程里的代码再被执行时,就会抛出ThreadAbortException异常。 阅读全文

posted @ 2016-08-02 15:36 buguge 阅读(3335) 评论(0) 推荐(0)

运维一个应用系统并不容易
摘要:项目并非实现产品经理的需求就完事了。 当项目投产后,在用户使用的过程中,会遇到千姿百态的问题。相当长的一段时间里,开发人员可能会疲于应付处理这样的问题。 运维一个应用系统不容易呀,那么,为什么会投入这么多时间呢?可能包括用户对业务逻辑的不够清楚,包括程序实现的bug,包括逻辑的复杂,包括线上运行过程中突发的事故。 而这些,往往并不在产品经理的需求范畴里, 所以,在系统实现方面,还应考虑应用系统的运维功能 阅读全文

posted @ 2016-07-29 18:43 buguge 阅读(529) 评论(0) 推荐(0)

为什么我们的沟通这么低效?
摘要:这仅仅只是一个案例,大家在工作中,可能经常出现这样的沟通,大家面红耳赤,也解决不了问题。因为各自局限于自己的系统里,总觉得我需要什么你就可以给我,殊不知别人未必明白你做的东西。 阅读全文

posted @ 2016-07-27 15:46 buguge 阅读(537) 评论(0) 推荐(0)

【团队分享之一】软件项目的质量和质量控制
摘要:这是我在我们开发团队所做的一次分享,同时也分享给博客园里的朋友们。 在我这次分享的前一次,是我的部门老大做的分享,关于他在2015年度的述职报告,在他分享完毕后,指明了要我做下次的分享,侧重于项目管理方面,我想了想,先从质量说起吧。于是,就有了这次的分享内容。 阅读全文

posted @ 2016-02-04 09:33 buguge 阅读(797) 评论(1) 推荐(0)

机场服务后台-登机牌订单处理需求优化
摘要:当手头开发和维护的项目较多时,往往当出现问题时,我们无法定位原因,只有去打开程序查看逻辑来排查。那么,就要想办法,完善功能和交互、完善日志和监控告警,让系统做得足够“傻瓜”。 阅读全文

posted @ 2015-09-17 11:33 buguge 阅读(749) 评论(1) 推荐(0)

看svn用户组管理功能的产品设计
摘要:我负责公司的svn配置。用了近一年了,今天饶有兴致,分享一下svn的用户组管理功能,这个产品设计值得借鉴,简单易用。 对于产品设计来说,细节很重要,对于互联网产品,更是如此。能让用户一步完成的,不要分多步。用户的感受很微妙,就像百度首页上的“设百度为首页”改为“把百度设为首页”一样,这么简单的一改,日pv就多了数千万。 阅读全文

posted @ 2015-09-07 09:57 buguge 阅读(378) 评论(0) 推荐(0)

对公司产品开发流程的一点儿看法
摘要:事先尽可能的明确需求,对后续的开发和测试,不说事半功倍,但一定能提高项目的绩效。要不,要开发流程干毛用。 ——设计流程和用例的好处,1st,一目了然,开发、测试人员易懂,2nd,反过来推敲产品,让产品更合理;3rd,指导后续的开发、测试。 一个产品,如果只有一个原型,缺乏必要的文字描述和流程说明,我表示质疑,这个产品经理是否真正的了解自己的产品? 阅读全文

posted @ 2015-09-01 15:11 buguge 阅读(604) 评论(2) 推荐(0)

你信吗? 好的应用程序设计可以降低成本提高效率
摘要:去年8月底写过一篇博文,至今对里面提到的“架构要考虑成本和效率”很深刻。 在这一年的工作中,也一直在实践和思考,如何合理设计应用程序,如何设计应用之间的交互,来降低成本,提高效率。好的应用程序架构可以降低成本提高效率,这主要在于设计和思想。 阅读全文

posted @ 2015-08-14 13:56 buguge 阅读(358) 评论(1) 推荐(0)

巧用沃邮箱快速监控系统运行情况
摘要:系统监控是系统设计中不可缺少的一部分。这样可以在系统运行过程中出现问题后,可以第一时间知道,快速响应,进行处理和解决。而不是被动的让客户提出来。 问题来了,用什么方式通知呢?记日志、发邮件、发短信。而短信并不是那么容易实现。接下来就教你一招。 阅读全文

posted @ 2015-06-30 15:33 buguge 阅读(422) 评论(0) 推荐(0)

沟通信息不对称“模型”
摘要:以我实际工作中遇到的情况,设计了一个“数据模型”。 沟通中产生信息不对称,在我们的日常工作中,非常常见。希望大家尽可能客观、全面的进行信息的传递,做有效沟通。同时,当不对称产生后,应该及时意识到并积极化解。否则势必会影响某些员工的工作情绪。 阅读全文

posted @ 2015-06-16 12:12 buguge 阅读(1366) 评论(0) 推荐(0)

他们突然觉得我懂的还挺多,嘎嘎~
摘要:今天设计一个预算控制的流程,并设计数据模型,进行数据试算。初稿完成之后,我邀产品经理zhangll和wangxuedong、小组里的技术人员一起评审。评审完之后,两位产品经理对我的设计比较赞同,说,和你合作我们很放心。我说,跟我合作,你们会很累,我也累。一段聊天后,产品经理问,现在咱们在做的这个项目... 阅读全文

posted @ 2015-05-20 20:03 buguge 阅读(353) 评论(2) 推荐(0)

上海踩踏事件所想,莫把应急预案当摆设
摘要:在我们的工作中,对于我们开发的一些重要应用系统,当偶遇突发事故,造成的损失虽远不及人命,但后果也常常很严重。针对我们开发的软件应用系统,我们也有责任制定突发事故的应急处理预案。首先要具备这个意识,然后要制定,制定好了要进行演练,旨在当突发事故真正发生时,能够派上用场行之有效 阅读全文

posted @ 2015-01-05 10:11 buguge 阅读(681) 评论(0) 推荐(3)

当pageIndex遇上pageNo
摘要:团队项目,底层框架、技术预研、服务层逻辑、前端UI,大家有不同的分工,要遵照一定的开发规范。跑题了,跑题了... 阅读全文

posted @ 2014-08-29 14:02 buguge 阅读(734) 评论(3) 推荐(0)

PLoP(Pattern Languages of Programs,程序设计的模式语言)
摘要:说起模式,被人提起最多的是GoF的23个模式,甚至很多人误解模式就是GoF模式,认为学习设计必须要学习GoF模式,然后拼命往自己的项目上套用。GoF模式不是最有用,也不是最本质的,只是较早归纳写在书中。后续又出了很多模式的书籍,例如POSA系列(1-5)、PLoPD系列(1-5)……,PLoP以及ChiliPLoP、EuroPLoP等类似会议每年举办,人们所归纳的各种组织模式、需求模式、分析模式、设计模式……已经非常之多。 开发人员在学习时,应该学习自己项目所用实现平台相关的架构模式以及项目所处领域的分析模式,不必死盯着GoF模式。 阅读全文

posted @ 2014-08-05 13:40 buguge 阅读(1047) 评论(0) 推荐(0)

Visual Studio 2010 实用功能:使用web.config发布文件替换功能
摘要:用于使用 Visual Studio 部署 Web 应用程序项目的 Web.config 转换语法..... 阅读全文

posted @ 2013-10-25 17:00 buguge 阅读(435) 评论(0) 推荐(0)

关于通过web页面删除数据记录的设计改进
摘要:关于通过web页面删除数据记录,这是一个简单的设计问题,如下图是我们常用的方式, 即在每行记录前加一个checkbox,通过选中多条记录,点击下方的“删除”按钮。此实现方式是有潜在风险的,尤其是物理删除。用户选中了多条记录,一旦点击了删除按钮,将会无法恢复。 阅读全文

posted @ 2013-01-06 13:13 buguge 阅读(551) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 下一页