自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(396)
  • 资源 (1)
  • 收藏
  • 关注

原创 让我们在编程时多知道点设计模式用来装B神马的

序言        记得有一段时间总有人在我耳边说起设计模式,那时候我还年轻,对此很不屑,我总是认为设计模式是形而上学的东西,我相信编程是自由意识与灵感的产物,好比作家在创作,而不应该去拿个模子生搬硬套。但是有一天我终于抛弃傲慢与偏见,发现自己对设计模式只是一知半解, 并不了解其中的精髓和深层次作用。随着工作经验日益增加,与越来越多的杰出的工程师们共事过之后,我的想法发生了改变。有一次我在

2016-01-12 18:19:10 602

转载 程序员如何提高影响力:手把手教你塑造个人品牌

影响力,让梦想离你更近。试想一下,有一天你开发了一个新的语言。它比现有的某某主流软件,运行效率将提高了50%,开发效率提高了100%。接着,你在github上release了0.1,但是由于出现某个开发难题,你需要别人的帮助。而这时,你找不到有效的途径去找到那些真正会用它的人。接着出现了一个新的语言可以达到一样的效果,而这个项目就死于腹中,我记得mruby刚刚只写了一个README.md的时候

2016-01-04 14:01:18 1678

原创 写在2016新年第一天

昨天是2015年的最后一天,当新年钟声快要到来的时候,人们互相祝福并期待美好的一年到来。朋友圈里的小伙伴们一边发着新年夜狂欢的段子和照片,一边疯狂的发着红包,人们赞叹着我们生活在一个大变革的时代。大家对未来总是充满了希望,仿佛一夜之间人们就跨入了美好的未来。    然而,人类的变革从来不是一夜之间完成的。由此我想到了一个段子,在哥伦布发现新大陆的年代 ,一个贵族的沙龙上人们在讨论新大陆的奇闻趣

2016-01-01 10:29:16 587

原创 《设计模式》读书笔记

好吧,我读的是这一本,机械工业出版社的。    首先这本书很枯燥,是纯理论总结和大量的源代码实践,读起来非常的挑战程序猿的耐心,所以我买了大概一年了,一直放在办公室用来装B! 虽然装B的效果确实不错,但是每次我看见这本书都会觉得有负罪感,于是我决定挑战它,于是断断续续用了两周把它读完了!实在是没有各种段子读着有意思!    我的感觉是如果你已经是一个经验丰富的工程师,那么你几本上不需要

2015-12-28 22:57:05 512

转载 iOS 动画效果:Core Animation & Facebook's pop

前言相信很多人对实现 iOS 中的动画效果都特别头疼,往往懒得动手,功能实现不就得了,何必要那么花哨、装13的东西。但是看到别人的炫酷动效,心中又瘙痒不已,便下定决心学习,于是开始翻看 Core Animation、UIView动画(其实是对Core Animation的一种封装)相关资料。不小心看到一群大神正在热烈讨论,钻一进去一看,原来是POP (潜意识:Facebook出品必属精品)

2015-12-28 09:42:55 2638

原创 读书笔记《高效程序员的45个习惯敏捷开发修炼之道》

从开头看,这是一本武林秘籍,这是一本修炼内家武功的武林秘籍,好吧不开玩笑,作者打了个比方,这是一本以敏捷方法为总称的内家功夫秘诀为:迭代开发,价值优先分解任务,真实进度站立会议,交流通畅用户参与,调整方向结对编辑,代码质量测试驱动,安全可靠持续部署,一键安装定期回顾,持续改进不断学习,提高能力什么是敏捷?以人为本,团队合作快速响应变化和可工作软件的作

2015-12-14 22:56:55 650

转载 NSScanner类的基本用法

NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。 创建一个Scanner NSScanner是一个类族, NSScanner是其中公开的一类。通常,可以用scannerWithString:或localizedScan

2015-12-10 21:38:23 537

转载 CAEmitterLayer CAEmitterCell 一个基于Core Animation的粒子发射系统

简介:CAEmitterLayer提供了一个基于Core Animation的粒子发射系统,粒子用CAEmitterCell来初始化。粒子画在背景层盒边界上 Properties:        birthRate:粒子产生系数,默认1.0; emitterCells: 装着CAEmitterCell对象的数组,被用于把粒子投放到layer上; emitterDep

2015-11-17 14:50:44 679

转载 GCD 信号量控制并发 (dispatch_semaphore)

当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。  信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信

2015-10-10 16:28:50 618

转载 快快快!27个提升效率的iOS开源库推荐

我热爱开源,更喜爱那些花费宝贵的业余时间来创造奇迹的开发者们,感谢他们将自己辛苦劳动的成果无偿分享给大家。开源作者和贡献者们,你们太了不起了,感谢你们所付出的一切。鉴于我是收集不全会死星人,这里我根据个人喜好选取了一些iOS的开源库。这些项目的顺序完全随机,每个都棒到爆。绝大多数支持CocoaPods,所以将它们添加到你的Xcode项目中只是小事一桩。在本文末尾你可以找到一个长文慎入版本—

