小编NoB*_*ugs的帖子

为什么DDMS不再开放?

Android DDMS前几天正在运行,但是今天(1.1更新后)它总是会弹出一条错误消息,说明要检查日志文件.日志文件的结尾是:

!ENTRY org.eclipse.osgi 4 0 2015-02-23 20:36:49.944
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
    at org.eclipse.core.runtime.URIUtil.toURI(URIUtil.java:280)
    at org.eclipse.e4.ui.internal.workbench.ResourceHandler.loadMostRecentModel(ResourceHandler.java:127)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:370)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:220)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:557)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at com.android.ide.eclipse.monitor.MonitorApplication.start(MonitorApplication.java:86)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Run Code Online (Sandbox Code Playgroud)

SDK似乎是最新的但没有ddms,Ubuntu 14.04.这是一个已知的错误还是这个更新需要额外的设置?

java eclipse ddms android-studio

8
推荐指数
2
解决办法
1373
查看次数

任何与PHP中的子进程等价的东西?

在Java和Python,你有ProcessBuilder子流程,让您轻松使用转义字符串例如启动一个进程模块["ls", "some unescaped directory name"]-他们也给你强大的工具,如访问从标准输出读取,标准错误.PHP的任何等价功能是否比仅仅更加智能和有用exec()

php shell exec

8
推荐指数
1
解决办法
1967
查看次数

Haskell中的2d数组

我正在学习如何在Haskell中使用数组,例如,生成时间表:

Prelude Data.Array> array ((0,0),(10,12)) [((x,y),x*y) | x<-[0..10], y<-[0..12]] 
array ((0,0),(10,12)) [((0,0),0),((0,1),0),((0,2),0),((0,3),0),((0,4),0),((0,5),0),((0,6),0),((0,7),0),((0,8),0),((0,9),0),((0,10),0),((0,11),0),((0,12),0),((1,0),0),((1,1),1),((1,2),2),((1,3),3),((1,4),4),((1,5),5),((1,6),6),((1,7),7),((1,8),8),((1,9),9),((1,10),10),((1,11),11),((1,12),12),((2,0),0),((2,1),2),((2,2),4),((2,3),6),((2,4),8),((2,5),10),((2,6),12),((2,7),14),((2,8),16),((2,9),18),((2,10),20),((2,11),22),((2,12),24),((3,0),0),((3,1),3),((3,2),6),((3,3),9),((3,4),12),((3,5),15),((3,6),18),((3,7),21),((3,8),24),((3,9),27),((3,10),30),((3,11),33),((3,12),36),((4,0),0),((4,1),4),((4,2),8),((4,3),12),((4,4),16),((4,5),20),((4,6),24),((4,7),28),((4,8),32),((4,9),36),((4,10),40),((4,11),44),((4,12),48),((5,0),0),((5,1),5),((5,2),10),((5,3),15),((5,4),20),((5,5),25),((5,6),30),((5,7),35),((5,8),40),((5,9),45),((5,10),50),((5,11),55),((5,12),60),((6,0),0),((6,1),6),((6,2),12),((6,3),18),((6,4),24),((6,5),30),((6,6),36),((6,7),42),((6,8),48),((6,9),54),((6,10),60),((6,11),66),((6,12),72),((7,0),0),((7,1),7),((7,2),14),((7,3),21),((7,4),28),((7,5),35),((7,6),42),((7,7),49),((7,8),56),((7,9),63),((7,10),70),((7,11),77),((7,12),84),((8,0),0),((8,1),8),((8,2),16),((8,3),24),((8,4),32),((8,5),40),((8,6),48),((8,7),56),((8,8),64),((8,9),72),((8,10),80),((8,11),88),((8,12),96),((9,0),0),((9,1),9),((9,2),18),((9,3),27),((9,4),36),((9,5),45),((9,6),54),((9,7),63),((9,8),72),((9,9),81),((9,10),90),((9,11),99),((9,12),108),((10,0),0),((10,1),10),((10,2),20),((10,3),30),((10,4),40),((10,5),50),((10,6),60),((10,7),70),((10,8),80),((10,9),90),((10,10),100),((10,11),110),((10,12),120)]
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是保持矩阵或2d数组值的正确方法?为什么它给出((x,y),值的列表而不是给出一个值表?有没有办法改变它打印阵列的方式?

arrays haskell

7
推荐指数
1
解决办法
1万
查看次数

Python Unittest模块化与可读性

我有一个Python单元测试,一些测试具有相同的类型对象测试.一个测试类的基本概要是:

class TestClass(unittest.TestCase):
    def setup(self):
        ...

    def checkObjects(self, obj):
        for i in [...values...]:
            self.assertEqual(starttags(i,obj), endtags(i,obj))

    def testOne(self):
        #Get object one.
        checkObjects(objone)

    def testAnother(self):
        #Access another object.
        checkObjects(another)

    ... various tests for similar objects.
Run Code Online (Sandbox Code Playgroud)

虽然它是模块化的,但我注意到任何失败都会产生类似AssertionError的错误:number!= anothernumber,以及产生错误的代码行,self.assertEqual(starttags(i,obj), endtags(i,obj)).如果我列出测试而不是放入for循环,我会有类似的东西:

self.assertEqual(starttags(value1,obj), endtags(value1,obj))
self.assertEqual(starttags(value2,obj), endtags(value2,obj))
Run Code Online (Sandbox Code Playgroud)

这显示了哪种情况导致错误,但是复制粘贴代码,我认为通常不建议这样做.我最近注意到这个问题,当一个贡献者重新编写了一个更干净的单元测试时,遗憾的是它会在断言失败时提供很少的调试信息.那么,这些案例中最好的做法是什么?类似于元组列表的东西,使用assertEquals进入for循环是"更干净",但在不同行上使用不同值的复制粘贴可提供有用的堆栈跟踪.

python unit-testing assert

7
推荐指数
1
解决办法
368
查看次数

Ubuntu RXTX无法识别USB串行设备

我正在将一个带有librxtx-java的设备连接到Ubuntu.该代码以前在10.04中工作,但在12.04中它无法发现连接到计算机的usb-serial.

java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();
while ( portEnum.hasMoreElements() )
{
    CommPortIdentifier portIdentifier = portEnum.nextElement();
    System.out.println( portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType()) );
}
Run Code Online (Sandbox Code Playgroud)

