首页 | 摘要显示 | 上一页 1 2 3 4 5 6 7 8 9 下一页

Weblog Archives

December 8, 2006

MT中的Export/Import功能如何保留Basename?

    最近发现发表留言很慢, 有时Rebuild一篇文章的过程中, 进程会被DreamHost杀掉, 我想着可能是Blog的数据存放在文本数据库中的原因吧, 就想着移到MySQL数据库中, 对于文本数据库和MySQL都不熟, 只会用Movable Type自带的Export/Import功能.

    今天试了一把, 却发现导入时所有文章的Basename属性都丢了, Movable Type可能建议自动生成这个值, 不过我想手工指定. 经过一翻研究, 发现只要改两处就可以了, 将$MT_HOME/lib/MT/ImportExport.pm文件中的两处修改一下, 只要加入红色部分代码就可以了. 第一部份是在导入时用的代码, 加入一个if条件来处理Basename属性:

} elsif ($key eq 'TITLE') {
    $entry->title($val);
} elsif ($key eq 'BASENAME') {
    $entry->basename($val);
} elsif ($key eq 'DATE') {

    另一个是在Export的模板中加入导出Basename属性的当前值:

TITLE: <$MTEntryTitle strip_linefeeds="1"$>
BASENAME: <$MTEntryBasename strip_linefeeds="1"$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>

    可惜这里面的导出功能, 不能导出Blog一级的所有设定, 其他人有更好的建议吗?

January 4, 2007

如何快速提高主页的流量?

    这个站点已经有二年半了, 不过alexa的排名基本没有进过前10万, 虽然平时对自已说排名不重要, 重要的是内容, 可是除了这个还有更好的衡量指标吗? 进过前十万的时侯有过两次, 不过就那么几天, 是什么原因呢?

    第一次是CSDN搞专家Blog时, 有幸入选, 因此发的文章都会有链接显示在CSDN的首页, 挂在这样的大站下, 效果当然明显了. Fenng的网站还被CSDN评为十佳Blog, 流量又升了一个台阶.

    第二次是我的中脑中了一次IE Bar, 不停地弹出广告, 最后用很野蛮的方法将其成功删除, 并将心得写在主页上, 最后在Google和BaiDu上搜索IE Bar时都出现在第一页上, 由此每天带来了至少500个不同的IP访问. 后来Fenng也写了一篇如何删除IE Bar变种, 并出现在访问最多的文章列表中.

    CSDN的专家Blog搞了大约一个多月后不搞了; 而我自已的网站被人黑了一次, 删除了所有的东西, 重写后我没有将那篇文章补回去, 现在已经搜不到了. 专心写有关Oracle, Blog及生活方面的文章, 却始终没有达到那时的流量. 前几天看CheDong的2006年终小结, 他的spoolsv.exe脑筋急转弯给他带来了大量的从搜索过来的访问者, 才发现跟着搜索的热门词去走是最重要的.

    象Fenng的网站, 现在的Oracle比重已经很低了, 不过流量却是和Oracle的比重反道而行, 上升速度直让我流口水.

    今年什么是热点词? 也来追一把? 没有目标的话, 做主页也没有动力.

January 17, 2007

编写第一个Moveable Type的插件 -- 随机数

    今天想将带编号的图片随机地显示在模板上, 于是就想写一插件来实现, 在看了几个现有的几个插件代码后, 就开始写起来. 插件名为"RandomDigit", 用法如下:

<$MTRandomDigit min=... max=... width=... $>

    min   : the minimum random value, default 0.
    max   : the maximum random value, default 10.
    width : the digit count (zero prefixed), default 0.

    今天我还没有更改模板, 过几个改一下模板来试用一下这个我自已开发的插件. 源代码如下:

# Copyright (c) 2007, Fangxin Lou. (http://www.anysql.net/)

use MT::Template::Context;

MT::Template::Context->add_tag(RandomDigit => \&get_random_digit );

sub get_random_digit
{
  my ($ctx, $args) = @_;
  my $max_num = $args->{max};
  my $min_num = $args->{min};
  my $width   = $args->{width};
  
  $max_num=10 unless ($max_num);
  $min_num=0  unless ($min_num);
  $width  =0  unless ($width);

  my $val = 0;

  if ($width)
  {
    $val = sprintf("%0${width}d",($min_num+(rand(($max_num - $min_num) * 20)/20)));
  }
  else
  {
    $val = sprintf("%d",($min_num+(rand(($max_num - $min_num) * 20)/20)));
  }

  scalar $val;
}

1;

    至于如何放置插件, 我在这儿就不讲了.

January 18, 2007

给每个页面加了一个随机的小图片

    昨天晚上写了一个随机数的MT插件, 并应用在模板中, 在每个文章的标题左边加了一个随机的图片, 效果如下:

    但这个随机图片不是每次访问都随机的, 你需要付出劳动(回复一下)才能看到图片的变化. 请你评价一下这个主意如何? 同时我也征集一下各种奇怪的小图片. 现在的这些小图片是从我的Flickr相册上取下来的, 规格75x75. 不知道我直接取别人相册上的这种小图片会不会有版权问题.

    谢谢你的光临与回复, 愿小图片能缓解你访问本站时的眼睛疲劳.

MT 3.34性能提升15倍, 不再怕Spam和Trackback!

    Sixapart公司发布了Movable Type 3.34, 主要是修复了可能存在的XSS弱点(XSS vulnerabilities)攻击, 并集成了FastCGI的支持, 在测试中获得了15倍的性能提升, 推荐所有的免费和商业用户对其进行升级. 这下你可以不用怕垃圾留言(Spam)和大量的Trackback了, 至少不太会拖跨你的网站.

    在MT 3.33中要获得FastCGI的支持, 需要修改很多的文件. 而在这个版本中, 则不需要用户或管理员做任何事情, 可以自动检测配置, 获得最佳性能. 本站立马升级到这个最新版本, 在登陆管理界面时, 感觉速度提升明显(受光缆的影响, 留言方面感觉现在不明显), 并在这里推荐升级.

    为什么要推荐运行在FastCGI下面? 主要有四点:

1, 允许应用程序常驻内存, 并将一部份信息保留在内存中, 减少页面装载和数据库存取, 以此获得了15倍的性能提升.

2, 由于性能提升, 留言加快, 过滤垃圾留言(Spam)和重新生成页面的时间缩短.

3, 提高网站可用性, 访问单页的资源减少, 可以省下更多的资源给其他应用.

4, 更好地抵挡垃圾留言的攻击.

    在DreamHost上是默认安装了FastCGI的, 如果是你自已的Web主机, 请参考这儿.

上一页 1 2 3 4 5 6 7 8 9 下一页

当前分类: Weblog

Creative Commons License
本站版权: 共用创作 CC
署名-非商业性-相同方式分享
本站基于MT-3.36免费版
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql