首页 开发编程 正文

php怎么输出奇数

为什么感觉程序员普遍会用Mac?刚被踢出Lisa项目组的史蒂夫·乔布斯从杰夫·拉斯金(JeffRuskin)手中夺走了新成立的Mac团队,乔布斯下定决心要倾尽全力建造出一台完美的个人电脑。Mac初始团队的海盗旗多年后乔布斯回忆到,『最初的Mac团队让我知道,Mac的开发者与用户或多或少地继承了这种精英文化,天才程序员王小波在他的《思维...

php怎么输出奇数,为什么感觉程序员普遍会用Mac?

1979年,刚被踢出 Lisa 项目组的 史蒂夫·乔布斯 从 杰夫·拉斯金(Jeff Ruskin) 手中夺走了新成立的 Mac 团队,为了证明自己的天赋与实力,乔布斯下定决心要倾尽全力建造出一台完美的个人电脑。

基因

乔布斯认为,『完美的艺术品只有天才才能造出来』,于是他找来了一群天才。

Mac 初始团队成员从左至右:乔治·克罗、乔安娜·霍夫曼、伯勒尔·史密斯、安迪·赫茨菲尔德、比尔·阿特金森、杰里·马诺克

他们相信『过程就是奖励』,他们『每周工作 90 小时』只为能做出最『酷毙了』(Insanely Great)的产品,他们像海盗一样行事:既为自己的工作感到自豪,又愿意去窃取别人的灵感。他们和乔布斯一样,都是充满了朋克精神的天才极客。

Mac 初始团队的海盗旗

多年后乔布斯回忆到,『最初的Mac团队让我知道,最顶级的人才喜欢一起工作,而且他们是不能容忍平庸作品的』。到今天,Mac 的开发者与用户或多或少地继承了这种精英文化,他们是一群热爱编程的人。

天才程序员王小波在他的《思维的乐趣》中对编程有着这样的一番描述:『计算机编程和解几何题有共通之处:对了马上能知道对,错了也马上知道错,干干脆脆。你用不着像孟夫子那样,养吾浩然正气,然后觉得自己事事都对。』

我窃以为,编程能力的提升有助于提升独立思考与理性思维能力。而理性是一种科学的态度,它能让我们和我们周遭的世界更加美好。

信仰

2008年我从大学毕业,加入了支付宝 UED。部门在白鸦和大老板 James 的努力下,全都换上了 iMac 与 Macbook 。后来从 Felix Ding 那里,我知道了更多关于 Mac 的历史。

Mac 『1984』宣传片,宣传的不是他的产品,而是一种自由多元化信仰,它帮助我打开了一扇通往人格独立之门。从乔治·奥威尔到『逻辑思维』,从《乌合之众》到《论美国的民主》,我逐渐成长为一名自由主义者。

『 Think Different 』广告片中,Mac 被定义为敢于挑战权威、富有创新精神的叛逆者。那些旗帜鲜明的人,愿意买一台 Mac 来标榜自己的 『非同凡响』。

ShiTiven 是我认识的第一个使用 Mac 的全栈工程师。他喜欢喝咖啡,喜欢 Python 和 CoffeeScript 。他有着极快的语速和编码速度,他曾经在某个下午误饮了一整瓶绍兴黄酒后,完成了支付宝第一版『 AA 收款』组件的开发。他告诉我把 Mac 的默认语言设置为英文,这样其他人会对我刮目相看。很多年没听到他吹牛了,只听说阿里在美国上市后他把 Mini 换成了宾利。

dc 是我认识的第一个使用 Mac 的前端大神,他是《高性能 JavaScript 》的译者,前端框架 Arale 1.0 的作者。2009年他留着一头飘逸的长发,是和张克军一样优雅的男人。从他那里我知道了张国荣的『我就是我,是颜色不一样的烟火』。他现在在北京经营着一家逼格很高的公司,喜欢跑步和滑雪。

电影《东邪西毒》中张国荣扮演的欧阳峰

2009年,我入手了自己的第一台 MacBook Pro,希望能成长为一个牛逼的程序员。

完美

Mac 是第一款使用图形用户界面(GUI)和鼠标的个人电脑,在使用 Mac 的过程中,我也开始慢慢感受到了那『God is in the details』的完美体验。

