问题列表 - 第48908页

Ruby/Rails 3:如何从Time对象创建Date对象?

Time比如说2011-03-12 21:58:11 +1100,给定一个对象,我想得到合适的Date对象(Sat, 12 Mar 2011).

实现这一目标的最简单方法是什么?

欢迎使用Rails 3扩展.

ruby time ruby-on-rails date ruby-on-rails-3

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

pthreads中的信号处理

我已经创建了一个pthread,并在其中安装了一个信号处理程序,就像我们在main( )函数中一样.线程的信号处理程序是一个单独的函数.令人惊讶的是,它不起作用,即线程的信号处理程序无法捕获信号.

这是代码:

#include <pthread.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <signal.h>

typedef struct data
{
 char name[10];
 int age;
}data;

void sig_func(int sig)
{
 printf("Caught signal: %d\n",sig);
 signal(SIGSEGV,sig_func);
}

void func(data *p)
{
 printf("This is from thread function\n");
 signal(SIGSEGV,sig_func); // Register signal handler inside thread
 strcpy(p->name,"Mr. Linux");
 p->age=30;
 sleep(2); // Sleep to catch the signal
}

int main()
{
 pthread_t tid;
 pthread_attr_t attr;
 data *ptr;

 pthread_attr_init(&attr);
 pthread_create(&tid,&attr,(void*)func,ptr);
 pthread_kill(tid,SIGSEGV);

 pthread_join(tid,NULL);
 printf("Name:%s\n",ptr->name);
 printf("Age:%d\n",ptr->age);
}
Run Code Online (Sandbox Code Playgroud)

输出:

分段错误(这意味着信号不会被处理程序捕获)

c signals pthreads

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

Java多线程服务器*有时*在ServerSocket.accept()方法中抛出SocketException(Socket关闭)

我一直在研究这个问题好几个小时,我无法得到一个像样的解决方案或解释为什么这个异常(java.net.SocketException:Socket关闭)被抛出.我的最后一个方法是现在问你们.

我已经为测试目的创建了一个简单的服务器 - 客户端应用程序("真正的"应用程序使用相同的逻辑),见下文.

如果我重复调用相同的测试用例(例如通过TestNG的invocationcount注释参数或使用简单的for循环),在某些时候会有一个java.net.SocketException:Socket关闭.

