问题列表 - 第19857页

在不破坏现有代码的情况下向结构添加字段

所以我正在使用这个巨大的代码库,并意识到其中一个结构缺少一个重要的领域.我尽可能密切地查看代码(使用结构)并得出结论,添加额外的字段不会破坏它.

关于我可以搞砸的任何想法?

另外:欢迎设计建议 - 我能做到这一点的最佳方式是什么?

例如(如果我不清楚):

typedef struct foo
{
  int a;
  int b;
}
foo;
Run Code Online (Sandbox Code Playgroud)

现在是:

typedef struct foo
{
  int a;
  int b;
  int c;
}
foo;
Run Code Online (Sandbox Code Playgroud)

c c++ struct codebase

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

PostgreSQL中的本地时区偏移量

我的网络应用程序以UTC为单位存储所有时间戳,没有时区.我有一个shell/psql脚本,它返回最近登录的列表,我希望该脚本在服务器的本地时区显示登录时间(这可能因服务器的位置和夏令时而异).

要获得表示我的数据库服务器的时区和UTC之间的差异的间隔,我目前正在使用此hack:

SELECT age(now() at time zone 'UTC', now());
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是有更简单的方法吗?

有一个名为"timezone"的服务器配置参数返回一个有效的时区字符串,但我认为不可能在查询中访问这些参数.(我想这是一个单独的问题,但是它的答案可以解决时区问题.)

postgresql timezone

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

处理此异常情况的最佳做法

假设methodA和methodB都会抛出几种类型的异常,而有些异常属于同一类型,有些则不是,那么处理这种情况的最佳做法是什么?

风格A:

void foo()
    {
        try
        {
            methodA();
        }
        catch (exceptionTypeA)
        {
            handleA;
        }

        try
        {
            methodB();
        }
        catch (exceptionB)
        {
            handleB;
        }
    }
Run Code Online (Sandbox Code Playgroud)

风格B:

