sunzhongliang

好心态才有好状态

Weex在大前端的预加载缓存方案

Weex在大前端的预加载缓存方案

Weex在大前端的应用,以及预加载缓存提高页面渲染速度 前言 现在市面上比较流行的混合框架,主要是Facebook的React Native、阿里的Weex(目前已转移到Apache维护)以及Google的flutter;我司在2016年的时候在调研一款混合框架,当时比较了React Native和Weex两款,Weex的Vue语法学习起来几乎没有成本,而React Native的...

iOS 自动打包

利用 jenkins+脚本 一键打包、上传

利用脚本+jenkins进行项目的编译打包,生成ipa包,并上传到fir 前言 现在网上的自动打包教程几乎都还是利用xcodebuild + xcrun的方式先生成.app包 再生成.ipa包 今天我们来试下在jenkins中构建项目,并且自动上传fir等功能。 平常网上说的jenkins构建iOS项目都是依赖jenkins插件功能,并且需要一大堆证书配置;但由于后来iOS项目构...

调试利器-charles

charles对日常开发中的帮助

利用charles抓包、模拟弱网络、mock数据等等 前言 日常开发当中,经常会碰到过api交付太晚,交付质量太差导致开发调试接口报错从而引起开发暂停,又或者是在实现某些复杂的功能时,需要频繁的修改api返回报文等等; 今天就来介绍一下charles这一开发利器可以很好的满足这些需求。本文主要介绍Mac环境,对于windows环境大同小异 charles可以帮助我们做什么 ...

浏览器的缓存详解

正文 总的来说,缓存方案分为强制缓存和协商缓存 两类缓存机制可以同时存在,强制缓存的优先级高于协商缓存;当执行强制缓存时,如若缓存命中,则直接使用缓存数据,不在进行协商缓存。 强制缓存 强制缓存,服务器响应的header中会用两个字段来表明:Expires和Cache-Control Expires Exprires的值为服务端返回数据的到期时间。如Expires:Thu, 02 Ap...

设计模式

设计模式

iOS中的MVC、MVP、MVVM以及架构设计 MVC的特点 标准版的MVC架构的特点,可以参见iOS中的UITableviewController Controller中持有Model和View,View的职责 是负责视图的展示,Controller充当了Model和View之间通信的桥梁; 优点:View、Model可以重复利用,可以独立使用 缺点:Control...

日常积累

程序启动流程 pre main阶段(操作系统开始执行一个可执行文件,并完成进程创建、执行文件加载、动态链接、环境配置) Mach-O可执行文件加载 dyld 加载程序所需的动态库。 rebase(偏移修正) 系统会随机分配ASLR(地址空间布局随机化), 例如,二进制文件中有一个test方法,偏移值是0...

算法题

合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的 示例: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 递归法: class Solution { // 传入两个链表的首节点,通过递归方式,返回一个新链表的首节点 public ListNode mergeTwoL...

CALayer

CALayer CALayer继承自NSObject,负责显示内容,和UIView的最大不同之处是不能够处理和用户的交互 每一个UIView都有个CALayer实例的图层属性,被称为backing layer,由视图负责创建并管理这个图层,以确保当子视图在层级关系中添加或被移除时,对应的关联图层也有相同的操作。 CALayer的几个重要属性 隐式动画:是Core Animatio...

SDWebImage源码分析

前言 SDWebImage是我们做iOS开发的时候一个比较常用的图片缓存加载库,对于一个优秀的三方库,就很有必要对它的源码进行阅读和学习,学习优秀的源码,还有助于提高我们的实力。 系统结构 一个优秀的框架应当具备"把简洁留给别人, 把复杂留给自己"特性,来看下它的系统结构设计 由系统结构图,将SDWebImage可以分为两类: 核心类 SDWebImageM...

setNeedsDisplay和setNeedsLayout

UIView layoutSubviews layoutSubviews不能直接调用,其调用时机: init初始化不会触发layoutSubviews 但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发 addSubview会触发layoutSubviews 设置view的Frame会触发layoutSubviews,当然前提是...