自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 OIDC协议

1.ID Token是jwt,包含一组关于身份认证会话的声明(claim)2.access token在oidc中也能使用,伴随着id token一起被发送到客户端,但是这不是必要的,因为id token已经包含了用户信息,access token只是为了和OAuth兼容。3.oidc新增了用户端点,可以获取用户的个人信息4.oidc规定客户端可以简单的发现授权服务器的所有端点主要...

2019-09-30 16:19:12 3104

原创 TCP/IP详解:卷1

第二章 链路层1.以太网:标准为RFC894,是目前主流的局域网技术2.IEEE 802:标准为RFC10423.两种合适采用的都是48位寻址方式(MAC地址)4.SLIP:串行线路IP5.CSLIP:压缩的SLIP6.PPP:点对点协议7.环回接口:127.0.0.1 localhost8.MTU:最大传输单元,数据帧的最大长度9.路径MTU:两台通信主机路径...

2019-09-30 14:30:05 325

原创 XML Schema

参考:W3SCHOOL模板<?xml version="1.0" encoding="utf-8" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http...

2019-09-29 10:37:14 141

原创 图解HTTP

第一章 了解WEB及网络基础1.目前用的HTTP协议主要为HTTP1.12.TCP/IP协议族:HTTP,FTP,TCP,UDP,IP,ICMP3.TCP/IP分层应用层:决定了向用户提供应用服务时通信的活动传输层:提供处于网络连接中的2台计算机的数据传输网络层:处理网络上流动的数据包链路层:用来处理连接网络的硬件部分4.TCP/IP通信传输流应用层的数据会...

2019-09-27 10:02:19 158

原创 编码:隐匿在计算机软硬件背后的语言

第一章 电筒密谈摩斯电码:使用点和划的组合来表示各种字母,可以使用电信号来传输这种点和划的组合。不同的字母之间用较长的时间间隔表示。手电筒的也可以模拟这种信号。可以用"滴"和"答"2中声音来代替点和划。第二章 编码与组合摩斯电码中字母由点和划来表示,但是一个字母由几个点和划表示是不固定的。要表示26个字母需要2+2^2+2^3+2^4=30。也就是最少需要4个点和划的组合。第三...

2019-09-26 14:20:17 1570 3

原创 图解密码技术

第一章 环游密码世界1.角色2.加密之前的叫明文,加密后的叫密文3.加密算法,解密算法,2者合在一起为密码算法4.密码算法需要秘钥,秘钥就是一个字符串5.对称密码:在加密和解密时使用同一秘钥,又叫公共秘钥密码、传统密码、私钥密码、共享秘钥密码6.公钥密码:在加密和解密时,使用不同的秘钥,非对称秘钥。7.混合密码系统:将对称密码和公钥密码结合在一起使用8.单向散列...

2019-09-26 10:46:44 1492

原创 C# Nut Shell 第十章 LINQ to XML

X-DOM概述1.XML文档的每一个部分(声明、元素、属性、值和文本)都可以用类来表示,如果使用集合属性来存储子内容,可以用一颗对象树完整地表示整个文档,这就叫文档对象模型(document object model)2.LINQ to DOM,两部分组成:X-DOM,查询符3.XDocument是XML树的根节点,封装了根XElement。XElement就表示当前节点,XNode就...

2019-09-25 22:59:58 266

原创 C# Nut Shell 第九章 LINQ运算符

