小编hac*_*tsu的帖子

如果它不存在,如何在PowerShell中设置env变量?

谷歌搜索之后,我很惊讶我没有得到这个常见情况的答案......

如果环境变量不存在,如何在PowerShell中设置?

powershell environment-variables

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

Guava @VisibleForTesting:帮我一个完整的例子

我的目的是对私有方法进行单元测试,我理解如何导入@VisibleForTesting并将其用于私有方法.我做了很多搜索,但无法看到演示此功能的完整示例.

例如:

class MyClass {
    @VisibleForTesting 
    private double[] getWorkArray(double[] values,int length) {
               :
               :
        return <some double array> 
    }
}
Run Code Online (Sandbox Code Playgroud)

现在在JUnit中,我必须能够做到

@Test
public void testProvateMethod() {
    MyClass object = new MyClass();
    assertNotNull(object.getWorkArray(...);
}
Run Code Online (Sandbox Code Playgroud)

但困难的部分是我无法理解/执行以下操作a)包含相关注释处理器的maven编译器插件片段b)实际上能够测试私有方法.(因为它抛出了与方法可见性相关的错误)

我在JUnit中编写测试时(由于私有访问错误),我无法执行此操作.例如:mvn clean test

请提供一个完整的示例,说明完成私有方法的JUnit测试所涉及的所有步骤.

java unit-testing maven guava

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

adb"install"命令和"pm install"命令之间的区别?

使用install命令安装应用程序和使用程序包管理器pm install命令之间的区别是什么?他们做同样的工作吗?一个命令实际上是在后面调用另一个吗?

adb install -r APK_FILE
adb shell pm install APK_FILE
Run Code Online (Sandbox Code Playgroud)

android adb android-package-managers

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

启用S​​pring AOP或AspectJ

这是从这个问题继续:

@Aspect方面的Spring autowired bean为null

我最初的理解是,当使用Spring AOP时,使用@Aspect注释的类被创建为spring managed beans,因此依赖注入将正常工作.但是,似乎带有@Aspect注释的对象被创建为弹簧容器外的单例,因此我必须像XML一样配置它,以便将其作为spring托管bean启用:

<bean id="aspect" class="com.mysite.aspect" factory-method="aspectOf" />
Run Code Online (Sandbox Code Playgroud)

这已经让我完全糊涂了.我认为以下配置将使用spring AOP:

<context:component-scan base-package="com.mysite.aspectPackage"/>
<aop:aspectj-autoproxy/>
Run Code Online (Sandbox Code Playgroud)

因此,它将使用组件扫描创建方面bean来扫描@Aspect注释,然后autoproxy将创建一个beanPostProcessor,它使用适当的建议代理我的上下文中的所有bean.然后我想要启用aspectJ我需要一个完全不同的XML配置(顺便说一下,我似乎无法在文档中找到一个例子).正是这种配置使用aspectJ来创建可以在我的容器之外的方面,或者通过操作字节码而不是代理来工作.

注意
这不是关于spring AOP和J方面之间差异的问题,这里有很好的阐述:

Spring AOP vs AspectJ

java aop spring spring-aop

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

ANDROID:在Webview和httpclient之间共享会话

我实际上在WebView中记录了会话.但我也使用httpclient来发送和从网络获取数据.我在互联网上看到,无法获取WebView的内容,因此我需要使用我的httpclient从Web服务获取数据.

问题是这个webservice使用会话...而我的会话在我的WebView中,所以httpclient没有它,我无法访问webservice的内容.

我看到很多关于这个问题的帖子,但我不明白解决方案.

这是我在onPageStarted上做的:

CookieManager mgr = CookieManager.getInstance();
Log.i( "URL", url );
Log.i("Cookie",mgr.getCookie("mywebsite.com"));
String cookie_string = mgr.getCookie("mywebsite.com");
if(cookie_string.length() > 1) {                    
    Data.instance().getPref().edit().putString("cookie",cookie_string).commit();
}
Run Code Online (Sandbox Code Playgroud)

我看到我有这样的东西,所以我希望那些包括会话:(我删除号码)

__utma=......(number)......; 

__utmc=number;

__utmz=number.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); 

wt3_eid=%number%number; 

wt3_sid=%number
Run Code Online (Sandbox Code Playgroud)

