所谓的HTML5十五新特性

下面是我摘抄的一篇文章,觉得有必要记载到这里。我复制的时候大体浏览了一下,发现重复的内容很多,比如新的标签header、footer和hgroup其实是一个系列的,比如audio和video还有那个什么video重载都可以放到多媒体这一块里面的,唉,可恨的人们啊。

HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术。然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性。

1.新的文档类型 (New Doctype)

目前许多网页还在使用XHTML 1.0 并且要在第一行像这样声明文档类型:

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:

< !DOCTYPE html>

Continue reading

webrtc终于来了

在几个月焦急的等待中,在我要回家过年的这一天,webrtc可以在chrome dev分支中使用了。本来想好好的做个东西出来,看来是要延迟了。我讨厌落后别人的感觉,因为估计我不能是世界第一。

我想,这个东西一定是个好东西,一定会很多人使用。比如像我这样的人,我受够了flash那种感觉,那种复杂,那种不爽。说起来flash是我在计算机领域第一次接触的东西,但是也是我现在最不想使用,最不想学习的一门技术,我不是在乔布斯宣布在手持设备上禁用flash才开始讨厌它的,自从我上大学开始系统的接触了flash我就开始讨厌它,莫名其妙的讨厌。

所以,我一直在寻找flash的替代品,明显,html5是我寻找的东西,我看到它可以播放视频,我看到它可以做图玩游戏,可是一直以来,他对于流媒体支持的很不好,可以说基本上一直以来,都是不支持流媒体的。于是,太多的东西html5做不到而flash可以做到,比如视频聊天。比如视频会议。

Continue reading

RVM多用户BUG

刚才更新了一下rvm的版本,更新到了latest(1.10.0),感觉不错。但是有一个令人崩溃的问题,就是当你用Multi-User模式安装rvm,然后切换默认ruby版本的时候会出现:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

这令我很崩溃啊,研究了一上午,原因没有发现,倒是找出解决方法来了,那就是用sudo -H -i或者是rvmsudo bash命令切换到root模式下,然后rvm –default use XXX。新年快乐。

dos攻击之fsockopen

2006年的秋天,当我看到满屏幕的熊猫,我知道我的电脑也可以中毒了。今天,我的服务器成肉鸡了。我想,原来那么多我自以为不会降临到我身上的事情都降临到我身上了。看来我要居安思危了。

解决办法:直接在php中禁用fsockopen以及psockopen等函数。当然如果你的程序需要用的此类函数的话,就要另寻其他的方法了,比如制发包频率(怎么控制我也不清楚,google it but not baidu it)。

好像是dedecms有这个漏洞,我不打补丁了,因为马上要改版了。

说到这,再见。

apache并发连接数

突然发现,还有两个月就2012年了,时间过得真实带米内特块啊,最近公司的破网站经常连接不上去,于是找个命令查看apache的并发连接数,发现挺高的,哎。要懂得东西太多了。

我们调优常常要查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

ps -ef | grep httpd | wc -l

出现的结果,就是当前Apache能够处理的多少个并发请求,这个值Apache根据负载情况自动调。

查看Apache的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

Continue reading

form元素对齐

html中的表单元素大概用的最多的就是按钮、输入框和下拉菜单了,而这三个元素往往不是那么完美的对齐,我指的是横向的对齐,而且我说的完美的对齐,就是说你放大100倍之后你用标尺量一下,他们仍然是对齐的。

其实最大的难点是浏览器兼容的问题。因为火狐和IE8好像是不吃line-height这一套的,所以即使你在chrome下完美对齐了,那么在火狐和IE8下面会出现1像素的偏差,通常是火狐和IE8的按钮会矮上那么一个像素,原因就不说了,直接说解决方法。

本人觉得这不是在搞学问,所以就没有严格测试,而且这里用的雅黑的12号字体,所以如果是宋体的话可能会不实用。还有一点就是我这里的的元素高度是20来像素高吧,如果你想更高一点,那么你可以等差增加(注意不是等比)。

