wordpress开启多站点支持

wordpress 3.0 开始就支持多站点了,不过默认是关闭的。
开启的方式也很简单,那就是在 wp-config.php文件最后添加一句

define('WP_ALLOW_MULTISITE', true);

之后就能在”工具(tools)”里面多出来一项”设置网络(networks)”,照着一步一步做就ok了。

如果采用子域名的方式,需要开启apache的rewrite。

对于apache1,开启方式是反注释掉httpd.conf中对应的语句。有一句
#Load什么什么rewrite什么的
去掉前面的#就可以了

对于apache2,执行
sudo a2enmod rewrite
就可以了

iOS内存Bug

一个bug找了我好长时间····

UIView *view = array.lastObject;
if (view) {
[[view retain] autorelease];
[array removeLastObject];
}
return view;
[[view retain] autorelease];

这一句话不加害死人啊··

在iOS中利用CLMapKit进行地理位置反向编码(ReverseGeoCoding)

在iOS开发中,可以很方便地通过CLMapKit进行反向解码,即从一个坐标(经度xxx,维度yyy)得到其相对来说更有意义的地名,如(北京市海淀区颐和园路北京大学)
代码很简单如下:

-(void)reversGeoCoding{
    if (!self.geoCoder) {
        self.geoCoder = [[CLGeocoder alloc] init];
    }
    CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
    [self.geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
        NSLog(@"geoCode completed");
        CLPlacemark *placemark = [placemarks lastObject];
        if (placemark) {
            NSLog(@"%d placemark found:%@",placemarks.count,placemark);
            NSString *str = placemark.name;
            if (str && str.length > 0) {
                self.subtitle = str;
            }
        }
    }];
}

iOS CAPropertyAnimation 动画(transform部分)

在iOS开发中,经常会涉及到动画的制作。简单的动画通过UIView的Animation就可以实现了,但是对于稍微复杂的动画,还是得借助于CoreAnimation来实现。
CoreAnimation可以针对CALayer的属性设置动画(CAPropertyAnimation和CAKeyFrameAnimation),设置动画的keyPath就可以了。
keyPath是一个NSString类型的成员,其可用范围有哪些呢?
可以是CALayer.h中列出来的属性(h文件中针对可以动画的都写有:”Animatable”),除此之外还有更多的设置选项。
本文先讨论transform部分。
transform可以是一个CATransform3D,借助于这个4*4矩阵,可以进行3D动画的模拟,想象一下Mac的Finder中的动画效果吧。

如果只是在keyPath设置transform矩阵是比较复杂的。好在其提供了更多的keyPath可供选择来简化动画设置:

Table 4 CATransform3D key paths
Field Key Path Description
rotation.x The rotation, in radians, in the x axis.
rotation.y The rotation, in radians, in the y axis.
rotation.z The rotation, in radians, in the z axis.
rotation The rotation, in radians, in the z axis. This is identical to setting the rotation.z field.
scale.x Scale factor for the x axis.
scale.y Scale factor for the y axis.
scale.z Scale factor for the z axis.
scale Average of all three scale factors.
translation.x Translate in the x axis.
translation.y Translate in the y axis.
translation.z Translate in the z axis.
translation Translate in the x and y axis. Value is an NSSize or CGSize.

比如想实现针对x轴的旋转动画,只需要按如下代码:

// test animation on transform3D
CALayer *layer = testView.layer;
CATransform3D trans = CATransform3DIdentity;
trans.m34 = 0.002;
layer.transform = trans;
CAKeyframeAnimation *ani = [[CAKeyframeAnimation alloc] init];
ani.keyPath = @"transform.rotation.x";
ani.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0],[NSNumber numberWithFloat:M_PI], nil];
ani.repeatCount = INFINITY;
// ani.repeatDuration = 300;//总时间,相当于duration * repeatCount
ani.duration = 3;//每一个循环的时间
[testView.layer addAnimation:ani forKey:@"testAni"];

另外,其实UIView.center属性,UIView.layer.transform属性,都可以用UIView的Animation来实现简单的动画。

夜的钢琴曲5

Music一枚 夜的钢琴曲5

好安静的感觉

Audio MP3

小小-容祖儿

一首好听的歌,小小 容祖儿

Audio MP3

WordPress更新插件需要FTP权限的问题

WordPress在发现其所在目录的所有者和进程所有者不一致时会跳转到一个页面让填写ftp信息。解决办法如下:

运行
ps -aux
查看httpd进程或者apache2进程的用户名,比如我看见是www-data

切换到Wordpress的安装路径,比如wordpress安装在位置/www/wordpress ,就切换到/www目录,执行:
chown -R www-data:www-data wordpress

然后就OK了。

vim 命令

vim命令整理备忘

先整理常用命令

切换状态:

i   进入插入模式
ESC   退出插入模式

常用:

h,j,k,l    移动光标
:w   保存
:q  退出
:wq和:x 保存修改并退出
:q!  强退
x 删除当前字符
dd 删除当前行
p 粘贴到当前行下面
yy 复制当前行,可以在前面加数字表示复制多少行

/patten 查找字符串patten
n 继续向下查找
N 反向查找