问题列表 - 第6379页

将app.config与类库一起使用

我经常需要创建一个.Net类库,它需要app.config来处理诸如数据库连接字符串之类的事情.但是,这些设置必须位于调用应用程序的app.config或web.config中.如果我想在多个应用程序中分发DLL,那就很麻烦了,因为我必须将这些设置复制到每个应用程序的app.config中.

我考虑过从类库中通过代码手动读取配置设置,但这也是一个很大的痛苦.有没有人有任何关于在类库中加载app.config设置的最佳方法的建议?

.net configuration

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

如何在Cocoa应用程序中收到系统时间更改的通知?

我有一个Cocoa应用程序,记录事件的日期戳.我需要知道系统时间何时重置以及重置多少,但我似乎无法在任何告知我发生过这种情况的通知.这种变化可能发生,因为NTP重置时钟或因为用户重置(例如从系统偏好设置).如果NSNotification我能注册接收会很好,但我愿意接受任何建议.

cocoa nsnotifications

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

上传合并的图像,然后用PHP分解

寻找一种方法来让某人上传单个文件,这个文件将是一系列图像文件(所有gif)合并为一个大文件.这是我需要做的:

  1. 使用VB6,想要将图像文件(可能是几十个)合并到一个文件中
  2. 将文件上传到PHP脚本(很简单)
  3. 让PHP拆分单个文件并写入图像文件

我知道如何处理文件的上传.我也知道如何用PHP编写图像文件.我不确定的是合并/不合并操作.

从理论上讲,我应该能够使用VB6使用二进制读/写来合并所有图像.但是,有没有人知道为每个.gif文件添加前缀的二进制代码系列,以便PHP可以接受,或者我是否需要在每个合并图像之间编写某种二进制分隔符?

我当然可以自己修补一下,但我认为你们中的一些人比我更聪明,可能已经做过这个,和/或可以提供一个链接,一些代码或一些"要考虑的事情".

谢谢.

php vb6

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

这个切换声明味道不好吗?

Switch(some case) {
    case 1:
           // compute something ...
           return something;
           break;
    case 2:
           // compute something ...
           return something;
           break;

/* some more cases ... */

    case X:
           // compute something ...
           return something;
           break;
    default:
           // do something
           return something;
           break;
}
Run Code Online (Sandbox Code Playgroud)

在我看来:

假设这个switch语句是合理的,返回和中断看起来不正确或感觉不对.

休息显然是多余的,但是遗漏的风格很差(或者这种风格很差?)?


我个人不这样做,但在代码库中有一些工作.不,我不会自以为是并纠正代码库.

c# switch-statement

5
推荐指数
4
解决办法
1787
查看次数

IE8不再允许在不使用substr函数的情况下访问单个字符?

我曾经使用string [n]访问字符串的各个字符.

但是当我在IE8中执行此操作时,它总是在我执行此操作时返回undefined.

我可以使用string.substr(n,1)来做同样的事情,但语法要长得多.他们为什么这么做?

javascript internet-explorer-8

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

为什么我需要知道我将使用Test :: More运行多少次测试?

如果我使用,我是一个坏人use Test::More qw(no_plan)吗?

测试::更多POD

在此之前,您需要一个测试计划.这基本上声明了您的脚本将运行多少测试以防止过早失败...

use Test::More tests => 23;

在极少数情况下,您事先不知道脚本将运行多少测试.在这种情况下,您可以声明您没有计划.(尽量避免使用它,因为它会削弱您的测试.)

use Test::More qw(no_plan);

但是,如果在测试结束时没有打印结果,则可以很容易地看到过早失效.它似乎没有帮助.

所以我有3个问题:

  1. 默认情况下要求测试计划背后的原因是什么?
  2. 从长远来看,有没有人发现这是一个有用且省时的功能?
  3. 其他语言的其他测试套件是否支持此类事情?

testing perl unit-testing

23
推荐指数
4
解决办法
2708
查看次数

如何向ExtJS处理程序添加其他参数?

我正在使用ExtJS框架,我有以下处理程序,它只用作按钮的处理程序:

var myButtonHandler = function(button, event){
   //code goes here
};
Run Code Online (Sandbox Code Playgroud)

我的按钮定义如下所示:

