开发人员将源文件编译之后生成的中间件,我们称之为"程序集".因为程序集文件名一般以.EXE(或者DLL)结尾,因此很容易将它与传统开发过程中的EXE文件(或者DLL文件)搞混淆.虽然两者的后缀名相同,但本质上却千差万别. 程序集文件与普通的EXE文件(或者DLL文件)在以下3个方面有着本质上的差别: 1.首先是两者面向的对象不同,程序集是面向CLR的,是.NET平台范畴的东西,而EXE文件则可以说是主要面向Windows操作系统的. 2.组成结构不同,程序中包含IL(中间语言)及程序集…
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读一遍之后,会对HTTP有个总体认识.然后你可以根据文章中的关键点,去查找更详细的细节.这就是读书的第二重境界,将书读厚. HTTP(hypertext transfer protocol,超文本传输协议)是万维网进行通信时所使用的协议方案.HTTP有很多应用,但最著名的是用于Web浏览器和Web服务…
前言 这段时间在公司忙的跟狗似的,但忙的是没多少技术含量的活儿. 终于将AST IR和tree grammar过了一遍,计划明天写完这部分的读书笔记.   内容 1 内部表示AST构建 2 树文法     1 内部表示AST构建 内部表示(intermediate form, IR)的引入理由 分治策略,通常翻译程序语言的工作无法在单一步骤内完成,将其划分为一系列相互关联的步骤,如识别token.填充数据结构(符号表等).提交输出: 有do one thing, do one thing wel…
引用 Terence Parr. The Definitive ANTLR Reference, Building Domain Specific Languages(antlr3 version).   前言 [1]为什么有了lex/yacc(flex/bison),为什Parr还要写个ANTLR? C语言是拿着剃须刀在滑冰,Java是“隐藏”了指针的支持OO的C语言族中相对简单的语言,随着Martin的DSL概念深入人心,不管怎样,还是印证了那句话:模仿是最大的恭维.尽管这对有10+编译器方…
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[class="one"][name="two"] class属性为one且name属性为two的p元素p[class~="one"] class属性包含one的p元素p[class^="one"] class属性以one开头p[clas…
前言 仅生成给出true/false的识别器是没有多大用处的,自然的就有在识别过程中遇到某一结构时执行一段代码.存储该结构中信息的想法. ANTLR提供了在文法中嵌入属性和动作超级混合“文法”,可以生成内部表示AST或模板:当然如果直接输出部分结构识别结果的话动作也可以应付.   内容 基本与原文第6章一致 属性和动作 1 文法动作 2 Token属性 3 预定义规则属性 4 属性作用域 5 在动作中引用属性   属性和动作 用几个实例予以说明,动作中语言均是Java. [ex1]动作可以在规则…
前言 程序语言是什么? 用wiki上的描述,程序语言是一种人工设计的语言,用于通过指令与机器交互:程序语言是编程程序的标记,而程序是一种计算或算法的描述.详细介绍和背景信息参考: Programming_language(http://en.wikipedia.org/wiki/Programming_language) Programming_language_generations(http://en.wikipedia.org/wiki/Programming_language_gener…
最近读了这本IBM出的<A Practical Guide to Distributed Scrum>(分布式Scrum的实用指南),书中的章节结构比较清楚,是针对Scrum项目进行,一个阶段一个阶段来介绍的,既包含Scrum的做法,也包含了分布式团队可能遇到的问题和一些建议.这里我先根据书籍目录,做个大致的介绍和提要,最后做一个自己的总结. 一.提要 Chapter 1 The Evolution of Scrum Core Principles of Scrum - 介绍Scrum框架和一…
<Android高级进阶>是据我所知的市面上唯一一本技术工具书,比较的高大全,作者的目的是为了对全领域有个初步的概念 No1: 在Android系统中,拥有事件传递处理能力的类有以下三种 1)Activity:拥有dispatchTouchEvent和onTouchEvent两个方法 2)ViewGroup:拥有dispatchTouchEvent.onInterceptTouchEvent和onTouchEvent三个方法 3)View:拥有dispatchTouchEvent和onTouc…
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典的性能优 化最佳实践,是其他数十条性能准则的出发点. 减少DNS查找 每一次主机名解析都需要一次网络往返,从而增加请求的延迟时间,同时还会阻 塞后续请求. 重用TCP连接 尽可能使用持久连接,以消除 TCP 握手和慢启动延迟;参见 2.2.2 节“慢启动”. 减少HTTP重定向 HTTP 重定向极费…