小编Cor*_*rch的帖子

什么是编程习语?

我看到"编程成语"这句话被抛出,好像它是普遍理解的.然而,在搜索结果和堆栈溢出中,我看到了一切......

来自微观:

  • 增加变量
  • 代表无限循环
  • 交换变量值

中等:

要宏:

"编程习语"有一个单独的共同定义吗?由于"编程习惯用法"在许多范围内使用:

  • 微:句法细微差别或通用语法
  • 中:共同的风格和模式
  • 宏:编程范式为习语

在任何这些范围中使用短语是否有效?到目前为止,答案主要集中在句法习语上.其他人也有效吗?

language-agnostic idioms

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

LINQ to SQL - 您的DataContext在哪里?

我在数据访问对象库中使用LINQ to SQL.该库用于Web(Web应用程序/ Web服务)和非Web(Windows服务)上下文.最初,我存储了DataContext当前,HttpContext因为它允许我管理一个相当小的工作单元(一个Web请求)并避免Web应用程序中的全局对象.显然,这在Windows服务中不起作用.

Rick Strahl有一篇关于管理DataContext生命的好文章:http://www.west-wind.com/weblog/posts/246222.aspx.不幸的是,我无法决定最好的方法.一个全球性DataContext的,他提到的原因不能正常工作,每个线程DataContext看起来很复杂,而且可能更麻烦比它的价值,并为每个对象实例似乎挑剔-你失去了一些优雅当您将DataContext用来创建一个DAODAO,因此可以updatedelete稍后 - 更不用说,这种关系有一些不愉快的鸡肉和蛋白.

有没有人有个人经验表明一种方法比另一种更好?或者更好的是,有没有人有第四种或第五种方法,我没有看到?存储和管理您的最佳位置在哪里DataContext

asp.net linq-to-sql

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

为什么人们使用linq来sql?

鉴于前提:

  • 有称职的SQL程序员(相关 - 编写SQL查询不是问题)
  • 有称职的应用程序开发人员(相关 - 有简单/强大/灵活的架构,用于处理连接和代码中的简单查询)

为什么人们使用linq来sql?

  • 每笔交易都增加了开销
  • 对于中等复杂的计算,很可能会出现性能损失(数据库用于处理集和计算,并且有工程师团队正在进行优化 - 为什么要搞这个?)
  • 缺乏灵活性(如果要添加另一个ui(非.NET应用程序)或访问方法,则必须将查询放回到数据库中或创建单独的数据访问层)
  • 由于没有对db进行写/更新/读取的集中控制而导致安全性下降(例如,记录已更改 - 如果允许应用程序使用linq to sql进行更新,那么您无法证明哪个应用程序更改了它或者是什么应用程序的实例改变了它)

我一直看到关于linq到sql的问题,我想知道我是否遗漏了一些东西.

linq linq-to-sql

21
推荐指数
5
解决办法
6972
查看次数

D编程中的模板

有人可以解释下面的代码吗?当我试图理解isNumeric时,我感到很困惑!在这种情况下,T会起作用.

auto foo(T)(T n) if (isNumeric!T) {
     return (T m) {return m > n;};
}

void main() {
    auto hoo5 = foo!int(1000);
    writeln(hoo5(93));
    writeln(hoo5(23));
}
Run Code Online (Sandbox Code Playgroud)

d

10
推荐指数
1
解决办法
522
查看次数

跟踪树的Javascript性能改进是否会进入其他解释语言?

听起来Mozilla使用TraceMonkey可以很好地改善JavaScript性能.另见Andreas Gal 关于跟踪树论文.

这些改进是否可供其他口译员/编制者使用?如果是这样,这是否意味着我们会看到其他解释语言的一系列改进?

javascript compiler-construction performance interpreter

7
推荐指数
1
解决办法
503
查看次数

在Web场中加密web.config

嗨,大家好,我不知道这个问题是否已经提过。但是我想加密我的web.config中的连接字符串。我的应用程序将部署在Web场中。

我试图阅读一些有关此的博客,但感到困惑。有人可以告诉我他们确实尝试过并且成功的链接。

asp.net security web-config

5
推荐指数
0
解决办法
3641
查看次数

多个线程设置ServicePointManager.ServerCertificateValidationCallback是否安全?

要忽略ssl证书错误,我ServicePointManager.ServerCertificateValidationCallback在创建之前设置静态方法HttpWebRequest.我只希望对内部请求执行此操作,因此我将该属性重置为finally块中的默认值.但是因为它是一个Web应用程序,当多个线程修改属性时会出现问题吗?

这是我如何使用该属性

public static String GetResource()
{
    try
    {        
        ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };        
    }
    catch()
    {
    }
    finally
    {
        ServicePointManager.ServerCertificateValidationCallback -= delegate { return false; };
    }    
}
Run Code Online (Sandbox Code Playgroud)
  1. 这段代码是线程安全的吗?msdn上的文档说ServicePointManager类型的任何静态成员都是线程安全的,但我只想确认一下. http://msdn.microsoft.com/en-us/library/zkfa48de%28v=vs.80%29.aspx
  2. finally块中的代码是将它重置为默认值的正确方法吗?

c#

5
推荐指数
1
解决办法
1505
查看次数

如何防止.NET运行时中的静态变量共享?

我正在开发一个使用类似Robocode编程模型的游戏(C#):参与者继承基类并添加战略行为.然后游戏加载参与者类的实例并开始竞争.不幸的是,参与者可以通过在竞争对手类的实例之间共享静态变量来"欺骗".

如何防止.NET语言中的Class实例之间的静态变量共享?我知道这是通过每个实例使用一个单独的ClassLoader在Java中完成的.什么是.NET等价物?

提前致谢...

关于解决方案的注意事项:我的测试表明,单独的AppDomains仅在加载扩展MarshalByRefObject的类时才起作用.我想这是有道理的 - 如果您只是加载Serializable类,则将Class复制到当前AppDomain中,以便来自不同AppDomain的第二个对象将共享其静态变量.MarshalByRefObject保证只有代理加载到当前的AppDomain中,并且静态加载AppDomain中的静态.另见:http://blogs.msdn.com/ericlippert/archive/2004/05/27/143203.aspx

.net c# multithreading

1
推荐指数
2
解决办法
2346
查看次数