天道酬勤,学无止境

backport

Easy way to backport Java 6 code to Java 5?

We've been developing a windows based application using Java for a while now, but NOW we want to make a mac port and have to reverse of code from Java 6 and Java 5. Is there any easy way to do this rather than re-coding Java 6 specific code? We'd like to keep our code up to date.

2021-06-02 09:45:45    分类:问答    java   backport

debugInfoEnabled for Angular 1.2

Angular 1.3 introduced a new debugInfoEnabled() method that can provide a boost in performance if called with false in the application config function: myApp.config(['$compileProvider', function ($compileProvider) { $compileProvider.debugInfoEnabled(false); }]); Also, Angular 1.3 dropped IE8 support. And this is a problem for me, my application have to run on IE8. Hence, I cannot upgrade to angular 1.3 and have to live with 1.2. Is there a way to achieve the same functionality with angular 1.2? In particular, at least a part of what debugInfoEnabled() does: prevent creation of ng-scope/ng

2021-06-01 21:26:53    分类:问答    javascript   angularjs   debugging   internet-explorer-8   backport

是否将Java 5/6功能移植到Java 1.4?(Backport Java 5/6 features to Java 1.4?)

问题 直到 2010 年底,我们都坚持使用 Java2SE v1.4。这真的很糟糕,但我们无能为力。 我们现在有哪些选择可以使用一些新功能? 我可以想到几种方法 更改字节码,例如使用 Retrotranslator 或 Retroweaver。 库的反向移植,例如并发反向移植,但这对泛型没有帮助。 模拟 Java 5 功能,例如检查集合、带有辅助方法的 Varargs 等。 通过预编译更改源代码,在最终编译之前剥离所有 1.5 内容,例如使用 Declawer 可以做到这一点。 我最感兴趣的是在使用 Weblogic 和“真实”东西的生产环境中使用它的非常积极的体验。 回答1 感谢您的回答。 这是所有相关答案和我自己的研究的摘要。 更改字节码:Retros 这是通过“复古”工具完成的:Retrotranslator,Retroweaver和JBossRetro。 Retrotranslator似乎是其中最成熟,最活跃的工具。 这些工具扫描所有类并更改字节码以删除Java 5和6功能。 支持许多Java5功能,其中一些功能是通过使用第三方反向端口库实现的。 此选项最受欢迎,并且得到了用户的积极反馈。 实验表明它可以按预期工作。 查看有关developerWorks的简短概述。 Pro:您可以完全使用Java 5开发,构建模块和各种JAR。 最后,您只需将所有类转换为Java 1

2021-06-01 21:02:16    分类:技术分享    java   java1.4   backport

有人将Lambda表达式回移植到Java 7吗?(Has anybody yet backported Lambda Expressions to Java 7?)

问题 阅读有关Java 8从lambda产生什么样的字节码的信息,我想到了Java 5发布的时间。 那时有Retroweaver和其他工具,可将用JDK 5编译的字节码转换为可在JRE 1.4上运行。 是否有人为Java 8 lambda创建了这种反向移植工具? 这将使Java开发人员从今天开始已经在生产质量的Java 7 JRE上使用lambda,而不必等待6-12个月的Java 8 GA版本。 这是我对为什么反向移植之类的理由应该相对容易实施的分析: Java 8 lambda似乎没有使用Java 7所不具备的任何JVM功能(例如invokedynamic ),并且java.lang.invoke.LambdaMetafactory类及其依赖项看起来像纯Java,因此应该可以实现它们在第三方库中。 因此,通过添加带有LambdaMetafactory副本的第三方库(在不同的程序包下)并通过转换字节码以使用该元工厂,可以使使用JDK 8编译的字节码在JRE 7上运行。 也许还会生成一些综合类和方法来绕过可访问性检查,如java.lang.invoke.MagicLambdaImpl暗示的。 或者像所有第一个启用了lambda的Early Access JDK一样为所有lambda生成匿名内部类。 回答1

2021-05-20 00:34:11    分类:技术分享    java   lambda   java-7   java-8   backport

