问题列表 - 第10531页

Ruby程序的持久哈希表?

我的Ruby脚本需要一个小的非结构化数据库.不是Sqlite,更像是持久化哈希表的东西可以完美地工作,只要它可以存储基本的Ruby结构(数组,字符串,哈希等 - 所有可序列化的)并且在Ruby脚本崩溃时不会被破坏.

我知道Perl和Tie :: Hash有很多类似的解决方案,所以可能有一些类似于Ruby的宝石.那是什么宝石?

编辑:据我所知,PStore和yaml解决方案基于读取,解组,重新编组和在每次更改时编写整个数据库.这不仅要求所有它都适合内存,它是O(n ^ 2).所以它们都不是一个特别好的解决方案.

ruby

7
推荐指数
2
解决办法
1936
查看次数

getter和setter是否会影响C++/D/Java的性能?

这是一个相当古老的话题:主持人和吸气者是好还是坏?

我的问题是:C++/D/Java中的编译器是否内联getter和setter?

与直接字段访问相比,getter/setter在多大程度上影响性能(函数调用,堆栈帧).除了使用它们的所有其他原因之外,我想知道除了是一个好的OOP练习之外它们是否应该影响性能.

c++ java d

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

NSURLConnection委托didReceiveData数据中的尾随字符

我真的很难弄清楚为什么我的Web服务调用充斥着垃圾数据.

我有一个UITableViewController调用Web服务,也充当NSURLConnectionDelegate.

这是感兴趣的委托方法,请注意NSLog语句.

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    NSLog(@"data %@", [[NSString alloc] initWithUTF8String: [data bytes]]);
    NSLog(@"before %@", [NSString stringWithUTF8String: self.rawData.bytes]);
    [self.rawData appendData:data];
    NSLog(@"after %@", [NSString stringWithUTF8String: self.rawData.bytes]);
}
Run Code Online (Sandbox Code Playgroud)

以下是经过多次尝试后生成的日志:

2009-07-10 09:04:20.339 SundialInvoice[91493:20b] data {"items": [], "request": 

"/inventory/delivered.json"}
2009-07-10 09:04:20.339 SundialInvoice[91493:20b] before 
2009-07-10 09:04:20.340 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID 

