不过今天偶不打算裸奔,而是告诉大家一个可以看到任何网站裸奔形象的方法,参考我以前写的用js丰富你的书签功能,创建一个书签,也可以放到书签工具栏上,内容如下:
javascript:void((function(){var
style=document.getElementsByTagName('style');for (i=0; i
后面的内容被截断了。。。
Source: http://www.fwolf.com/blog/post/312
不过今天偶不打算裸奔,而是告诉大家一个可以看到任何网站裸奔形象的方法,参考我以前写的用js丰富你的书签功能,创建一个书签,也可以放到书签工具栏上,内容如下:
javascript:void((function(){var
style=document.getElementsByTagName('style');for (i=0; i
后面的内容被截断了。。。
Source: http://www.fwolf.com/blog/post/312
ps x
找出tomboy进程,杀掉再重新启动,如果是使用默认的applet方式,gnome会自动提示是否重新加载的。总得ps x
命令如下:ps x|grep -m1 tomboy|awk '{print $1}'| xargs -I'{}' kill '{}'
功能解释如下
ps x
就不用说了grep
是用来查找进程列表中带有tomboy
文字的,-m1
是只找出第一个匹配,因为第二个匹配会是ps x
本身awk
是用来打印第一列的xargs
中的-I
指定用'{}'
在kill
命令中来代表输入参数,在本例中可以省略的。以上命令组合起来就可以比较"智能"的完成任务了,和find -exec
有些类似。
另外我发现tomboy的"Start Here"是不让删除的,不过把标题改一下就可以删了。。。
PS1: 发现hexdump可以以16进制形式显示文件内容,比如一个内容为01234567890的文件:
$ hexdump a
0000000 3130 3332 3534 3736 3938 0a30
000000c
注意这种默认的输出方式,字的高位可低位是反的,比如代表0的30就排在代表1的31的后面。也可以通过参数指定输出的方式,比如-b是逐字节按8进制输出:
$ hexdump a -b
0000000 060 061 062 063 064 065 066 067 070 071 060 012
000000c
-c是逐字符输出,转义字符会输出为\n
这种形式:
$ hexdump a -c
0000000 0 1 2 3 4 5 6 7 8 9 0 \n
000000c
-C是16进制逐字输出,后面还显示原始字符,有点像Ultraedit里面的那种感觉:
$ hexdump a -C
00000000 30 31 32 33 34 35 36 37 38 39 30 0a |01234567890.|
0000000c
PS2: 今天在公交车上看新闻联播的时候在想,cctv的新闻联播有版权么?应该是有,那为何那么多地方电视台天天"转播"新闻联播,他们都交版权费了么?同样的还有纯洁春节晚会,天气预报,焦点访谈等等,都收点钱的话央视又能大赚一笔。
首先还是放松了警惕,走了个弯路,我习惯使用的dump脚本是:
mysqldump --add-drop-table --default-character-set=utf8 -h mysql.mydomain.com --user=fwolf --password=mypasswd --extended-insert=false fwolf_db > mydomain.com_db.sql
可是dump出来的sql一看中文全是乱码,于是去掉--default-character-set=utf8
再dump,数据依旧,一时没想过来,用iconv把dump出来的sql左转换右转换怎么也是不对,后来才想明白,DH上mysql字符集的默认设置是这样的:
mysql> show variables where variable_name like 'char%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /data/mysql/ovadilla/share/mysql/charsets/ |
+--------------------------+--------------------------------------------+
8 rows in set (0.00 sec)
数据库服务器字符集是latin1,也就是mysql默认的latin1_swedish_ci,而系统的默认字符集则是utf8,所以不带--default-character-set=utf8
参数dump的数据的时候,其实和带上这个参数是一样的!想通这个问题,又知道了mysql吃啥吐啥的特性之后,解决方法就简单了,记住如果WordPress和mysql都是默认设置的情况下,如果你能夠正常浏览中文,则说明配置就是错误的,因为WordPress默认也不是utf8字符集的。
首先,按latin1字符集导出sql:
mysqldump --add-drop-table --default-character-set=latin1 -h mysql.mydomain.com --user=fwolf --password=mypasswd --extended-insert=false fwolf_db > mydomain.com_db.sql
这样导出的sql中的中文应该都是正确的了,现在修改导出的sql文件,把其中的latin1全部替换为utf8,然后再重新导入数据库,导入的时候强制指定字符集为utf8:
mysql --default-character-set=utf8 fwolf_db -h mysql.mydomain.com -u fwolf -pmypasswd < mydomain.com_db.sql
这样,如果直接用mysql查询数据的话,如果不使用set names 'utf8'
,中文应该是乱码的,而如果你的数据库字符集仍然是默认的latin1的话,会是相反的情况:不使用set names 'utf8'
,中文正常,使用之后反而乱码。确认数据库字符集调整正确之后,再来搞定WordPress,这个就简单多了,编辑文件WP/wp-includes/wp- db.php
,大概66行,在$this->select($dbname);
前面,加上:
$this->query('set names utf8');
这样就全部搞定了,数据库和Wordpress的字符集全部调整为万国码utf8。
参考:
PS1: DH主机ssh、svn、cron、php-cli、fsocketopen什么的全部支持,太爽了,怪不得那么多人喜爱,就是ssh的速度慢了些。
PS2: 一个和mysql吃啥吐啥有关的笑话,不太雅:你来到医院,向医生说:我近来很不正常,吃什么拉什么,吃黄豆拉黄豆,吃西瓜拉西瓜,你问医生怎样才能恢复正常,医生沉默了一阵说:你吃屎吧!
正常启用的方法很简单,首先要启用apache的proxy模块:
a2enmod proxy
然后在apache的conf中进行相应配置即可,比如我把/ubuntu
反向代理到内网的另外一台主机,对公网进行服务:
ProxyPass http://svr5/ubuntu ProxyPassReverse http://svr5/ubuntu
这样当公网用户访问我的主机的/ubuntu
子目录时(注意/ubuntu
这个Alias无需定义),Apache就会从访问内网服务器svr5的相应内容,并返回给用户。
以上是正常定义方式,不过在ubuntu下调用时却出现403错误,查看apache的error.log发现:
[Sun Apr 01 19:35:57 2007] [error] [client 121.*.*.*] client denied by server configuration: proxy:http://svr5/ubuntu/
查看svr5的log没有访问记录,就是本服务器的配置中的问题,再查看/etc/apache/mods-avaliable/proxy.conf,发现如下内容:
#turning ProxyRequests on and allowing proxying from all may allow #spammers to use your proxy to send email. ProxyRequests Off Order deny,allow Deny from all #Allow from .your_domain.com
为了避免spammer使用服务器发送垃圾邮件,proxy模块启用后默认是关闭所有访问的,真想不通反向代理怎么就能够发送垃圾邮件了,不过找到问题之后,解决方法就有了,就是修改这个/etc/apache/mods-avaliable/proxy.conf文件,把#Allow from .your_domain.com
修改为Allow from 用户地址
,虽然可以用211.24
来代表一定ip范围的用户,还是麻烦,干脆Allow from all
也是可以的。如果觉得修改这个文件麻烦,也可以在httpd.conf中写上类似代码:
Order deny,allow Allow from all
参考:
div
,有人说这还不简单?不就是text-align: center
么?其实不对,这只是让对象所包含的内容居中,而不是让对象本身居中,其实,我还没有找到能够直接让div
等块div
对象居中的css方法,不过从 Computing.Net找到了一个替代方案:比如一个div
,宽度设定为60%,那么要使他居中,笨的方法就是用另外一个带有text-align: center
属性的div
或其他容器包含它,聪明一点的办法是这样:
左缩进20%加上div
本身的宽度60%是80%,剩余的右缩进自然就是20%,所以div
看起来就像是居中了一样。
第二个问题是编号列表,如何实现像word或者openoffic那样自动层级的编号?先看我实现的例子吧:
看到没有,在上面这个例子中,有着两级编号,并且和一般html中的
String.fromCharCode (n)
方式输出了,查看不方便。
- 大标题一
- 小标题1
- 小标题2
- 大标题二
现在清楚了吧,用display: marker
和:before
来定义列表项目前面显示的内容,用counter
来定义计数器,用content
定义要显示的形式,用counter-increment
定义计数器自增值,用counter-reset
定义计数器归零的条件,就可以实现复杂公文处理系统中的可定制多级编号了,在Firefox2中测试通过,不保证在IE下能用。更详细的资料,请查询 W3C的CSS文档。
什么?不知道word和openoffice的多级编号?Orz…自行放狗搜索吧。