LogBack 日志等级设置无效,原因竟然是因为这个

2021-05-30
阅读 2 分钟
7.1k
Hello,大家好,我是楼下小黑哥~最近被公司派去北京出差,本以为是个轻松的差事,北京一周游~但是没想到第一天就是九点半下班, 大意了~好了,回到正题,今天来讲下最近调试项目的时候发现的一个 Logback 日志级别设置不生效的问题。问题背景事情是这样的,我们的项目是一个 SpringBoot 的工程的,其中日志框架使用的是 ...

IDEA 这样设置,好看到爆炸!!!

2021-05-06
阅读 4 分钟
5k
Hello,大家好,我是楼下小黑哥。今天这篇文章是次条视频的文案,这里推荐大家直接看视频学习。IDEA 这样设置,好看到爆炸!!!#01今天这期我们来分享几个美化 IDEA 设置技巧,让你的 IDEA 与众不同。首先我们来看下 IDEA 默认设置,虽然不丑,但就是太单调,千篇一律。接着,我们来看下美化以后的界面,总体看起来是不...
封面图

别再这么写代码了,这几个方法不香吗?

2021-02-25
阅读 4 分钟
1.6k
JDK8 应该是 Java 中最坚挺一个版本,这个版本新增很多特性,让我们开发起来多了很多便利。不过最近 Review 项目代码的时候发现,虽然很多项目工程已经使用了 JDK8,但是工程代码却很少使用到 JDK8 新特性、新方法。如果单从代码正确性上来说,老方式写法写当然没有什么问题,那唯一的缺点其实就是代码行数比较多,比较...
封面图

抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题

2021-01-07
阅读 3 分钟
2.5k
Hello,大家好,我是楼下小黑哥~好久没写支付相关的文章了,今天继续从事老本行~上次在文章钱被扣走了,但是订单却未成功!支付掉单异常最全解决方案提到,支付过程会出现掉单、卡单的情况,这种情况对于用户来讲,体验非常差,明明自己付了钱,扣了款,但是订单却未成功。上篇文章我们简单说了下解决方案,这次小黑哥就...

30G 上亿数据的超大文件,如何快速导入生产环境?

2020-12-24
阅读 6 分钟
3.6k
Hello,大家好,我是楼下小黑哥~如果给你一个包含一亿行数据的超大文件,让你在一周之内将数据转化导入生产数据库,你会如何操作?上面的问题其实是小黑哥前段时间接到一个真实的业务需求,将一个老系统历史数据通过线下文件的方式迁移到新的生产系统。由于老板们已经敲定了新系统上线时间,所以只留给小黑哥一周的时间...

数据库读写分离这个坑,你应该踩过吧?

2020-12-09
阅读 4 分钟
5.1k
Hello,大家好!我是楼下小黑哥,我又来了~今天分享一下刚入职公司第一次发布项目遇到的一个问题,一个数据库读写分离的坑。前言事情是这样的,刚入职的时候接到了这样的一个业务需求:每个支付通道支付失败的时候都会返回特定的错误码,业务内部需要将通道特定的错误码转义成内部的错误码,这样对外就可以统一返回我们自...

写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理

2020-12-02
阅读 3 分钟
3.4k
上周文章年轻人不讲武德,竟然重构出这么优雅后台 API 接口我们使用 @ControllerAdvice与 ResponseBodyAdvice 重构后端的 API 接口,降低了复杂度,减少了重复代码,后续接口开发非常简洁优雅。

年轻人不讲武德,竟然重构出这么优雅后台 API 接口

2020-11-27
阅读 5 分钟
2.1k
最近偶然间在看到 Spring 官方文档的时候,新学到一个注解 @ControllerAdvice,并且成功使用这个注解重构我们项目的对外 API 接口,去除繁琐的重复代码,使其开发更加优雅。

贞炸了!上线之后,消息收不到了!

2020-11-24
阅读 5 分钟
1.7k
hello,各位小伙伴们,上午好~昨晚生产系统机房切换,又度过了一个不眠之夜。趁着这段无聊时间,分享一下前一段时间 RocketMQ 踩坑经历太惨了!!!早上刚躺下睡了两小时,就被一通电话侥幸起来查看问题。前言事情是这样的,前端时间我们有个新业务上线,这个业务需要监听支付成功的 mq 消息,然后向绑定的音箱推送消息...

一笔订单,但是误付了两笔钱!这种重复付款异常到底该如何解决?|原创

2020-10-27
阅读 3 分钟
6.2k
封面送给我狗哥~Hello,大家好,我是楼下小黑哥~今天的文章我们接着上次的话题,继续聊聊支付系统异常解决办法。在上篇文章中「支付掉单异常解决方案」,我们主要提到的是支付过程中掉单的场景,用户明明付款成功,银行卡都扣款了,但是订单却还显示待付款。而在今天的文章中,我们将聊到重复付款的异常,即同一笔订单,...

