现在从香港带奶粉一个人最多6罐

今天是国庆第一天,拜托姐去香港再给儿子带点奶粉回来,因为之前听到很多关于从香港只能带2罐奶粉回来的传说,心里有点忐忑。刚出门遇到隔壁的邻居也说只能带两罐,心里更加嘀咕还要不要去香港。因为那么远去带两罐奶粉回来实在是不值得。晚上姐终于回来,包里有六罐奶粉,稍感安慰,以后和老婆一块儿去香港也可以带个12罐,总算可以基本解决儿子喝奶的大事~。

惠氏的奶粉已经换了新包装,买的二期奶粉价格也比我上次买便宜了。另外黄道益活络油居然断货了,儿子爱吃的手指饼也没买到,难道现在真的多了很多人去香港买也?昨听广播还听见有人从香港带了两台iPad,过海关被查,多的一台补交了一千元。这是什么样的世道啊,难道就没有一个让人放心购物,不用心惊肉跳的购物天堂?现在赚点小便宜还真不容易,在国内物价不比美国低,可是平均工资只有美国的七八分之一;想去购物天堂香港赚点实惠和放心,也竟变得如此艰难。


JSON.parse是多余的

前段时间有同事问是不是浏览器自带Json解析器的问题,没太留意,今天发现确实有这个情况。先是调用JSON.parse的时候提示JSON.parse错误,在追查错误缘由的时候发现ajax返回的msg是个object,我直接用python dump json格式:

print ‘Content-type: text/x-jsonnn’
print json.dumps([{‘title’: arr[‘title’]}])
然后用Javascript可以直接引用:
$ajax(
success: function(msg){
if(msg[0].title) alert(msg[0].title);
}
)
试了FF,IE8,Chrome均没有问题,觉得不是浏览器自带Json解析器的问题,而是Jquery自动解析了json数据。留下存档,以备考究。

另外,Appengine本地调试支持import json, 但是deploy后,会出现ImportError: No module named json错误,
所以还是用from django.utils import simplejson。如果dumps数据中包含unicode字符,记得指定ensure_ascii = False,否则会是乱码。

享受Google AppEngine做Python开发

接触Google AppEngine已经有一年多时间了,主要学的是Python,回望这一年多的学习,感觉获益良多。特别是对Google Datastore平台的了解,让我第一次这么深入的了解数据的存储和运作,虽然PHP里也常接触Mysql,PHP我也做了7-8年,但是可以说我对Mysql的数据存储细节还是很懵懂的。AppEngine让我真正地从数据结构的架构开始做开发,以整个系统的效率和稳定为目的,这样的开发体验真的很过瘾~另外一个主要原因是Google AppEngine基于云计算平台,给我提供了一个免费、高速、稳定而省心的虚拟主机空间,让我可以专注于应用的开发。另外加上Python强大的类库,多语言、跨平台的多方面应用能力,只要是程序,我感兴趣就可以去做,不论是Web应用还是系统软件,如果你还在犹豫是否需要学习Python,那就先从Google AppEngine开始吧。

Oauth authorize失效的问题

前段时间测试Oauth链接Twitter没什么问题,昨天发现链接失效了,根据这里的解释

Scripting the login process or impersonating users is strictly forbidden.
貌似是Twitter禁止脚本通过Oauth自动登录,仔细看看Twitter OAuth class,发现是post的时候Twitter返回的格式发生了变化,Twitter OAuth默认采用json格式,所以json_decode返回就变成了空,造成授权无法继续。修改返回HTML后,程序正常。

Django模板有特色的几个地方

过去写过简单的模板引擎,以追求模板语法的简洁化为目标。主要分为三大部分:简单变量、条件判断和数组循环。条件判断和数组循环还各自支持嵌套语法。最近了解Django的模板引擎比较多,觉得这么几个地方很喜欢和值得思考:

  • 模板的继承
    帮助减少模板的重复内容,将模板对象化,程序化。只需要extends列出集成的模板,根据不同情况替换block的内容即可。而我以前的办法是嵌套的include其他模板。
  • 模板变量的过滤、排序功能
    模板语法支持字符串处理、列表排序,减轻了程序的负担,增加了模板的灵活性。
  • 通过load在模板里面引用外部程序内容,而以前主要是通过公共变量来处理。
    可以减少无用的公共变量定义,如果有需要直接在模板里引用。

整理一下在家赚钱的项目

见于我是做网站出身,兼顾设计和程序,现在程序做的多一些。面对即将到来的在家SOHO生活,寻思着我可以做些什么来赚钱养家糊口。根据我现在掌握的技能,包括基本的网站架构和设计、HTML和CSS知识,编写PHP、Python、Rails、Ajax、AS3、Perl代码的能力,以及Linux、Windows服务器环境的配置和搜索引擎优化的能力。近期我能上手的,在家赚钱的主要几种出路包括:

  • 做网站做流量,通过网站嵌入广告或者联盟推荐来赚钱
  • 开发网站程序、内容管理系统、网站工具来卖
  • 提供网站建设和设计服务
  • 提供SEO咨询和SEO优化服务
  • 找兼职partime来做
    长远来看,互联网富媒体、多终端的时代已经到来,动态化、立体化的交互需求很大,我还可以这样赚钱:

  • 开发Flash应用,Flash在网站上的成功应用已经有很多年,不过还有很多潜力可以挖

  • 开发苹果在iPhone,iPad,iPod Touch上面的应用程序,拿到App Store卖
  • 开发基于HTML5的Javascript游戏,主要应用Cavans和WebGL技术
  • 开发浏览器插件,如最流行的FireFox和Google Chrome插件
  • 利用网站公共API开发第三方的应用,例如Twitter、Facebook的API应用
  • 为流行网站程序制作插件和模板,如Wordpress和Discuz
    由此可见,在家赚钱的大道宽阔,机会很多,只要认准目标,持之以恒,排除万难,我相信在家赚钱、在家数钱的美梦并不遥远~