Mac OS 的顶部菜单栏设计遵循了『费茨定律』,这是为什么 Windows 的菜单功能难用的原因,因为它不敢抄得太像 Mac;

Applications、Downloads 等内置目录规则和 Spotlight 文件检索,很好的平衡了文件管理与定位的效率;

一致的键盘快捷键设计与 UI 规范,提升了应用程序的可用性与美观度;

有趣的 Dock、精美的拟物化图标以及大量优秀的无衬线字体,让 Mac 时尚感和设计感十足;

打开 Macbook 机身壳,你会看到那精美的电路板。乔布斯从他父亲身上学到,即使是隐藏的部分也要做得很漂亮。这点重要么?想想中国各大城市的下水道建设吧:)

关于 Mac 与 Windows 的对比,《乔布斯传》中记录了更多细节:

Mac 电脑的包装重做了 50 次,目的是要让 Mac 在性能和外观上都给人惊艳的感觉;

2000 年上市的 Power Mac G4 Cube 进入了纽约现代艺术博物馆;

Windows 抄袭 Mac 是合法的。1984年,为了不让微软停止开发 Mac 版的 Word、Excel 等应用,苹果被迫签署了一份合同,同意微软有权在其即将推出的Windows系统中使用苹果公司的部分图形功能;

乔布斯认为最好的产品是『一体的』,是端到端的,软件是为硬件量身定做的,硬件也是为软件度身定制的,Mac 上的操作系统只能在自己的硬件上运行。这也是为什么大家会觉得苹果的产品体验更好、性能更好,而 Android 上的动画不论如何优化都无法获得 iOS 的流畅度的原因;

『微软唯一的问题就是他们没有品位,一点都没有。并不是狭义上的没有品位,而是广义上的,他们没有独到的见解,也不会在产品中注入多少文化……因此,我想自己之所以感到难过并不是因为微软成功了,我对他们的成功没有异议,大部分都是他们应得的。我难过的是,他们做的确实只是三流产品。』当然这段话只是乔布斯在 1996 年对微软的看法:P

书中有几个小故事,足以说明为什么说 Mac 的缔造者们是一群天才程序员:

Mac 在一开始就实现了桌面窗口效果,比尔·阿特金森(Bill Atkinson) 设计了重叠窗口『截取』算法(让 CPU 只计算窗口中显示的部分,略去对未显示部分的计算,从而节省了处理器的运算时间,提高系统运算速度),这一特性 Windows 在十年后的 Windows 95 中才实现。

Mac 的桌面窗口一开始就被乔布斯要求设计成圆角,而计算机画圆形图案涉及到平方根计算,当时的 CPU(摩托罗拉68000微处理器)并不支持平方根计算。为此,阿特金森研究出一个加法运算来代替平方根运算的算法:一组奇数序列相加可以得到一组完全平方数序列(如,1+3=4,1+3+5=9,等等)。

苏珊·卡雷(Susan Kare)主导设计了 Mac 上各种漂亮的字体,结合激光打印技术和强大的图形功能,Mac 推动了桌面出版产业的诞生。字体技术不再只有印刷工人和其他与油墨打交道的人才能使用。

95年,阿维·泰瓦尼安(Avie Tevanian)领导改进了 Mac OS ,将 NEXTSTEP 操作系统核心技术整合其中。从此 Mac OS 成为了基于 Unix ,同时包含面向对象编程语言 Objective-C 和先进 GUI 的优秀操作系统。这也是为什么使用 Mac 的程序员通常比使用 Windows 的程序员更熟悉 Shell 操作与各种编程模式,对美的设计形式也更加敏感的原因,而这些是成为全栈工程师的一些基础要求。

2005年,Mac OS 在几个月的时间内完成了对 Intel CPU 的支持。这件事成为 比尔·盖茨 亲自承认真正钦佩苹果的几个壮举之一。

我的 iMac 与 MacBook

所以说,每个程序员都应该有台 Mac 电脑,每家有理想的互联网公司都应该给他的程序员配上一台 iMac 或 MBP。

当午后的阳光透过窗户照在这些 iMac 精灵身上时,你能体会到当年乔布斯与 Sir Jonathan Ive 漫步于花园之中,看到那一排排迎着太阳转动的向日葵时的那份喜悦之情。