钱被扣走了,但是订单却未成功!支付掉单异常最全解决方案

2020-10-12
阅读 4 分钟
4.5k
前言好了,回归到今天的主题,今天分享一下支付系统中异常一些处理方式。其实这些处理方式并不只是局限于支付系统,也可以适用于其他系统,大家可以借鉴,应用到自己系统中,提高自己系统的健壮性。异常是系统运行不可避免会发生的问题,如果一切都正常,我们的系统设计将会相当简单。但是可惜没有人能做到这一点,所以...

收款神器!解读聚合收款码背后的原理

2020-09-28
阅读 6 分钟
6.6k
Hello,我是楼下小黑哥!今天跟大家分享一下聚合收款码的支付原理,这也是我这大半年来一直在做的项目。微信/支付宝收款码大家应该不会陌生,线下小微商户收款大多使用这个,就比如下图。这种收款方式很方便,微信、支付宝后台申请开通,然后还可以免费申请相关物料。不过这种方式用户体验其实不是很好,之前有好几次拿...

Redis 发布订阅,小功能大用处,真没那么废材!

2020-09-23
阅读 9 分钟
1.7k
今天小黑哥来跟大家介绍一下 Redis 发布/订阅功能。也许有的小伙伴对这个功能比较陌生,不太清楚这个功能是干什么的,没关系小黑哥先来举个例子。假设我们有这么一个业务场景,在网站下单支付以后,需要通知库存服务进行发货处理。上面业务实现不难,我们只要让库存服务提供给相关的给口,下单支付之后只要调用库存服务...

血的教训!千万别在生产使用这些 redis 指令

2020-09-16
阅读 4 分钟
1.9k
哎,最近小黑哥又双叒叕犯事了。事情是这样的,前一段时间小黑哥公司生产交易偶发报错,一番排查下来最终原因是因为 Redis 命令执行超时。可是令人不解的是,生产交易仅仅使用 Redis set 这个简单命令,这个命令讲道理是不可能会执行这么慢。那到底是什么导致这个问题那?为了找出这个问题,我们查看分析了一下 Redis 最...

阿里面试官:HashMap 熟悉吧?好的,那就来聊聊 Redis 字典吧!

2020-09-08
阅读 4 分钟
2.4k
事情是这样的,前面面试问了几个 Java 的相关问题,我朋友回答还不错,接下来面试官就问了一句:看来 Java 基础还不错,Java HashMap 你熟悉吧?

手机没网了,却还能支付,这是什么原理?

2020-09-03
阅读 6 分钟
2.5k
现在生活已经离不开微信/支付宝电子支付,平常出去吃饭、购物只要带个手机,就可以解决一切,以致于现在已经好久没摸过真💰了。有一次出去吃饭,排着队付钱,等着过程非常无聊,准备拔出手机来把荒野乱斗,却发现这个地方竟然连不上网 。看着手机明明信号满格,但是就是显示网络无连接,苹果手机用户痛,谁用谁知道。画外...

服务应用突然宕机了?别怕,Dubbo 帮你自动搞定服务隔离!

2020-08-28
阅读 4 分钟
2.3k
某日中午,午睡正香的时候,接到系统的报警电话,提示生产某物理机异常宕机了,目前该物理机已恢复,需要重启上面部署的应用。这时瞬间没有了睡意,登上堡垒机,快速重启了应用,系统恢复正常。本想着继续午睡,但是已经没有了睡意。旁边的小师弟(我们叫他小灰吧)刚才在我们边上,目睹这一切,然后向我请教个问题。小...

实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!

2020-08-19
阅读 9 分钟
3k
上次小黑在文章中介绍了四种分布式一致性 Session 的实现方式,在这四种中最常用的就是后端集中存储方案,这样即使 web 应用重启或者扩容,Session 都没有丢失的风险。今天我们就使用这种方式对 Session 存储方式进行改造,将其统一存储到 Redis 中。实现方案我们先来想一下,如果我们不依靠任何框架,自己如何实现后端 ...

艺术鬼才,Unicode 字符还能这么玩?

