我有一个示例Silverlight应用程序,其中包含一个包含数千个值(~4000)的组合框.这些值从Web服务中提取并且当前已填充,这会花费大量时间并使UI无响应.
用例: - UI中的字段需要由用户填充
- 该字段只能包含某些预定义值(已存在于数据库中)
- 字段中的值无法分组/分类
您已完成或将要做的事情:
- 在组合框中
填充值时使UI更具响应性- 尽可能快地填充组合值
谢谢阅读!
更新:
好评!不胜感激!
我编辑了我的帖子来介绍用例.
我能想到的最佳替代方案是Google自动建议式文本框,建议我输入内容.
当我们想要创建一个新的矢量3D类时,我不知道哪种是最佳实践,我的意思是,这两个例子中哪一个是最好的方法?
class Vec3D
{
private:
float m_fX;
float m_fY;
float m_fZ;
...
};
Run Code Online (Sandbox Code Playgroud)
要么
class Vec3D
{
private:
float m_vVec[3];
...
};
Run Code Online (Sandbox Code Playgroud)
对于第一个方法,我们有单独的变量,我们确保在内存中确保连续,因此缓存可能会失败,但访问此变量只是一条指令.
对于第二个方法,我们在内存中有一个3个连续浮点数的向量,这里的缓存很好,但每次访问都会产生额外的可变偏移量.Buti认为这个矢量aproach可以更好地适应像SSE2/3之类的optimitzations.
哪个方法更好,我迷路了,我需要建议:)
谢谢你的时间 :)
LLORENS
我正在寻找有关如何使用git存储库和分支构建项目的建议.
假设我想要一个远程存储库,我的项目是一个使用Flash小部件的网站.Flash小部件是根据我编写的源代码编译的.
为了部署我的网站,我希望生产服务器只是另一个从远程存储库中提取的git客户端,但我不希望Flash小部件的源代码在我的生产服务器的工作副本中.
我可以通过一个"master"分支来实现这一点,该分支包含src /和www /以及只有"www /"的"www"分支.但后来我的开发团队需要记住检查与www分支相关的网站相关更改,并将Flash源代码更改为master.
所以有两个问题:这个解决方案与您自己的项目相比如何?而且,您是否发现在您的团队中,您的开发人员难以跟踪分支,并意外地将应该在一个分支中的更改提交到另一个分支?
我有ff.我只使用它生成的ID的ActiveRecord:
class SomeTable < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)
我认为可以通过以下方式指定灯具:
one:
two:
Run Code Online (Sandbox Code Playgroud)
我在其他灯具中指的是:
other_one:
some_field: some value
some_table: one
Run Code Online (Sandbox Code Playgroud)
但是当我运行我的测试时,我得到:
Fixture::FormatError: Bad data for SomeTable fixture named one (nil)
Run Code Online (Sandbox Code Playgroud)
有人知道如何指定空或无固定装置吗?如果无法做到这一点,可以选择解决方案或替代解决方案.
我想在我的插件中创建一个执行顺序,它包含一个maven插件,前后执行另一个maven插件.所有3次执行都是部署阶段的一部分.
这是我想要做的一个例子:
注意:url:get是我自己的custo mojo,只是使用commons httpClient执行http get.
我通常会在下一阶段附加after插件执行,但不幸的是deploy是jar生命周期的最后一个阶段.
先感谢您,
科斯塔斯
注意:我的pom文件中的以下插件段创建了以下不期望的执行顺序:
插件片段:
<plugin>
<groupId>com.blabla.stpadmin</groupId>
<artifactId>maven-url-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<id>stop-stpadmin-service</id>
<phase>deploy</phase>
<goals>
<goal>get</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>deploy</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.blabla.stpadmin</groupId>
<artifactId>maven-url-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<id>start-stpadmin-service</id>
<phase>deploy</phase>
<goals>
<goal>get</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我对VBA一无所知,但我需要从文件的完整路径中获取文件名.
所以对于像"c:\ something\somethingelse\file.name"这样的字符串,我需要输出"file.name".另外如何在字符串中输入引号,例如""?反斜杠似乎不起作用.
我有一个非托管的c ++库,它将文本输出到std :: ostream*.
我从ac#library使用的托管c ++包装器中调用它.
目前,我向非托管代码传递一个指向std :: stringstream的指针,然后调用System.String(stringstream.str(..c_str())将我的非托管缓冲区复制回.net友好字符串.
是否可以将.net Stream包装为stl std :: ostream*? - 允许我直接从非托管代码将文本流式传输到托管STREAM实现.
好吧,我之前已经看到过这种情况,在你有一个带有指针参数并返回指针的函数之前.
但是,您可以选择不传递参数,它将返回一个动态分配的指针,但如果您确实传递了一个指针,那么它只是填充它而不是在堆上创建一个.这是一个没有重载的单一功能.
我的问题是这是如何安全地完成的?
我猜这是这样的:
point* funct(point *p = some_value)
{
if p == some_value
//create a point *p on the heap
else
//create use the given *p and fill it in
return p
}
Run Code Online (Sandbox Code Playgroud)
现在我想不出这是否是正确的方法,如果它是一个什么可能是一个很好的some_value?它不能为NULL,因为当你传递空指针时它也会是NULL并且不确定它是否可以安全地使它大于0.你也不能在指针上有负数,所以什么是安全值?
有什么好方法可以跨平台进行PORTABLE吗?
编辑:
好吧也许我没有正确解释基本上我希望功能像这样使用:
point *x;
point *y;
x = func();
func(y);
Run Code Online (Sandbox Code Playgroud)
不
x = func(NULL);
Run Code Online (Sandbox Code Playgroud)
如果我使用NULL,只有当我执行func(y)时才会出现错误分段错误;
原因是:
用户传递他管理的指针,例如在堆栈上创建的指针,或者如果没有给出,则函数将返回动态指针.我不想强制只返回动态内存或只接受指向填充.
我知道我以前见过这件事.
我正在尝试编写一些Perl来与其他语言中的哈希函数进行交互操作,即Java.我们已经找到了可能是正确的源代码,RFC 4868包括一些测试键和字符串以及它们的散列值.我正在使用以下代码段,并且无法让Perl得出相同的结果.我只能假设我错误地使用它 - 有人能指出我正确的方向吗?
use Digest::SHA qw(hmac_sha512_hex);
my $key = '0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b';
my $value = '4869205468657265';
print hmac_sha512_hex($value, $key);
Run Code Online (Sandbox Code Playgroud)
输出是'4ef7 ... 5d40',虽然RFC 4868(和我的同胞的Java实现)返回'87aa ... 6854'
我已经阅读了很多关于如何以及何时使用断言的文章(以及在StackOverflow上发布的其他几个类似问题),我对它们理解得很好.但是,我仍然不明白应该驱使我使用什么样的动机Debug.Assert而不是抛出一个普通的例外.我的意思是,在.NET中,对失败的断言的默认响应是"停止世界"并向用户显示一个消息框.虽然可以修改这种行为,但我觉得这样做非常烦人和多余,而我可以改为抛出一个合适的异常.这样,我可以在抛出异常之前轻松地将错误写入应用程序的日志,而且,我的应用程序不一定会冻结.
那么,为什么我应该使用Debug.Assert而不是普通的例外呢?将断言放在不应该出现的地方可能会导致各种"不需要的行为",所以在我看来,我真的没有通过使用断言而不是抛出异常来获得任何东西.你同意我的意见,还是我在这里遗漏了什么?
注意:我完全理解"在理论上"(调试与发布,使用模式等)之间的区别是什么,但正如我所看到的,我最好抛出异常而不是执行断言.因为如果在生产版本上发现了一个bug,我仍然希望"断言"失败(毕竟,"开销"非常小),所以我最好不要抛出异常.
编辑:我看到它的方式,如果断言失败,这意味着应用程序进入某种已损坏的意外状态.那么我为什么要继续执行呢?应用程序是否在调试版或发行版上运行并不重要.两者都是如此
c# ×3
c++ ×3
.net ×2
assertions ×1
branch ×1
class ×1
deployment ×1
digest ×1
encryption ×1
exception ×1
fixtures ×1
git ×1
hash ×1
maven-2 ×1
maven-plugin ×1
perl ×1
pointers ×1
repository ×1
silverlight ×1
stream ×1
unit-testing ×1
vba ×1
web-services ×1
workflow ×1