此文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 7.2. OOP: ECMAScript implementation.
概述
这一章的第二部分是关于 EMCAScript 中的面向对象编程。在第一部分中我们讨论了 OOP 的基本理论并勾画出和 ECMAScript 的相似之处。在阅读第二部分之前,如果有必要,我还是建议首先阅读这一章的第一部分 概论,因为后面将会用到其中的一些术语。
more
ECMAScript 中 OOP 的实现
在回顾了概论中的一些重点之后,我们终于回到了 ECMAScript 本身。现在,我们已经了解了它的 OOP 方式,让我们再来准
继续阅读 »
我经常给身边的人建议,喜欢什么书或者想看什么书就买,不要犹豫,不要嫌贵,不要舍不得花钱,别人可能倾尽一生写的一本书,你就花几十块钱就买回来了,这么好的事为啥还要犹豫,况且,还能有什么投资比投资自己的大脑划算。书买回来就有可能阅读,读了就会有收获,就会有进步,如果不买回来,基本就不可能看。当然如果你能借到或者通过其他渠道获取到书也是可以的,但是如果把书买回来了,无形中就拉近你和书的距离,就大大提高你阅读的可能性。有些人会想,书买回来了不看多可惜,多浪费,所以干脆就不买,当然也就不可能看了。书买回来不一定要看,可以当装饰品,也可以送人当礼物,或者当工具书查询用也可以。况且你不会去买一本你不感兴趣的书,只要感兴趣,就买回来,说不定哪天就看
继续阅读 »
作为一名程序员,在平常工作中,经常要维护别人的代码,也要看很多框架的源码,且不论代码优劣,单单代码规范就有很大差异了,其中,有看过几千行代码的类,也看过“糊在”一起的代码块,更有些代码杂乱且没有注释,理解起来难于登天最后只能重写。当然也看过很多人的代码很赏心悦目,阅读起来就很享受,看多了发现代码阅读性跟代码人的资历是成正比的,所以每次看框架源码,也会去学习他们的代码规范,这里我就简单分享下我以前的代码规范和现在的代码规范。每个人都有一套自己的代码规范,没有标准可言,只是分享下这种慢慢在进步的过程,勿喷^^。
继续阅读 »
Handler - Message - Looper 说起来也就是这么一回事,Looper实现在Thread中负责不断的循环监听处理Message,要不然Thread运行完就自己关了。当你不需要的时候就可以把Looper关了,线程就自动运行完了。
Message
实现了序列化接口,what区分类型,arg的参数使用简单的整形,obj存储对象,data存储一个bundle,target是一个Handler。剩下的就是搞了个对象池回收Message,所以才会推荐用Message.obtain()来新建,其实就是从回收池里拿东西。
总之没什么好说的。
Looper
``` java
继续阅读 »
2016年仍然很忙,仍然没有固定的阅读时间。大部分阅读是在上下班的路。
硅谷之谜
吴军博士的书,号称《浪潮之巅》的姊妹篇。作为技术人员对硅谷总有种特殊的情怀。讲硅谷的书很多,这本书区别大概在于讲了硅谷的方方面面,环境、人文、文化等。
继续阅读 »
我想问问有什么值得追求?
昨天夜里十一时许,我在厦门大学上弦场完成了《黑客与画家》一书的阅读。彼时圆月当空,雾霾颇浓,四下人烟稀少,周遭空旷寂寥。我忽然觉得有点悲伤。想找一中问问,找南怀瑾问问,找佛陀问问,找老子问问,找庄子问问,找尼采问问,我这一生,究竟有什么值得追求?我不知道,真的不知道。
可其实我也知道,只是问问罢了。哪里有什么答案呢。一切真切地展现在我面前,了无意义,万般终成空。所唯一能做的,就是找一样物事,或某一个人,或一个念头,或某一种关系,沉醉进去,荒唐下去,以此终老。慢慢的,或许不甘,或许执着,最终要妥协。
如果有,或许技术算一种吧,但终归不那么热烈。
作者拥有独立的人格,这是应当学习的。在阅读的过程中给了我不
继续阅读 »
1. 写在前面
在实践 Erlang and OTP in Action 的第六章的时候,确实遇到了不少问题,后来慢慢多看了几遍书,多阅读了几次源码,特别是阅读了 application 的源码后,才慢慢理解了这章所讲的这个应用。这个总结不会很长,原本就想简单记在书上的,但想到以后也许会有一些更新,还有一些流程图的绘制需要经过多次修改,就还是放到github上来了,说实话,真挺感谢github的,让我学习和管理代码如此方便。
2. 程序运行流程
下图是整个simple_cache应用运行的流程,我们先上图,然后在后面再说说重要的地方。
下面我们再说明一下各个模块各自的职责:
sc_app: 应用行为模
继续阅读 »
PHP 源码阅读array_combine()
PHP 源码阅读之array_combine()
array_combine() 在 ext/standard/array.c 中
array_combine(array $keys , array $values) — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
继续阅读 »
写在前面
本系列是综合了自己在学习spark过程中的理解记录 + 对参考文章中的一些理解 + 个人实践spark过程中的一些心得而来。写这样一个系列仅仅是为了梳理个人学习spark的笔记记录,所以一切以能够理解为主,没有必要的细节就不会记录了,而且文中有时候会出现英文原版文档,只要不影响理解,都不翻译了。若想深入了解,最好阅读参考文章和官方文档。
继续阅读 »
写在前面
本系列是综合了自己在学习spark过程中的理解记录 + 对参考文章中的一些理解 + 个人实践spark过程中的一些心得而来。写这样一个系列仅仅是为了梳理个人学习spark的笔记记录,所以一切以能够理解为主,没有必要的细节就不会记录了,而且文中有时候会出现英文原版文档,只要不影响理解,都不翻译了。若想深入了解,最好阅读参考文章和官方文档。
继续阅读 »