|
2008-09-25 |
最新的Ruby plugin更新到2.0 EAP版本啦,该版本主要针对IDEA 8.0,由于IDEA 8.0对多种语言的支持得到提升,所以Ruby插件的功能也得以提高。下面我们就看一下如何在IDEA下调试Ruby程序。
首先我们要安装 ruby-debug-ide,这个很简单,只要运行gem install ruby-debug-ide即可,如果你使用的是Windows,建议使用mswin32平台的包。如下图:
接下来启动IDEA,打开指定的程序,然后在右键菜单中选择debug选项即可,就可以启动debug流程啦,debug的工具窗口和Java的调试窗口是一致的。
总结:目前Ruby 2.0 plugin只支持IDEA 8.0 8823以上的版本,请注意版本匹配。更多关于Ruby 2.0 plugin的特性请参考: http://www.jetbrains.net/confluence/display/RUBYDEV/Ruby+Plugin+2.0+Release+Notes
|
|
2008-08-06 |
Nexus indexer就是将你本地Maven库建立Lucene索引。当然你会问建立索引干什么?道理很简单,就是把maven的库信息通过索引的方式呈现出去,通过这个索引可以了解maven库中包含的artifact信息。有了这些信息能做什么?看一个IDEA下编辑pom.xml的截屏:
在IntelliJ IDEA下编辑pom.xml可以做到代码提示的,但是这些信息从哪里来的?如上图中的软件版本号。这些信息都来自repository的Lucene索引。在IntelliJ IDEA和Eclipse的Maven插件中,都会使用这些索引信息,Maven的官方repository库的Lucene索引信息就保存在http://repo1.maven.org/maven2/.index 中。
既然Repository的Lucene索引这么重要,如何建立Lucene索引呢?其实我们只使用Nexus indexer CLI这个工具即可。下面就是为你的库创建Lucene的步骤。
1 在你的maven库下建立一个.index的目录。Windows系统下,请使用dos命令: md .index
2 打开http://repository.sonatype.org:8081/nexus/content/repositories/releases/org/sonatype/nexus/nexus-indexer下载最新的Neus Indexer CLI程序,如nexus-indexer-1.0-beta-4.3-cli.jar,然后放置到到.index目录下。
3 进入dos控制台,执行 java -jar nexus-indexer-1.0-beta-4.3-cli.jar -o -z -t full -i central -n central -r d:\your\repository\directory即可。这个时候就会生成Lucene的索引信息,速度还是非常快的。
4 在pom.xml添加maven repository信息,回到IntelliJ IDEA的maven配置窗口中,你会发现repository的lucene索引被用上啦。
Repository的Lucene索引非常重要,尤其对Maven的插件,当你的库有了这些Lucene信息,就会被插件更好地利用,你的库作用会发挥的更好。如果你想了解Repository管理,可以参考: http://blogs.sonatype.com/jvanzyl/2008/07/24/1216875180000.html
|
|
|
2008-08-04 |
在插件开发过程中,我们通常会使用一些代码片段,这些代码片段通常会作为模板,要么创建新文件或代码片段。如在iBATIS plugin中,用户可以自定义配置文件,这样依据这些设置生成文件和代码片段。但是如何编辑这些模板文件呢?通常我们使用一个JTextArea来容纳这些模板文件的内容,用户在textarea中进行内容编辑。使用JTextArea编辑特定文件内容,相当低效,如果能使用IDEA的文件编辑器来编辑这些模板文件内容,那将非常高效。如何将FileEditor嵌入到插件中作为模板编辑器?在IDEA中其实很简单。首先模板这些都是一段文本,不是实实在在的文件,所以我们使用LightVirtualFile创建一个内存中的文件,然后使用TextFileEditorProvider去创建一个FileEditor,这个FileEditor其实就是TextFileEditor,这样我们可以获取一个Editor对象,这个Editor其实就是和用户交互的界面,这个Editor对象同时包含一个Document对象,模板的内容都保存在这个Document对象中。接下来我们就需要在插件UI界面中嵌入FileEditor,很简单,只需要将FileEditor对应的JComponent添加进来即可(fileEditor.getComponent())。通过这个机制,FileEditor就被加入为自定义模板内容编辑器。
这个内嵌的FileEditor功能和实际的编辑器没有任何区别,代码高亮、代码完成、错误提示、重构功能等等都可以使用,这样编辑模板将非常方便,而不是之前的在外部编辑好,然后拷贝到JTextArea中。将FileEditor内嵌将会让插件开发更加方便。下图是REST Client的界面样例:
|
|
|
2008-06-10 |
目前开发Web应用Javascript发挥的作用越来越大,相关的Javascript框架也比较多。但是有一个问题,我们开发过程中,所有的JS代码都添加了注释,如使用JsDoc,代码的可读性比较强,同时这样的代码也便于调试。但是在产品环境中,我们希望这些JS代码是压缩和混淆过的,这主要是让JS代码加载的更快,这也是Google AJAX Libraries API出现的原因。YUI Compressor是一款非常强大JS混淆和压缩工具,目前很多Javascript Framework都使用YUI Compressor进行代码分发。在Java Web应用开发中,Maven是常用的项目管理工具,所以这里讲述一下如何结合Maven和YUI Compressor实现我们上述的需求。
要实现上述的功能,我们需要使用YUI Comprssor Maven Plugin,通过该plugin,可以实现对JS的压缩。首先我们要求YUI Compressor在process-resources期间发生作用,我们要添加以下代码:
<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
</plugin>
对于Develop和Test环境,我们希望YUI Compressor不工作,主要是调试方便,所以我们还需要添加一个production的profile,然后将上述的代码加入到production profile中即可,只要启动production profile,YUI Compressor就会工作。
YUI Compressor不仅可以压缩JS,CSS文件同样适用,所以YUI Compressor绝对对你的Web应用发布有很好的作用,结合Maven这个优秀的项目管理工具,将让这个过程根据简单。
参考文档:
YUI Compressor: http://developer.yahoo.com/yui/compressor/
YUI Compressor Maven Plugin: http://alchim.sourceforge.net/yuicompressor-maven-plugin/
|
|
|
2008-05-29 |
现在web开发基本都会用到Javascript的开发包,典型的如:Prototype, JQuery, script.aculo.us, Mootools或dojo等。通常我们会将这些Javascript开发包反正项目源码中,然后页面中指定就可以啦。这样会有一个问题,就是浏览器每次都要去请求javascript文件,网络带宽会受到挑战。对于大多数Web Server来说,很少有SA去设置这种静态文件的cache(expire header),gzip输出(压缩传输)等。对于Javascript开发包来说,还牵涉到Javascript的代码压缩(如YUI Compressor)等。总之这些知名的Javascript开发包的js文件会从你的服务器上持续下载,让你的应用变慢。
Google AJAX Libraries API是什么?官方解释:A CDN for JavaScript libraries。很简单,Google CDN保存这些文件并进行cache。CDN不用说啦,让浏览者离站点文件更近,大的站点都会使用这个技术,同时使用gzip输出,所以浏览者下载文件就会更快。由于提供了cache技术,所以浏览器不会再次请求这些缓存的js文件,所以速度就快啦,也就是说如果A站点使用Google AJAX Libraries提供的js文件,B站点也使用Google AJAX Libraries提供的js文件,那么浏览者从A站点到B站点时,这些js文件就不会被再次下载,网页显示速度就快很多。
原理讲述完毕后,相信很多人都会尝试这项技术,Google提供了No.1的宽带和技术,如果你的站点是一个租用的空间,完全可以考虑一下,会让你的站点快点。目前Google AJAX Libraries API还没有提供YUI和ExtJS一些Javascript开发包,相信会在以后加进来。关于如何使用Google AJAX Libraries API,看一下首页的介绍就可以啦,非常简单。http://code.google.com/apis/ajaxlibs/ ,YouTube上有一个视频,讲述原理的,非常不错:http://www.youtube.com/watch?v=4F4Jb1ssEvI
再聊一下开发。Google已经帮你托管了这些js开发包,那么你的项目代码中还有没有必要包含这些js开发包。个人建议,加上,而且添加没有经过压缩、保留注释的js原始文件。虽然你的代码中没有直接使用这些原始文件,但是IDE工具需要这些文件进行代码提示。如在IntelliJ IDEA中,IDEA是对JS进行索引的,及时你在一个文件中没有指定包含某一js文件,IDEA也能进行代码提示,所以用Google AJAX Libraries对开发完全没有影响,部署的时候也不需要进行任何设置。之前js压缩,发布的流程完全没有,开发反而便捷不少。
最后瞎扯一下,事实上不少人利用Google提供的带宽做一些便利的事情。如果使用Google Code来托管自己的静态文件(图片,文字说明等)。你只需要在Google Code创建一个项目,然后将一些静态文件提交到svn库中,然后在代码中直接引用这些静态文件,这样就可以使用Google的带宽来托管这些文件,速度如何?依据你实际情况考虑。
|
|
|
<< 第一页 < 上一页 1 2 3 4 5 6 7 8 下一页 > 最后一页 >>
|
| 第 1 - 5 共 37 |