Aug 8
参考基础demo食用:https://lrdcq.com/test/2dnormal-canvas,纯源码网页,另存下来修改更佳。
我们在屏幕上看到的所有图像说到底都是二维图像。在二维图像上表现3d的效果有几种主要方式。一种方式是通过线条来描绘出空间感。另一个种方式就是通过色差来表现光照/阴影了来描绘出层次感了
Jul 15
Fastlane的衍生工具中,有一个叫Spaceship的ruby工具库https://spaceship.airforce/,可以帮助我们用脚本访问Apple Developer Center与App Store Connect API。当然,苹果自己的api已经足够了https://developer.apple.com/documentation/appstoreconnectapi/,当时还是有一些我们在网页上可以直接操作的事儿用api调用贼麻烦。Spaceship是结合api和苹果网页的请求api模拟操作一起使用的,那基本上我们在网页上能干的事情我们都可以做到了。是甚爽。

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

核心工具

实现这个事情的核心工具是__builtin_return_address(level)方法(https://gcc.gnu.org/onlinedocs/gcc/Return-Address.html)。
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/