Movable Type 3.3x 的 Tag 功能

把 Blog 升级到了 3.31. 因为模版还是使用的旧模版. 所以 MT 3.31 的 Tag 功能没体现出来. 修改了一下,现在单篇归档的 Tag 已经可以看到了. 记录如下:
1) 修改 CSS 模版 加入:

.entry-tags {
margin: 0 0 5px 5px;
}
.entry-tags-header,
.entry-tags-list,
.entry-tag { display: inline; }
.entry-tags-list {
list-style:none;
padding: 0px;
}

2) URL_rewrite, 美化 URL
编辑根目录下的 .htaccess 文件, 添加:

RewriteEngine on
RewriteRule tag/(.+) /mt/mt-search.cgi?tag=$1&blog_id=1

第一个 mt 是你的 mt 安装的相对目库. 最后的 blog_id 值填入你的具体值即可. 我的是 1.
3) 修改 Individual Entry Archive 的模版
在 < $MTEntryMore > 后面加入:

<MTEntryIfTagged>
<div class=”entry-tags”>
<h2 class=”entry-tags-header”>本则 Blog 所属的Tag:</h2>
<ul class=”entry-tags-list”>
<MTEntryTags>
<li class=”entry-tag”><a href=”/tag/<$MTTagName encode_url=”1″$>”<$MTTagName$></a></li>
</MTEntryTags>
</ul>
</div>
</MTEntryIfTagged>

4) rebuild 所有的单篇归档.
如果不允许做 URL_rewrite ,则 模版中的 Link 修改为:

<a href="<$MTTagSearchLink$>"><$MTTagName$></a></MTEntryTags>

最后效果请参考本则 Blog 全文.

此文作者:, 位于 Web 分类 标签: , , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

Oracle 10G的Data Pump (Part I)

Oracle 10G的Data Pump技术能够在不同数据库间高速的移动数据库和元数据. 这个技术的基础是两个数据移动工具:Data Pump Export和Data Pump Import.

Oracle的Data Pump是通过一个PL/SQL包来实现的:DBMS_DataPump(也叫Data Pump API).Data Pump使用直接路径装载和外部表机制进行数据的移动. Data Pump使用DBMS_METADATA PL/Sql包进行包括ETL过程在内的所有的数据库对象操作.

Data Pump 是Oracle一些其它关键特性(如基于流的复制、逻辑Standby等、Grid)的基础。

Data Pump特性是集成到Oracle数据库10G中的,但是标准版本10G并行度只有1.

关键概念

Master Table

Master Table(MT)是Data Pump技术的核心.Master Table 用来保存整个过程中的细节信息(也可以说是一些元数据信息).有了MT,导出或者导入的重启动才变为可能.这些细节信息包括:

  • 产生Job状态的报告
  • 重新启动Job
  • 定位在Dump文件中的所有的对象.

主表在进行当前导出或者导入的操作的用户模式中被创建.该用户必须要有足够空间. 主表的名字和创建它的Job名字相同.这也就是说,你不能显式的指定一个和现有的表或者视图重名的Data Pump Job.

导出的时候,主表被创建,并在完成的时候写到Dump文件中.在启动导入的时候,主表从Dump文件集中载入到数据库中,并用来控制操作的顺序.主表也可以用一些参数来进行初始化操作.要注意的是主表不能跨文件存储.所以,指定的 Dump 文件的大小至少要能够容纳得下 MT .

主表依如下情况或被保留或者删除:

  • Job成功完成,MT 被删除.
  • 如果Job是使用STOP_JOB交互命令停掉的,MT将被保留以用来重启动Job.
  • 如果Job是使用KILL_JOB交互命令Kill掉的,MT将被删除,并且Job不能重新启动.
  • 如果Job意外中止,MT总是被保留.

继续阅读

回答的智慧

最近通过 pkBlogs.com 的服务又可以访问 BlogSpot 的内容了。看到了一篇有趣的文章。Andrew Clarke 在 How To Be A Good Guru 一文中提到了 How to Answer Questions the Smart Way 这个有趣的话题, 并且模仿 提问的智慧 给出了”回答的智慧”的 10 条准则。来看一下这 10 条(翻译了一下,并适当的作了一点注释):

  • 1. Don’t answer questions to which you don’t know the answer( 不回答自己不知道答案的问题 )
  • 2. Explain yourself ( 解释给自己 )
    如果自己是提问者,你的回答是否能让自己明白?
  • 3. Give as little assistance as necessary ( 尽可能的给最少的帮助 )
    有的时候启发性的回答更为有效.
  • 4. Show your workings ( 展示你的做法 )
  • 5. Use humour judiciously ( 明智地使用幽默 )
    有的时候因为不同语境/语言的问题,你的俏皮话可能会让提问者更加困惑。
  • 6. If you can’t say something nice don’t say anything at all( 如果你不能说出有用的内容,就别说 )
  • 7. Avoid jargon, baffling acronyms and idiolects ( 避免行话、令人困惑的缩写词、习惯用语 )
  • 8. Never never never just respond with RTFM. Not ever.( 永远永远永远不要回复 RTFM )
    这里的 RTFM 代表”Read The Fucking Manual”, “去读该死的手册”. 另外一个常见的是: STFW –Search The Fucking Web, “搜索该死的网络”,或者友好一点的 “Google 一下”. 对于中文论坛上,我觉得还有一个尽量不要说 “RPWT” –人品问题 :)
  • 9. Meditate on eternity (永远的深思熟虑)
    回答的问题,可能在不久以后会被别人搜索到,看到,甚至是被你将来的老板看到。一个欠缺思索的回答无疑会降低你在其他技术人员心目中的形象。
  • 10. Keep your newbie mind (保持自己的”新手”思维)
    学无止境

保持谦卑。回答并不意味着你是”给予”, 可能你也在学习. 不要认为回答了一些问题自己就成了 Guru 了.
上述 10 条应该建立在《提问的智慧》的基础上。
Andrew Clarke 的这篇文章是针对 DBA 来说的,不过对其他领域的技术人员也有借鉴意义。提问、回答都是一门艺术.
–End.

我们的医疗条件

最近一期《收获》刊载了姜丰的小资文章《女英国病人》,比较详细的记载了在英国普通公民的医疗待遇。在英国,只要医生确认病人需要住院,病人什么都不用拿都可以在医院住下来,不用给医生送红包,不用忍受护士的白眼,不用一大早排队挂专家号,而且,不用掏一分钱。相比咱中国国内的医疗条件,真是有天壤之别。
当然,国内的医疗水平倒也并非一无是处,杨振宁不就是考虑到以他的身份,在国内能享受到很多医疗特权,才回到国内定居么? 当然,国内好的医疗条件是给有”突出贡献”有钱有权阶层享受的,我等普通公民自是无福消受。
“人民医院为人民”,”人民医院为人民–币”
–End.