小编wul*_*pro的帖子

.dll,.lib,.h文件之间有什么区别?

为什么在项目中我应该包含一些*.lib,.h或其他一些文件?这些东西用于什么?

c++ windows dll header-files

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

使用MongoDB进行单元测试

我选择的数据库是MongoDB.我正在编写一个数据层API来从客户端应用程序中抽象实现细节 - 也就是说,我实际上提供了一个单独的公共接口(一个充当IDL的对象).

我正在以TDD的方式测试我的逻辑.在每个单元测试之前,@Before调用一个方法来创建数据库单例,之后,当测试完成时,@After调用一个方法来删除数据库.这有助于提高单元测试之间的独立性.

几乎所有的单元测试,即执行上下文查询,都需要事先发生某种插入逻辑.我的公共接口提供了一个插入方法 - 然而,使用此方法作为每个单元测试的前驱逻辑似乎是不正确的.

我真的需要某种模拟机制,但是,我对模拟框架没有多少经验,而且Google似乎没有返回任何可能与MongoDB一起使用的模拟框架.

其他人在这些情况下做了什么?也就是说,人们如何单元测试与数据库交互的代码?

此外,我的公共接口连接到外部配置文件中定义的数据库 - 使用此连接进行单元测试似乎不正确 - 再次,这种情况会受益于某种类型的模拟?

java junit unit-testing mongodb morphia

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

参数化类型是什么意思?

链接指出以下内容:

具有实际类型参数的泛型类型的实例化称为参数化类型.示例(参数化类型):

Collection<String> coll = new LinkedList<String>();

那么什么是参数化类型?

  • Collection<String> 要么
  • LinkedList<String>

java generics

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

Node.js的http.Server和http.createServer有什么区别?

有什么区别:

http.Server(function(req,res){});

http.createServer(function(req,res){});

javascript node.js

21
推荐指数
1
解决办法
6859
查看次数

通用类父类

根据仿制药试验,

本节说明:

给定两个具体类型A和B(例如,数量和整数),MyClass<A>具有没有关系MyClass<B>,而不管是否甲乙是相关的.的共同的父MyClass<A>MyClass<B>为对象.

然而,我们在这里被告知,

虽然Integer是Number的子类型,但List<Integer>不是子类型List<Number>,事实上,这两种类型并不相关.的共同的父List<Number>List<Integer>List<?>.

为什么不是第一个例子中的MyClass<A>/ 的父亲?有什么区别?MyClass<B>MyClass<?>

java generics

15
推荐指数
1
解决办法
1130
查看次数

杰克逊和那个可怕的IOException

杰克逊的 ObjectMapper#readValue成员抛出三个例外:

IOException 
JsonParseException 
JsonMappingException
Run Code Online (Sandbox Code Playgroud)

JsonParseExceptionJsonMappingException扩展IOException.我想包装前面提到的两个子类并抛出我自己的自定义异常,然而IOException,被检查的基类要求我捕获或抛出它.

我把它扔到IOException调用层是没有意义的,但是,如果我把它隐藏起来,那就是一种气味.我最初的想法是不抓住它并将其留给调用者/运行时异常机制来处理它......但是,我不想强​​迫调用者捕获或指定.

在这种情况下,人们会怎么做?

java convention json exception jackson

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

如何访问另一个表单的表单控件?

我有两个Form班,其中一个有ListBox.我需要一个setter SelectedIndex属性ListBox,我想从第二个调用Form.

目前我正在做以下事情:

表格1

public int MyListBoxSelectedIndex
{
     set { lsbMyList.SelectedIndex = value; }
}
Run Code Online (Sandbox Code Playgroud)

表格2

private ControlForm mainForm; // form 1

public AddNewObjForm()
{
     InitializeComponent();
     mainForm = new ControlForm();           
}

public void SomeMethod()
{
     mainForm.MyListBoxSelectedIndex = -1;
}
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?

c# controls winforms

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

Netbeans 7和Jetty

是否可以将Jetty与NetBeans 7集成?

netbeans jetty

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

使用Node.js对不支持的HTTP方法的HTTP响应?

这通常更适用于HTTP,但我使用Node.js作为我的平台.

处理我的HTTP服务器的非接受HTTP方法时,最好的方法是什么?目前,我支持PUT和GET,但不支持POST.如果发出POST请求,我应该返回403还是405?

javascript http httprequest node.js

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

OpenProcessToken在Windows XP上使用Access Denied(5)失败

我的原型代码在我能够测试的每个Windows操作系统上运行良好,除了Windows XP.

当我在Windows XP上以管理员身份运行时,我在调用OpenProcessToken被拒绝访问(5).

我不知道有什么不同吗?

#include "stdafx.h"
#include <Windows.h>
#include <userenv.h>

#pragma comment(lib, "userenv")

void DisplayError(LPWSTR pszAPI)
{
    LPVOID lpvMessageBuffer;

    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_FROM_SYSTEM,
        NULL, GetLastError(),
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPWSTR)&lpvMessageBuffer, 0, NULL);

    wprintf(L"ERROR: API        = %s.\n", pszAPI);
    wprintf(L"       error code = %d.\n", GetLastError());
    wprintf(L"       message    = %s.\n", (LPWSTR)lpvMessageBuffer);

    LocalFree(lpvMessageBuffer);

    ExitProcess(GetLastError());
}

void SetDebugPrivileges()
{
    void* tokenHandle;

    TOKEN_PRIVILEGES privilegeToken;
    LookupPrivilegeValue(0, SE_DEBUG_NAME, &privilegeToken.Privileges[0].Luid);
    privilegeToken.PrivilegeCount = 1;
    privilegeToken.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &tokenHandle);
    AdjustTokenPrivileges(tokenHandle, 0, &privilegeToken, sizeof(TOKEN_PRIVILEGES), 0, 0);
    CloseHandle(tokenHandle);
} …
Run Code Online (Sandbox Code Playgroud)

windows legacy winapi

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