扯淡的互联网从业人员众生相 v1.2

Ray:自称用户体验工程师,但其实是卖卡巴斯基注册号的,报本群的名字Ray会免费送你一个。

王二:杂交生物,制造业、金融业与互联网业的混合体。华师傅资讯的首席运营。

阿隐:原名大萌,沉迷动漫的16岁美少女。你们不可以欺负她哦!

Marvin:原名非鱼,拖家带口的UI设计师。工作地点有大量80后美女,让人好生羡慕!

沙风:爱好摄影的博客写手,RSSA博客群组的CEO。

Ozzy:哇!那小子真帅!

云中守:爱上了米莱(不是王珞丹)的闷骚男,沉迷数码产品,喜欢自拍。

姚东旭:少年有为,前途无量的PHP开发工程师,与多位互联网技术界的重要人物有来往(说出来你不相信,MySQL的创始人和姚东旭是忘年交),即将毕业。咸鱼的校友。

咸鱼:又一个少年有为,前途无量的PHP开发工程师,不过签了一家上海的公司,去干更有前途的单片机开发了。 姚东旭的校友。

阿宝:本群副班长之一,女王型人物,凶悍泼辣。

iZ:伟大的美工、网页设计师。弹吉他,爱猫,宅。本来说好了要去暴雪或者网易,结果跑到了英文赌球网站工作。

Fxin:丝袜美腿控,手机玩家,互联网新人,虚心好学。

Tom:有车有房有公司,可是很不幸他还有一个老婆,所以他的一切都属于她老婆了。

Yuri:神秘人物,据说在中国最暴利的信息产业公司任职,从来只用手机上网。

点点:网页设计师,美女,本群的形象代言人兼大众情人。失业中,到处旅游中。

浪华:互联网愤青,开源拥护者。

老黄:这家伙是中石油的人啊!

Lomos:闷骚型Web开发人员,有点愤的山东斯文男,bupu.net(外界评价:山寨豆瓣)CEO兼CTO兼COO。

且歌:程序员,不太在群里说话,喜欢混豆瓣。

夜X:UI工程师,他失业过,创业过,年纪轻轻就经历丰富。

泡泡牛:横跨出版界与互联网界,长得很粗犷,像搞艺术的。

悠然:以前叫风孱,在家SOHO;现在叫悠然,当上了HR,有资格证的哦!

Benny:业务达人,酒场斗士,极品男人,钻石王老五。某汽车网站的CEO。

天二:这小子放合肥众的鸽子,聚会竟然不去!

chuck:杂家,大锅烩。经常说话,但搞不清他是做什么的。

晶晶:校园传媒,与大学生打成一片。Bus226欢迎合肥高校学子访问。

布拉格:站长,在家SOHO。最近在倒腾网店优惠券

冰客:专业IT评论家柳华芳柳大师是也,他的评论一针见血。

搜索:技术很牛,不过有点失心疯,竟然做了个纯静态的博客。他和群主对着干,估计活不长。最近没消息了,可能真的被干掉了。

vanilla:最近经常说话,但我对他印象不深。

自由自由:站长,讯迪网的CEO,他的网站不支持Firefox,所以才落到现在这个半死不会的状态。

源源:“我今年9岁!”

pacinocfz:阿尔帕西诺的fan,硬是在群名片里加上了偶像的名字。

Kobe:PHP工程师,技术是群里的PHPer中最烂的。有老婆,有房子。

大白:表哥,擅长被包养,麦霸,客服,有识之士。以服务见长,在互联网上闯出了自己的一片天地。

斑斑:从事行业与互联网基本无关。本群幕后黑手,隐形董事长。

Ven:本人,群主,我很低调。

认识XFN链接关系

本文原载于WordPress啦!,想想还是在自己博客上也发一下吧。
——————————————————————

WordPress 2.7 的添加友情链接面板和以往版本不一样,多出了一些XFN相关的选项。那这个XFN是什么呢?

xfn-in-wp

XFN(全称XHTML Friends Network)是一种用现超链接来表现人际关系的方式。近年来,blog和blogroll在互联网上增长迅速。XFN允许互联网内容创造者通过在<a>标签里添加rel属性来表明自己与被链接者的关系。

为什么会有XFN?

越来越多的网民开始进入社交媒体网络,他们以各种形式(博客,微博客,社交个人主页等等)在互联网中创建了大量节点。TechnoratiFeedster 这种统计节点关联的服务也随之兴起,他们发掘出社交网络中节点间的连接,但却无法揭示连接背后的人际关系连接。

