小编Gis*_*shu的帖子

使用gensym的以下Common Lisp宏有什么问题?

学习Common Lisp(使用GNU CLISP 2.43)..所以可能是一个noob错误.示例是'x和y之间的'打印素数'

(defun is-prime (n)
  (if (< n 2) (return-from is-prime NIL))

  (do ((i 2 (1+ i)))
      ((= i n) T)
    (if (= (mod n i) 0) 
        (return NIL))))

(defun next-prime-after (n)
  (do ((i (1+ n) (1+ i)))
      ((is-prime i) i)))

(defmacro do-primes-v2 ((var start end) &body body)
  `(do ((,var (if (is-prime ,start)
                  ,start
                  (next-prime-after ,start))
              (next-prime-after ,var)))
       ((> ,var ,end))
     ,@body))

(defmacro do-primes-v3 ((var start end) &body body)
  (let ((loop-start (gensym))
        (loop-end (gensym))) 
    `(do ((,loop-start ,start)
          (,loop-end …
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

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

如何在ASP.net应用程序中引用bin文件夹之外的程序集?

我有一个用ASP.Net编写的工作XML Web服务.现在我需要引用位于特定文件夹中的某些程序集,例如c:\NotMyCode
不想将该文件夹中的数百万个dll复制/复制到我的bin文件夹中.

我试图保留CopyLocal=falseWeb服务中引用的程序集.最终导致程序集的FileNotFound异常.当我切换到CopyLocal=true,引用的DLL被复制到bin文件夹..它的工作原理.

所以我的问题是:如何引用不在我的bin文件夹或它下面的子文件夹中的程序集?我是否需要在某处更改某些安全策略文件?我想我不是第一个想做这样事情的人......所以我假设有人已经解决了这个问题.

(我已经尝试在IIS ASP.net配置面板中模拟管理员用户,但这也没有用.)

更新:无法将其安装在GAC中.举一个类比,这个Web服务给第三方应用程序提供了一个简化的视图,例如Starteam.我不能(不应该......不想......)将该文件夹中的所有二进制文件复制到bin文件夹或将其安装到GAC中

asp.net assembly-resolution

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

是否有一个好的WPF图表/工具包/提供商?

基本上我们在新的基于WPF的应用程序中需要一个自定义图表组件.
需要显示文本/线条,链接的2D节点和自定义图像,以及其他图表功能,如撤消/重做,对齐,组等.ala Visio.

最初的团队做了一些调查,并确定了WinForms Northwoods GoDiagrams套件......将其嵌入我们的WPF应用程序中的解决方案.那里有任何等效的WPF图表包吗?最好是试过的.谢谢..

.net wpf diagram

9
推荐指数
1
解决办法
5645
查看次数

在'The Little Schemer'中开始举例

我正在阅读'The Little Schemer',以便更好地理解编程的一些核心元素(即递归),并获得更多关于如何像程序员一样思考的想法.

这本书是作为入门级书籍推荐的,并且介绍说我需要知道的只有英语,数字和计数(我这样做).

我有点困惑,因为第一部分和问题的开头是问"这是原子吗?"

我错过了什么吗?我应该知道原子是什么吗?我很困惑,因为我认为这意味着更简单的英语.

蒂姆,提前谢谢

scheme

9
推荐指数
1
解决办法
674
查看次数

如果没有Asserts,我可以强制单元测试失败吗?

我团队中的一些程序员有时会编写调用方法的单元测试,得到结果但忘记调用正确的Assert方法来实际检查发生了什么.

我想知道是否有任何配置,如果没有进行验证,我可以强制MSTest失败测试.我记得在DUnit中看过这样的东西,但在Visual Studio中找不到它.

unit-testing mstest

9
推荐指数
1
解决办法
984
查看次数

.NET语言真的会对消费者桌面应用程序造成任何影响吗?

难道写使用.NET语言消费的桌面应用程序?如果是这样的类型?

我的印象是,大多数消费者桌面应用程序仍然是C,C++等本机编译的应用程序.

虽然.NET语言越来越受欢迎,但是这些新的应用程序是否会突破企业和Web领域,成为高街消费者应用程序?

例如,现在看看你的桌面?有多少应用程序是用.NET语言编写的,Firefox?微软办公软件?雷鸟?iTunes的?Microsoft Visual Studio?

我公司开发高端CAD/CAE应用程序,我们利用新技术,但我们的核心开发仍然使用C++完成.

.net desktop native

8
推荐指数
2
解决办法
1572
查看次数

VB.Net中我的功能的文档在哪里?

不,我不是一个聪明人......

对于那些有幸不知道My class的人:它是在VB 2005添加的(并且在C#中不存在),最好被描述为".net框架的快速拨号". 假设让那些不会阅读他们应该使用的框架类的新手更容易生活

Dim contents As String
contents = My.Computer.FileSystem.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)

而不是这个:

Dim contents As String
contents = IO.File.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)

我的问题:MSDN文档页面在哪里,其中speeddial按钮映射到什么..?
通过选择要素的名称作为我的 - 他们只是让搜索变得更加有趣.我需要使用C#进行编码,并且无法承受翻译专门处理VB的培训/操作方式办公室视频的乐趣.

更多关于Dans的内容

Juval Lowy将C#中的My as That移植为临时解决方案.不要问我为什么......

.net vb.net visual-studio-2005

8
推荐指数
1
解决办法
351
查看次数

什么是"云操作系统"?

使用Microsoft Azure和Windows 7这个术语变得"更热".有
什么好处+桌面计算的现状现在如何变化?机器是否不再需要安装操作系统(或典型操作系统的高度剥离版本)......与"云"交互需要什么?

更新:今天收到我的第一个RTFM.
详细说明..我很想知道今天典型的桌面操作系统提供的服务的"新方式"有多么不同(阅读Win XP/Vista,linux风味等等)...不是云的好处计算.

windows cloud azure

8
推荐指数
3
解决办法
2922
查看次数

如何从多个托管应用程序的大对象堆LOH中恢复未使用的内存?

在与同事谈论启动时使用近1.5G内存的特定应用程序组时...他指出了一个关于.NET生产调试的非常好的链接

困惑的部分是......

例如,如果为单个块分配1 MB内存,则大对象堆的大小​​将扩展为1 MB.释放此对象时,大对象堆不会解除对虚拟内存的响应,因此堆的大小保持为1 MB.如果稍后再分配另一个500 KB块,则新块将在属于大对象堆的1 MB内存块中分配.在进程生命周期中,大对象堆总是增长以保存当前引用的所有大块分配,但是在释放对象时从不收缩,即使发生了垃圾收集.下一页的图2.4显示了一个大对象堆的示例.

现在让我们假设我们有一个虚构的应用程序,可以创建一大堆大对象(> 85KB),所以大对象堆增长让我们说200兆.现在假设我们有10个这样的app实例正在运行..所以分配了2000 Megs.现在这个存储器永远不会回到操作系统,直到进程关闭...(就是我所理解的)

我的理解是否有任何差距?我们如何在各种LOHeaps中找回未使用的内存; 我们不会创造OutOfMemoryExceptions的完美风暴?

更新:从Marc的回复中,我想澄清LOH对象没有被引用 - 大对象是use-n-throw - 但是即使堆在初始激增之后堆相对空,堆也不会收缩.

更新#2:只是包含一个代码片段(夸大但我认为有点了)..我看到一个OutOfMemoryException,虚拟内存在我的机器上达到1.5G标记(1.7G在另一个上).来自Eric L .博客文章,'进程内存可以被视为磁盘上的大量文件......' - 因此这个结果是出乎意料的.在这种情况下,机器在HDD上具有GB的可用空间.PageFile.sys OS文件(或相关设置)是否施加了任何限制?

        static float _megaBytes;
        static readonly int BYTES_IN_MB = 1024*1024;

        static void BigBite()
        {
           try
           {
              var list = new List<byte[]>();
              int i = 1;

              for (int x = 0; x < 1500; x++)
              {
                 var memory = new byte[BYTES_IN_MB + i];
                 _megaBytes += memory.Length / BYTES_IN_MB;
                 list.Add(memory);
                 Console.WriteLine("Allocation #{0} : …
Run Code Online (Sandbox Code Playgroud)

.net c# garbage-collection

8
推荐指数
2
解决办法
5509
查看次数

为什么调用IEnumerable <string> .Count()会创建一个额外的程序集依赖项?

假设这个dll链引用

Tests.dll >> Automation.dll >> White.Core.dll
Run Code Online (Sandbox Code Playgroud)

使用Tests.dll中的以下代码行构建所有内容

result.MissingPaths 
Run Code Online (Sandbox Code Playgroud)

现在我把它改成了

result.MissingPaths.Count()
Run Code Online (Sandbox Code Playgroud)

我得到Tests.dll的以下构建错误"White.UIItem未在未引用的程序集中定义.您必须添加对White.Core.dll的引用." 我不想这样做,因为它打破了我的分层.

以下是结果的类型定义,它位于Automation.dll中

public class HasResult
        {
            public HasResult(IEnumerable<string> missingPaths )
            {   MissingPaths = missingPaths;           }

            public IEnumerable<string> MissingPaths { get; set; }

            public bool AllExist
            {
                get { return !MissingPaths.Any(); }
            }
        }
Run Code Online (Sandbox Code Playgroud)

在调用链下面,通过(TreeNode类在White.Core.dll中)创建此ctor的输入参数.

assetPaths.Where(assetPath => !FindTreeNodeUsingCache(treeHandle, assetPath));
Run Code Online (Sandbox Code Playgroud)

为什么在IEnumerable上调用Count()时这个依赖项会泄漏?然后我怀疑懒惰的评估导致了这个(由于某种原因) - 所以我在上面的一行中插入了一个ToArray()但是没有用.

更新2011 01 07: Curiouser和Curiouser!在添加White.Core引用之前,它不会构建.所以我添加一个引用并构建它(为了找到难以捉摸的依赖源).在Reflector中打开它,列出的唯一引用是Automation,mscorlib,System.core和NUnit.所以编译器丢弃了White引用,因为它不需要.ILDASM还确认没有White AssemblyRef条目.

关于如何深入了解这件事的任何想法(主要是'现在我想知道为什么'的原因)?这是VS2010/MSBuild错误的可能性有多大?

更新2011 01 07#2 根据Shimmy的建议,尝试将explcitly方法称为扩展方法

Enumerable.Count(result.MissingPaths)
Run Code Online (Sandbox Code Playgroud)

它停止了抄袭(不知道为什么).
但是之后我移动了一些代码,现在我使用IEnumerable在不同的位置获得相同的问题 - 这次是从磁盘上的文件读取和过滤行(完全与白色无关).似乎它是一个'症状修复'.
var lines = File.ReadLines(aFilePath).ToArray(); 再次,如果我删除ToArray()它再次编译 - 似乎导致可枚举的任何方法(ToArray,Count,ToList等)导致这种情况.让我尝试一个工作的小应用程序来演示这个问题......

更新2011 01 07#3 P!更多信息..事实证明问题只在一个源文件中 - 这个文件是LINQ-phobic.必须显式调用对Enumerable扩展方法的任何调用.我做的重构导致一个新的方法被移动到这个源文件,它有一些LINQ …

.net c# linq

8
推荐指数
1
解决办法
2790
查看次数