入坑小程序

描述

去年各大平台纷纷开始占领微信上的又一流量入口——小程序。因为小程序的门槛低,这里指,技术上和前端大同小异,审核刚开始也比较松。除了大厂,很多个人开发这都投入进去。想在小程序上打响自己的个人品牌。在筹备了三个月之久,我的第一款小程序,终于快要完成了。在这里我会总结一下整体的过程,从idea到一个完整的小程序、期间遇到的坑、和觉得挺有意思的地方。

阅读全文

递归

基本思想

递归是一种直接或者间接调用自身函数或者方法的算法。递归的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法,其实就是程序的自身调用。在一段程序中往往会遇到调用自身的那样一种coding策略。递归往往能带来非常简洁非常直观的代码形式,从而使我们的编码大大简化,但是递归的思想确实和我们的常规思维相逆。我们通常是从上而下的思考问题,而递归是从下往上进行思考。这样我们就能看到我们会用很少的语句解决很大的问题,所以递归策略最主要的体现就是较少的代码量解决复杂的问题。

阅读全文

再见2017,你好2018

不知不觉工作已有三个年头,在iOS这条路上,从当年战战兢兢的新人变成一个熟练的开发者,这一路走来真不容易。不仅仅是身体上的负荷,个人对于技术的追求也使自己或迷惘或奋起。

阅读全文

iOS多线程中的锁

涉及到多线程共享资源的情况下就避免不了资源竞争的问题,这时候就会用到各种锁,例如,@synchronizedNSLockOSSpinLock等等,虽然都是锁,但是锁的底层实现也不尽相同。大概可以分为:互斥锁自旋锁递归锁读写锁

{
	lock()//加锁
		doSomeThing()//临界区
	unlock()//解锁
}

我们锁的目的是在任何时刻最多只能有一个线程在修改资源,即在任何时刻只能有一个操作者保持锁。

阅读全文

快速排序

故事

快速排序由C.A.R.Hoare(东尼霍尔)在1960年提出。之后又有许多人对此进行改进。如果你对快速排序感兴趣可以去看看东尼霍尔1962年在Computer Journal发表的论文“Quicksort”以及《算法导论》的第七章。

阅读全文

作者的图片

董二千

愿你走出半生 归来仍是少年

iOS Developer

China