带你了解什么是Push消息推送
而Push消息是这么多种类型之中非常重要和常用的一种类型,最近也希望针对Push推送做些新的尝试,于是去学习学习些Push消息运营的技巧。 这篇文章主要是记一些笔记,以及希望听听你们是怎么看待Push推送的(不妨在评论区留言)。 Push消息是非常常见的,每个APP几乎都有此类…
Java 8都出那么久了,Stream API了解下?
Java 8 引入了全新的 Stream API,可以使用声明的方式来处理数据,极大地方便了集合操作,让我们可以使用更少的代码来实现更为复杂的逻辑,本文主要对一些常用的Stream API进行介绍。 Stream(流)是一个来自数据源的元素队列,它可以支持聚合操作。 聚合操作:…
细数 SharedPreferences 的那些槽点 !
最近在处理一个历史遗留项目的时候饱受其害,主要表现为偶发性的 SharedPreferences 配置文件数据错乱,甚至丢失。经过排查发现是多进程的问题。项目中有两个不同进程,且会频繁的读写 SharedPreferences 文件,所以导致了数据错乱和丢失。趁此机会,精读了一…
IDEA中的Git操作,看这一篇就够了!
大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作。 使用前需要安装一个远程的Git仓库和本地的Git客户端,具体参考:10分钟搭建自己的Git仓库。 提交代码并…
小白学习如何打日志
记得之前写过一篇:《阿里巴巴 Java开发手册》读后感,之前自学时由于没怎么接触过打“日志”,所以《手册》中的“日志规约”我就先放一边去了。 而之前写了一篇:在公司做的项目和自己在学校做的有什么区别?中就有提到:公司的项目不会有e.printStackTrace();这种代码的…
10分钟搭建自己的Git仓库
GitLab是一款使用MIT许可证的基于网络的Git仓库管理工具,我们可以使用它来搭建自己的Git仓库,本文将介绍如何使用Gitlab在Linux下快速搭建Git仓库。 由于Gitlab启动比较慢,需要耐心等待10分钟左右,如果Gitlab没有启动完成访问,会出现如下错误。 可…
如何正确的在 Android 上使用协程 ?
你还记得是哪一年的 Google IO 正式宣布 Kotlin 成为 Android 一级开发语言吗?是 Google IO 2017 。如今两年时间过去了,站在一名 Android 开发者的角度来看,Kotlin 的生态环境越来越好了,相关的开源项目和学习资料也日渐丰富,身边…
我的Github开源项目,从0到20000 Star!
最近,我在Github上面开源的项目mall已经突破了20000 Star,这个项目是2018年3月份开始开发的,耗时9个月,发布了第一个版本,一直维护至今。回想起来,还是有诸多感慨的,下面我就谈谈我的项目发展的整个历程。 2018年3月的时候,我在Github上面闲逛,想要找…
营销模块数据库表解析:首页内容推荐功能
本文主要对首页内容推荐功能相关表进行解析,采用数据库表与功能对照的形式。 mall项目全套学习教程连载中,关注公众号第一时间获取。
Postman:API接口调试利器
Postman是一款API接口调试工具,使用它可以很方便的对接口进行测试,并且后端人员可以将自己的调试结果导出,方便前端人员调试。 下载完安装包后直接双击安装即可。 这里不得不说,Postman的界面还是做的很好的,比起Swagger来说好多了,Postman默认提供了两种主题…
AndroidUtilCodeKTX !是时候提升你的开发效率了 !(更新啦 !)
AndroidUtilCodeKTX (以下简称 Ktx) 正式开源已经有一个月了。到目前为止,在 Github 上收获了 98 个 star 和 11 次 fork。期间上了一次 Github Trending Kotlin 分类的榜单,也收到了一些开发者的好评以及建议。经过…
营销模块数据库表解析:优惠券功能
本文主要对优惠券功能相关表进行解析,采用数据库表与功能对照的形式。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall-tiny:基于SpringBoot+MyBatis的单应用项目骨架
mall-tiny是从mall项目中抽取出来的项目骨架,保留了mall项目的整个技术栈,对业务逻辑进行了精简,只保留了权限及商品核心表,方便开发使用,可以自由定制业务逻辑。 本项目启动需要依赖MySql、Elasticsearch、Redis、MongoDb、RabbitMq等…
营销模块数据库表解析:限时购功能
本文主要对限时购(秒杀)功能相关表进行解析,采用数据库表与功能对照的形式。 注意:添加到限时购的商品需要修改pms_product表的promotion_type为5,优惠计算规则也应该改成使用限时购的优惠。 mall项目全套学习教程连载中,关注公众号第一时间获取。
前后端分离项目,如何解决跨域问题
跨域资源共享(CORS)是前后端分离项目很常见的问题,本文主要介绍当SpringBoot应用整合SpringSecurity以后如何解决该问题。 CORS全称Cross-Origin Resource Sharing,意为跨域资源共享。当一个资源去访问另一个不同域名或者同域名不…
最近学到的前后端分离知识
前后端分离这个词相信大家都听过,不知道大家是怎么理解的呢。前阵子看项目的时候,有一段实现硬是没看懂,下面来给大家说一下一段愚蠢的经历哈。 在某一天,我在查接口的时候,习惯F12,想直接看一下这个请求返回的JSON数据是什么。但是一看,在network返回的是html格式: 于是…
订单模块数据库表解析(三)
本文主要对订单退货及订单退货原因设置功能相关表进行解析,采用数据库表与功能对照的形式。 mall项目全套学习教程连载中,关注公众号第一时间获取。
记一次愚蠢的操作--线程安全问题
我这边有一个系统,提供一个RPC接口去发送各种信息(比如短信、邮件、微信)等等渠道。我这边的系统架构是这样的: 概括:service系统提供一个RPC接口,别人调用我提供的接口,我在service系统中对这个消息进行判断、拼接等等业务逻辑,最后会将这个消息放到消息队列里边。se…
订单模块数据库表解析(二)
本文主要对购物车功能相关表进行解析,介绍从商品加入购物车到下单的整个流程,涉及购物车优惠计算流程、确认单生成流程、下单流程及取消订单流程。 代码实现逻辑可以参考OmsPromotionServiceImpl类中的calcCartPromotion方法。 代码实现逻辑可以参考Om…
订单模块数据库表解析(一)
本文主要对订单及订单设置功能的表进行解析,采用数据库表与功能对照的形式。 mall项目全套学习教程连载中,关注公众号第一时间获取。