这到底是谁之错?

故事一:
背景介绍:RT是一个外包公司,ZWZX是项目承接公司,YD是甲方。

RT公司每天下班的时候都会接到ZWZX负责人的电话,询问一天的工作情况,然后布置任务要求晚上加班做完,RT公司的员工很无奈也很气愤因为每天 都要加班,员工们就问项目经理:“为什么天天加班赶需求,今天才提一个需求,明天就要上线,还让不让人活了?” 项目经理无奈的说:“我有什么办法啊?这是人家ZWZX负责人说的啊,对方逼得紧。”

多次以后项目经理也忍不住了,就问ZWZX的负责人怎么天天这样啊,ZWZX的负责人就说了:”明天就要向YD的负责人展示这个页面,我也没有办法啊?YD那边老总就是这么要求的,我怎么办,我也不想这样啊?”

然后RT的项目经理实在受不了了就辞职了,新上任的项目经理又会走他的老路,因为从开始我们就被培养“满足客户的需求是最重要的”。RT的员工也就这样一直抱怨着,一直忍受着。天天在心里咒骂YD的老总真是没有人性,不拿人当人看啊!

人换了一批又一批,加班也就慢慢的变成了应该的,你不加班说明你不敬业,不合格。

故事二:
IE6一直存活着,所有的前端开发人员都痛恨它,都不想兼容它,可是产品经理看到IE6的市场占有率还是这么高,就会要求前端开发人员必须兼容IE6。

 

矛盾又来了,就像故事一一样,前端开发人员天天抱怨,产品经理也天天抱怨,但是面对IE6的市场份额,产品经理会劝开发人员说:“我有什么办法 啊?IE6的市场份额就是这么高,不兼容怎么办啊?我也不想啊!” 开发人员也就这样忍受着,然后不断地抱怨用IE6的用户低端,没文化,怎么还用IE6啊!天天兼容IE6就够烦的了,还怎么创新啊!

这两个故事里出现的问题到底是谁的错误引起的? 

故事一的罪魁祸首是YD的老总吗?

故事二的罪魁祸首是那些还用着IE6的用户吗?

从这两个嫌疑最大的罪魁祸首眼中看一下这两个故事:

故事一:
我是YD的老总,我要建立一个网站,找到了ZWZX公司,签订了合同,我提需求他们实现。

我不懂制作网站,可是我才思敏捷,创意无限,不停的会有好点子从我的脑海里蹦出来,每当有一个好点子蹦出来后,我都会给ZWZX公司的负责人讲清楚 我的想法,让他实现,开始我不知道做一个页面需要多长时间。第一次我试探性的说了一周必须把我这个点子做出来,ZWZX公司负责人很痛快的答应了,一周后 我果然看到了这个功能。

可是会不会我给他们的时间太长了?对!肯定是,要不也不会答应的这么痛快。这些人啊!天天就是想拖时间,好多骗我点钱。

点子又来了,这次我要求5天做出来,这个点子和上个点子类似,我倒要看看5天能不能做出来~  ZWZX公司负责人一副痛苦的表情,我会不会逼的太紧了,5天是不是真的做不出来?到时候看看吧,如果5天没做出来估计是我给的时间太少了。

5天过去了ZWZX公司的负责人很高兴的拿出了我要的功能实现,哎,看来开始真的骗了我两天。就是不知道5天会不会还是多了啊?下次给3天~

又拿出来了,虽然他装的好像时间太紧似的,可别以为我不知道,你第一个功能最多3天就做出来了,我还给了你7天的项目经费,你们多赚了我多少啊!!!! 真是没良心。 下次1天!!!

啊啊啊啊啊啊啊啊!!! 1天就出来了,这些人。。。。。  有没有良心,原来做这个这么简单,以后就给1天,不 ! 一天N个功能。

故事二:
我买了个电脑,没什么别的用途,就是打开电脑上上网,上上QQ和儿子聊聊天,QQ是儿子给我装上的,这样我就可以和他视频了。有一次QQ提醒我说我的QQ 版本太低了,不能视频了,我打电话问儿子,儿子说按提示升级一下QQ就行了,呵呵,我按QQ的提示,儿子的指示一步一步的升级QQ成功了,看来电脑也不难 啊!

到这里您认为开始的两个故事的罪魁祸首是谁啊?

