自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不一样的博客

Android/iOS 开发工程师

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除