與天鬥與地鬥與人鬥其樂無窮
Jun 28
iOS14开放给开发者的大一统的小控件WidgetKit出来了。作为“抄袭安卓”的必不可少的一步。初探下苹果如何在偏向于安卓的高自由度,高可配,和自己风格的安全,隐私,高性能之间作出平衡,最终设计出的这个WidgetKit呢。

概览

點擊在新視窗中瀏覽此圖片
Apr 12
由于国家公祭日等一些原因。我们客户端也需要将部分核心页面置灰。虽然可以通过预留的大促方案或者主题化方案进行配置。但是,1. 相关方案的配置并不彻底,一般多多少少会有遗漏的地方,那在这类场合会相当眨眼。2. ugc内容无法控制。因此,我们需要尝试一个更通用的方案进行处理。

方案对标
Nov 29
月初的时候llvm仓库出现了一个巨大的pr:[Implement __attribute__((objc_direct)), __attribute__((objc_direct_members))](https://github.com/llvm/llvm-project/commit/d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1)。简单说起来就是为oc语言添加了direct方法的功能。direct一看就是说的Direct Dispatch的,让oc像普通静态语言那样方法直接调用来提高性能(而不是Message Dispatch)。
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
有几个以上讨论的拓展问题,在分享的时候大家都比较关心,补充一下:

地图栅格服务端