我不太确定如何描述我想做的事情,但我确信我之前在很多网站上都看过它.
基本上,当有人点击链接时,它应该显示一个包含一些文本的元素,并使网站的其余部分变暗,以便用户将焦点指向元素.它也不应该让用户点击调暗区域,因为通知需要在确认之前进行确认.
我在我的网站上使用jQuery,所以如果它更容易,我很乐意使用它.
如果我们的项目中还有一个静态类,那么哪个静态类首先初始化?
例如:下面的代码给出了null异常.
class Program
{
static void Main(string[] args)
{
First.Write();
Second.Write();
}
}
static class First
{
public static int[] firstArray = new int[20];
public static int[] secondArray = Second.secondArray;
public static void Write()
{
Console.WriteLine(firstArray.ToString());
Console.WriteLine(secondArray.ToString());
}
}
static class Second
{
public static int[] firstArray = First.firstArray;
public static int[] secondArray = new int[30];
public static void Write()
{
Console.WriteLine(firstArray.ToString());
Console.WriteLine(secondArray.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
如果你注意,你会看到如果First类将自己初始化,那么secondArrayfield Second将为null.但是如果Second类首先初始化,那么Secondclass firstArray将为null.我试图告诉哪个初始化首先产生不同的结果.
我认为这是关于我的项目的抽象问题.我在试图理解为什么会得到意想不到的结果时遇到它.
我有一个带2个外键的表,让我们称它们为fk1和fk2.两者都有相同的类型和相同的索引.但是当我"解释"一个简单的选择查询时,我得到完全不同的查询计划.对于fk1:
explain select * from mytable where fk1 = 1;
Run Code Online (Sandbox Code Playgroud)
结果
Index Scan using fk1_idx on mytable (cost=0.00..9.32 rows=2 width=4)
Index Cond: (fk1 = 1)
Run Code Online (Sandbox Code Playgroud)
对于fk2
explain select * from mytable where fk2 = 1;
Run Code Online (Sandbox Code Playgroud)
结果:
Bitmap Heap Scan on mytable (cost=5.88..659.18 rows=208 width=4)
Recheck Cond: (fk2 = 1)
-> Bitmap Index Scan on fk2_idx (cost=0.00..5.83 rows=208 width=0)
Index Cond: (fk2 = 1)
Run Code Online (Sandbox Code Playgroud)
第二个似乎效率更低.是否因为它可能会返回更多结果,因此更复杂的查询得到回报?
template<typename T>
void traverse_binary_tree(BinaryTreeNode<T>* root,int order = 0)// 0:pre, 1:in , 2:post
{
if( root == NULL ) return;
if(order == 0) cout << root->data << " ";
traverse_binary_tree(root->left,order);
if(order == 1) cout << root->data << " ";
traverse_binary_tree(root->right,order);
if(order == 2) cout << root->data << " ";
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来编写这个功能?
我是否正确地认为Tigris.org已经停止维护他们的Windows SVN二进制包,包括Apache 2.x兼容包?它在" 下载"页面上不再列出.有趣的是它为什么会发生?
现在有什么替代品?只有SlikSVN?它与旧的Tirgris SVN有什么不同吗?
如何在Windows下安装知道SVN和Apache?
我已经比较了.NET 4.0中的system.runtime.caching和企业库缓存块的性能,令我惊讶的是,当从缓存项中获取大数据集时,它的表现非常糟糕.
Enterprise Library在大约0,15ms内获取100个对象,在大约0.25ms内获取10000个对象.这对于进程内缓存来说是快速且自然的,因为实际上不需要复制数据(仅引用).
.NET 4.0缓存在大约25毫秒内获取100个对象,在大约1500毫秒内获取10000个对象!相比之下这非常慢,这让我怀疑缓存是在进程外完成的.
我是否缺少一些配置选项,例如启用进程内缓存,还是企业库缓存块真的这么快?
更新
这是我的基准:
首先,我将数据从数据库加载到缓存(与基准分开).
我在get方法周围使用一个计时器来测量时间(以毫秒为单位):
EnterpriseLibrary缓存
Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager _cache;
public void InitCache(){
_cache = CacheFactory.GetCacheManager("myCacheName");
}
public void Benchmark(){
HighPerformanceTimer timer = new HighPerformanceTimer();
timer.Start();
myObject o = (myObject)_cache.GetData(myCacheKey);
timer.Stop();
Response.Write(timer.GetAsStringInMilliseconds());
}
Run Code Online (Sandbox Code Playgroud)
.NET 4.0缓存
System.Runtime.Caching.MemoryCache _cache;
public void InitCache(){
_cache = new MemoryCache("myCacheName");
}
public void Benchmark(){
HighPerformanceTimer timer = new HighPerformanceTimer();
timer.Start();
myObject o = (myObject)_cache.Get(myCacheKey);
timer.Stop();
Response.Write(timer.GetAsStringInMilliseconds());
}
Run Code Online (Sandbox Code Playgroud)
基准测试执行1000次以计算获取对象的平均时间,以确保测试的可靠性.计时器是我使用的自定义计时器,任何计时器计数毫秒都应该这样做.
有趣的是,"myObject"有很多引用.如果涉及任何序列化,我就会理解为什么这个对象的性能不同(比如在分布式缓存中),但这些都是进程中的缓存,理论上应该可以在没有很多重大差异的情况下工作.
公司高管们请求"星球大战爬"风格信用屏幕的融合为我们在我们的应用程序关于盒子,我一直负责在一周内完成这一点.
我不确定从哪里开始.我有一种感觉DoubleAnimation是我想看的地方,但是我如何使文本爬上屏幕并进入单点是我有点失落以及如何淡化文本并进入屏幕中间(如STAR WARS位).
在WPF中这很容易吗或者应该只是动画片吗?问题是我们的文本会根据已安装的版本和用户进行更改.
我有一个包含许多0字节文件的目录.我使用ls命令时甚至看不到文件.我正在使用一个小脚本删除这些文件,但有时甚至不删除这些文件.这是脚本:
i=100
while [ $i -le 999 ];do
rm -f file${i}*;
let i++;
done
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以更快地完成这项工作?