《Blog 启示录- WordPress 博客建设与经营》观感

偶然的一天,在书城里逛,并且在网络分类里极不显眼的地方发现了这本书 《Blog 启示录 WordPres 博客建设与经营》,拈起来翻了翻,可以说里面有 3/4 的内容是我知晓的。但是冲着对 WordPress 的那份感情,以及 WordPress 内在的美感,终是把它带回了家。一为收藏第一本 WordPress 书籍,二为如有他人有这方兴致,亦可借阅,第三就是我想总还是能从中获得我想要的东西,也算是梳理一下。

拿回来几天时光一字不落的就把它给看完了,顺便记下些对我来说有意义的东西。被略过的内容并非就是它的不足,毕竟它的读者是广大的不同层次的博主们。 阅读全文 >>

留言

C# 如何连接操作 MySQL 数据库(使用官方驱动)

MySQL 以其免费和足够的性能受到很大的青睐,当然对于国内小公司,甚至是大公司如果对版权看得薄,敢冒险的话,随便装个 SqlServer、DB2、Oracle 都行。对于 SqlServer 数据库,因其与 MS 是一家,自然在 .net 类库中有内建支持,假如 MySQL 就得找第三方的驱动了 -- .net 中多讲 Provider。在这里我也是作为一个预研专题,记录下 C# 连接 MySQL 的两种方法,分别使用 MySQL 官方的和 SourceForge 上一个开源的 MySQL 驱动。至于 ODBC 的办法,就不提了,觉得意义不大,同样要安装个 MySQL ODBC 驱动,而且 ODBC 又如此之笨拙。

使用 MySQL 官方区动连接操作 MySQL 数据库 阅读全文 >>

给 TinyMCE 添加一个语法加亮插件的工具按钮

前面已有几篇讲了有关 WordPress 的语法加亮的插件,谁让我的日志中代码特别多呢。在此之前我都是要把编辑器切到 HTML 模式,然后写上 <pre class='brush:java'>CodeHere</pre>,然后回到 Visual 模式,最后贴上代码,麻烦就在于模式切换。如果能给 TinyMCE 编辑器加个按钮,点击后弹出窗口中选择语言类型,贴入代码,不用切换就能加亮你的程序代码就好,这里就是说这个的,当然你要是用 [ code lang='java']CodeHere[/code] 这样的 BBCode 来张贴代码倒简单些。 阅读全文 >>

PHP 中回调函数是全局的或是类实例时不同写法

PHP 像 JavaScript 一样,很方便使用回调函数,函数名就像一个普通的变量名一样可作为其他函数的参数,即成为一个让宿主函数调用的回调函数。但回调函数的用法依据回调函数是否是全局函数还是一个类中的函数是有区别的。比如 PHP 的preg_replace_callback — 用回调函数执行正则表达式的搜索和替换函数可以接受一个回调函数,我们来看这种区别。

如果是全局的回调函数,那容易,只要写上函数名作为字符串的形式传入就行的,看:

而如果 preg_replace_callback 函数是在类成员函数中被调用,同时 inverse 回调函数也是该类的成员函数,写法就不一样了。要是仍然写成下面这种方式的话: 阅读全文 >>

XSLT 生成 XML 中带 CDATA 的节点

原来曾经都是用代码或是像 Velocity 样的模板来转换生成 XML的,自从接触了 XSLT 后,已把它当成了 XML 到其他许多数据格式的不二之选了。有时候因为特殊字符等因素,需要转换后的数据在新节点中用 <![CDATA[...]]> 包裹起来更好看且不易出错,或者还需对生成的 XML 进一步处理时,用 <![[CDATA[...]]> 会更保险些 。

通常我们在 xslt 文件中会这么写:

<description><xsl:value-of select="Description"/></description>

如果原来的 Description 中有特殊字符,如 < 等,转换后,< 会自动变为 &lt; 的,即得到

<description>Hello&lt;Unmi</description> 阅读全文 >>

真是瞎折腾了一回,设置 RSS 中输出的记录数原本如此简单

之前写有一篇 让 WordPress 的 Rss 显示更多或所有的日志, 为了让 WordPress 的默认 Post 和 Comment 的 RSS 输出记录数多于10 条,竟然把这一系列的代码都穿越了一番。确实解决了问题,定位到了 RSS 在查询时 limit 值在哪行代码得到的,当时通过修改 query.php 手工指定输出的记录数。因为 WordPress 代码无法单步调试,所以为了找到这段代码着实费了好一番功夫的。

其实何必来得如此周折呢,在后台里可以直接修改该参数的,wp-admin 中点击 Settings->Reading,打开 Reading Settings 页面,选项 Syndication feeds show the most recent 就是用来设置输出各种 RSS 记录里显示最近多少条记录,反应到 SQL 就是 limit 0, X  中的 X 值,比如 20 条记录,或者你的博客有 2000 条记录,你设置的此值为 2000 大就输出所有的记录了。 阅读全文 >>

用 SyntaxHighlighter Evolved 作为自已的代码加亮插件

敝人的博客常常要贴程序代码,因而装个合适的语法加亮的插件是必不可少的。可以预见得到的是基本上各种语法加亮的插件都是源自于 Google 上的一个项目 SyntaxHighlighter. 但具体选用哪一个却要好自体验斟酌的。有几篇很好的文章可参考下:

1. WordPress代码高亮插件指南[译文]
2. WordPress 高亮代码显示插件 – SyntaxHighlighter Evolved
3. 让 WordPress 下 CKEditor 支持 CodeColorer,
4. wordpress代码高亮插件wp-codebox使用方法(语法详解)

怎么着那都是他人之言了,自己试了才知究意,我就说说 SyntaxHighlighter Evolved 吧,我正用着的。之前在 http://unmi.blogjava.net 的博客我往日志中嵌入代码的方式是 <textarea name=code class=php></textarea> 来写的,这样在 textarea 中代码能保持原有的格式,该有的空格都在,那是因为那边的编辑器支持的好, 阅读全文 >>

Lucene 应用 WordNet 的同义词典实现同义词检索(C#版)

同义词检索应该很多时候会用得上的,举个简单的例子,我们搜索关键字 good 的时候,与 well 和 fine 等的词条也可能是你想要的结果。这里我们不自己建立同义词库,直接使用 WordNet 的同义词库,本篇介绍 C# 版的实现步骤,还会有续篇--Java 版。

由于 Lucene 是发源于 Java,所以 C# 的应用者就没有 Java 的那么幸福了,Java 版已经有 3.0.2 可下载,C# 的版本还必须从 SVN 库里:https://svn.apache.org/repos/asf/lucene/lucene.net/tags/Lucene.Net_2_9_2/ 才能取到最新的 2.9.2 的源码,二制包还只有 2.0 的。 阅读全文 >>