我们一直以加班,甚至通宵去满足客户不合理的要求,只因为他是客户。只因为人人都认为满足客户的要求是我们最大的
价值,可是不合理的要求不能去拒绝吗?套用刘欢说的一句话“我们是不是活的应该有些尊严”,一味的迎合客户,只会让我们自己越来越痛苦,反而得不到用户的尊重,肯定。

我一直有个疑惑,很多人说网站不支持IE6,而选择让用户去升级IE,这样的用户体验不好!如果按照按照这个逻辑,是不是我们都应该是Web应用, 而且都应该是IE6下的Web应用呢?为什么微软还要出WIN8,一直XP不是挺好的吗?让用户升级系统,用户体验多么不好啊?QQ,360,搜狗输入 法,等等客户端软件用户体验不都不好吗? 都还要用户下载。

实在搞不懂为什么我们做个东西非要去支持IE6呢?检测到用户是IE6,给个提示,给个升级链接不就行了? 这样做用户体验是有多么不好吗? 你天天去支持IE6,还要天天磨叽用户使用IE6,你不觉的很矛盾吗?再说我一个普通用户,你如果不提醒,我怎么知道要升级IE6啊?

对于遭遇了故事一,故事二的人只能送上一句话“哀其不幸,怒其不争!”

旅店里的无线网络中的恶意脚本注入

贾斯汀·瓦特(Justin Watt)在旅店里通过旅店提供的无线服务查看自己的博客网站,他发现有个异常的东西,一个黑颜色的横条出现在了页面的顶部,正常情况是应该没有的。有趣,贾斯汀想可能是最近的Firefox更新改变了CSS的影响渲染效果。 

红颜色圈住的是那条奇怪的横条

红颜色圈住的是那条奇怪的横条

贾斯汀想这并不是什么大事,除非是网页被黑客篡改了(有人获取了网站主机的帐号,在每个PHP文件里都加入一段base64加密过的代码),于是他立即决定查看一下页面源代码。事实证明,在 <head>标记间出现了一些陌生的CSS和Javascript代码:

<style type="text/css">#rxgheader{  visibility:hidden;  color:#111;  background:#ffffff;  text-align:center;  border-bottom:1px solid #666;  z-index:10000;  position:fixed;  width:100%;  top:0;}#rxgleftbar{  visibility:hidden;  color:#111;  background:#fff;  border-right:1px solid #666;  z-index:10000;  position:fixed;  height:100%;  left:0;}#rxgrightbar{  visibility:hidden;  color:#111;  background:#fff;  border-left:1px solid #666;  z-index:10000;  position:fixed;  height:100%;  right:0;}#rxgfooter{  visibility:hidden;  color:#111;  background:#ffffff;  text-align:center;  border-top:1px solid #666;  z-index:10000;  position:fixed;  width:100%;  bottom:0;}#rxgcontent{}</style><script language="JavaScript" type="text/javascript">function checkVisible() {    var footer, header, leftbar, rightbar, content;    if (document.all) {        footer = document.all.rxgfooter;        header = document.all.rxgheader;        leftbar = document.all.rxgleftbar;        rightbar = document.all.rxgrightbar;        content = document.all.rxgcontent;    } else if (document.getElementById) {        footer = document.getElementById('rxgfooter');        header = document.getElementById('rxgheader');        leftbar = document.getElementById('rxgleftbar');        rightbar = document.getElementById('rxgrightbar');        content = document.getElementById('rxgcontent');    }    if (footer) {        if (footer.offsetWidth > 600) {            footer.style.visibility = 'visible';            content.style.paddingBottom = (footer.offsetHeight + 4) + "px";        }    }    if (header) {        if (header.offsetWidth > 600) {            header.style.visibility = 'visible';            content.style.paddingTop = (header.offsetHeight + 4) + "px";        }    }    if (leftbar) {        if (leftbar.offsetHeight > 400) {            leftbar.style.visibility = 'visible';            content.style.paddingLeft = (leftbar.offsetWidth + 4) + "px";        }    }    if (rightbar) {        if (rightbar.offsetHeight > 400) {            rightbar.style.visibility = 'visible';            content.style.paddingRight = (rightbar.offsetWidth + 4) + "px";        }    }}</script>

并在<body>标记后有下面的Javascript代码:

<div id="rxgheader"><script type='text/javascript'>var advnIsAdProviders = true;var advnIsPersistCookie = false;var mCustomerId = 44;var advnIsHideImmediately = false;var mDelayLoad = 1000;var advnAdRotationDelay = 30000;var jsUrl = 'http://adsmws.cloudapp.net/user/advnads20.js';function addScript(jsUrl) {    var AdvnScript = document.createElement('script');    AdvnScript.setAttribute('src', jsUrl);    AdvnScript.setAttribute('type', 'text/javascript');    document.body.appendChild(AdvnScript);}setTimeout('addScript(jsUrl)', 50);</script><div id = "rxgcontent"><script language = "JavaScript" type = "text/javascript">checkVisible();</script>

