问题列表 - 第26784页

我需要数据结构来有效处理日期

我需要的是像Hashtable这样的东西,我将填写实际所需日期的价格.

例如:我将提出两个价格:1月1日:100USD,3月5日:89美元.

如果我搜索我的哈希表的价格:hashtable.get(2月14日)我需要它给我回到1月1日输入的实际价格,因为这是最后的实际价格.正常的哈希表实现不会给我任何东西,因为没有任何东西放在那个数据上.

我需要看看是否有这样的实现可以根据日期范围快速找到对象.

java date hashtable

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

抛出JavaScript异常的标准做法是什么?

w3schools说异常可以是字符串,整数,布尔值或对象,但是给出的例子并没有让我觉得好,因为异常类型检查是通过字符串比较完成的.这是JavaScript中首选的异常处理方法吗?是否有内置的异常类型(如NullPointerException)?(如果是这样,他们是什么,他们使用什么样的继承,他们比其他选择更受欢迎?)

javascript exception

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

我为什么要在Git中使用core.autocrlf = true?

我有一个从Windows和OS X访问的Git存储库,我知道已经包含一些带有CRLF行结尾的文件.据我所知,有两种方法可以解决这个问题:

  1. 设置core.autocrlffalse无处不在,

  2. 按照指示在这里(回荡在GitHub上的帮助页)到存储库转换为只包含LF行结束,然后设置core.autocrlftrue在Windows和input在OS X上有这样做的问题是,如果我有仓库中任何二进制文件那:

    1. 在gitattributes中未正确标记为二进制文件,并且
    2. 碰巧包含CRLF和LF,

    他们会被腐化.我的存储库可能包含这些文件.

那么为什么我不应该关闭Git的行结束转换呢?网上有很多模糊的警告关于core.autocrlf关闭造成问题,但很少有具体问题; 到目前为止我唯一发现的是kdiff3无法处理CRLF结尾(对我来说不是问题),而且一些文本编辑器有行结束问题(对我来说也不是问题).

存储库是我公司的内部存储库,因此我不需要担心与具有不同autocrlf设置或行结束要求的人共享它.

是否有任何其他问题只是留下我不知道的行结尾?

git line-endings

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

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

CouchDB版本控制/审计

我正在尝试将CouchDB用于需要对所有数据操作进行全面审核的系统.由于其内置的修正跟踪,沙发似乎是一个理想的选择.但后来我在O'Reilly教科书中读到"CouchDB并不保证旧版本可以保留."

我似乎无法找到关于这一点的更多文档,或者沙发如何在内部处理其修订跟踪.有没有办法在每个数据库或每个文档级别配置沙发以永久保留所有版本?如果是这样,怎么样?

versioning revision couchdb

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

如何使用附加的视图控制器加载xib文件?

我使用xib文件作为coverflow组件中的后视图.它很好看.

加载xib文件的代码是:

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestMine" owner:nil options:nil];
        backView = [array objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

现在我想在不更改当前代码的情况下使用此xib附加视图控制器.

我怎么能这样做?

我收到错误: Exception :*** -[UIViewController superview]: unrecognized selector sent to instance 0x5891120

如果有更多细节需要回答这个问题,请告诉我.

谢谢 . alt text http://img265.imageshack.us/img265/8151/ssstack.png

iphone xib uiviewcontroller

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

验证类实例属性的正确方法

有一个像这样的简单Python类:

class Spam(object):
    __init__(self, description, value):
        self.description = description
        self.value = value
Run Code Online (Sandbox Code Playgroud)

我想检查以下约束:

  • "描述不能为空"
  • "价值必须大于零"

我应该:
1.在创建垃圾邮件对象之前验证数据?
2.检查__init__方法数据?
3. is_valid在垃圾邮件类上创建一个方法并使用spam.isValid()调用它?
4. is_valid在Spam类上创建一个静态方法,并使用Spam.isValid(描述,值)调用它?
5.检查制定者声明的数据?
6.等

你能推荐一款设计精良的/ Pythonic /非冗长(具有多种属性的课程)/优雅的方法吗?

python

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

在 C# 中使用 int 作为字符串的数字表示

我尝试使用整数作为字符串的数字表示形式,例如,将“ABCD”存储为 0x41424344。然而,当涉及到输出时,我必须将整数转换回 4 个 ASCII 字符。现在,我正在使用位移位和掩码,如下所示:

int value = 0x41424344;
string s = new string (
              new char [] { 
                 (char)(value >> 24), 
                 (char)(value >> 16 & 0xFF),
                 (char)(value >> 8 & 0xFF),
                 (char)(value & 0xFF) });
Run Code Online (Sandbox Code Playgroud)

有没有更干净的方法来做到这一点?我尝试了各种转换,但编译器正如预期的那样抱怨了它。

c# string int

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

为Boost生成合理的ctags数据库

我正在运行Ubuntu 8.04并运行命令:

$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/stdlibcpp /usr/include/c++/4.2.4/
Run Code Online (Sandbox Code Playgroud)

在我的系统上为标准C++库和STL(libstdc ++)生成一个ctags数据库,以便与OmniCppComplete vim脚本一起使用.这给了我一个非常合理的4MB标签文件,似乎运行得相当好.

但是,当我对安装的Boost标头运行相同的命令时:

$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost /usr/include/boost/
Run Code Online (Sandbox Code Playgroud)

我最终得到了一个1.4 GB的标签文件! 我还没有尝试过,但看起来它似乎太大而无法使用.有没有办法为我安装的Boost标头获得更纤薄,更实用的标签文件?

编辑

正如笔记一样,libstdc ++包含TR1,其中包含了许多Boost库.因此,libstdc ++必须有一些奇怪的东西才能出现4 MB的标签文件和Boost最终得到1.4 GB的标签文件.

刚刚在Boost邮件列表上遇到过这个问题:

Boost-users Boost和autocompletion

答案

感谢Neg_EV弄清问题是什么,但是解决问题的方法比他建议的要好得多:

确保apt-file已安装,并运行以下命令

(我将我的库标签保存在〜/ .vim/tags /中):

$ sudo apt-file update
$ apt-file list boost | grep -E -o '/usr/include/.*\.(h|hpp)' | grep -v '/usr/include/boost/typeof/' > ~/.vim/tags/boost-filelist
$ ctags --sort=foldcase --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost -L ~/.vim/tags/boost-filelist
Run Code Online (Sandbox Code Playgroud)

我已经升级到Ubuntu 10.04和Boost 1.40,这就是我测试这个解决方案,但据我所知,它应该适用于任何Boost版本.

c++ linux vim boost ctags

21
推荐指数
2
解决办法
6674
查看次数

Guice子喷射器覆盖绑定

我试图覆盖已在基本注入器中配置的子注入器中的绑定.

像那样 :

public class PersistenceModule extends Abstract{

    @Override
    protected void configure() {
        bind(IProductPersistenceHelper.class).to(ProductPersistenceHelper.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后 :

Injector injector = Guice.createInjector(new PersistenceModule());
injector.createChildInjector(new AbstractModule(){
        @Override
        protected void configure() {
            bind(IProductPersistenceHelper.class).to(MockProductPersistenceHelper.class);
        }

})
Run Code Online (Sandbox Code Playgroud)

Guice抱怨它已经具有约束力.该问题是否有任何模式或最佳实践?

java guice

7
推荐指数
0
解决办法
7030
查看次数