上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 24 下一页
摘要: 一. 基本命令 1. cd:用来切换路径,后面可以跟相对路径,也可以跟绝对路径。 PS:相对路径和绝对路径 当前目录: 1个点代表当前目录,也可以直接写当前目录下的文件,如下两种写法是等效的。 2. ls:显示对应目录下的文件。 PS:Linux文件或者目录名称最长可以有265个字符,“.”代表当前 阅读全文
posted @ 2020-08-24 15:52 Yaopengfei 阅读(807) 评论(2) 推荐(1) 编辑
摘要: 一. 接口隔离原则 1. 定义 一个类对另一个类的依赖应该建立在最小的接口上,不应该依赖他不需要的接口。 通俗的说:要为每个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 与单一职责原则的区别: (1). 单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖 阅读全文
posted @ 2020-08-21 07:32 Yaopengfei 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 一. 依赖倒置原则 1. 定义 高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。 通俗的来说:就是面向接口(或抽象类)编程。 补充说明: (1). 依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户端与实现模块之间的耦合。 (2). 由于在软件设计中,细节 阅读全文
posted @ 2020-08-19 17:14 Yaopengfei 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 一. 开闭原则 1. 定义 对扩展开放,对修改关闭。(当应用的需求改变时,在不修改软件实体的源代码前提下,可以扩展模块的功能,使其满足新的需求。) 2. 作用 (1). 对软件测试的影响 软件遵守开闭原则的话,软件测试时只需要对扩展的代码进行测试就可以了,因为原有的测试代码仍然能够正常运行。 (2) 阅读全文
posted @ 2020-08-19 07:42 Yaopengfei 阅读(1309) 评论(1) 推荐(0) 编辑
摘要: 一. 单例模式 1. 背景 在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池 阅读全文
posted @ 2020-08-16 10:31 Yaopengfei 阅读(395) 评论(1) 推荐(1) 编辑
摘要: 一. 观察者模式 1. 背景 在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。这样的例子还有很多,例如,股票价格与股 阅读全文
posted @ 2020-08-14 16:24 Yaopengfei 阅读(1913) 评论(1) 推荐(2) 编辑
摘要: 一. 外观模式 1. 背景 在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。 软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟 阅读全文
posted @ 2020-08-13 15:33 Yaopengfei 阅读(521) 评论(1) 推荐(1) 编辑
摘要: 一. 责任链模式 1. 背景 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓 阅读全文
posted @ 2020-08-12 11:24 Yaopengfei 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 一. 装饰器模式 1. 背景 在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰模式来实现。 2. 定义和特点 (1) 阅读全文
posted @ 2020-08-09 14:05 Yaopengfei 阅读(573) 评论(1) 推荐(0) 编辑
摘要: 一. 组合模式 1. 背景 在现实生活中,存在很多“部分-整体”的关系,例如,大学中的部门与学院、总公司中的部门与分公司、学习用品中的书与书包、生活用品中的衣月艮与衣柜以及厨房中的锅碗瓢盆等。在软件开发中也是这样,例如,文件系统中的文件与文件夹、窗体程序中的简单控件与容器控件等。对这些简单对象与复合 阅读全文
posted @ 2020-08-09 14:03 Yaopengfei 阅读(694) 评论(1) 推荐(0) 编辑
摘要: 一. 值类型和引用类型 1. 前言 (1). 分类 值类型包括:布尔类型、浮点类型(float、double、decimal、byte)、字符类型(char)、整型(int、long、short等)、枚举(entum)、结构体(struct)。 引用类型:数组、字符串(string)、类、接口、委托 阅读全文
posted @ 2020-08-08 20:53 Yaopengfei 阅读(654) 评论(1) 推荐(0) 编辑
摘要: 1. 背景 在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。 在软件开发中也常常遇到类似的情况,当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或 阅读全文
posted @ 2020-08-06 07:19 Yaopengfei 阅读(368) 评论(1) 推荐(1) 编辑
摘要: 一. 工厂方法模式 1. 定义和特点 (1). 定义:定义一个创建产品对象的工厂接口,然后把产品对象的实际创建工作放到具体的子类工厂当中实现。 PS: ① 我们把被创建的对象成为“产品”,创建产品的对象称为“工厂”。如果创建的产品不多,且基本不会增加新产品,只需要一个工厂类即可,这种模式叫做“简单工 阅读全文
posted @ 2020-08-03 20:46 Yaopengfei 阅读(507) 评论(1) 推荐(1) 编辑
摘要: 一. 证书管理 1. 如何生成证书 (1). 关于阿里云证书和证书的相关概念 详见:https://www.cnblogs.com/yaopengfei/p/10648151.html (抽时间重新配置一遍) (2). 本地生成测试证书 详见:https://docs.microsoft.com/e 阅读全文
posted @ 2020-07-30 14:48 Yaopengfei 阅读(739) 评论(1) 推荐(1) 编辑
摘要: 一. 再谈认证和授权 (详见:https://www.cnblogs.com/yaopengfei/p/13141548.html) 1.认证 是验证身份的一种机制,比如用户名和密码登录,这就是一种认证机制,再比如现在比较流行jwt校验,通过用户名和密码访问接口,验证通过获取token的过程,也叫做 阅读全文
posted @ 2020-07-30 11:59 Yaopengfei 阅读(3492) 评论(1) 推荐(1) 编辑
摘要: 一. 拦截器 1. 工作原理 (1).流程:客户端发送信息 → 经过客户端拦截器 → 到达服务端拦截器 → 到达服务端方法。 如下图: (2).实现:都要新建1个类, 实现Interceptors接口, 但对于客户端、服务端是 一元写法还是流式写法, 需要重写的方法不同哦 A.一元写法:客户端重写A 阅读全文
posted @ 2020-07-26 08:55 Yaopengfei 阅读(1604) 评论(0) 推荐(0) 编辑
摘要: 一. 剖析.Proto文件 先上一个proto文件 //proto的版本 syntax = "proto3"; //此处可以不指定 //option csharp_namespace = "GrpcService1"; package greet; // The greeting service d 阅读全文
posted @ 2020-07-24 07:27 Yaopengfei 阅读(3657) 评论(2) 推荐(1) 编辑
摘要: 一. 简介 1.什么是RPC RPC指远程调用(即要像调用本地方法一样调用远程方法). eg: 两台机器,A 机器上的程序要调用 B 机器上某程序提供的函数或方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 常见的有:Thrift、gRPC 2.什么是gRPC 阅读全文
posted @ 2020-07-23 07:30 Yaopengfei 阅读(1214) 评论(1) 推荐(0) 编辑
摘要: 一. 前言 1. 背景 大部分场景中,DB操作80%是读,20%是写,对于时效性要求不高的数据,为了减少磁盘读和写的竞争,引入读写分离的概念,即在数据库上进行主从配置,一个主,多个从,实现主从同步,从而业务上实现读写分离。 读写分离在网站发展初期可以一定程度上缓解读写并发时产生锁的问题,将读写压力分 阅读全文
posted @ 2020-07-17 15:48 Yaopengfei 阅读(8712) 评论(4) 推荐(6) 编辑
摘要: 一. 自身负载 1. 含义 实现Ocelot转发多个业务服务器,不去Consul中获取,直接在配置文件中配置。 LoadBalancer将决定负载均衡的算法 - LeastConnection – 将请求发往最空闲的那个服务器 - RoundRobin – 轮流发送 - NoLoadBalance 阅读全文
posted @ 2020-07-15 18:02 Yaopengfei 阅读(920) 评论(2) 推荐(0) 编辑
摘要: 一. 分区、分表、分库 1. 分区 (1).含义 就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但底层是由N个物理区块组成的。 (2).常用到的指令: alter database <数据库名> add filegroup <文件组名> alter database <数据库名称> ad 阅读全文
posted @ 2020-07-07 22:03 Yaopengfei 阅读(5422) 评论(5) 推荐(2) 编辑
摘要: 一. 模式探究 1.背景 在一些输入受限的设备上,要完成用户名和口令的输入是非常困难的,设备授权模式,可让用户登录到智能电视、 IoT 物联网设备或打印机等输入受限的设备。 若要启用此流,设备会让用户在另一台设备上的浏览器中访问一个网页,以进行登录。 用户登录后,设备可以获取所需的访问令牌和刷新令牌 阅读全文
posted @ 2020-07-05 14:23 Yaopengfei 阅读(2184) 评论(1) 推荐(1) 编辑
摘要: 一. PKCE机制 1. 准备 (1). IDS4_Server1:认证授权服务器 (2). MvcClient1:web客户端 然后将上述两个项目配置成授权码模式(如何配置见上一节 IdentityServer4授权码模式介绍和代码实操演练) PS: PKCE机制是在授权码模式的基础上,增加了几个 阅读全文
posted @ 2020-07-01 17:21 Yaopengfei 阅读(2698) 评论(2) 推荐(2) 编辑
摘要: 一. 前言 1.简介 授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 2. 流程图 流程 (A)用户访问客户端,后者将前者导向认证服务器。 (B)用户选择是否给予客户端授权。 (C)假设 阅读全文
posted @ 2020-06-28 17:30 Yaopengfei 阅读(3596) 评论(3) 推荐(0) 编辑
摘要: 一. 前言 1.业务背景 我们前面尝试了在业务服务器上加IDS4校验,实际上是不合理的, 在生产环境中,业务服务器会有很多个,如果把校验加在每个业务服务器上,代码冗余且不易维护(很多情况下业务服务器不直接对外开放),所以我们通常把校验加在Ocelot网关上,也就是说校验通过了,Ocelot网关才会把 阅读全文
posted @ 2020-06-21 21:25 Yaopengfei 阅读(2265) 评论(8) 推荐(4) 编辑
摘要: 一. 前言 1.简介 简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 注:该模式也有很大的弊端,就是请求令牌在浏览器中能被看到。 2. 流程图 流程 (A)客户端将用户 阅读全文
posted @ 2020-06-21 19:19 Yaopengfei 阅读(1360) 评论(8) 推荐(0) 编辑
摘要: 一. IDS4简介 1. 什么是IDS4 IdentityServer是基于OpenID Connect协议标准的身份认证和授权程序,它实现了OpenID 和 OAuth 2.0 协议。 2. 相关地址 (1).官网:https://identityserver4.readthedocs.io/en 阅读全文
posted @ 2020-06-17 17:11 Yaopengfei 阅读(2802) 评论(7) 推荐(1) 编辑
摘要: 一. 认证和授权 1. 身份验证 指当客户端访问服务端资源时,验证客户端是否合法的一种机制. eg: Core MVC中通过 app.UseAuthentication() 开启。最常见的是通过 用户名和密码,来验证您的身份。 2. 授权 指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制 阅读全文
posted @ 2020-06-16 16:13 Yaopengfei 阅读(3753) 评论(2) 推荐(3) 编辑
摘要: 一. Ocelot+jwt 方案1 本节架构图: 1. 方案背景 截至目前,我们已经完成了可以通过Ocelot转发请求给业务服务器了,但现在还有一项工作没有做,那就是身份校验,当然我们可以直接写在业务服务器上,但是业务服务器会非常多,不利于维护,所以最佳的写法是写在Ocelot网关上,让Ocelot 阅读全文
posted @ 2020-06-13 15:13 Yaopengfei 阅读(1616) 评论(4) 推荐(4) 编辑
摘要: 。。。。 阅读全文
posted @ 2020-06-08 07:33 Yaopengfei 阅读(662) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 24 下一页