尽管安装了适当的librxtx-java库,并且设备被识别(dmesg | tail在一行上显示"检测到串行设备转换器"),但代码的这一部分永远不会进入while循环.

更新:

似乎Ubuntu 12.04 64位无法与任何USB串行设备一起使用(虽然它们出现在dmesg中并显示为/ dev/ttyUSB,但它似乎不仅仅是Java的一个问题.

java usb ubuntu serial-port rxtx

7
推荐指数
1
解决办法
1万
查看次数

Tinymce中的Shortcode下拉框在WordPress 3.9中不起作用?

嗨,因为新版本即将发布我想我会下载它,看看我的主题是否仍然有用.

除了现在更长时间显示的下拉框之外,一切都很好.

以下是我们在以前版本中用于显示的代码.

PHP代码:

function register_ppp_shortcodes( $buttons ) {
   array_unshift( $buttons, "Shortcodes" );
   return $buttons;
}

function add_ppp_shortcodes( $plugin_array ) {
   $plugin_array['Shortcodes'] = get_template_directory_uri() . '/js/Shortcodes_js.js';
   return $plugin_array;
}

function ppp_shortcodes() {

   if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
      return;
   }

   if ( get_user_option('rich_editing') == 'true' ) {
      add_filter( 'mce_external_plugins', 'add_ppp_shortcodes' );
      add_filter( 'mce_buttons', 'register_ppp_shortcodes' );
   }

}

add_action('init', 'ppp_shortcodes');
Run Code Online (Sandbox Code Playgroud)

JS代码:

/*global tinyMCE, tinymce*/
/*jshint forin:true, noarg:true, noempty:true, eqeqeq:true, bitwise:true, strict:true, undef:true, unused:true, curly:true, browser:true, devel:true, maxerr:50 */ …
Run Code Online (Sandbox Code Playgroud)

javascript wordpress tinymce visual-editor tinymce-4

7
推荐指数
1
解决办法
2635
查看次数

Java lambda表达式如何引用自身?

我发现这篇文章在旧式函数与新Java-8 lambda函数和并行处理的比较中非常有用.我无法理解的一件事是对lambda函数的一个限制:从第4页开始:

