小编dut*_*utt的帖子

支持分数的大数字

我需要ac#number可以处理非常大的数字,但也需要分数支持,我看了.NET 4.0中的System.Numberics.BigInteger,但我不能让它与分数一起工作.

something i = 2;
something j = 5;
something k = i/j; //should be 0.4
Run Code Online (Sandbox Code Playgroud)

当我试着

 BigInteger i = 2;
 BigInteger j = 5;
 double d = (double)(i/j); //d is 0.0
Run Code Online (Sandbox Code Playgroud)

有人知道这样的图书馆吗?

c# numeric

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

无法让Apache提供django管理静态文件

我正在尝试将Django部署到apache但无法让它为我的静态管理文件提供服务.它似乎是在/ var/www/static下寻找它们,我似乎无法改变它.

除了样式之外,管理站点似乎正在工作.我得到一个标题和一个登录表单.我的django应用程序也在运行.这是未提供服务的管理员的静态文件.

使用Django 1.4.1.

该文件是在/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static并链接到从/家/杜特/ vaccapp /后端/静态/管理员.

apache错误日志说明了这一点

[Sun Sep 30 10:57:20 2012] [error] [client 192.168.1.10] File does not exist: /var/www/home, referer: http://dathui.example.com/vaccapp/admin/
[Sun Sep 30 10:57:20 2012] [error] [client 192.168.1.10] File does not exist: /var/www/home, referer: http://dathui.example.com/vaccapp/admin/
Run Code Online (Sandbox Code Playgroud)

但我不知道如何改变它.

在我的django网站配置中我有

<VirtualHost *:80>
ServerAdmin me@host.com

    ServerRoot "/home/dutt/vaccapp"
    DocumentRoot "/home/dutt/vaccapp"
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /home/dutt/vaccapp/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Alias /static/ "/home/dutt/vaccapp/backend/static/"
<Directory "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static">
    Order allow,deny
    Options Indexes
    Allow …
Run Code Online (Sandbox Code Playgroud)

apache django

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

Protobuf、CodedInputStream 解析部分消息

我正在尝试实现与 java 版本兼容的 protobuf 发送/接收,其中首先包含 varint32-prefix。

我几乎让它工作了,但由于某种原因,一些消息变得不完整并且无法通过 assert()。

