buguge - Keep it simple,stupid

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

导航

2017年7月25日 #

办法总比困难多--JMeter压测小记

摘要: 做个代理接口。什么意思呢? 就是写个http接口部署到web容器里,让JMeter直接调用这个http接口。而这个接口的逻辑是封装了溢+接口需要的请求报文(参数和参数签名),然后来调用溢+接口。 这么一中转,问题就迎刃而解了。 阅读全文

posted @ 2017-07-25 19:16 buguge 阅读(475) 评论(0) 推荐(0)

2017年7月21日 #

字符串ASCII码排序

摘要: 发现有序字典并不是按照ASCII码排序的,用集合的OrderBy()方法、Array.Sort也是如此。此时,解决方案是在用Array.Sort时指定一个参数string.CompareOrdinal。string.CompareOrdinal先把每个字符转成相应的十进制数值(如 a 对应97,b对应98,A对应65,B对应66),然后再对十进制数值进行比较。 阅读全文

posted @ 2017-07-21 23:08 buguge 阅读(10582) 评论(0) 推荐(1)

2017年7月18日 #

XML反序列化遇到数字型节点值为空导致反序列化异常

摘要: 用字符串类型来保存数量、金额,代码不免有股怪怪的味道 阅读全文

posted @ 2017-07-18 20:58 buguge 阅读(2272) 评论(0) 推荐(0)

2017年7月12日 #

XML反序列化

摘要: 短信平台和支付中心在与某些第三方接口通信时,涉及到xml格式的报文。这时会用到xml反序列化成相应实体对象。 阅读全文

posted @ 2017-07-12 15:55 buguge 阅读(818) 评论(0) 推荐(0)

2017年7月7日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志(完结篇)

摘要: 设计软件,面向业务来设计,例如用一个自定义的变量来保存参数。这样不管这问题中不同的过程被调用时在同一个线程还是不同线程,变量的值都是一致的。 如果“高大上”到过分技术层面,由于我们不了解技术底层和问题,所以反而弄巧成拙。 阅读全文

posted @ 2017-07-07 19:37 buguge 阅读(328) 评论(0) 推荐(0)

2017年7月6日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志(续)

摘要: 一个ashx文件,在其构造器里给当前线程的name赋值。通过post方式流请求,测试发现,在给HttpWebRequest传参和不传参的两种情况下,传参时ashx的ProcessRequest方法里获取不到线程name,而不传参可以正常获取到。 由此,问题来了,Http流请求传参和不传参这两种情况有什么区别呢? 阅读全文

posted @ 2017-07-06 12:01 buguge 阅读(620) 评论(1) 推荐(0)

2017年6月29日 #

巧用CurrentThread.Name来唯一标记一次请求的所有日志

摘要: 即,应用程序对每一次请求的处理过程所记录的日志统一打了一个标识。 这样,在系统运维过程中进行排障时,尤其在并发请求的情况下,即使日志记录得你中有我我中有你,也很容易就可以查到处理某次请求的来龙去脉,进而帮助我们快速定位原因。我对这种日志记录实现方式屡试不爽。 阅读全文

posted @ 2017-06-29 21:58 buguge 阅读(679) 评论(0) 推荐(0)

2017年6月23日 #

多类继承情况下适应变化设计一例

摘要: 8个派生都这么改还是挺麻烦的,也违背了OCP原则。另外,从领域的角度来说,logFlag参数与整个功能并无关系,只是为了完善记录日志才“生硬地”加这么一个参数。所以,上面的实现方案不妥。改为封装一个LogFlag属性。这样,只需修改基类,派生类无需任何改动。调用方在实例化对象后,可以为LogFlag属性赋值(if possible) 阅读全文

posted @ 2017-06-23 21:46 buguge 阅读(502) 评论(0) 推荐(0)

2017年6月16日 #

溢+渠道对接之北京农商订单结算需求产品方案

摘要: 溢+支付是公司刚投产不久的项目,还有很多的事情要尝试、摸索、探索,项目内缺乏专业的支付人才包括结算、运营、产品和技术,对于创业公司的这种项目,而不是总是想着大而全。那样只会耗费人力和时间成本。单就支付渠道对接来说,我们对接的渠道也有十几家了,但是,目前在商用的也就是中信、易宝的支付和代付,更多的对接工作变成了无用功。这其中,大家免不了相互吐槽,带来负能量。所以,小步稳跑或许才是比较好的节奏。 阅读全文

posted @ 2017-06-16 22:51 buguge 阅读(351) 评论(0) 推荐(0)

