自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小号鱼头

小号鱼头,快到我的嘴里来。

  • 博客(151)
  • 问答 (1)
  • 收藏
  • 关注

转载 算法之二叉树各种遍历

树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;

2018-01-12 14:30:48 245

转载 HTTP 协议中的 Transfer-Encoding

原文发布于http://network.51cto.com/art/201509/491335.htmransfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」。实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码)。Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压

2017-09-29 11:44:00 634 1

转载 iOS之利用GCD信号量控制并发网络请求

原文发布于http://blog.csdn.net/cloudox_/article/details/71107179引对计算机了解的都会知道信号量的作用,当我们多个线程要访问同一个资源的时候,往往会设置一个信号量,当信号量大于0的时候,新的线程可以去操作这个资源,操作时信号量-1,操作完后信号量+1,当信号量等于0的时候,必须等待,所以通过控制信号量,我们可以控制能够同时

2017-09-25 20:32:59 338

转载 iOS: 聊聊 Designated Initializer(指定初始化函数)

原文发布于http://www.cnblogs.com/smileEvday/p/designated_initializer.html一、iOS的对象创建和初始化iOS 中对象创建是分两步完成:分配内存初始化对象的成员变量我们最熟悉的创建NSObject对象的过程:苹果官方有一副图片更生动的描述了这个过程:对象的初始化是一个

2017-06-30 18:08:47 547

转载 Bloom Filter概念和原理

版权声明:本文为博主原创文章,未经博主允许不得转载。                                                                                                                           Bloom Filter概念和原理焦萌 2007年1月27日 Bloom

2017-06-16 17:38:45 248

转载 linux代码段,数据段,BSS段, 堆,栈

原文分布于http://blog.csdn.net/wudebao5220150/article/details/12947445 linux代码段,数据段,BSS段, 堆,栈网上摘抄了一些,自己组织好了,以便参考 !!!! 进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的

2017-06-15 17:12:05 351

转载 TCP协议中的三次握手和四次挥手(图解)

原文发布于http://blog.csdn.net/whuslei/article/details/6667471/建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久

2017-06-13 11:01:08 393

转载 Python中文分词 jieba 十五分钟入门与进阶

版权声明:欢迎转载我的博客,请标明出处.目录(?)[-]整体介绍三种分词模式与一个参数关键词提取中文歧义测试与去除停用词三种可以让分词更准确的方法并行计算整体介绍jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能强悍,博主十分推荐 github:https://github.com/fxsjy

2017-06-05 17:25:35 17825 1

转载 Python 十分钟学会用任意中文文本生成词云

前述本文需要的两个Python类库 jieba:中文分词分词工具 wordcloud:Python下的词云生成工具写作本篇文章用时一个小时半,阅读需要十分钟,读完该文章后你将学会如何将任意中文文本生成词云 Python词云 worldcloud 十五分钟入门与进阶 Python中文分词 jieba 十五分钟入门与进阶代码组成简介代码部分来源于

2017-06-05 17:18:45 6530

转载 Objective-C Fast Enumeration 的实现原理

在 Objective-C 2.0 中提供了快速枚举的语法,它是我们遍历集合元素的首选方法,因为它具有以下优点:比直接使用 NSEnumerator 更高效;语法非常简洁;如果集合在遍历的过程中被修改,它会抛出异常;可以同时执行多个枚举。那么问题来了,它是如何做到的呢?我想,你应该也跟我一样,对 Objective-C 中快速枚举的实现原理非常感兴趣,事不宜迟,让我

2017-02-27 17:47:13 970

转载 谈谈 iOS 中图片的解压缩

对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分。将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图片的解压缩。图片加载的工作流概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流如下:假设我们使用 +imageWithContentsOfFile: 方法从磁盘

2017-02-27 14:16:14 1046

转载 iOS-FMDB事务操作SQLite数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。批量操作数据库的时候,我们经常会用到事务处理。事务是访问并可能更新数据库各种数据项的数据单元(unit),是恢复和并发的控制的基本单位。事务具有四个属性。 - 原子性(atomicity):一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 - 一致性(consistency):事务必须

2016-12-26 11:23:39 286

转载 iOS 开发中的八种锁(Lock)

原文发布于http://www.jianshu.com/p/8b8a01dd6356这两天翻看 ibireme 大神 《不再安全的 OSSpinLock》 这篇文章,看到文中分析各种锁之前的性能的图表:lock_benchmark.png发现除了@synchronized 用过,其他的都陌生的很,可以说完全不知道啥玩意儿~于是怀着惭愧的心情赶紧把这些锁学习了

2016-11-15 16:06:45 462

转载 Objective-C中的@dynamic

版权声明:本文为博主原创文章,未经博主允许不得转载。Objective-C中的@dynamic 一、@dynamic与@synthesize的区别@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesiz

2016-11-11 15:40:11 315

转载 NSRunloop,runloop,autoReleasePool和thread的关系理解及案例解决

