理解数据库索引
在日常开发中,数据库降低了我们操作数据的门槛,我们只要编写特定的 SQL,就能对数据做增删改查操作。在简化的背后,往往都隐藏着性能优化的福利,数据库也是如此,我们知道假如没有索引,查询数据就会全表扫描,而索引就如书的目录一般,大大提高了查询效率。本文将对数据库索引进行介绍,认识索引的数据结构,同时也介绍索引的其他概念。
阅读更多 →在日常开发中,数据库降低了我们操作数据的门槛,我们只要编写特定的 SQL,就能对数据做增删改查操作。在简化的背后,往往都隐藏着性能优化的福利,数据库也是如此,我们知道假如没有索引,查询数据就会全表扫描,而索引就如书的目录一般,大大提高了查询效率。本文将对数据库索引进行介绍,认识索引的数据结构,同时也介绍索引的其他概念。
阅读更多 →RunLoop 是个老生常谈的话题了,一直以来对 RunLoop 的认识还停留在 深入理解RunLoop( YY 大神) 等业内好文当中,对于自个来说仍有些知识盲区:
CheckIfExistMessagesInMainDispatchQueue();
,代码看似提供了一次执行 main queue 的机会,为什么有这样的设计?USE_DISPATCH_SOURCE_FOR_TIMERS
这样的宏,到底 GCD 的 timer 与 RunLoop 有关吗?之前负责项目的包体积优化学习了 Mach-O 文件的格式,那么 Mach-O 究竟是怎么样的文件,知道它的组成之后我们又能做点什么?本文会从 Mach-O 文件的介绍讲起,再看看认识它后的一些实际应用。
阅读更多 →以前我们常用 fixedSpace
的方式为 UINavigationBar 上的 UIBarButtonItem 设置间距:
1 2 3 4 5 6 7 |
|
Core Text 是苹果提供的富文本排版技术,可以定制开发图文混排功能,DTCoreText、Nimbus、YYLabel 等优秀的开源库底层都是基于 Core Text 的封装和扩展。本文将介绍 Core Text 的基本用法,逐步讲解我是如何封装一个 AttributedLabel 的。
阅读更多 →