本文來自Cnbeta。原文地址是:http://www.cnbeta.com/articles/197699.htm,沒有全部復制,要看詳細請去該網頁
据国外媒体报道,雅虎日前宣布任命前谷歌高管玛丽莎·梅耶尔(Marissa Mayer)担任CEO,这令业界感到震惊。梅耶尔现年37岁,拥有丰富的行业经验,多年来一直负责谷歌最具人气产品的外观和体验等项目,最近还负责了谷歌的地理位置和本地化服务等,主要管理谷歌公司1000多名产品经理。同时,梅耶尔还是谷歌运营委员会的成员之一,也是谷歌重要的资深高管。
四 年多以前,即2008年2月19日,美国知名商业杂志之一《Fast Company》网站曾发表了一篇文章,介绍了时任谷歌搜索产品与用户体验副总裁梅耶尔的9条创新原则。作为谷歌的第20名员工以及长期负责核心业务的高 管,梅耶尔正是凭借这9条原则引领谷歌发展成为全球最知名的互联网企业之一。
以下是梅耶尔的9条创新原则:
1、持续创新,而非一步成型
“有 两种不同类型的程序员。一些人喜欢连续几个月,甚至连续几年编码,并希望自己能够开发出完美的产品。这是一种城堡建设法。很多公司喜欢这种方法,苹果就是 一个典型的例子。如果你做对了,开发出一款完善的产品,那么你会令全世界感到惊叹。但问题在于,如果你做错了,你花了5年时间、耗费100名人力开发的产 品不受市场欢迎,那无异于一记重击。也有一些人倾向于边开发、边完善。这正是我们的做法,即我们的‘迅速、频繁发布’战略。向人们灌输我们文化的最难之处 就在于,有的工程师向我展示产品原型,我也很喜欢,但他们却说,‘哦,它还没有完成,还不符合谷歌的标准,还不像是一款谷歌产品’。他们想使用城堡建设 法,添加所有的功能,使之成为完美的产品。而我告诉他们,‘谷歌产品应当是尽早进入谷歌实验室,然后不断完善,吸纳市场需求的元素,并使之成为伟大的产 品’。这种实验方法的好处在于,你永远不会远离市场需求,市场会把你拉回来。”
2、创意无处不在
“我们有一个很好的内部候选名单,所有人都可以提供创意,并且可以看到这个名单。这就像一个投票箱,人们可以表达他们对这个创意的观点。正是这些观点引出了新的创意。”
3、追逐梦想的权利
我们允许工程师将20%的时间用于研究他们喜欢的任何项目,我们相信他 们可以创造出有趣的产品。”
4、调整产品,而非封杀它
“谷歌CEO埃里克·施密特(Eric Schmidt)曾这样对我说:任何能够进入谷歌实验室的项目,从核心上看在其它方面也一定有可取之处,即便市场对此没有反馈。我们的工作就是将产品转化得符合市场需求。”
5、尽可能多地分享信息
每周一,所有员工都会发一封电子邮件,里面有五到七个要点,介绍他们上周的工作。作为一家搜索公司,我们将所有邮件纳入一个巨大的 网页,然后提供索引。如果你想知道谁在从事地图研究,那么就可以搜索到。这使得我们可以在全公司共享自己知道的信息,并减少重复。”
6、用户,还是用户
“我过去这样说这句话:‘用户,而非金钱’。我们坚信,如果我们专注于用户,金钱会来的。在一个真正虚拟的业务上,只要我们取得成功,人们就会通过订阅的方式为此付费。只要拥有足够多的用户,广告商也会愿意付费资助这个网站。”
7、数据远离政治
“我遇到过其他公司负责设计的人员,他们总说,‘设计是公司最具政治性的领域之一,有的设计师喜欢绿色,有的设计师喜欢紫色,那么谁的设计方案会被采纳?谁与老板关系好,谁的设计就会被采纳。’”
“有 些公司认为设计是艺术,而我们认为设计是科学。谁的设计方案最受欢迎,或者你更倾向于哪种美感并不重要,这全靠数据说话。进行一次1%的测试(即在1%的 用户中进行测试),哪些设计在两周时间内获得最佳的用户反馈,我们就推出哪项设计。我们有一个学术氛围非常好的环境,可以一直进行这些测试。”
“我们可能会在实时流量中进行50到100项测试,每项测试的默认数据来决定设计成果。我们一直通过这种方法尝试不同的方案。”
8、创新需要约束
“这是我最喜欢的观点之一。人们总认为,创新就需要毫无约束,但工程师在有约束的情况下更能进步。他们希望这样评论自己的创意:‘我们知道你说这不可能,但我们仍然要这样做,直到成功。’”
9、你很优秀?我们正在招聘。
我开始在谷歌工作, 工程师们被要求为招聘工程师而撰写宣传语。我们进行了一次比赛,我写了‘你很优秀?我们正在招聘。来谷歌吧。’这则广告语的点击率相当于其他广告语的八 倍。”
“现在谷歌的员工数量已经相当于我进入谷歌时的一千余倍,这令我感到惊讶。不过更重要的是那些没有改变的东西,即来这里工作的人们的 类型,以及他们喜欢的工作类型。这与我们这些谷歌的前20名员工几乎完全相同。这就是公司文化中愿意解决重大问题、愿意为世界做贡献、坚信我们可以在坚守 标准和价值观的前提下建立成功企业的元素。”
-----------
有些东西确实不错。其实我更关心的是第一项
看到str_word_count的時候,想當然的認為它就是統計字符串中某些單詞出現的次數。结果,根本不是這樣,只是統考這個單詞出現在第幾位。我TNND。
然後一猶豫,我就寫了一個函數:
PHP代码
- function getStrCounts($str,$findstr='%s'){
- $i =$s= 0;
- while(($s = strpos($str,$findstr,!$s?0:$s+count($findstr)))!==false){
- $i ++;
- }
- return $i;
- }
等我写完后,发现,果然不错耶。然后我TNND又看了一下手册。。因为我记得这玩意确实是有函数的。找了一下,果然还真TMD有。substr_count就是这个苦逼的函数:
PHP代码
- $format = "There are %s monkeys in the %s %s %s";
- echo substr_count($format,"%s");
我晕啊。这个count,你为什么要扔到substr_这个前缀后面???真受不了。这个问题好象很久以前也有人提过,看来苦逼的人不是我一个啊
看到新浪微博上面有這麼一句:
【#SAE技术分享#】localhost与127.0.0.1的区别是什么? 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。 看来这个入门问题还有人不清楚,其实这两者是有区别的。
所以我打開了網頁關注了一下:
http://xianxin88.iteye.com/blog/672008
- localhost与127.0.0.1的区别是什么
-
- 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。
-
- 看来这个入门问题还有人不清楚,其实这两者是有区别的。
-
- localhost也叫local ,正确的解释是:本地服务器
- 127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
-
- localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
-
- 127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
-
- 一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
-
- 有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。
本來標題不想用爭論這個詞的,但你看我標出的紅色區域就知道了。所以我用了爭論這個詞。原作者看來也不能確認。而我也不知道是否確實是這樣。。。好吧。懶得google了
代友宣传一下:(以下内容来自OCR,onenote自带功能)
小编推借
简咖啡书吧
*****
萃庄最有情调、最让人放松的咖啡厅
好吧,加个“之一'
咖啡、古典音乐、图书、鸡尾酒、超俗的情调,这些元素组成了简咖啡书吧,一向小资盲的小编很喜欢这个地方,因为你会既喜欢这种氛围,又不觉得你不属于这里。
小编经常约三五个好友在这里脚天,或者独自一人发呆看书,又或者听老板吹牛。
一次,小编和老板闲柳的时候,“请教”怎样做才能在咖啡厅表现的比较专业。老板一声坏笑后立即变身成“教授,,说“这个简单,做好下列几步:第一、你走进一家咖啡屋后,不耍等服务员问,也不要什么花式咖啡,直接说‘来杯标准的单倍EsPre。:。’,第二、眺望远方,小口抿着咖啡,然后不管好不好喝,都要跟服务员说‘咖啡豆很一般峨’:第三、喝完后立即再要一杯,哈,不过要看你的胃能否受得了.,小编听后捧腹大笑:”真的吗?.,“真的,真的在逗你”。真是风趣的老板.不,风趣的大男孩。
几次与老板闲扯之后,小编从一个咖啡盲,到开始咖啡了解咖啡的历史、文化、功效,到品咖啡,再到怎么制作咖啡,现在狡再来简咖啡,部完全自助了。
结语:有空的时候不妨桃里坐坐,放松一下心情,有机会盛到一个只会俊笑或者发呆的女孩多半就是我了,记得要向我打招呼喂。如果你是美女,离老板远点,小心被裕汕·,·…。对了,要写结语……嗯.不知道怎么说好,反正我就是超喜欢这里.忽忽……
有效期至:2012-4-30
-------EOF--------
LOOk,看图:

