正如您可能已经知道的那样,在JQuery中选择具有特定CSS类的文档中的所有元素是很简单的,然后使用链接将常用事件处理程序分配给所选元素:
$(".toolWindow").click(toolWindow_click);
$(".toolWindow").keypress(toolWindow_keypress);
Run Code Online (Sandbox Code Playgroud)
像往常一样,类"toolWindow"通常也在CSS中定义并与一些视觉样式相关联:
.toolWindow{
color:blue;
background-color:white;
}
Run Code Online (Sandbox Code Playgroud)
class属性现在不仅要指示元素的外观(可视状态),还要指示行为.因此,我经常使用这种方法并将CSS类名称更多地定义为伪对象类,然后仅视觉化CSS类.换句话说,每个类都代表状态(CSS样式)和行为(事件).
在某些情况下,我甚至创建了没有视觉样式的类,只是使用它们作为向元素分配行为的便捷方式.
此外,jQuery LiveQuery插件(以及live()内置函数)通过自动将事件绑定到属于特定类的动态创建元素,使这种方法更加有效.
最近我主要使用类名来定义关联DOM元素的一组公共行为,并且稍后使用它们来定义视觉样式.
问题:这是一个可怕的滥用CSS"类"属性,如果是这样,为什么?
另一方面,也许这是进一步实现"关注点分离"和提高HTML/DHTML页面可维护性的完美有效方法?
最近,我和一位朋友正在谈论在SQL服务器数据库中保护存储过程代码.
从远处的内存中,我很确定在所有版本的SQL Server中"加密"都非常容易被破解,但是他说它在SQL 2005中得到了很大的改进.因此我没有认真考虑它作为安全选项在我曾经做过的任何系统中.
那么在什么样的情况下可以使用"加密",什么时候应该不惜一切代价避免?
我有一个Samurize配置,显示类似于任务管理器的CPU使用率图.
如何以当前最高CPU使用率百分比显示进程名称?
我希望每秒最多更新一次.Samurize可以调用命令行工具并在屏幕上显示它的输出,因此这也可以是一个选项.
进一步澄清:
我已经研究过编写自己的命令行c#.NET应用程序来枚举从System.Diagnostics.Process.GetProcesses()返回的数组,但是Process实例类似乎没有包含CPU百分比属性.
我能以某种方式计算出来吗?
要在新计算机上安装应用程序,当前使用似乎有两种主要方法:
我已经使用了一些破坏其设置的应用程序,并且大多数都有单独的安装程序.因此,唯一的解决方法是重新安装,有时设置甚至数据丢失(非常令人沮丧).
此外,在我参与的软件项目中,单独的安装程序方法通常要求在安装程序包和实际应用程序中传播应用程序特定的知识.然后,当进行代码/功能更改时,需要更新安装程序和应用程序.它总是感觉有点太脆,容易出现人为错误.
所以我目前倾向于自安装方法,因为更简单,更强大的安装/设置,即只需运行应用程序.我认为这种自安装方法也可以提供更强大的应用程序.
与应用程序设置(选项)集成也会更加干净,在许多情况下,同一组件可以执行安装和设置管理.
然而,在否定的情况下,每次应用程序启动时执行这些额外的检查/步骤可能会对启动时间产生负面影响,并且操作系统集成可能会比使用标准安装程序更多一些工作.
那么人们推荐哪种方法?为什么?
(我目前最感兴趣的是安装桌面富客户端应用程序.)
谷歌Chrome和IE8(以及其他)旨在通过在单独的过程中隔离每个标签(网页)来提供更高的可靠性/稳定性(过度简化,我知道).
这似乎比多线程更重量级,但在一个进程中崩溃的主要好处是不会导致整个应用程序崩溃.
似乎多进程架构长期以来一直用于服务器端应用程序(例如Web服务器),但这些是没有专用GUI的进程.有趣的是,它现在被用在桌面应用程序的用户界面中.
如何在Windows Forms .NET应用程序中实现这一点?它甚至可能吗?
Process.Start()显然是第一个看的地方,但新进程的GUI没有与主机应用程序的GUI紧密集成.它是一个新的独立应用程序,而不是主机应用程序的子控件/窗口,就像Chrome/IE8一样.
(对于任何感兴趣的人,Scott Hanselmann 在这里为IE8多进程架构写了一篇很好的介绍.)
[更新]
进一步来说:
一个单独的"子流程"如何直接呈现给"主流程"中的UI?这实际上是发生了什么,或者正如评论中所建议的那样,子流程是否使用IPC来请求主流程为其呈现?
.net user-interface google-chrome process internet-explorer-8
我有一个SQL Server主数据库文件.(密度纤维板)
我需要一个程序,可以打开文件,让我编辑一些数据.
由于存在许多字段,因此打开所有记录并对其进行修改非常繁琐.
这样做会是个好主意吗?我可以在播放之前随时备份.mdf文件,因为我没有任何编程知识.
我正在编写一个包装DirectX 9的C#控件,并提供简化的界面来执行2D像素级绘制。.NET要求我将此代码包装在不安全的代码块中,并使用allow unsafe code选项进行编译。
我要锁定整个表面,然后将指针返回到内存的锁定区域。然后,我可以使用“简单”指针算法直接写入像素数据。我已经对此性能进行了测试,发现与已知的其他“安全”方法相比,速度有了显着提高。
这是在C#.NET应用程序中处理单个像素的最快方法吗?有没有更好,更安全的方法?如果有一种不需要指针操作的同样快速的方法,那么我倾向于使用它。
(我知道这是2008年,我们都应该使用DirectX 3D,OpenGL等,但是此控件仅用于2D像素渲染,而根本不需要3D渲染。)
我与默认使用ref关键字传递引用类型(如StringBuilder,string和MemoryStream)的开发人员合作.他们这样做无论他们是否需要实际更改引用本身.
public void ExampleMethod(ref MemoryStream ms)
{
byte b=ms.ReadByte();
...
// No changing of actual ms reference such as: ms=new MemoryStream();
}
Run Code Online (Sandbox Code Playgroud)
几乎总是,方法只使用对象并返回而不以任何方式更改引用.对于不可变类型,即字符串,这有时是必要的,但为什么对于可变类型?
对我而言,这有一点"代码味道",因为它可能会导致代码更少的可维护性,因为它比它真正需要的更宽松.
然而,这是否足以让我与开发人员见面呢?我的感觉是肯定的,但也许这太迂腐了?
经典的"设计模式:可重复使用的面向对象软件的元素"实际上引入了我们大多数人的设计模式的概念.
然而,这些天我找到了一本书,如Martin Fowler的"企业应用程序架构模式"(POEA),在我的日常工作中更有用.
在与其他开发人员的讨论中,很多人都认为.NET这样的框架正在慢慢开始提供GOF书中的许多模式,这就是为什么重新发明轮子?
似乎许多开发人员认为GOF书是唯一值得参考设计模式的书.所以他们的逻辑是因为框架(.NET等)为我们提供了许多GOF模式,模式已经过去了,并且不再那么重要了.
令人惊讶的是(至少对我而言)当我提到POEA中描述的模式时,我经常会遇到空白的目光.
POEA证明模式不仅仅是Interators,Singletons,Commands等.我还要说GOF中的模式实际上只是模式的一个独特"类别",适用于不同(非重叠)的设计级别,而不是那些在POEA.
那么,在您的开发中应用了哪些其他"类别"模式?这些模式适用于什么级别的设计?他们通常在开发过程中的哪个阶段使用?这些模式有书或参考吗?
我在Firefox 3.03中的DIV元素上使用contentEditable属性.将其设置为true允许我按预期编辑DIV的文本内容.
然后,当我将contentEditable设置为"false"时,div也不再可编辑,也正如预期的那样.
但是,即使文本不再可编辑,闪烁的插入符号(文本输入光标)仍然可见.当我点击同一页面中的大多数其他文本时,插入符号现在也可见,即使在普通文本段落中也是如此.
谁看过这个吗?有没有办法强制隐藏插入符号?
(当我调整浏览器大小或在另一个应用程序中单击并返回时,插入符会神奇地消失.)
注意:这不是我已经链接到下面的问题的重复.我很明显在发布前先阅读了这个问题/答案,但没有以任何形式回答我的问题.
这个链接的问题确实更详细地解释了泛型类存在的原因.但是,在我的情况下,我没有特别回答Class的好处.
我编写了一个实用程序方法,它接受类型为Class的参数'cl'并使用cl.isInstance(objectInstance)方法执行逻辑.
但是我见过使用通用通配符声明参数的示例代码Class<?>.
为什么不使用没有通用通配符的Class?Class不能代表所有可能的类类型,包括泛型吗?如果Class<?>在我的情况下使用有什么好处?
现有相关问题(见下文)中接受的答案实际上并没有提供有用的答案.
c# ×2
javascript ×2
sql-server ×2
windows ×2
.net ×1
class ×1
css ×1
encryption ×1
filesystems ×1
firefox ×1
graphics ×1
html ×1
installer ×1
java ×1
jquery ×1
oop ×1
performance ×1
poeaa ×1
pointers ×1
process ×1
reflection ×1
sql ×1