自己动手开发编译器(一)编译器的模块化工程
本系列的第一篇,我想概述一下编译器的构造,同时帮助大家了解编译器中各个组成部分的用途。想必大家看别的编译原理书籍,大都在第一章或者序言之类的地方,将编译器分成许多模块,然后每一个模块负责编译的特定阶段,最后串起来组成完整的编译器。比如下面这张图就是虎书(Modern Compiler by Andr... ...
PHP中间件--ICE
ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中间件。使用ICE能使得php(或c++,java,python)与java,c++,.net,python等进行交互。基于ICE可以实现电信级的解决方案。 1第一个问题:为什么要使用中间件? 设想一... ...
Microsoft NLayerApp案例理论与实践 - 领域模型层
本文将重点介绍Microsoft NLayerApp的领域模型层,这涉及到Domain.Core、Domain.Core.Entities、Domain.MainModule以及Domain.MainModule.Entities四个项目。Domain.Core项目包含了基本接口的定义以及规约模式(... ...
自己动手开发编译器(零)序言
好久没写博客了,一来是自己懒,二来是最近一段时间都没有做什么自己认为可以分享的东西。这几天刚好重拾了一个一直打算做但没做的编译器类库,算是积累了一点小小的经验吧。本来我已经发到了Github上,也在微博上零星介绍了一些,但是我最终意识到,如果不写一个详细的文档,别人就不能容易地学习、了解和使用它。甚... ...
看懂SqlServer查询计划
对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Manag... ...
谈一谈网络编程学习经验
本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sockets API开发基于TCP/IP的网络应用程序。1. 网络编程的一些胡思乱想,谈谈我对这一领域的认识 2. 几本必看的书,基本上还是W. Richard Stevents那几本 ...
iPhone消息推送机制实现与探讨
最近两天在研究ios的消息推送机制。研究这个东西,还是充满兴趣的。 Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。 APNS 是Apple Push Notification ...
Entity Framework快速入门--直接修改(简要介绍ObjectContext处理机制)
在介绍Entity Framework的修改实体到数据库的方法之前呢,我们先简要的介绍一下ObjectContext的处理机制。1、ObjectContext的处理机制ObjectContext是Entity Framework封装了数据库访问的上下文,以及实体的映射关系元数据信息等。EF帮我们封装... ...
HTTP幂等性概念和应用
在数学中,幂等性是指N次变换与1次变换的结果相同。本文介绍了:1.分布式系统中幂等性的概念;2.用幂等设计代替分布式事务的方法;3.HTTP主要方法的语义和幂等性。 ...
基于WEB 的实时事件通知方案
基于 WEB 的实时事件通知方式大致有五种方案:HTTP拉取方式(pull),HTTP流,Long Polling,FlashXMLSocket方式,Java Applet。 ...
Microsoft NLayerApp案例理论与实践 - 基础结构层(数据访问部分)
上篇文章讲解了NLayerApp案例的基础结构层(Cross-Cutting部分),现在,让我们继续解读NLayerApp的基础结构层(数据访问部分)。NLayerApp的基础结构层(数据访问部分)包含如下内容:Unit Of Work(PoEAA)、仓储的具体实现、NLayerApp的数据模型以及... ...
java/.net语言及IDE简易对比
做这个对比是希望找出各自不足并加以改进,也希望未提到的大家一起补充,纯当技术讨论,所以极端.net和java粉丝可以无视! 先来说说IDE对比,也就是eclipse和VS的对比吧: 1、eclipse支持变量上下文中的高亮显示,这点VS直到2010才支持; 2、eclipse双击左花括号可自动选定包... ...
Microsoft NLayerApp案例理论与实践 - 基础结构层(Cross-Cutting部分)
从这篇文章开始,我将逐步介绍NLayerApp的基础结构层、领域层、应用层以及分布式服务层。本文着重介绍基础结构层,根据上文对NLayerApp的架构分析,它将包含两大部分的内容:处理数据访问的基础结构层组件和Cross-Cutting的基础结构层组件。处理数据访问的基础结构层组件主要包含了仓储的具... ...
从.NET到Mono-记Kooboo CMS对Mono的兼容历程:一、Mono以及移平台的基本注意要点
前言 话说Mono是一个非常有意思的平台,它提供了对.NET程序的跨平台迁移的可能性,它是一种看上去可以粉碎诟病者对.NET平台软件不具跨平台性质疑的技术。我非常喜欢.NET平台,同时我也非常希望它具... ...
WorkFlow入门Step.1—My Frist WorkFlow Trip!
WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一 些列的关于工作流的标准。 ...
JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯
在.NET Remoting与RMI通信中同时存在一个弊端,那就是对开发语言的限制,无论是使用哪一种通讯方式,服务器与客户端都必须支持同一种开发语言。通讯过程中不能跨越开发语言的限制,这是一个人令人懊恼的消息。JNBridge是一种领先的JAVA与.NET互操作的的产品,凭借JNBridge技术,J... ...
个人ASP.NET程序性能优化心得(1):数据库篇(外一篇)
在上一篇文章《个人ASP.NET程序性能优化心得(1):数据库篇》里,不少园友对我其中的一些观点提出了一些质疑,这里我认真查阅了一些资料,更正了一些存在错误的地方,另外对一些存在争议的地方加上更详细的说明,并会对一些将于性能方面的问题以实例数据表现出来。 ...
数据库设计 Step by Step (5)
引言:数据库设计 Step by Step (4)中我们讨论了泛化关系、聚合关系、三元关系等高级实体关系模型构件及其语义。从本次讲座开始我将引领大家开始数据库设计之旅,我们将从需求分析开始,途中将经过概念数据建模、多视图集成、ER模型转化为SQL、范式化等过程,最终得到完整、可用的SQL表。需求分析... ...
程序员应知——善于借鉴
最近几天对D语言有了一些了解,据说能够具备和C、C++一样的高性能,语法类似于C#和Java,并且支持当前比较流行的语言——像Ruby和Python——的一些新特性,而且微软还提供了Visual D的插件,可以安装在Visual studio中,从而使用它来开发D语言的程序。我们会发现,其实这门语言... ...