- 浏览: 125962 次
- 性别:
- 来自: 上海
最新评论
-
lliiqiang:
最简单的显示 存储分离,有的时候错别字与错误数据存储兼容。还有 ...
关于软件可扩展性与代码防御性编程的一点思考 -
bmqnc:
cqh520llr 写道sb,不帖代码,以后人家搜索到了浪费人 ...
今天自己做了redo-undo功能 -
cqh520llr:
我也觉得,代码风格和不定性样式太多了,
编码风格不取决于自己,取决于领导班子和现有代码 -
cqh520llr:
sb,不帖代码,以后人家搜索到了浪费人家时间,而且这个代码贴出 ...
今天自己做了redo-undo功能 -
shiqicai:
太隐晦,看不懂。
康神与顿神
文章列表
1. eclipse到现在为止对于运行时的rcp配置有一点一直感觉不太好,就是不能直接根据product的配置来选择运行时刻的导出信息,新版本的3.7也是如此,不过eclipse上已经将其作为一个bug提交,参见这里:https://bugs.eclipse.org/bugs/show_bug.cgi?id=326059(这里说到了可以打上一个补丁,只有3.7能打上这个补丁)
如果在团队开发中,提交了一个新插件,并且运行时要依赖该插件,则团队成员除了将其同步到本地之后,还要run configuration中设置相应的项,这非常不方便,而如果通过共享launch配置文件的方法,非常不好,并且 ...
我对工作流开发的理解
- 博客分类:
- 心情·心绪
今天看了各个公司的工作流很有感触,感觉大家做的东西都不是很好,还是那句话“要么做最好的那个,要么做第一个”,我觉得如果将工作流这部分做好的话,应该可以将其卖出去,平台这部分各个公司现在看来都做的不错,但专注于工作流这部分可能有待提高,平台我个人感觉像组件这种还是很容易做,而且做出来的产品也都不错,关键是这个东西没啥技术含量,看看大家都在做就知道了,但是工作流因为应用面较广,所以就变得不好做,关键是应用场景。工作流这部分我准备研究一个各部分的框架,如果有比较好的,可以吸收,然后看自己能不能在结合场景这部分做点东西出来。这个东西还是可做的。
CollectionUtils中的removeAll方法存在bug,它应该调用的是ListUtils的removeAll方法,可能是开发人员迷糊了一下,应该是个bug,我今天已经给apache写了一封信了。。
看了collection中的其他类,有些类还是相当厉害的,主要是思想比较好。
比如Closure这个类,有点像cpp中的STL中的算子的概念,已前cpp中经常见到对for_each的代码
进行提炼,这里与这个很像,以前一直以为这些要自己实现,没想到在apache colletion中已经
实现了。
有一句话还是相当好的:不要去重写能够下载的任何东西。
不过有一点有时感到迷惑: ...
我感觉现在开源软件很多,多得有时候自己都不知道要选那款开源软件是最好的。
就是说,很多开源软件确实做的很不错,但是这些开源软件都不能完完全全的应用到我的项目中,这很尴尬,因为我需要对他进行改造,有时,我发现这些开源软件某些地方做的不好,或者说不符合我的这个领域,或者说在我的这个领域,这个开源软件的工作方式换一种的话,可能会工作的更好,所以我需要了解开源软件的原理,包括他的源代码,工作原理,并且知道如何使用它,但是有时我发现其他的开源软件也能完成特定的任务,但是,这只是他超过某款开源软件的某个特性方面所以我需要借鉴这个开源软件的东西,将他的优秀的东西吸收到我的软件中来,如此下来,我需要研究各种开 ...
GCJ2011又要开始了
- 博客分类:
- 心情·心绪
2011的GCJ要开始了,bless一下今年能拿到T-shirt,哈哈。
不过时间在周末,家里又不能上网,所以真是杯具,估计周末只能跑到公司做题了,杯具!!!
需要注意的在自己的RCP项目中新建一个项目时需要注意不能将之前
已经创建的工程信息随意删除(删除时会删除一些版本管理的特定
信息,程序中,需要根据工程存在的不同情况做判断),否则在重新
打开RCP后无法将之前已经纳入版本管理的工程自动的纳入版本管理
。
ResourceNavigator使用的一些注意点:
需要注意的是导航器视图的TreeViewer中的标签提供器用了装饰器
,因此,这里要注意的是,在直接整合导航器视图到RCP程序中时,
需要自己提供一个标签变更监听器,然后根据发生的变化及时的刷
新树。
该标签装饰器中比较恶心的一点时,标签装饰器在后台渲染一副图
像,并且这种渲染是异步的,因此,会导致在getImage无法及时的
得到渲染后的图片,因此必须添加标签变更监听器,在图片渲染完
成后,根据渲染好的图片刷新导航器中的树。
这里可以总结中一个多线程情况下的UI表现:
在多线程情况下,界面表现总是出现不一致的情况,即有时候 ...
第一次profiling
- 博客分类:
- java
原来以为是程序中某个地方内存对象一直占用而没有得到及时的释放,我用JProfiler tunning了半天,一直没找到具体的原因,后来查看操作人员的日志,,发生堆空间溢出的地方不同,在代码中有多处存在,但后来经过分析,这些地方的共同点是在new一个对象(包括对象数组)时,发生了堆内存溢出,这个问题对我来说不是难事,肯定是程序中产生了大量的对象导致,关键就是确定在什么地方导致了大量对象产生,可以寻找一个代码切入点(凭经验和对代码的熟悉程度),在发生异常的地方,设置断点,并且在在debug时可以回看back trace,看哪些对象中存在巨大的对象,凭此就可以快速的找到原因。
经过断 ...
关于rcp插件加载的一个提示
- 博客分类:
- java
今天建立了一个新插件,然后在原插件中引用了该新插件,但是启动product时却发现找不到该新插件,后来弄了半天,终于搞明白了,必须在启动的时候将其配置到输出插件中这样才可以找到该新插件。
这两天主要是为GMF的环境的事情弄的焦头烂额,问题很多,而自己一开始的时候没有注意到这些问题(尤其是插件之间的版本的依赖关系),导致弄了很长时间。
首先说明我碰到的问题:
1.application id not found.
2.找不到对应的bund ...
当提示无法直接访问类时,可以在插件对应的manifest中直接加入类所在的bundle名称.
,如果还不行,还要检查要import的bundle是否export了对应的package。
目前我对osgi还不是很了解,但我估计这是osgi的某种机制。
看来学好RCP,对osgi的了解是必要的。
通常情况下,我们测试某一个代码的时候,会新建某个目录,经常我们会命名testXXX,然后我们会将测试的资源放入该文件夹,在程序中我们硬编码加载该文件夹中的资源,但是很奇怪的是我们有时加载不到该资源,路径检查了很多次,都是没问题的。
tricky的地方就在于能够\t是转义字符,而且eclipse中只有在输入值发生编译错误时能够提示错误,而此时testXXX是字符串是不会出现编译错误的,因此此时很难看出原来程序中的资源路径是否正确。
不知道eclipse中时候有高亮显示转义字符和特殊字符的选项,不过vi里是确实有的,vi能够高亮显示字符串中的转义字符,这一点太好用了!
SRM 499 DIV2
- 博客分类:
- 算法
250的和500的偏简单,就不说了,500的想明白了很简单,代码如下:
import java.util.Arrays;
public class ColorfulRabbits {
//easy problem!
public int getMinimum(int[] replies) {
int ans=0;
Arrays.sort(replies);
int n=replies.length;
for(int i=0;i<n;){
int count=replies[i];
int j=0;
for(;j& ...
程序设计上的思维定势
- 博客分类:
- 疯狂的程序员
今天在TC上做题,500pts的题目不难,但是陷阱很多。很多时候我们判断条件边界条件时会用-1来判断,但是如果-1值本身也是在结果集中,就不能再将-1值作为边界的条件了。但是因为经常写程序时-1是作为一个定界的值,久而久之,就会习惯性的使用该值作为判定条件,而不会的去仔细的检查该值会不会出现在结果集中。这大概是程序设计上的一种思维定势吧。
教训就是:不能想当然的解决问题,任何程序都要仔细的分析其输入输出而不能被习惯性的思维所框住。尤其是在判断临界值时必须考虑到临界值时候会在结果集中出现。这是容易犯错误的地方。
来公司半年了,工作一直没什么进展,想写的几个软件没写成,想学的知识没学成,想做的事情没做,想看的几本书没看完成,基本上照这么下去,我就废了。
还是晚上回去要好好看几本书。