• 最小权限:在完成某种 操作 时所赋予网络中每个主体(用户或进程) 必不可少的特权
  • 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 最近最少使用