mall整合OSS实现文件上传
本文主要讲解mall整合OSS实现文件上传的过程,采用的是服务端签名后前端直传的方式。阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设…
mall整合RabbitMQ实现延迟消息
本文主要讲解mall整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例。RabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。 至此,Rabb…
《大型网站系统与Java中间件》读书笔记(上)
这本书前三章都在科普和回顾中间件/分布式的基础,讲得非常通俗易懂。在之前已经我写过基础分布式相关文章,大家可以先去看看: 高吞吐量。某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑(将这个任务拆分成10个小任务),可能2个小时就跑完了 其实在没接触过分布式之前…
mall整合Mongodb实现文档操作
本文主要讲解mall整合Mongodb的过程,以实现商品浏览记录在Mongodb中的添加、删除、查询为例。Mongodb是为快速开发互联网Web应用而构建的数据库系统,其数据模型和持久化策略就是为了构建高读/写吞吐量和高自动灾备伸缩性的系统。 mall项目全套学习教程连载中,关…
mall整合Elasticsearch实现商品搜索
本文主要讲解mall整合Elasticsearch的过程,以实现商品信息在Elasticsearch中的导入、查询、修改、删除为例。Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力,可用于实现全…
mall整合SpringTask实现定时任务
本文主要讲解mall整合SpringTask的过程,以批量修改超时订单为例。SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用。Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可…
mall整合SpringSecurity和JWT实现认证和授权(二)
接上一篇,controller和service层的代码实现及登录授权流程演示。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall整合SpringSecurity和JWT实现认证和授权(一)
本文主要讲解mall通过整合SpringSecurity和JWT实现后台用户的登录和授权功能,同时改造Swagger-UI的配置使其可以自动记住登录令牌进行发送。 后台程序通过对Authorization头中信息的解码及数字签名校验来获取其中的用户信息,从而实现认证和授权。 J…
mall整合Redis实现缓存功能
本文主要讲解mall整合Redis的过程,以短信验证码的存储验证为例。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall整合Swagger-UI实现在线API文档
本文主要讲解mall是如何通过整合Swagger-UI来实现一份相当完善的在线API文档的。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall整合SpringBoot+MyBatis搭建基本骨架
本文主要讲解mall整合SpringBoot+MyBatis搭建基本骨架,以商品品牌为例实现基本的CRUD操作及通过PageHelper实现分页查询。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall学习所需知识点
由于mall项目涉及到很多知识点,比如SpringBoot、ElasticSearch、Redis、Mongodb等,本教程不会详细讲述这些,只会讲述本项目相关部分,所以推荐以下资料。对其中一些知识点并不熟悉的同学,可以看下下面推荐的资料。 mall项目全套学习教程连载中,关注…
在 Android 上使用协程(三) :Real Work
这里是关于在 Android 上使用协程的一系列文章。本篇文章将着重于介绍使用协程来解决实际问题。 系列前两篇文章着重于介绍协程如何简化代码,在 Android 上提供主线程安全,避免泄露任务。以此为背景,对于在 Android 中处理后台任务和简化回调代码,这都是一个很好的解…
mall架构及功能概览
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运…
在 Android 上使用协程(二):Getting started
这是关于在 Android 中使用协程的一系列文章。本篇的重点是开始任务以及追踪已经开始的任务。 在上篇文章中,我们探索了协程擅长解决的问题。通常,协程对于下面两个常见的编程问题来说都是不错的解决方案: 为了解决这些问题,协程基于基础函数添加了 suspend 和 resume…
在 Android 上使用协程(一):Getting The Background
这是关于在 Android 中使用协程的一系列文章。本篇让我们先来看看协程是如何工作的以及它解决了什么问题。 Kotlin 的 Coroutines (协程) 带来了一种新的并发方式,在 Android 上,它可以用来简化异步代码。尽管 Kotlin 1.3 才带来稳定版的协程…
Android 逆向笔记 —— ARSC 文件格式解析
我们在解压缩 APK 文件之后,会看到一个叫做 resources.arsc 的文件,它的格式称之为 ARSC 文件格式 。那么它的作用是什么呢?大家对 R 文件肯定都十分熟悉,它存储了资源的 ID。在打包过程中,但凡使用到资源的地方都是使用这个 ID 来代替的。ARSC 文件…
Android 逆向笔记 —— 一个简单 CrackMe 的逆向总结
无意中在看雪看到一个简单的 CrackMe 应用,正好就着这个例子总结一下逆向过程中基本的常用工具的使用,和一些简单的常用套路。感兴趣的同学可以照着尝试操作一下,过程还是很简单的。APK 我已上传至 Github,下载地址。 要求就是通过注册。爆破的方法很多,大致可以归为三类,…
Android逆向笔记 —— DEX 文件格式解析
DEX 文件结构思维导图及解析源码见文末。 系列第一篇文章就分析过 Class 文件格式,我们都知道 .java 源文件经过编译器编译会生成 JVM 可识别的 .class 文件。在 Android 中,不管是 Dalvik 还是 Art,和 JVM 的区别还是很大的。Andr…
什么是单点登录(SSO)
在前阵子有个读者来我这投稿,是使用JWT实现单点登录的(但是文章中并没有介绍什么是单点登录),所以我觉得是时候来整理一下了。 单点登录的英文名叫做:Single Sign On(简称SSO)。 在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。 后来,我们为了合…