Windows7无线网络提示有限的访问权限的问题

今天笔记本的无线网络连接突然出现“有限的访问权限”的提示,接着ADSL无法成功拨号,很是郁闷。系统诊断的原因是:无线适配器和访问点有问题。回想不曾有做过神马硬件和软件的改动,怎么会毫无道理的无法连接。记得几个月前做过MAC地址的过滤,会不会是那里有问题,于是登录到无线路由管理界面,查看MAC地址过滤,发现多了两个MAC地址,删除后无线连接恢复正常。Faith,难道是有高人在使用家里的无线网络?蛋定,蛋定,再观察。

从link farmer到blog farmer


最近通过对搜索第一页排名网站的分析,发现通过发垃圾外链做排名的情况越来越烈,从垃圾评论留言到臭名昭著隐藏链接、黑链,再到自动生成的垃圾博客做外链,难道SEO只剩下垃圾外链?对于一百万搜索结果的关键字,任何网站只要做到2-3万个垃圾外链排到第一页甚至前三位不是难事。不得不说SEO已死,SEO的精髓已经被人遗弃。SEO已经和SPAM划等号,做SEO的就是发垃圾链接的。要想SEO效果好,就要和垃圾链接示友好。难怪做SEO的会越来越掉价,苦笑。

Bash快速备份网站程序

有个网站用的是国外的服务器,上面很多图片和页面,通过Cpanel下载网站备份超过一个G,下载下来要大半天,很没有效率。考虑到图片和程序的分离备份。用Bash写个脚本是最简单的。主要目的是打包过滤只想下载备份的文件。

脚本参考如下:
find ./public_html/ -type f ! -name ‘.jpg’ ! -name ‘.png’ ! -name ‘.gif’ ! -name ‘.cache’ > list.txt
tar -czvf backup-20100907.tar.gz –files-from list.txt

这样取出图片部分,备份文件才20多M,这才是效率~

我喜欢的HTML5标签

学习了一遍HTML5的新标签,感觉比HTML标签更加细化,也许是为了方便对网页内容的分析和利用。很像是XML和HTML的混合产物。最感兴趣的还是下面的标签。

表单标签:keygen
加密: <keygen name=”security” />
提交表单后生成一个公匙和一个密匙,公匙提交给服务器,浏览器保存密匙,用于生成加密的B/S安全认证,类似于PGP。

表单属性:pattern
邮政编码: <input type=”text” name=”post_code” pattern=”[0-9]{6}” title=”六位邮编号码” />
利用规则表达式限制表单输入内容,不用Javascript

事件属性:onerror, onresize, onstorage, onundo, onunload
表单事件:oncontextmenu右键菜单触发事件
鼠标事件:ondrag, ondrop, onmousewheel, onscroll

HTML5淘汰的常用标签包括:Applet, Center, Font, Frame, Framset, Noframes, Strike, U
淘汰的事件:onreset

从香港带奶粉现在只能带两罐?

时间过得很快,儿子的奶粉还有5罐,按照现在的喝奶量(120-180)估计不到一个月奶粉就可以吃完。和老婆商量在去香港买奶粉的事情,谁知老婆从深圳的朋友那里得知现在从香港带奶粉回来最多只能带两罐,引起很多人的不满。犹豫着这还要不要去香港买?她在淘宝看了一些香港的奶粉代购,一罐奶粉多收八块人名币,寄到广州需要32元的快递费,如果我再买16罐,那就要多给160块人民币。听起来比自己去香港划算,但是还是对代购奶粉的真假表示怀疑,哪怕商家有提供们购买奶粉的发票。嘟啷着也许现在去香港买奶粉的风声太紧(最近能看到很多人搜索香港买奶粉的信息找到我的博客),过些时候时候也许会宽松一些,我可是亲耳记得海关人员说的是最多可以带六罐奶粉的,两罐也太……

又看了一下我之前从香港买的惠氏奶粉。觉得可以当作辨认真假奶粉的,主要是写着美国惠氏药厂(香港)有限公司原装进口,产地是爱尔兰。

Wyeth Nutritionals Ireland
Askeaton, Co. Limerick, Ireland
Made in Ireland
查询电话:2599 8870
www.wyethbb.com.hk
AF 11651-1 0008-7177-03
最主要还是罐底的产品编号、生产日期和有效期。

这年头买个奶粉都这样,信任危机到了何等的程度,唉……

我看百度搜索开放平台

