我经常需要创建一个.Net类库,它需要app.config来处理诸如数据库连接字符串之类的事情.但是,这些设置必须位于调用应用程序的app.config或web.config中.如果我想在多个应用程序中分发DLL,那就很麻烦了,因为我必须将这些设置复制到每个应用程序的app.config中.
我考虑过从类库中通过代码手动读取配置设置,但这也是一个很大的痛苦.有没有人有任何关于在类库中加载app.config设置的最佳方法的建议?
我有一个Cocoa应用程序,记录事件的日期戳.我需要知道系统时间何时重置以及重置多少,但我似乎无法在任何告知我发生过这种情况的通知.这种变化可能发生,因为NTP重置时钟或因为用户重置(例如从系统偏好设置).如果NSNotification我能注册接收会很好,但我愿意接受任何建议.
寻找一种方法来让某人上传单个文件,这个文件将是一系列图像文件(所有gif)合并为一个大文件.这是我需要做的:
我知道如何处理文件的上传.我也知道如何用PHP编写图像文件.我不确定的是合并/不合并操作.
从理论上讲,我应该能够使用VB6使用二进制读/写来合并所有图像.但是,有没有人知道为每个.gif文件添加前缀的二进制代码系列,以便PHP可以接受,或者我是否需要在每个合并图像之间编写某种二进制分隔符?
我当然可以自己修补一下,但我认为你们中的一些人比我更聪明,可能已经做过这个,和/或可以提供一个链接,一些代码或一些"要考虑的事情".
谢谢.
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语句是合理的,返回和中断看起来不正确或感觉不对.
休息显然是多余的,但是遗漏的风格很差(或者这种风格很差?)?
我个人不这样做,但在代码库中有一些工作.不,我不会自以为是并纠正代码库.
我曾经使用string [n]访问字符串的各个字符.
但是当我在IE8中执行此操作时,它总是在我执行此操作时返回undefined.
我可以使用string.substr(n,1)来做同样的事情,但语法要长得多.他们为什么这么做?
如果我使用,我是一个坏人use Test::More qw(no_plan)吗?
测试::更多POD说
在此之前,您需要一个测试计划.这基本上声明了您的脚本将运行多少测试以防止过早失败...
use Test::More tests => 23;在极少数情况下,您事先不知道脚本将运行多少测试.在这种情况下,您可以声明您没有计划.(尽量避免使用它,因为它会削弱您的测试.)
use Test::More qw(no_plan);
但是,如果在测试结束时没有打印结果,则可以很容易地看到过早失效.它似乎没有帮助.
所以我有3个问题:
我正在使用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)
如您所见,处理程序接收预期的"按钮"和"事件".但是,我想将一些额外的信息传递给我的处理程序.我该怎么办?
我正在使用TPTP来描述一些运行缓慢的Java代码,我遇到了一些有趣的东西.我的一个私有属性getter在执行时间分析结果中具有较大的基本时间值.公平地说,这个属性被称为很多次,但我绝不会猜到这样的属性需要很长时间:
public class MyClass{
private int m_myValue;
public int GetMyValue(){
return m_myValue;
}
}
Run Code Online (Sandbox Code Playgroud)
好的,所以在课堂上显然有更多的东西,但正如你所看到的,当调用getter时没有其他事情发生(只返回一个int).一些数字给你:
为了比较,我在另一个使用此getter的类中有另一种方法:
private boolean FasterMethod(MyClass instance, int value){
return instance.GetMyValue() > m_localInt - value;
}
Run Code Online (Sandbox Code Playgroud)
其平均基准时间低得多,为0.000018s(低一个数量级).
这是什么交易?我假设有一些我不理解的东西或我遗漏的东西:
编辑1:根据下面的一些建议,我将方法标记为最终并重新运行测试,但我得到了相同的结果.
编辑2:我安装了YourKit的演示版本来重新运行我的性能测试,并且YourKit结果看起来更接近我的预期.我将继续测试YourKit并报告我发现的内容.
编辑3:更改为YourKit似乎解决了我的问题.我能够使用YourKit来确定代码中的实际慢点.下面有一些很好的评论和帖子(适当地提出),但我接受了第一个建议YourKit为"正确"的人.(我不以任何方式与YourKit有关联/ YMMV)
在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)
有更简单的方法吗?
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# ×2
javascript ×2
.net ×1
c++ ×1
cocoa ×1
converters ×1
eclipse-tptp ×1
extjs ×1
grails ×1
groovy ×1
handler ×1
java ×1
json ×1
performance ×1
perl ×1
php ×1
pointers ×1
profiling ×1
testing ×1
unit-testing ×1
vb6 ×1