手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2011年10月的文章

旧文:设置Apache 虚拟目录(Virtual Directory)

虚拟目录,其实真的设置起来很简单啦,只要参考一下默认的httpd-vhost.conf就知道了。
要知道/doc/其实就是指的虚拟目录 。
嗯,假设你的 Apache 文件根目录是:c:\htdocs\,你要设置一下别名为xxx的虚拟目录,它实际是指向c:\htdocs\yyy
那么在配置文件中就是这样写的:

XML/HTML代码
  1. Alias /xxx/ "C:/htdocs/yyy/"  
  2. <Directory "C:/htdocs/yyy">  
  3.     Options Indexes FollowSymLinks  
  4.     AllowOverride None  
  5.     Order allow,deny  
  6.     Allow from all  
  7. </Directory>  

OK,修改了配置文件以后,应重新启动 Apache Service。(Start --> All Programs --> Apache HTTP Server 2.2 --> Monitor Apache Servers --> Restart)

Apache Service 重启之后,该虚拟目录就生效了。

这时候,你在c:/htdocs/yyy目录下放一个test.html,然后通过浏览器访问 http://localhost/xxx/test.html,你就会发现刚才的设置生效了。
是不是很简单?其实就是这样的简单。。。

Tags: apache, 虚拟目录

生日快乐

我在告诉自己,又大了一岁了。已经这么大了,其实到现在什么事情都没有做事,除了结婚生子算是一件大事吧
当然,严格意义上来说,其实我过生日都是过阴历的,也就是说今年的生日我早就过了。
那天,我在加班,直到早上四点,说实话,30多的人加班也还算是难得的。
当然,为了工作,其实都还是值得的。

这一篇博客纯粹是告诉自己,年龄又大了,有些事情还是要想想好才行。

顺便:下周二开始老婆出去旅游,想请饭的可以开始预约了。

mysql子查询删除

这是我试了很多的代码之后才。。。。
#select id,count(1) as cnt from feeds_datas group by link HAVING count(1) > 7 order by cnt DESC
#delete from feeds_datas where link = (select link from feeds_datas WHERE id in ()
#delete from feeds_datas where id in (6697,7127,6798,4557,4558,6086,6087,6088,6089)
#select id from feeds_datas group by link HAVING count(link) > 1

#delete from feeds_datas as a WHERE a.in in (select b.id from feeds_datas as b group by b.link HAVING count(b.link) > 1 )
#delete from feeds_datas t1,(select link from feeds_datas group by link HAVING count(1) > 1) t2 where t1.link = t2.link

#and id not in (select min(id) from  feeds_datas  group by link  having count(link )>1)

delete feeds_datas as a from feeds_datas as a,
(
select *,min(id) from feeds_datas group by link having count(1) > 1
) as b
 where a.link = b.link and a.id > b.id;

加#的都是失败的,其中最后一条SQL我很纳闷,如果把delete 后面的 feeds_datas as a去掉,那么sql就报错,说是不许right syntax之类的。加上就OK。
记录一下。。
网上有很多资料,可以参考:
1、http://yueliangdao0608.blog.51cto.com/397025/81390
2、http://zhidao.baidu.com/question/85817899

Tags: mysql, 子查询, 删除

几个Micro Blog系统

看到有一个博客上有这个介绍,突然想起以前11爷和我说过想要做微博上的一些应用,但当时居然不知道找哪些软件,当时想的是discuz的微博,当然后来又出来了xweibo和QQ的微博系统。
但最终我还是没有什么选。也不知道11爷最后选了什么,所以在看到这个博客上介绍的microblog的系统时,不管3721先做个记录再说。
-----
原文来自:http://koda.iteye.com/blog/706002
Blurt.it
Blurt.it是一个基于PHP/MySQL搭建的微博客系统,类似于Twitter。用户可以在一个开放或私有的讨论群中与其他用户互交沟通。
 

Jisko
一个PHP微博客应用程序提供类似于Twitter的API来扩展它的功能。用户可以拥有它们个性化的页面,能够很方便与其他用户发互发消息。 Jisko还支持手机移动设备。
 


PageCookery
PageCookery是一款国产的微博客,采用Php+Mysql架构而成,是国内首款公开发行的单用户版Mblog程序,支持从 Flickr、last.fm等社交网站提取数据。
 

Floopo
Floopo是一个基于PHP+MySQL构建的微博客系统。它的功能非常类似于Twitter并且提供一个强大的后台来整个系统。
 

Storytlr
Storytlr是一个开源的微博和Lifestreaming平台。支持单用户和多用户两种模式。Lifestreaming一种在线记录个人 日常活动的网络应用,它能够聚合一个人的网络在线内容,比如博客日志,在社会性网络上面的更新,在线相册,聊天内容甚至只是一些喜欢的网站链接等等。 Storytlr当前支持的网站应用包括: Delicious、Digg、Disqus、Flickr、Google Reader、Identi.ca/Laconi.ca、Last.fm favorites、Picasa、Qik、RSS Feeds、Seesmic、StumbleUpon、Tumblr、Twitpic pictures in Twitter tweets、Twitter、Vimeo、Youtube收藏。
 