给不懂编程的读者提示一下,上面代码中最需要注意的是CSS里有“rxg”前缀的语句,还有这个指向外部的非常可以的Javasript文件:http://adsmws.cloudapp.net/user/advnads20.js。他怀疑“RXG”应该是某种病毒的名称,但通过谷歌搜索后,一无所获。

他立即用sshed登陆到博客服务器上用 svn diff 检查一些重要的PHP文件。没有任何改动的迹象。这就奇怪了,源文件是没有问题的。他于是进入了 Stephanie的博客,发现他的博客也存在同样的问题。但他们两个的博客是在同一帐户下的。他又检查了 Andre的博客——这个博客是放在TypePad服务器上的,同样,没有幸免。他想到,应该是在他的计算机跟网络连接的过程中,有人在网络传输的每个页面里注入了JavaScript。

他研究了一下那个advnads20.js,发现这个脚本功能只是在页面上插入一些广告。

难道旅店的wifi网络被人黑了?或者是旅店的网络提供商特意为之?这个问题贾斯汀没有想明白,于是写了一篇博客描述此事情。

很快,贾斯汀就在他的这篇博客的评论中找到了答案,有人读者告诉他,“RXG”是Revenue eXtraction Gateway的缩写,这是一种 RG Nets公司生产的无线热点网关产品。

rxg网关

原来如此,这家旅店的无线网络通过这种路由器给每个旅客所浏览的网页中都嵌入了这种JavaScript。而提供这家旅店网络服务的公司叫做Hotel Internet Services,很有可能,贾斯汀想,这家旅店也未必知道发生了什么时,他只是觉得不平,一晚368美元的房价,还受到这种待遇。

在这种路由器的厂商的官方主页上有个演示视频:

 

 

视频中催人入睡的机器人般的声音说的是:

这个视频演示的是RG Nets公司的Revenue eXtraction网关产品的HTML网页加载重写功能。用户在浏览网页时使用浏览器通过Revenue eXtraction网关连接到互联网。用户使用的是一个干净的IE7,没有装任何插件或其它软件。所有的网页重写都是通过RXG网关即时完成的。RXG网关被配置成重写所有通过此网关的web网页,在每个页面上都嵌入一个宝马S1000RR的广告条。这个宝马S1000RR广告条可以放置到页面的顶部,底部,左边,右边。除此之外,多个广告还可以组合到一起轮换着出现,当然,这些广告可以链向任何一个你想要的网站。就像你看到的,所有的网页上都嵌入了广告,保证了这些广告的冲击力。RG Nets公司的RXG产品的网页加载重写特征是一个强大的工具,能够广泛的运用到互联网市场推广的各种应用中。

贾斯汀的这篇博格在网上受到了热烈的讨论,这家旅馆的负责人也注意到了,他向贾斯汀来信表示,他们已经就此事做了调查,并向他们的网络服务商提出了抗议,网络服务商同意不再向这家旅店的网络服务中注入广告。但旅店负责人也说明,这种广告行为在所有的网络服务商中相当的普遍。

补充
本人最近宽带到期,又重新申请了一个长城宽带,没想到,上网时,不论访问什么网站,右下角经常会蹦出一个广告,起初以为中了什么病毒软件,后来发现,原来是宽带服务商在作恶,它们把你的访问的网站用一个Iframe包起来,在外层的框架内放置它们的广告,这种事情真让人恶心。在网上查了一下,发现很多人有相同的遭遇,有人建议把dns换了,或把宽带商发布广告的ip给封掉。这些方法总归治标不治本。最好的方法是弃用这家公司的宽带。可是再一查,发现其它的宽带服务商也干这种勾当。真让老百姓没法活了。

微信开放平台页面和SDK文档曝光

腾讯微信4.0推出“微信开放接口”,支持从第三方应用向微信通讯录里的朋友分享音乐、新闻、美食、摄影等消息内容。cnBeta独家获得了微信开放平台的地址以及正在编写中的微信终端SDK文档。这和Facebook的开放平台做法很一致,但是借助微信这样的平台,威力更猛,未来将会爆发什么样的社交奇迹,已经足以勾起我们的想象。

