Matt Reach

「Stay Hungry, Stay Foolish」

千帆 SDK Issue: TimeStamp

简介 去年我写过这么一篇文章 《小心 unsigned 数据类型埋下坑》 主要说明了一个问题,一定要小心不能将一个小于 0 的值赋给 unsigned 类型!今天要说的我们经常会给服务传个时间戳,客户端最好不要使用 int 类型来接受,因为很可能程序只能正常运行到 2038 年。 时间戳 服务器端需要一个以毫秒为单位的时间戳,同事是这么写的: 1 NSInteger time = [[...

千帆 SDK Refactor: NetWork

重构,不是说说而已,也不是不想看别人的烂代码自己重写一遍,而是真的遇到了会破坏当前架构的实际问题了,或者之前就没想那么多,继续往下写只会将业务逻辑搞得支离破碎,毫无条理而言,日后维护负担大,相同的逻辑写了多遍之时,才需要重构;我将会结合实际分享几篇SDK内关于重构的文章。 网络请求的现状 重构要有合适的动机,不能出师无名,所以我们先来看看我为何决定要重构网络请求;目前SDK的所有...

什么是千帆直播 SDK

千帆直播SDK简介 说起千帆直播SDK,他包含了两个信息,一个是 千帆直播,一个是 SDK ,下面我们就说下他们的关系吧。 千帆直播 是搜狐旗下的一个直播平台,提供了丰富的精彩的美女直播,主要属于秀场类,正在全力打造成一个品牌。开发团队在广州部门,前身是 56 视频 (14年10月被搜狐收购),千帆直播平台拥有独立的移动端(iOS,安卓的请到各渠道下载)和 PC端,拥有几千名签约...

使用 Jekyll 搭建博客

博客大改版 在此之前使用的是 Octopress 博客系统,或许是厌倦了吧,因此改为直接使用 Jekyll 来搭建,花了几个晚上的时间,一步步摸索着做了个 Jekyll 的主题出来,毕竟 Jekyll 的主题不是一个 Geek 想要的,我前端能力有限,所以目前这个主题只是能用而已,so 就没不做主题包(丢人现眼)了,如果有需要的请联系我,我(厚着脸皮)做一个。 亲身感受 如果你看到了我...

统一管理网络变化

故事背景 Reachability 只能检测网络的变化,包括 WiFi ,WWAN 和 NoReachable 三种状态;她不能细分 WWAN 网络,不能参与用户的设置(某些App在设置里设有允许使用3G的开关),但是实际业务中我们会遇见这些情景,为了更加方便的获取、管理网络的各种状态,SLReachability 就运应而生了,现在她已经在两个项目里投入使用了,感觉还是挺方便的,现在拿来...

使用 UIBezierPath 绘制圆角六边形

UIBezierPath 能绘制各种图形,项目里总是用到,这里写个 demo 吧: 圆角,六边形 实现效果: 分析过程: 圆弧 需求: 实现效果: 完 源码地址 : https://github.com/debugly/UIBezierDemo

使用 Mac 搞开发必备的软件

背景 今天公司配的新 Mac Book Pro 到了,比我个人的电脑配置稍高了一点哈(固态硬盘是 512G 的,触摸板有 Force Touch 功能); 拿到手先登录下Apple 账号,简单设置下网络就开始用喽!我觉得从一个新电脑入手到打造出顺手的开发环境还是费了不少力气的,这里就记录下,以后再配置就直接去下载就好了,省时省力!下面是我打造开发机器安装的软件清单以及下载地址,随着以后的陆...

解决 CALayerInvalidGeometry 问题

今天遇到了很多 calyer 设置坐标的崩溃,原因如下: Fatal Exception: CALayerInvalidGeometry CALayer position contains NaN: [nan 8] 坐标竟然是 NaN (非数字)!这还得了,马上排查!!! 下面是具体崩溃信息: 1 2 3 4 5 6 7 8 9 10 Thread : Fatal Except...

深入理解关联引用

今日吃饱了,确实撑得慌,找了我的邻居-阿杰一起散步,走了好大一圈,最后在小区下聊起了技术,从YYKit,SDWebImage 等第三方库,扯到了关联引用,因为他们都用到了这个技术,然而我又想到了单例,单例和关联引用在实现上有一个相同点—都需要一个静态变量;那么疑问就来了:同样都需要一个静态变量,为什么结果不一样呢?或许你还没明白我的疑问是什么,请继续阅读吧! 一、回顾单例 我简单...

关联引用的使用方法

实际开发中,关联引用的使用是很广泛并且实用的,比如我们熟知的 SDWebImage,下拉刷新控件,YYKit等库里均有使用;我 14 年看 EGO 下拉刷新实现的时候发现了这种用法,那是我第一次接触,这里简单的介绍下使用方法… 假如现有工程里已经有个类 SingletonObject,我想给他加个属性,我们知道类别是不可以加属性的,这里就要使用 Runtime 的技术了—关联引用;...