而XFN就是描述这个人际关系连接的。xfn-btn

怎样使用XFN?

XFN并不是某种神秘的新技术,它只是对传统技术的新应用。XFN通过<a href>标签中的rel属性来标示链接创造者与被链接者之间的关系。

一个传统的链接代码可能是:

<a href=”https://www.mrven.com”>布鲁文的蓝色奇想</a>

而一个XFN的链接会是:

<a href=”https://www.mrven.com”  rel=”friend met colleague”>布鲁文的蓝色奇想</a>

rel=”friend met colleague” 标示出了连接对象与我的关系是:朋友,见过面,同事。注意,这种关系是单向的,是从“我”到“对方”的,我给对方的XFN并不会影响对方给我的XFN。

XFN中共有6个关系分类,每个分类里又有多个具体的关系。一个连接中可以包含多个分类,但是某些分类下的关系类型只能选择一个(比如“家庭关系”),而一旦选中了“me”,那么就不能再放入任何其他的关系类型。以下是XFN中所有的关系类型:

friendship友情,只能选一个
friend 好朋友(一起混的)
acquaintance 熟人 (见面会打招会)
contact 有联系过 (至少你知道如何联系到Ta)
physical 直接接触
met 在真实世界中遇见过
professional 专业
co-worker 共事(一起合作过)
colleague 同事(与你共处同一专业领域)
geographical 地理关系,只能选一个
co-resident 同一区域(住同一个大院,同一个小区,同一个学校等等)
neighbor 邻居
family 家庭关系,只能选一个
child 孩子
parent 父母
sibling 兄弟姐妹
spouse 配偶
kin 亲属
romantic 恋爱关系
muse 我的女神
crush 我迷恋的
date 约会中
sweetheart 甜心
identity 自我识别
me 表示这个链接指向我的另一个节点(网站、网页等)

最后,你还需要给<head>标签加一个profile属性,好让浏览器或搜索引擎知道你的网页支持XFN:

<head profile=”http://gmpg.org/xfn/11″>

仅仅是添加一些代码?XFN有什么实际意义呢?

这个问题难到我了。搜索引擎“应该”是可以识别它的,但我不确定是否有搜索引擎在用XFN做一些有意义的事情。XFN是一项面向未来的标准,但目前,除了能让你的Blogroll更好玩一些,似乎也并没有太多用处。

CSS2.1支持属性选择器,你可以利用XFN给不同关系的友情链接编写不同的css样式。

XFN官方还提出了“XFN网页爬虫特性”的构想。在这一构想中,超链接背后的人际关系将被发觉,6度理论将得到终极的证明。

WordPress中的XFN

WordPress从2.7版本开始内置了XFN功能,在添加Blogroll链接时可以设置XFN属性。

如果你还在使用较早版本的WordPress,XFN Friendlier插件则可以帮你实现XFN。Auto XFN-ify插件能够自动给日志中出现的Blogroll里的链接添加对应的XFN属性。XFN Icons则允许你给不同的XFN属性设置小图标,并显示在Blogroll中。

ZCE那回事

首先恭喜Zesen Wang同学成为全中国第17个获得ZCE认证的PHP工程师,他在今年四月初通过了考试,证书现在在从美国到中国的途中。

用他的话来说,考试挺简单:PHP基础不错,能看懂题目(英文的)就能过。他复习的是ZCE5教程和我翻译的ZCE4试题讲解,在4道填空题完全乱码没法做的情况下仍然通过了考试。

不过这ZCE在国内还真不怎么吃得开。从人才的角度看,知道的人少、考的人少、通过的更少;从用人单位的角度看,知道的单位少、承认的单位几乎没有。某同学也表示很无奈——获得ZCE认证后工资完全没有涨。

所以,125美刀买个虚荣,您觉得值那就是值。不过话说回来不少认证考试都存在类似的尴尬,比如我上学时考的计算机三级证书,还好只花了70块。

多做点项目吧,经验永远是最宝贵的财富。

买域名,上Godaddy

最近要建站,需要买个域名。被之前月光等人写的揭露国内域名注册商黑幕的文章搞怕了,这次决定去国外买,去全球最大的域名注册商Godaddy买。

Godaddy的购买流程那叫一个复杂,网站不断的向你推荐他们的其他产品:

你这域名选的真好,要不要把.net .org .info都注册掉?给你打六折。
不要
那要不要把相关域名也注册上?
不要
买域名顺便也买个主机吧!
不要
那你注册5年吧,算你便宜点。
钱不够,不要
来个域名验证吧,安全!
那是啥?不要
来个域名隐私保护把,安全!
那是啥?不要
你叫**啊,把**.me和**family.me也注了吧。
没那闲钱没那需求,不要
要不要再看看其他域名?
不要,让我下订单吧