StatusNet
StatusNet是一个开源、功能强大的微博客平台。支持通过插扩展功能,除了微博必备的所有功能外,StatusNet支持自选背景和自选缩 链服务,并且支持用户使用OpenID或者Facebook账户直接登录。同时支持通过Jabber/GTalk发布帖子和接受更新。并且支持大量的国外 电信运营商(60多个),您还可以通过短信发布帖子和接受更新。
StatusNet集成Twiiter,能够实现Twitter和 StatusNet的双向同步。发帖是也可以附加文件,如果附加的是媒体文件,则可以在线浏览。与Sharetronix一样,StatusNet平台中 的用户也可以设置一些描述自己兴趣爱好的关键词,方便志同道合的人们相互结识。当然,StatusNet也有一个基于电子邮件的好友邀请界面。已经有相当 多的国外微博网站都是基于它架设。

Tags: microblog

转:ios拷贝小议

纯记录,目前我还没有学到这里。
看到这样的文章,就先记录下来,以后不怕网址不在了。。。

1.copy vs mutableCopy

copy,对于不可变的对象,简单的指向其内存.对于可变对象,复制内存内容到新的内存中并把新的内存值赋值给左值.

mutableCopy,始终复制到新的内存中,以一个可变的类型赋值给左值.

大小: 47.27 K
尺寸: 471 x 278
浏览: 1491 次
点击打开新窗口浏览全图

2.copy vc retain

retain,引用计数+1,内存地址赋值给左值.

copy,对于不可变对象的,相当于retain;对于可变对象,则是深拷贝赋值.

C++代码
  1. NSString* a = [NSString stringWithFormat:@"%@",@"this is a"];  
  2.   
  3. NSString* b = [a copy];  
  4.   
  5. NSString* bb = [a retain];  
  6.   
  7. NSString* cc = [a mutableCopy];//实际上cc应该是NSMutableString类型  
  8.   
  9. NSLog(@"%d,%d,%d,%d",[a retainCount],[b retainCount],[bb retainCount],[cc retainCount]);  
  10.   
  11. 3,3,3,1  
  12.   
  13. NSMutableString* a = [NSMutableString stringWithFormat:@"%@",@"this is a"];  
  14.   
  15. NSString* b = [a copy];//不可变的b  
  16.   
  17. NSString* bb = [a retain];//实际类型是NSMutableString的bb  
  18.   
  19. NSString* cc = [a mutableCopy];//同上  
  20.   
  21. NSLog(@"%d,%d,%d,%d",[a retainCount],[b retainCount],[bb retainCount],[cc retainCount]);  
  22.   
  23. 2,1,2,1  

 

3.一些问题

通过上面2点,思考下面的问题

我们通常如果这样定义一个变量

@property(nonatomic,copy)  NSMutableString* mString;

然后这样使用

@synthesize mString;
NSMutableString* a = [NSMutableString stringWithFormat:@"%@",@"this is a"];
self.mString = a;
[mString insertString:@"m-" atIndex:0];

能通过么?当然不能,赋值后的mString是NSString类型的,不可变.如果需要可以改变就需要自己定义属性函数.

-(void)setMString:(NSMutableString *)m
{
mString = [m mutableCopy];
}

-(NSMutableString *)mString
{
return mString;
}

(当然,NSMutableString不是线程安全的,一般都建议私有之:@private;或者一定要用的话以NSString作为对外接口类型)

4.NSCopying NSMutableCopying NSCopyObjective()

NSCopying就是复制一个对象

NSMutableCopying就是深拷贝一个对象,让两个对象的改变互不影响

(其实上面着两个完全看你怎么写啦)

NSCopyObject(self,0,zone)就是简单的赋值=

(在涉及到ns对象的时候,NSCopyObject不建议使用)

注意看下面一个例子:

@interface ClassB : NSObject <NSCopying>{
NSString* stringB;
}
@property(nonatomic,copy) NSString* stringB;
@end
-(id)copyWithZone:(NSZone *)zone
{
ClassB *b = NSCopyObject(self, 0, zone);
// 使用NSCopyObject时的正确赋值方法,因为没有涉及到原来的内存指针什么事
b->stringB = @"what";
// 看看被注释的这个错误方法,犹豫setter方法的特性,原来的stringB的retainCount减一
// 而犹豫NSCopyObject的特性,两者又是指向同一个地址的,所以,原类中stirngB已经释放了,玩了你dealloc中在释放一次?!.就出错啦
// b.stringB = @"what";
return b;
}

参考:http://stackoverflow.com/questions/2002174/copy-mutablecopy

http://stackoverflow.com/questions/4995254/nsmutablestring-as-retain-copy

http://robnapier.net/blog/implementing-nscopying-439#comment-1312
注释:可变对象mutable比如NSMutableString,NSMutableArray等
       不可变对象immutable比如NSString,NSArray等


-----EOF--
原文来自:http://www.cnblogs.com/v2m_/archive/2011/10/12/2208684.html
作者:v2m

Tags: ios, 拷贝

Records:30123456