Why C# Half and Java 8 Gram
摘要:茶,并没有不同,是喝茶的人不同罢了;武术,没有高低,是习武之人分高低罢了;----这是电影《霍元甲》中李连杰对日本武士关于武术高低贵贱观点的反驳,很有道理。同样,语言亦无高低之分,不同的只是屏幕前的你对于语言的掌握程度。与其说一门语言比另一门更好,不如说一门语言比另一门更加适合你所工作的领域,或者说“你”更加熟悉这门语言。 我觉得语言只有领域之分,无高低好坏之别,但有些时候...
阅读全文
posted @
2010-04-30 14:13
Aicken(李鸣)
阅读(2869)
推荐(15) 编辑
GC算法与代龄
摘要:第一节. GC的算法与工作方式 1.算法 垃圾收集器的本质,就是跟踪所有被引用到的对象,整理对象不再被引用的对象,回收相应的内存。 这听起来类似于一种叫做“引用计数(Reference Counting)”的算法,然而这种算法需要遍历所有对象,并维护它们的引用情况,所以效率较低些,并且在出现“环引用”时很容易造成内存泄露。所以.Net中采...
阅读全文
posted @
2010-04-23 13:58
Aicken(李鸣)
阅读(4643)
推荐(0) 编辑
GC关键方法解析
摘要:第二节.GC关键方法解析 1.Dispose()方法 Dispose可用于释放所有资源,包括托管的和非托管的,需要自己实现。 大多数的非托管资源都要求手动释放,我们应当为释放非托管资源公开一个方法,实现释放非托管资源的方法有很多种,实现IDispose接口的Dispose方法是最好的,这可以给使用你类库的程序员以明确的说明,让他们知道怎样释放你的资源;而且C#中用到的using语句快,...
阅读全文
posted @
2010-04-23 13:34
Aicken(李鸣)
阅读(3366)
推荐(0) 编辑
使用IsLine FrameWork开发ASP.NET程序之三—使用DataProvider 访问数据(下)
摘要:上一期为大家介绍了DataProvider中对SQL SERVER与Oracle数据库的操作,这一期将为大家介绍对文件系统的支持。 在DataProvider中,不仅支持对SQL SERVER与Oracle的操作,还支持对文件的操作。对于文件目前内置3中支持对象:XML、TEXT、CONFIG文件,分别位于类库XMLProvider、TextProvider、SuitConfigProvider中...
阅读全文
posted @
2010-04-22 10:52
Aicken(李鸣)
阅读(2949)
推荐(0) 编辑
使用IsLine FrameWork开发ASP.NET程序之二—使用DataProvider 访问数据 (上)
摘要:上一期的文章中我们提到DataProvider模块,这个模块完成了各种数据源的操作,兼容的数据源包括SQL SERVER数据库、Oracle数据库、XML文件、文本文件、Config站点配置文件等。基本约束关系如下图所示: 图 2.1 DataProvider 基本约束关系 这个模块主要包括以下命名空间: ● IsLine.Data.ContainerDefiner命名空间: IsLine....
阅读全文
posted @
2010-04-22 10:51
Aicken(李鸣)
阅读(3222)
推荐(0) 编辑
使用IsLine FrameWork开发ASP.NET程序之一——命名空间与契约概览
摘要:早就有想法写一个通用的底层框架了,毕竟平时的工作很多,使用第三方框架对项目适应度不会很满意,所以还不如自己抽时间写一套自己用着舒服的框架,于是花了几个月的时间完成了这个项目的开发,现在介绍给大家,相信这套框架一定会适合实际工作中的需要,并对开发效率有所提升。本系列的文章将分8部分为大家介绍一下这个项目和这些库文件的使用。 本系列文章要介绍的框架名字叫做IsLine FrameWork,你可以叫他&...
阅读全文
posted @
2010-04-22 10:47
Aicken(李鸣)
阅读(3015)
推荐(0) 编辑
Try-Catch真的会影响程序性能吗
摘要:很多帖子都分析过Try-Catch的机制,以及其对性能的影响。 但是并没有证据证明,Try-Catch过于损耗了系统的性能,尤其是在托管环境下。记得园子里有位网友使用StopWatch分析过Try-Catch在不同情况下,与无Try-Catch的代码相比,代码运行的时间指标,结果并没有很大差异。 下面我来结合IL分析一下Try-Catch吧。 ● 机制分析 .Net 中基本的异常捕获与处理...
阅读全文
posted @
2010-04-22 10:28
Aicken(李鸣)
阅读(23356)
推荐(14) 编辑
IsLine FrameWork源码公开+文章阅读索引
摘要:ASP.NET企业开发框架IsLine FrameWork系列文章已经全部发布完毕,刚刚忙完手头的其他项目,现在把这个框架源码公开,重新上传至GoogleCode,过些时候会考虑开通SVN,看时间了,大家一起交流吧! IsLine FrameWork,它不是行业业务架构,但可以作为程序员开发项目的套件,使用这套底层套件开发系统,可以简化代码,提高代码质量。ILFW主要包括DataProvider...
阅读全文
posted @
2010-04-20 09:53
Aicken(李鸣)
阅读(5118)
推荐(20) 编辑
.Net Discovery系列文章阅读索引--带你探索未知的.Net世界
摘要: .Net Discovery系列文章是讲述.Net平台机制的文章,目前已有12篇,分别讲述了.Net垃圾收集、实时编译、字符串等部件的机制,现在推出1周年之际总结文章阅读索引,希望对大家有所帮助。
阅读全文
posted @
2010-04-19 10:46
Aicken(李鸣)
阅读(2595)
推荐(4) 编辑
ASP.NET开源框架之HIPPO技术内幕(六)--后台管理与前台展示
摘要:六、后台管理与前台展示 到上一章为止,已经讲了本系统的各个组成部分,包括数据库连接及控件等,所有这些成果马上就要展示在我们的面前了。 所有的管理功能,均由后台管理程序来实现。后台管理平台本身就是一个可以扩展的平台,客户拿到手后,可以自己扩展。 后台管理平台是一个frame框架,在左侧是菜单,右面是需要显示的正文,左侧菜单封装了一个控件,这个控件首先读取系统表中的菜单内容:ZR_FUNCTIO...
阅读全文
posted @
2010-04-17 13:52
Aicken(李鸣)
阅读(3500)
推荐(0) 编辑
ASP.NET开源框架之HIPPO技术内幕(五)--控件结构
摘要:五、控件结构 上一章讲的是如何实现多语言的设计,本章来讲一下控件部分。 不管后端的代码多么完善,多么完美,最后都要以一定的形式展示出来,并且要使用灵活,这时就会用到控件。 在ASP的年代,去写这种控件基本上是一件很痛苦的事情,现在简单多了,在asp.net技术中,有两种写控件的方式,一种是WEB用户控件,这种方式可以采用可视化编程方式,但是使用非常不灵活,并且不能编译成DLL文件,不能拥有自...
阅读全文
posted @
2010-04-17 13:51
Aicken(李鸣)
阅读(1914)
推荐(0) 编辑
ASP.NET开源框架之HIPPO技术内幕(四)--多语言的实现
摘要:四、多语言的实现 上一章讲的是如何实现与数据的连接,本章来讲一下多语言是如何实现的。 现在很多公司都已经开展了国际化的运作,所以多语言的支持已经成为必须要考虑的一个因素,现在能真正实现多语言的系统大多都比较昂贵。 本系统的多语言支持直接得益于asp.net本身,它们本身都是使用UTF-8格式来存储,不是传统的本地编码。在asp.net页面中,每个控件都可以为多个国家字符集指定不同的字符串,但...
阅读全文
posted @
2010-04-17 12:29
Aicken(李鸣)
阅读(1772)
推荐(0) 编辑
ASP.NET开源框架HIPPO系统技术内幕(一)
摘要:一、概述 CMS是Content Management System的缩写,意为“内容管理系统”。关于CMS的系统介绍,在网上可以找到很多,在此不做过多说明。CMS的产品也是多种多样,并且有各种平台的,价格从免费到上千万也是千差万别,每个企业在选择的时候需要根据自己的实际需要进行。 HIPPO是本人在吸取了BroadVision这个顶级的CMS系统的核心设计方式的基础上...
阅读全文
posted @
2010-04-16 16:53
Aicken(李鸣)
阅读(3421)
推荐(0) 编辑
ASP.NET开源框架之HIPPO技术内幕(二)--Meta-Data驱动
摘要:二、Meta-Data驱动 上一章从大的方向上介绍了一下HIPPO系统,从本章开始进入正题。 为了更好的组织系统的结构,把所有的基础信息抽取出来存储在数据库中。这种方式从BroadVision中学习得来。 为了实现这种数据的存储,需要几种不同类型的对象来存储,如下: 对象表名含义SchemaZR_SCHEMA模式ContentZR_CONTENT内容TableZR_TABLES模式对应的表A...
阅读全文
posted @
2010-04-15 15:37
Aicken(李鸣)
阅读(1572)
推荐(0) 编辑
ASP.NET开发框架之HIPPO技术内幕(三)--数据库连接
摘要:三、数据库连接 上一章讲的是本系统的核心部分,Meta-Data驱动方式,本章来讲一下数据库的连接。 本系统的设计目标是支持多种数据库,所以在设计的时候就要在这上面多考虑一下。 说到多数据库支持,有些地方也叫做“数据库无关”,就是不管客户选择什么样的数据库,都可以支持。其实我这个系统目前也只能做到支持MSSQL及Oracle,因为这两个数据库属于企业级数据库,并且在国...
阅读全文
posted @
2010-04-15 14:06
Aicken(李鸣)
阅读(1777)
推荐(0) 编辑
使用WebService与Oracle EBS进行集成(下)
摘要:上面一期简要介绍了一下思路,这一篇文章讲一下实现。 接上文 二、架构 系统从总体上分为两部分,一部为企业的EBS及接口系统,第二部分为第三方厂商自建系统。 在企业总部系统部分,又分为两部分,一部分为WS接口系统,第二部分为原始EBS系统。 在EBS部分,又可以分为正式表和接口表两部分。 整体需求在技术上分为两类: Ø 只读EBS WS直接从EBS生产表或接口表中读取数据,因...
阅读全文
posted @
2010-04-15 10:52
Aicken(李鸣)
阅读(5458)
推荐(4) 编辑
使用WebService与Oracle EBS进行集成(上)
摘要:一、概述 OracleEBS是Oracle公司的ERP产品,这个产品非常庞大,可以对企业的各个方面进行强大的管理功能,一般大型企业都会用到它的部分模块,根据公司的性质不同,选择的模块也会有所不同。对于生产型企业,所采购的模块中都会包括产品及价格等管理模块。 ERP属于大型系统,能选择Oracle ERP的企业,规模一般也不会太小,所以在IT方面,除了ERP产品本身,一般还会有其它一些小型的专有...
阅读全文
posted @
2010-04-14 16:15
Aicken(李鸣)
阅读(5018)
推荐(3) 编辑
Oracle程序开发小技巧(一)
摘要:Oracle有许多的优点,但是如果使用不当,同样也不能发挥出它的强大优势,下面就本人在Oracle开发过程中积累的一点小经验,和大家做一个分享。一、 数据库设计中字段的使用 在一些表的设计中,有一些常用的这段,已经基本成为一个规范,在大型系统中,多可以看到这些字段的踪影,当然字段的名字可能有所不同。常用的字段分为以下几类: 1.WHO字段 这类字段多用于记录每行记录的操作变更信息,比如是谁添加...
阅读全文
posted @
2010-04-14 14:54
Aicken(李鸣)
阅读(3946)
推荐(0) 编辑
.Net Discovery系列之十二-深入理解平台机制与性能影响(下)
摘要:上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制、即时编译机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的异常捕获机制与字符串驻留机制。
阅读全文
posted @
2010-04-14 11:32
Aicken(李鸣)
阅读(3404)
推荐(3) 编辑
不用第三方之C#实现大容量报表系统
摘要:概述 现在企业中,都会有或多或少的报表来展示业务结果。实现报表有很多种方式,最简单的就是直接用纸质写出来展示,这种方式不需要任何IT系统的支持,使用比较简便,但是一般只适用比较小的企业,如果企业稍大一些,数据量增大后,这种方式就显得力不从心,随着使用的不断深入,出错的几率也会越来越大。为了解决这个问题,现在企业一般都会上马一些IT系统,如财务系统,ERP系统等,这些系统都会内置一些标准的报表,当然...
阅读全文
posted @
2010-04-14 11:14
Aicken(李鸣)
阅读(3842)
推荐(1) 编辑
不用第三方之C#自己实现Visual SourceSafe 管理Oracle的程序
摘要:还是自己写的东西顺手些,至少启动时没有怪叫。。。下面向大家介绍如何使用VSS管理Oracle中写的代码。一、简介 Visual SourceSafe(以下简称VSS) 是微软公司推出的一款版本管理软件,可以很方便的管理源代码的版本和处理多方协作,目前相似的软件有很多,而且有很多也是相当不错的,但是在本文所描述的功能中,VSS足以完成我们要求的任务。 Oracle是一款大型的数据库软件,号称管理...
阅读全文
posted @
2010-04-13 16:49
Aicken(李鸣)
阅读(3560)
推荐(0) 编辑
怀念VS2003--ASP.NET自己开发的曲线记忆法背单词软件
摘要:昨天微软发布了VS2010,回到天津后突然发现已经没有了当年VS2003发布时的那种激情。。。
VS2010发布之际,怀念一下VS2003,以下是使用VS2003开发的一个曲线背单词软件。
阅读全文
posted @
2010-04-13 09:44
Aicken(李鸣)
阅读(4220)
推荐(3) 编辑
C#打造自己的企业内部沟通平台(下)
摘要:接上文 WebService服务器 上一部分我们已经对数据库部分的结构做了完整的说明,其实有了数据库的结构之后,这个WebService层次的功能,也仅是对数据库的调用了,也就是相当于封装了一些外层的接口,实现客户端与数据库的连接,下面对主要接口做一下详细的说明,并且在程序中,会用到我以前发表的ZRCMS框架的内容,如果遇到这方面的程序,请参考我以前的文章: 1. 登录 登录是指用户根据登录名及...
阅读全文
posted @
2010-04-12 16:52
Aicken(李鸣)
阅读(2155)
推荐(1) 编辑
C#打造自己的企业内部沟通平台(上)
摘要:项目间隔时做的,有点无聊。。。概述 在现在的工作中,最重要的一个环节就是沟通,所谓“沟通”,是指工作中大家的互相交流,交流的方式有多种多样,可以通过电子邮件,电话或网上沟通工具,每种方式都有自己的特点,比如电子邮件具有归档功能,并可以方便的追查之前的交流记录,但是电子邮件的沟通速度稍慢;电话的沟通最为快捷,可以用最快的方式表达自己的思想,使大家的思路达成共识,但是电话沟通的...
阅读全文
posted @
2010-04-12 16:49
Aicken(李鸣)
阅读(3041)
推荐(5) 编辑
C#开发多语言翻译软件
摘要:N年前的文章了,拿出来晒晒,哈哈。。。 一、概述 目前市面上有各式各样的翻译软件,在中国相对常见的是英汉互译类的软件,如金山词霸等,但是进行国际化的程序开发的时候,经常需要进行多个语言的翻译,比如英语译成俄文,中文译成西文等,但是市场上很少见到这么多的专业翻译软件,即便有,谁的机器装这么多的大型软件,在经济上和机器承受能力上都有一定的限制。后来发现网上有很多的在线翻译的网站,比如雅虎的&ldq...
阅读全文
posted @
2010-04-09 15:58
Aicken(李鸣)
阅读(7542)
推荐(0) 编辑
职场10年之如何做一名合格的程序员(下)
摘要:上一部分中,Aicken介绍到成为合格程序员的四个努力方面,接下来继续为大家介绍。 5.安全第一 我指的安全性,不是指如何防止程序代码被人破解,而是如何保护业务数据的安全性。 为了提高安全性,就要加密,如何加密,在哪里加密,加密后如何解密,就成了问题的关键。 在可配置性那一部分,我提到了配置文件中的密码,这就是首先要考虑的一个需要加密的地方,因为那是想找麻烦的人首先想到的一个地方。说到这里,...
阅读全文
posted @
2010-04-09 13:35
Aicken(李鸣)
阅读(3244)
推荐(7) 编辑
C#+“外部表”实现Oracle数据快速插入
摘要:Oracle是大型数据库,可以用于存储海量数据。对于数据的来源,也有多种途径,其中有一部分是随着业务的发展不断添加进来的,也有在业务系统初始化的时候,批量导入进来的。对于不断添加这个过程,不在此进行描述,只对批量导入做一个简单的说明。 以下涉及到的开发环境为:VS2008 + Oracle9i 对于批量导入有多种方式,各种方式的操作方式及效率也各不相同,下面我们来做一个简单的测试。 一.准备...
阅读全文
posted @
2010-04-08 15:57
Aicken(李鸣)
阅读(2768)
推荐(0) 编辑
职场10年之如何成为一名合格的程序员(上)
摘要:合格在这里如何定义呢?起码来说,我这里所说的合格并不代表“优秀”,因为如果我用优秀来做标题的话,那就表示成为一名没有“瑕疵”的程序员了,首先我不是那样的人,所以我也不能给出任何建议。所以我给“合格”下的定义就是:能满足企业需要,能有比较好的心态,能以大局为重,能够与团队进行合作,能够开发出符合需要的产品,这些就够了。从这里可以看出,我并不是一个完美主义者,实际上可以说是现实主义者,只是听起来我的做...
阅读全文
posted @
2010-04-08 14:54
Aicken(李鸣)
阅读(3222)
推荐(6) 编辑
使用Oracle数据库进行企业开发(三)
摘要:三、SQL调优数据库优化主要是DBA的工作,而且调优分成很多步骤,根据经验来看,首先需要调整的就是程序员写的SQL语句,一句不良的SQL,能致使整个Oracle宕机,这并不是夸张的说法,当然也不要根据这个来说明Oracle多么脆弱,首先应该看的是SQL如何优化。其实在开发环境或测试环境下,有时很难发现真正的性能问题,因为开发环境的数据量可能比生产环境的实际数据量要小很多,即便出现很多的FTS,效率...
阅读全文
posted @
2010-04-08 09:48
Aicken(李鸣)
阅读(1147)
推荐(1) 编辑
.Net Discovery系列之十一-深入理解平台机制与性能影响 (中)
摘要:转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。
本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议。
阅读全文
posted @
2010-04-07 11:46
Aicken(李鸣)
阅读(3067)
推荐(5) 编辑
使用Oracle数据库进行企业开发(二)
摘要:工欲善其事,必先利其器。Oracle自身带了一些辅助的客户端工具,但是都不太好用,但真正的DBA都喜欢用命令行方式来操作数据库。我们不是DBA,我们是程序员,所以我们很有必要去找一些好用的工具以提高我们的工作效率。下面推荐两款工具:1.PL/SQL Developer这个工具从名字就可以看出,非常适合开发人员使用,这个工具对数据库本身的管理功能很弱,给DBA使用的功能也很少。这个工具的版本更新较快...
阅读全文
posted @
2010-04-07 11:45
Aicken(李鸣)
阅读(1277)
推荐(0) 编辑
使用Oracle数据库进行企业开发(一)
摘要:开发人员与DBA是两个不同的角色,在实际工作中,两个角色可以互相帮助,互通有无,共同做好项目。但是实际上,开发人员需要一定的Oracle基础知识,这样才可以做出更好更专业的应用程序。对于Oracle系统架构等和开发关系不太大的知识,并不在本文讨论范围之内,本文仅针对部分开发人员需要了解的方面展开讨论,并且在某种程度上更偏向于dotnet程序员。一、网络配置使用Oracle做后台数据库,前端的应用程...
阅读全文
posted @
2010-04-07 10:42
Aicken(李鸣)
阅读(1476)
推荐(1) 编辑
ASP.NET设计国际电子商务项目中的本地化支持
摘要:在之前的文章中,我已经讨论过如何进行多语言的处理,但是最近发现,本地化支持中,多语言也只能算做其中一部分,还有其它一些同样重要的内容需要考虑,比如日期格式和数字格式。其实这部分都是出现在表现层的,不影响数据库里的存储,也不影响实际业务的操作,但是如果处理不当,却会引起非常大的麻烦,比如日期格式,中国和印尼的样式就是不一样的,“月”和“日”所处的位置不一样,如果只按中国的格式来发布,会在当地造成误解...
阅读全文
posted @
2010-04-06 13:28
Aicken(李鸣)
阅读(1006)
推荐(1) 编辑
.Net Discovery系列之十-深入理解平台机制与性能影响(上)
摘要:转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。
本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议
阅读全文
posted @
2010-04-06 10:35
Aicken(李鸣)
阅读(3749)
推荐(5) 编辑