/receiver.cpp:69: void tcp_connection::handle_read_message(const boost::system::error_code&, size_t): Assertion `line.ParseFromCodedStream(&input)' failed.
Run Code Online (Sandbox Code Playgroud)

semder.pp

boost::asio::streambuf buffer;
std::ostream writer(&buffer);
bool packet_full = false;
uint32_t sent_lines = 0;
{ //new scope for protobuf streams, these flush in dtor
    google::protobuf::io::OstreamOutputStream osostream(&writer);
    google::protobuf::io::CodedOutputStream output(&osostream);
    std::string lines;
    while(std::getline(reader, line)) {
        lines += line + "\n";
        ++sent_lines;
        if(sent_lines > 100) {
            packet_full = true;
            break;
        }
    }
    if(!lines.empty()) {
        msg->set_text(lines);
        const uint32_t size = msg->ByteSize();
        output.WriteVarint32(size);
        uint8_t* buffer = output.GetDirectBufferForNBytesAndAdvance(size);
        if(buffer != 0) …
Run Code Online (Sandbox Code Playgroud)

c++ protocol-buffers boost-asio

3
推荐指数
1
解决办法
5125
查看次数

restartLoader中的NullpointerException

我正在开发我的Android应用程序,我有一个Activity显示项目列表,然后是另一个用于编辑特定项目的活动.但是现在我在从编辑项目返回时在restartLoader()中得到NullpointerException.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    getLoaderManager().restartLoader(LOADER_ID, null, this);
}
Run Code Online (Sandbox Code Playgroud)

我假设ResultInfo中的who不应为null,但这只是猜测.

08-10 00:44:26.427: E/AndroidRuntime(723): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {duttsoft.travel/duttsoft.travel.TravelHealthActivity}: java.lang.NullPointerException
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.app.ActivityThread.deliverResults(ActivityThread.java:2980)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3023)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.app.ActivityThread.access$1100(ActivityThread.java:123)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1177)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.os.Looper.loop(Looper.java:137)
08-10 00:44:26.427: E/AndroidRuntime(723):  at android.app.ActivityThread.main(ActivityThread.java:4424)
08-10 00:44:26.427: E/AndroidRuntime(723):  at java.lang.reflect.Method.invokeNative(Native Method)
08-10 00:44:26.427: E/AndroidRuntime(723):  at java.lang.reflect.Method.invoke(Method.java:511) …
Run Code Online (Sandbox Code Playgroud)

android android-activity

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

强制用户通过按钮退出对话框

我正在开发一个应用程序,在第一次启动时,我有两个对话框,我希望用户单击确定/退出(许可、警告等),但目前可以通过单击屏幕上的任何其他位置来关闭它们。

我目前正在像这样创建它;

AlertDialog.Builder dlg = new AlertDialog.Builder(this);
dlg.setTitle("Warning");
dlg.setMessage( ... );
dlg.setCancelable(false);
dlg.setPositiveButton("Ok", new DialogInterface.OnClickListener() { ... });
dlg.setNegativeButton("Quit", new DialogInterface.OnClickListener() { ... });
dlg.create().show();
Run Code Online (Sandbox Code Playgroud)

如何通过按钮之一强制用户退出对话框?

android

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

C++中的异常和BDD - Catch库

到目前为止我一直在使用Boost.Test,但我现在正在考虑使用带有Catch的BDD,但是我在查找处理异常的好方法时遇到了一些麻烦.说我有这样的测试:

SCENARIO("connection handling", "[network]") {
    boost::asio::io_service io;
    GIVEN("a connection that should fail") {
        connection::ptr conn = connection::create(new fake_provider<connection_refused>(io));
        WHEN("trying to connect") {
            conn->connect("localhost", 1);
            THEN("connection was refused") {
                some stuff to verify exception code
                REQUIRE(conn->connected() == false);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道如何处理connect()将以一种很好的方式抛出异常的事实.我想我可以保存并将异常存储在try-catch中并在那之下验证,但这似乎不太好.在我的Boost.Test测试用例中,我这样做了:

bool error_is_connection_refused(boost::system::system_error ex) {
    return ex.code() == boost::system::errc::connection_refused;
}
BOOST_AUTO_TEST_CASE(connect)
{
    connection::ptr conn_refuse = connection::create(new fake_provider<connection_refused>(*io_ptr));
    BOOST_REQUIRE_EXCEPTION(conn_refuse->connect("localhost", 1),
                            boost::system::system_error,
                            error_is_connection_refused);
    BOOST_REQUIRE_EQUAL(conn_refuse->connected(), false);
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不是很BDD.在使用BDD测试时,人们通常如何处理异常抛出代码?

c++ bdd unit-testing catch-unit-test

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

Regexp检查IP是否有效

我想知道是否可以将regexp中的值与Python中的regexp系统进行比较.匹配IP的模式很容易,但每个1-3位数不能超过255,这就是我有点难过的地方.

python regex

1
推荐指数
3
解决办法
5552
查看次数

boost::condition_variable.timed_wait 立即返回

我正在开发一个小线程库,但遇到了问题。boost::condition_variable.wait() 工作完美,但是 boost::condition_variable.timed_wait() 立即返回,它不会超时。

文档说它应该只在超时过去或被通知后返回。这是通知前的三秒等待,我已经尝试了 10 秒和 100 秒的超时,所以它应该在 3 秒后返回。

编辑:

boost::condition_variable waitCondition;
boost::mutex mMutex;

Message MessageClient::waitAsync(Message msg, bool waitForReply) {
   unique_lock<boost::mutex> lock(msg->mMutex);
   if(mSendTimeout.sec == 0)
       msg->waitCondition.wait(lock);
   else {
       timeout = msg->waitCondition.timed_wait(lock,  mSendTimeout);
       if(!timeout)
           return 0;

       if(waitForReply) {
          Message reply = receiveMessage();
          return reply;
       }
       else
          return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是在 sendMessage 之后调用的。接收者收到消息,发送回复,然后调用

waitCondition.notify_all();
Run Code Online (Sandbox Code Playgroud)

c++ boost-thread

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

表现与正确/偏好?

typedef unsigned char uChar;
typedef signed char sChar;

typedef unsigned short uShort;
typedef signed short sShort;

typedef unsigned int uInt;
typedef signed int sInt;

typedef unsigned long uLong;
typedef signed long sLong;
Run Code Online (Sandbox Code Playgroud)

我有一个typedef列表所以当我定义变量时,我可以准确.例如,如果我只需要数字0-5,我就会使用uChar.但我正在使用C++并正在制作引擎.我正在阅读关于.NET占用X字节的布尔值,并且由于内存对齐,它使用整数更快.

由于内存对齐,性能等原因,是否有理由使用int而不是uChar?

c++ optimization

0
推荐指数
3
解决办法
409
查看次数