小编Ale*_*ack的帖子

在Java中编码URL查询参数

如何编码查询参数以在Java中的URL上进行编码?我知道,这似乎是一个明显的问题.

我不确定有两个细微之处:

  1. 空格应该在网址上编码为"+"还是"%20"?在Chrome中,如果我输入"http://google.com/foo=?bar me",Chrome会将其更改为使用%20进行编码
  2. 将冒号":"编码为%3B是否必要/正确?Chrome没有.

笔记:

  • java.net.URLEncoder.encode似乎没有用,它似乎是为了提交表单的编码数据.例如,它+代替空间编码空间%20,并编码不必要的冒号.
  • java.net.URI 不编码查询参数

java urlencode

98
推荐指数
5
解决办法
18万
查看次数

GCC C++链接器错误:未定义引用'vtable for XXX',未定义引用'ClassName :: ClassName()'

我正在使用Eclipse-CDT在Ubuntu x64上设置一个C++项目.我基本上是在打招呼世界并链接到商业第三方图书馆.

我已经包含了链接到其库的头文件,但我仍然遇到链接器错误.除了明显的问题之外,这里是否存在一些可能的问题(例如我99%肯定我正在链接到正确的库).

  1. 有没有办法确认我链接的静态库是64位?
  2. 有没有办法确认该库是否具有我期望它具有的类(和方法)?

Eclipse说:

Building target: LinkProblem
Invoking: GCC C++ Linker
g++ -L/home/notroot/workspace/somelib-3/somelib/target/bin -o"LinkProblem"  ./src/LinkProblem.o   -lsomelib1 -lpthread -lsomelib2 -lsomelib3
./src/LinkProblem.o: In function `main':
/home/notroot/workspace/LinkProblem/Debug/../src/LinkProblem.cpp:17: undefined reference to `SomeClass::close()'
./src/LinkProblem.o: In function `SomeOtherClass':
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148: undefined reference to `SomeClass::SomeClass()'
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148: undefined reference to `vtable for SomeOtherClass'
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:151: undefined reference to `SomeClass::~SomeClass()'
./src/LinkProblem.o: In function `~SomeOtherClass':
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: undefined reference to `vtable for SomeOtherClass'
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: undefined reference to `SomeClass::~SomeClass()'
/home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: undefined reference to `SomeClass::~SomeClass()'
collect2: ld returned 1 exit status
make: *** …

c++ linker g++ eclipse-cdt

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

什么是在ReactJS中更新数组中对象的最佳方法?

如果你有一个数组作为你的状态的一部分,并且该数组包含对象,那么通过更改其中一个对象来更新状态是一种简单的方法吗?

示例,从反馈教程中修改:

