eclipse 打开文件所在目录

首先这个功能myeclipse自带有。但是myeclipse6.0太落伍了,之后的版本又太慢了。

点击一个文件,想定位到文件所在文件夹,有个插件

EasyExplorer 从 http://sourceforge.net/projects/easystruts

另外一种方法是:

Run–>External Tools–>Open External Tools Dialog…

new 一个 program

location 里面填 :C:\WINDOWS\explorer.exe

Arguments 里面填: ${container_loc}

在common tab页中Allocate Console选项去掉,以免每次打开还开个控制台。

本人忘性大,本文烂笔头类型,勿拍!

参见:

http://blog.csdn.net/xzknet/article/details/4627713

Continue reading eclipse 打开文件所在目录

spark plugin开发

两年前开发过spark,那时是改源码,当时改的很头疼,感觉它的代码很乱,一个功能的修改需要触动很多地方的代码,这么个基本的归纳结构都没做好。它的plugin设计的不好,我们没法只好改源码。

然而,我发现现在脑子里已完全不记得当时的细节了,哎……, 只能重新来过了。

目前是2.6.3:

主页: http://www.igniterealtime.org/projects/spark/sparkplug-kit.jsp

插件开发手册:http://www.igniterealtime.org/builds/sparkplug_kit/docs/latest/sparkplug_dev_guide.html

源码: http://www.igniterealtime.org/downloads/source.jsp 

其中spark源码: 

Spark:
svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark

之前的版本可以这样获得:http://svn.igniterealtime.org/svn/repos/spark/tags/spark_2_6_0

现在可以直接在Eclipse中开发插件而不需要发布到spark中,它提供的sparkplugkit提供调试环境。

To setup a project to run Spark within your IDE, you will need to the following:

  • It is required that you use the 1.4 JRE to build Spark.
  • Add all *.jar files in the Sparkplugs/spark/lib and Sparkplugs/spark/lib/windows directories to your classpath.
  • Add the resource directory (Sparkplugins/spark/resource) to your classpath for the native libraries.
  • Main Class - org.jivesoftware.Spark
  • VM Parameters - -Dplugin=path_to_your_plugin.xml file. This allows you to run your plugins within your IDE without deploying.
  • That's it.

建好工程后引用Sparkplugs/spark/lib and Sparkplugs/spark/lib/windows 里面的所有jar包。

还要添加Sparkplugins/spark/resource中的资源。

启动类是org.jivesoftware.Spark

需要添加vm参数 -Dplugin=path_to_your_plugin.xml

我下载其example,运行不起来,报错:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.jivesoftware.LoginDialog$ImagePanel.getPreferredSize(LoginDialog.java:815)

网上查不到原因,即使是官方论坛也没人回答,最后我用了一天时间从它的svn上用比蜗牛还慢的速度下了下来,从它的源码里面终于跑了起来。它的引用包在源码的build\lib中,带着一堆报错,终于看到登陆界面了。

另外一个问题是,没有找到哪里下载之前版本的sparkplug_kit, 这样如果代码是依赖之前的spark api,那就悲剧了,你不能用最新的sparkplug_kit来写plugin。

我真不知道这样的更新方式怎么用得起来!而且我是依赖2.6.0的api,到2.6.3就改的一塌糊涂,这TM还叫api吗?

Continue reading spark plugin开发

【链】自适应网页设计(Responsive Web Design)

http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html

文章翻译的是http://www.alistapart.com/articles/responsive-web-design/

有几个值得看的地方:

不同页面大小的展示工具 http://www.benjaminkeen.com/misc/bricss/

可以自定义大小,然后将其加为书签,使用时先打开测试页面,再点击保存好的书签,则会在新开的页面中以不同大小的iframe显示。

允许网页宽度自动调整

有网友的回应与我观点相同,这样做只适合简洁的页面,复杂的你可能做不出来兼顾的方案。考虑成本技术问题,还是“为不同的设备提供不同的网页”这样的方式靠谱一些。

