- 博客(54)
- 收藏
- 关注
原创 iOS SDK 瘦身技巧
最近开发的SDK在android 和iOS 不同平台的体积大小差异较大,网上搜集了一些iOS瘦身的设置,现总结一下,欢迎补充。 最有效的瘦身 1.Generate Debug Symbls 为NO ,我的项目由90->10M. 2.设置Optimization Level下的Release模式为:Fastest,Smallest[-Os],一般创建项目的时候会保持此设置 3.,设置Dead C
2017-07-13 12:02:42
673
原创 还是应该留在这里
最近生活有点乱,实习了一年半的公司最终被腾讯云收购了,公司要搬去深圳…..春节后公司一直在准备融资,先是与网宿的合作洽谈,再到后来与腾讯的收购协议。此间,心情一直受不同公司提供的offer影响较大。最近学业上有点荒废,罪过。公司实习期间,爱上了流媒体,爱上了P2P技术,去年的校招也只投了国内外几家流媒体公司,由于一直在公司实习,未针对性的准备校招加上地域性的限制(只投北京办公的公司),最后结果不太尽
2017-06-22 12:26:44
419
原创 svn 常用命令总结
一、svn 命令行创建和删除 分支和tags创建分支 svn cp -m “create branch” http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/branches/br_feature001 获得分支 svn co http://svn_server/xxx_repository/branc
2017-06-16 11:36:15
453
原创 Error running demo: This version of Android Studio is incompatible with the Gradle Plugin used.
Try disabling Instant Run (or updating either the IDE or the Gradle plugin to the latest version)此类问题的出现是Android studio与gradle版本不匹配的原因,解决方案如下: 1. 禁用Instant run,在Settings/Preferneces 检索 Instant Run 即可。
2017-06-05 12:30:18
452
转载 docker 常用命令
最近使用过docker,项目紧,先转一篇常用命令的的文,日后详细研究一下 1. 使用docker run创建docker容器,(docker命令都是以docker开头的)安装完docker后,大多数情况下,本机上面一般没有docker镜像的,执行docker run的时候一般先查看本地镜像,如果本地没有,则会自动去Docker Hub上下载镜像。Docker的域名解析服务器是google的,因此需
2017-05-11 15:10:34
455
原创 MAC /usr/bin/目录下 Operation not permitted的解决
mac系统下的Rootless机制,让我们在root权限下也不能随心所欲的读写所有路径了,特殊情况下我们需要关闭Rootless时,可尝试如下操作: 1. 重启按住 Command+R,进入恢复模式,打开Terminal。 2. 键入命令 csrutil disable 3. reboot Rootless机制是对抗恶意程序的最后防线,除非特殊需要时我们才将其关闭,否则保持开启状态csrut
2017-04-25 09:43:53
21236
原创 lianmai SDK流程图
Created with Raphaël 2.1.0APP Start调用roomManager的- (void)joinRoom创建roomClient 从调度服务器请求房间信息,创建roomClient发起链接请求[jsonRpcClient connect]链接建立,可实时接收服务器消息,回调roomManager中实现的isConnected方法用APP层传入的configuration完成
2017-03-24 15:58:53
407
原创 GPUImage头文件功能定义
GPUImage是现在做滤镜最主流的开源框架,作者BradLarson基于openGL对图片处理单元进行封装,提供出GPUImageFilter基类,配合shader,常用滤镜都拿下不是问题。 下载GPUImage地址共125个滤镜, 分为四类 Color adjustments: 31 filters, 颜色处理相关 Image processing: 40 filters, 图像处理相关.
2017-03-17 17:32:16
557
翻译 iOS学习之id ,NSObject, id<NSObject>区别
我们经常会混淆以下三种申明(我是没有留意过): 1. id foo1; 2. NSObject *foo2; 3. id foo3;第一种是最常用的,它简单地申明了指向对象的指针,没有给编译器任何类型信息,因此,编译器不会做类型检查。但也因为是这样,你可以发送任何信息给id类型的对象。这就是为什么+alloc返回id类型,但调用[[Foo alloc] init]不会产
2017-03-13 16:39:59
310
原创 iOS学习之block
Block是带有自动变量的匿名函数。 匿名函数顾名思义就是不带名字的函数,在C语言中不允许这样的方法存在,而在OC中的Block则可以用指针来直接调用一个函数,但虽说如此我们还是需要知道指针的名称。 自动变量在Block中的具体表现就是截获自动变量, int b = 0; void (^blo)() = ^{ NSLog(@"Input:b=%d",b);
2017-03-13 12:47:38
279
原创 iOS学习之强引用_strong和弱引用_weak,retain,copy,assignd的关系
Object-C的ARC(Automatic Reference Counting)模式:简单的说就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。ARC是iOS5推出的新功能。在ARC模式中:id obj1 = [[NSObject alloc] init];这里虽然没有显示地声明为_strong,但是Objective_
2017-03-13 11:59:06
438
原创 mac下安装和使用brew
一,安装brew1,安装brewcurl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local –strip 12,安装完成后执行brew提示:Please run brew update!3,按照提示更新,执行brew update报错:Error: /usr/local must be w
2017-03-07 18:02:57
644
转载 Android activity的生命周期
Android activity的生命周期activity类处于android.app包中,继承体系如下:1.java.lang.Object2.android.content.Context3.android.app.ApplicationContext4.android.app.Activityactivity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道,所以activ
2016-11-24 12:15:58
294
原创 PCH was compiled with module cache oldpath newpath解决办法
我们在用xcode编译时,因为项目由oldpath拷贝到newpath遇到题目所描述的问题,可以进行如下操作可解决问题: 1.Close your project or workspace. 2.In Finder: ⇧shift+⌘cmd+G 3.Paste: ~/Library/Developer/Xcode/DerivedData/ 4.Delete the ModuleCache f
2016-11-10 16:59:28
1397
原创 xcode开发:mach_msg_trap异常处理
在xcode开发中,有时会出现以下中断:libsystem_kernel.dylib`mach_msg_trap:0x194e6ce74: movn x16, #300x194e6ce78: svc #1280x194e6ce7c: ret 点击继续运行按钮,app会继续运行,因为此时是处于调试模式,若是release版,可能会crash。通过xcode的提示可以知道引起中断的原因是
2016-11-03 18:20:14
3564
原创 Android Studio之Gradle学习
Gradle以module来管理project,在Gradle构建的project中通常包含application module(com.android.application),与library module(com.android.library)两种module。在Gradle的project中需要使用,基本上全都使用.gradle文件来配置,是一个脚本化的工程构建
2016-10-28 15:26:32
317
原创 八皇后问题-递归与非递归方法实现
int board[8][8];int cnt = 0;bool isValid(int i, int j){ int k; for(k = 0; k < 8; ++k) if(k != j && board[i][k]) return false; for(k = 0; k < 8; ++k) if(k != i && board[k][
2016-10-08 13:10:29
594
原创 《编程之法》习题集答案整理-第二章
1、不用除法运算 3、找出数组中唯一的重复元素 1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。 每个数组元素 只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现? 解析:异或法、总和减值法、4、找出唯一出现的数 一个数组里,数都是两两出现的,但是有三个数是唯一出现的,找出这三个数。 解析:
2016-10-08 13:09:23
997
原创 最小子串查找
题目:给一个字符串s1,和一个小串s2,求算法能在s1中找到包含s2里所有字符的最小子串。比如:s1 = “ADOBECODEBANC”s2 = “ABC” 最小子串是 “BANC”,要求O(N)的算法。
2016-10-02 23:23:02
1754
原创 《编程之法》习题集答案整理-第一章
最近读了某博主整理的一些笔试面试算法题,该书的部分习题是没有直接答案的,为了自己学习方便,同时方便后面学习的同学,立此文整理,感谢原博主http://blog.csdn.net/v_july_v/article/details/6543438
2016-09-29 15:55:17
2833
1
原创 链表以k单位翻转
题目:给出一个链表和一个数k, 比如链表1→2→3→4→5→6; 若k=2, 则翻转后2→1→4→3→6→5; 若k=3, 则翻转后3→2→1→6→5→4; 若k=4, 则翻转后4→3→2→1→5→6; 方法1分析: 将链表以k单位划分,分别倒序再链接;
2016-09-29 12:50:32
513
原创 不用库函数sqrt()求一个正整数N的开方
1.牛顿迭代int _tmain(int argc, _TCHAR* argv[]) { int N; cout<<"输入N的值:"; cin>>N ; double x1 = 1;//初值 double x2 = x1/2.0+N/2.0/x1; while( fabs(x2-x1)>0.001
2016-09-27 22:47:02
2180
1
原创 求木板最大拼接矩形
给定n块木板A[1…n],高度记为A[i],每块目标高度不等,宽度相等,用这些木板排列成一面木板墙,木板排列好后,求解木板墙中最大的矩形面积,请设计算法求得木板墙最大的矩形面积,并分析算法效率。 举例说明,如下图所示的木板排列,最大矩形面积为深灰色区域,即4*3=12。
2016-09-27 20:25:01
1234
转载 I,P,B帧和PTS,DTS的关系
基本概念:I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;B
2016-09-24 16:35:58
325
原创 整数中1出现的次数(从1到n整数中1出现的次数)--数学规律法
一、1的数目编程之美上给出的规律: 1. 如果第i位(自右至左,从1开始标号)上的数字为0,则第i位可能出现1的次数由更高位决定(若没有高位,视高位为0),等于更高位数字X当前位数的权重10i-1。 2. 如果第i位上的数字为1,则第i位上可能出现1的次数不仅受更高位影响,还受低位影响(若没有低位,视低位为0),等于更高位数字X当前位数的权重10i-1+(低位数字+1)。 3. 如果第i位上的
2016-09-14 10:43:09
918
原创 openssl库android版的编译
OpenSSL是一个强大的开源的安全套接字层密码库,包含了主要的密码学算法,常用的密钥和证书封装管理以及SSL协议。
2016-09-02 16:59:43
2476
1
转载 Android.mk文件语法详述
概述Android.mk文件是用来描述build system(编译系统)的,更准确的说:该文件是一个微型的GNU Makefile片段,将由build system解析一次或者多次。 这个文件的目的是用来允许你将源文件组织成模块,这个模块中含有:一个静态库(.a文件) 或 一个动态库(.so文件)
2016-09-02 11:51:15
349
转载 Application.mk文件
Application.mk目的是描述在你的应用程序中所需要的模块(即静态库或动态库)。 Application.mk文件通常被放置在 PROJECT/jni/Application.mk下,PROJECT/jni/Application.mk下,PROJECT指的是您的项目。 要将C\C++代码编译为SO文件,光有Android.mk文件还不行,还需要一个Application.mk文件。
2016-09-02 11:45:52
316
原创 C++虚函数与纯虚函数
虚函数是类中被virtual关键字修饰的成员函数,为了实现类的多态性,即将接口与实现分离,需要注意的是虚函数必须实现,如果不实现,编译器会报错,还有一点需要注意的是编译器的报错是在链接时,而不是在编译时。
2016-08-10 11:44:23
236
转载 STL vector deque list set map的erase()
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。
2016-08-08 16:35:26
401
原创 libevent学习笔记 -evbuffer
evbuffer用来存储从网络接收到和将要向网络发送的数据,它是一个连续的内存区域,处理数据的方式如同队列操作一样,设置指针指示读出和写入位置.
2016-07-25 13:21:35
734
原创 C++ priority_queue
优先级队列(priority_queue)是根据元素的优先级被读取,接口和queues非常相近。可以通过template参数指定一个排序准则。
2016-07-12 19:30:07
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人