Protocol Buffers 是 Google 提出的一种序列化数据格式,最早的 public release 是在08年的7月份推出。相比于 XML 和 JSON ,它的传输大小更小,速度更快,结构更简单,在数据传输和存储的场景下更具有优势。同时 Google 非常友好的提供了不同平台的版本供开发者们使用,其对外的简洁性旨在让开发者们更注重业务的细节。不过本文并没有对源码进行剖析,我们重点分析的是 Protocol Buffers 是如何做到减小体积,也就是 Encoding 的过程。
- 2018年8月11日...more
跨平台长连接组件设计及可插拔改造
2018年4月3日...more背景
我们在提出开发跨平台组件之前, iOS 和 Android 客户端分别使用一套长连接组件,需要双倍的人力开发和维护;在产品需求调整上,为了在实现细节上保持一致性也具有一定的难度;Web 端与客户端长连接的形式不同,前者使用 WebSocket,后者使用 Socket ,无形中也增加了后端的维护成本。为了解决这些问题,我们基于 WebSocket 协议开发了一套跨平台的长连接组件。
HTTPS 笔记
2017年9月24日...moreHTTPS 是被广泛应用在网络中的一种加密通信协议,也被叫做在 TLS 之上的 HTTP。TLS 以及前身 SSL 是传输层安全协议,给网络通信提供安全和数据完整性的保障,所以它能很好的解决 HTTP 的数据明文和劫持篡改的问题。并且其分为记录层和传输层,记录层用来确定传输层数据的封装格式,传输层则用于数据传输,而在传输之前,通信双方如何彼此信任和建立一个安全通信方式,是需要我们深入了解的。
目前推荐的 TLS 版本是 1.2,协议具体内容可以在 The Transport Layer Security (TLS) Protocol Version 1.2 中去仔细了解,它是08年8月发表的。 TLS 1.3 到16年1月都还只是草案。
用 Fastlane 升级私有 Pod 库
2017年9月9日...more最近我们完成了用
Fastlane
自动化打包上传 iTunes Counnet ,为了将 Fastlane 的功能进一步的使用,后面希望能将 Pod 集成和升级也自动化,我也抽空研究了一下私有 Pod 库的升级、 Fastlane Action的制作和 Fastlane Plugin 的制作。基于 NSURLProtocol 实现 Debug 环境切换工具
2017年9月9日...more背景
公司内一般对调试环境会分为
线上
、预发布
和QA测试
三种,而在切换环境的时候大多还是通过网页或桌面应用,当在调试客户端应用时这样的方式就比较麻烦了,所以我们组社会光哥
将整套环境切换和请求转发的原理理清晰之后实现了 Android 版的 Debug 环境切换工具,而我则根据其原理实现了 iOS 版。客户端接入该工具之后,只需在应用内即可切换环境和指定调试目录(每个目录独立部署代码)。