0

Image Description

荆文征

Zhidu Inc.


你好,再见

在ios上,因为客户端运行在各种形形色色的人手中,我们就要对自己交付出去的软件,进行一些列的守护。今天我这里就来看看,怎么进行一些守护。

既然谈到,防御,就得明白这些人的进攻方式,才可以进行守护。

以下我会从两个方面来看看如何攻击和如何防御

  1. 越狱hook
  2. 网络抓包 篡改

在开发的时候遇到一个问题,我们的测试找到我,跟我说,我的邮箱输入的明明是对的,为什么告诉我不符合规则呢?我开始了问题排除。

func emailVerfication(disposeBag: DisposeBag) -> Observable<String?> {

    let vCodeBehaviorSubject = BehaviorSubject<String?>(value: nil)

    let pattern = "^[\\w._%+-|][email protected][\\w0-9.-]+\\.[A-Za-z]{2,}$"

    let textObservable = rx.text.distinctUntilChanged().filterNil()

    textObservable.filter { text in text.count <= 0 }.map { _ in "邮箱不可为空" }.bind(to: vCodeBehaviorSubject).disposed(by: disposeBag)
    textObservable.filter { text in text.count > 0 }.map { Validator.regex(pattern).apply($0) ? nil : "邮箱格式不正确" }.bind(to: vCodeBehaviorSubject).disposed(by: disposeBag)

    return vCodeBehaviorSubject
}

是我的代码出了问题吗?

2018年就这样要结束了,忙碌了一年…

2018年上半年几乎没有任何产出,都是在学习区块链相关。倒是学习了很多,受益匪浅。前段时间,比特币崩盘,也印证了我的猜想。

本身比特币就是一次实验,被人可以的搞成了一次“投资”?还真有人信。当然,我TM要是早点知道,这个玩意,我也信,韭菜真香……………………

一直到了,9月底,才迎来了一个项目。接下来的几天,我会整理一下,在开发这个款软件遇到的问题,以及解决方式,也算是为我的2018,来个收尾。

这个问题和Maven的自己的本地源一样,就是想向 Cocoapods Spac 一样的工作。那么接下来我们就来结合一个我现实中遇到的实例来实现这个问题

最近公司需要引入百度的人脸识别,以及身份证等文字识别两个sdk,但是百度这种大公司,根本不会让你很舒服的引入,只能手动引入,但是我不是很喜欢,所以我就使用本地 Cocoapods 来完成这个事情。

在使用的时候,遇到了一些问题,特此记录一下

在学习oc 之前,c的基础非常的不好所以今天我学习以下 inline的意思,要不然每次看到的时候心里都觉的有东西没理解。以下的文章转载自C++中的inline用法

从今天开始修改以前的学习模式,以前的模式是说,没有学习完成之前不会写博客,从现在开始每次学习到了一些新的小知识也会记录下来

inline的作用

之前在学习递归函数的时候,就知道了,在大量的递归的时候,会创建很多个函数的对象,导致函数对象所占用的空间增大,让我们在使用的时候,看情况的使用,循环和递归两种方法来做事情。
而inline就是为了解决一些频繁使用的小函数大量消耗空间(斩内存)的问题,特别引入的修饰符,表示该函数为 内联函数。
占空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈内存是有限的,假如频繁大量的使用就会造成因栈空间不足所引起的程式错误,函数的死循环循环递归的最终结果就是导致栈内存空间枯竭。
下面我们来使用一段代码来解释什么事 内联函数。