最近百度推出的搜索开放平台成为大家热议的话题,我也来废话几句。根据我对开放平台的观察和了解,最直观的感觉,例如天气的搜索,这个意念早在Google中就可以看到。这是Google推崇的给用户提供的富媒体搜索体验的应用。至于百度的解释“开放平台是基于框计算先进技术和服务理念,而提供的开放数据分享暨对接平台。通过该平台,广大站长和开发者可以提交结构化的数据或资源,并在搜索结果中直接展现。”,感觉不到任何新意。

且不说谁盗用了谁的创意,既然Google来不了中国,让国内搜索大哥百度来做这块蛋糕也未尝不可(这也可算做GFW的一大好处)。不过前思后想,这个平台确实有很多让人产生疑问的地方。

  1. 没看到基于框计算先进技术,到底什么是框计算?
    百度开放平台实际上只是一个提交权威数据资源,并由百度根据用户搜索返回相关性最高的资源的一个机制。从技术上将提交数据资源和审核的过程不需要什么技术含量,而搜索结果中直接展现的技术,百度本来就有。那我就纳闷了,框计算究竟在哪里?先进在哪里?实在是抽象不出框计算的概念。
  2. 如何保证平台的开放性?
    开放平台承诺是对任何人开放和免费,但实际上对提交的数据资源来说,并非是人人开放的。因为百度选择的是它认为的权威数据资源,不是每个网站都有权威的数据资源。表面上确实是可以给用户提供最优的搜索内容。但仔细一想,事情没那么简单。同样是《快乐大本营》高清视屏,奇艺-百度旗下视频网站才是最可靠?
  3. “确定性”数据审查的复杂程度,如何体现先进技术和服务理念?
    百度说明平台会根据提交的资源“在覆盖面、时效性、准确性、完整性、原创性、权威性、稳定性以及页面组织等方面进行综合考虑,选择其中最优质、最能满足用户需求的资源推送上线。其他资源将会收录进入平台优质资源储备库。资源质量相当的情况下,根据先到先得原则收录。”,这一长串描述和定义让我想到了很多官腔。虽然话是这么说,可是没有一个相应的标准和具体实施细则,如何让这一审查过程更加有效率和方便?
    所以结论是:什么是最精准的、最恰当的、最优的搜索结果,目前来看还是百度说了算。期间难免平衡各方利益,大家各自体谅。

另外从搜索的角度看,百度似乎过于侵犯了用户的搜索自由,干预自由的搜索环境。简单的对天气结果的快速返回确实给大家很多便利,但是一旦这种便利扩展到用户的实际利益,有多少用户愿意让百度来包办?百度真是很有勇气。这里有个度的问题。从我个人的角度,我是很讨厌这种包办式的服务,因为我有自己的判断能力。

我更喜欢的搜索体验倾向于返回从语义上的最好结果,然后让用户去选择最好。网站的好坏,让用户可以给网站发表评论就好。百度这种越俎代庖的”创意”,让我越来越觉得,它和某种权威很像,什么都要在它的控制之下。控制住了,干什么都可以。

Javascript开发需要namespace和错误调试

做Javascript开发我想最头痛的就是这两方面了:变量的冲突和错误的调试问题。
为了避免在不同js脚本中的变量相互冲突,我们需要用到namespace。下面是一简单的例子:

var ZED = new function() {
//私有内部变量和函数,无法调用
var privateFunction = function() {
alert(‘privateFunction’);
};
//公有内部变量和函数,可以调用
this.publicFunction = function() {
alert(‘publicFunction’);
};
};
变量不冲突了,还要确保错误信息的正常反馈,有利于程序的调试,这样才能让Javascript开发做到游刃有余。
常用的错误调试有两种:window.onerror和try{}catch(e){}模块
下面是简单的例子:
onerror的好处在于容易找到错误的地方,但是不兼容主流的浏览器,除了IE和FireFox
var arrErrors = new Array();
window.onerror = function (strErr, strURL, strLineNumber){
var strMess = “URL: “ + strURL +
“nline number: “ + strLineNumber +
“nError Message: “ + strErr;
arrErrors.push(strMess);
alert(arrErrors.join(“n__nn”));
return true;
}
try.catch的好处在于兼容主流的浏览器,但是错误的信息不足,造成调试困难
try{
with(ZED){
privateFunction();
}
}catch(e){
alert(“Name: “ + e.name + “nDesc: “ + e.description + “nMsg: “ + e.msg);
}
参考调式工具: Javascript Stacktrace
var lastError;
try {
ZED.privateFunction();
} catch(e) {
lastError = e;
}
alert(printStackTrace().join(‘nn’));

三十岁后的职业规划

