-
微博来临,你准备好了吗?
又很久没更新博客了,再这样下去,真感觉对不住空间和域名的那点费用了。
写这篇文章之前,我难产了好长时间,到底是写呢,是用键盘写,用手机写,还是用笔在本子上写。写点什么呢,那就写我最近干了些什么吧,于是,就有了下边的文字。
很长时间没更新博客,罪魁祸首其实是微博。随着国内微博的兴起,几十个字的想法会手到擒来,我们不用再去花费时间去更新几百上千字的博文,主要还是生活工作节奏的加快,平日只有一些时间的边角料可供我们支配。
这段时间,我几乎连时间的边角料也找不到。从三月开始,一直忙于投简历面试,面试通知接过一大箩筐,百度淘宝完美时空等等,最后决定主动出击,就在15号去了上海,面试了51、淘米,还有几家不知名的小公司,最后决定留在徐汇的一家创业公司。就在这时,北京淘宝又对我进行了第二轮电话面试和最终的视频面试,完了之后就要我马上过去。这时,我犹豫了。上海的这家创业公司,主要业务是细分SNS领域,用他们的话说,这个项目的创意生命力无限,技术方面也有之前在淘宝的一个架构师牵头。如果以外包的身份去淘宝,尽管在许多方面和正式员工并无多大区别,但在归属感、权限和待遇方面,都和正式员工相差甚多。后来这些也都得到了一一印证。
经过和Alipay的FIG,南安留学的CB,还有南京的晓波的商量,我觉得应该去感受一下国内大牌C2C公司的工作氛围,最后还是决定了去北京淘宝。在这之间,CB和我对上海那家公司的技术牵头人进行了并无恶意的人肉,最后确认了他以前的确是淘宝的架构师。但为了求稳,我终究没经得住淘宝这个金字招牌的诱惑,就信誓旦旦地开赴北平。
没去北京之前,对这个做为首都的国际化大都市,充满着无限向往。幻想着是不是随便摔一跤就能捡到金元宝,幻想着是不是遍地美妞,幻想着是不是高楼大厦直入云霄。是幻想,就一定会破灭。皇城聚全民之力后,硬件设施还算可以,尤其是花费了几千亿的鸟巢建筑群,更加彰显了大国气派。常住人口2000万加之流动人口共4000多万,也足以说明这是有着14亿人口大国的首都。
—–
未完待续,困了先睡觉!
2 条评论 -
悟透JavaScript(转)
引子
编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。
数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。
你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,就是要努力改变数据原来的状态。在代码改变数据的同时,也会因为数据的抗拒而反过来影响或改变代码原有的趋势。甚至在某些情况下,数据可以转变为代码,而代码却又有可能被转变为数据,或许还存在一个类似E=MC2形式的数码转换方程呢。然而,就是在数据和代码间这种即矛盾又统一的运转中,总能体现出计算机世界的规律,这些规律正是我们编写的程序逻辑。
不过,由于不同程序员有着不同的世界观,这些数据和代码看起来也就不尽相同。于是,不同世界观的程序员们运用各自的方法论,推动着编程世界的进化和发展。
众所周知,当今最流行的编程思想莫过于面向对象编程的思想。为什么面向对象的思想能迅速风靡编程世界呢?因为面向对象的思想首次把数据和代码结合成统一体,并以一个简单的对象概念呈现给编程者。这一下子就将原来那些杂乱的算法与子程序,以及纠缠不清的复杂数据结构,划分成清晰而有序的对象结构,从而理清了数据与代码在我们心中那团乱麻般的结。我们又可以有一个更清晰的思维,在另一个思想高度上去探索更加浩瀚的编程世界了。
在五祖弘忍讲授完《对象真经》之后的一天,他对众弟子们说:“经已讲完,想必尔等应该有所感悟,请各自写个偈子来看”。大弟子神秀是被大家公认为悟性最高的师兄,他的偈子写道:“身是对象树,心如类般明。朝朝勤拂拭,莫让惹尘埃!”。此偈一出,立即引起师兄弟们的轰动,大家都说写得太好了。只有火头僧慧能看后,轻轻地叹了口气,又随手在墙上写道:“对象本无根,类型亦无形。本来无一物,何处惹尘埃?”。然后摇了摇头,扬长而去。大家看了慧能的偈子都说:“写的什么乱七八糟的啊,看不懂”。师父弘忍看了神秀的诗偈也点头称赞,再看慧能的诗偈之后默然摇头。就在当天夜里,弘忍却悄悄把慧能叫到自己的禅房,将珍藏多年的软件真经传授于他,然后让他趁着月色连夜逃走…
后来,慧能果然不负师父厚望,在南方开创了禅宗另一个广阔的天空。而慧能当年带走的软件真经中就有一本是《JavaScript真经》!
回归简单
要理解JavaScript,你得首先放下对象和类的概念,回到数据和代码的本原。前面说过,编程世界只有数据和代码两种基本元素,而这两种元素又有着纠缠不清的关系。JavaScript就是把数据和代码都简化到最原始的程度。JavaScript中的数据很简洁的。简单数据只有 undefined, null, boolean, number和string这五种,而复杂数据只有一种,即object。这就好比中国古典的朴素唯物思想,把世界最基本的元素归为金木水火土,其他复杂的物质都是由这五种基本元素组成。
JavaScript中的代码只体现为一种形式,就是function。
注意:以上单词都是小写的,不要和Number, String, Object, Function等JavaScript内置函数混淆了。要知道,JavaScript语言是区分大小写的呀!
任何一个JavaScript的标识、常量、变量和参数都只是unfined, null, bool, number, string, object 和 function类型中的一种,也就typeof返回值表明的类型。除此之外没有其他类型了。
先说说简单数据类型吧。
undefined: 代表一切未知的事物,啥都没有,无法想象,代码也就更无法去处理了。
注意:typeof(undefined) 返回也是 undefined。
可以将undefined赋值给任何变量或属性,但并不意味了清除了该变量,反而会因此多了一个属性。null: 有那么一个概念,但没有东西。无中似有,有中还无。虽难以想象,但已经可以用代码来处理了。
注意:typeof(null)返回object,但null并非object,具有null值的变量也并非object。boolean: 是就是,非就非,没有疑义。对就对,错就错,绝对明确。既能被代码处理,也可以控制代码的流程。
number: 线性的事物,大小和次序分明,多而不乱。便于代码进行批量处理,也控制代码的迭代和循环等。
注意:typeof(NaN)和typeof(Infinity)都返回number 。
NaN参与任何数值计算的结构都是NaN,而且 NaN != NaN 。
Infinity / Infinity = NaN 。string: 面向人类的理性事物,而不是机器信号。人机信息沟通,代码据此理解人的意图等等,都靠它了。
简单类型都不是对象,JavaScript没有将对象化的能力赋予这些简单类型。直接被赋予简单类型常量值的标识符、变量和参数都不是一个对象。
所谓“对象化”,就是可以将数据和代码组织成复杂结构的能力。JavaScript中只有object类型和function类型提供了对象化的能力。
没有类
object就是对象的类型。在JavaScript中不管多么复杂的数据和代码,都可以组织成object形式的对象。但JavaScript却没有 “类”的概念!
对于许多面向对象的程序员来说,这恐怕是JavaScript中最难以理解的地方。是啊,几乎任何讲面向对象的书中,第一个要讲的就是“类”的概念,这可是面向对象的支柱。这突然没有了“类”,我们就象一下子没了精神支柱,感到六神无主。看来,要放下对象和类,达到“对象本无根,类型亦无形”的境界确实是件不容易的事情啊。
-
XHTML和CSS应用之灵活的文字
灵活的文字
策略:让文字大小具有高度灵活性并易于实现,同时也尽可能地保证对设计细节的全权控制。灵活设置页面文字的大小,赋予用户控制页面文字大小的能力,从而提供更好的页面可读性。
要点:如何在保持灵活性的同时仍能在文字周围进行精确巧妙的细节设计。
方法:使用基准值+百分比模型。在body对象中设置表示“绝对大小”的关键字,比如small,以此做为基准,然后使用百分比值来增大或减小其它对象中的字体大小。当基准值改变后,其它对象中的字体大小也会相应地改变。
技巧:使用一个能将页面中其它部分包围起来的<div>,即body对象(设置small关键字)的子元素,然后对该<div>用百分比在父元素关键字的基础上增大或者减小字体大小。
代码:
<body> <div id="wrap"> <h1>This is a Title</h1> <p>This is body text at default base size.</p> </div> </body>body{ font-size:small; } #wrap{ font-size:95%; } h1{ font-size:150%; }使用em实现灵活的文字:将<body>元素中的基准字体大小设置为62.5%,使默认的中等字体大小从16px缩小为10px,1em将显示10px,1.2em将显示12px等。