第一次上Godaddy,对它们的业务流程不熟,翻来覆去弄了好几遍总算进入了付款步骤。话说这国外的信用卡体系真不安全,只要知道卡号、持卡人姓名、信用卡过期时间就能网上支付了。也就是说如果你的信用卡被别人看到了,只要他记住了相关信息,就能用你的卡在网上任意消费。这点还是咱国内好,不得不夸夸国内银行,网上消费又是密码又是密码卡又是U盾啥的,倍感安全。

总算成为了Godaddy的会员,拿到了域名,进入了域名控制面板。Godaddy的面板就是漂亮,比国内新网万网之流强不知道多少倍,感觉特商务、特专业、特强大、特安全。

不少朋友都在Godaddy长期买米,那我也决定在这安家了,回头把我其他域名也转移过来。之前域名注册太分散,新网、万网、时代互联……经常就记不住哪个域名是在哪买的了,哪天忘记续费了都不知道。都转到Godaddy,统一管理,方便。不过naks.cn就不转了,cn域名还是国内便宜,Godaddy的cn域名卖20多美刀。

今天还在群里扯了扯域名注册的问题,在这里建议大家不要从代理商手里拿域名。有些代理商没有信用,容易出现域名纠纷。之前就有朋友因为代理商跑掉导致域名作废的情况发生,而且有些代理商会把域名注册人信息填成自己,导致将来域名转出、移让出现不便。我们缺乏识别代理上信用的手段,所以最好还是在一线商家拿域名。不过新网万网之流的域名实在贵,还不如去国外注,省几乎一半的钱。

还有,企业外包建站时一定要自己注册域名。有些(不在少数)建站公司或个人以自己的名字注册企业网站域名,靠域名要挟企业在自己这里续费。

为证明本文不是软文或枪文,文章里不带任何链接。

最后预告一下,本人正在筹建一个立足安徽本地的免费自助式求职招聘网站。这次注册域名就是为了它。网站即将上线,敬请大家关注

pChat——无敌PHP图表库

无图无真相,先上图:

example1

example2

example6

example8

example10

example12

上面这些是什么?这可不是Excel做的图表,更不是Photoshop做的,这全是用pChat做的。

pChat是一个面向对象的PHP类,用于创建图表。它是开源的,免费的。数据可以来自SQL查询、CSV文件或者手工录入。然后指定图表样式,一张漂亮的图表就生成了。pChat需要GD库支持。

这里有更多用pChat做的例子可以看,下载pChat请点这里

推荐一本电子教程和一本电子书

《WordPress主题制作教程》

这份教程是由WordPress啦!的小雯子编写,站长百科的大漠孤狼制作的,我参与了审核校对工作。

本文档是WordPress主题制作的入门指导,详细分析了WordPress主题的每个文件,并对常用的函数使用参数做了详细的介绍。只要您具有基本的html及css知识,通过学习本文档就可以掌握WordPress主题的制作了。

下载地址: http://doc.zzbaike.com/wordpress/book/wordpress-themes.pdf

《Apache2.2中文文档》

这是金步国先生翻译的同名文档的PDF版,方便大家打印和阅读。

在线版文档:http://doc.zzbaike.com/apache/2-2/

PDF电子书: http://doc.zzbaike.com/apache/book/apache2.2.pdf

ip-国家查询之MySQL+PHP版

这个IP-国家查询库使用Webnet77整理的数据,包含了9万多个IP段,在免费数据中是最完整的了(原地址)。我把它转换成了MySQL数据表,同时加入了中文国家名。

使用时,先把SQL文件导入数据库。数据库有点大,完整大小8390KB,压缩后1.19MB,如果你无法一次性导入这么大的数据,可以考虑使用一些导入工具,比如Bigdump

查询时,先用ip2long()函数把xxx.xxx.xxx.xxx形式的IP(标准地址)转换成int数据(IPv4地址),然后执行查询:

$query = “SELECT * FROM iptocountry WHERE lower_bound <= $ip AND upper_bound >= $ip”;

详细代码就不写了,大致就是上面的那个意思。

下载SQL文件

解决Zend_Filter_Input中文乱码问题

Zend_Filter_Input默认会给所有通过的数据添加一个HtmlEntities的过滤器。不幸的是,这个HtmlEntities使用的是ISO-8859-1编码,如果你使用的是GB2312或者UTF-8一类的编码,那中文字符就惨了,乱码无疑。