还有一个月,我将改变我的工作方式,试着在家SOHO,对于人生相对平稳的我,对于三十多岁的我,这次可以说是最大的一次对职业规划的转变。放弃打工,用心去做自己真正喜欢并且愿意做的事情,这是很让人激动的,同时也希望它能帮我养活自己和家人。那么为什么我会选择现在才转变?

  • 感觉自己的打工生涯已经到了尽头
    现在在公司有一种高不成低不就的感觉,说是管理层也算不上,更觉得自己像个技术杂活工。和公司的发展方向已经有些分歧,换到别的公司也不会有什么太大分别,自己有一些想法,很想去实施,但是对于我这样的三十岁以上的已婚人士来说,从精神到体力上已经无法利用业余时间去完成。与其在公司继续耗费生命,不如豁出去一跳,打造自己全新的人生。
  • 三十岁后打工的困惑
    看着公司新来的都是87,86年的同事,自己也不得不开始服老。技术上没有太大优势,自己也没有太大把握可以进入管理层。那我还能干什么,干多久?和新同事一起日复一日还是换家公司寻找机会?其实都没有明显的改变。看看自己周围的老同学,有了对比才感觉有差距。三十岁以后要么自己是技术牛人,要么升入管理殿堂,如果还是这样不能独当一面,又如何能养活自己和家人,支撑一个家庭?
  • 自己性格和外界的客观原因
    自己的性格算是内向的,在人际复杂的公司肯定是吃亏的。自己曾经乐观的以为可以在公司一直前进下去,有所作为。但是毕竟自己不是老板,有些分歧是无法避免的,要走出这个困境,也只有重新挑战自己。
  • 我能做的决定我的转变
    从毕业一直到现在,感觉很多东西都是水到渠成,不是什么时候你该干什么,而是什么时候你有能力可以干什么。没有这个能力就不要揽这个瓷器活儿。直到三十多岁的今天,我才感觉到自己可以有基础去做些事情了。
  • 心态的成熟
    回想过去十几年,有多少时间是在玩乐中度过,有多少时间是自己真正的在进步。可以说早几年,我是万万想不到我会有今天的想法。面对金钱至上的社会,浮躁冲动的想法也有过不少,但是今天我觉得的我淡定了,从容了。我对自己下的决心很肯定。过去的路已经无法继续前行,唯有重新打造属于自己的自由人生路,感觉这样的人生才是属于自己的,家人的。
    于是我决定了,下定决心,等着这一天的到来。

删除Mysql单个表中重复的项

Mysql技巧:删除单个表中重复的项
第一步:查寻重复的项及数量

SELECT email,
COUNT(email) AS Num
FROM zhaiduo_table
GROUP BY email
HAVING ( COUNT(email) > 1 )
第二步:根据项目email和数量Num,一个个的删除
DELETE FROM zhaiduo_table WHERE email=’zhaiduo@mail.com’ LIMIT Num-1;

小网站如何做好站内搜索程序

好的站内搜索对增加网站的用户体验是很有帮助的。但是如何做到简单、高效却也并不是太容易。特别是小网站,完全没有必要去搞什么分词搜索技术。个人觉得考虑到以下几点,就可以很好的满足用户的搜索体验,也能给用户提供匹配度较高的搜索结果。

  • 搜索字段的权重
    数据库里不同字段给予不同的权重,如标题的权重大于内容描述。
  • 关键词匹配相关度积分
    这里有个Mysql的搜索技巧

    SELECT title LIKE ‘%php%’ FROM zhaiduo_blog;会返回两种结果1或0,
    那么既然搜索字段有不同权重,我们可以这样得到不同的相关度:
    标题:SELECT (title LIKE ‘%php%’)10 FROM zhaiduo_blog;会返回两种结果10或0
    内容描述: SELECT (description LIKE ‘%php%’)
    5 FROM zhaiduo_blog;会返回两种结果5或0
    这样我们就可以得到不同字段的相关度得分,从而最终得到总的相关度积分。这也是我们排序的主要依据。

  • 关键字密度
    相关度积分还应该考虑到关键字的密度因素,给予不同积分
  • 搜索结果的展示
    把最匹配的结果展示给用户即可,如果搜索结果太多,可以链接到search more的页面。
  • 错别字纠正提示、拼写检查
    对于常见的关键字错误给予足够的提示是很好的用户体验
  • 搜索关键字的防攻击过滤
    注意关键字的过滤检查,防止sql注入攻击
  • 搜索排序的时效性
    相关性有了,也不要忘记时间的因素,应该避免搜索结果09年排在10年之前
  • 相关匹配内容的展示
    就像Google搜索结果会截取一段相关内容展示出来,可以把搜索的关键字做的更加显眼

为什么会被公司炒鱿鱼?

今天刚来公司一个多月的新同事被公司炒掉,有些可惜,他有一年多的工作经验,从工作能力来看,是完全胜任的。但是又是什么原因让他遭到如此境遇?且不谈公司管理层有什么问题,我想他主要的问题还是来自其自身。

  • 发现来公司后的期望和自己的期望有差距,表现变得有些消极
    消极的工作态度无疑于自掘坟墓,如果客观比较后,现在的工作确实不满意,应该主动提出辞职。被公司炒鱿鱼是万万不应该的和十分掉价的。
  • 心气高,心态很浮躁
    工作才一年多,受的金钱刺激太多,太过急功近利。在上一家公司亲眼目睹年轻老板只用一年时间爆富,买车买房;自己的同学进入通过关系手段进入中国银行工作,现在月收入1万五,年存款有十几万。感觉自己要是没有体面的收入就很落伍,很落寞。
  • 缺少职场经验,太冲动
    稍微有点职场经验的人都会明白没有十全十美的工作,要学会委曲求全。对于自己没有激情的工作,在没有很好的退路之前,还是要尽力保住这个饭碗的。这不仅仅是个职业道德和敬业的问题。出来自力更生不容易,对待工作的去留更应该谨慎。
    下班和他谈了一会儿,他也对自己的问题进行的反省,觉得他还是蛮有前途的有理想的青年。未来的路还很长,不论他是创业还是继续求职,我会祝他一路好运!