然后我不知道该怎么做才能在我的httpclient中设置这个cookie.我尝试了,没有成功:

HttpClient client = new DefaultHttpClient();
BasicCookieStore cookieStore = new BasicCookieStore();
String login_cookie_string = Data.instance().getPref().getString("cookie", "");
String[] cookie_parts = null;
if(login_cookie_string.length()> 0)
{

    //debug_view.setText(login_cookie_string);
    Log.d("COOKIE", login_cookie_string);
    cookie_parts = login_cookie_string.split(";");

    for(int t=0;t < cookie_parts.length;t++)
    {
        String[] cookieContent = cookie_parts[t].split("=");
        Cookie login_cookie = new BasicClientCookie(cookieContent[0],cookieContent[1]);
        ((BasicClientCookie) login_cookie).setDomain("mywebsite.com");
        cookieStore.addCookie(login_cookie);
    }

}
((AbstractHttpClient) client).setCookieStore(cookieStore);
Run Code Online (Sandbox Code Playgroud)

android httpclient webview session-cookies

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

如何激活VsVim?

我在Visual Studio上使用ReSharper但我也是一个vim用户.我听说过这个VsVim.我下载并安装了visual studio 2010的扩展程序.但无法使任何vim命令工作.实际上,我认为我没有设法让VsVim工作,因为任何vim键绑定都不起作用.我怀疑ReSharper阻止了扩展.激活此VsVim扩展并开始使用它的方法是什么?

.net c# visual-studio-2010 vsvim

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

grep、grep -E、grep -P、grep -e 之间的区别

我是正则表达式的新手,想要使用“grep”命令进行一些练习。但是,我注意到人们一直在使用以下 rgx 命令。

grep -E <regular expression pattern>
grep -P <regular expression pattern>
grep -e <regular expression pattern>
grep <regular expression pattern>
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我它们之间有什么区别吗?我已经在“man”命令和一些简单的谷歌中查找了它们,但要么太简短,要么太难以理解(例如,什么是“perl 风格”或扩展正则表达式?)。

regex linux grep

8
推荐指数
0
解决办法
2662
查看次数

Linux的mv如何在内部工作?

我知道在Linux中,如果我们想要一个文件夹从命名f_oldf_new,我们可以运行:

mv f_old f_new
Run Code Online (Sandbox Code Playgroud)

但这个命令实际上让我很困惑.系统是否复制了所有内容f_old,将其粘贴到新文件夹f_newf_old最后删除?或者它只是重命名f_oldf_new

linux filesystems command-line

7
推荐指数
3
解决办法
4770
查看次数

javascript setTimeout或jquery延迟 - 两者都不适合我

div喜欢这个

<div id="sale">
    ........
</div>
Run Code Online (Sandbox Code Playgroud)

我试着用这两个

$('#sale').delay(3000).slideDown(500);
Run Code Online (Sandbox Code Playgroud)

setTimeout(sale(), 3000);

function sale() {
    $('#sale').slideDown(500);
}
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作.jQuery延迟说$('#sale').delay()不是一个函数,而setTimeout方式是无用的setTimeout调用(缺少引号).如果我在sale()通话中添加双引号,它只是说"销售没有定义".

为什么这些都不起作用?

我要做的就是在加载页面3秒后显示div.

javascript jquery delay settimeout

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

我们应该在观察者模式中使用 Wea​​kReference 吗?

我正在学习并尝试从本教程中用Java 实现观察者模式。我被困在我是否应该使用WeakReference主题来容纳观察者的问题上。

对于下面的实现, theSubject和 theBinaryObserver相互持有强引用,我担心这会阻止 GC 收集未使用的Subject.

所以我的问题是,我应该使用List<WeakReference<Observer>> observers而不是List<Observer> observers吗?

主题.java

public class Subject {

   private List<Observer> observers = new ArrayList<Observer>();
   private int state;

   public int getState() {
      return state;
   }

   public void setState(int state) {
      this.state = state;
      notifyAllObservers();
   }

   public void attach(Observer observer){
       observers.add(observer);
   }

   public void notifyAllObservers(){
       for (Observer observer : observers) {
           observer.update();
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

观察者.java

public abstract class Observer { …
Run Code Online (Sandbox Code Playgroud)

java design-patterns

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