接口安全要求:1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口)
2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改)
3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放)
4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等)
设计原则:1.轻量级
2.适合于异构系统(跨操作系统、多语言简易实现)
3.易于开发
4.易于测试
5.易于部署
6.满足接口安全需求(满足接口安全1,2,3),无过度设计。
其它:接口安全要求防数据信息泄漏部分,主要针对目前用户中心的登录接口
设计原则是:使用HTTPS...
本章从一下几个点来介绍:
- 什么是装箱?什么是拆箱?
- 装箱和拆箱是如何实现的
- 面试中相关的问题
现代计算机,大部分都是基于冯诺依曼体系结构,而我们这里谈论的也是此问前提。冯诺依曼的核心是:存储程序,顺序执行。所以不管计算机如何发展,基本原理是相同的。计算机程序实际上是告诉计算机做什么。
分析需要储备以下知识点:
- Java注解知识
- Java反射知识
- javapoet库(在注释里也有简单分析)
- auto-service库
下面分析的时候会把各位看官当做已经掌握了以上知识点哈!
ARouter包含3个核心模块
- arouter-annotation 注解的声明和信息存储类的模块
- arouter-compiler 编译期解析注解信息并生成相应类以便进行注入的模块
- arouter-api 核心调用Api功能的模块
1.路由介绍
什么是路由框架?
说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能
为什么使用ARouter?
我们先从适用场景来分析:
动态跳转:一般来说复杂的电商跳转多页面需要很强的灵活性,很多情况下是运营人员动态配置的下发活动页面,需要灵活的进行跳转。
组件化:随着业务量的不断增长,app也会不断的膨胀,开发团队的规模和工作量也会逐渐增大,面对所衍生的64K问题、协作开发问题等,app一般都会走向组件化。组件化就是将APP按照一定的功能和业务拆分成多个组件module,不同的组件独立开发,组件化不仅能够提供团队的工作效率,还能够提高应用性能。而组件化的前提就是解耦,那么我们首先要做的就是解耦页面之间的依赖关系
Native与H5的问题:现在的APP很少是纯Native的,也很少会有纯H5的,一般情况下都是将两者进行结合。这时候就需要非常便捷并且统一的跳转方案,因为在H5中是无法使用StartActivity()跳转到Native页面的,而从Native跳转到H5页面也只能通过配置浏览器的方式实现
其他等场景