var myButton = new Ext.Button({
       id : 'myButton',
       renderTo : 'mybutton',
       text : 'Save',
       handler : myButtonHandler,
       scope : this
    });
Run Code Online (Sandbox Code Playgroud)

如您所见,处理程序接收预期的"按钮"和"事件".但是,我想将一些额外的信息传递给我的处理程序.我该怎么办?

javascript extjs handler

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

Java性能分析:私有属性Getter具有较大的基准时间

我正在使用TPTP来描述一些运行缓慢的Java代码,我遇到了一些有趣的东西.我的一个私有属性getter在执行时间分析结果中具有较大的基本时间值.公平地说,这个属性被称为很多次,但我绝不会猜到这样的属性需要很长时间:

public class MyClass{
    private int m_myValue;    
    public int GetMyValue(){
        return m_myValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,所以在课堂上显然有更多的东西,但正如你所看到的,当调用getter时没有其他事情发生(只返回一个int).一些数字给你:

  • 大约30%的运行调用是在getter上(我正在努力减少这个)
  • 大约25%的运行基准时间用于此吸气剂
  • 平均基准时间为0.000175s

为了比较,我在另一个使用此getter的类中有另一种方法:

private boolean FasterMethod(MyClass instance, int value){
    return instance.GetMyValue() > m_localInt - value;
}
Run Code Online (Sandbox Code Playgroud)

其平均基准时间低得多,为0.000018s(低一个数量级).

这是什么交易?我假设有一些我不理解的东西或我遗漏的东西:

  1. 返回本地原语真的需要比返回计算值更长的时间吗?
  2. 我应该查看基准时间以外的指标吗?
  3. 这些结果是否会产生误导,我需要考虑其他一些分析工具?

编辑1:根据下面的一些建议,我将方法标记为最终并重新运行测试,但我得到了相同的结果.

编辑2:我安装了YourKit的演示版本来重新运行我的性能测试,并且YourKit结果看起来更接近我的预期.我将继续测试YourKit并报告我发现的内容.

编辑3:更改为YourKit似乎解决了我的问题.我能够使用YourKit来确定代码中的实际慢点.下面有一些很好的评论和帖子(适当地提出),但我接受了第一个建议YourKit为"正确"的人.(我不以任何方式与YourKit有关联/ YMMV)

java performance profiling eclipse-tptp

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

如何在Grails中将特定日期格式作为JSON返回?

在Grails中,您可以使用JSON转换器在控制器中执行此操作:

render Book.list() as JSON
Run Code Online (Sandbox Code Playgroud)

渲染结果是

[
{"id":1,
 "class":"Book",
 "author":"Stephen King",
 "releaseDate":'2007-04-06T00:00:00',
 "title":"The Shining"}
]
Run Code Online (Sandbox Code Playgroud)

您可以通过在Config.groovy中进行设置来控制输出日期

grails.converters.json.date = 'javascript' // default or Javascript
Run Code Online (Sandbox Code Playgroud)

然后结果将是本机javascript日期

[
{"id":1,
 "class":"Book",
 "author":"Stephen King",
 "releaseDate":new Date(1194127343161),
 "title":"The Shining"}
]
Run Code Online (Sandbox Code Playgroud)

如果我想获得这样的特定日期格式:

"releaseDate":"06-04-2007"
Run Code Online (Sandbox Code Playgroud)

我必须使用'collect',这需要大量输入:

return Book.list().collect(){
  [
      id:it.id,
      class:it.class,
      author:it.author,
      releaseDate:new java.text.SimpleDateFormat("dd-MM-yyyy").format(it.releaseDate),
      title:it.title
  ]
} as JSON
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

grails groovy json converters

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

如何在C#中的结构中放置一个数组?

C++代码:

struct tPacket
{
    WORD word1;
    WORD word2;
    BYTE byte1;
    BYTE byte2;
    BYTE array123[8];
}

static char data[8192] = {0};
...
some code to fill up the array
...
tPacket * packet = (tPacket *)data;
Run Code Online (Sandbox Code Playgroud)

我们不能在C#中轻松做到这一点.

请注意,C++结构中有一个数组.

或者,使用此源文件可以为我们完成工作,但如果结构中有数组则不行.

c# c++ pointers code-translation

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