Windows7无法连接无线路由的问题

晚上老婆笔记本的无线网络连接消失不见了,系统是Windows7,笔记本是联想的SL400,打开网络和共享中心里面的管理无线网络,无线配置文件又是正常,经过系统诊断表明是无线功能被关闭。
解决办法是:联想笔记本正面的电源指示灯的左边下面一点,可以把本子抬起来看,找到无线开关,向右滑动无线功能就打开了。
原来儿子下午玩弄过本本,无意间关闭了无线开关,真是不经意的巧合啊~

是什么一直让我坚持看火影忍者

今天终于有空继续我的Naruto火影之旅,看到鸣人和长门之间互相理解的一幕。我想我开始有些明白为什么这么几年来我还一直坚持着看火影忍者,因为火影里面的每一次对我内心的触动,都是对人生意义的探寻。火影忍者所探讨的话题也是我很想知道的话题,是我觉得可以用一辈子去思索的话题。我想这也是一个好的故事能带给我的最大价值,在我眼里,只要是能够帮助我理解人活着的意义、生存的意义的故事就是一个好故事。

这样的故事还有很多,就像Lost迷失,我想我会继续坚持、继续挖掘,不断去体会人生、思考人生、享受人生。

中文Google Adsense开始支持类别过滤

今天留意到Adsense Blog宣布开始支持中文Adsense的类别过滤功能,用户可以直接选择和网站相关的中文类别,来屏蔽所有和类别相关的Adsense广告。类别过滤最多只支持11个类别。

过去对Adsense功能很少关注,以为只有针对网站的广告过滤。现在不仅可以批量过滤广告,还可以通过对广告过滤的调整,不断优化网页展示的广告类型,以达到提高Adsense收入的目的。

最有意思的是不同广告类别获得的收入情况,看了看我的类别,最近的排名前三的类别居然是:
Cosmetic Procedures & Body Modification
Drugs & Supplements
Get Rich Quick

什么样的公司留不住人才?

公司经过千辛万苦好不容易面试找到合适的人选,可是为什么又待不久?一个公司要留住人才难道就那么难?一个留不住人才的公司能有什么发展前途?
究其原因,觉得公司要想留住人才,必须做到以下几点:

  • 公司要有激情
    来公司打工是为了满足自己在物质和精神上的需求。有本事、素质高的人才往往在这方面的需求更高。一个公司的精神面貌如果不够激情,就会让人萎靡不振,做事情不够亢奋,拖拖拉拉,也会让人觉得是虚度光阴。工作是要有激情的,整个公司同样不可或缺。如果每天员工来公司都有努力工作的冲动,知道自己为什么而努力,那公司才算是有激情,才能吸引人才。
  • 要让员工自己觉得有激情,知道他们在干什么,能够获得什么样的利益,让他们看得见利益
    只有员工知道他们干的事情可以获得真实有效的回报,并且知道干得越多就获得的越多的时候,他们才会真真正正地为自己,为团队,为公司而努力。
  • 要用人不疑
    既然被公司接受,就要给予充分的信任,足够的自由,让员工去充分发挥。而不是扭扭捏捏,犹豫不决,管束太多。
  • 要用沟通来协调不同意见
    有问题和分歧了,要进行足够的沟通,确保问题解决。而不是各持己见,勾心斗角,拒绝沟通。否则路只会越走越窄,留不住人。公司应该多倾听员工的心声,重视并给予合理的回复和解决,忽视不理只会让问题出现。
  • 要有懂行的管理
    做管理的一定要熟悉业务流程,培养一定的专业质素,如果自己的决断不够专业,不够准确,只会做无用功,让员工不服,也会渐渐失去团队的凝聚力。
  • 要有融洽的工作环境
    公司环境舒适,男女搭配有利于员工的工作情绪,提高工作效率和员工的归属感。同事之间的融洽关系也很重要,公司需要的喜欢的人才不只是公司需要和喜欢,也要考虑其他人的意见。
  • 要有合理的福利待遇
    稳定的福利保障可以解决员工的后顾之忧,这方面要多从员工角度考虑,很多东西不是给钱就可以解决,如果还是从公司自己的角度考虑,早晚留不住人。
    总的来说,员工和公司之间的信任关系特别重要,要想留住人才,就要给出足够的诚意、足够的信心和足够的Money。

escape、encodeURI、encodeURIComponent的区别

escape、encodeURI、encodeURIComponent的区别主要在于编码的字符不同:

