摘要:隐式类型转换规则 MySQL 在进行比较操作时,如果比较双方的数据类型不一致,通常会尝试将其中一个数据类型转换为另一个数据类型,以便进行比较。 对于 select * from t_order where order_no = 1538808276987285507 ,当 order_no 为 va
阅读全文
摘要:这里要说的是,用户登录密码属于用户隐私数据。首先,隐私数据属于敏感数据,不能明文传输;其次,系统server端不能直接触碰用户密码。
阅读全文
摘要:有思想、知章法,才能做出更好的系统!正如本案例,如果不假思索地在zhongtai-trans的付款查询接口上加上商户id,就有些不伦不类了。
阅读全文
摘要:本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。
阅读全文
摘要:

接口参数名与程序里定义的model属性名,是完全一致的吗?本文通过案例,来讲述他们之间的联系与区别。
阅读全文
摘要:本文开篇以系统登录页面的安全加固实践说起,详细分析了服务端提供的`loginEncryptKey` API 代码存在的问题,如接口对任意用户名返回密钥导致的安全风险,以及在高并发场景下可能引起的Redis缓存穿透问题。针对这些问题,提出了改进措施:首先对接口请求参数进行严格校验,确保用户名合法且存在于系统中;其次,优化加密密钥的生成与获取逻辑,采用预生成密钥池结合自定义哈希算法的方式,减少重复生成密钥的资源消耗。此外,为了适应集群环境,提出了利用Redis哈希表存储密钥和结合本地缓存的解决方案。最后,文章建议将密钥预置于应用配置文件中,简化了集群环境下的数据同步需求。
阅读全文
摘要:以此类推,有同学可能想到mq,并称使用mq能规避”服务故障“、”服务重启“等某些不稳定因素。
还有同学可能想到分布式锁,在付款请求时加锁,在处理回调时判断锁,使用同步锁机制实现串行处理。
我认为没什么必要,有些小题大做,越简单越好。毕竟,付款终态的变更,不是只靠这次的回调。
看似简单的问题,考验的是综合能力。
阅读全文
摘要:走查我们zhongtai-task(中台的task服务,注意,这个task不是Spring/Java里的task,而是我司业务中的企业用工任务)代码时发现一个问题。 先看下面的方法调用关系 ① TaskJobProxy#updateTaskStatus ② TaskLevyReviewService
阅读全文
摘要:定义明确的参数名/变量名,是软件开发中的一个重要准则。但是,总这么强调,起的作用似乎并不大。许多时候,授人以渔还真不如直接授人以鱼。
阅读全文
摘要:先看下面几个例句感受一下: What day is it today? - It's Firday. What's the date today? - It's September 10th, Teacher's Day. It takes me 5 days to read the book. 在
阅读全文
摘要:本文介绍了公司短信平台聚合系统中,短信通道回调的业务处理方法。文章详细描述了如何通过统一回调接口与合理分层设计优化代码结构,避免烟囱式代码堆砌,提高扩展性和维护性。
阅读全文
摘要:每天所参与的设计沟通、设计评审,有代表性的,我会抽时间记录下来进行分享。在此,也分享给园子里的开发者朋友。 对企业侧,开发人员参考了银行的方式——>让接入方先提交申请,再根据一个申请单号请求下载。 内部呢,则是谁申请就给谁生成(“谁”指的是企业),不申请就不生成。 另外,生成的账单直接作为文件放到了
阅读全文
摘要:统一系统的邮件发送功能。有两个核心数据表:`mail` 表用于存储邮件基本信息,`mail_receiver` 表记录邮件接收者信息。为了优化查询性能,建议创建`Email_Content`表,将大字段分离,以减少主表大小,并可通过定期的数据结转策略,确保热表只存储最近的数据。
阅读全文
摘要:变换一下思路,我们来看看更好的实现方式,让开票与订单彻底解耦。
阅读全文
摘要:优秀的程序应该尽可能地规避问题。因此,以后在服务商系统里,当定义包含汉字的字段时,使用 nvarchar2,而非 varchar2。 因此,在服务商系统作为我司系统的小众系统的背景下,Oracle的技术特性我们不一一晓知是可以理解和接受的。而如何在不一一晓知这些技术特性的情况下,能够规避这些技术特性带来的bug,需要我们引起思考和实践摸索。
阅读全文
摘要:“他急急忙忙的跑来了” 可以简写成“他跑来了”,可以简写成“他来了”。但是,不能简写成“跑来了”、“来了”。
阅读全文
摘要:

当我们正确理解需求和工作任务,无论使用人类语言,亦或计算机语言,呈现出来时都明确。用人类语言,沟通表达出来时就不会有歧义,用计算机语言,程序实现出来就易读易维护。
阅读全文