2020-07-27
阅读 8 分钟
2.7k
上周的时候,朋友圈的直升飞机不知道为什么就火了,很多朋友开着各种花式飞机带着起飞。 还没来得及了解咋回事来着,这个直升飞机就🔥到的微博热搜。 后面越来越多人开来他们的直升飞机,盘旋在朋友圈上方。于是很多朋友开来他们的坦克,专打直升飞机,一轰一个准。 好了,说回正题! 程序员朋友应该都很熟悉 Unicode (...

一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~

2020-07-17
阅读 5 分钟
1.4k
起初这个系统的用的人也不多,为了节省资源,这个系统仅仅只是单机部署。后来随着用的人越来越多,单机已经有点扛不住了,于是我决定再部署了一台机器。

6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!

2020-07-14
阅读 3 分钟
1.4k
每周趣图 产品经理设计体验/用户实际体验 本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码。 还等什么?赶紧上车吧...... 先赞后看,养成习惯。微信搜索「程序通事」,关注就完事了~ 前进/后退 我们使用浏览器的过程,可以点击后退查看之前的浏览记录。在 IDEA 也有同样的功能,当我...

Dubbo 高危漏洞!原来都是反序列化惹得祸

2020-07-09
阅读 11 分钟
2.2k
前言 这周收到外部合作同事推送的一篇文章,【漏洞通告】Apache Dubbo Provider默认反序列化远程代码执行漏洞(CVE-2020-1948)通告。 按照文章披露的漏洞影响范围,可以说是当前所有的 Dubbo 的版本都有这个问题。 无独有偶,这周在 Github 自己的仓库上推送几行改动,不一会就收到 Github 安全提示,警告当前项目存在...

没想到,这么简单的线程池用法,深藏这么多坑!

2020-06-29
阅读 7 分钟
1.8k
又又又踩坑了 生产有个对账系统,每天需要从渠道端下载对账文件,然后开始日终对账。这个系统已经运行了很久,前两天突然收到短信预警,没有获取渠道端对账文件。 ps:对账系统详细实现方式:对账系统设计与实现 本以为又是渠道端搞事情,上去一排查才发现,所有下载任务都被阻塞了。再进一步排查源码,才发现自己一直用...

老大吩咐的可重入分布式锁,终于完美的实现了!!!

2020-06-15
阅读 9 分钟
9.4k
最近在做一个项目,将一个其他公司的实现系统(下文称作旧系统),完整的整合到自己公司的系统(下文称作新系统)中,这其中需要将对方实现的功能完整在自己系统也实现一遍。

造了一个 Redis 分布锁的轮子,没想到还学到这么多东西!!!

2020-06-08
阅读 9 分钟
2k
书接上文 上篇文章「MySQL 可重复读,差点就让我背上了一个 P0 事故!」发布之后,收到很多小伙伴们的留言,从中又学习到很多,总结一下。 先赞后看,微信搜索「程序通事」,关注就完事了 上篇文章可能举得例子有点不恰当,导致有些小伙伴没看懂为什么余额会变负。 这次我们举得实际一点,还是上篇文章 account 表,假设...

我去,这么简单的条件表达式竟然也有这么多坑

2020-06-05
阅读 5 分钟
1.4k
最近,小黑哥在一个业务改造中,使用三目运算符重构了业务代码,没想到测试的时候竟然发生 NPE 的问题。 重构代码非常简单,代码如下: {代码...} 这段 if 判断,小黑哥看到的时候,感觉很是繁琐,于是使用条件表达式重构了一把,代码如下: {代码...} 测试的时候,第四行代码抛出了空指针,这里代码很简单,显然只有 si...

MySQL 可重复读,差点就我背上了一个 P0 事故!

2020-06-01
阅读 5 分钟
3.7k
小黑黑的碎碎念 哎,最近有点忙,备考复习不利,明天还要搬家,好难啊!! 本想着这周鸽了,但是想想还是不行,爬起来,更新一下,周更可不能断。偷懒一下,修改一下之前的一篇历史文章,重新发布一下。 先赞后看,微信搜索「程序通事」,关注就完事了 P0 事故:余额多扣! 这是一个真实的生产事件,事件起因如下: 现有...

用了这么多年的 Java 泛型,你对它到底有多了解?

2020-05-22
阅读 6 分钟
3.8k
作为一个 Java 程序员,日常编程早就离不开泛型。泛型自从 JDK1.5 引进之后,真的非常提高生产力。一个简单的泛型 T,寥寥几行代码, 就可以让我们在使用过程中动态替换成任何想要的类型,再也不用实现繁琐的类型转换方法。

解读银行卡支付背后的原理

2020-05-19
阅读 5 分钟
3.1k
上次写了一篇『轻轻一扫,立刻扣款,付款码背后的原理你不想知道吗』 ,本以为这类文章没什么会看,没想到发布之后,阅读量数据还不错。那么今天小黑哥再来跟大家聊聊支付。 虽然现在我们主流的支付方式是使用支付宝/微信支付,但是当我们余额不足,或者选择从银行卡扣款时,将就会使用到银行卡支付。 所以今天我们就来...

求求你了,不要再自己实现这些逻辑了,开源工具类不香吗?

2020-05-12
阅读 9 分钟
2.9k
不过最近给其 Review 代码的时候,小黑哥发现小师弟有些代码逻辑有些繁琐,有些代码小黑哥看来可以用一些开源工具类实现,不需要自己重复实现。