buguge - Keep it simple,stupid

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

导航

上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 49 下一页

2017年2月17日 #

System.ArgumentException: 目标数组的长度不够。请检查 destIndex 和长度以及数组的下限

摘要: Queue<T>以及List<T>这些泛型类不是线程安全的。在并发操作时,内部操作可能会出现问题 阅读全文

posted @ 2017-02-17 16:22 buguge 阅读(3091) 评论(0) 推荐(0) 编辑

2017年1月12日 #

使用代码分析来分析托管代码质量 之 CA2200

摘要: 使用vs的代码分析,可以对托管代码运行代码分析,发现代码中的缺陷和潜在问题,据此分析结果我们可以对程序做相应优化调整。CA2200是什么? CA2200可不是国航航班哦~ 阅读全文

posted @ 2017-01-12 16:53 buguge 阅读(483) 评论(0) 推荐(0) 编辑

2017年1月10日 #

System.InvalidOperationException nested transactions are not supported

摘要: bll方法里开启了分布式事务,dal方法里又启动了数据库事务。通过查看异常堆栈,发现异常是在执行BillsDal.Add(bill);方法里的var trans = conn.BeginTransaction();这条语句抛出来的。 阅读全文

posted @ 2017-01-10 11:29 buguge 阅读(681) 评论(0) 推荐(0) 编辑

2017年1月6日 #

【轻松一刻!】一段难倒了两名老程序猿的简单代码

摘要: 因为_conn.Open();里的IDbConnection实例与var trans = _conn.BeginTransaction();里的IDbConnection实例不是一个实例,因为每次调用只读属性拿到的都是一个新的实例。 阅读全文

posted @ 2017-01-06 14:16 buguge 阅读(249) 评论(0) 推荐(0) 编辑

2017年1月5日 #

static,你还敢用吗?(二)

摘要: 方案分析:第1种,涉及到对象只能在被释(关闭)放掉才能再次被使用(打开),性能低下,不可取。 第2种呢,绝大多数的dal层方法几乎都是每次执行db操作都打开一个新的连接。 由于大家一般不会把dal层的数据操作方法定义成static,所以,也就不会遇到这样的db连接异常。而我呢,倾向于用static方法,考虑到封装,就把这个db连接对象封装成静态字段了,反而忽视了静态数据成员带来的隐患——数据量小时几乎是暴露不出来问题,一旦数据量大起来,有了并发,就会出现资源被同时使用,这样的话,都要修改其状态时,就出现了并发异常。 阅读全文

posted @ 2017-01-05 18:44 buguge 阅读(316) 评论(0) 推荐(0) 编辑

2016年12月30日 #

北京遇上西雅图之:当记账系统遇上并发

摘要: 系统中有个结算的逻辑,每张订单到了账期日后,平台会给商家进行结算。涉及到账户方面的操作包括,平台账户余额的扣减和商户账户余额的增加,以及账户流水的记录。 像这个场景,如果不考虑并发的话,那么很容易出现数据不一致,导致记账混乱。 当然,这是比(xiāng)较(dāng)要命的!tag:并发,lock,多线程,时间戳,timestamp 阅读全文

posted @ 2016-12-30 16:06 buguge 阅读(239) 评论(0) 推荐(0) 编辑

2016年12月29日 #

从scheduler is shutted down看程序员的英文水平

摘要: scheduler is shut down. 阅读全文

posted @ 2016-12-29 17:04 buguge 阅读(384) 评论(0) 推荐(0) 编辑

2016年12月16日 #

利用自定义异常来重构代码(▄︻┻┳═一不了解自定义异常者勿看)

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

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

2016年12月15日 #

VS2013默认打开HTML文件没有设计视图的解决办法

摘要: 菜单->工具->选项->文本编辑器->文件扩展名,右侧输入html,再下拉列表选HTML(Web窗体)编辑器,点添加,搞定 阅读全文

posted @ 2016-12-15 12:07 buguge 阅读(457) 评论(0) 推荐(0) 编辑

2016年12月12日 #

SqlHelper中IN集合场景下的参数处理

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

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

上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 49 下一页