不能普遍适用,百度首页、新浪首页等等这些主页,怎样能做到即保证信息量,又做到排布合理?
不仅要考虑实现成本,还要考虑显示、交互效果。
还是“为不同的设备提供不同的网页”这样的方式靠谱一些。

 

不适合信息量非常大的网站,个人认为不实用性有以下几条:
1.无法保证跨浏览器兼容性问题。
2.设计图的高保真还原,布局方式,排版方式,以及页面的交互
3.相对而言与其他布局方式的实现,有一定的门槛。制作成本相对较高。
只是个人愚见..

Continue reading 【链】自适应网页设计(Responsive Web Design)

join.me 好用的屏幕共享工具

https://join.me/

这个网站提供快捷的屏幕共享工具,共享方需要下载它的软件,运行共享,会生成一个http链接,通过这个链接就可以直接从浏览器里看到分享的屏幕了。很方便吧,特别适合临时共享的情况,不需要装什么live meeting。

它的收费版还提供语音通话,远程控制等功能(免费版也提供)。

看了一下web实现,使用flash做的。

Continue reading join.me 好用的屏幕共享工具

php源码加密的方式

方式大体有两种,扩展加密:

http://blog.csdn.net/kof820/article/details/5465910

php体系内的加密,字符串base64转换:

<?php
//变量注意区分数字 "0" 和 字符"O"
$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');
// 解码已编码的 URL 字符串, 解码结果是 fg6sbehpra4co_tnd
$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};
//然后把 解码后的字符分别 取得 4, 9, 3, 5 里面的值并连接在一起,结果是 base。
//下同, 最后的结果是 base64_decode
$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};
$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};
?>

<?php eval($GLOBALS['OOO0000O0']('JElJSUlJSUlJSUlJST0naGVhZGVyJzskSUlJSUlJSUlJbDExPSdpc19maWxlJzs='));
// $GLOBALS 已经定义的变量,$GLOBALS['OOO0000O0'] 值就是 base64_decode, 然后用它解码后面的字符串,结果 是 $IIIIIIIIIIII='header';$IIIIIIIIIl11='is_file'; eval 执行解出来的字符串,并得到相应的变量
?>

><?php /* */ $OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15}; // 同上可得 $OOO000O00 = 'fopen' $O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14}; // $O0O000O00 = 'fget' $O0O000O0O=$O0O000O00.$OOO000000{11}; // $O0O000O0O = 'fgetc' $O0O000O00=$O0O000O00.$OOO000000{3}; // $O0O000O00 = 'fgets' $O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16}; // $O0O00OO00 = 'fread' $OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8}; // $OOO00000O = 'strtr' $OOO0O0O00=__FILE__; //取得当前文件路径和文件名 $OO00O0000=0x100;

Continue reading php源码加密的方式

jprofiler调查openfire内存泄露

windows下,调试本机程序建议直接使用向导New Server Integration

选择gerneral server application

一路下一步,最后会生成需要添加的jvm参数,将其添加到java 命令后,对于windows下openfire,则是在openfired.vmoptions中添加。

如果发现此问题:

java.lang.NoClassDefFoundError: com/jprofiler/agent/InstrumentationCallee

则应检查加在openfired.vmoptions中的参数,在windows下,应该是

-agentlib:jprofilerti=port=18849 
-Xbootclasspath/a:D:\Program Files\jprofiler5\bin\agent.jar

注意是两行,不要双引号 (上面的值是通过配置向导生成的)

比较常用的是Heap Walker,生成快照选择指定类,然后可在references视图中看到引用,这对内存泄漏原因查找很有帮助。

结果发现内存逐渐上升,gc之后没有回到原来水平,主要是log4j的类使用char[]较多,将log4j日志级别设置为error,再观察似乎内存水平较平缓,尚待继续观察。

参考:

http://developer.51cto.com/art/201203/326402.htm

Continue reading jprofiler调查openfire内存泄露

Pagination


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1