分享一种系统事故&问题处理反馈方式(COE)

摘要: COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。 阅读全文

posted @ 2017-06-16 17:24 buguge 阅读(4405) 评论(1) 推荐(0)

2017年6月10日 #

支付中心接口设计之参数命名

摘要: 产品设计上有一条重要的原则:Don't Make Me Think,同样适用于软件设计 阅读全文

posted @ 2017-06-10 21:07 buguge 阅读(1045) 评论(1) 推荐(0)

2017年6月1日 #

委屈

摘要: --- 阅读全文

posted @ 2017-06-01 22:23 buguge 阅读(214) 评论(1) 推荐(0)

2017年5月22日 #

“技术诚可贵,领域价格高”

摘要: 之前的一些重构,由于缺乏聚合支付方面的领域知识,是有些欠火候,一些解耦和封装,连自己都认可不了。也就在近期,将支付中心做了一次系统性的重构升级。 阅读全文

posted @ 2017-05-22 20:16 buguge 阅读(314) 评论(0) 推荐(0)

Request.UrlReferrer注意点

摘要: 2.如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息 阅读全文

posted @ 2017-05-22 19:50 buguge 阅读(359) 评论(0) 推荐(0)

2017年4月17日 #

System.Web.HttpException (0x80004005): 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

摘要: 同一个站点内两个页面a.aspx和b.aspx。a.aspx里是一个服务器表单控件,其action指向的是b.aspx。本地测试是正常的。线上是nginx部署的,在提交表单时出现了上面的异常。 阅读全文

posted @ 2017-04-17 21:47 buguge 阅读(2428) 评论(0) 推荐(0)

Unable to update the EntitySet 'T_JsAPI' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

摘要: If Entity Framework can't figure out the primary key, it will generate a SELECT statement but it won't be able to create the according INSERT, UPDATE and DELETE statements.(如果EF找不到pk,它将生成一个selelct语句,但不会生成相应的增删改语句) 阅读全文

posted @ 2017-04-17 15:08 buguge 阅读(491) 评论(0) 推荐(0)

2017年4月11日 #

HttpContext.Current.Items的用途

摘要: 它只作用于单独的一个用户请求(HttpContext.Current.Items valid for a single HTTPRequest)。完成这个请求,服务器信息传回浏览器的时候,这个Item集合将丢失。 阅读全文

posted @ 2017-04-11 21:13 buguge 阅读(932) 评论(0) 推荐(0)

2017年4月7日 #

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'

摘要: System.Data.Entity.Core.MetadataException: Schema specified is not valid. Errors: PaycenterModels.ssdl(2,2) : error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. 阅读全文

posted @ 2017-04-07 18:52 buguge 阅读(1204) 评论(0) 推荐(0)

2017年3月23日 #

微信公众号支付(JSAPI)对接备忘

摘要: 公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有: ◆ 用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付 ◆ 用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付 ◆ 将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付 阅读全文

posted @ 2017-03-23 20:35 buguge 阅读(4509) 评论(0) 推荐(0)

2017年3月13日 #

浅析Web API中FromBody属性

摘要: FromBodyAttribute是一个特性,该特性指定操作参数仅来自传入 System.Net.Http.HttpRequestMessage 的实体正文。通俗点说,FromBodyAttribute要求被其修饰的参数,必须是序列化后的实体成员。 阅读全文

posted @ 2017-03-13 21:00 buguge 阅读(2732) 评论(0) 推荐(0)

2017年2月28日 #

懒汉思维处理dapper字段名与属性名的映射方式

摘要: 你还以为走路是世上最简单的事情呢?只不过是把一只脚放到另一只脚前面。但我一直很惊讶这些原本是本能的事情实际上做起来有多困难。而吃,吃也是一样的,有些人吃起东西来可困难了。说话也是,还有爱。这些东西都可以很难。--摘自蕾秋·乔伊斯《一个人的朝圣》 阅读全文

posted @ 2017-02-28 20:03 buguge 阅读(837) 评论(0) 推荐(0)

2017年2月24日 #

【思路决定出路】换一种思路,柳暗花明---程序如何利用SQL的LIKE实现模糊查询数据

摘要: _ _ \. _(9> <6)_ ,/ \==_) (_==/ -'= ='- 阅读全文

posted @ 2017-02-24 17:35 buguge 阅读(479) 评论(0) 推荐(0)

2017年2月17日 #

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

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

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

2017年1月12日 #

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

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

posted @ 2017-01-12 16:53 buguge 阅读(527) 评论(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 阅读(718) 评论(0) 推荐(0)