30 views 八月 14, 10 by Timothy
Mono的大名,搞.NET的同学都知道。它使.NET程序在Linux下有了跨平台运行的可能。随着mono的逐步发展,现在已经逐渐趋于稳定和流行了。此文介绍一下Ubuntu中mono环境的搭建。
1.安装
1
| $ sudo apt-get install mono-gmcs libmono-system-data2.0-cil libmono-system-ldap2.0-cil libmono-system-messaging2.0-cil libmono-system-runtime2.0-cil |
当然,还有其他的一些包可选,比如:
libmono-winforms2.0-cil 提供WinForm程序开发功能
libmono-system-web2.0-cil 提供asp.net web程序开发功能
libmono-system-web-mvc1.0-cil 提供MVC的web开发框架
libmono-wcf3.0-cil 提供WCF开发功能
libmono-nunit2.4-cil Nunit,单元测试模块
2.安装好后,查看mono相关信息
1
2
3
4
5
6
7
8
| Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none |
3.测试程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| using System;
using System.Linq;
namespace Test
{
class Program
{
static void Main()
{
Console.WriteLine("Hello Mono!");
Console.ReadLine();
}
}
} |
保存为test.cs,然后用gmcs编译,运行正常。
至此,mono环境配置成功。
71 views 八月 07, 10 by Timothy
记得我曾经写过一篇博文,叫做用BB管理你的VPS,其中介绍到的一款在黑莓上运行的SSH客户端,叫做MidpSSH。MidpSSH唯一不足的地方,就是连接后的命令输入方式,并不是直接在字符界面输入,而是要切换到另外一个文本界面,不方便,也不太直观。后来经过自己在网上的搜寻,发现一款更加不错的SSH客户端,叫做BBSSH,BBSSH还是个开源项目。BBSSH感觉比MidpSSH好用了许多。难怪,BBSSH自身的介绍里面,也说,自己是在原有的MidpSSH基础上做了更加多高级的修改。并且直接支持在shell界面键入命令,不必像MidpSSH那样,在切换的文本界面输入命令了,更加直观。

目前BBSSH最新版本为1.1.80,我的机器上不是最新版的。官网地址为: http://bbssh.org/wiki/en/Home
官网还提供OTA下载,地址是:http://bbssh.org/ota/
42 views 七月 25, 10 by Timothy
在用Wordpress写有程序代码的文章的同学,都有这样的体验,就是在文章中插入代码,并提交文章到wordpress的时候,wordpress会把代码中的一些符号进行转义,再存到数据库中。这种情况,多出现在WordPress后台编辑使用可视化编辑器的时候,或者使用Windows Live Writer的时候。这样,代码经过转换过后,就成了一团乱了,比如:

其中的大于号,引号,还有其他的一些符号,都被转换成了HTML实体符号。
对应的其他符号的转换关系,还有如下的一些:
网上也有一些解决办法,比如在使用WP-CodeBox插件的时候,通过修改WP-CodeBox插件自身的代码,添加转换函数,进行一次转换。 或者在wordpress后台使用HTML编辑器,逐个进行修改,纯体力活。基于这样的情况,俺做了个实现自动转换HTML实体符号功能的插件,激活后,你就不必担心代码中的符号会被转换成HTML实体符号了,在你提交发布文章的时候,它会自动帮你把被转换成HTML实体符号的字符给转换回来……从此,你可以放心的在文章中插入代码,而不必担心代码被转换得一团乱了,hoho。 代码只有两三句,完全没啥技术含量,高手请忽略……
点击这里下载: HTML Entities Converter V1.0
上传到Wordpress的plugin目录,后台激活即可。
44 views 七月 22, 10 by Timothy
wp-reader-wall是个有意思的插件,能在页面列出最近评论过的同学的头像。采用照片墙的方式,展示给用户,并且,头像的排序是根据评论的条数来排序的。
自从上次升级WordPress到3.0后,发现者插件没有正常工作了,索性禁用了此插件,也没时间仔细研究。今天特闲,所以决定拿这插件来研究研究。发现导致插件工作不正常的地方,是在插件的代码中定义select的sql语句,取读者数据的时候出了问题。把这句sql从插件中挖出来,在线上环境的mysql中执行了一下,果然取不到数据。刚开始,怀疑是sql语句的where条件的问题,后来逐个排除,没发现异常。最后,把重点放在了表名上,插件里面是用的一个全局变量:$tablecomments 来表示评论的表,索性直接替换成wp_comments试试,果然能取到数据了。看来$tablecomments在WordPress 3.0中失效了。去wordpress搜了一下,官方提到$tablecomments变量是不推崇的方式,可能已经被弃用。官方还建议了一些其他的全局变量的替代办法,如下:
这样,我们可以遵循官方的建议,在WP-Reader-Wall插件的select语句中,用$wpdb->comments替代原来的$tablecomments,这样,插件就能正常在WordPress 3.0下使用了。总结了一下,关于WordPress升级遇到的一些问题,可以直接查阅官方文档,还有就是参考每个版本之间的变化,包括变量定义,以及数据库改动。这才是最好,最直接的办法。
具体修改方法,在WP-Reader-Wall.php中,找到如下的代码:
1
| $request = "SELECT count(comment_ID) comment_nums,comment_author, comment_author_email,comment_author_url FROM $tablecomments where comment_date》'".$cur_time_span."' AND comment_type='' AND comment_approved=1 group by comment_author_email order by count(comment_ID) DESC "; |
修改为:
1
2
3
| $request = "SELECT count(comment_ID) comment_nums,comment_author, comment_author_email,comment_author_url FROM ".$wpdb->comments.
" where comment_date>'".$cur_time_span."' AND comment_type='' AND comment_approved=1 group by comment_author_email order by count(comment
_ID) DESC "; |
17 views 七月 16, 10 by Timothy
Linux中提供方便的让我们生成随机密码的功能,并且生成的密码有一定的复杂度,符合密码规范。下面是Linux中生成随机密码的两种常用的方式:
1.用mkpasswd命令:
使用mkpasswd命令,需要事先安装expect模块,以CentOS为例:
安装好后,直接运行mkpasswd,就能生成随机密码了。并且命令还有参数,比如设置生成的随机密码的最小长度,等等,看看help就知道了。
2.用passwdgen命令:
和mkpasswd大致一致,需事先安装passwdgen模块:
1
| yum -y install passwdgen |
安装好后,直接运行passwdgen,即可得到随机密码,同样passwdgen命令也有参数,可以参考help。