记一次多线程数据拉取的网络优化思路

我们公司之前从京东慧采平台拉取的300W+条商品数据中,发现有大约78W条商品的marketPrice为空。
其中一部分是因为不在我们商品池,拉取不到价格数据;而另外一部分可能是最早拉取的代码有问题造成的,因为要得到marketPrice需要另外添加参数才能拉取到。
现在我需要对这78W条数据重新拉取价格信息。
继续阅读“记一次多线程数据拉取的网络优化思路”

DDNS的替代品:WayHome 回家之路

在家的树莓派上搭建了HomeAssistant,有时需要在外网访问,查阅了一些外网访问的方案,如ngrok、frp、DDNS等。
他们各有优势,但是ngrok、frp这种内网穿透工具,需要有自己的服务器,而且所有的流量都需要从服务器绕一次,没有必要。
DDNS不错,只需要有自己的域名即可,但是DNS同步可能最慢会有10分钟的窗口期不能访问,当然遇到的可能性比较小。
本来对于我自己来说用DDNS是个比较好的选择,但是我在查资料的时候发现很多搭建NAS的人也有类似的需求,而他们却没有必要买一个域名,所以我觉得自己可以撸一个轮子来解决这个问题。
于是WayHome就诞生了。

继续阅读“DDNS的替代品:WayHome 回家之路”

浅谈我对设计模式基本原则的理解

“设计模式”这个东西,其实在大学的时候老师就有提到过,只不过当时段位不够,不能理解。
工作后又有一时没一时的看了一些设计模式,但是都没有内化,只是知道、认识。
直到前一段时间在工作中突然灵光乍现,主动使用了一些设计模式,才慢慢体会到“设计模式”的美妙。
继续阅读“浅谈我对设计模式基本原则的理解”

Spring Security 注册登录功能的基础实现

在java安全框架方面,除了shiro,还有一个很强大的Spring Security。
它们可以帮我们执行身份验证、授权、密码和会话管理。
本次我使用Spring Security来完成前后端分离情况下的注册、登录、注销、未登录访问后台、登录后访问后台等功能。
这5大功能基本完成了一个简单的登录认证。
继续阅读“Spring Security 注册登录功能的基础实现”

模板方法模式实际应用

最近又接到一个任务,需要对接京东实物优惠接口。

由于有些商品的信息、订单的状态等会有变动,所以京东提供了一个消息推送的api接口,只不过这个“推送”是我们自己去拉取。

由于消息的类型很多,所以在拉取请求时需要传入消息类型type,京东返回对应的消息列表,我们后端做完处理后,再调用京东删除推送消息api,传入我们处理的消息ID,删除对应消息,表示我们已消费该消息。

整个流程大致就是这样,以上流程中就只有后端处理部分有不同,其他流程都是一样。
继续阅读“模板方法模式实际应用”

策略模式、工厂模式、表驱动实践应用场景–用户任务系统

现在有很多网赚的app或小程序,为了推广和留下用户,都会有一些任务,当用户完成对应的任务,就能够得到相应的奖励。
如果你没有用过这些应用,可以想想王者农药等游戏,它们也有一套任务系统,完成对应的任务,得到相应的奖励。
最近我就接到一个需求,给一个网赚小程序开发一套任务系统。
继续阅读“策略模式、工厂模式、表驱动实践应用场景–用户任务系统”