自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

转载 Sql Server中的事务隔离级别

数据库中的事物有ACID(原子性,一致性,隔离性,持久性)四个特性。其中隔离性是用来处理并发执行的事务之间的数据访问控制。SqlServer中提供了几种不同级别的隔离类型。概念          Read UnCommitted当前事务可以读取其他事务已修改但还未提交的数据。如果其他事务进行数据Rollback,当前事务就会出现脏读,数据错误。Read Committed...

2018-11-11 15:36:00 301

转载 Web验证方式(4)--JWT

OAuth协议中说到的AccessToken可以是以下两种:1.任意只起到标识作用的字符串:这种情况下Resource Server处理请求时需要去找Authorization Server获取用户信息。2.携带用户基本信息的加密字符串:这种情况下Resource Server处理请求时只需解析AccessToken,直接获取到用户信息即可。JWT就是用来生成第二种acces...

2018-08-21 22:59:00 234

转载 Web验证方式(3)--OAuth 2.0协议

介绍OAuth协议是用来解决第三方应用程序访问Http Service的时候的认证问题。举个例子:某视频网站支持用户通过微信登陆,然后获取用户在微信上的图像信息。在这个场景里  微信充当的就是Http Service角色。  视频网站就是第三方应用  而视频网站从微信获取用户图像时,微信需要进行认证就是这里的认证问题  用户在微信上登陆后,产生的在视频网站中访问用...

2018-08-19 12:47:00 404

转载 Sql Server中执行计划的缓存机制

Sql查询过程      当执行一个Sql语句或者存储过程时, Sql Server的大致过程是1. 对查询语句进行分析,将其生成逻辑单元,并进行基本的语法检查2. 生成查询树(会将查询语句中所有操作转换为对基表的操作,比如将视图转换为基表查询)3. 生成执行计划(针对查询树会生成很多不同的执行计划)4. 查询优化器基于每个执行计划的查询成本和数据库中的统计信息,选择...

2018-08-18 15:37:00 489

转载 Web验证方式(2)--Form Authentication

Form验证方式并不是HTTP标准,而是在微软ASP.NET Web框架下提供的一种验证方式。其大致流程如下:在上图的流程中,ASP.NET框架提供了如下支持类:( FormsAuthentication, FormsAuthenticationModule)在上面流程图中的第三步中,我们对用户名密码进行验证后。-可以创建FormAuthenticationT...

2018-08-18 15:11:00 387

转载 Web验证方式(1)--Http Basic Authentication