input, select, button {
  font-family: "Microsoft YaHei";
  font-size: 12px;
  border: 1px solid #555;
}

为了方便查看,我分别显示,首先是输入框,然后是按钮,最后是输入框。

Continue reading

ubuntu desktop的一个bug

上午搞东西的时候,发现一个我的apache的一个很烦人的问题,当我在浏览器中输入localhost/javascript的时候,总是出现403 forbidden的东西,搞的我很上火,看了看apache的日志,发现这么一条错误:

[Mon Oct 10 13:44:35 2011] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /usr/share/javascript/

原来是localhost/javascript会转移到/usr/share/javascript中,但是这个文件夹也是可以读的,后来我灵光一闪,绝对是apache的那个配置文件阻止了这个文件夹,于是我find了一下,结果在/etc/apache2/conf.d/这个文件夹中有javascript-common.conf这么一个链接,链接的/etc/javascript-common/javascript-common.conf的内容是:

Alias /javascript /usr/share/javascript/
 
<Directory "/usr/share/javascript/">
        Options FollowSymLinks MultiViews
</Directory>

什么不说了,直接把javascript-common.conf删除就是了。

这里ubuntu server版本好像没有这个问题,或者有这个问题被去掉了,但是desktop版本没有去掉,不知道为什么。这个bug在这里已经提交过了,估计ubuntu的兄弟们忘了改desktop版本的了。

mysql备份还原

本博客使命之mysql数据库的备份还原。其实写这些东西怪丢人的,很多人会说你连这个都记不住吗?我只好一句话不说,我确实记不住。

1 导出所有数据库

mysqldump -u username -p password –all-databases > all.sql

2 导出一个数据库

mysqldump -u username -p password somedatabase > all.sql

3 导入

进入mysql -u username -p password

source all.sql

命令很多,但是有这几条就暂时够用了。

scp命令

最近越来越懒惰了,真的懒得打开filezilla,然后链接,然后选择文件夹,然后upload,后来就使用sftp命令,发现这个就是ftp,只是安全一点,比如烦人的文件夹操作,后来突然想起原来用过的scp,但是忘记怎么用了,就从网上下了一个简介。

scp 可以在 2个 linux 主机间复制文件;

命令基本格式:

scp [可选参数] file_source file_target

从 本地 复制到 远程

* 复制文件:

scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

Continue reading

9月中旬

9月中旬,刚写了一点东西,累了,就写个记录吧,最近烦心事挺多的。我仔细想了想,其实也没什么烦心的事情,只是想想未来,想想出路,就觉得有点迷茫,好在总有个目标,不管自己喜欢不喜欢,总是要努力去做的。

本文的主要动机不是回忆或者牢骚,是记下一个小东西,就是emacs中文输入的问题,因为毕竟是中国嘛,你做的东西跟汉语是有很大的渊源的,所以要输入中文。原来的解决方法是从shell启动,然后在shell的配置文件bashrc中配置。

export LC_CTYPE=zh_CN.UTF-8

但是,后来,我想,既然emacs无所不能,为什么还得从shell启动呢,于是我想到了,emacs从shell启动,读取shell的变量,然后。

好了,如果直接从xwindow启动的话,他不会读你的bashrc变量的,是吗?于是你就写了一个bash,在启动emacs设置一下变量,你明白了。

#!/bin/sh
export LC_CTYPE=zh_CN.UTF-8
emacs

然后你再创建一个快捷方式,打开这个就是启动emacs,万事OK。

更新一下:

其实没有万事OK,那个emacs还是会找不到gems,然后出了各种错误,这个时候你需要搞个插件,rvm.el。当然如果你不用rvm那就不需要搞这个插件了。然后用gemset的时候,要用后面没有@这个,对于我来说要:

# rvm use ruby-1.9.2-p2900@rails3 --default #不用这个
# rvm use ruby-1.9.2-p2900@global --default #不用这个
rvm use ruby-1.9.2-p2900 --default #而是用这个

Continue reading