Jul 7
偶尔由于一些很奇怪,很没道理,很hack的理由,我们的程序需要在运行时知道这个函数是从哪儿,或者是谁调用的,并且针对这个情况做一些特殊处理。作为iOS开发,我们的程序的方法实现都是货真价实的机器码,在尽量不破坏程序源码甚至闭源的情况下,我们能做到这个事儿吗?有个小技巧可以做:

核心工具

实现这个事情的核心工具是__builtin_return_address(level)方法(https://gcc.gnu.org/onlinedocs/gcc/Return-Address.html)。
Jun 15
在iOS持续构建过程中,我们经常会涉及到读取mobileprovision信息的内容这一过程。我们都知道mobileprovision中包含了一个plist,包含了这个证书对应的大量信息,但是mobileprovision本身不是plist,因此整件事儿的核心就是把mobileprovision中的plist导出出来。网上能直接搜到的方案是:
security cms -D -i path_to_mobileprovision
#在ruby中即
plist = `security cms -D -i #{path_to_mobileprovision}`
plist_content = Plist.parse_xml(plist)
May 5
restful接口时代来临后,我们很少会提到http分块传输这件事情。http分块传输是指的服务端以数据流的方式分段输出数据到客户端,并且客户端分段接收数据并展示,此时返回体的header会有标示Transfer-Encoding: chunked,当然因为是分端返回的,就不存在Content-Length了(参考https://www.jianshu.com/p/d9941adfe58f)。
目前随着轻客户端重服务端的原理,服务端处理返回的数据量是越来越大,并且一些重业务的场景,restful过于庞大并且越来越缓慢。为了保持接口一致性的前提下提升用户体验,http分块传输不失为一种可以讨论方案。
Mar 18
在一次CodeReview中,我们发现在一个普通的列表加载高度不定的图片的时候,有如下写法:

- 初始化高度固定为默认值。reloadData。
- 在cellForRow中通过sd加载图片。
- 在图片加载成功后,获取图片高度并塞到本地缓存。
- 再刷新当前的cell。


代码看起来如下:
Mar 1
Duck Test,一种著名的归纳原理,就是说“如果它看起来像鸭子,游泳像鸭子,叫声像鸭子,那么它可能就是只鸭子。”,不浮于面向协议编程这种标准的编程形式,“面向鸭子编程”的思路旨在以事实,而不只是约定为标准,进行代码实践。并不是说鸭子测试的思路和面向协议编程是矛盾的,鸭子测试依然是基于协议的,但它的核心是不盲信任于任何协议或者约定,而是基于事实的代码检测去完成程序逻辑
Feb 12
在现代前端网页开发中,为了避免零散的资源加载,比如小图标,重复背景之类的,我们会在html/css/js里将图片转成base64编码直接插入到相关代码中来提升性能与整体可用性。特别是在混编和ssr的场景更常见。但是base64编码的图片问题也很明显——数据量恒定大33%,如果咱们的应用是高流量应用在关注高可用性的同时,流量也极限追求的话,肯定就在想,原理上我们有直接把图片二进制数据直接插入到代码中的方法么?
Jan 19
原理上,这个课题利用point做粒子效果就可以解决,本不需要通过shader去处理。不过作为用gl的思维进行地图栅格数据绘制课题的后续,还是提出以下。本方案的核心思路还是数据栅格化,降纬处理数据减少碰撞测试次数提升性能。
Demo:http://lrdcq.com/test/mapwebgltiles/scatter/
Jan 11
有几个以上讨论的拓展问题,在分享的时候大家都比较关心,补充一下:

地图栅格服务端
上一頁 1 ... 3 4 5 6 7 8 ... 17 下一頁