2009-07-10 09:04:23.153 SundialInvoice[91493:20b] data {"items": [], "request": "/inventory/delivered.json"}l 4] [Mes
2009-07-10 09:04:23.154 SundialInvoice[91493:20b] before 
2009-07-10 09:04:23.154 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID 

2009-07-10 09:04:27.913 SundialInvoice[91493:20b] data …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

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

源控制 - 每个产品都需要单独的分支吗?

假设您有四种产品,每种产品都有自己的发布时间表.每种产品都有50%的共享代码(所有产品的通用功能)和50%的产品特定代码.

您是否需要为每个产品单独的源控制分支?是否应始终在四个产品分支之一中开发通用功能,并在以后合并到其他产品中?

典型场景:产品A将在下个月发布,需要核心(共享)增强1,产品B将在四个月内发布,并需要核心(共享)增强2(需要三个月才能完成).

svn version-control tfs branch

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

检查Flex中的UI元素

Flex应用程序是否有可用于Web Developer或Firebug工具栏以检查UI元素的工具?

基本上在复杂的UI控件层次结构中,您可以浏览元素并查看x和y坐标,宽度,高度,id等属性.

我对可以在运行时执行此操作的工具感兴趣,因为大多数属性都是动态的.

apache-flex flexbuilder actionscript flex3

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

jQuery UI可排序和对话

是否可以在两个列表之间拖动jQuery UI可排序列表项,其中一个列在jQuery UI对话中,哪一个不在?

我正在尝试创建一个对话框,用户可以将对话框中的表单字段拖动到页面上的表单中,但我无法将对象边框中的项目拖出.

提前致谢

编辑

看起来拖拽和粪便实际上是有效的,但是一旦你超越了对话,你就看不到这个项目了.这不是很理想.(见redsquare的演示)

另一个编辑

为对话创建的主要div就是overflow:hidden它.如果我在Firebug中禁用它,拖动工作正常,所以我想我可以以某种方式覆盖它,但我怀疑这将导致我更多的问题.

jquery jquery-ui

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

隐藏导航栏和标签栏时,UIView不会调整为全屏

我有一个应用程序,有一个标签栏和导航栏,用于正常交互.我的一个屏幕是文本的很大一部分,所以我允许用户点击全屏(有点像Photos.app).

导航栏和标签栏被隐藏,我将文本视图的框架设置为全屏.问题是,标签栏曾经是大约50px的空白区域.你可以看看是否从这个屏幕截图:

删除了死的ImageShack链接

我不确定是什么导致了这个.空白绝对不是文本视图背后的视图,因为我将它的背景颜色设置为红色只是为了确定.可能是什么导致了这个?

**更新**

我在UIWindow子类中做了一些命中测试,发现空白实际上是未记录/未发布的UILayoutContainerView.这是tabBar的父视图.我不认为建议直接操作此视图,那么如何隐藏标签栏?

**更新#2**

我在动画之前和之后检查了self.view的帧,看起来父视图没有足够大小.

全屏后,视图的框架只有411像素高.我已经尝试手动搞乱框架,并设置autoResizeMask没有运气.

****更新:这是最终结果****

- (void)toggleFullscreen {
    isFullScreen = !isFullScreen;  //ivar

    //hide status bar & navigation bar
    [[UIApplication sharedApplication] setStatusBarHidden:isFullScreen animated:YES];
    [self.navigationController setNavigationBarHidden:isFullScreen animated:YES];

    [UIView beginAnimations:@"fullscreen" context:nil];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:.3];

    //move tab bar up/down
    CGRect tabBarFrame = self.tabBarController.tabBar.frame;
    int tabBarHeight = tabBarFrame.size.height;
    int offset = isFullScreen ? tabBarHeight : -1 * tabBarHeight;
    int tabBarY = tabBarFrame.origin.y + offset;
    tabBarFrame.origin.y = tabBarY;
    self.tabBarController.tabBar.frame = tabBarFrame;

    //fade it in/out
    self.tabBarController.tabBar.alpha = isFullScreen ? 0 : …
Run Code Online (Sandbox Code Playgroud)

iphone uitextview iphone-sdk-3.0

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

处理"繁重"数据时,WinForms UI响应能力

我正在修改Windows窗体以允许在UI保持响应的同时在后台加载数据.数据需要花费大量时间来检索和绑定.理想情况下,我会在后台执行这两项工作,但是我在后台应该做什么样的UI更新(如在主线程外部),这有些含糊不清.在后台显示数据检索和数据绑定的一个可靠示例将非常有用.

data-binding user-interface multithreading backgroundworker winforms

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

Try、Catch、Finally 中抛出异常 VS 返回错误

我很确定我已经知道答案,但我仍然很好奇在 Try、Catch、Finally 块中处理错误的意见是什么 -但是当您重复自己时。

顺便说一句 - 我不是在谈论用户输入 - 而是使用它作为示例,因为它清晰且简短

考虑这段代码...

try {    
    if (success) {
        return someSuccessMessage;
    }
    else {
        logError("User input not correct format");
        return someErrorMessage; // repeats itself
    }
}
catch (Exception ex) {
    logError(ex.Message);
    return someErrorMessage; // repeats itself
}
Run Code Online (Sandbox Code Playgroud)

假设我们有一个函数,如果它失败了,我们想返回一条错误消息,因为异常是无关紧要的——我们的函数没有成功,用户不需要任何额外的细节。

我一直坚信,如果你能处理错误,就避免异常——因为它不再是异常了,但我想知道关于避免重复自己的意见......你可以执行以下操作来避免重复你自己...

try {    
    if (success) {
        return someSuccessMessage;
    }
    else {
        throw new Exception("User input not correct format");
    }
}
catch (Exception ex) {
    logError(ex.Message);
    return someErrorMessage;
}
Run Code Online (Sandbox Code Playgroud)

这不是最好的例子,但为了简洁起见,我想说明重复代码的要点。

众所周知,异常会导致性能损失,但是对于这种情况有何想法呢?

exception try-catch try-catch-finally

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

如何将枚举的值转换为SelectList

想象一下,我有一个这样的枚举(仅作为一个例子):

public enum Direction{
    Horizontal = 0,
    Vertical = 1,
    Diagonal = 2
}
Run Code Online (Sandbox Code Playgroud)

我如何编写一个例程来将这些值放入System.Web.Mvc.SelectList中,因为枚举的内容将来会发生变化?我想将每个枚举名称作为选项文本,并将其值作为值文本,如下所示:

<select>
    <option value="0">Horizontal</option>
    <option value="1">Vertical</option>
    <option value="2">Diagonal</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这是迄今为止我能想到的最好的:

 public static SelectList GetDirectionSelectList()
 {
    Array values = Enum.GetValues(typeof(Direction));
    List<ListItem> items = new List<ListItem>(values.Length);

    foreach (var i in values)
    {
        items.Add(new ListItem
        {
            Text = Enum.GetName(typeof(Direction), i),
            Value = i.ToString()
        });
    }

    return new SelectList(items);
 }
Run Code Online (Sandbox Code Playgroud)

但是,这总是将选项文本呈现为"System.Web.Mvc.ListItem".通过这个调试也告诉我,Enum.GetValues()正在返回'Horizo​​ntal,Vertical'等而不是0,1,正如我所期望的那样,这让我想知道Enum.GetName()和Enum之间有什么区别.的GetValue().

c# asp.net-mvc enums

66
推荐指数
6
解决办法
7万
查看次数