小编Rya*_*ney的帖子

为什么Spring 3在使用Maven时需要显式的cglib依赖声明?

我正在使用Spring 3和Maven.我在我的pom.xml中定义了所有spring模块.

当我使用时<aop:scoped-proxy />,我得到一个错误,说CGLIB丢失了.

好吧......我把CGLIB添加为我的pom中的一个依赖项,它全部运行...

我有点困惑...... Maven是一个依赖管理器......当我使用spring-aop模块时为什么不下载CGLIB?

这不是唯一的情况......为什么有些项目需要显式依赖声明而不是使用Maven传递依赖机制?

spring dependencies maven-2 maven

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

Spring Data MongoDB尝试为自定义存储库方法生成查询

基于Spring Data Document文档,我提供了一个存储库方法的自定义实现.自定义方法的名称是指域对象中不存在的属性:

@Document
public class User {
    String username;
}

public interface UserRepositoryCustom {
    public User findByNonExistentProperty(String arg);
}

public class UserRepositoryCustomImpl implements UserRepositoryCustom {
    @Override
    public User findByNonExistentProperty(String arg) {
        return /*perform query*/;
    }
}

public interface UserRepository
        extends CrudRepository<?, ?>, UserRepositoryCustom {

    public User findByUsername(String username);
}
Run Code Online (Sandbox Code Playgroud)

但是,也许是因为我选择了方法名称(findByNonExistentPropertyName),Spring Data尝试解析方法名称,并从中创建查询.当它找不到nonExistentPropertyUser,会抛出异常.

可能的决议:

  1. 我在如何提供自定义方法的实现方面犯了错误吗?
  2. 有没有办法指示Spring不尝试根据此方法的名称生成查询?
  3. 我是否必须避免使用Spring Data识别的任何前缀?
  4. 以上都不是.

谢谢!

java mongodb spring-data spring-data-document

9
推荐指数
1
解决办法
3101
查看次数

在NodeJS中创建HTTPS客户端

我一直想知道如何使用Node.js(v0.3.8)安全地连接到HTTP服务器.我有以下代码:

var http = require("http");
var client = http.createClient(443, host, /* secure= */ true);
var request = client.request("GET", relativeUrl, { host: host });
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: Parse Error
    at Client.onData [as ondata] (http.js:1287:27)
    at Client._onReadable (net.js:648:27)
    at IOWatcher.onReadable [as callback] (net.js:156:10)
Run Code Online (Sandbox Code Playgroud)

过去半小时我一直在谷歌搜索答案,并阅读了http://nodejs.org/上的文档.我错过了什么?

javascript https node.js

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

在Brainfuck中实现控制结构

对于没有经验的人来说,Brainfuck是一种图灵完备的语言,只有8个命令,所有这些命令在C中都有文字等价物:

bf    c
----------------------
>     ++ptr;
<     --ptr;
+     ++*ptr;
-     --*ptr;
.     putchar(*ptr);
,     *ptr=getchar();
[     while (*ptr) {
]     }
Run Code Online (Sandbox Code Playgroud)

在任何带有软件包管理器的Linux发行版上,你应该能够找到并安装这个软件包beef,一个Brainfuck解释器,这样你就可以在家里玩了.

如上所示,Brainfuck只有一个控制结构,[…]它转换为C:

while (*ptr) { … }
Run Code Online (Sandbox Code Playgroud)

这让您可以IF VAR = 0 THEN GOTO 10从BASIC获得所有控制权.以下将调用,getchar()直到它返回0:

,    # *ptr = getchar();
[    # while (*ptr) {
  >,    # *(++ptr) = getchar();
]    # }
Run Code Online (Sandbox Code Playgroud)

但是,如果我只想读取换行符\n?在让我的大脑围绕如何适应这种简单的工作方式遇到一些困难之后if我想出了以下内容:

,            # *ptr = getchar();      /* store …
Run Code Online (Sandbox Code Playgroud)

computer-science turing-machines brainfuck

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

寻找ia32,ia64,amd64和powerpc的预取指令的最佳等价物

我正在看一些稍微混淆的代码,它们试图使用各种编译器内置函数对预取指令进行平台抽象.它似乎最初基于powerpc语义,分别使用dcbt和dcbtst进行读取和写入预取变化(这两个都在新的可选流操作码中传递TH = 0).

在ia64平台上我们有阅读:

__lfetch(__lfhint_nt1, pTouch)
Run Code Online (Sandbox Code Playgroud)

写的地方:

__lfetch_excl(__lfhint_nt1, pTouch)
Run Code Online (Sandbox Code Playgroud)

这(读取与写入预取)似乎与powerpc语义相当匹配(除了ia64允许时间提示).

有点奇怪的是,有问题的ia32/amd64代码正在使用

prefetchnta
Run Code Online (Sandbox Code Playgroud)

prefetchnt1
Run Code Online (Sandbox Code Playgroud)

因为如果该代码与ia64实现一致(在我们的代码中为我们的(仍然存在的)hpipf端口和我们现在已经死的windows和linux ia64端口的#ifdef变体).

由于我们使用intel编译器构建,因此我应该能够通过切换到xmmintrin.h内置函数来使我们的许多ia32/amd64平台保持一致:

_mm_prefetch( (char *)pTouch, _MM_HINT_NTA )
_mm_prefetch( (char *)pTouch, _MM_HINT_T1 )
Run Code Online (Sandbox Code Playgroud)

...只要我能弄清楚应该使用什么时间提示.

问题:

  • 是否有读取和写入ia32/amd64预取指令?我在指令集引用中没有看到任何内容.

  • nt1,nt2,nta时间变量中的一个是否优先用于读取与写入预取?

  • 知道是否有充分的理由在ia32/amd64上使用NTA时态提示,而在ia64上使用T1?

assembly prefetch

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

路线寻找软件如何运作?

我问的是一个非常高的,语言独立的级别.

如何找到路线(如Google地图"获取路线"或GPS中所示)?我无法相信它会尝试所有可能的路线,并选择最短/最快等.必须有一些合理的方法来找到给定起点和终点的最佳路线.

任何形式的解释都会很棒.

gps routes shortest-path satellite-navigation

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