原始字符串:09az~!@#$%^&()_+}{“:|<>?`-=[];’,./ 好的
escape字符串:09az%7E%21@%23%24%25%5E%26
%28%29+%7D%7B%22%3A%7C%3C%3E%3F%60-%3D%5B%5D%3B%27%2C./%20%u597D%u7684
encodeURI字符串:09az~!@#$%25%5E&*()
+%7D%7B%22:%7C%3C%3E?%60-=%5B%5D;’,./%20%E5%A5%BD%E7%9A%84
encodeURIComponent字符串:09az~!%40%23%24%25%5E%26()_%2B%7D%7B%22%3A%7C%3C%3E%3F%60-%3D%5B%5D%3B’%2C.%2F%20%E5%A5%BD%E7%9A%84
escape() 不会转码 **0到9a到z@
/_+.-** 其他会被转码成%20的形式,中文则是%u597D的形式,属于ISO Latin字符集编码。

escape() 更加适合于QueryString中等号后面的英文数据的转码,例如:action=eacape(‘wo&ta’)&list=1;

encodeURI() 不会转码 ~!@#$&*()_+:?-=;’,./ 其他会被转码成%20的形式,属于UTF-8编码。

escape() 更加适合于GBK到UTF8页面的转码,同样页面编码的用escape就可以

encodeURIComponent() 不会转码 ~!*()_-‘. 把采用UTF-8编码格式的字符串用escape的Latin字符编码。

encodeURIComponent()适合于URL不会被#字符截断,URL被当作URI字段的编码,因为/可以被转码。

URL里常用的字符:?=&# 所以encodeURI适合保持URL合法性,但是要转码URL的情况。空白在escape()被转成+,其它都是%20。

分享 - 20100814

网页技术的真正革命是Javascript,希望则是HTML5和WebGL。
bullet.js - Javascript Ragdoll Physics 基于Bullet的游戏Javascript物理引擎实例 - 布娃娃 by pl4n3
Jquery新的手机框架- 支持系统包括iOS, Android, Blackberry, Samsung Bada, Windows Phone 7, Palm WebOS, Symbian, MeeGo
WebGL的隧道效果 - Blender to Actionscript的小工具就是他开发的。
JS1K competition Javascript一千个字节竞赛:挑战Javascript的极限

Paypal里面的零钱如何处理?

前两天收到来自paypal的通知,告诉我将停止我的paypal帐号,因为有三年多没用。

your PayPal account will be closed on 29/08/2010
We noticed you haven’t used your PayPal account in over 3 years. Inactive accounts like yours are often targeted by fraudsters, so for your protection, we’ll close your account on 29/08/2010 unless you decide to start using it again within 30 days.

If you have questions about our account closure policy, you can check out the User Agreement or email us at support@paypal.com

Thanks,
PayPal
我这才登录Paypal发现里面还留着以前注册时存的1.95美元,说真的,到现在我都没有找到用paypal的理由,反而已经习惯了用国际信用卡来支付,用支票来签收。不解的是既然我三年没有用paypal,删我帐号我同意,但是它也没忘记不断发送广告邮件。那我是不是要找他们要骚扰费?

回到正题,我不想浪费这1.95美元,一时又不知道该如何处理,于是上网Google调查了一下,发现有这么些个出路可以解除我的烦忧:

  • 把钱捐给慈善机构
    红十字会、医疗研究机构、贫困互助机构等,不过,俺倒是担心钱太少,拿不出手
  • 捐钱换取外链
    有些博客愿意接受随意的捐助,并会在捐助的页面下显示捐助人的网站
  • 捐钱给需要帮助的个人
    这些人很直接的说明自己就是需要钱,而不是捐助,钱多钱少都不嫌,也就是网络乞丐,我们可以通过他们的个人网站或者是社区帐号(如twitter)进行捐款
  • 一元店网站
    通过在网站购买一美元的商品帮助那些下岗失业的人们,商品还是free shipping的。其实Amazon里面也有很多很便宜的东西,0.1美元就可以买东西,只不过不包括运费罢了,而且多半都是不能shipping到中国的。
  • 购买超级便宜的域名,那就是 .info的域名,一年才0.98美元;)。

最严格的外链验证机制

高质量的Back Links对网站的搜索排名的好处是不言而喻的,获得高质量外链也是很难的,对于如何验证一个外链的质量好坏,我觉得应该考虑以下几点:

  • 网站主页是否可以正常打开,HTTP头返回200
  • 主页到链接页面不要超过三次点击
  • 链接页面要有被缓存记录,同样可以正常打开,HTTP头返回200
  • 链接要直链,动态调用和No Fllow都不可取
  • 验检查链回来的路径是否可以正常打开,HTTP头返回200
  • 链接的相关性、稳定性
  • 同一个页面外链数量最好不要超过20
    但是制定好back link机制后,我们会发现这样找链的成功率是非常低的,规则太过严格,也增加了外链人员的工作负担。这种质量的高低与执行程度的难易往往让我们难以取舍,也成为了规则制定与执行人员之间常常争论的焦点。解决这个问题的办法我可以想到有两个,一个就是自己做站群,没很好的外链,只能自己培养。另外一个只有适当降低检查外链的标准,例如放弃对No Follow链接的过滤,为什么可以忽略呢?通过近期对Google排名的观察(三月份至今),搜索结果在一百万到两百万的关键字,如果维持十万的外链,网站是稳定排第一的。通过对它们外链的分析,No Follow链接占到90%,而且相关性都不强,并且同一个页面外链数量一般都超过二十。不知道是Google咖啡因更新后的缓存期还是Google真的对back link降低标准。既然有实例为证,降低查链标准也是顺其自然。实时关注Google动向,不断调整check link的标准才是我们检查外链的行动准则。