Http Basic Authentication是HTTP协议中定义的Web系统中的验证方式。参考wiki主要的实现机制如下:1. 用户通过浏览器匿名访问web资源。2. web服务器检测到web资源是需要已验证的用户才能访问。向浏览器返回Response(状态码401)。该response会携带如下Header:WWW-Authenticate: {authen...

2018-06-16 21:35:00 367

转载 浮点数的存储与表达

计算机中的浮点数只是无限接近真实值的近似值。为什么呢?首先来看一下浮点数在计算机中是如何存储的。浮点数的存储        计算机中浮点数的存储遵循IEEE754浮点数标准。单精度用32位存储,而双精度用64位存储。具体的存法如下(以单精度为例):单精度(32位) = 1位符号位+8位指数位+23位尾数位,见下图。其中,符号位用来表示数值的符号。关于指数位和尾数位,需...

2018-04-18 17:09:00 291

转载 C# Async&Await

在async和await之前我们用Task来实现异步任务是这样做的:static Task<string> GetBaiduHtmlTAP() {      //创建一个异步Task对象,内部封装了异步任务逻辑 return new Task<string>(() => { ...

2018-02-06 10:49:00 171

转载 iOS签名机制解析

最近遇到一个签名的问题,借机把iOS签名相关知识点研究了一下。现总结如下:(研究过程中参考了这位仁兄的博客。很全面,本文也有部分借鉴)非对称加密这个是签名机制的算法基础。所谓非对称加密的是相对于对称加密来说的。对称加密是加密方和解密方约定一个相同的密钥和加解密算法。只要获取了这个密钥,则可以破译加密内容。这种加密方法下,假如我要和3个人通信,就需要和三个人分别约定好3个不同的密钥...

2017-12-28 14:59:00 206

转载 WaitHandle学习笔记

信号量与互斥体              互斥体(Mutex)是操作系统中一种独占访问共享资源的机制。它像一把所锁,哪个线程获取到互斥体的控制权,则可以访问共享的资源,或者执行处于受保护的代码。而其他的线程如果也想获取控制权,则需要要阻塞等待,知道拥有控制权的线程释放控制权。信号量(Semaphore)是操作系统中协调多个线程访问共享资源的机制。他内部维护一个非负整数计数器。0表...

2017-12-12 22:36:00 154

转载 通过Authentication Challenge来信任自签名Https证书

在开发阶段我们我们经常使用自签名的证书来部署我们的后台rest api。但是在iOS中调用的时候就会因为证书不被信任而调用api不成功。这时候我们就需要通过实现某些网络回调函数来自定义证书的验证逻辑。(在iOS中一般通过UrlSession(OC中是NSUrlSession)来进行网络通信,这里以UrlSession为例)。首先我们需要了解几个概念。Challenge     C...

2017-11-08 23:07:00 479

转载 iOS中Cookie的管理

平常的app开发中只调用Rest Api可能用不到Cookie,但是当要在App中内嵌WebView就有可能要用到。最近用到了这一块的东西,总结一下。Cookie原理关于cookie的原理简单描述就是下图:server通过Set-Cookie或者Set-Cookie2来告诉浏览器存储cookie,然后在后续请求(通过domain和path来判断是否应该包含在某个请求中)中...

2017-11-07 22:12:00 237

转载 利用Instrument Leak来发现App中的内存泄露

XCode提供了一组用于检测内存,调试动画,布局等的工具。对于调试一些性能问题,内存问题非常方便。这里我们使用Leak来发现代码中的内存泄露。在Leak中启动我们的应用开始监控:注意,在监控的时候有两种选择:All Heap Allocation,All Heap Allocation & Anonymous VM.这里我们只需要关心All Heap Allocati...

2017-11-01 20:03:00 269

转载 MEF学习总结(4)---Container层

通过AttributeedModelPrograming,我们可以声明暴露组件,依赖组件,发现组件,但是所有这些需要有一个触发点。即需要把所有这些组合在一起来协同工作,最终实现依赖注入。这就是Container层所做的事情.CompositionContainer            CompositionContainer在MEF中负责组合其他元素来实现依赖注入。看看他的一个...

2017-10-29 14:16:00 311

转载 MEF学习总结(2)---Primitive层

Primitive层是属于依赖注入的通用模型,主要有如下核心类型:1. ComposablePart是核心类,他表示组件容器中的每一个组件,是对真正组件实例的包装。ExportDefinition属性定义了该组件对外提供的功能描述。ImportDefinition属性定义了该组件对别的组件的依赖。Metadata是组件对自身的一些元数据的描述。该描述可成为别的组件导入依赖是的查询...

2017-10-29 14:15:00 215

转载 MEF学习总结(3)---Attribute Model Programing

上一片介绍了Primitive层,Attribute Model可以认为是对Primitive的上层实现。主要包括如下内容:1. 一系列的Attribute来定义Import和Export常用的有如下Attribute:Export,InheritedExport,Import,ImportConstructor,ImportMany,ExportMetadataExport...

2017-10-29 14:15:00 236

转载 MEF学习总结(1)---总体架构

用了很久的MEF框架来做依赖注入,最近想把它的原理和机构总结一下,主要包括如下几个方面:1. 总体架构2. .Net Composition Primitive3. Attribute Model Programing/Life cycle4. Container/Recomposition什么是MEF            用官方的话说:Managed Exte...

2017-10-29 14:14:00 301

转载 自定义DelegatingHandler为ASP.NET Web Api添加压缩与解压的功能

HTTP协议中的压缩Http协议中使用Accept-Encoding和Content-Encoding头来表示期望Response内容的编码和当前Request的内容编码。而Http内容的压缩其实是内容编码的子集。所以也通过这两个头来描述Http Request和Response内容的压缩方式。常用的压缩算法有gzip(采用GNU zip压缩)和deflate(采用zlib的格式...

2017-10-12 21:05:00 349

转载 Windows下生成自签名证书

最近通过openssl生成了自签名的证书,总结成下面这张图。说明:下载openssl0.9.8之后解压,然后运行bin\openssl.exe进入openssl运行环境,然后按上图中顺序执行命令。(生成私钥的时候参数2048时表示生成私钥的bit位数)转载于:https://www.cnblogs.com/Code-life/p/7587534.html...

2017-09-24 16:34:00 630

转载 为IIS Host ASP.NET Web Api添加Owin Middleware

将OWIN App部署在IIS上                                           要想将Owin App部署在IIS上,只添加Package:Microsoft.OWIN.Host.SystemWeb包即可。它提供了所有Owin配置,Middleware注册等方面的Api.我们需要做的其实和SelfHost差不多。我们依然需要实现Start...

2017-09-03 12:37:00 196

转载 Host ASP.NET WebApi in Owin

什么是OWIN                                            Owin其实是微软为了解耦.Net Web app对IIS的依赖而制定的一套规范,规范定义了Web Server与Web App之间的接口,这样Web App就可以Host在所有兼容OWIN规范的Web Server了(包含控制台应用和Windows服务...)。具体来说,Owin将...

2017-09-01 13:02:00 160

转载 Docker技术初体验

什么是DockerDocker技术和虚拟机技术类似,他们都能在一个Host系统中划分出多个相互独立隔离的运行环境。借助官方配图:虚拟机的示意图是这样的我们需要为每个虚拟机安装自己的操作系统,即使我们只是想在里面运行一个应用。然后需要去对每个操作系统进行管理。再看看Docker的示意图:Docker也是在Host系统中产生多个相互隔离的环境,但是他不需要为...

2017-08-22 20:42:00 192

转载 Flex布局(转载)

网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖display属性 +position属性 +float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味...

2017-07-16 11:52:00 101

转载 ASP.NET WebApi通过自定义ControllerSelector来自定义Controller的选择

在web api中,我们可以通过给Cotroller类添加RoutePrefixAttribute来定义url与Controller之间的映射,但是有时候有一些特殊情况下,我们需要做一些特殊处理来将某些即时满足某一url prefix的请求映射到另一个Controller.这种情况下,我们就需要自定义Controller的Selector逻辑了。看一下这个如下两个Controller...

2017-07-15 21:03:00 391

转载 Swift app中的Crash捕获与处理

1. 为什么会Crash常见的Crash原因有:访问已经被释放的内存,数组越界,使用!解包值为nil的变量。当遇到这些情况时,说明应用已经遇到了很严重的非预期错误,无法再继续运行。操作系统检测到这些非法操作时会向应用发送对应的信号,而应用对这些信号的默认处理是直接让应用退出(已信号值作为退出码)。这样就出现了我们看到的Crash,闪退。具体的信号种类和信号机制见Unix Sign...

2017-07-01 22:45:00 939

转载 10 Things ASP.NET Developers Should Know About Web.config Inheritance and Overrides(转)

10 Things ASP.NET Developers Should Know About Web.config Inheritance and OverridesWednesday, January 18, 2012ASP.NETTheASP.NET configuration systemis build around the idea of inheritan...

2017-06-23 16:59:00 187

转载 Browserify使用指南(转)

让浏览器加载Nodejs模块目前NPM上有二十多万个NodeJS模块,它们都是通过CMD的方式打包的,除了特定的可以使用CMD模块加载器加载的模块,大部分nodejs模块无法直接使用到浏览器环境中。Browserify是一个供浏览器环境使用的模块打包工具,像在node环境一样,也是通过require('modules')来组织模块之间的引用和依赖,既可以引用npm中的模块,也可以...

2017-06-11 16:28:00 1146

转载 开启mac terminal 命令/路径自动补全功能

用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯。其实mac terminal也有这个功能。在命令行输入nano .inputrc进入.inputrc的编辑界面,输入如下语句:set completion-ignore-case on set show-all-if-ambiguous on TAB: menu-compl...

2017-06-09 09:03:00 1060

转载 ReactJS开发环境搭建与相关工具介绍

现在Web开发的技术几年前相比可谓变化之大。各种各样的框架,各种各样的工具,让Web开发效率更高,开发出来的效果更好。同时带来的是开发环境的复杂度相比以前是成倍的增加。ReatJS框架是现在比较流行的Web前端框架。在搭建开发环境是我采用的主要工具是npm+babel+visual studio code+browerify。npmnpm 是node.js环境下的一个javasc...

2017-06-08 13:31:00 156

转载 Sql 中Collate用法

今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法。collate在sql中是用来定义排序规则的。排序规则其实就是当比较两个字符串时,根据某种规则来确定哪个比较大,是否相等。各个数据库支持不同的排序规则。sqlite有三种build in的排序规则:BINARY二进制比较,直接使用mem...

2017-05-23 15:08:00 2820

转载 Cocoa Pod使用总结

1. 背景CocoaPod是Swift,Objective-C语言编写的Cocoa项目的依赖管理工具。简单点说就是它管理了很多的Swift和Objective-C的库,然后通过CocoaPod可以比较容易的在自己的项目中引用与管理它所提供的各种库。CocoaPod本身是用Ruby开发的,可以在Mac默认的Ruby环境下运行(官方也推荐用Mac默认环境运行)。它本身也是被Ruby的包管...

2017-05-01 22:15:00 302

转载 通过IHttpModule,IHttpHandler扩展IIS

IIS对Http Request的处理流程当Windows Server收到从浏览器发送过来的http请求,处理流程如下(引用自官方文档):最终请求会被w3wp.exe处理,处理过程如下:左边蓝色的部分是对Request的处理流程(从上到下),IHttpModule就是用来跟踪和控制这整个过程的接口。IHttpModule我们通过自定义IHtt...

2017-03-20 22:42:00 194

转载 AWS Python SDK boto3中的基本概念与使用方法

最近在用boto3编写AWS的lamda函数,学习到了boto3中的一些基本概念与使用方法。在此进行总结。1. boto3提供了两个级别的接口来访问AWS服务:High Level的Resource级别的接口,Low Level的Client接口。  Client级别的接口则是返回Dictionary来表示查询到的资源信息。而Resource级别的接口是对Client级别的接口进...

2017-01-02 19:18:00 703

转载 ASP.NET Web API上实现 Web Socket

1. 什么是Web SocketWeb Socket是Html5中引入的通信机制,它为浏览器与后台服务器之间提供了基于TCP的全双工的通信通道。用以替代以往的LongPooling等comet style的实时解决方案。基于它们之间的比较以及Web Socket的优势参考https://www.websocket.org/quantum.html.2. Web Socket如何工...

2016-12-07 23:26:00 945

转载 iOS学习笔记: 使用CAShapeLayer创建带有空心区域的遮罩层

CAShapeLayer是用来接受矢量Path,直接使用GPU来进行渲染的特殊图层。看下面效果:对应代码: let markLayer = CAShapeLayer(); markLayer.frame = self.view.bounds;// layer的位置 markLayer.fillColor = UIColor...

2016-11-28 00:06:00 276

转载 iOS学习笔记:frame,bound,center, anchorPoint

frame: View在它的Super View坐标系里的坐标bound: 用来定义View自身坐标系和边界的Rect,Rect的原点表示View自身坐标系的原点坐标。举个例子:  一般情况下bound的值为(0,0,width,heigh),其中0,0表示View自身坐标系的原点坐标为(0,0)  但是既然类型是Rect,我也可以设置bound的原定为非(0,0)啊,比如b...

2016-11-01 13:15:00 186

转载 iOS学习笔记:iOS核心动画中的常用类型

CATransaction当我们在自定义的图层上修改某些支持动画的属性时,系统会为该属性的修改自动产生动画。这种其实属于隐式动画。隐式动画要得益于CATransaction. 一个CATransaction从调用CATransaction.begin()开始,以CATransaction.commit()结束。在这其间对图层属性的修改,会受该Transaction的控制,可以通过se...

2016-10-29 23:34:00 159

转载 SqlServer中获取数据库中每个表的行数

CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128))EXEC sp_MSForEachTable 'INSERT INTO #RowCounts SELECT COUNT_BIG(*) AS NumberOfRows, ...

2015-12-28 20:42:00 534

转载 WPF中的Drawing

以前在用WinForm的时候,可以通过GDI+接口在窗体上动态绘制自定义的图形。在WPF中有没有对应的API呢,最近项目中用到了这个,在这里总结一下。 WPF中的Drawing主要提供了几类API: 1. Drawing类型 该组类型主要用来对绘制的对象的描述。比如GeometryDrawing是描述一个几何图形的Drawing,它的Geometry属性定义了它所描述的几何图形...

2014-07-12 10:47:00 459

转载 Windows下搭建MySql Master-Master Replication

1.首先下载最新版的MySql Server (http://dev.mysql.com/downloads/windows/installer/)2.安装MySql Server到两台机器上MySql 1: 192.168.0.104 (以下简称104)MySql 2: 192.168.0.103 (以下简称103)3. 配置Mysql Server启动Binary ...

2014-06-28 22:29:00 173

空空如也

空空如也

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

TA关注的人

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