- 最小权限:在完成某种 操作 时所赋予网络中每个主体(用户或进程) 必不可少的特权
- RTT:Round Trip Time 网络延迟
- 权限设计的四种模型:
- ACL(Access Control List):
- RBAC(Role-Based Access Control):
- 基于 角色 的权限控制
用户 -> 角色 -> 权限
- ABAC(Attribute-Based Access Control):
- 基于 属性 的权限控制,该模型根据特殊的规则分配权限
(用户、资源、对象属性)-> 权限
- PBAC(Policy-Based Access Control):
- 基于 策略 的权限控制,用户(组)隶属于角色,角色隶属于资源(项目)
用户 -> 角色 -> (资源/项目 + 权限)
- DLL: Dynamic-link library 动态链接库
- NLP: Natural language processing 自然语言处理
- ISP:internet Service Provider 互联网服务供应商
- AOT: Ahead-Of-Time 预先编译
- JIT:Just-In-Time 即时编译
- DFS: Depth-first Search 深度优先遍历
- BFS: Breadth-first search 深度优先遍历
- N/A: not applicable 不适用
- IoC: Inversion of Control 控制反转
- 是一种在软件工程中 解耦合的思想,调用类只依赖接口,而不依赖具体的实现类,减少了耦合
- DI: Dependency Injection 依赖注入
- 用来松类与类之间耦合
- DI 是 IoC 的一种实现方式
- DTO: Data Transfer Object 数据传输对象
- RPC: Remote Procedure Call 远程过程调用
- 设计一个机制让远程调用服务就像调本地服务一样简单,这就是 RPC 思想
- 基于 HTTP 的 RPC 调用很简单,就和我们访问网页一样,只是它的返回结果更单一(JSON 或 XML)。
- 它的优点在于实现简单,标准化和跨语言,比较适合对外提供 OpenAPI 的场景,而它的缺点是 HTTP 协议传输效率较低、短连接开销较大(HTTP 2.0 后有很大改进)
- 基于 TCP 的 RPC 调用,由于 TCP 协议处于协议栈的下层,能够更加灵活地对协议字段进行定制,减少网络开销,提高性能,实现更大的吞吐量和并发数
- 但是需要更多地关注底层复杂的细节,跨语言和跨平台难度大,实现的代价更高,它比较适合内部系统之间 追求极致性能 的场景。
- ORM: Object Relational Mapping 对象关系映射
- 应变而优: 优秀 的 API 设计是既好记又明确的
- 多态:同一个行为具有多个不同表现形式或形态的能力。
- 例如:狗和猫都会 叫 的这个行为,但是表现形式 叫声 又不同
- 函数重载 乃至 运算符重载 也是特设多态的一种。
- AOP:Aspect Oriented Programming 面向切面编程
- 在不修改源码情况下,给程序动态添加功能的技术,作用是可以用来降低业务耦合
- 在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程
- LRU:Least Recently Used 最近最少使用