var CommentBox = React.createClass({
  getInitialState: function() {
    return {data: [
      { id: 1, author: "john", text: "foo" },
      { id: 2, author: "bob", text: "bar" }
    ]};
  },
  handleCommentEdit: function(id, text) {
    var existingComment = this.state.data.filter({ function(c) { c.id == id; }).first();
    var updatedComments = ??; // not sure how to do this  

    this.setState({data: updatedComments});
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

识别并描述Scala的泛型类型约束

我见过"<:"和">:"和"<%"等,有人能给(或找到)这些的好描述吗?有什么可能的限制,他们做了什么,以及什么时候使用它们的例子?

generics scala

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

如何在Scala中定义函数的类型?

我希望有一种方法可以为Scala中的函数定义类型.

例如,假设我想要一个需要两个Ints并返回一个布尔值的函数,我可以定义一个使用它的函数:

def checkInts(f: (Int,Int) => Boolean) = {
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有办法定义f的类型?然后我可以这样做:

def checkInts(f: MyFunctionType)
Run Code Online (Sandbox Code Playgroud)

要么

def checkInts(f: Option[MyFunctionType])
Run Code Online (Sandbox Code Playgroud)

scala function

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

我如何获得/使用LibUUID?

我正在尝试替换一个调用,::CoCreateGUID因此我可以在Linux上的C++程序中生成GUID.

我知道libuuid支持这个,我已经读过这个问题了.

我对Ubuntu/GCC/Linux有点新意,所以我开始这样:

#include <uuid/uuid.h>
Run Code Online (Sandbox Code Playgroud)

而现在我被卡住了!:) G ++找不到uuid.h,我不知道如何获取/找到它.

linux uuid gcc guid

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

可以/应该在Scala中添加/创建从T到Option [T]的隐式转换吗?

这是一个让事情变得更有效率的机会(对于程序员而言):我觉得不得不把事情包裹起来Some,例如Some(5).这样的事情怎么样:

implicit def T2OptionT( x : T) : Option[T] = if ( x == null ) None else Some(x)
Run Code Online (Sandbox Code Playgroud)

scala scala-option

35
推荐指数
3
解决办法
4530
查看次数

Boost链接器错误:未解析的外部符号"class boost :: system :: error_category const&__cdecl boost :: system :: get_system_category(void)"

我刚刚第一次开始使用Boost,详情如下:

  1. 我正在使用Visual Studio 2008 SP1
  2. 我在做x64 Build
  3. 我只使用boost :: asio(以及它拥有的任何依赖项)

我的代码现在编译了,我将我的项目指向了boost库(在构建了x64库之后)并且解决了过去的简单问题,现在我遇到了一个链接器错误:

2>BaseWebServer.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::get_system_category(void)" (?get_system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>BaseWebServer.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::get_generic_category(void)" (?get_generic_category@system@boost@@YAAEBVerror_category@12@XZ)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?


我添加了这个定义:#define BOOST_LIB_DIAGNOSTIC

现在在我的输出中我看到了这个:

1>Linking to lib file: libboost_system-vc90-mt-1_38.lib
1>Linking to lib file: libboost_date_time-vc90-mt-1_38.lib
1>Linking to lib file: libboost_regex-vc90-mt-1_38.lib
Run Code Online (Sandbox Code Playgroud)

这似乎表明它是系统库中的实际链接.

c++ windows 64-bit boost-asio

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

Eclipse-CDT:如何配置调试器以停止异常?

这可能是一个GDB问题..但是我想在调试器中运行我的应用程序,并在抛出异常时让调试器中断,这样我就可以看到代码在哪里以及它在那时做了什么.

我经常在Visual Studio中使用Debug - > Exceptions对话框执行此操作,检查我想要停止的异常类型旁边的"Thrown"列.

  • 亚历克斯

c++ debugging gdb exception eclipse-cdt

27
推荐指数
2
解决办法
8248
查看次数

C++套接字服务器 - 无法使CPU饱和

我用C++开发了一个迷你HTTP服务器,使用boost :: asio,现在我用多个客户端加载测试它,我一直无法接近饱和CPU.我正在测试一个Amazon EC2实例,大约50%使用一个cpu,20%使用另一个cpu,其余两个闲置(根据htop).

细节:

  • 服务器为每个核心激活一个线程
  • 接收,解析,处理请求并写出响应
  • 请求是针对数据的,这些数据是从内存中读取的(此测试只读)
  • 我正在使用两台机器"加载"服务器,每台机器运行一个java应用程序,运行25个线程,发送请求
  • 我看到大约230个请求/秒吞吐量(这是应用程序请求,它由许多HTTP请求组成)

那么,我应该怎样看待改善这一结果呢?鉴于CPU大部分处于空闲状态,我希望利用这些额外的容量来获得更高的吞吐量,比如800请求/秒等等.

我有过的想法:

  • 请求非常小,并且经常在几毫秒内完成,我可以修改客户端以发送/组合更大的请求(可能使用批处理)
  • 我可以修改HTTP服务器以使用Select设计模式,这适合吗?
  • 我可以做一些分析,试图了解瓶颈是什么/是什么

c++ linux multithreading scalability boost-asio

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