2009年3月27日星期五

FOW:你最好把它保存为出版物。。。

Andreas的博客帖子你已经知道了BibSonomy的刮削服务它使BibSonomy能够自动从中提取发布元数据一些网站.

在过去的一段时间里,该服务还会检查用户是否发布指向可剪切网站的书签,在这种情况下,用户会得到相应的提示:
我们现在扩展了此功能,用户在点击“postBookmark”按钮,也被选中。因此,如果您选择BibTeX并按“postBookmark”或DOI,则可能会发生这种情况,您会收到一条通知,建议您最好将其保存为出版物,而不是书签。

您现在可以通过选择其中一个文本片段并按“postBookmark”来尝试一下:
  • 10.1007/978-3-540-73681-3_21
  • ISBN-13:978-0201485417

2009年3月25日星期三

城市集市

去年11月,Mounir Errami联系了我们,他是MireSoft公司。他建议与我们合作。MireSoft有一款名为城市集市,这是一个引文软件。它与Word很好地集成在一起,并在BibSonomy或Connotea等基于网络的工具之间架起了一座桥梁。它简化了从web应用程序接管数据的方式,并且能够为用Word编写的文章生成各种格式的引用。这样,它可以方便地撰写科学文章,并支持研究人员的科学工作。这是一张截图:



我们支持这种合作关系,因为我们认为BibSonomy需要与尽可能多的工具联系起来。这拓宽了其社区,并使BibSonomy对其用户更有价值。总结:如果您正在使用BibSonomy,并且正在寻找一种使用Word的简单方法,那么我们绝对可以推荐CiteSmart。

2009年3月20日星期五

新版本

我们刚刚发布了BibSonomy的新版本,它修复了几个错误并引入了新功能。

关于已修复错误的简要概述:
  • 作者页面上对特定用户或特定年份的限制被打破,即。,/publ/author/Jäschke/sys:年份:2008+sys:用户:jaeschke没有结果。现在这又起作用了。
    请注意,要按年份排序页面,您需要添加一个附加参数“sortPage=年“如果您想在顶部显示最新文章,请另外输入参数”sortPageOrder=描述“。这是一项新功能,允许在(几乎)任何BibTeX字段上对页面上的帖子进行排序。您甚至可以使用”|“作为分隔符,这样具有相同年份的帖子将按作者姓名排序。
  • BibTeX字段“摘要“已导出为”bibtex摘要“在某些情况下。这导致一些使用此字段的工具中断。现在该字段中再次包含了摘要”摘要“。注意:在API XML中,此字段仍命名为”bibtex摘要“。我们将在未来看看如何修复此问题(尽管它在那里不是一个真正的错误)。


新功能包括:

一些更改大大改进了BibSonomy的工作,我们将继续将页面传输到新的后端。如果您发现了有关新页面的错误或建议,请告诉我们!
我们将在本周即将推出的功能中更详细地介绍新功能。

2009年3月13日,星期五

FOW:与内存泄漏作斗争

本周的今天专题更具技术性。您可能知道BibSonomy基于MySQL/Tomcat架构。通常BibSonomy运行非常稳定,但Java虚拟机有时会停止运行,并显示“java.lang.OutOfMemoryError:PermGen空间“错误。这主要发生在Tomcat上重新部署BibSonomy项目之后。为什么会发生这种情况?简单的答案是:因为Java虚拟机没有足够的内存用于所谓的永久发电空间。此空间用于在主内存中保存Java类。一个简单的解决方案是为JVM提供更多的PermGen空间。但这并没有解决根本问题。通常JVM有足够的PermGen空间。提供更多内存的唯一结果是:错误将稍晚发生,而不是在重新部署后直接发生。

所以我们决定寻找内存泄漏的原因。很快我们发现,web应用程序中有一些类,类加载器无法删除因为它们被“链接”到由标准类加载器加载的类。可能有几个原因为此和使用正确的工具(JDK中的jmap和jhat)加上一些寻找参考链的小程序,我们发现了罪魁祸首:

*MySQL连接器/J(请参见http://bugs.mysql.com/bug.php?id=36565)
*iBatis公司(请参见https://issues.apache.org/jira/browse/IBATIS-540)
*与杰波瑞菲
*Tomcat公司(请参见https://issues.apache.org/bugzilla/show_bug.cgi?id=46221)
*我们可以通过将一些JAR移动到正确的位置(另请参见在这里在这里).

识别受试者是一项反复的任务——修复一个泄漏导致的下一个泄漏。。。我们一开始并不知道有这么多候选人。我们可以通过切换到新版本来修复iBatis,MySQL、JabRef和Tomcat的修复有点困难。
对于JabRef,我们必须修改源代码,使其不会启动AWT。此外,Tomcat生命周期监听器杀死了java.util.参考。文件系统首选项webapp关闭后使用可怕的Java内省攻击:

final Class clazz=CleanupListener.Class.getClassLoader().loadClass(“java.util.prefs.FileSystemPreferences”);
final字段f=clazz.getDeclaredField(“syncTimer”);
f.setAccessible(真);
最终计时器计时器=(计时器)f.get(null);
timer.cancel();

为了修复MySQL错误,侦听器确保在启动web应用程序时,MySQL连接类在web应用程序之前加载,并由标准类加载器加载,这样取消计时器线程(这是泄漏的原因)不会阻止卸载web应用程序。Tomcat中StandardContext的记录器(无论出于何种原因,都是通过webapps类加载器加载的)也会被侦听器杀死。

经过几周的工作,我们得到了一个无泄漏的应用程序。糟糕的是,我们正在使用的每个库都可能导致泄漏,如果我们不小心,泄漏会很快恢复。不幸的是,我们没有意识到可以将一种方法放入Tomcat或应用程序中,该方法只检查内存泄漏。

希望你发现这个有趣,并祝你自己的应用程序好运。。。

热门帖子