https

正确使用AFNetworking的SSL保证网络安全

0x00 引言 一篇很早前的文章了,为了后续的一系列文章,把这篇文章先放上来吧。 通过本文,你可以了解iOS下如何用AFNetworking来强保证HTTPS的安全。 0x01 描述 AFNetworking, iOS开发中,以其优雅的结构设计和简便的调用方式,使其成为了最流行的网络开源库之一(另一个应该算是ASI了,但经久失修不维护的原因,已经不是首选)。 我们在大多数情况下,都能够正确使用AFNetworking的功能,但在网络安全日趋严峻的今天,加入SSL使用HTTPS已经成为了很多大中型网站的首选;这点在国外尤其流行,例如Google已经全站HTTPS。 本文便主要描述了如何正确使用AFNetworking中的SSL功能。详细步骤如下: Step 1 获取到站点的证书 我们可以使用以下openssl命令来获取到服务器的公开二进制证书(以google为例): "openssl s_client

  • Cain Wang
    Cain Wang
6 min read
Tech

监控SDK的架构设计

0x00 引言 随着柯洁对战AlphaGo的败北,人工智能一词进入了越来越多人的视界。一时间似乎人人都在谈论人工智能,风口似乎正在向这一块领域进行倾斜。不过今天我们来谈的不是人工智能,而是人工智能背后的大数据。 构建人工智能基础的机器学习,需要大量的数据进行训练;即要有足够的数据量来喂饱我们的机器学习算法,以让它更加的智能。 那么问题来了,如何获取到我们想要的大数据?有读者可能第一时间就会想到现在非常火的爬虫技术。没错,爬虫可以帮我们获取到大量的公开数据。然而对于我们自身的业务、性能等信息却无用武之地。因此我们自然会想到,自己构建一个监控或者说埋点的SDK,来获取用户行为或者性能分析的数据。这样便能够最大限度地发挥数据的作用。 本文会结合一些经验来谈谈以下几个方面的内容: 如何架构一个iOS的监控SDK? 如何实现自动采集? 0x01 iOS下的监控设计架构 俗话说得好,脱离业务的实践来谈架构就是一种耍流氓。因此我们先来看看一种监控业务的场景。 其实采集用户数据的场景无外乎两种:APM和UBT。

  • Cain Wang
    Cain Wang
21 min read