一、介绍什么是代理模式。惯例,我们先看一下《研磨设计模式》中的介绍——为其他对象提供一种代理以控制对这个对象的访问。代理模式的本质是——控制对象访问。什么意思呢?就是我们每次访问一个对象的时候,实际上去访问这个对象的代理。这个代理实际上就是这个对象的替身,可以实现原本对象绝大多数的功能。只有当需要某...
分类:
其他好文 时间:
2014-04-28 08:41:14
阅读次数:
450
我们接着第一部分来说,上文提到了两种常规的DOM操作:创建文档片段和遍历元素节点。我们知道那些雨后春笋般的库,有很大一部分工作就是提供了一些优秀
的DOM操作API。可见原生的一些方法和属性,还不能很灵活快捷的来完成我们所希望的操作。下面将总结出总结出几种很实用的扩展方法
分类:
编程语言 时间:
2014-04-28 08:27:35
阅读次数:
703
最近在学习FyiReporting的源码,参考FyiReporting的报表对象定义,结合自己在工作中开发报表的应用场景,自己设计了一套报表对象定义,实现在报表设计器中报表对象的修改,通过序列化成Json对象来达到存储报表对象,相对于FyiReporting报表直接对报表定义的XML操作省去编写大量...
分类:
Web程序 时间:
2014-04-28 08:25:35
阅读次数:
745
在管理一个Openstack集群时,如何维护配置文件无疑是其中最艰难和繁琐的任务之一。因为你不仅要面对众多的核心服务(nova,keystone,glance,cinder,etc)的配置文件,还需要管理其相关服务的配置文件(mysql,rabbitmq,bind9,etc)。并且在Openstac...
分类:
其他好文 时间:
2014-04-28 08:06:00
阅读次数:
832
我们先来定义一个普通的模板类1 template2 struct Test3 {4
Test(){ cout t1;4 Test t2;5 Test t3;6 return 0;7 }输出的结果1: 模板类 模板类
模板类如果我们这样写,再增加一个模板类 1 ...
分类:
其他好文 时间:
2014-04-28 08:02:07
阅读次数:
749
1.先对文件内容排序:cat 1.txt |sort > 2.txt 保存到2.txt中
2.使用vim打开2.txt 执行替换命令:
替换空格:%s/ //g
替换tab:%s/^I//g (注意:^I 是直接按键盘是的tab键)
替换$: %s/^M//g (注意:^M 是按ctrl+v 再按Enter键)
3.cat 2.txt | uniq > 3.txt
本文为...
分类:
其他好文 时间:
2014-04-27 19:07:00
阅读次数:
544
对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()...
分类:
其他好文 时间:
2014-04-27 19:03:01
阅读次数:
491
三角形Time Limit: 2000/1000 MS (Java/Others)Memory
Limit: 65536/32768 K (Java/Others)Total Submission(s): 4390Accepted
Submission(s): 2957Problem Descrip...
分类:
其他好文 时间:
2014-04-27 16:55:16
阅读次数:
696
webView:shouldStartLoadWithRequest:navigationType:。该方法在WebView开始加载新的界面之前调用,可以用来捕获WebView中的JavaScript事件。webViewDidStartLoad:。该方法在WebView开始加载新的界面之后调用。we...
分类:
移动开发 时间:
2014-04-27 16:44:30
阅读次数:
812