2015-07-27 14:07:27 916

转载 程序员装逼速成手册

还在整天为怎样才能更像一个IT精英而争吵的吐沫横飞的人们,我只能说你们图样图森破啊,看了下面的话,你应该自惭形秽,其实就是你们这些愚蠢的人类拉低了程序员的整体逼格,呵呵。  1、着装  一个牛逼的程序员是根本没有时间打理自己外貌的。发型就要像爱因斯坦一样,顶着一脑袋鸡窝,凌乱蓬松美,给人随时能从头发里掏出一个鸡蛋的感觉。胡子一大把,彰显自信又从容,不近视则以,近视就要戴酒瓶底子那么厚的大眼

2015-07-23 16:02:21 1059

转载 IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例)

http://blog.csdn.net/yuedong56/article/details/21524557Cornerstone是mac操作系统上一款比较流行的SVN版本管理工具。如何恢复到某一版本呢?1。选中你要恢复的工程2.点击“Working Copy”--->>"Revert..."。3. 选择你要恢复的版本号,然后点击“Revert”。

2015-07-13 19:46:27 44290

转载 SVN三种合并类型

合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里。如果当前工作副本是主干,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主干上的改动,并且一定要注意,合并的起始位置URL一定要和当前的工作副本的URL是相同的。一、合并一个范围的版本(Merge a range of versions)

2015-07-13 16:42:32 1488

转载 iOS中block实现的探究

[0. Brief introduction of block]Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性。用维基百科的话来说,Block是Apple Inc.为C、C++以及Objective-C添加的特性,使得这些语言可以用类lambda表达式的语法来创建闭包。用Apple文档的话来说,A block is an ano

2015-06-16 22:32:46 517

转载 view controller container

什么是Container View Controller?苹果文档是这么描述的: A container view controller contains content owned by other view controllers. 也就是说一个View Controller显示的某部分内容属于另一个View Controller,那么这个Vie

2015-06-16 14:11:21 534

转载 iOS应用架构谈 开篇

缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢?当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把。在zzz在微信朋友圈上追问了几个问题之后,我觉得有必要开个博客专门来讲讲一些个人见解。其实对于iOS客户

2015-05-12 16:40:38 633

转载 SVN与Git比较

SVN与Git比较分类: git svn 2011-05-25 20:18 7099人阅读 评论(2) 收藏 举报SVN与Git比较摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题。本文就这两种版本控制工具的异同点

2015-05-11 22:28:05 1146

原创 iOS开发UI篇—懒加载

1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强

2015-05-09 21:14:08 4021

转载 Objective-C开发编码规范

Objective-C 编码规范,内容来自苹果、谷歌的文档翻译,自己的编码经验和对其它资料的总结。概要 Objective-C 是一门面向对象的动态编程语言,主要用于编写 iOS 和 Mac 应用程序。关于 Objective-C 的编码规范,苹果和谷歌都已经有很好的总结:Apple Coding Guidelines for CocoaGoogle Objecti

2015-05-08 09:48:31 1613

原创 数据库事务 ios FMDB

事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。       针对上面的描述可以看出,事务的提出主要是为了解

2015-05-06 09:38:07 5302

转载 八大排序算法总结

插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i,j;//分别为有序区和无序区指针for(i=1;i{

2015-04-27 17:34:43 603

转载 完美适应iOS中的键盘高度变化

完美适应iOS中的键盘高度变化很久以前写了一篇文章,讨论如何《自适应iPhone的不同键盘高度》,今天觉得可以完美跟随:[cpp] view plaincopy#pragma mark - reg & unreg notification    - (void)regNotification  {      [[NSNotificationCenter de

2015-04-21 11:44:19 579

转载 iOS应用的crash日志的分析基础

转自http://blog.csdn.net/jasonblog/article/details/19031517Outline如何获得crash日志如何解析crash日志如何分析crash日志     1. iOS策略相关     2. 常见错误标识     3. 代码bug一、如何获得crash日志当一个iOS应用程序崩溃时,系统会创建一份c

2015-04-21 11:41:14 719

转载 IOS高级开发~Runtime(四)

用C代替OC:#import #import #import extern int UIApplicationMain (int argc,char *argv[],void *principalClassName,void *delegateClassName);struct Rect {  float x;  float y; 

2015-04-19 21:06:18 406

转载 IOS高级开发~Runtime(三)