最后,让我以『 Think Different 』宣传片的广告词《致疯狂的人》作为本文的结尾来勉励自己和各位同学:

他们特立独行。他们桀骜不驯。他们惹是生非。他们格格不入。他们用与众不同的眼光看待事物。他们不喜欢墨守成规。他们也不愿安于现状。你可以认同他们,反对他们,颂扬或是诋毁他们。但唯独不能漠视他们。因为他们改变了寻常事物。他们推动人类向前迈进。或许他们是别人眼里的疯子,但他们却是我们眼中的天才。因为只有那些疯狂到以为自己能够改变世界的人,才能真正改变世界。

说句实话,我感觉我身边的程序员用Linux系统的更多...但是mac也的确不少。Mac的核心是Darwin,这使得mac理论上可以像linux一样用,风格也和linux比较像。相比windows的封闭linux更符合程序员们的操作习惯:命令行,自由地改变系统的每一个设置,etc. 而且mac上面的程序目前也多起来了,用起来也很方便。此外...大家都知道MAC很好看....程序员天天和电脑在一起有一个好看的工具自然心情也舒畅了呢。最后,我感觉电脑什么的因人而异。我认识最牛的程序员就是个只用windows的....电脑牌子的选择更多是跟风的比较多,大家清一色苹果你都不好意思把你的小PC拿出来....

PHP中英文混合排版中处理字符串常用的函数?

对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。 例1,计算字符总长度。 01 <?php 02 function ccStrLen($str) #计算中英文混合<a href="/" class="infotextkey">字符串</a>的长度 03 { 04 $ccLen=0; 05 $ascLen=strlen($str); 06 $ind=0; 07 $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字 08 $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符 09 if($hasCC && !$hasAsc) #只有汉字的情况 10 return strlen($str)/2; 11 if(!$hasCC && $hasAsc) #只有Ascii字符的情况 12 return strlen($str); 13 for($ind=0;$ind<$ascLen;$ind++) 14 { 15 if(ord(substr($str,$ind,1))>0xa0) 16 { 17 $ccLen++; 18 $ind++; 19 } 20 else 21 { 22 $ccLen++; 23 } 24 } 25 return $ccLen; 26 } 27 ?> 例2,从左侧截取字符串。 01 <?php 02 function ccStrLeft($str,$len) #从左边截取中英文混合字符串 03 { 04 $ascLen=strlen($str); if($ascLen<=$len) return $str; 05 $hasCC=ereg(”[xA1-xFE]“,$str); #同上 06 $hasAsc=ereg(”[x01-xA0]“,$str); 07 if(!$hasCC) return substr($str,0,$len); 08 if(!$hasAsc) 09 if($len & 0×01) #如果长度是奇数 10 return substr($str,0,$len+$len-2); 11 else 12 return substr($str,0,$len+$len); 13 $cind=0;$flag=0;$reallen=0;//实际取字节长 14 while($cind<$ascLen && $reallen<$len) 15 { //by

www.jbxue.com

16 if(ord(substr($str,$cind,1))<0xA1){ //如果该字节为英文 则加一 17 $cind++; 18 }else{//否则 加2个字节 19 $cind+=2; 20 } 21 $reallen++; 22 } 23 return substr($str,0,$cind); 24 } 25 ?> 例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次) view sourceprint? 01 <?php 02 function SplitContent($content,$smslen){ 03 $str_tmp=$content; 04 $arr_cont=array(); 05 $len_tmp=0; 06 $i=0;//分割绝对位置 07 while (strlen($str_tmp)>0){ 08 $str_tmp=ccStrLeft($str_tmp,$smslen); 09 array_push($arr_cont,$str_tmp); 10 $i+=strlen($str_tmp); 11 $str_tmp=substr($content,$i,strlen($content)); 12 } 13 return $arr_cont; 14 } //by

www.jbxue.com

15 ?> 测试: 1 <?php 2 $str=’a计算中英文混合1234字符串的长度abcd’; 3 echo $str.’的长度为:’.ccStrLen($str); 4 echo ‘<br>’; 5 $smslen=3;//截取长度 6 print_r(SplitContent($str,$smslen)); 7 ?>

本文转载自互联网,如有侵权,联系删除