Deadline

Minimalist coder

我小的时候也叫三毛

三毛,撒哈拉沙漠的故事

上周末偶然在一家咖啡店看到了三毛的书《撒哈拉沙漠的故事》,发现还挺有意思的。因为是在等人,所以时间有限只看了前面几结。后来就心心念念想接着把后面的看完,买书是不可能买的,因为太占地方了,家里专业书已经挺多了,我已经很发愁要是以后搬家可怎么办啊,前段时间还把一些以后肯定不会看的书扔掉了。最后我机智的想到可以去图书馆借来看,还特意把借书证升级成参考外借了,比普通外借要多收一千块押金。五一一放假就...

Spring AOP 结合注解实现方法执行时间统计

Spring AOP,注解,annotation

公司有一套模调系统,监控方法的执行时间等一些基本信息。 大概原理就是将监控的数据根据规则组装成一段数据,然后以 udp 的方式发送到模调服务器上,模调服务然后会对数据继续做一些加工,最后就能通过上图的方式展现出来了。PHP 那边很多东西都已经封装好了,使用的话就是在方法开始标记,然后方法结束的时候再计算下执行时间。 恩,非常不优雅! 虽然我们是公司唯一的 Java 项目,但是感觉模调...

数据库连接池碰到的那些问题

MySQL,Last packet sent to the server,testOnBorrow,connection pool

项目中一直有一个顽疾,就是数据库连接池这块。现在用的连接池是之前团队自己写的,然后和项目耦合的很紧,没办法直接替换掉,所以一直没动过。下面说问题。 流量暴增带来的问题 运营每天早上会向所有用户发送推送,emmmm,标题党那种,一看标题就让人很想点开的那种,所以每天那个时间点的 QPS 会突增,平时大概 200-300 左右,但是那个时间点的峰值 1500-5000 左右。几秒之内突然暴涨 ...

软件设计师考试

软件设计师

去年参加了 17 年下半年的软件设计师考试。全名叫中国计算机软件专业技术资格和水平考试,软件设计师属于中级考试。 为啥要考这个呢?可能最主要的原因是为了以后居转户吧,上海居转户里有一个要求是需要中级职称。当然还有其他的条件可以取代,就算用不上多拿一个证也没啥坏处,万一哪天就用上了呢,是吧。 考试还算简单,分为上午下午两场,上午 75 道选择题,下午是大题。上午难,因为考的知识点很多很杂,...

ElasticSearch 每个 doc 多地理位置距离排序

ElasticSearch,geo_point,doc,经纬度

ElasticSearch 同一条记录中包含多个经纬度做距离排序问题。 问题背景,一个教练有多个练车场地,给学员推荐教练的时候,教练列表会显示距离,产品经理希望展示的距离是教练离学员最近的那一个。 或者我再举一个类似的例子,一家连锁小吃店,有很多个分店,但是店名都是同一个不会显示xx分店之类的,那在外卖列表里按距离排序的时候只显示最近的那个店距离。不知道这样说是不是好理解一些。 因为我之前...

Java servlet 对于 POST 数据处理的一些细节

最近和其他项目组合作,需要调试 http 接口签名。我先简单介绍下他们的验签规则。 get 方法:直接将 url 中的参数串取出来(queryString)。再将 sign 字段和值截掉。将剩下的字符串 MD5 一次,再加上约定的 key,再次 MD5 得到最终的签名,和 sign 值比对。 举个例子: https://xxxx.com/xx?a=1&b=2&sign=x...

一次线上 OutOfMemoryError 排查

最近线上服务器经常出现 java.lang.OutOfMemoryError: Java heap space 错误。 这篇文章就记录下排查错误的过程。 拿到 HeapDump 文件 JVM 参数 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/dumps -XX:+HeapDumpOnOutOfMemoryError 该...

突发性耳聋

周二晚上右耳突然耳鸣了,而且听声音很奇怪的感觉,两只耳朵听到的声音不太一样。以为自己前几天挖耳朵可能挖坏了还是怎样,发炎了之类的。打算睡一觉看看第二天好不好。 结果第二天症状依旧,耳鸣似乎有更严重的迹象,中午去吃饭,吃饭的人很多周围声音嘈杂,感觉自己在坐飞机上似的,轰隆轰隆响!下午果断请假去医院看看。 然后去了附近一个三甲医院,挂号排队,看医生。医生看了下我的耳朵说,外面看是好的,然后让...

阿里 RPC 框架 dubbo 中的那些坑

公司现在的项目用了 58 内部的一个 RPC 框架,一直有个接收数据超时的问题,由于不是开源的(号称开源,结果只是换了个名字,然后开源了第一个版本的代码而已,后面也没有人维护和更新),所以很难排查问题。反正从我进公司开始就一直被这个问题折腾,因为这个问题还会导致很多的连锁 Bug,简直不要太坑。 之后决定使用阿里 dubbo 框架替换掉现在使用的,dubbo 总体来说还是不错,然而其中也碰...

Redis 实现排行榜功能

排行榜是个非常常见的功能,很多 app 里面都有类似的功能,自己正好最近做了这样一个功能,记录一下。 Redis 有序集合 Redis 有序集合和集合一样也是 String 类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个 double 类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集...