地址在:广通路66弄2号115,莘庄地铁站北广场绿地集团的中国银行北门对门
有空的人可以去玩喽,比如@小魔什么的。
一段未优化过的无聊JS代码,暂时不优化了,以实现为主:
XML/HTML代码
- <style type="text/css">.zxx_text_overflow_6{ width:100px; height:100px; border:1px solid #CCC; }</style>
- <div class="zxx_text_overflow_6">
- <img src="i.png" alt="" style="float:right;width:50px;" />
- <p>你个杀千刀的,怎么写了这么多的文字,我要被拦腰截。断了啊,kitty救我!你个杀千刀的,怎么写了这么多的文字,我要被拦腰截断了啊,kitty救我!你个杀千刀的,怎么写了这么多的文字,我要被拦腰截断了啊,kitty救我!你个杀千刀的,怎么写了这么多的文字,我要被拦腰截断了啊,kitty救我!你个杀千刀的,怎么写了这么多的文字,我要被拦腰截断了啊,kitty救我!</p>
- </div>
- <script type="text/javascript">
- String.prototype.strtoarray=function (){
- var t=[], b=/(\s*[\S\u00ad]+\s*)/g, f='';
- for(i=0; i<this.length; i++){
- c=this.charCodeAt(i);
- t.push(c>128?" "+this.charAt(i):this.charAt(i));//p += c < 128 ? 1 : (c < 2048 ? 2 : (c < 65536 ? 3 : 4));
- }
- //s = t.join("").split(b);
- return t.join("").split(b).join("Ω").replace(/ΩΩ/g,"Ω").split("Ω"); //这一段其实挺有意思,理论上,上一句就OK了,但事实上这一句才正常。。。好吧。
- // return s;
- }
- var t = +new Date();
- var d=document.querySelector(".zxx_text_overflow_6");
- var p=document.querySelector(".zxx_text_overflow_6 p");
- var pInfo = getComputedStyle(p);
- var s=p.innerHTML.strtoarray();
- var pData = [];
- p.innerHTML='';
- for(var i=0; i<s.length; i++){
- p.innerHTML+=s[i];
- pData.push(s[i]);
- if((p.offsetHeight+parseInt(pInfo.marginTop)+parseInt(pInfo.paddingTop))>= d.offsetHeight){
- if(s[i-1]!="。"||s[i-1]!='.'){
- p.innerHTML = pData.slice(0,-2).join("")+ "...";
- }else{
- p.innerHTML = pData.slice(0,-1).join("");
- }
- break;
- }
- }
- alert("执行时间" +((+new Date()) - t )/ 1000 + "秒");
- </script>
效果如下:
