小编Vil*_*lx-的帖子

如何在IE6 CSS中设置<input type ="text">的样式?

是否有任何优雅的方式将某种风格应用于<input type="text">IE6下的所有元素?我可以用一些JavaScript来做,但我想知道是否有一种更优雅的方式.

注意 - 我无法手动将某个类应用于所有文本框.我想避免使用CSS表达式.

css css-selectors internet-explorer-6

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

哪里可以找到关于双三次插值和Lanczos重采样的好读物?

我想在C++中实现上面提到的两个图像重采样算法(bicubic和Lanczos).我知道有很多现有的实现,但我仍然想做自己的.我想部分原因是因为我想了解它们是如何工作的,部分是因为我想给它们一些在主流实现中找不到的功能(比如可配置的多CPU支持和进度报告).

我试过读维基百科,但这些东西对我来说太干了.也许对这些算法有一些更好的解释?我在SO或Google上找不到任何东西.

补充:似乎没有人可以给我一个关于这些主题的良好链接.任何人都可以至少尝试在这里解释一下吗?

algorithm image-processing resampling

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

PHP IDE具有最佳代码完成?

尽管有些人可能会说,但我相信代码完成(又称Intellisense)是代码编辑器(第一个是语法着色)的第二个最佳发明.它确实使编码更容易,因为我不必担心我是否命名了函数CalculateReportSums,ReportSumsCalculate或者只是GetReportSums.

不幸的是,我还没有找到一个能够令人满意地为PHP实现此功能的代码编辑器.而"令人满意"的意思是"与Visual Studio for C#一样好".

我首选的文本编辑器是Notepad ++,但它只有PHP的内置函数列表,只有在你按Ctrl + SPACE后才能显示.我也尝试过Eclipse + PDT,它更好,但仍然经常出现打嗝,有时完全失败没有明显的原因(没有列表可用),并且只有在我暂停键入时才会出现(将超时设置为某个小值会导致列表不要完全出现).

所以 - 那里有更好的东西吗?能够了解当前范围中的所有变量的东西,能够跟随include()s,并且在我输入时会实时显示列表吗?

我知道PHP是一种动态语言,完整的代码完成原则上是不可能的(因为你不知道在运行之前会有什么变量),但它仍然可以在相当好的程度上实现它 - 很多比我到目前为止看到的更好.

补充:添加几个小点 - 我希望CC是即时的,就像在Visual Studio中一样.我输入一个字符,列表会在同一时刻显示.我输入另一个字符,列表变成一半,然后我甚至可以闪烁.CPU使用率几乎为零,即时结果(所有人都欢呼神的缓存!).

另外 - 我可以用特殊的方式记录我的函数甚至变量.我更喜欢PHPLint语法(因为之后我可以用它检查我的代码),但其他语法也可以.强制执行此操作对您的评论规则也有好处.:)

php ide code-completion

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

C#中的三元运算符关联性 - 我可以依赖它吗?

啊,你不喜欢一个好的三元滥用吗?:)考虑以下表达式:

true ? true : true ? false : false
Run Code Online (Sandbox Code Playgroud)

对于那些现在完全感到困惑的人,我可以告诉你,这个评估是真的.换句话说,它等同于:

true ? true : (true ? false : false)
Run Code Online (Sandbox Code Playgroud)

但这可靠吗?我能否确定在某些情况下不会出现这种情况:

(true ? true : true) ? false : false
Run Code Online (Sandbox Code Playgroud)

有些人可能会说 - 好吧,只需添加括号或完全不使用它 - 毕竟,众所周知,三元运算符是邪恶的!

当然它们是,但在某些情况下它们确实有意义.对于好奇的 - 我正在拧干通过一系列属性比较两个对象的代码.如果我像这样冷写它会很好:

obj1.Prop1 != obj2.Prop1 ? obj1.Prop1.CompareTo(obj2.Prop1) :
obj1.Prop2 != obj2.Prop2 ? obj1.Prop2.CompareTo(obj2.Prop2) :
obj1.Prop3 != obj2.Prop3 ? obj1.Prop3.CompareTo(obj2.Prop3) :
obj1.Prop4.CompareTo(obj2.Prop4)
Run Code Online (Sandbox Code Playgroud)

简洁明了.但它确实取决于三元运算符的相关性,就像第一种情况一样.括号只会使意大利面条脱离它.

那么 - 这是指定的吗?我找不到它.

.net c# ternary-operator associativity

17
推荐指数
2
解决办法
2143
查看次数

为什么Eratosthenes的Sieve比简单的"哑"算法更有效?

如果你需要从1到N生成素数,那么"愚蠢"的方法就是迭代从2到N的所有数字并检查这些数字是否可以被到目前为止找到的任何素数除以小于有问题的数字的平方根.

在我看来,Eratosthenes的筛子做了同样的事情,除了其他方式 - 当它找到一个素数N时,它标记所有N的倍数的数字.

但是,当你找到N时是否标记X,或者你检查X是否可以被N除可,基本的复杂性,大O保持不变.你仍然按照数字对进行一次恒定时间操作.事实上,愚蠢的算法一旦找到一个素数就会中断,但是Eratosthenes的筛子会多次标记每个数字 - 一次对于每个素数它都可以被分割.对于除素数之外的每个数字,这是最少两倍的操作.

我在这里误解了什么吗?

algorithm performance big-o

17
推荐指数
4
解决办法
6997
查看次数

如何让命名空间别名operator ::在C#下工作?

当我引用两个具有相同命名空间和类型名称的外部程序集时,我遇到了不太可能发生的情况.当我尝试使用该类型时,编译器抛出一个错误,它无法解析我想要使用的那个.

我看到C#提供了一种为引用使用别名的机制.您甚至可以通过PropertyVisual Studio 2008中的引用窗口指定这些别名.如何在代码中使用此别名?据我所知,我应该使用::运算符,但它失败并出现以下错误:

CS0432 - Alias not found

通常的.操作员也会失败.

在输出窗口中,我看到编译器在其命令行中正确传递了别名.

关于我接下来可能尝试的任何指示都非常感谢.

.net c# alias namespaces

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

如何将类型传递给方法 - 键入参数vs泛型

我有一个像工厂一样的对象方法.你给它一个类型,它创建一个实例并做一些其他的事情.一个优雅的方式(在我看来)是这样的:

public T MagicMethod<T>() where T: SomeBaseClass
{
    // Magic goes here
}
Run Code Online (Sandbox Code Playgroud)

但是这让FxCop感到不安,他说这是一个糟糕的风格 - 我得到一个"CA1004:通用方法应该提供类型参数"警告.关于不使用推理和东西的事情.所以,我能想到的另一种方式是这样的:

public SomeBaseClass MagicMethod(Type T)
{
    // Same magic goes here
}
Run Code Online (Sandbox Code Playgroud)

我认为这不如许多帐户的第一种方法,但风格规则......关于警告的MSDN文章甚至说没有理由压制它.

我是否通过抑制此警告来做到这一点?

c# generics parameters types factory

16
推荐指数
3
解决办法
9709
查看次数

我应该使用C++中的哪个包装类进行自动资源管理?

我是C++业余爱好者.我正在编写一些Win32 API代码,并且有句柄和奇怪的复合分配对象.所以我想知道 - 是否有一些包装类可以使资源管理更容易?

例如,当我想加载一些数据时,我打开一个文件CreateFile()并得到一个HANDLE.当我完成它之后,我应该呼吁CloseHandle()它.但是对于任何相当复杂的加载函数,将会有许多可能的退出点,更不用说例外了.

因此,如果我可以将句柄包装在某种类型的包装类中会很好,它会CloseHandle()在执行一次离开范围后自动调用.更好的是 - 它可以进行一些引用计数,因此我可以将其传入和传出其他函数,并且只有在最后一个引用离开范围时它才会释放资源.

这个概念很简单 - 但标准库中有类似的东西吗?顺便说一下,我正在使用Visual Studio 2008,而且我不想附加像Boost这样的第三方框架.

c++ raii resource-management

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

哪里可以获得JPEG/JFIF/EXIF /等免费规格?

我希望为自己制作一个工具(如果它出来的话可能还有其他工具)用于JPEG文件的低级检查/修改.有点像TweakPNG,但是对于JPEG.到目前为止,我还没有找到任何这样做的工具.

为此,我需要阅读所有相关规范.不幸的是,官方的人是相当昂贵的,所以我在寻找替代能源.你有什么建议可以尽可能多地覆盖吗?

standards jpeg

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

为什么异步被认为比多线程更好?

我理解异步和多线程编程,我已经完成了两个并且可以轻松完成它们.然而有一件事仍然让我感到困惑:为什么普遍认为异步比多线程表现更好?(补充说:我说的是这两种方法都可行并且你可以做出选择的情况)

乍一看原因似乎很清楚 - 更少的线程,更少的OS调度工作,更少的内存浪​​费堆栈空间.但是......我不觉得这些论点有用.让我们分别看看它们:

  1. 减少OS调度程序的工作量.没错,但这意味着总共减少工作量吗?仍有N个任务并行运行,SOMEBODY必须在它们之间切换.在我看来,我们只是从OS内核中完成了工作并开始在我们自己的用户态代码中完成它.但是,由于它,需要完成的工作量没有改变.效率从何而来?
  2. 减少堆栈空间浪费的内存.或者是吗?
    • 首先,我不知道其他操作系统,但至少在Windows中,线程的堆栈空间不会一次全部提交.保留了虚拟内存地址,但实际内存仅在需要时提交.
    • 即使它已经提交,也没关系,因为只分配内存不会减慢你的程序.除非你用光了,现代计算机有足够的内存用于数千个堆栈,尤其是服务器.
    • 即使堆栈DO被提交并且DO最终导致内存不足,大多数堆栈只会在开始时使用一点(如果你的程序正在调整堆栈溢出,你需要担心更大的问题).这意味着无论如何都可以将大部分页面分页.
    • 大内存使用的真正问题是CPU缓存被破坏了很多.当你在所需的地方获得大量数据时,CPU缓存无法跟上它并且需要一次又一次地从主RAM中获取内容 - 这就是事情变得缓慢的时候.但异步编程无论如何都无济于事.如果有的话,它会积极地使用更多内存.我们现在Task在堆上分配了单独的对象,而不是精简堆栈框架,基本上每个堆栈框架都包含状态和局部变量以及回调引用和所有内容.此外,它在整个地址空间中都是碎片化的,这给CPU缓存带来了更多麻烦,因为预取将毫无用处.

那么......我错过了房间里的哪头大象?

performance multithreading asynchronous

15
推荐指数
2
解决办法
2167
查看次数