自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (8)
  • 收藏
  • 关注

原创 React Native 中 ES6+ 和 ES5 语法比较

React Native 中 ES6+ 和 ES5 语法比较JS 更新快,所以基于 JS 的 RN 语法更新也挺大。在阅读别人代码或项目开发时经常会碰到 EMACScript 新旧格式语法写的程序,给我们的理解造成困扰。所以总结了一些新旧 JS 语法的对比。1. 模块1.1 引用ES5 中,通过 require 引入外部模块(相当于 C 中的 #include1.2 导出单个类ES5 中,通过 mo

2016-02-22 22:21:46 7168

原创 使用CocoaPods进行开发的一些问题及策略

在iOSApp开发过程中提PR占去的时间较多,现就开发中常见的问题及解决策略做小小结: pod install过程中出现依赖库版本冲突。 策略:对版本号不一致的pod的Podfile进行依赖库版本号升级。 pod install后,build过程中某些被引用的头文件找不到源。 这可能是一个需求多个pod同时本地开发造成的。 解决策略:大致确定找不到源的头文件所在的pod,然后在Podfile中暂

2016-01-09 09:41:00 975

原创 Aspects 源代码解析<一>

Aspects 是什么,解决了什么问题?Aspects是AOP(面向切面编程)思想在iOS下OC的实现。Aspects可以用于hook函数,让函数执行一些副操作(打印调试信息、记录日志等)。切面可以简单理解为嵌入不同函数中的功能相同的操作(打印调试信息等),每类功能相同的操作可以抽取出一个切面。下面简要介绍OOP(面向对象编程)和AOP的概念和区别: OOP(面向对象编程)针对业务处理过程的实体及其

2015-10-04 20:33:48 4088

原创 直接解析中缀表达式

预处理 判断表达式的合法性:1.如果表达式长度为1,且不是数字,2.如果表达式中开头一位为运算符(负号(减号)和左括号除外),3.如果是最后一位是运算符(右括号除外),4.1.1 小数点左、右任意一边不为数字,左括号”(“后面有:+ x ÷ ) .,左括号”(“前面有:数字、”)” ,可以认为是乘法,在左括号”(“前面插入”x”,右括号”)”前面为:+、- x ÷ . (,4.4.1 @”+”,@”

2015-07-23 15:54:59 4313

翻译 自定义View Controller 转换动画

基本概念 animation controller: 包含运行实际动画的代码 代理<UIViewControllerAnimatedTransitioning> -transitionDuration: 动画时间 -animateTransition: 具体动画实现 from view Controller: 提供自定义转场动画animation controller 代理<UIViewCont

2015-07-23 14:07:54 610

翻译 关于@synthesize和@dynamic的区别

@synthesize和@dynamic到底做了哪些事情,以及他们之间的区别。

2015-07-22 16:10:15 1323

翻译 KVC 键值编程的搜索模式

键值属性是一种访问属性的键值对机制,其中key是属性的名称,value是属性的值。 通过KVC可以减少代码量,在需要根据变量访问指定属性时尤其如此。 降低耦合性。 Key-value coding attempts to use accessor methods to get and set values, before resorting to directly accessing the ins

2015-07-21 16:39:47 1070

原创 CoreData知识总结

CoreData持久化工具Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite、二进制文件等数据库文件中,也能够将保存在数据库中的数据还原成OC对象.CoreData结构模型模型概念解释托管对象上下文(managed object context): 应用程序和数据存储之间的一块缓冲区。这块缓冲区包含所有未被写入数据存储的托管对象。你可以查询(使

2015-07-20 20:44:21 727

原创 欢迎使用优快云-markdown编辑器

CoreData持久化工具Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite、二进制文件等数据库文件中,也能够将保存在数据库中的数据还原成OC对象.CoreData结构模型模型概念解释托管对象上下文(managed object context): 应用程序和数据存储之间的一块缓冲区。这块缓冲区包含所有未被写入数据存储的托管对象。你可以查询(使

2015-07-20 20:42:31 521

原创 交易偏见--《别做正常的傻瓜》摘记2

第二章 在消费过程中,正常人往往会受到交易效用偏见的影响,从而做出欠理性的消费决策行为。 合算交易偏见 交易效用,就是商品的参考价格和商品的实际价格之间的差额的效用。通俗点说,就是合算交易偏见。 正常人在交易中会受到无关参考价值的影响,过多的考虑参考价格和商品实际价格(原来的价格和现在的价格)之间的差额,并从差额中得到满足,即获得交易效用。 举例: 商场促销。 建议: 理性的决策者

2015-01-25 10:26:07 1687

原创 心理账户--《别做正常的傻瓜》摘记1

本书介绍的是人们在投资、购买、经营等经济行为决策中可能陷入的误区或发生的偏差,描述了这些活动中的欠理性行为,并从心理学层面解释导致这些行为的背后的原因。并给出校正欠理性行为的建议。全书共分14章。 第一章 心理账户 心理账户:人们在进行评估、追溯经济活动时有一系列认知上的反应,就是人的头脑中有一种心理账户,人们把实际上客观等价的支出或者收益在心理上却划分到了不同的账户。举例: 1.股票跌后是

2015-01-25 08:39:11 1450

转载 realloc,malloc,calloc的区别

三个函数的申明分别是:  void* realloc(void* ptr, unsigned newsize);  void* malloc(unsigned size);  void* calloc(size_t numElements, size_t sizeOfElement);  都在stdlib.h函数库内 它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL

2014-10-31 16:26:45 498

转载 构造函数调用顺序

构造函数调用顺序: 1》首先调用基类的构造函数(如果有基类);如果有多个基类,则按基类被列出的顺序调用; 2》调用这个类的成员对象的构造函数(如果有的话);弱国有多个成员对象,则按成员对象定义的顺序被调用(与参数列表中咧出的顺序无关); 3》最后调用这个类自身的构造函数; 注意:弱国有虚基类,则先调用虚基类的构造函数。在调用基类的构造函数,如果有多个虚基类,则按列出的顺序调用; 析构函数与此相反

2014-09-27 19:30:47 2672

原创 面试-操作系统

一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件。 2. 进程与线程的区别。 3. 进程通信的几种方式。 4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解) 5. 线程的实现方式. (也就是用户线程与内核线程的区别) 6. 用户态和核心态的区别。 7. 用户栈和内核栈的区别。 8. 内存池、进程池、

2014-09-06 11:24:18 1398

转载 vmware linux 硬盘扩容

vmware添加新硬盘 挂载新硬盘 硬盘扩容 平时都用虚拟机做实验,做一些linux方面的开发应用,但是很烦人的是经常遇到预先装好的linux虚拟机的硬盘空间过小 现在好多软件都没法安装了。自己重新装一个吧,又挺麻烦。于是,上网搜了下关于vmware硬盘扩容的方法。 网上也有好多人给出了一些指点,但是总有些些许许的小问题。 笔者通过实验,总结了添加新硬盘 挂载新硬盘 硬盘扩容的一些方法,仅

2014-08-09 15:43:40 523

转载 Linux Socket编程(不限Linux)

“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有

2014-08-02 20:33:04 435

转载 GDB 调试器使用手册

使用GDB:    本文描述GDB,GNU的原代码调试器。(这是4.12版1994年一月,GDB版本4。16) * 目录: * 摘要:                        GDB的摘要 * 实例:                          一个使用实例 * 入门:                        进入和退出GDB * 命令:               

2014-08-02 08:06:42 546

转载 GCC 命令行详解

作者: www.linuxfans.org mozilla 1。gcc包含的c/c++编译器 gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什 么意思:))一般c程序就用gcc编译,c++程序就用g++编译 2。gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c -o test

2014-08-02 08:03:18 511

转载 Makefile经典教程(掌握这些足够)

makefile很重要       什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make

2014-08-02 07:55:50 638

转载 线程同步:何时互斥锁不够,还需要条件变量?

很显然,pthread中的条件变量与Java中的wait,notify类似 假设有共享的资源sum,与之相关联的mutex 是lock_s.假设每个线程对sum的操作很简单的,与sum的状态无关,比如只是sum++.那么只用mutex足够了.程序员只要确保每个线程操作前,取得lock,然后sum++,再unlock即可.每个线程的代码将像这样add() {   pthread_mutex

2014-08-01 10:52:37 1339

原创 linux随笔

1.linux下各种头文件存放处: /usr/include,/usr/include/cpp 2.void* 表示通用指针 3.搜索某个文件(已知文件名): locate filename 4.添加用户自己的变量或者配置自己的alias 修改 ~/.bashrc 修改完之后可以执行source ~/.bashrc,使更动生效。 5.vim 保存退

2014-07-30 10:46:45 452

转载 ubuntu下如何用命令行运行deb安装包

如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。 dpkg命令常用格式如下: sudo dpkg -I iptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于--info) sudo dpkg -c iptux.deb#查看iptux.deb软件包中包

2014-07-03 10:03:44 474

转载 ubuntu查看apt-get里面都提供了哪些软件

sudo apt-cache search all 它会出来一堆软件的列表 如果你想要看下里面总共有哪些软件,那么,你可以使用如下命令: sudo apt-cache search all | wc 如果你想要用apt-get 命令来安装一个软件,但是你只知道大概有几个字母,那么,你可以用下面的命令来进行查询,看下跟这个字母有关的软件都有哪些,它会给你把列表列出来:

2014-07-02 19:29:41 1879

转载 Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,优快云是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~   下面的文字比较多啊,主要是加入了很多自己的感慨啊,感叹啊啥的,其实我觉得已经是罪简单的方法了,我基本上把我遇到的问题全部罗列了,大家可以参考一下~其实很多问题都是在走弯路,我希望后面的人更顺畅一点吧~   目的:将OpenCV2.0

2014-07-02 19:24:25 1818

转载 Linux下C++的通用Makefile与解析

本文给出万能Makefile的具体实现,以及对其中的关键点进行解析。所谓C++万能Makefile,即可编译链接所有的C++程序,而只需作很少的修改。 号称万能Makefile,一统江湖。我对原版的Makefile做了些修改。首先揭开它的庐山真面目: #################################################### # Generic makefile

2014-07-01 15:58:35 514

转载 GDB用法小结

1. gdb exe     使得exe程序运行在debug环境下 2. break functiona     在functiona函数处设置端点 3. run     让程序从main入口执行到断点functiona 4. n     next,单步执行,相当于VC中的调试命令step over 5. s     step into,进入子函数,察看子函数的执行情况 6.

2014-07-01 14:24:14 606

转载 gdb单步调试

看下面的程序: 例 10.1. 函数调试实例 #include int add_range(int low, int high) {  int i, sum;  for (i = low; i   sum = sum + i;  return sum; } int main(void) {  int result[100];  result[0] = add_rang

2014-07-01 14:21:44 581

转载 C++ STL set小结

/* set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。 1) 不能直接改变元素值,因为那样会打乱原本正确的顺序,要改变元素值必须先删除旧元素,则插入新元素 2) 不提供直接存取元素的任何操作函数,只能通过迭代器进行间接存取,而且从迭代器角度来看,元素值是常数 3) 元素比较动作只能用于型别相同的容器(即元素和排序准则必须相同) set模板原

2014-07-01 09:34:05 516

转载 删除单链表中重复的元素

今天同学突然让我帮他写个删除单链表中重复的元素这个程序,觉得很简单,就停下工作,写了一下。觉得在时间上,空间上都比较优化。 整体思路就是 遍历单链表,然后在判断当前节点是否在已访问的节点集合中,如果不在,说明该元素不重复,则将其插入到访问节点集合中,然后继续比较下一个节点,如果在其中,说明是重复出现,则从单链表中删除当前节点,然后继续比较下一个。 这里用了c++标准库中的set来保存访问过的元素,

2014-07-01 08:44:33 1888

原创 Linux下C++编程

[username@localhost cpp_stl]$ vi stl_main.cpp [username@localhost cpp_stl]$ g++ -Wall -c stl_main.cpp [username@localhost cpp_stl]$ ls stl_main.cpp  stl_main.o [username@localhost cpp_stl]$ g++

2014-06-30 18:12:58 506

转载 vim: 如何使粘贴到vim的代码排列整齐?

这个解决了我2个问题 在注释行回车或插入到下一行时 也是注释的 这个问题找了很久没弄好 没想到弄了这个后就好了 真是人品大大的好啊!!!! 原文链接 http://linux.172baby.com/posts/125843.html 随笔 linuxman 发表于2004-12-28 00:21 粘贴到vim的代码,尤其是从WEB粘贴过来的代码,经常是一片混乱,看起来向右不断缩进造

2014-06-30 16:24:47 1189

转载 三十分钟掌握STL

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离

2014-06-30 09:45:10 557

原创 linux学习总结10

1.vim:强大的程序编辑器。 2.

2014-06-29 17:20:47 400

原创 linux学习总结9

1.TAB键:命令或文件补齐按键。 CTRL+c

2014-06-29 16:33:57 417

原创 linux学习总结8

1.setenforce:setenforce [ 0 | 1 ] : 0 Permissive 宽容模式(只是警告,不禁止(行动)),1 Enforcing 强制模式。 如果你已经在 Enforcing 的模式,但是可能由於一些配置的问题导致 SELinux 让某些服务无法正常的运行,此时你可以将 Enforcing 的模式改为宽容 (permissive) 的模式,让 SELinux 只会警

2014-06-28 18:28:50 455

原创 linux学习总结7

1.RAID:磁盘阵列。 RAID 0:

2014-06-28 16:32:48 445

原创 linux学习总结7

1.netstat:追踪网络或插槽项,netstat -tln

2014-06-28 11:04:56 419

原创 linux学习笔记6

1.login shell:取得bash时需要完整的登录流程,如填写

2014-06-27 18:01:36 438

原创 Linux学习总结5

1.head:取出前面的几行,

2014-06-27 10:32:01 539

原创 linux学习总结4

1.gcc:gcc为linux上最标准的编译器

2014-06-25 22:23:44 1021

iOS_Apprentice_4_StoreSearch_v2.1

iOS_Apprentice_4_StoreSearch_v2.1.pdf , 英文文字版,演示教学平台为IOS 7和XCode 5

2014-12-08

iOS_Apprentice_2_Checklists_v2.1

iOS_Apprentice_2_Checklists_v2.1,英文文字版,演示教学平台为IOS 7和XCode 5

2014-12-08

iOS_Apprentice_4_StoreSearch_v2.1.pdf

iOS_Apprentice_4_StoreSearch_v2.1.pdf ,英文文字版,演示教学平台为IOS 7和XCode 5

2014-12-08

车牌标准字库_汉字_白底黑字

车牌识别中用到的标准字库,各省的简称,汉字字库。

2014-06-09

车牌标准字库_数字和字母_白底黑字

这是车牌识别中的标准字库,里面是字母和数字的,后续还有汉字的。

2014-06-09

车牌标准字库_数字和字母_黑底白字

这个跟另一个车牌识别字库是一样的,只不过我转成黑底白字的,如果你会转,自己转也行,不会的话,下这个也行

2014-06-09

iOS Apprentice 1 Getting Started v2.1.pdf

iOS Apprentice 1 Getting Started v2.1,英文文字版,演示教学平台为IOS 7和XCode 5

2014-12-08

空空如也

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

TA关注的人

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