谈一谈网络编程学习经验
本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用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语言的程序。我们会发现,其实这门语言... ...
面试时,你会问面试官哪些问题?
明天又要去参加一次面试。每次面试的时候,面试官都会在最后给面试者一些时间,来问问题。这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有了解到的情况。但较早以前面试准备不太充分,虽然也能地问上一些问题,但挂一漏万,每次回来后,总觉... ...
原来是这样:C#中字符串的内存分配与驻留池
刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下:[代码]这里的same会被赋值为true。也就是说s1真的和s2引用了同一个String对象。当然,应该注意到的是s1和s2都被统一赋值为同一... ...
深入浅出多线程系列之五:一些同步构造(上篇)
1:MutexMutex 就像一个C# lock一样,不同的是它可以跨进程.进入和释放一个Mutex要花费几毫秒,大约比C#的lock慢50倍。使用一个Mutex的实例,调用WaitOne方法来获取锁,ReleaseMutex方法来释放锁。因为Mutex是跨进程的,所以我们可以使用Mutex来检测程... ...
gmail loading progress bar 实现原理
Gmail 登陆时,会显示一个progress bar, 显示加载的进度。最先以为是模拟的效果,但是仔细观察发现,进度条是真实反映加载以及下载进度的,并不依赖网络状况。所以非常好奇,因为在javascript中缺少检测文档下载进度的ApI(js的安全机制也禁止这样做),且只提供了加载开始,加载中,加... ...
深入浅出多线程系列之三:线程池
线程池:每一个线程默认会被分配1MB的内存,在C#中,这些都是实打实的分配的,当一个线程启动的时候,为了分配临时堆栈大约需要花费几百微秒的时间。线程池通过循环利用线程可以让你更高效的利用线程。线程池就像外包的劳务队一样,有任务给他们,他们会管理劳务工的一切,你不需要去花时间去找单个劳务工,然后完成任... ...