202011
 
XXXXX nsthread autoreleased with no pool in place - just leaking

这是一个会经常发生的警告提示。

当调用

[NSThread detachNewThreadSelector:@selector(XXX) toTarget:self withObject:nil];

发起一个多线程的时候会发生这种警告,那么,加上NSAutoreleasePool就可以了,NSAutoreleasePool我的理解是一个自动的进程管理池,当然并不代表着有Java或者AS3的强大GC机制。

[NSThread detachNewThreadSelector:@selector(ooxx) toTarget:self withObject:nil];

- (void)ooxx
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

//OOXX,if you like:)

[pool release];
}

关于NSAutoreleasePool可以查看Apple 的官方文档:NSAutoreleasePool Class Reference

另外,需要注意的是,在多进程中要操作主进程的UI是不可以直接操作的,一定要使用:performSelectorOnMainThread

 

192011
 

刚刚的确郁闷到了,UIViewController 的 presentModalViewController 愣是无效。

找了一圈,找到了一个类似的 ModalViewController not showing on simulator

原来出现这个问题的原因是我在viewDidLoad方法中执行了presentModalViewController.

如果由按钮触发就不会出现这个问题了。

那么,很简单了,使用

[self performSelector:@selector(modalForToken) withObject:nil afterDelay:0.1];

就可以了。

至于为什么会出现这个问题,不是很清楚=.=

172011
 

下午在一台服务器上安装Mongodb的时候忘记了所使用的ubuntu server的版本号,Google了一下。

发现官方有Help:https://help.ubuntu.com/community/CheckingYourUbuntuVersion

sb_release -a

 

Update: Javaeye上发现了更多的方法:UBUNTU查看版本的方法

cat /etc/issue
cat /proc/version
uname -a
lsb_release -a
cat /etc/lsb-release
162011
 

前几天介绍了一下ASIHttpRequest  是神马东东。

今天再来说说,这玩意儿要怎么在项目中使用。

一、从Github(http://github.com/pokeb/asi-http-request/tree)下,把压缩包下过来。然后解压。

二、把Classes里的文件,拖到XCode中,还有把External/Reachbility也拖进去,这是Apple 官方用来检查网络链接是否正常的类库

三、再导入几个框架包。分别是SystemConfiguration.framework, MobileCoreServices.framework, CoreGraphics.framework,CFNetwork.frameworklibz.1.2.3.dylib

四、另外,还要把在头文件搜索路径中加入 libxml2的路径

 

至此,已经可以再项目中使用 ASIHttpRequest了。

082011
 

cacti是款不错的系统监控程序。安装也是相当简单,做一个简单的记录吧。

首先安装好 php + mysql 运行环境。这个不多加赘言了。

然后安装好SNMP+RRDTool


sudo apt-get install snmpd snmp rrdtool

然后编辑 /etc/snmp/snmpd.conf文件,添加



com2sec notConfigUser 127.0.0.1 public
access notConfigGroup "" any noauth exact all none none

 

重启snmpd



sudo /etc/init.d/snmpd restart

创建一个目录用于放置cacti程序
我放在/sites/cacti/下了
然后把cacti下载过来


sudo wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

然后解压

然后,创建mysql,数据库名cacti_db,创建一个用户并赋予权限。

登陆mysql



mysql -u root -p

输入密码,然后在mysql 命令行中输入



use cacti_db;

source /sites/cacti/cacti.sql;

导入数据库。

编辑/sites/cacti/include/config.php中的数据库链接信息

然后配好apache 的虚拟主机或者虚拟目录就可以访问了

domain.com/cacti/install/

默认的一般不需修改,然后就可以登陆cacti了,默认用户名 密码 admin/admin

 

072011
 

ASIHttpRequest 真的是个objective-c上一个非常不错的网络连接(CFNetwork API)封装库。在几个小型的练手App上用下来,很爽!

ASIHttpRequest 封装了很多的复杂逻辑,让开发者不必纠结于某些具体细节,而注重于业务逻辑处理上。ASIHttpRequest可以被用于Mac OS X 和iOS程序项目中。

ASIHttpRequest 的官网是:http://allseeing-i.com/ASIHTTPRequest/

项目托管在Github 上:http://github.com/pokeb/asi-http-request/tree

基于BSD 开源协议。

072011
 

很火星的,之前要双开(多开)旺旺和QQ都是复制了多个app,然后打开的。

意外的发现其实他们都是支持多开的:
QQ: 菜单栏“QQ”->新建QQ (快捷键 Command+N)

旺旺:菜单栏“阿里旺旺”->新建阿里旺旺(快捷键 Shft+Command+N)

我承认我很火星。。。

 Posted by at 11:39 上午
262011
 

iOS开发神马的还是挺有意思的,虽然奇奇怪怪的问题也不少。

好吧,今天做个弱智的记录吧。

如果获取一个对象的类名。

 


[NSString stringWithUTF8String:object_getClassName(obj)];

 

 Posted by at 10:20 下午
242011
 

这个问题抓耳挠腮了我2个多小时
echo var_dump(preg_match(“/\s+/is”, “腾”));
就这么一句话。
在我的开发机上 Macbook(Mac OS 10.6.6+PHP 5.3.5上)的结果是1
而在服务器(Ubuntu 9.10+PHP 5.2)上的结果是0
呆了。以为是环境问题 ,修改了Locale 无效,抓耳挠腮。。。
后来在phpchina上有哥们说恢复加个模式修正符 u就可以搞定了!!!
也就是说UTF-8编码的最好加个模式修正符u(小写的)
关于模式修正符请看:Pattern Modifiers

另外还要感谢那位说这个问题是我的RP问题的同学:)

 Posted by at 5:49 下午  Tagged with:
112011
 

为了与线上的Ubuntu Server环境同步(主要是不想写两套配置文件,特别是URLRewrite规则= =‘)
准备在mac下安装个nginx + php
不是啥高深技术,纯属记录而已。
安装macports不多赘言。。。
首先安装nginx+php+cgi+spawn-fcgi
sudo port install nginx fcgi spawn-fcgi
sudo port install php5 +fastcgi
然后运行
sudo nginx
sudo spawn-fcgi -a 127.0.0.1 -p 9000 -u nobody -f /opt/local/bin/php-cgi
哈哈,很简单吧。要安装 其他扩展,比如imagick神马的自行安装吧

 Posted by at 1:55 下午