想要避开这个问题,就不能再用$input->field的方式访问数据了,要用$input->getUnescaped(‘field’)的方式,这样会忽略掉默认的HtmlEntities过滤器。如果你仍然喜欢用$input->field的方式,往下看:

一个简单的解决方法是直接去改Zend/Filter/HtmlEntities.php文件,把构造函数(public function __construct($quoteStyle = ENT_COMPAT, $charSet = ‘ISO-8859-1’))里第二个参数的默认值改成你的网站使用的编码。

这个方法还有一个额外的好处,以后当你使用HtmlEntities时也无需再指定编码了。虽然通常不鼓励直接修改Zend Framework的源文件,但是这一点小小的改动不会有什么英系那个。唯一的弊端就是每次升级Zend Framework时必须再改一次。

另一个方法是用别的过滤器替换掉默认的HtmlEntities过滤器。你可以使用其他的标准过滤器,比如StringTrim;也可以模仿HtmlEntities写个你自己的html转移过滤器,用上你自己的网站编码;还可以创建一个空过滤器,不进行任何过滤。然后在实例化Zend_Filter_Input时这样写:

 $myFilter);
$input = new Zend_Filter_Input($filters, $validators, $data, $options);
?>

或者:

setDefaultEscapeFilter($myFilter);
?>

大功告成!

关于“预留退路”的思考

在支付宝UED博客上看到了老鱼的“浅谈产品设计中的可用性和可访问性”。全文中心思想是“国内大部分Web产品在设计时往往忽略可用性和可访问性问题”,对于这点我基本上是认同的,但是对于文章里举的例子,一个“支付宝登录界面如果禁用JS就无法正常工作”的例子,也就是一个“预留退路”的例子,我有话要说。

“预留退路”这个概念我最早是从《网站重构》上看到的,简单来说,预留退路是指当访问者禁用CSS或JavaScript时,网页仍然能正常显示内容。当时对这个概念印象深刻,并且在之后一段时间内也一直以此为标杆。但随着对互联网、对web的理解越来越深,随着项目开发越做越多,我逐渐开始动摇。不可否认,“预留退路”在安全性方面是十分必须的,服务器端必须把好最后一道关,不能相信客户端、不能相信任何用户输入。但在用户体验方面,在可用行方面,我认为预留退路的重要性远不如许多UE设计师们声称的那么重要。

首先,目前的网站,已经不再是以前那种“网页文档”的集合了。以前的网页的主体是内容,单向性很强。JS等交互功能只是内容上的调料。而现在大量兴起的web应用,已经把网站推向了“软件”的境界。浏览器只是一个容器,网页只是一种呈现方式,交互才是真正的重头戏。虽然交互的目的仍然是内容,但这里的内容已不再是传统意义上的html代码,而是数据,交互是获得数据的必经手段,缺少交互,数据(内容)无从谈起。在这种情况下,预留退路显然不是一条不可打破的禁忌。

其次,预留退路的提出是在浏览器大战的年代。在那个时候,主流浏览器对JS的支持十分混乱,保证一个网站在所有浏览器上都做出正常的表现很难。开发者们在恶劣的开发环境下学会了自我约束,限制js的使用,预留退路作为下策,以防万一。而在现在,web标准日趋普及,浏览器们的支持标准也渐渐统一,跨浏览器平台的交互功能实现将越来越简单。虽然移动设备那边可能还不是很完善,但统一的标准必然是未来的趋势。

最后,尽管如老鱼所说,“很多交互设计师都会想当然的认为,类似这样的应用场景受重群体是很小的,也许真实的数据会让你大吃一惊!”,可我至今没有见过实际的统计数据。我身边有用Opera的,有用Linux的,可至今没有禁用JS上网的。倒是在豆瓣上见过一个,不过他是个Geek,关闭JS是有他自己的目的的,并且他也很清楚这样做的后果。相信那些不开JS上网的人,大部分都是像这个豆瓣用户那样的中高级用户,他们很清楚自己在做什么,以及这样做之后可能会遇到的情况。而预留退路真正需要照顾到的,那些无法使用JS自己却一无所知的无助的用户们,我绝不认为其总量会是个“让人大吃一惊”的数字。

综上,我认为“预留退路”不是个应该鼓吹的概念,更不是个不可打破的标准。中国没有408条例,所以更多的时候要根据实际需要来抉择,不要一味迷信传统。

最后,感谢土豆网的Dexter.YY,您的回信让我受益匪浅。