11、系统类的方法实现部分替换- (void) methodExchange {    Method m1 = class_getInstanceMethod([NSStringclass],@selector(lowercaseString));    Method m2 = class_getInstanceMethod([NSStringclass],@selector(up

2015-04-19 21:03:57 458

转载 IOS高级开发~Runtime(二)

一些公用类:@interface ClassCustomClass :NSObject{    NSString *varTest1;    NSString *varTest2;    NSString *varTest3;}@property (nonatomic,assign)NSString *varTest1;@property (nonatomic,

2015-04-19 20:58:46 373

转载 IOS高级开发~Runtime(一)

一些公用类:@interface CustomClass : NSObject- (void) fun1;@end@implementation CustomClass- (void) fun1{    NSLog(@"fun1");}@end@interface TestClass :

2015-04-19 20:57:22 579

转载 iOS多线程编程之NSOperation和NSOperationQueue的使用

《iOS多线程编程之NSThread的使用》介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用。使用 NSOperation的方式有两种,一种是用定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。另一种是继承NSOperation如果你也熟悉Java,NSOperation就和java.lang

2015-04-19 15:57:06 445

转载 Mac的反编译工具一:otool (objdump工具的OSX对应工具)。

objdump的选项-S、-l十分方便。如果二进制文件中带有调试信息,可以将源代码、文件名和行号与汇编代码对应显示。在OSX上,对应的工具是otool。与“objdump -Sl”能力接近的命令是otool -tV。看一看insert sort算法的反编译。插入排序的一种实现: 1 2 3 4 5 6 7 8 9 10

2015-04-17 17:44:27 24328

转载 智能机器人让你在家享受米其林星级大餐,未来它还要把人类从厨房解放出来

http://36kr.com/p/531972.html3智能机器人让你在家享受米其林星级大餐,未来它还要把人类从厨房解放出来<meta http-equiv=refresh content=3;url='http://36kr.com/p/531972.html'

2015-04-17 17:31:07 1360

转载 IOS lib(.a)库冲突解决办法

在引入第三方lib(.a)库时,经常会由于第三方lib库中又引入同你现有工程相同的开源代码而造成.o冲突。我想说的是像这种开源的使用率很高的源代码本不应该包含在lib库中,就算是你要包含那也要改个名字是吧。不过没办法现在人家既然包含,我们就只有想办法分离了。1.依次查看lib库所支持的框架类型。i386:模拟器,armv7:iphone4,armv7s:iphone5,iphone5s

2015-04-17 14:34:37 1884

转载 二分查找(递归与非递归)

分类: 函数 学习笔记 2009-08-06 17:04 8678人阅读 评论(2)收藏 举报递归方法 [cpp] view plaincopyprint?int BinSearch(int Array[],int low,int high,int key/*要找的值*/)  {      if (low    {          in

2015-04-14 14:21:41 510

原创 iOS开发之runtime的运用-获取当前网络状态

之前写过runtime的一些东西,这次通过runtime获取一些苹果官方不想让你拿到的东西,比如,状态栏内部的控件属性。本文将通过runtime带你一步步拿到状态栏中显示网络状态的控件,然后通过监测该控件的属性来获取当前精确网络状态,比如2G/3G/4G/WIFI。首先,我们需要拿到状态栏,然后通过runtime去探讨状态栏内部的组成结构。 1、导入运行时头文件 #import obj

2015-04-13 11:58:46 3691

转载 ios GCD详解

GCD介绍(一): 基本概念和Dispatch Queue什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且

2015-04-13 10:45:10 755

转载 runtime 运行时机制 完全解读

我们前面已经讲过一篇runtime 原理,现在这篇文章主要介绍的是runtime是什么以及怎么用!希望对读者有所帮助!首先,第一个问题, 1》runtime实现的机制是什么,怎么用,一般用于干嘛? 这个问题我就不跟大家绕弯子了,直接告诉大家, runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。 在我们平时编写的OC代码中, 程序运

2015-04-13 09:29:37 783

转载 iOS基本内存管理:autorelease和autoreleasepool

1.autorelease 基本用法对象执行autorelease方法时会将对象添加到自动释放池中当自动释放池销毁时自动释放池中所有对象作release操作对象执行autorelease方法后自身引用计数器不会改变,而且会返回对象本身2.autorelease 的优点autorelease实际上只是把对release的调用延迟了,对于每一次autorelease系统只是把该对象

2015-04-12 22:25:29 492

转载 Objective-C之run loop详解

Objective-C之run loop详解 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它

2015-04-12 19:20:44 389

转载 Objective-C总Runtime的那点事儿(一)消息机制

最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题。当然还有一些其他问题也几乎必问,例如:RunLoop,Block,内存管理等。其他的问题如果有机会我会在其他文章中介绍。本篇文章主要介绍RunTime。RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数

2015-04-12 17:37:57 393

转载 ios 基本图形的绘制

基本图形的绘制 包括: 代码画线,画文字 图片 裁剪 重绘  简单动画当自定义view的时候 系统会自动调用drawRect 方法画线[objc] view plaincopy- (void)drawRect:(CGRect)rect  {      // Drawing code      // 1.获得图形上下文      CGContextRef ctx 

2015-04-11 14:29:03 564

转载 iOS类别(Category)与扩展(Extension)

Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性。#import@interface NSObject (Category)- (void)myMethod;@end这是一个最简单的Category,作用于NSObject类,给NSO

2015-04-10 19:21:09 455

Linux_进程间通信 共享内存shmget方式详解

Linux_进程间通信_-_共享内存shmget方式

2011-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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