小编Mr_*_*s_D的帖子

如何修补eclipse插件?

我想在eclipse插件(WTP的官方插件)中修复一个错误.我在本地更改了源代码,调试了它 - 一切都很好.

现在我想将此更改传播到我的eclipse安装,但我遇到了问题.似乎有不止一种方法可以达到这个目的,例如:

这个站点推荐了片段,但是Eclipse FAQ忽略了这一点.

但我被困住了,似乎没有办法对我有用.

更新:

我按照建议尝试创建并安装功能补丁.安装完成后,将安装功能补丁,但不会安装包含补丁的插件.插件的先前/现有版本仍然存在且处于活动状态.

我想知道为什么会这样吗?这件事与签名官方插件有关吗?是否有日志可以查看未安装修补插件的原因?

最终更新:

问题是我修补了一个父功能(已经在eclipse安装细节中显示),而不是直接包含该插件的直接功能.在为修补指定正确/"最低级别"功能后,一切都按预期工作.

java eclipse eclipse-plugin

10
推荐指数
1
解决办法
4741
查看次数

android.net.wifi.STATE_CHANGE:在Wifi断开连接时未触发

当Wifi连接重新启动时,仅具有带动作的广播意图NETWORK_STATE_CHANGED_ACTION(其常量值是 android.net.wifi.STATE_CHANGE)是正常的吗?即,当Wifi断开连接时,我没有得到这个意图.

更新:我最感兴趣的是> = 2.2 Froyo

android wifi wifimanager

10
推荐指数
2
解决办法
2万
查看次数

Java在通用方法中限制了参数

我在泛型方法中使用有界参数测试了一些东西,我发现了一些奇怪的行为.
如果有人能够在下面的代码片段中解释这两个错误,那将会很棒.

想象一下,有两个类Class1,Class2都来自a BaseClass. Class2实现一个接口.

Class1,我有一个方法,Class2以下列方式返回一个实例:

public class Class2 extends BaseClass implements Interface {

    @Override
    public void method() {
        System.out.println("test"); //$NON-NLS-1$
    }
}

public class Class1 extends BaseClass {

    public <T extends BaseClass & Interface> T getTwo() {
        return new Class2();
        // Error: Type mismatch: cannot convert from Class2 to T
    }

