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
Tech

本站开始支持TLS1.3

站点开始支持TLS1.3 0x00 引言 本站开始支持TLSv1.3 版本。 (2018.11.07更新Final版本,可翻到文章末尾查看) 本文记录了相关的一系列过程,希望对后来的伙伴们有所帮助。 阅读本文可以获取到以下内容: 什么是TLS1.3 如何在站点上支持TLS1.3 0x01 什么是TLS1.3 TLS1.3 是SSL加密的最新标准规范,截止目前写作的时间(2018年3月1日),TLS1.3的正式RFC还并没有正式定稿,但其draft已经前行到了ver.24。有兴趣的同学可以前往TLS1.3 Draft24自行阅读。

  • Cain Wang
    Cain Wang
9 min read
Old Fashion

与时俱进,HTTP/2下的网络层架构设计

0x00 引引言 也是很早以前写的文章了,现在H2基本也都普及了。文章还是放上做个记录。 0 引言 HTTP/2,HTTP协议的第二个主要版本,是HTTP协议自1999年HTTP1.1发布后的首个更新。于2015年2月17日被批准后,标准也于2015年5月以RFC 7540正式发表(来自维基百科)。 HTTP/2,采用了一系列优化技术来整体提升HTTP协议的传输性能,如异步连接复用、头压缩等等,可谓是当前互联网应用开发中,网络层次架构优化的必选方案之一。Apple对于HTTP/2的态度也非常积极,5月HTTP/2正式发表后不久,便在紧接着6月召开的WWDC 2015大会中,向全球开发者宣布,iOS 9 开始支持HTTP/

  • Cain Wang
    Cain Wang
22 min read
Old Fashion

饿了么移动架构演进

0x00 引引言 很早以前写的文章,如今的架构已然不是当年的那样了。希望还能带来一定的启发 0 引言 时代演进,技术也随之发展。到今天,APP已然成为绝大多数互联网企业用来获取用户的核心渠道。与此同时,伴随着业务量的增长,愈来愈大、愈来愈多的APP也在不断地、持续地挑战着每一个移动端研发人员的知识深度,而我们的移动端技术人员也在这个不断接受挑战的过程中,成就了今天的移动互联网时代。饿了么移动APP就是这样一个挑战,多用户量、多业务量,在接受着更多更挑剔用户的同时,默默地、不断地演进着移动端的架构。 1 MVC 我们常说,脱离业务谈架构就是纯粹的刷流氓。饿了么移动APP的发展也是其业务发展的一面镜子。 在饿了么业务发展的早期,移动APP经历从无到有的阶段。为了快速上线抢占市场,传统移动APP开发的MVC架构成了“

  • Cain Wang
    Cain Wang
10 min read