1.NSRunloopNSRunloop顾名思义,就是一个消息循环,它会侦测输入源(input source)和定时源(timer source),然后做回调处理。这和windows的消息处理非常类似,只不过你无法看到类似SendMessage,PostMessage,GetMessage的方法,NSRunloop已经封装了这些细节。那NSRunloop的好处是不是只有封装细节,然后方便调

2016-10-14 14:49:01 355

转载 深入理解RunLoop

RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对

2016-08-11 18:53:07 397

转载 对MAC自带的SVN进行升级

原文发布于http://blog.csdn.net/wirelessqa/article/details/45485347目录(?)[+]一. 为什么要升级SVN?因为MAC上默认安装的是1.6版本,在使用时经常会提示SVN版本太旧,所以一定要升级二. 怎么升级?关注老毕的博客: http://blog.csdn.net/wirele

2016-06-30 14:38:54 406

转载 三种编程命名规则(匈牙利法,小驼峰法,大驼峰法)

原文发布于http://blog.csdn.net/liaoxiaoli99/article/details/63725571. 匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。For example: long lsum = 0;"l"是类型的缩写; 2. 小驼峰式:(little camel-case)

2016-04-05 17:33:14 1149

转载 纯线性同余随机数生成器

线性同余随机数生成器介绍:古老的LCG(linear congruential generator)代表了最好最朴素的伪随机数产生器算法。主要原因是容易理解,容易实现,而且速度快。 LCG 算法数学上基于公式:X(n+1) = (a * X(n) + c) % m其中,各系数为:模m, m > 0系数a, 0 增量c, 0 原始值(种子) 0 其中参数c, 

2016-03-30 17:30:52 1194

转载 iOS应用程序生命周期(前后台切换,应用的各种状态)详解

http://blog.csdn.net/totogo2010/article/details/8048652/版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]应用程序的状态应用程序的生命周期1加载应用程序进入前台2加载应用程序进入后台3关于main函数响应中断1 当一个基于警告式的中断发生时比如有电话打进来了这是

2016-03-29 15:33:13 383

转载 node.js版本升级

今天,又发现一个超级简单的升级node.js的方法。一行命令搞定,省去了重新编译安装的过程。node有一个模块叫n(这名字可够短的。。。),是专门用来管理node.js的版本的。首先安装n模块:npm install -g n第二步:升级node.js到最新稳定版n stable是不是很简单?!n后面也可以跟随版本号比如:n

2016-03-28 18:44:28 442

转载 mac系统命令行curl详解

原文发布于http://blog.csdn.net/fudesign2008/article/details/7608619 分类: tool(51) CURL? 嗯,说来话长了~~~~这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑1)二话不说,先从这里开始吧!curl http://www.yahoo.co

2016-03-15 18:38:30 1332

原创 label添加删除线

有些需求需要用到删除线,比如打了折扣的商品。很多的设计会在原价上打上删除线。              //删除线        [AttributedStraddAttribute:NSStrikethroughColorAttributeName                             value:[UIColorcolorWithRed:132/2

2016-02-29 18:33:48 901

转载 WebKit、Safari以及SafariViewController

本文由CocoaChina译者ztdj121(博客)翻译,校对:星夜暮晨作者:Eva Diaz-Santana原文:WebKit, Safari and SafariViewController自iOS问世以来,iOS 和web总是形影相随。毕竟,当iOS诞生的时候,网站已经有15年的历史了(第一个网站的创建甚至可以追溯到1991年,而iOS在2007年才出现)

2016-02-26 11:27:29 1129

转载 放肆地使用UIBezierPath和CAShapeLayer画各种图形

原文发布于 http://www.jianshu.com/p/c5cbb5e05075CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。杂谈在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样:let layer = CASha

2016-02-20 14:10:47 408

转载 iOS 开发之动画篇 - Transform和KeyFrame动画

原文发布于http://www.jianshu.com/p/a071bba99a1b序言追求美好是人的天性,这是猿们无法避免的。我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现,正是这些基本的动画在经过合理的搭配组合后化腐朽为神奇,令人惊艳。因此,掌握最基本的动画是完成酷炫开发之旅的根本。作为动画篇的第二篇

2016-02-20 12:09:08 463

转载 Mac系统下创建右键打开Shell的功能

原文发布于http://blog.xcodev.com/archives/open-shell-at-selected-folder-via-automater-service/在开发过程中经常会用到Shell(“命令行”、“终端” or “控制台”?),而我们可以用Mac中一个叫终端的App进入Shell。打开这个App后,默认进入用户的home目录,即“/Users/usern

2016-02-15 18:12:48 1767

转载 Smoke test,Sanity test,Regression test之间的区别

原文发布于http://blog.csdn.net/iefreer/article/details/11559657在测试领域,冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test)彼此之间很相似,范围也有重叠,所以比较容易混淆:都是在需求变更或问题修改后对系统全面测试之前的一种预测试,都是为了发现是否在界面和代码层面

2016-02-15 10:22:00 634