void foo()
    {
        try
        {
            methodA();
            methodB();
        }
        catch (exceptionTypeA)
        {
            handleA;
        }
        catch (exceptionB)
        {
            handleB;
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# exception-handling

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

将mime类型添加到HTML链接

我知道如何更改Web服务器中的MIME类型.我使用它来确保浏览器下载我的.scrpt文件而不是打开纯文本版本.到目前为止这么好但是有可能通过链接做同样的事情吗?我想链接到GitHub上的文件,但这将打开为纯文本文件.我可以在链接中添加"MIME类型属性"以告诉浏览器下载文件吗?

这是我想看到的:

<a mimetype="application/octet-stream" href="http://gist.github.com/raw/279094/39d5a2c1037288d5ee0ba1a17dca9edb368bbe42/RepairiPhotoDates.scpt">download</a>
Run Code Online (Sandbox Code Playgroud)

html mime stream href hyperlink

31
推荐指数
2
解决办法
5万
查看次数

如何放弃对所有linq表所做的更改?

我想放弃对linq表所做的所有更改(这意味着 - 我使用linq,数据在客户端更改,服务器上的数据完好无损).这该怎么做?

编辑:问题部分解决

http://graemehill.ca/discard-changes-in-linq-to-sql-datacontext/

只要您不使用事务,它就可以工作.当你这样做并且使用混合"模式"作为记录时,存在一个问题:

begin trans
insert a record
update inserted record
commit trans
Run Code Online (Sandbox Code Playgroud)

当您更新上面的记录时,Linq将其计为更新记录,如果出现异常,您有两个操作 - 事务将被回滚,Linq端的数据将被丢弃.在丢弃更改时,Linq尝试从数据库中获取它(丢弃更新意味着为记录重新获取数据),但由于所有更改都已回滚,因此没有更新记录.

这个问题

如何以智能通用方式改进DiscardChanges方法以处理事务.或者如何更改事务/ discard-submitchanges的工作流程以使所有这些工作一起工作?

那些不是聪明的解决方案:

  1. 重新获取所有数据
  2. 重新建立与DB的连接(因为它导致(1))

c# linq database datacontext

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

C++会把这个函数泄漏吗?

我已经开始写一个简单的控制台Yahtzee游戏进行练习.我只是对这个功能是否会泄漏内存有疑问.每次需要重新滚动骰子时都会调用滚动功能.

它的作用是创建一个动态数组.第一次使用它会存储5个随机值.对于下一次运行,除了你要保留的骰子外,它只会重新滚动.我有另一个功能,但由于它与这个问题无关,我把它留了出来

主功能

int *kast = NULL;           //rolled dice
int *keep_dice = NULL;    //which dice to re-roll or keep

kast = roll(kast, keep_dice);
delete[] kast;
Run Code Online (Sandbox Code Playgroud)

这是功能

int *roll(int *dice, int *keep) {

    srand((unsigned)time(0));
    int *arr = new int[DICE];
    if(!dice)
    {
        for(int i=0;i<DICE;i++)
        {

            arr[i] = (rand()%6)+1;
            cout << arr[i] << " ";
        }
    }
    else
    {
        for(int i=0;i<DICE;i++)
        {
            if(!keep[i])
            {
                dice[i] = (rand()%6)+1;
                cout << "Change ";
            }
            else
            {
                keep[i] = 0;
                cout << "Keep ";
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks

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

Excel:获取所选行

我正在使用Microsoft.Office.Interop.Excel,我找不到返回所选行的方法.我所说的"选择"是指,当您单击左侧的行排水沟并选择一个或多个连续或不连续的行(突出显示整行)时,行号本身.这与选择区域或纸张本身的区域.

到目前为止,我已经看过app.Selection,app.Cells,app.Rows,但这些似乎都没有给我行.app.Selection给我实际的细胞内容,这不是我想要的.

有任何想法吗?谢谢!

c# excel automation

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

在Formtastic中使用:collection和:include_blank.怎么做?

我使用Ruby on Rails的精湛的Formtastic插件.

在使用自定义集合时,有人知道如何包含空格(选项)吗?

当我尝试:

<%= f.input :organizations, :collection => Organization.all(:order => :name), :include_blank => true %>
Run Code Online (Sandbox Code Playgroud)

我得到了收藏的选择框,但不是空白...

ruby-on-rails formtastic

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

PHP中的自动加载常量?

我希望如果我在一个单独的命名空间中定义常量,例如:

namespace config\database\mysql;

const HOST = 'localhost';
const USER = 'testusr';
const PASSWORD = 'testpwd';
const NAME = 'testdb';
Run Code Online (Sandbox Code Playgroud)

我可以__autoload用来自动包含它们:

function __autoload($className)
{
    echo "Autoload: {$className}\n";
    $class_file = str_replace('\\', '/', $className) . ".php";
    if(file_exists($class_file)) {
        include $class_file;
    }
}

echo config\database\mysql\HOST;
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.该__autoload不叫为恒,因为它是带班,留我一个Undefined constant错误.

我可以通过某种方式模拟__autoload常量类吗?

php const autoload

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

在单独的文件(RoR)中为模型类添加回调

我有一个Message模型类(继承自ActiveRecord :: Base).对于特定部署,我希望有一个单独的文件,通过添加回调来修改Message.所以,而不是做:

# app/models/message.rb
class Message < ActiveRecord::Base
  before_save :foo
  def foo
     puts 'foo!'
  end
end
Run Code Online (Sandbox Code Playgroud)

我希望能够做到:

# app/models/message.rb
class Message < ActiveRecord::Base
end

# config/initializers/fixes.rb
Message
class Message
  before_save :foo
  def foo
     puts 'foo!'
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是,它在我启动脚本/控制台时有效,但是当我使用脚本/服务器启动它时通常不会.这是最糟糕的部分,并不是它永远不会奏效.有时我启动服务器并且它可以工作,有时它不工作,而且没有对源进行任何更改.

我正在重新启动服务器本身(据我所知)初始化程序只运行一次,如果修改则不会重新加载.

我知道'有时'的作品很模糊,但我在这里花了好几个小时没有运气.也许某人有类似的问题,或者可以想出一个不同的想法来添加回调.

activerecord initialization ruby-on-rails callback

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