pubsubhubbub发布没有链接的问题

pubsubhubbub是一个开源免费的服务器端Atom和RSS订阅系统。我们一般理解的RSS是读者去主动订阅博客的RSS内容,而pubsubhubbub却是让服务器成为读者去订阅RSS内容。只要注册了一个运行的pubsubhubbub服务,当博客更新的时候,博客就会发个消息给pubsubhubbub服务器(publish),然后pubsubhubbub服务器便会主动的来抓取博客的更新内容(subscribe)。Atom和RSS里面的一个主题被称称作Hub,所以pubsubhubbub=publish+subscribe+hub。

通过pubsubhubbub协议,我可以让自己的博客内容发布到新浪微博上。只要发布(publish)窄多博客的Atom内容到月光博客BuzzSync(比较懒,直接用别人写好的程序),每当我有新的博客发布的时候,BuzzSync会自动转发我的博客内容到新浪微博。

可是有个问题,就是发布到微博的内容只要标题,没有链接,我试着改了改Wordpress的WP-include/feed-atom.php,看看现在问题是否解决。

在title里面修改如下内容:

<title type=”<?php html_type_rss(); ?>”><![CDATA[<?php the_title_rss() ?> <?php the_permalink_rss() ?> ]]></title>

更新:测试失败,继续测试…

为什么黑链、黄金链不值得做?

以下SEO内容纯属个人理解,谨防误导,自担风险。
前一段时间,从同事那里看到一个黑链、黄金链的报价列表,央视黄金链排在第一位,一个月八千。不免叹息做链接已经做到了这种地步。SEO的真正意思已经被扭曲,剩下的只是利欲熏心。试想如果没有PageRank,黑链、黄金链最多只算是很不起眼的友情链接。就算加上高PR的链接,网站排名就会立刻升高见效?我看未必,做链接对网站排名的影响何止PageRank。一味地沉迷于黑链、黄金链,只是相当于把钱倒入大海。只图自己心里安慰而已。我们冷静下来,看看为什么黑链、黄金链不值得做?

  • 黑链、黄金链始终是黑帽子SEO的手段,是Google一贯打击的对象。
    SEO就是网站和搜索引擎的博弈,道高一尺,魔高一丈。黑链的问题Google早晚会解决。为了避免被Google判死刑,获得高的PR和长期稳定的排名,这点肯定不值得取。
  • SEO做链是个持久的活儿,我们要不断保持它的权重,还要保持它的新鲜度和相关度
    黑链、黄金链可能可能Pagerank很高,但是也只代表权重。随着时间的推移,我们还需要不断增加新鲜的链接,来维持链接的新鲜度和相关度。所以今天买了链接,以后还的不断的买,最终只是个不断掏钱的无底洞。
  • PageRank的高低只是说明搜索引擎蜘蛛爬行网站和收录网站的指标灯,它只是决定了蜘蛛的爬行速度、频率和次数。如果本身自己网站没什么内容,蜘蛛也不会呆多久。而且真正的PR是有小数值的,不要以为PR为整数零的链接的真实PR就是零。所以低PR的链接未必比黑链差。
  • PR高未必排名就高,这点很容易看到
  • 教育网站、政府网站的链接给的权重高,是因为Google看重这种类型的网站链接相关度很高。试想你在政府网站上买了一个游戏私服的黑链,这种相关性,会有什么权重的传递?
  • 对于隐藏链接和小到看不见的字体、同样背景色的链接,我们可以从搜索引擎的角度看,搜索引擎的终极目的是要模拟人的习惯,既然人都看见的链接,它会觉得有用么?况且判断一个链接是否能被人看得见的技术,并不是很高级,我都可以做。
  • 最后,与其花钱投机取巧,不如把钱投入到网站内部自身建设和更新,或者是培训自己的网站编辑,写出更好内容的文章。Come on~八千块钱啊,省省吧,醒醒吧!

为什么公司会招聘不到合适的人?

今天人事主管向我抱怨公司招聘不到合适的人,虽然已经尝试过去两家比较大型的招聘网站发布招聘信息,也去其他同城信息和专业论坛发布过招聘启事,可是最终来公司的人不多,而且质量也不高。他自己也尝试去主动搜索想要的人的资料,可是效果一直不理想。一问才知道他在招聘网站搜索PHP这个关键字来寻找对象,我看了看他选的几个简历,发现基本和我们要招聘的PHP职位牛马不相干,大部分情况只是在简历里面出现PHP这三个字母而已。

