0%

Core Animation Essentials,主要讲了 Core Animation 的一些基础知识。

讲了一个点击图片 item 有各种效果的 demo 。

  1. 点击动画变大 (change bound)
  2. shrink and grow (UIKit 定时器改变 bound , CA 可以用 CAMedia timing protocol and repeated animation)
  3. 边框闪烁,颜色变化 (layer.border color is animation property, repeated animation)
  4. flip 到中心然后回到原处 (2.5D perspective transform)
  5. 边框粒子闪烁效果

然后后面就是讲 Core Animation 一些基础,所以下面就把Core Animation Programming Guide的内容大致过一下。

阅读全文 »

在面试的时候,我们会碰到 Block 相关的问题:MRC 下为什么要用 copy 修饰? 为什么 ARC 下就不要这样处理呢?,所以打算把堆栈的内容和 Block 一起讲解。

阅读全文 »

**转载请注明出处!http://joakimliu.github.io/2018/03/16/Virtual-Memory/ 谢谢! **

地址空间

应用程序需要一个简单的执行环境(地址空间+CPU),地址空间我们可以把它想象成一个很大的数组,每个数组的元素就是一个字节,这个数组大小由地址空间的长度决定。比如 32 位的地址空间大小为 2^32 byte = 2^22 KB = 2^12 MB = 2^2 GB = 4BG,用16进制表示就是 0x00000000~0xFFFFFFFF,32位 iPhone 机型里面的应用地址空间如下图所示。地址空间分为两种:虚拟地址空间(Virtual Address Space)和物理地址空间(Physical Address Space)。物理地址空间是实实在在存在的,可以把它理解为物理内存,如 32 位的机器,它的物理空间就是 4GB。而虚拟地址空间是虚拟的,人们想象出来的,它并不存在。

阅读全文 »

之前在讲密钥配送的时候,有提到 Diffie-Hellman 密钥交换,今天来简单的谈谈它。 Diffie-Hellman 密钥交换(Diffie-Hellman key exchange)通信双方仅通过交换一些可以公开的信息就能够生成共享的数字,而这一秘密数字就可以被用作对称密码的密钥。下面先来讲讲它的步骤。

阅读全文 »

上篇文章中讲到了密码学的相关知识,今天来简单谈谈 RSA。之前有提到过,对称密码通过将明文转换为复杂的形式来保证其机密性的,而公钥密码则是基于数学上困难的问题来保证机密性的。 RSA 就是利用了大整数的质因数分解问题的困难度。在谈它之前,我们先来谈谈时钟(只有指向小时的一根指针)运算。

阅读全文 »