将Python 3.4的正则表达式“ fullmatch()”回传到Python 2(Backport Python 3.4's regular expression “fullmatch()” to Python 2)

问题 Python 3.4引入了新的regex方法re.fullmatch(pattern,string,flags = 0)。 是否有人将这种新方法移植到较旧的Python版本? 回答1 为了确保整个字符串匹配,您需要使用\Z字符串结尾锚: def fullmatch(regex, string, flags=0): """Emulate python-3.4 re.fullmatch().""" return re.match("(?:" + regex + r")\Z", string, flags=flags) 不需要\A锚,因为re.match()已将匹配项锚定到字符串的开头。 回答2 这是我的反向移植,它至少有一个问题(感谢tim-pietzcker),但不需要重新编译正则表达式: import re def fullmatch(regex, string, flags=0): """Emulate python-3.4 re.fullmatch().""" m = re.match(regex, string, flags=flags) if m and m.span()[1] == len(string): return m 这是一些证明上述仿真功能的测试用例。 def compare_expansion(regex, s, template): m1 = re

2021-05-08 05:16:27    分类:技术分享    python   regex   python-3.x   python-2.x   backport

python backports for some methods

Is there any backport for the following methods to work with python 2.4: any, all, collections.defaultdict, collections.deque

2021-05-03 06:41:04    分类:问答    python   methods   backport

Has anybody yet backported Lambda Expressions to Java 7?

Reading about what kind of bytecode Java 8 produces from lambdas, it came to my mind the time when Java 5 was released. Back then there was Retroweaver and other tools for converting bytecode compiled with JDK 5 to run on JRE 1.4. Has anybody yet created such a backporting tool for Java 8 lambdas? It would let Java developers start using lambdas already today on production-quality Java 7 JREs, without having to wait 6-12 months for Java 8's GA release. Here is my analysis of why such as backporter should be implementable relatively easily: Java 8 lambdas don't seem to use any JVM features that

2021-04-23 05:54:42    分类:问答    java   lambda   java-7   java-8   backport

如何在Android 2.2.2(Froyo)中使用BitmapRegionDecoder代码?(How can I use BitmapRegionDecoder code in android 2.2.2 (Froyo)?)

问题 我正在阅读关于SO的另一个问题的答案,其中@RomainGuy评论说,可以(从更高版本的android到更高版本的)反向移植代码(如果我的说法不正确,请更正我)。 具体来说,我对将BitmapRegionDecoder的代码从Android版本2.3.3(Gingerbread)反向移植到版本2.2.2(Froyo)感兴趣。 我宁愿更普遍地问这个问题,因为什么是最佳实践/将代码从较新版本的Android反向移植到较旧版本时应避免什么,但是stackoverflow暗示我的问题可能因为过于主观而被关闭。 也许如果对该主题有足够的兴趣,可以将此问题“变形”为更一般的问题。可能是社区Wiki? 无论如何,无论您是针对我的用例,还是更一般的建议,我都希望对如何完成此工作有任何见解。 从Java类内部对本地方法的调用会使问题复杂化(必要时涉及NDK)吗? 如果确实有可能(并且合理)以这种方式选择代码和向后移植代码,我认为许多人会知道如何做非常有用。 回答1 如@hackbod所述, BitmapRegionDecoder基于外部skia库。 但这可能是一个好处。 让我们检查一下原始来源: BitmapRegionDecoder.java 。 通常围绕本机方法定义包装器: private static native Bitmap nativeDecodeRegion(int lbm

2021-04-19 00:55:38    分类:技术分享    java   android   graphics   android-ndk   backport

Backport Python 3.4's regular expression “fullmatch()” to Python 2

Python 3.4 introduced the new regex method re.fullmatch(pattern, string, flags=0). Has anyone back-ported this new method to older Python versions?

2021-04-16 20:10:46    分类:问答    python   regex   python-3.x   python-2.x   backport

“Backporting” nullptr to C++-pre-C++0x programs

More or less what the title suggests. While I'm not yet using C++0x I'd like to be prepared for when it happens, and I'd also like to reduce the amount of code I have to rewrite to use some of its facilities. That way I can get backwards and forwards compatibility in one go. One of the most interesting ones I have found is nullptr, which I've been using more often recently. After checking the "Official workaround" and Meyer's suggestion, I decided that I'd like to use this in both my C++ and future C++0x programs. The second part is simple -- being a keyword, nullptr will simply be supported

2021-04-15 06:29:08    分类:问答    c++   c++03   nullptr   backport   forward-compatibility