- 博客(4)
- 收藏
- 关注
原创 SQL 最佳实践(基础篇)
0x00 前言作为一名客户端开发工程师,虽然对 SQL 能力的要求不会像数据分析师或者后端那么严格,但基础的能力还是要会的,比如开发过程中,上报了数据入库,要分析的时候要会查出来,或者制定一些数据报表展示等等。例外,如果有指标建设,那就更需要比较强的 SQL 实践基础了。0x01 CRUDSQL 其实用起来是比较简单的,实际使用中无非就是增删改查(Create, Retrieve, Update, Delete),下面简单介绍下 CRUD 基本使用姿势,其中只会讲到实际中高频用到的情况。0x02 环
2020-07-25 12:06:35 1185
原创 JS 解析 key-value 最佳实践
一般请求接口返回的数据大部分是 json 格式,JS 解析某个字段数据,相信大家都会遇到取某个字段可能会是 undefined 或者 null 类型,如果代码忘记处理 bad case 就会挂了下面代码是封装了对字典的解析,感觉挺好用的,基本原理就是循环遍历 keys,找到对应的 key 后,返回对应的 value,也比较简单mapUtils.dig = (map, keys) => { if (_.isNull(map)) { return map } let digMap
2020-07-24 12:56:20 1270
原创 卡顿和卡死监控
卡顿原因主要是主线程阻塞。在开发过程中,遇到的造成主线程阻塞的原因可能是:主线程在进行大量I/O操作:为了方便代码编写,直接在主线程去写入大量数据主线程在进行大量计算:代码编写不合理,主线程进行复杂计算大量UI绘制:界面过于复杂,UI绘制需要大量时间主线程在等锁:主线程需要获得锁A,但是当前某个子线程持有这个锁A,导致主线程不得不等待子线程完成任务。…业界调研微信团队(Matrix)卡顿检测流程图主线程卡顿表现FPS降低CPU占用率非常高主线程RunLoop执行时间过长
2020-07-22 10:34:09 3173 3
原创 关联对象源码分析
什么是关联对象?一个对象可以关联多个对象,可以扩展原有对象的能力,关联是拥有的关系。Case1: Category可以使用@property添加一个属性吗?@interface NSString (MyNSString)@property (nonatomic, copy) NSString *name;@end警告是name的存取方法需要手动实现,或者通过@dynamic在运行时实现存取方法。//强制使用NSString *test = @"test";test.name = @"n
2020-07-21 23:30:42 720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人