上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: Http Basic Authentication是HTTP协议中定义的Web系统中的验证方式。参考wiki 主要的实现机制如下: 1. 用户通过浏览器匿名访问web资源。 2. web服务器检测到web资源是需要已验证的用户才能访问。向浏览器返回Response(状态码401)。该response 阅读全文
posted @ 2018-06-16 21:35 self.refactoring 阅读(2152) 评论(0) 推荐(0) 编辑
摘要: 计算机中的浮点数只是无限接近真实值的近似值。为什么呢?首先来看一下浮点数在计算机中是如何存储的。 浮点数的存储 计算机中浮点数的存储遵循IEEE754浮点数标准。单精度用32位存储,而双精度用64位存储。具体的存法如下(以单精度为例): 单精度(32位) = 1位符号位+8位指数位+23位尾数位,见 阅读全文
posted @ 2018-04-18 17:09 self.refactoring 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: 在async和await之前我们用Task来实现异步任务是这样做的: 而使用async和await后的异步任务是这样写的: string result = await GetBaiduHtmlAsync(); Console.WriteLine(result); 其实不仅仅是写法变了,而是执行原理, 阅读全文
posted @ 2018-02-06 10:49 self.refactoring 阅读(779) 评论(0) 推荐(1) 编辑
摘要: 最近遇到一个签名的问题,借机把iOS签名相关知识点研究了一下。现总结如下:(研究过程中参考了这位仁兄的博客。很全面,本文也有部分借鉴) 非对称加密 这个是签名机制的算法基础。所谓非对称加密的是相对于对称加密来说的。对称加密是加密方和解密方约定一个相同的密钥和加解密算法。只要获取了这个密钥,则可以破译 阅读全文
posted @ 2017-12-28 14:59 self.refactoring 阅读(1080) 评论(1) 推荐(0) 编辑
摘要: WebDAV 安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的Web Site默认会应用WebDAV Module和WebDAV Handler. WebDAV是基于HTTP协议的扩展,添加了很多M 阅读全文
posted @ 2017-12-23 22:34 self.refactoring 阅读(3154) 评论(0) 推荐(0) 编辑
摘要: 信号量与互斥体 互斥体(Mutex)是操作系统中一种独占访问共享资源的机制。它像一把所锁,哪个线程获取到互斥体的控制权,则可以访问共享的资源,或者执行处于受保护的代码。而其他的线程如果也想获取控制权,则需要要阻塞等待,知道拥有控制权的线程释放控制权。 信号量(Semaphore)是操作系统中协调多个 阅读全文
posted @ 2017-12-12 22:36 self.refactoring 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 在开发阶段我们我们经常使用自签名的证书来部署我们的后台rest api。但是在iOS中调用的时候就会因为证书不被信任而调用api不成功。这时候我们就需要通过实现某些网络回调函数来自定义证书的验证逻辑。(在iOS中一般通过UrlSession(OC中是NSUrlSession)来进行网络通信,这里以U 阅读全文
posted @ 2017-11-08 23:07 self.refactoring 阅读(2253) 评论(0) 推荐(0) 编辑
摘要: 平常的app开发中只调用Rest Api可能用不到Cookie,但是当要在App中内嵌WebView就有可能要用到。最近用到了这一块的东西,总结一下。 Cookie原理 关于cookie的原理简单描述就是下图: server通过Set-Cookie或者Set-Cookie2来告诉浏览器存储cooki 阅读全文
posted @ 2017-11-07 22:12 self.refactoring 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: XCode提供了一组用于检测内存,调试动画,布局等的工具。对于调试一些性能问题,内存问题非常方便。这里我们使用Leak来发现代码中的内存泄露。 在Leak中启动我们的应用开始监控: 注意,在监控的时候有两种选择:All Heap Allocation,All Heap Allocation & An 阅读全文
posted @ 2017-11-01 20:03 self.refactoring 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 通过AttributeedModelPrograming,我们可以声明暴露组件,依赖组件,发现组件,但是所有这些需要有一个触发点。即需要把所有这些组合在一起来协同工作,最终实现依赖注入。这就是Container层所做的事情. CompositionContainer CompositionConta 阅读全文
posted @ 2017-10-29 14:16 self.refactoring 阅读(403) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页