RBAC模型学习
0 RBAC 和 ABAC RBAC:Role-Based Access Control 基于角色的访问控制 ABAC:Attribute-Based Access Control 基于属性的访问控制 美国国家标准与技术研究院为RBAC分了4级,为RBAC0-3 1 RBCA基础概念 RBAC:Role-Based Access Control,基于角色的访问控制。 通过引入 角色 这一概念,将用户和权限解耦,来满足权限的批量管理。 实现最简单的RBAC系统(也就是RBAC0)一共需要五张表:三张信息表和两张关系表。 三张信息表:用户信息表、角色信息表和权限信息表 两张关系表:用户-角色关系表、角色-权限关系表 模型操作 授权:通过给用户分配不同的角色,来改变其拥有的权..
Read moreoverleaf使用(Latex)
这个坑还是晚点再填吧,到时自己看书学学
Read moregit学习
连接 基础篇 undo 撤销一次更改 git commit 进行一次更改 git branch name 创建一个名为 name 的分支 分支:可以理解为树分叉,每次选一个分叉进行开发 git checkout name 切换到name的分支上 git checkout -b name 创建一个分支并转移到分支上 git merge name 将当前所在分支合并到name git rebase name 将当前分支与name分支的另一种合并方法 高级篇 head相当于当前指向位置 git checkout hashval(绝对引用) 将head移动到对应hashval的节点上 git checkout name^ (相对应用) 表示将head指向name提交位置的..
Read more微服务设计
[toc] 本文章为阅读这 微服务设计[美]Sam Newman 一书籍的读书笔记 第1章 微服务 1.1 什么是微服务 微服务就是一些协同工作的小而自治的服务 1.1.1 很小,专注于做好一件事 单一职责原则:把因相同原因而变化的东西聚合在一起,把因不同原因而变化的东西分离开来(Robert C.Martin) 在代码层面:代码的内聚性 在服务层面:微服务 服务越小,微服务架构的优点和缺点也越明显 服务越小,带来的独立性的好处多但管理大量服务也会越复杂 1.1.2 自治性 一个微服务就是一个独立的实体。它可以独立地部署在PAAS上,也可以作为一个操作系统进程存在。 但我们应该尽量避免把多个服务部署到同一个机器上,尽管这种隔离性会引发一些代价,但它能够大大简化分布式系统的构建 服务之..
Read more微服务技术栈(未完)
[toc] 视频地址 认识微服务 01 服务框架演变 单体架构 概念:将业务的所有功能集中在一个项目中进行开发,打成一个包部署 优点:架构简单,部署成本低 缺点:耦合度高 分布式架构 概念:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,成为一个服务 优点:降低服务耦合,有利于服务拓展升级 考虑问题: 服务拆分粒度如何? 服务集群地址如何维护? 服务之间如何实现远程调用? 服务健康状态如何感知? 微服务:是一种经过良好架构设计的分布式架构方案 微服务架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发 面向服务:微服务对外暴露业务接口 自治:团队独立,技术独立,数据独立,部署独立 隔离性强:服务调用做好隔离,容错,降级,..
Read more图解HTTP
本文章为阅读图解HTTP(上野宣)这一书籍的读书笔记 第一章 了解Web及网络基础 Web通过一种名为HTTP(HyperText Transfer Protocol,超文本传输协议)作为规范,完成客户端到服务器端的一系列运行流程 1 TCP/IP TCP/IP协议族,分为4层 应用层:向用户提供应用服务时通信的活动。 协议:FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统),HTTP 传输层:对上层应用层,提供处于网络连接中的两台计算机之间的数据传输 协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议) ..
Read more初入后端(未完)
[toc] Maven 视频地址 01 Maven概述 Maven 时apache 旗下的一个开源软件,是一款用于管理和构建java项目的工具 他基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建 作用 依赖管理:方便快件的管理项目依赖的资源(jar包),避免版本冲突 统一项目结构:提供标准,同一的项目结构 项目构建:标准跨平台(Linux,Windows,MacOS)的自动化项目构建方式 官网 Maven介绍 02 IDEA集成Maven Maven安装:按视频走即可 根据视频进行maven的配置。 IDEA创建Maven项目 创建模块,选择Maven,点击Next 填写模块名称,坐标信息,点击Finish,创建完成 编写程序运行 Maven坐标 什么是坐..
Read moreRedis学习(未完)
[toc] 视频地址 初识Redis 1 认识NoSQL SQL(关系型数据库) NoSQL(非关系型数据库) 数据结构 结构化 非结构化(键值型Redis,图类型Neo4j,文档型MongoDB,列类型HBase) 数据关联 关联的 无关联的 查询方式 SQL查询 非SQL 事务特性 ACID BASE(基本满足ACID) 存储方式 磁盘 内存 扩展性 垂直 水平 使用场景 (1)数据结构固定(2)相关事务对数据安全性,一致性要求较高 (1)数据结构不固定(2)对一致性,安全性要求不高(3)对性能要求 2 认识Redis Redis诞生于2009年,全称 Remote Dictionary Server,远程词典服务,是一个基于内存的键值型NoSQL数据库 ..
Read moreOn java 8 基础卷(8-14章)
8 复用 8.1 组合语法 组合:将对象引用放入新类中即可 初始化引用有以下4中方式 在定义时立刻初始化 在类的构造器中 在对象实际使用之前 使用实例初始化 class Soap { private String s; Soap() {//2 构造器初始化 System.out.println("Soap()"); s = "Constructed"; } @Override public String toString() { return s; } } public class Bath { private Str..
Read moreOn java 8 基础卷(1-7章)
[toc] 0 导读 摘要: 本书是布鲁斯 • 埃克尔时隔 15 年,继 Thinking in Java 之后又一力作,基于 Java 的 3 个长期支持版(Java 8、11、17),讲解 Java 核心语法,并对 Java 的核心变化进行详述。全书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避一些常见的开发陷阱。 主体部分共 22 章,内容包含对象、操作符、控制流、初始化和清理、复用、多态、接口、内部类、集合、函数式编程、流、异常、代码校验、文件、字符串、泛型等。 本书适合各个层次的 Java 开发者阅读,同时也可作为面向对象程序设计语言以及 Java 语言的参考教材。 这是一本2022年的新书 Java 是一门派生语言。当时的情况是,早期..
Read more