3.3前提条件尽管lambda表达式是AIC的一种更有效的替代方法,但它们并不是完全替代的.在将AIC重构为lambda表达式之前,LambdaFicator会检查几个前提条件.这些前提条件是lambda表达式在Java中实现的固有方式,而不是我们工具的限制.(P1)AIC必须从接口实例化.抽象或具体类的实例无法转换为lambda表达式.(P2)AIC必须没有字段,并且只声明一个方法.lambda表达式代表一个匿名函数; 因此,具有多种方法的AIC无法转换为单个lambda表达式.(P3)AIC不得提及此或超级.在lambda表达式中,this和super是词法范围的,意味着它们的解释就像它们在封闭环境中一样,例如,好像它们出现在lambda表达式之前的语句中[6].但是,在AIC中,它们指的是内部类本身.(P4)AIC不得声明递归方法.为了执行递归调用,我们必须获得对匿名函数的引用.虽然LambdaFicator可以执行此重构,但这可能会在代码中引入不必要的复杂性并损害可理解性.(P4)AIC不得声明递归方法.为了执行递归调用,我们必须获得对匿名函数的引用.虽然LambdaFicator可以执行此重构,但这可能会在代码中引入不必要的复杂性并损害可理解性.(P4)AIC不得声明递归方法.为了执行递归调用,我们必须获得对匿名函数的引用.虽然LambdaFicator可以执行此重构,但这可能会在代码中引入不必要的复杂性并损害可理解性.

在P4上,"AIC不能声明递归方法...... LambdaFicator可以执行这种重构......",如何重构lambda表达式来引用自身?因为根据定义,这些lambda匿名函数没有可以引用的名称,并且没有对它们的引用(上面的P3).

lambda java-8

7
推荐指数
1
解决办法
3783
查看次数

如何在WordPress 3.5上传器中上传新图像后立即运行一些代码

我需要在WordPress 3.5上传器中上传新图像后立即运行一些代码.这是wp-includes/js/media-views.js的代码(第529-540行)

    uploading: function( attachment ) {
        var content = this.frame.content;

        // If the uploader was selected, navigate to the browser.
        if ( 'upload' === content.mode() ) 
            this.frame.content.mode('browse');

        // If we're in a workflow that supports multiple attachments,
        // automatically select any uploading attachments.
        if ( this.get('multiple') )
            this.get('selection').add( attachment );
    },
Run Code Online (Sandbox Code Playgroud)

我在此上传功能的底部添加了警报('新图像已上传!'),并且浏览器提示"新图像已上传!" 上传新图片时 但是我不想破解WordPress的核心,所以我想知道是否有一种方法可以在我的主题中编写一些可以做同样事情的代码?对不起我的英语不好.谢谢你们的关注!

javascript wordpress file-upload backbone.js wordpress-3.5

6
推荐指数
1
解决办法
2310
查看次数

为什么框架内的异常在qUnit中没有通知?

我注意到qUnit在测试的后期部分发生异常时没有给出任何通知.例如,在test()中运行它:

stop();
function myfun(ed) {
    console.log('resumed');
    start(); //Resume qunit
    ok(1,'entered qunit again');
    ok(ed.getContent()== 'expected content') // < causes exception, no getContent() yet.
}
R.tinymce.onAddEditor.add(myfun)
Run Code Online (Sandbox Code Playgroud)

在页面的内部iframe中将导致异常(TypeError:ed.getContent不是函数),但Qunit状态区域中没有任何内容告诉它.我看到0次失败.

(R是内部iframe,在这里使用技术:http://www.mattevanoff.com/2011/01/unit-testing-jquery-w-qunit/)我认为这不是最好的方法去测试导致某些结果的UI交互序列?是否总是更好地使用像硒这样的东西,即使对于一些主要是面向javascript的前端web-app测试?

作为旁注,Firefox控制台在这里显示了例外情况下的console.log,即使它首先发生了......为什么?

javascript iframe exception qunit firefox-developer-tools

6
推荐指数
1
解决办法
290
查看次数

是否可以有选择地关闭 Firefox/Chrome 中的 CSS 或 Javascript 功能进行测试?

IE 具有方便的调试功能,可让您模拟旧版本的 IE (7-10)。是否有与 Firefox/Chrome 插件类似的功能,例如,可以让您将 Chrome 转回仅具有几个版本前的功能?或者在 Firefox 中测试没有最新 Firefox 版本的 CSS 功能的站点?或者通过删除边框半径、阴影和高级 CSS 效果,而不实际更改浏览器中加载的样式表,粗略地显示站点在 IE7 中的样子?

似乎可以有效地仅在一个页面上删除 JS 功能 - 例如,window.ArrayBuffer = undefined会导致缺少 ArrayBuffer 功能,就像在旧浏览器中发生的那样 - 但是是否有任何插件或 api 来编写插件,以超越“用户代理” switch”并删除测试功能?

firefox compatibility cross-browser firefox-addon firefox-developer-tools

6
推荐指数
1
解决办法
1425
查看次数