据目前披露的消息来看,微信终端SDK允许应用通过类似与微博连接的手段获得微信的授权(这一授权很可能独立于QQ开放平台和微博开放平台),进而允许读取和发送文本、图像等多媒体信息。


导航栏被在网页源代码中注释掉了


腾讯官方效果截图


用户:匿名人士
来自:上海市华东师范大学电信出口

微信之所以一直独立出来没有跟QQ混在一起,不是因为所谓约炮利器,而是对于很多四五十岁以上的iphone、安卓用户,他们没有QQ号或者很少用QQ, 子女教会他们用这样一个软件,就可以很方便的沟通 (而往往作为子女你教父母用几个应用他们几乎也就只会用那几个应用)在这样的情况下,我还是比较看好微信开放SDK做让其他有用的东西进来做一些拓展。


以下地址请感兴趣的访客从速访问:
文档 http://api.weixin.qq.com/wiki/
下载 http://api.weixin.qq.com/static/sdk/
开发者 http://api.weixin.qq.com/app/list/

文/cnBeta

Android 锁屏被木马攻破

据消息称,某安全研究团队在近期发现一款基于Android的木马,可以通过传感器判断用户锁屏移动的位置和按压情况来记录密码。该木马绰号“TapLogger”,可以破译包含数字0到9的4位,6位,8位密码。

当用户需要解锁的时候,传感器就会记录每次用户在按压屏幕时候的轻微移动,同时研究者还发现TapLogger还可以识别这些移动会产生多少数位的密码并进行匹配,并可以通过后台发给攻击者。

Android lock screen Trojans break

该木马是由宾夕法尼亚大学的Zhi Xu和Sencun Zhu和IBMWatson研究中心的Jun Bai联合开发的,病毒可在后台记录该系统的密码并发送给攻击者。研究者称“最根本的问题是在目前智能手机的传感器上并没有行之有效的解决方案。”并说对Android设备的不同屏幕都是会有效果的。

当Windows操作系统被各种黑客蹂躏够了之后,现在矛头直指智能手机系统,有些黑客针对手机系统制作木马病毒不仅仅是为了盗取用户信心,也可能是为了挑战自己的破译技术,但不管怎样各位朋友还是对这些病毒谨慎小心一些为好。

25 个免费和收费的 jQuery 菜单脚本

免费 jQuery 菜单脚本

Rocking and Rolling Rounded Menu with jQuery

Rocking and Rolling Rounded Menu with jQuery

Slide Down Box Menu with jQuery and CSS3

Slide Down Box Menu with jQuery and CSS3

jQuery Simple Drop Down Menu Plugin

jQuery Simple Drop Down Menu Plugin

Flex Level Drop Down Menu

Flex Level Drop Down Menu

jQuery TreeView Menu

jQuery TreeView Menu

Sliding jQuery Menu

Sliding jQuery Menu

Cufonized Fly-Out Menu with jQuery and CSS3

Cufonized Fly-Out Menu with jQuery and CSS3

Beautiful Slide Out Navigation

Beautiful Slide Out Navigation

Cool Animated Menu with jQuery

Cool Animated Menu with jQuery

Background Image Navigation with jQuery

Background Image Navigation with jQuery

Bottom Slide Out Menu with jQuery

Bottom Slide Out Menu with jQuery

Little Boxes Menu with jQuery

Little Boxes Menu with jQuery

收费的 jQuery 菜单脚本

jQuery Menu ($5)

jQuery Menu

jQuery Vertical Drop-Down Menu ($5)

jQuery Vertical Drop-Down Menu

jQuery Horizontal Drop-Down Menu ($5)

jQuery Horizontal Drop-Down Menu

jQuery Infinite Sliding Menu Plugin ($5)

jQuery Infinite Sliding Menu Plugin

Titan Menu ($6)

Titan Menu

TitanMegaMenu ($5)

TitanMegaMenu

Mega Menu Complete Set ($4)

Mega Menu Complete Set

Mega Menu Reloaded ($5)

Mega Menu Reloaded

Sherpa – Complete Navigation System ($8)

Sherpa - Complete Navigation System

Mega Pull Out Menu ($6)

Mega Pull Out Menu

jDropDownMenu ($4)

jDropDownMenu

jQuery CSS3 Sticky Mega Menu Bar ($4)

jQuery CSS3 Sticky Mega Menu Bar

UberMenu – WordPress Mega Menu Plugin ($16)

UberMenu - WordPress Mega Menu Plugin