从今天开始准备正式写Jexi编辑器,目标就是《设计模式》中的C++例子Lexi:一个图文混排的所见即所得编辑器:今天在公司闲的时候把《designpatterns》的Lexi设计部分仔细看了一遍,整理了一下GoF的设计:文档结构:应用Composite模式,如图:通过接口Glyph,应用Composite模式,将多个对象组织起来:文档格式:通过一系列FormattingAlgorithm来实现Formatting,这是由Composite和Composit
系统 2019-08-29 23:22:05 2097
让文章自动生成目录,编书用。方法0:微软WORD这个软件大家都很熟悉,但有不少功能我们并没有用到,其中不乏非常实用的。今儿个我给大家介绍一下如何用WORD自动生成目录。这对那些用WORD写书,写论文的朋友很有帮助。优点:用WORD根据文章的章节自动生成目录不但快捷,而且阅读查找内容时也很方便,只是按住Ctrl点击目录中的某一章节就会直接跳转到该页,更重要的是便于今后修改,因为写完的文章难免多次修改,增加或删减内容。倘若用手工给目录标页,中间内容一改,后面页
系统 2019-08-29 23:15:04 2097
Hibernate主键生成方式KeyGenerator主键产生器可选项说明:1)assigned主键由外部程序负责生成,无需Hibernate参与。2)hilo通过hi/lo算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3)seqhilo与hilo类似,通过hi/lo算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。4)increment主键按数值顺序递增。此方式的实现机
系统 2019-08-29 22:58:15 2097
在多线程程序中,我们经常需要对要访问的资源进行加锁。加锁的目的是为了同步对资源的访问,但是,加锁不可避免的会降低应用的并发量。那么如何在需要加锁的时候,尽可能地提高并发量了?下面是我的一些经验,仅供参考。1.首先,我们要控制好锁的粒度。锁的粒度越大,能支持的并发就越小。我们只需要将真正需要同步的代码块lock住,而不需要同步的代码块不要放在lock块中。当然,锁的粒度也不是越小越好,粒度太细的锁会导致编程很繁琐,而且需要足够的细心和全面考虑方可保证锁不会出
系统 2019-08-29 22:43:04 2097
金旭亮博客之“Web开发技术”资源主页2010年3月28日发表《Silverlight应用程序的本地通讯》2010年3月8日,发表《Silverlight4中使用MEF实现页面的动态装配》2009年12月10日,在博客园发表《ASP.NETMVC2异常处理机制中令人费解的HTTP500错误》2009.11.3日,发表博文《走出“浏览器”的Web应用程序》,介绍Silverlight3的独立运行程序2009.7.16发表博文《VS2010无法运行与调试Sil
系统 2019-08-29 22:27:57 2097
LianHsuehaboutgithubtwitterweiboatom体验meteor27May2012What?先很简单的介绍下meteor,它的官网是:meteor.com,官方的介绍是:Meteorisasetofnewtechnologiesforbuildingtop-qualitywebappsinafractionofthetime,whetheryou'reanexpertdeveloperorjustgettingstarted.翻译成
系统 2019-08-29 22:11:20 2097
javascript创建一个构造函数来定义类然后通过prototype来扩展下面我们通过javascript构造一个人类//相当于java中的构造函数person=function(name,address){this.name=name;this.age=22;this.address=address;};//相当java中的方法person.prototype={sayHi:function(){alert("大家好我的名字是"+this.name+"
系统 2019-08-29 21:58:35 2097
今天在buntu10.10使用源码安装完ruby1.9.2p290和rubygem1.8.10后,想利用gem去安装rails:geminstallrails,结果提示nosuchfiletoload--zlib错误。zlibisalibraryimplementingthedeflatecompressionmethodfoundingzipandPKZIP.解决办法,安装zlib1g和zlib1g-dev包(apt-getinstall或者利用Syna
系统 2019-08-12 09:27:36 2097
./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。makeinstall是用来安装的,它也从Makefile中读取指令,安装到指定的位置。makeclean清除编译产生的可执行文件及目标文件(objectfile,*.o)。makedistclean:除了清除可执行文件和目标文件外,把configure所
系统 2019-08-12 09:27:20 2097
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。作为一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理,而且正变得越来越流行了。最近我正在学习使用Git工具,因此收集了很多资料,比如经典的ProGit,不仅有英文原版,还有中文翻译版,我也因此将该中文翻译整理成pdf格式。我整理的ProGit
系统 2019-08-12 09:27:12 2097