下面的测试用例基本上只是启动服务器(打开服务器套接字),等待几毫秒然后再次关闭套接字.关闭服务器套接字涉及打开套接字,以便服务器从ServerSocket.accept()方法返回(请参阅Server#shutdown()).

我虽然可能是在ServerSocket.accept() - 行之后的代码的多线程问题.所以我用一个synchronized块暂时包围它 - 也没有帮助.

你知道为什么会抛出这个异常吗?

最好,克里斯

Server.java看起来像这样:

package multithreading;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import org.apache.log4j.Logger;

public class Server {

private ServerSocket serverSocket;
private boolean isShuttingDown;
private final static Logger logger = Logger.getLogger(Server.class);

public void start() throws Exception {
    try {
        serverSocket = new ServerSocket(5000);
        isShuttingDown = false;
    } catch (Exception e) {
        throw new RuntimeException("Starting up the server failed - aborting", e);
    }

    while (true) { …
Run Code Online (Sandbox Code Playgroud)

java multithreading exception

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

记录Excel自动完成的VBA代码

在使用VBA编写要在Excel中使用的自定义函数时,如何编写文档注释以便在自动填充公式期间自动显示excel?

例如,当我们开始键入VLookUp时,它会显示Vlookup作为工具提示的内容,显示输入变量名称,如果我们从功能区中按Insert Function,则会显示一个对话框,其中包含对功能的清晰说明...我们怎么能在VBA中编写自定义函数时实现这一点?

excel vba excel-vba

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

报告VS 2010和我的问题

我创建了一个WinForms应用程序,并在表单上使用ReportViewer,并.rdlc为它设计了一个report().在我的报告中,我选择了我的表和存储过程,并为我的存储过程定义了参数,并在表单的表单加载事件中写道:

private void Form1_Load(object sender, EventArgs e)
{
     // TODO: This line of code loads data into the 'testoDataSet.Table2' table. You can move, or remove it, as needed.
     this.Table2TableAdapter.Fill(this.testoDataSet.Table2);

     ReportParameter pa = new ReportParameter("Name", "abc");
     ReportParameter pa1 = new ReportParameter("Family", "xyz");

     reportViewer1.LocalReport.SetParameters(new ReportParameter[] { pa, pa1 });
     reportViewer1.LocalReport.Refresh();

     this.reportViewer1.RefreshReport();
 }
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的应用程序时,我的报表查看器上显示了所有记录,但我的选择查询是

select * 
from User 
where Name = 'abc' and Family = 'xyz';
Run Code Online (Sandbox Code Playgroud)

怎么了??

c# reporting reportparameter visual-studio-2010

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

无法运行Roo命令!

我试图从SpringSource Tool Suite中嵌入的roo shell运行命令"Security SetUp".但继续关注......

找到命令'安全设置'但当前不可用(键入'help'然后输入ENTER以了解此命令)

什么可能是错的任何建议?

spring-roo

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

架构查询..使用Node.js构建服务/消息总线

所以情况是我有各种各样的数据源提供来自外部设备的消息流..一些是通过串口发送消息,一些是通过UDP发送,一些是通过Telnet发送..我希望构建一个小的Node.js从每个来源接收消息的系统.大约20个来源全部上升.

我有很多地方可以将这些消息转发给我,我希望允许客户端通过telnet连接并接收这些消息.

我想你可以称之为"服务总线"或"消息总线".

目前我只是在探讨如何构建它的想法,我不想要一个巨大的node.js文件来完成所有事情.

我希望每个"接收器"都在我的主node.js文件中的外部.js文件中.我的方法是否正常,并且我可以对我的方法做出任何改进.

主Node.js文件

拉入两个"接收器"..这些接收器中的每一个都将处理来自数据源的传入消息

var sys = require("sys");

AVLReceiver = require("./avlreceiver.js").AVLReceiver();
PagerReceiver = require("./pagerreceiver.js").PagerReceiver();
Run Code Online (Sandbox Code Playgroud)

pagerreceiver.js - 示例消息接收器

从串口接收消息..

var serialport = require("serialport");
var sys = require("sys");

var PagerReceiver = {};

PagerReceiver.initializePort = function () {
    this.serialport = new serialport.SerialPort("/dev/ttyS0", { 
        parser: serialport.parsers.readline("\n"), baudrate: 57600 
      });

    this.serialport.on("data", this.processMessage);
};

PagerReceiver.processMessage = function (data) {
  //deal with the message
};

PagerReceiver.initializePort();

exports.PagerReceiver = function() {
       return PagerReceiver;
};
Run Code Online (Sandbox Code Playgroud)

这是打破node.js系统的合适方法吗?任何关于javascript的评论也非常感谢..对于我应该考虑在node.js中构建消息总线的任何其他架构方法的任何评论都是超级的.

谢谢阅读,

邓肯.

javascript commonjs node.js

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

我们可以在C++中重载main()函数吗?

由于C+++允许函数重载,我们可以重载main()吗?

例如,

int main(const std::string &)
{
   return 0;
}
int main(int argc, char *argv[])
{
  return main("calling overloaded main");
}
Run Code Online (Sandbox Code Playgroud)

gcc-4.3.4不编译这个,并给出这些错误:(见ideone)

prog.cpp:4:错误:'int main(const std :: string&)'的第一个参数应该是'
int'prog.cpp:4:错误:'int main(const std :: string&)'只取零或两个参数
prog.cpp:在函数'int main(int,char**)'中:
prog.cpp:8:错误:C函数的声明'int main(int,char**)'与
prog.cpp 冲突:4 :错误:上一个声明'int main(const std :: string&)'这里
prog.cpp:在函数'int main(int,char**)'中:
prog.cpp:10:错误:从'const char*转换无效'
to'int'prog.cpp:8:错误:函数'int main(int,char**)'
prog.cpp的参数太少:10:错误:此时在文件中

所以我想知道C++标准是否明确禁止重载main?如果是这样,哪个陈述?

c++ standards program-entry-point overloading

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

c ++中的文件处理

我编写了以下代码来输入文件中的数字,但是最后一个数字被打印了两次,这让我感到困惑.什么是可能的答案.提前致谢.

码:

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int x;
    ifstream f;
    f.open("note");
    while(!f.eof()){
            f>>x;
            cout<<x<<endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

给出输出:

1
2
3
4
5
5
Run Code Online (Sandbox Code Playgroud)

文件说明的内容是:

1
2
3
4
5 
Run Code Online (Sandbox Code Playgroud)

c++ file-handling

0
推荐指数
2
解决办法
2632
查看次数

QTabWidget只设置一个标签的标题字体

我用Interface创建了一个聊天程序QTabWidget.如果选项卡中有更新,我想将标签标题字体设置为粗体字体.使用QTabWidget :: font,我只能设置所有标签的标题字体.

c++ qt qt4 qtabwidget

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