更换多媒体标签

随着html5的火爆和我用智能手机的时间日益增多,我决定把原来的用flash播放的视频和音乐开始转换成html5的标签。我想这样会比较好一点。用手机看的时候不会卡死。我想,2012的主题怎么还没出来,如果在过2个月还没有音讯的话,我会将博客换成别的,不用wordpress了,或者我会自己去写一个。原来觉得那么复杂的事情现在看起来真的很简单。

下面演示一段视频,是我最喜欢的游戏的音乐。玩魔兽世界的人应该都听说过。

EMACS一些技巧

在perl中,如果你选中一段代码,然后align,emacs会把等号对齐,但是在php中不会这样,如果在php中你也想这样的话,那么你会用到:

M-x align-regexp RET = RET

举例,比如在一个比较长的数组中,如下,你会想把等号对其。

$data = array(
	'filter_order_id'	=> $filter_order_id,
	'filter_box_code'		=> $filter_box_code,
	'filter_customer_id'		=> $filter_customer_id,
	'filter_email'=> $filter_email,
	'filter_shipping_name'			=> $filter_shipping_name,
	'filter_telephone'		=> $filter_telephone,
	'filter_shipping_address'		=> $filter_shipping_address,
	'filter_postcode'		=> $filter_postcode,
	'filter_payment_method'		=> $filter_payment_method,
	'filter_order_box_status_id'	=> $filter_order_box_status_id,
	'filter_date_added'	=> $filter_date_added,
	'sort'				=> $sort,
	'order'				=> $order
);

当然align-regexp后面跟的是个正则表达式,如果你想让它以其他的方式对其,JUST DO IT!

挤得要命

前天去海边走一走,发现人太多了,挤得要命。大部分是旅行团的人,前面有一个带队的,拿着小喇叭。他们玩的好辛苦。我想,以后要出去还是选人少一点的地方比较好。

前两天一直在考虑2个问题:事件驱动和js的原型链。明显是研究nodejs的过程中产生的问题。nodejs是朋友介绍的,据说很厉害,所以就研究一下,发现js的原型真的跟普通的面向对象有很大的区别。下面写一下我对这两个东西的理解,或许错了,但是也要记录下来。所有的东西都是回忆。

关于JS的原型链。在理解这个东西的时候,把函数分解成两个部分,一个是函数,一个是对象。一定要分离着理解,上张图,绝对给力,我就是靠这张图理解的。

仔细研究这个图,你一定有收获。还有网上还有这么一张图,我相信你看后绝对会很混乱,这张图我放在下面,大家研究一下,反正我是搞不懂。

Continue reading

SVN一键添加删除

其实两键,两条命令。在你做了很多操作,很多删除很多添加的时候,很有用。我记得是在博客里面有来着,但是找不到了。

svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add
svn status | grep -v "^.[ \t]*\..*" | grep "^\!" | awk '{print $2}' | xargs svn delete

清明结束

清明假期结束,突然发现已经4月了。博客也快沦为月经博。办完了很多事情,要好好工作了。大家一起加油。最近很对希望这个两个字很喜欢。在我一切都顺利的时候,在大的痛苦大的折磨来临之前,默默的安慰自己一切都有希望。每一丝流光都充满希望。不管碰上什么事情都要坚强。加油。

你永远孤寂的挂在天上
恍若不知那空旷的荒凉
你只是默默的照亮远方
让我不被绝望彻底埋葬
你依然静静的散发光芒
每一丝流光都充满希望
你让我相信遥远的理想
一路高歌直到白发苍苍

PHP的输出缓冲

今天碰到一个小问题,本着研究到底的精神。这个问题被我研究了一下,当然到底时不可能的,什么事情到底了就会总结出哲学的那几个问题上,比如人为什么活着等问题。

就是用header函数的时候会出现什么headers already sent这个问题,其实这个问题在ubuntu中是已经没有了的,因为,因为的原因在后面讲。

首先讲一下headers。这里的headers就是http header的意思。当你请求一个页面的时候,服务器会返回两部分,一部分就是header,一部分时主要内容。这个header储存了很多有用的东西,比如你的浏览器的cookie等内容,而内容则是你看到的东西。

为什么会出现headers already sent这个问题大体上很好理解。PHP在输出的时候,会产生header数据,如果没有明显的用函数指定header的值(比如header函数、setcookie函数都会改变header的值),那么会产生默认的值。header的作用时很多有用的东西,http协议的创造者让它必须要在主体内容之前发送到浏览器。如果在这之前你已经用php输出一些东西了,那么当然会引起冲突了。

Continue reading

ubuntu无法sudo

就在上篇文章中,我尝试的时候改了我用户组,结果除了一大堆问题,问题之一就是无法sudo了。

于是我就到了recovery mode下面,想把我的用户组加到admin和root中,结果提示失败。它提示我Cannot lock ‘/etc/passwd’。有点崩溃。

再一次于是我google了一下,就google出了解决方法,如下:

Check that you are root

whoami

Check that the root partition is mounted read-write

cat /proc/mounts

If you see that your partition is mounted as ro (read-only), try remounting it as rw

mount -o remount,rw /

然后就OK了,哈哈。不过不知道为什么默认的recorvery mode没有把根目录挂在为rw模式,难道是为了安全?

linux文件属性的个人约定

完美的感觉又来了,下午叨叨了一会在linux下开发web程序文件的属性问题。

环境是ubuntu+apache(默认apache是以www-data这个用户来运行的),我的用户名是hass。默认的文件夹属性是775,文件是644。文件所属为hass:hass,。web程序在安装的时候如果需要写权限,那么我就将文件所属改为www-data:hass。然后apache自己产生的文件的文件所属明显就是www-data:www-data。

讲一下好处,文件所属为hass:hass的文件都是需要人来编辑的程序,文件所属的www-data:hass为需要写权限的,文件所属为www-data:www-data的则为apache生成的,不需要我们来干预的。

后:刚到新公司,很新奇。

所谓的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