我一直在尝试优化我的代码,使其更简洁和可读,并希望我没有造成更差的性能.我认为我的更改可能会减慢我的应用程序,但它可能只是在我脑海中.两者之间是否有任何性能差异:
Command.Parameters["@EMAIL"].Value = email ?? String.Empty;
Run Code Online (Sandbox Code Playgroud)
和
Command.Parameters["@EMAIL"].Value = (email == null) ? String.Empty: email;
Run Code Online (Sandbox Code Playgroud)
和
if (email == null)
{
Command.Parameters["@EMAIL"].Value = String.Empty
}
else
{
Command.Parameters["@EMAIL"].Value = email
}
Run Code Online (Sandbox Code Playgroud)
我对可读性的偏好是空合并运算符,我只是不希望它影响性能.
我下载了tortoise插件示例,但我不知道如何在Delphi上实现它.
我已经成功编译了C#示例,并在存储库中使用它,但是我对C#的一般开发知识很差.在其他hande中,我不知道如何在Delphi中开始创建该插件,但之后我觉得对我来说很容易.
我想为Redmine Issue List集成一个插件.
像"你好世界"的东西会很棒!
这里有一些使用C#做一个新插件的指南:http : //svn.devjavu.com/tracexplorer/trunk/ext/tortoisesvn.net/issue-tracker-plugins.txt http://tortoisesvn.tigris.org/ds /viewMessage.do?dsForumId=757&dsMessageId=1113569
这主要适用于不通过soa访问数据的asp.net应用程序.这意味着您可以访问从框架加载的对象,而不是转移对象,尽管某些建议仍然适用.
这是一个社区帖子,所以请在您认为合适时添加.
适用于:Visual Studio 2008 sp1附带的Entity Framework 1.0.
为什么首先选择EF?
考虑到这是一项存在大量问题的年轻技术(见下文),为您的项目加入EF可能很难.然而,这是微软正在推动的技术(以牺牲Linq2Sql为代价,它是EF的一个子集).此外,您可能对NHibernate或其他解决方案不满意.无论是什么原因,都有人(包括我)与EF合作,生活也不错.你想.
EF和继承
第一个重要的主题是继承.EF确实支持以两种方式持久化的继承类的映射:每个类的表和表的层次结构.建模很简单,该部分没有编程问题.
(以下适用于每个类模型的表,因为我没有每个层次结构的表的经验,无论如何,这是有限的.)当您尝试运行包含一个或多个对象的查询时,真正的问题就出现了.继承树:生成的sql非常糟糕,需要很长时间才能被EF解析并且需要很长时间才能执行.这是一个真正的表演塞子.足够的EF应该不能用于继承或尽可能少.
这是一个多么糟糕的例子.我的EF模型有~30个类,其中约10个是继承树的一部分.在运行查询以从Base类获取一个项目时,就像Base.Get(id)一样简单,生成的SQL超过50,000个字符.然后,当您尝试返回一些关联时,它会退化甚至更多,就抛出SQL异常而言,无法一次查询超过256个表.
好的,这很糟糕,EF概念允许您在没有(或尽可能少)考虑表的实际数据库实现的情况下创建对象结构.它完全失败了.
那么,推荐?如果可以的话,避免继承,性能会好得多.在必要的地方谨慎使用它.在我看来,这使得EF成为用于查询的美化sql生成工具,但使用它仍然有优势.以及实现类似于继承的机制的方法.
使用接口绕过继承
尝试使用EF进行某种继承时,首先要知道的是,您不能将非EF建模类指定为基类.甚至不尝试它,它将被建模者覆盖.那么该怎么办?
您可以使用接口来强制该类实现某些功能.例如,这里有一个IEntity接口,允许您定义EF实体之间的关联,您在设计时不知道实体的类型.
public enum EntityTypes{ Unknown = -1, Dog = 0, Cat }
public interface IEntity
{
int EntityID { get; }
string Name { get; }
Type EntityType { get; }
}
public partial class Dog : IEntity
{
// implement EntityID and Name which could actually be fields
// from your EF model
Type EntityType{ get{ return EntityTypes.Dog; } } …Run Code Online (Sandbox Code Playgroud) 考虑以下类型:
struct A {};
struct B : A { int i; };
Run Code Online (Sandbox Code Playgroud)
sizeof(A) > 0 按照标准的要求.
sizeof(B)由于空基优化应该是4.然而在GCC 4.1.1上它是5(我在这方面使用了一包1).并且不一致 - 我的一些文件正在获取它,有些则没有.不能确定差异是什么,我们有一个很大的优点.
在我使用的其他三个编译器上(由Microsoft和Freescale),我没有这个问题.根据这篇文章,空基优化显然是可选的.
在GCC 4.1.1中是否有编译器选项或编译指示来调整它?我可以解决这个问题,但我想先了解一下发生了什么.我用Google搜索了一段时间,似乎找不到任何东西.
我的网络应用程序中有一个文件输入标记.我想在将文件发送到服务器之前检查文件是否太大.当然,我还有验证服务器端.有没有办法用JavaScript做到这一点?它必须在IE7 +和FF3 +中工作.谢谢.
编辑:somefileinputobject.files [0] .filesize在FF中工作,但不在IE中.
我很想知道其他开发人员如何测试他们的网站.PHP特别适用于我的情况,但这可能跨越多种语言.我已经在一个网站上工作了一年多了,而且我真的想在版本之间自动执行很多回归测试.
这个特定的站点在CodeIgniter中,所以我对我的模型进行了一些测试.我想超越仅测试那些.然而,这是一个问题,即使非MVC开发人员必须解决我的确定.
编辑:我认为满足我的测试需求的功能是能够断言参数在脚本处理结束时具有特定值.在我的情况下,控制器中有很多逻辑,这是我想要测试的主要区域.
我一直在尝试在我的网站上使用Server Side Includes来节省编写代码的时间,并能够快速轻松地更改站点范围的元素.
但是我似乎无法让它们在本地或服务器上运行.
我已将它们设置为.html文件(只需要代码,没有html或body标签)在"ssi"文件夹中,并在我的.shtml文件中的相应位置调用它们:
<!--#include virtual="/ssi/<filename>.html" -->
Run Code Online (Sandbox Code Playgroud)
但仍然没有.有任何想法吗?
我一直在反对这一点,但无济于事.
我需要缩小一些大型PDF以在8.5x11英寸(标准字母)页面上打印.ImageMagick/Ghostscript可以处理这类事情,还是因为我使用错误的工具来解决这个问题?
仅仅依靠客户端打印对话框中的"缩小到页面"选项不是一种选择,因为我们希望这对最终用户来说易于使用.
我正在尝试做一些许多人似乎能够做到但我无法实现任何解决方案的事情.该TinyMCE的控制工作得很好,在一个asp.net的形式,直到你有一个UpdatePanel,然后回发后坏括起来.我尝试了一些像RegisterClientScriptBlock方法的修复,但仍然不成功,我在回发后仍然失去了tinyMCE控件.
下面是一个完整的测试项目(VS 2008),它在UpdatePanel外部提供一个Control,内部有一个控件,每个项目都有一个按钮来生成回发.同样在项目中我有一个EditorTest控件,其中包含我尝试的一些调用的注释代码,以防它给任何人任何想法.
以下是MCE论坛上一些解决方案的一些来源:
AJAX
UpdatePanel
我正在尝试创建一个IM机器人,但我无法找到必要的资源.
UPDATE
有一个问题,Imified使gtalk机器人不出现在线(并没有响应),它现在工作,所以我关闭这个.
本教程确实有效.
未删除原始问题以供参考
首先,我确实找到了一个关于如何编写自己的IM机器人的精彩教程,但它使用了看起来已经死亡的IMified平台(2008年septembre上的最后一篇博文,他们的帮助论坛没有反馈,......).
我确实设法使用他们的服务创建了一个测试版机器人,但正如我在他们的帮助论坛中看到的那样,它永远不会在线.
那么,任何一个设法做到了吗?
笔记
我正在寻找一些可能的东西:
当然,请发布任何不符合这些标准的解决方案的答案,这可能有所帮助.
*我在GoDaddy上有一个Linux托管计划
asp.net ×2
c# ×2
javascript ×2
.net ×1
apache ×1
bots ×1
bug-tracking ×1
c++ ×1
codeigniter ×1
delphi ×1
file ×1
filesize ×1
gcc ×1
ghostscript ×1
html ×1
if-statement ×1
imagemagick ×1
input ×1
operators ×1
pdf ×1
performance ×1
php ×1
redmine ×1
resize ×1
server-side ×1
svn ×1
tinymce ×1
tortoisesvn ×1
unit-testing ×1
updatepanel ×1
xhtml ×1