读书笔记
文章平均质量分 74
心怀敬意
天接云涛连晓雾
展开
-
学习观思维导图
原创 2021-04-04 16:13:11 · 196 阅读 · 0 评论 -
14 JWT和Spring security Oauth2
JWT和SPRING SECURITY OAUTH2JWT简介JSON Web Token:是一种开放标准(RFC 7519),定义了一种紧凑且自包含的标准,该标准旨在将各个主体的信息包装为JSON对象。主题信息是通过数字签名进行加密和验证的。常使用HMAC算法或RSA(公钥/私钥的非对称加密)算法对JWT进行签名JWT特点紧凑型:JWT使用加密后的字符串,数据体积非常小,传输速度快; 自包含:JWT包含了主体的所有信息,避免每个请求都需要向认证服务器验证身份,降低服务器的负载。JWT结原创 2021-03-22 23:03:19 · 95 阅读 · 0 评论 -
13 spring security和oauth2学习
Spring Security简介Spring Security是Spring Resource社区的一个安全组件,为系统提供安全的防护。Spring Security通过注解为每一层(controller、service、dao)都提供安全保护。Spring Security的主要目标是认证和授权,认证即认证主体的过程,通常指可以在应用程序中执行操作的用户、设备或其他系统。授权即决定是否允许已认证的主体执行某一项操作。这部分不做说明。(大佬的书中给了一个生动形象的例子,买本书看..原创 2021-03-14 16:46:01 · 309 阅读 · 0 评论 -
12 Spring Boot Admin 学习
微服务监控Spring Boot AdminSpring Boot Admin用于管理和监控一个或多个Spring Boot程序服务引入依赖添加注解和配置说明:并没有需要特别说明的地方,如果对开放访问的节点有疑问的地方,https://github.com/codecentric/spring-boot-admin/ 了解更多本地访问http://localhost:5000/进入其中一个服务,可以看到详细的监控信息...原创 2021-02-27 20:13:46 · 65 阅读 · 0 评论 -
11 Spring Cloud Sleuth学习
Spring Cloud Sleuth介绍Spring Cloud Sleuth是Spring Cloud 的一个组件,主要功能是在分布式系统中提供服务链路追踪的解决方案。微服务架构是一个分布式架构,微服务系统按业务划分服务单元,一个微服务系统往往有多个服务单元,一个请求往往需要调用多个服务才能完成,如果在服务调用的过程中出现了错误,定位问题就变的异常艰难,因为每一个服务都有很多请求,即使在当前服务中找到了异常的内容,但是前置信息却没那没容易找到,这时候就需要链路追踪了。链路追踪..原创 2021-02-27 18:29:36 · 173 阅读 · 1 评论 -
10 spring cloud config 学习
配置中心Spring Cloud Config在微服务系统中每个服务的配置都不一样,如果将配置文件与服务绑定的话,管理起来会非常的繁琐,而且容易出错,所以需要配置中来协调工作;配置中心的作用是从配置仓库中获取配置文件的信息,然后将这些信息提供给各个服务。配置中心读取本地配置文件引入jar包依赖 <dependency> <groupId>org.springframework.cloud</groupId> ...原创 2021-02-21 19:49:53 · 73 阅读 · 0 评论 -
09 zuul学习
路由网关Spring Cloud ZuulZuul的作用结合Ribbon和Eureka实现智能路由和负载均衡功能,Zuul能够将请求流量按某种策略分发到集群状态的多个服务实例; 聚合服务的API接口,统一对外暴露服务; 网关服务可以作为用户认证和权限认证中心,对服务器起到保护作用; 实现监控功能,实时日志输出,对请求进行记录; 对流量进行监控,在高流量的情况下,对服务进行降级; 将API接口从内部服务分离,方便测试。Zuul的工作原理zuul通过自定义的ZuulServlet对.原创 2021-02-21 16:45:35 · 89 阅读 · 0 评论 -
08 Hystrix学习
Hystrix解决的问题在复杂的分布式系统中,存在多个服务相互依赖的情况,如果某个服务因为某些原因不可用,例如机房的不可靠性、网络服务商的不可靠性等,系统对外界提供的整个功能都将不可用。在高并发的情况下,单个服务的延迟会导致整个请求都处于延迟状态,可能在几秒内就使得整个服务处于线程负载饱和的状态;雪崩效应:某个服务的单点故障,导致用户的请求处于阻塞状态,最终结果是整个服务的线程资源消耗殆尽。由于服务的依赖性,会导致依赖于该故障服务的其他服务也处于线程阻塞状态,最终导致这些服务的线程资..原创 2021-02-20 23:26:04 · 983 阅读 · 5 评论 -
07Feign学习
Feign是一个伪Java Http客户端,Feign不做任何的请求处理。Feign通过处理注解生成Request模板,简化Http API开发。Feign源码学习第一步服务启动时获取注解@FeignClient的类的信息FeignClientsRegistrar实例化时,调用registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry)...原创 2021-02-16 23:58:58 · 152 阅读 · 0 评论 -
06Ribbon学习
负载均衡:将负载分摊到多个执行单元上,常见的负载均衡方式有两种。第一种是独立进程单元,通过负载均衡策略,将请求转发到不同的执行单元上;第二种是将负载均衡逻辑以代码的形式封装到服务消费者的客户端上,服务消费者客户端维护一份服务提供者的信息列表,消费者通过负载均衡策略将请求分摊到多个服务提供者,以达到负载均衡的目的。源码解析Ribbon第一部分获取提供者服务信息,通过ILoadBalancer获取服务提供者信息LoadBalancerClient.. choose(ServiceId).原创 2021-02-10 19:19:42 · 94 阅读 · 0 评论 -
05Eureka学习
Eureka的一些概念Register-服务注册当Eureka Client向Eureka Server注册的时候,client会向server提供自身的元数据信息,如:IP地址、端口、运行状况Renew-服务续约client每个30秒向server发送信息告知server服务正常,如果在90秒内,server没有收到client的消息,server默认client已下线,将client实例从服务列表中删除Fetch Registries-获取服务注册列表信息client向serve原创 2021-02-06 19:09:14 · 93 阅读 · 0 评论 -
04spring boot学习
Spring Boot使用Spring Boot的作用:简化配置,敏捷开发;主要特点:自动配置,起步依赖、Actuator对运行状态监控简单内容不作介绍,主要介绍Actuator健康检测https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html添加依赖 <dependency> <groupId>org....原创 2021-01-23 20:06:46 · 51 阅读 · 0 评论 -
03构建准备
MavenApache Maven是一款非常流行的项目管理工具,基于工程对象模型(Pom)概念设计工具不做过多介绍,百度下载安装对Pom中比较重要的标签进行说明:project标签:文件的根元素,声明pom相关的命名空间,modelVersion指定版本groupId标签:代表公司或组织名称,一般为公司域名倒写artifactId标签:项目的全局唯一IDparent标签:指定父pomproperties标签:声明一些常量dependencies标签:声明依赖..原创 2021-01-23 16:56:02 · 53 阅读 · 0 评论 -
02微服务介绍2
微服务的特点与功能特点按照业务划分服务,单个服务代码量少,业务单一,方便维护 每个服务都有自己的独立组件 服务之间通过HTTP协议或消息组件MQ通信,都具有容错能力,HTTP的熔断,MQ的死信 有服务治理方案,服务之间不耦合,可以方便地加入和剔除服务 单个服务可以集群化,并且具有负载均衡的能力 整个微服务系统具有完整的安全机制,包括用户验证,权限验证,资源保护 具有服务调用链路追踪能力 具有实时的日志系统功能服务的注册与发现 服务的负载均衡 服务的容错 服务的网关 .原创 2021-01-23 16:08:15 · 137 阅读 · 0 评论 -
读书笔记-深入理解springcloud与微服务构建
前言:随着互联网的普及,互联网用户的爆发式增加,业务场景越来越复杂,云计算、大数据、人工智能等新兴技术的飞速发展,单体架构已经很难满足发展需要。主要体现在两个方面:一是随着业务复杂度的提高,代码的可维护性、可拓展性和可读性在降低;二是维护系统的成本和修改系统的成本在提高。单体架构及其不足常用的单体架构单体架构常用的模型是三层模型,即表示层、业务逻辑层和数据访问层。表示层:直接与用户交互,通常是网页或UI;业务逻辑层:用户的业务数据处理;数据访问层:与数据库进行用户数据传输。.原创 2021-01-17 19:31:53 · 156 阅读 · 0 评论 -
计算机网络第四章--网络层
原创 2020-10-18 23:47:07 · 129 阅读 · 0 评论 -
计算机网络第四章--数据链路层
原创 2020-10-14 23:55:37 · 157 阅读 · 0 评论 -
计算机网络第三章-数据链路层
原创 2020-09-22 20:22:29 · 76 阅读 · 0 评论 -
计算机网络第二章--物理层
原创 2020-08-31 21:38:26 · 103 阅读 · 0 评论 -
Head First设计模式读书笔记-第十三章 Pattern 模式
模式模式是在某情境下,针对某问题的某种解决方案情境:应用某个模式的情况问题:想在某情境下达到目标,也可以氏某情境下的约束解决方案:一个通用的设计,用来解决约束,达到目标装饰者:包装一个对象,以提供新的行为状态:封装基于状态的行为,并使用委托在行为之间切换迭代器:在对象的集合之中游走,而不暴露集合的实现外观:简化一群类的接口策略:封装可互换的行为,并使用委托来决定要使用哪一个代理:包装对象,以控制对此对象的访问工厂方法:由子类决定要创建的具体类是哪一个适配.原创 2020-08-16 11:10:53 · 177 阅读 · 0 评论 -
Head First设计模式读书笔记-第十二章 Pattern 模式的模式
模式的模式模式通常被一起使用并被组合在同一个设计解决方案中复合模式在一个解决方案中结合两个或多个模式,以解决一般或重复发生的问题。复合模式是指一群模式被结合起来使用,以解决一般性问题定义MVC 模型-视图-控制器模式模型:模型持有所有的数据,状态和程序逻辑。模型没有注意到视图和控制器,虽然它提供了操纵和检索状态的接口,并发送状态改变通知给观察者。控制器:取得用户的输入并解读其对模型的意思视图:用来呈现模型,视图通常直接从模型中取得它需要显示的状态与数据...原创 2020-08-16 11:08:55 · 124 阅读 · 0 评论 -
Head First设计模式读书笔记-第十一章 Proxy Pattern 代理模式
代理模式代理:控制管理和访问远程代理制作远程服务的步骤:制作远程接口 制作远程实现 利用rmic产生stub和skeleton 启动RMI registry 开始远程服务原语类型(primitive)或者可序列化类型(Serializable):原语类型即基本类型,可序列化类型即实现Serializable接口的类型transient:让JVM在反序列化字段的时候,忽略当前项定义代理模式:为另一个对象提供一个替身或占位符以控制对这个对象...原创 2020-08-16 11:07:55 · 169 阅读 · 0 评论 -
Head First设计模式读书笔记-第十章 State Pattern 状态模式
状态模式策略模式是除继承外的一种弹性替换方案,通过组合不同的对象来改变行为状态模式通过将行为包装进状态对象中,改变context行为定义允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类示例将行为封装进状态对象中,通过动态切换状态,来绑定行为第十章总结状态模式----封装基于状态的行为,并将行为委托到当前状态策略模式----将可以互换的行为封装起来,然后使用委托的方法,决定使用哪一个行为模板方法----由子类决定如何实现算法中的某些步骤.原创 2020-08-16 11:06:22 · 112 阅读 · 0 评论 -
Head First设计模式读书笔记-第九章 Iterator And Composition Pattern 迭代器和组合模式
迭代器模式和组合模式定义迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。这种模式提供一种方法,可以顺序访问一个聚合对象中的元素,而不用知道内部如何表示。迭代器模式分为,内部迭代器和外部迭代器。外部迭代器,自定义实现遍历,客户控制遍历的实现。内部迭代器则是由迭代器内部控制遍历过程。单一责任:一个类应该只有一个引起变化的原因类的每个责任都有改变的潜在区域。超过一个责任,意味着超过一个改变的区域,因此,尽量让每个类保持单一责任...原创 2020-08-16 11:04:40 · 124 阅读 · 0 评论 -
Head First设计模式读书笔记-第八章 templatePattern 模板模式
模板方法模式好莱坞原则:别调用我们,我们会调用你。一种防止依赖腐败的方法,当高层组件依赖底层组件,而底层组件又依赖高层组件,而高层组件又依赖侧边组件,而侧边组件又依赖底层组件的时候,依赖腐败就发生了。好莱坞原则和依赖倒置原则的区别:依赖倒置要求尽量避免使用具体类,多使用抽象类。好莱坞原则是创建框架或组件的一种技巧,创建一种弹性设计定义模板方法定义了一个算法步骤,并允许子类为一个或多个步骤提供实现模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使..原创 2020-08-16 10:50:18 · 164 阅读 · 0 评论 -
Head First设计模式读书笔记-第七章 Adapter Pattern And Facade Pattern 适配器和外观模式
适配器模式和外观模式适配器模式定义将一个类的接口转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间对象适配器使用对象组合,以修改的接口包装被适配者,被适配者的任何子类都可以配合适配器使用类适配器通过多继承,使被适配者可以以客户期望的方式被调用对象适配器是组合,类适配器是多继承(继承的优点,可以覆盖子类的行为)装饰者和适配器的区别装饰者的主要作用是增强类的功能,循环增强适配器是为了转换接口,两者的核心思想不一...原创 2020-08-16 10:48:56 · 271 阅读 · 0 评论 -
Head First设计模式读书笔记-第六章 Command Pattern 命令模式
命令模式定义将请求封装为对象,以便使用不同的请求、队列或日志来参数化其他对象,命令模式也支持可撤销的操作。示例以生活中的场景为例,电器的启动和关闭,这些功能封装为命令,通过命令去出发功能,所有的命令对象都实现统一的接口,规范其行为(excute、undo)。客户端只需要调用包含命令集合的调用者就可以启动或关闭对象的功能。下图的例子分别是标准命令模式的类图和宏命令模式的类图。标准命令模式宏命令模式第六章总结命令模式将发出请求的对象和执...原创 2020-08-16 10:45:13 · 116 阅读 · 0 评论 -
Head First设计模式读书笔记-第五章 Single Pattern 单例模式
单例模式(Singleton Pattern)全局变量的缺点:如果在程序开始的时候创建全局变量,但是在某个特定的时间才使用到,这就导致资源的过度使用。应该是在需要的时候才创建变量。单例模式使用技巧:利用私有构造器,只能在当前class中被调用定义确保一个类只有一个实例,并提供一个全局访问点。示例饿汉式:延迟加载,特点:构造器私有,声明类成员变量,通过公有方法实例化类成员变量并获取。线程不安全饥汉式:立即加载,特点:构造器私有,类成员变量初始化并赋值,通过公有方法获取类成.原创 2020-08-16 10:43:41 · 163 阅读 · 0 评论 -
Head First设计模式读书笔记-第四章 Factory Pattern 工厂模式
工厂模式简单工厂不是一种设计模式,可以称之为编程习惯,将变化抽离,做到程序之间解耦静态工厂:利用静态方法定义一个简单的工厂;特点:不需要使用创建对象的方法来实力化对象,这也导致不能通过继承来改变创建方法的行为。 抽象工厂:定义抽象的产品族创建者,让具体的产品族创建者去创建产品。定义工厂方法模式:定义一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实力化推迟到子类。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体...原创 2020-08-16 10:42:00 · 137 阅读 · 0 评论 -
Head First设计模式读书笔记-第三章 Decorator Pattern 装饰者模式
装饰者模式随笔:1.利用组合(Composition)和委托(delegation)使得运行时具有继承行为的效果;2.利用继承设计子类的行为,是编译时静态决定的,而且所有的子类都会继承相同的行为;如果利用组合的做法扩展对象的行为,就可以运行时动态地扩展。3.开闭原则需要遵循,但并不是所有的设计都要用到开闭原则,因为这样做的话,需要浪费大量的时间,得不偿失,而且过分追求完美也是一种缺陷。特点:装饰者和被装饰者有相同的超类型; 可以用一个或多个装饰者包装一个对象 装饰者和..原创 2020-08-15 11:24:56 · 146 阅读 · 0 评论 -
Head First设计模式读书笔记-第二章 Observer Pattern 观察者模式
观察者模式Observer出版者+订阅者=观察者模式定义观察者模式定义了对象之间一对多的依赖,当一个对象状态发生改变的时候,它的所有依赖者都会收到通知并自动更新。示例以标准的观察者模式为例定义Subject主题接口和消息的监听者Observer接口,分别规定接口的行为; 在Subject接口的实现类中保存Observer接口的属性列表,通过Subject中的注册Observer方法,将Observer对象维护在Subject实现类中。 设置Subject变更方法和Subje.原创 2020-08-15 11:22:32 · 118 阅读 · 0 评论 -
Head First设计模式读书笔记-第一章 Strategy Pattern 策略模式
第一章继承的缺点:多个子类继承自同一个父类,当变更父类的时候,会导致某些子类添加不想要的属性或方法软件设计总是在不停变更的,变更的原因多种多样,设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混合在一起。 针对接口编程,而不是针对实现编程。 多用组合少用继承 为了交互对象之间的松耦合设计而努力,松耦合将对象之间的互相依赖降到最低。 开发-关闭原则:类应该对扩展开放,对修改关闭。 依赖倒置原则(Dependency Inversion Princ.原创 2020-08-15 11:19:44 · 134 阅读 · 0 评论 -
7.程序设计语言和语言处理程序基础
基本内容编译过程文法定义语法推导树有限自动机正规式※表示循环多次DCC表达式D...翻译 2019-05-02 11:02:53 · 303 阅读 · 2 评论 -
6.数据结构和算法
数组(2*5+3)*2=26a+26稀疏矩阵 稀疏矩阵:一个矩阵中大量的元素为零A数据结构定义线性表 线性表-顺序存储与链式存储对比线性表-队列与栈...翻译 2019-05-02 10:59:52 · 362 阅读 · 0 评论 -
5.信息安全
信息安全属性对称加密技术对称加密:加密大文件非对称加密技术非对称加密:加密密钥信息摘要:数字签名信息摘要和数字签名结合使用:数字迁移数字信封与PGP网络安全-各个网络...翻译 2019-05-02 10:38:39 · 168 阅读 · 0 评论 -
4.计算机网络基础
OSI/RM七层模型B局域网不能通过三层设备通信网络技术标准与协议TCP协议DHCP协议169.254.x.x和0.0.0.0(Linux)这两个地址为假地址DNS服务器 A...翻译 2019-04-21 23:24:34 · 158 阅读 · 0 评论 -
3.数据库系统
三级模式-两级映射数据库设计过程E-R模型A+B+C+1=4多对多记录一个实体C关系代数规范化理论-函数依赖规范化理论-价值与用途规范化理论-键规范化理...翻译 2019-04-21 23:19:53 · 99 阅读 · 0 评论 -
2.操作系统基本原理
概述进程管理-进程状态进程管理-前趋图进程管理-进程的同步与互斥典型问题:进程管理-PV操作案例:案例2:...翻译 2019-04-11 23:47:32 · 193 阅读 · 0 评论 -
1.计算机组成和体系结构
计算机组成原理和体系结构数据表示任意进制转十进制: R进制转十进制使用按权展开法:将R进制数的每一位数值用R的k次方表示,即幂为底数R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1.十进制转任意进制 使用短除法...翻译 2019-04-01 23:59:30 · 701 阅读 · 0 评论 -
8.法律法规与标准化知识
基本内容法律法规-保护期限法律法规-只是产权人确定侵权判定标准化的分类...翻译 2019-05-02 11:05:46 · 200 阅读 · 0 评论