    public static void main(String[] args) {
        Interface two = new Class1().getTwo();
        // Error: Bound mismatch: The generic method …
Run Code Online (Sandbox Code Playgroud)

java generics methods

10
推荐指数
1
解决办法
1396
查看次数

为什么rand()在fork之后不是那么随机?

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int i =10;
    /* initialize random seed:  */
    srand(time(NULL));
    while(i--){
        if(fork()==0){
            /* initialize random seed here does not make a difference:
            srand(time(NULL));
             */
            printf("%d : %d\n",i,rand());
            return;
        }
    }
    return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

打印相同(每次运行时不同)数量10次 - 预计?我有一个更复杂的代码片段,每个分叉的进程依次运行 - 没有区别

c random fork

10
推荐指数
3
解决办法
7010
查看次数

TypeError:zip参数#1必须支持迭代

for k,v in targets.iteritems():
    price= str(v['stockprice'])

    Bids = str(u''.join(v['OtherBids']))
    Bids = Bids.split(',')

    # create a list of unique bids by ranking
    for a, b in zip(float(price), Bids):
        try:
            del b[next(i for i, e in enumerate(b) if format(e, '.4f')  == a)]
        except StopIteration:
            pass
Run Code Online (Sandbox Code Playgroud)

我从我的字典中提取数据,但似乎所有这些都是unicode.我怎么能摆脱unicode废话?

iterator typeerror python-2.7

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

Visual Studio C++多行注释

在VS C++代码中,如果我没有选择任何内容或选择完整行并按下注释选择(Ctrl + K + Ctrl + C),那么它将使用//注释整行

int x = 5;
Run Code Online (Sandbox Code Playgroud)

按Ctrl + K + Ctrl + C后不选择任何内容或选择全行.

// int x = 5;
Run Code Online (Sandbox Code Playgroud)

现在,如果我选择该行的某些部分并再次按下注释按钮,则仅评论所选文本(粗体表示已选中)

int x = 5 ;

按下Ctrl + K + Ctrl + C并选择x = 5.

int /*x = 5*/;
Run Code Online (Sandbox Code Playgroud)

包含多条线

int x = 5;

int y = 2;

int z = x*5;

评论后快捷方式

int/* x = 5;
int y = 2;
int z =*/ x * 5;
Run Code Online (Sandbox Code Playgroud)

我想要的是

//int x = 5;
//int y = 2; …
Run Code Online (Sandbox Code Playgroud)

c++ comments styling visual-studio-2010

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

无法为cmake指定BOOST_ROOT

我安装了多个版本的Boost(Windows 7/MinGW).我需要使用一个特定的(1.53.0).

我在CMakeFiles.txt文件中定义了BOOST_ROOT: SET(BOOST_ROOT C:/boost_1_53_0/)但是我一直收到这个错误:

> cmake .
BOOST_ROOT=C:/boost_1_53_0/
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1191 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.48.0

  Boost include path: C:/Boost/include/boost-1_48

  Detected version of Boost is too old.  Requested version was 1.53 (or
  newer).

  The following Boost libraries could not be found:

          boost_filesystem

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Run Code Online (Sandbox Code Playgroud)

我还将BOOST_ROOT定义为环境变量,但结果相同.

为什么cmake还在寻找旧版本?

boost version cmake environment-variables

10
推荐指数
3
解决办法
4万
查看次数

使用LocalBroadcastManager注册的BroacastReceiver的onReceive()运行在哪个线程上?

我在偏好活动中注册广播接收器,并从(唤醒)IntentService发送(同步)广播.显然onReceive在服务的线程上运行.这是我的错吗?是否记录了行为?

偏好活动:

public final class SettingsActivity extends BaseSettings {

    private static CharSequence sMasterKey;
    private CheckBoxPreference mMasterPref;
    // Receiver
    /** If the master preference is changed externally this reacts */
    private BroadcastReceiver mExternalChangeReceiver =
        new ExternalChangeReceiver();

    public static void notifyMonitoringStateChange(Context ctx,
            CharSequence action, boolean isToggling) {
        final LocalBroadcastManager lbm = LocalBroadcastManager
            .getInstance(ctx);
        Intent intent = new Intent(ctx, ExternalChangeReceiver.class);
        intent.setAction(action.toString());
        intent.putExtra(TOGGLING_MONITORING_IN_PROGRESS, isToggling);
        lbm.sendBroadcastSync(intent);
    }

    @Override
    protected void onStart() {
        super.onStart();
        final LocalBroadcastManager lbm = LocalBroadcastManager
            .getInstance(this);
        lbm.registerReceiver(mExternalChangeReceiver, new IntentFilter(
            ac_toggling.toString()));
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

multithreading android broadcastreceiver localbroadcastmanager

10
推荐指数
2
解决办法
3095
查看次数

当我明确地将键作为第一个元素提供时,为什么要更快地排序元组的python列表?

当我没有明确指定应该使用密钥时,对元组列表(字典键,密钥是随机字符串的值对)进行排序更快(编辑:在@Chepner的评论中添加了operator.itemgetter(0)和密钥版现在更快!):

import timeit

setup ="""
import random
import string

random.seed('slartibartfast')
d={}
for i in range(1000):
    d[''.join(random.choice(string.ascii_uppercase) for _ in range(16))] = 0
"""
print min(timeit.Timer('for k,v in sorted(d.iteritems()): pass',
        setup=setup).repeat(7, 1000))
print min(timeit.Timer('for k,v in sorted(d.iteritems(),key=lambda x: x[0]): pass',
        setup=setup).repeat(7, 1000))
print min(timeit.Timer('for k,v in sorted(d.iteritems(),key=operator.itemgetter(0)): pass',
        setup=setup).repeat(7, 1000))
Run Code Online (Sandbox Code Playgroud)

得到:

0.575334150664
0.579534521128
0.523808984422 (the itemgetter version!)
Run Code Online (Sandbox Code Playgroud)

但是,如果我创建一个自定义对象key=lambda x: x[0]显式传递sorted使其更快:

setup ="""
import random
import string

random.seed('slartibartfast')
d={}

class A(object):
    def __init__(self):
        self.s …
Run Code Online (Sandbox Code Playgroud)

python sorting tuples timeit python-2.7

10
推荐指数
1
解决办法
945
查看次数

如何在张量流中乘以向量和矩阵而不进行重新整形?

这个:

import numpy as np
a = np.array([1, 2, 1])
w = np.array([[.5, .6], [.7, .8], [.7, .8]])

print(np.dot(a, w))
# [ 2.6  3. ] # plain nice old matrix multiplication n x (n, m) -> m

import tensorflow as tf

a = tf.constant(a, dtype=tf.float64)
w = tf.constant(w)

with tf.Session() as sess:
    print(tf.matmul(a, w).eval())
Run Code Online (Sandbox Code Playgroud)

结果是:

C:\_\Python35\python.exe C:/Users/MrD/.PyCharm2017.1/config/scratches/scratch_31.py
[ 2.6  3. ]
# bunch of errors in windows...
Traceback (most recent call last):
  File "C:\_\Python35\lib\site-packages\tensorflow\python\framework\common_shapes.py", line 671, in _call_cpp_shape_fn_impl
    input_tensors_as_shapes, status) …
Run Code Online (Sandbox Code Playgroud)

python matrix-multiplication tensorflow

10
推荐指数
2
解决办法
2万
查看次数