转载 关于烂代码的那些事(下)

原文发布于http://blog.2baxb.me/archives/1499假设你已经读过烂代码系列的前两篇:了解了什么是烂代码,什么是好代码,但是还是不可避免的接触到了烂代码(就像之前说的,几乎没有程序员可以完全避免写出烂代码!)接下来的问题便是:如何应对这些身边的烂代码。1.改善可维护性改善代码质量是项大工程,要开始这项工程,从可维护性入手往往是一个好的开始,但也仅仅

2016-02-14 18:20:29 448

转载 关于烂代码的那些事(中)

1.摘要这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。 最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论、改进、完善自己的代码。虽然刚毕业的同学对于代码

2016-02-14 17:57:03 329

转载 关于烂代码的那些事(上)

原文发布于http://blog.2baxb.me/archives/13431.摘要最近写了不少代码,review了不少代码,也做了不少重构,总之是对着烂代码工作了几周。为了抒发一下这几周里好几次到达崩溃边缘的情绪,我决定写一篇文章谈一谈烂代码的那些事。 这里是上篇,谈一谈烂代码产生的原因和现象。2.写烂代码很容易刚入程序员这行的时候经常听到一个观点:你要

2016-02-14 17:06:36 361

转载 IOS各种调试技巧豪华套餐

目录  前言逼优鸡知己知彼 百战不殆抽刀断Bug  普通操作  全局断点(Global BreakPoint)  条件断点(Condational Breakpoints)打印的艺术  NSLog  开启僵尸对象(Enable NSZombie Objects)进击的码农  Console(lldb 命令)  Profile(instrume

2016-02-14 15:20:01 994

转载 iOS开发系列--并行开发其实很容易

原文发布于http://www.cnblogs.com/kenshincui/p/3983982.html概览大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,

2015-12-22 16:17:23 375

转载 理解 iOS 开发中 GCD 相关的同步(synchronization)\ 异步(asynchronization),串行(serial)\ 并行(concurrency)概念

iOS 开发过程中,常常需要用到多线程技术,GCD 是常用的实现多线程的技术,其因简洁底层而备受欢迎。GCD 技术中,同步(synchronization)\ 异步(asynchronization),串行(serial)\ 并行(concurrency)等概念常常令人迷惑,不好理解。本文将对这两对概念进行尽可能简单的阐释。同步和异步是针对当前代码流(即当前线程)和加入队列中的任务

2015-12-14 15:23:33 470

转载 Mac上的抓包工具Charles

原文发布于http://blog.csdn.net/jiangwei0910410003/article/details/41620363今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包http://blog.csdn.net/jiangwei0910410003/article/details/19806999不过可惜的是,Fidd

2015-11-19 18:27:09 463

转载 升级MAC OS X自带的SVN客户端

原文发布于http://blog.sina.com.cn/s/blog_a0f3ea980101c0y0.html系统版本: MAC OS X 10.8.4出现问题:Xcode以及Mac系统自带的SVN版本基本都是1.6,由于日常开发中使用的SVN版本都是1.7以上的,因此需要升级svn版本。【说明:使用1.6版本的SVN客户端checkout的代码,使用1.7版本的客户端的时候,

2015-11-18 17:10:42 552

转载 使用代码为 Xcode 工程添加文件

原文发布于 http://draveness.me/bei-xcodeproj-keng-de-zhe-ji-tian/这几天在持续更新 DKNightVersion 这个仓库, 我对这个框架投入了很多的时间和精力.我还是希望把这个框架的方方面面都做好的, 为框架的使用者提供最好的用户体验, 将开发者的使用成本和使用难度降到最低, 提升开发者的使用体验.但是在我维护这个框架的过程中

2015-10-29 16:25:29 770

转载 谈谈Objective-C的警告

原文发布于http://onevcat.com/2013/05/talk-about-warning/?utm_source=tuicool&utm_medium=referral一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样。 ——@onevcat重视编译警告现在编译器有时候会很吵,而编译器给出的警告对开发者来说是很有用的信息。警告不

2015-10-28 18:01:55 319

转载 mac卡顿

加速你的 Mac,解决关机菊花和偶尔卡顿的问题1. 打开 Finder,进入磁盘-资源库-LaunchAgents、LaunchDaemons 和 StartupItems,删除里面所有东西(有 symantec 的不要删);2. 打开 Finder,按住 Option,点击最上面的前往-资源库-LaunchAgents,删除里面所有东西(有 symantec 的不要删);3. 打开终

2015-10-27 15:39:19 1609

转载 IOS开发编译错误:"std::terminate()", referenced from:"

但凡看到错误提示中提示两个冒号C++代码, 默认情况下Xcode创建的工程是不支持C++.如何解决: 将工程中任意一个文件的后缀改为.MM即可 .c  C代码.cpp C++代码.m  C代码 + OC代码.MM C代码 + OC代码 + C++代码

2015-10-27 15:33:43 984

空空如也

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

TA关注的人

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