看到这里我也大概明白问题所在,一个是搜索的关键字不太靠谱,而是招聘网站的搜索功能太过简单,没有那么智能化。那么,当我们通过招聘网站的搜索功能搜索应聘信息的时候,除了关键字的选择很重要外,还需要注意一些什么问题呢?我想主要还有下面因素:

  • 选择正确的专业类别
  • 留意应聘者的留意职位意向是否与我们的需求匹配
  • 留意简历中过去的工作经历是否与我们的需求匹配
    另外要面试到合适的人选,我想还应该注意一下几个方面:

  • 清楚了要所招聘职位的定义,明白这个职位具体的工作内容,最低的学历要求如何等

  • 做好面试时个人能力测评的准备,对要求的能力进行着重考核
  • 面试时的流程一定要到位,按部就班,面谈、小测验不能轻易忽略
  • 对应聘者能力、心理素质和沟通能力的综合考量
  • 做好公司网站人才招聘的网页优化,充分利用Google、Baidu等搜索引擎的免费资源,树立公司品牌形象

SGML、XML和HTML的关系

我们知道现在整个互联网的基石都是由HTML这种标记化语言来构成的。当我们通过浏览器查看网页源文件的时候,我们通常可以看到类似于这样的代码:

<html>
<head>
<title>Zhaiduo’s Document</title>
</head>
<body>
<p>My Paragraph</p>
</body>
</html>
这是一个最简单的HTML标记语言的例子,但是随着互联网的发展,HTML也在随着时代一起变迁,出现了不同的版本和格式。随着HTML5带领我们跨入新的互联网时代,我们很有必要来了解一下HTML的历史和将来,了解一下由HTML变种出来的XHTML,以及HTML和XML、SGML的关系。

按照时间顺序,我们先来看看什么是SGML?SGML是上世纪八十年代为了方便把书面的媒体文档转化到电子媒体文档而推出的一个标准,这个标准规范了标记语言,可以更加清晰地描述电子文档的内容、结构进行标记。SGML使用文件类型定义DTDs来描述文档的逻辑结构,方便分析文档内部的不同内容。但是由于SGML的标记方法太多太复杂,从而使得富媒体的文档解析器设计起来也很复杂,很难解析的完美。所以,接着随着互联网的快速发展,只是用于方便简单地展示文字和图像的HTML语言应运而生,但是由于HTML的语法太过自由,缺乏标准化和结构化的标记语言导致了HTML文档内容难以被程序解析。由于HTML的这个弱点,XML诞生了,规范化了文档的内容和结构。所以可以说XML是SGML的一个简化版本,一个结合HTML特色方便展示文字内容和图像的HTML版本。而HTML本身的文件类型定义DTD是固定的,如果加上XML的DTD定义和规范,这就成为了我们常说的XHTML(XML+HTML4)。HTML也就可以说是拥有固定DTD的一类 SGML语言。而XML则是SGML的一个子集。

早在1997年,HTML4就作为HTML网页的核心特征,然而它也渐渐无法满足我们日益膨胀的富媒体互联网的对网页是在语法、速度、交互性和扩展性上的需要。2004年,HTML5的起草正式提上日程。

说明:以上文字翻译自以下部分参考网址,纯属个人理解,以防误解。若想了解更多,请访问以下网址。

到底是什么决定了我们的命运?

今晚江苏卫视的非诚勿扰很热闹,其中有几个点让我印象很深刻。
第一点是一位广州的肌肉帅哥,很帅气,很好的男孩,可是还是有女性因为肌肉太发达,觉的害怕没有安全感而灭灯。
第二点一位自信爆棚而且气焰十分嚣张的北京胖哥激起了全场女性的不满而最终被全场判死刑。
第三点是来自香港的内涵型男,条件十分优越的他,喜欢的休闲方式是滑雪、冲浪、卡丁车还有开飞机。另一边马上有女性也表示她有相同爱好。
说这几点我并不是想褒贬谁,而是想试图去思考,这些现象反映了什么问题,它们是如果去决定一个人在当今社会的命运的。

从第一个说起,安全感是核心问题,一个满身肌肉的帅哥一边展示肌肉,一边向人们保证安全的时候。从心理上讲,他自己是缺乏安全感的,而不是号称的给别人安全感。在现在的社会,如果自己都无法有充足的安全感是很难给别人安全感的,这也是决定自己命运的很重要一环。

第二,胖哥解释的初衷是想扭转男性在过去非诚勿扰节目里面的弱势形象而故意这么嚣张的,面对女嘉宾的质问,他也表示接受。可是一回过头来,自己的一言一行又开始变得嚣张跋扈。这是什么问题?与人沟通的问题。如果无法学会与人融洽的沟通,必然招致很多不必要的麻烦。这一点对自己的命运来说也是至关重要的。

最后第三,香港和内地,也可以说国内和国外可以说是两个完全不同的世界,在两个完全不同是世界成长起来的人的价值观,人生观都是很不同的。特别是在非诚勿扰这样的相亲节目,大家没有足够的时间去认识和沟通,鬼才相信双方都能找到合适的意中人。在海外的人可以很容易去美国读书上大学,就业考飞机驾照;在国内有多少人在走高考的独木桥,多少人连摩托车驾照都没有。这说明什么?是我们笨,还是我们穷?都不是!是环境的问题,什么样的环境培养什么样的人,如果你也想学开飞机,趁早还是换个环境比较好。

综上所诉,谢谢非诚勿扰让我认识到,在现今的社会,有哪些因素决定着我们的命运,那就是自我的安全感、沟通能力和环境。