Mac上搭建nutch-1.8+solr-4.8.1

首先进入终端cd ~到用户主目录下,然后,开始下载:

什么,没有wget命令,请自己安装brew install wget,如果你连brew都没有,自己百度怎么装,这是mac下的yum,apt-get非常有用的工具

解压到当前目录下,然后进入验证下,看看是不是有效:

如果有warning 看看是不是没有设置JAVA_HOME,如果是Permission denied,用chmod改权限
现在添加种子URL,《逆转未来 X-Men》 继续阅读Mac上搭建nutch-1.8+solr-4.8.1

Xcode常见错误总结

1.Undefined symbols for architecture i386 error
原因:在Build Phrases找到Compile Sources把报错的.m文件都加进去

2.duplicate symbols for architecture i386
原因:可能是应该引用.h的头文件的地方引用了.m文件造成的

3.’NSUnknownKeyException’, ………………setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key xxx.’
原因:xib中某个控件已经通过outlet连接到ViewController中的某个变量上了,后来变量删除了,但是这种连接关系没有删除,导致启动时找不到对应的key,抛出上述exception

4.libxml/xxx file not found in Xcode6:
原因:应该在 Build Settings -> Header Search Paths里设置:

不是之前的路径:

但是编译还是无法通过,怎么回事?记得在test的target中也要添加

iOS多线程GCD的使用

1.什么是GCD
GCD是Grand Central Dispatch的缩写,是苹果公司开发的一种基于block的并行操作机制。它由两部分组成,一是FIFO队列,二个是线程池,队列添加任务,线程池执行任务。其中FIFO队列称为dispatch queue,这保证了先进来的任务先得到执行,但不保证先结束。
dispatch queue分为下面两种:
第一种,Serial Dispatch Queue,线程池只提供一个线程,所以后一个线程必须等到前一个前程执行结束才能开始,顺序执行。
第二种,Concurrent Dispatch Queue,线程池提供多个线程,所以可以按照顺序启动多个线程,并发执行。 继续阅读iOS多线程GCD的使用

iOS的HTTP请求(GET,POST,同步,异步)

同步请求:可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。
异步请求:不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行。
GET请求:将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节。
POST请求:将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。 继续阅读iOS的HTTP请求(GET,POST,同步,异步)

iOS加载图片的两种方法

一般情况下我们是这样加载图片的:
UIImage *image = [UIImage imageNamed:@”icon.png”];
这种方法在application bundle的顶层文件夹寻找由供应的名字的图象。如果找到,装载到iPhone系统缓存图象。那意味图片是放在内存里的,如果图很多很大那么运行起来要占很大的内存空间的。
所以,可以这么做
NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”];
UIImage *image = [UIImage imageWithContentsOfFile:path];
这样做就没有缓存了,但是如果有高清图,也就是@2x的,就不能自动获取到了,自己把握吧,做UI可以用imageNamed,要处理的大图就推荐使用后面的方法。

iOS存储文件到Documents目录