摘要:
说明 前几天,突然发生线上报警,钉钉连发了好几条消息,一看是RabbitMQ相关的消息,心头一紧,难道翻车了? [橙色报警] 应用[xxx]在[08-15 16:36:04]发生[错误日志异常],alertId=[xxx]。由[org.springframework.amqp.rabbit.list 阅读全文
摘要:
本文口味:冰镇杨梅 预计阅读:20分钟 说明 最近公司在搞活动,需要依赖一个第三方接口,测试阶段并没有什么异常状况,但上线后发现依赖的接口有时候会因为内部错误而返回系统异常,虽然概率不大,但总因为这个而报警总是不好的,何况死信队列的消息还需要麻烦运维进行重新投递,所以加上重试机制势在必行。 重试机制 阅读全文
摘要:
本文口味:鱼香肉丝 预计阅读:10分钟 一、说明 在上一篇中,介绍了RabbitMQ中的死信队列是什么,何时使用以及如何使用RabbitMQ的死信队列。相信通过上一篇的学习,对于死信队列已经有了更多的了解,这一篇的内容也跟死信队列息息相关,如果你还不了解死信队列,那么建议你先进行上一篇文章的阅读。 阅读全文
摘要:
本文口味:爆炒鱿鱼 预计阅读:15分钟 一、说明 RabbitMQ是流行的开源消息队列系统,使用erlang语言开发,由于其社区活跃度高,维护更新较快,性能稳定,深得很多企业的欢心(当然,也包括我现在所在公司【手动滑稽】)。 为了保证订单业务的消息数据不丢失,需要使用到RabbitMQ的死信队列机制 阅读全文
摘要:
本文口味:番茄炒蛋,预计阅读:10分钟。 博客又停更了两个月,在这期间,对人生和世界多了许多思考。在人生的不同阶段,会对生活和世界有着不一样的认知,而认知的改变也会直接反应在行为模式之中。 对于生活的思考心得也会在之后的时间里,慢慢分享给大家,一方面是对自己心路历程的记录和总结,另一方面也希望能给遇 阅读全文
摘要:
重装这么简单的操作还用得着写篇文章吗??emmmm,言之有理,简单的重装就是卸载后重新下载最新的安装包然后安装就完事了,这里说的肯定是不简单的重装【滑稽】。 背景是这样的,之前在mac上对印象笔记的笔记本做了一次重新编排,并将很多没有用的文章做了删除,一顿操作猛如虎。重排一时爽,一直重排一直爽,但在 阅读全文
摘要:
说明 昨天同事开发的时候遇到了一个奇怪的问题。 使用Guava做缓存,往里面存一个List,为了方便描述,称它为列表A,在另一个地方取出来,再跟列表B中的元素进行差集处理,简单来说,就像是下面这样: 先调用save方法,然后调用get方法,然后就抛出了异常: 问题探索 究竟是人性的泯灭还是道德的沦丧 阅读全文
摘要:
前文链接 "【动态规划】01背包问题" "【动态规划】01背包问题【续】" "【动态规划】完全背包问题" "【动态规划】多重背包问题" 说明 看完前面四篇关于背包问题的文章,你会发现背包问题其实也不过如此,而且它们之间有很多相似的地方,本篇文章就来揭开它们面纱,将背包问题彻底搞定。 三种背包问题的比 阅读全文
摘要:
说明 前面已经介绍完了01背包和完全背包,今天介绍最后一种背包问题——多重背包。 这个背包,听起来就很麻烦的样子。别慌,只要你理解了前面的两种背包问题,拿下多重背包简直小菜一碟。 如果没有看过前两篇01背包和完全背包的文章,强烈建议先阅读一下,因为本文跟前两篇文章关联性很强。 多重背包 有N种物品和 阅读全文
摘要:
说明 在上一篇中,我们对01背包问题进行了比较深入的研究,这一篇里,我们来聊聊另一个背包问题:完全背包。 完全背包 有N种物品和一个容量为T的背包,每种物品都就可以选择任意多个,第i种物品的价值为P[i],体积为V[i],求解:选哪些物品放入背包,可卡因使得这些物品的价值最大,并且体积总和不超过背包 阅读全文
摘要:
说明 五一将至,又到了学习的季节。目前流行的各大书单主打的都是豆瓣8.0评分书籍,却很少有人来聊聊这9.0评分的书籍长什么样子。刚好最近学了学python爬虫,那就拿豆瓣读书来练练手。 爬虫 本来思路是直接爬豆瓣的书籍目录,将评分9.0以上的书筛选出来,一打开发现事情并不简单,几千万本书可不好爬 = 阅读全文
摘要:
abstract 属性说明 在java的语义里是代表抽象的意思,用来说明被修饰的类是抽象类。在Spring中bean标签里的 的含义其实也差不多,表示当前bean是一个抽象的bean,从而不会为它生成实例化对象。 声明一个bean,但是又不让它实例化??? 莫方,存在即合理, 属性存在必定有其存在的 阅读全文
摘要:
说明 时隔一周,GotoSSH又迎来了一次重大更新,让这个史诗级的shell工具变得更加丝般顺滑了~ 这次的主要更新是对自定义全局命令以及自定义属性的支持,让设置更加灵活,此外,对各个细节进行了调整,并修复了一些极少数情况下可能会发生的bug。 另外,最重要的一点是,对代码进行了大量优化和注释,让小 阅读全文
摘要:
说明 虽然已经是凌晨,但丝毫不能掩盖我激动的心情,今天完成了对GotoSSH的一次大更新,新增了两个肥肠实用的功能,我只能说,是真的好用,话不多说,先来看效果图: 普通的一键登录: 一键登录跳板机,然后跳转登录线上服务器: 一键登录跳板机查看指定日志: 一键登录跳板机后跳转线上服务器查看指定日志: 阅读全文
摘要:
说明 前阵子上线,一次性上了十个服务,一直上到凌晨才完事,期间每个服务都要先输入跳板机的登录信息来登录跳板机,然后再输入线上服务器的信息来登录线上服务器,实在是太过于麻烦,而且有些服务还有好几台服务器,检查问题的时候,服务器跳来跳去的,简直苦不堪言。 于是,便萌发了用shell脚本的方式来一键跳转的 阅读全文
摘要:
说明 这段时间每天加班,确实没有整块的时间来写博客了,一不小心就到周末了,要是不写篇博客,那就又要鸽了。为了不打脸,还是加班加点的把这篇博客给写了出来。 再说个题外话,最近一直在看一本关于 的掘金小册,感觉很棒,作者用通俗易懂的语言将 的底层原理进行了介绍,图文并茂,讲解的很深入,可以看出作者应该是 阅读全文
摘要:
说明 前面用动态规划解决了正则表达式的问题,感觉还是不过瘾,总觉得对于动态规划的理解还没有到位,所以趁热打铁,继续研究几个动态规划的经典问题,希望能够借此加深对动态规划的理解。在此之前,还需要说两个跟动态规划有关的理论知识。 最优化原理 最优化原理指的最优策略具有这样的性质:不论过去状态和决策如何, 阅读全文
摘要:
scope 属性说明 在spring中,在xml中定义bean时,scope属性是用来声明bean的作用域的。对于这个属性,你也许已经很熟悉了,singleton和prototype信手捏来,甚至还能说出request、session、global session,scope不就只有这么几个值吗。 阅读全文
摘要:
说明 今天在阅读Spring源码的时候,发现在加载xml中的bean时,解析了很多标签,其中有常用的如:scope、autowire、lazy init、init method、destroy method等等。但还有很多很少用甚至没用过的标签,看来对这个经常使用的框架,还是知之甚少,本着探索的精神 阅读全文
摘要:
题目描述 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 ' ' 的正则表达式匹配。 '.' 匹配任意单个字符。 ' ' 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。 说明: s 可能为空,且只包含从 a z 的小写字母。 p 可能为空,且只 阅读全文