前言 最近刚追完杨导的电视剧版《三体》,对人类所为对世界的影响有了一个叹为观止的新认知,虽然是一部科幻剧,对人性的揭示却是非常刻骨。很久之前曾经在知乎刷到过一个问答,标题大概是《假如有人把支付宝所有存储服务器炸了,大众在支付宝里的钱是不是就都没有了呢?》,惭愧的说,从那篇文章笔者首先是全面地了解了「如何使用各种手段对服务集群进行物理破坏」,再者才是明白了「金融系统设计者是如何用心...
一、加密与数论基础 在正式谈及 ECDHE 之前,需要先谈谈与之关系紧密的 RSA 算法。ECDHE 是建立在优化 RSA 部分特性的前提下诞生的。 1.1 非对称加密 RSA算法 常应用于非对称加密,非对称加密生成一对密钥,常见的使用场景为: 公钥加密,私钥解密。这个目的是为了保证数据传输安全性,因为被公钥加密的内容,其他人是无法解密的,只有持有私钥的人,才能解密出实际的内容...
一、基本概念 所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter 中的路由管理和原生开发类似,无论是 Android 还是 iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 二、MaterialPageRoute 2.1 基本定义 MaterialP...
一、三种常见的状态管理 Widget 管理自己的状态。 Widget 管理子 Widget 状态。 混合管理(父 Widget 和子 Widget 都管理状态)。 1.1 Widget 管理自己的状态 1.1.1 适用场景 如果状态是有关界面外观效果的,例如颜色、动画,那么状态最好由 Widget 本身来管理。 1.1.2 例子 class TapboxA ext...
一、Widget 1.1 canUpdate方法 canUpdate(...)是一个静态方法,它主要用于在 widget 树重新build时复用旧的 widget。 根本作用:是否用新的 widget 对象去更新旧UI树上所对应的Element对象的配置。 判断规则:只要newWidget与oldWidget的runtimeType和key同时相等时就会用new widget去...
一、背景 笔者在《WKWebView》一文中提到过,WKWebView 在独立于 app 进程之外的进程中执行网络请求,请求数据不经过主进程,因此,在 WKWebView 上直接使用 NSURLProtocol 无法拦截请求。所以如果需要使用到拦截请求,有种可行地方案是使用苹果开源的 Webkit2 源码暴露的私有API(详见原文第3小节:NSURLProtocol问题)。 但使用私有AP...
一、分析 在iPhone 6s、iOS 10.3.2中,对 http://www.qq.com 进行10次请求,得到如下数据: 次数 UIWebView 内存消耗 WKWebView 内存(APP)消耗 UIWebView 请求耗时 WKWebView 请求耗时 1 ...