概述标准运算查询符分三类:1.输入是序列,输出是序列2.输入是集合,输出是单个元素或标量3.没有输入,输出序列int[] nums = { 1, 2, 3,4 };List<Custom> customs = new List<Custom> { new Custom ...

2019-09-20 23:18:04 208

原创 OAuth2.0协议

参考地址:OAuth2 RFC6749中文翻译简介1.资源所有者向第三方提供受限资源的访问,需要共享凭据,受限:第三方需要保存用户名和密码 需要服务器支持用户名和密码身份认证 第三方获得的资源权限太广泛,无法控制 资源所有者只能修改密码才能撤销第三方的权限 与任何一个第三方的让步意味和所有第三方应用的让步2.举例说明。我想用QQ来登录B站,因为我想在B站里面使用我QQ的昵称和...

2019-09-20 10:52:18 236

原创 C# Nut Shell 第八章 LINQ 查询

LINQ可以对本地对象集合或远程数据源进行结构化的类型安全的查询操作。。LINQ支持查询任何实现了IEnumerable<T>接口的集合类型,数组,列表,XML DOM,SQL Server入门1.查询运算符是以静态扩展方法的形式来实现的,称为标准查询运算符。2.查询需要一个输入序列和一个运算符3.一般查询语句是扩展方法和Lambda结合使用。这种叫流式语法。4...

2019-09-19 22:07:13 151

原创 cookie、session和jwt

cookie1.cookie就是键值对2.cookie保存在客户端3.服务端可以对cookie进行操作,添加、删除、查询4.cookie是一种技术,是客户端和服务端交流信息的一种渠道,一种手段,一种方式。5.在cookie中保存一些简单的信息,用户时谁6.安全性不高,任何人都能查看7.每次浏览器访问的时候,都会发送cookie信息8.cookie不能存储用户的密码,...

2019-09-18 11:48:39 149

原创 C# NutShell 第七章 集合

枚举IEnumable和IEnumerator1.IEnumerator是一个迭代器或者叫枚举包含MoveNext(),Current,Reset()2.IEnumable包含一个GetEnumerator()方法,返回迭代器3.用foreach可以遍历继承了IEnumerator的类IEnumerable<T>和IEnumerator<T>1....

2019-09-17 22:09:39 230

原创 C# IN Depth 第十三章,第十四章

第十章 扩展方法看NutShell第十一章 查询表达式和LINQ to Objects看NutShell第十二章 超越集合的LINQ简化代码的微小修改第十三章可选参数和命名实参1.可选参数,需要给定一个默认值2.默认值也可以指定为null3.命名实参:在参数调用的时候写上参数的命名,可以打乱参数的顺序4.命名实参和位置实参可以混用,位置实参必须在最前面...

2019-09-17 11:26:51 117

原创 C# IN Depth 第十五章、第十六章

第十五章 使用async/await进行异步编程名词解释调用方法:调用一个异步方法的方法,但是本身是同步的,阻塞的异步方法:包含一个异步操作,可以被异步调用的方法。异步操作:一个系统定义或自定义的异步方法。异步方法和异步操作之间存在一种先有鸡还是先有蛋的问题,可以互相转化。而调用方法终结了这种转换。边界:Task<TResult>,Task思考异步编程异...

2019-09-17 11:22:00 178

原创 C# IN Depth 第九章 Lambda表达式和表达式树

作为委托的Lambda表达式 Func<int> func = delegate() { return 1; }; Func<int,int> func2 = delegate (int x) { return x+1; }; Func<int> func3 = () => 1;...

2019-09-11 14:10:23 155

原创 C# IN Depth 第八章 用智能的编译器来防错

C# 3新特性1.自动实现的属性2.隐式类型的局部变量3.对象和集合初始化程序4.隐式类型的数组5.匿名类型自动实现的属性public string Name{get;set;}会在后台被编译成传统的字段加属性的形式private string <Name>__BackingField;public string Name{ get{...

2019-09-11 10:19:10 127

原创 C# IN Depth 第七章 C#2最后的一些特性

C# 2相较于C# 1新特性:泛型、可空类型、委托增强、迭代器块分部类型1.将一个类写在多个文件中2.分部方法(C# 3),一部分用于声明,一部分用于定义静态类型工具类一般用静态类型静态类型中不能有实例方法,必须是静态方法独立的取值方法/赋值方法属性访问器 private string name; public string Name...

2019-09-10 16:05:40 127

原创 C# IN Depth 第五章 进入快速通道的委托

只有接口和委托才具有协变和逆变在非泛型方法中,协变和逆变无法讨论,因为完全按照自然规则去运行,父类->子类,强制转换。子类->父类,直接转换。委托参数的逆变性逆变就是将父类变成子类逆变用在返回类型上委托返回类型的协变性协变就是将子类变成父类协变用在参数上使用匿名方法的内联委托操作匿名方法在编译时实际上是创建了一个内部方法如果不需要参数,则可以完全...

2019-09-10 14:33:49 113

原创 C# IN Depth 第四章 可空类型

没有值时怎么办为什么值类型的变量不能是null一个byte可以存储256个值,无法再添加一个null来表示。如果用2个byte来表示,则会大大增加开销。所以修好用新建一种类型来表示。在C# 1中表示空值的模式1.魔数牺牲一个值来表示空值2.引用类型包装使用object作为变量类型,并根据需要进行装箱和拆箱。自定义一个引用类型B,里面包含值类型A,并声明各种转换。...

2019-09-09 14:47:17 138

原创 C# IN Depth 第三章 用泛型实现参数化类型

简单泛型1.泛型有两种形式泛型类型:类,接口,委托,结构泛型方法:泛型方法的签名中带有泛型,请注意,如果是泛型类中传过来的方法则不算,它算一种具体的类型2.类型参数:真实的占位符,需要放在一对尖括号内,并以逗号分隔在使用泛型类型或者泛型方法时,需要用真实的类型代替,这些真实的类型成为类型实参3.未绑定泛型:没有为泛型类型参数提供类型实参,即没有指定泛型的具体类型已构造类...

2019-09-09 11:46:01 378

原创 C# Nut Shell 第六章 框架基础

字符串与文本处理字符1.char的别名是System.Char,两者的地位是等同的2.Invariant会不受各地语言的影响,使用英语语言的特性有两种表示方式 char a = 'b'; var c = char.ToUpperInvariant(a); var d = System.Char.ToUppe...

2019-09-08 23:13:37 345

原创 设计模式-设计原则

设计原则:单一职责(SRP):一个类只负责一个功能领域的相应职责开闭原则(OPC):软件实体应对扩展开放,对修改关闭里式替换原则(LSP):所有父类出现的地方都能用子类替换依赖倒置原则(DIP):上层应用不应该依赖于下层实现,上层应用应该依赖于抽象,下层实现也应该依赖于抽象接口隔离原则(ISP):每个接口应该只关注当前的职责,而不应使用单一的总接口合成复用原则(CRP):尽...

2019-09-06 08:41:59 104

原创 C# 设计模式-代理模式

代理模式:为另一个对象提供一个替身或占位符以访问这个对象场景描述:我想要查我的档案记录,但是我不能直接去档案馆查,我只能通过警察局去查,此处警察局扮演的就是代理的角色 //档案记录 public abstract class Record { //查询 public abstract void Query(string name);...

2019-09-05 16:53:42 128

原创 C# 设计模式-状态模式

状态模式-允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类。状态模式分为2个部分,一个部分是状态,一个部分是动作。状态是唯一的,某一时刻只能处于一种状态。任何状态都可以执行相同的方法,当然处在不同的状态执行相同的动作结果可能一样也可能不一样。先看一张图状态:1,2,3,4动作:上下左右当处在状态1时,可以按上下左右4个键,但是只有右和下可以正确运行,并将...

2019-09-05 15:01:18 338 2

原创 C# IN Depth 第二章 C#1所搭建的核心基础

委托简单委托的构成让委托做事,条件: 1.声明委托类型 2.必须有一个方法包含了要执行的代码 3.必须创建一个委托实例 4.必须调用委托委托类型:定义了一种委托类型,参数列表和返回值。delegate void StringProcessor(string input);委托实例:通过委托类型创建的实例。StringProcessor p...

2019-09-05 13:04:58 121

原创 C# IN Depth 第一章 C#开发的进化史

从简单的数据类型开始C# 1 public class Product { private string name; public string Name { get { return name; } set { name = value; } } pri...

2019-09-05 09:38:56 238

原创 C# Nut Shell 第四章 高级特性

委托delegate:函数指针多播委托:可以引用一个或者一组方法。如果返回值不是null,则只会保留最后一个方法的返回值,其余的被丢弃。Func:有返回值Action:没有返回值相同签名的委托是互不相同的委托也有协变和逆变事件标准事件模式 EventArgs,可以看委托事件事件也可以是virtual,override,abstract,sealedLambd...

2019-09-04 23:47:20 228

原创 C# 设计模式-外观模式

外观模式就是将一个互相耦合严重的系统分成2块。一块仍旧是耦合严重,但是会暴露出一个统一的接口。而另一块只与暴露的统一接口联系,降低了耦合。将原本依赖于一个复杂系统的上层应用变成依赖于一个统一的接口,但正如上面所说,这个接口的外部看起来是和很美好的,内部任然是混乱的。下面看实际的例子:我们要看一部电影,我们就得通过遥控器来控制我们的电视和DVD控制我们的说有操作,所以看起来是这个...

2019-09-04 11:26:11 101

原创 C# 设计模式-命令模式

命令模式:将每一个方法都封装成一种命令,调用只需要调用固定的接口就可以,而不需要调用原来的方法。先定义实体类 public class Light { public Light(string name) { Name = name; } string Name { get; set; ...

2019-09-04 10:53:12 128

原创 C# 设计模式-单例模式

单例模式:确保一个类只有一个实例,并能够提供一个全局访问点线程不安全 public class Singleton { private static Singleton _singletonInstance; private Singleton() { } public static Si...

2019-09-04 10:06:10 95

原创 C# 设计模式-工厂模式(3种)

工厂模式最主要目的就是将类的创建和使用分开来,解耦。简单工厂模式:将类的创建抽离出来工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体的类简单工厂模式1.定义一个产品抽象类,各个产品实例都需要继承该类。2.定义一个工厂,通过参数type来决定实例化哪一个产品实例3.定义...

2019-09-03 13:58:59 1133

原创 C# Nut Shell 第三章 创建类型

字段1.field2.readonly只有在构造函数中才能赋值3.字段初始化在构造器之前运行方法局部方法 static void Main(string[] args) { Fun1(); void Fun1() => Console.WriteLine("局部方法"); ...

2019-09-02 22:37:45 133

gsoap http webapi

gsoap 使用http get post调用web api接口

2021-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除