小编Jes*_*sse的帖子

在golang中是否有内置的min函数用于一个int参数或可变数量的int参数?

前驱:我刚开始用golang弄湿脚.

这可能被证明是一个愚蠢的问题,因为它很容易执行这些计算,但我还是会问它,因为我在谷歌搜索时没有找到答案.

是否有内置函数返回一小部分int参数的最小值:

func MinIntSlice(v []int) (m int) {
    if len(v) > 0 {
        m = v[0]
    }
    for i := 1; i < len(v); i++ {
        if v[i] < m {
            m = v[i]
        }
    }
    return
}
Run Code Online (Sandbox Code Playgroud)

或者可变数量的int参数的最小值:

func MinIntVarible(v1 int, vn ...int) (m int) {
    m = v1
    for i := 0; i < len(vn); i++ {
        if vn[i] < m {
            m = vn[i]
        }
    }
    return
}
Run Code Online (Sandbox Code Playgroud)

如果没有,最简单的"约定"是创建一个包含这样的帮助器的包吗?

go

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

在Visual Studio中生成ERD图

为了为新项目创建ERD图,我一直在使用Visual Studio的实体框架设计器.基本上我正在创建一个"虚拟项目",通过Nuget添加实体框架并绘制图表(我不使用Microsoft的实体框架,因此虚拟项目).

是否有其他方法可以在Visual Studio 2010 Ultimate中本地创建此类图表?

实体框架设计器

erd entity-relationship visual-studio entity-relationship-model

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

一个Nose插件,用于指定单元测试执行的顺序

我希望将Nose用于线上集成测试套件.但是,其中一些测试的执行顺序很重要.

那就是说,我想我会把一个快速的插件拼凑起来用我想要它执行的命令来装饰测试:https://gist.github.com/Redsz/5736166

def Foo(unittest.TestCase):

    @step(number=1)
    def test_foo(self):
        pass

    @step(number=2)
    def test_boo(self):
        pass
Run Code Online (Sandbox Code Playgroud)

通过回顾我曾经想过的内置插件,我可以loadTestsFromTestCase通过装饰的"步骤编号" 简单地覆盖和排序测试:

def loadTestsFromTestCase(self, cls):
    """
    Return tests in this test case class. Ordered by the step definitions.
    """
    l = loader.TestLoader()
    tmp = l.loadTestsFromTestCase(cls)

    test_order = []
    for test in tmp._tests:
        order = test.test._testMethodName
        func = getattr(cls, test.test._testMethodName)
        if hasattr(func, 'number'):
            order = getattr(func, 'number')
        test_order.append((test, order))
    test_order.sort(key=lambda tup: tup[1])
    tmp._tests = (t[0] for t in test_order)
    return tmp
Run Code Online (Sandbox Code Playgroud)

这个方法按照我想要的顺序返回测试,但是当测试由nose执行时,它们没有按此顺序执行?

也许我需要将这种订购概念转移到不同的位置?

更新 …

python nose nosetests

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

Visual Studio提示使用Razor语法1.0安装ASP.NET网页

我有点不知道如何处理我的开发环境.任何时候我打开一个解决方案Visual Studio会提示我安装"带有Razor语法1.0的ASP.NET网页".

如果我忽略提示并继续进入解决方案,那么看起来不起作用的唯一事情就是剃刀视图中的智能感知.不是世界末日,但是当从解决方案转向解决方案时,会出现此消息,这已经开始变得烦人.

我试过了:

  • 通过Web平台安装程序安装缺少的组件
  • 通过独立安装程序安装缺少的组件
  • 卸载并重新安装MVC3

关于我接下来可以尝试什么的任何建议?

Visual Studio提示

编辑:

因此,卸载了与visual studio和visual studio sp1相关的所有工具后,我重新安装了visual studio和service pack1.我去安装MVC3并且安装失败了.

从那里,我清除了我机器上的每个临时文件/目录,并尝试了网络平台安装程序.再一次,它失败了.

从那里,我尝试安装MVC3的RTM并且安装成功:http://www.microsoft.com/download/en/details.aspx?id = 4211

在最终安装了MVC3后,我能够安装工具更新,并且我已经备份并运行....浪费4小时的好方法......等等......

asp.net-mvc projects-and-solutions visual-studio-2010 visual-studio

14
推荐指数
1
解决办法
8464
查看次数

寻找单元测试方向的控制器扩展,以呈现局部视图

正如标题所说,我正在寻找如何正确测试控制器扩展的方向.扩展呈现部分视图,而我在JSONResult中使用它:

 public static string RenderPartialViewToString(this Controller controller, string viewName = null, object model = null)
        {
            if (string.IsNullOrEmpty(viewName))
            {
                viewName = controller.ControllerContext.RouteData.GetRequiredString("action");
            }

            controller.ViewData.Model = model;

            using (StringWriter sw = new StringWriter())
            {
                ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
                ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
                viewResult.View.Render(viewContext, sw);
                return sw.GetStringBuilder().ToString();
            }
        }
Run Code Online (Sandbox Code Playgroud)

用法示例:

public JsonResult Foo()
{
    var model = _repository.getSomeData();

    return Json(new { html = this.RenderPartialViewToString("Index", model) }, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用NUnit和MvcContrib测试助手,但是在设置使用此扩展的控制器时,我遇到了NRE.我假设控制器上下文没有正确设置?

最终,测试正在进行ViewEngines.Engines.FindPartialView.以下是失败测试的一部分:

var routeData …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc nunit unit-testing mvccontrib-testhelper asp.net-mvc-3

13
推荐指数
1
解决办法
3216
查看次数

使用Html5文件api确定未知内容类型

我正在处理一个小文件上传脚本(学习经验),我注意到在选择微软办公室相关文件(.doc或者.docx例如)时,文件对象没有指定类型:

文件列表

对于.doc文件,我原本期望的类型是"application/msword"和.docx一样的思路"application/vnd.openxmlformats-officedocument.wordprocessingml.document".

在无法确定类型的情况下,查看文件扩展名并将其与"预期"内容/ mime类型匹配的正确操作过程是什么?

示例脚本:

<div id="fileUpload">
    <input type="file" id="fileElem" style="display:none;" onchange="handleFiles(this.files)"/>
    <a href="#" id="fileSelect">Select some files</a>
</div>

<script type="text/javascript">
    var fileSelect = document.getElementById("fileSelect"),
        fileElem = document.getElementById("fileElem");

    fileSelect.addEventListener("click", function (e) {

        if (fileElem) {
            fileElem.click();
        }

        e.preventDefault();
    }, false);

    function handleFiles(files) {
        console.log(files);
    }

</script>
Run Code Online (Sandbox Code Playgroud)

javascript html5 file-upload

12
推荐指数
2
解决办法
5149
查看次数

IE localStorage事件失败了

在Internet Explorer 9和10中,localStorage实现意外触发事件(这里有一个很好的主题:Chrome的localStorage实现的Bug?)

有没有人知道如何阻止storage事件触发在Internet Explorer中启动更改的选项卡?

例如,单击添加按钮时,以下内容不应显示警告,但在IE中则显示:

小提琴:http://jsfiddle.net/MKFLs/

<!DOCTYPE html>
<html>
  <head>
    <title>Chrome localStorage Test</title>
    <script type="text/javascript" >

      var handle_storage = function () {
        alert('storage event');
      };

      window.addEventListener("storage", handle_storage, false);

    </script>
  </head>
  <body>
    <button id="add" onclick="localStorage.setItem('a','test')">Add</button>
    <button id="clear" onclick="localStorage.clear()">Clear</button>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:在旁注,我在这里打开了一个MS的错误.https://connect.microsoft.com/IE/feedback/details/798684/ie-localstorage-event-misfired

也许它不会被关闭.....

javascript html5 internet-explorer local-storage

12
推荐指数
1
解决办法
3196
查看次数

Docker撰写圆形容器链接

我正在尝试用docker来集成我们的开发环境.这包括Google Appengine项目的混合以及最终在容器化vm内的Google Compute引擎中托管的服务.

我们当前的开发环境引导脚本在boot2docker中引入elasticsearch和nginx,而其他应用程序在dev_appserver appengine沙箱中的localhost:{product port}上运行.这个过程很难管理和维护,因为它需要大量了解我们的应用程序如何通信.

我在docker-compose中遇到错误,它检测到容器之间的循环依赖关系.

cs和vbc以及aa和sr之间的循环导入.

由于此配置仅适用于开发环境(mac osx),因此在将所有产品套件依赖项链接在一起时,是否有人就不同的方法提出建议或想法.

docker-compose.yml的一部分:

elasticsearch:
  build: ./compute/containers/elasticsearch/elasticsearch
  ports:
    - "9200:9200"
  environment:
    - PROJECT_ID=localhost
nginx:
  build: ./compute/containers/elasticsearch/nginx
  links:
    - elasticsearch:localhost
  ports:
    - "9201:9201"
cs:
  build: ./CS
  command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8080 --admin_port=9080 --storage_path=/data/
  ports:
    - "8080:8080"
    - "9080:9080" 
  volumes:
   - /Users/source/CS/src:/src
   - /Users/source/CS/data:/data 
aa:
  build: ./AA
  command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8081 --admin_port=9081 --storage_path=/data/
  links:
    - vbc:vbc-local
    - st:st-local
    - elasticsearch:localhost    
  ports:
    - "8081:8081"
    - "9081:9081" 
  volumes:
   - /Users/source/AA/src:/src
   - /Users/source/AA/data:/data 
vbc:
  image: …
Run Code Online (Sandbox Code Playgroud)

docker boot2docker fig docker-compose

12
推荐指数
1
解决办法
5445
查看次数

Mac 版 Puppeteer 和 Docker (Apple M1)

通过 puppeteer 导航打开 Chromium 时崩溃,并在我的 M1 上显示以下堆栈跟踪。我正在向社区寻求一些帮助,因为非基于 m1 的机器似乎对我们的 puppeteer 容器没有问题。

[0613/204124.018517:ERROR:stack_trace_posix.cc(707)] Failed to parse the contents of /proc/self/maps
[0613/204124.746267:ERROR:stack_trace_posix.cc(707)] Failed to parse the contents of /proc/self/maps
[0613/204124.751355:ERROR:stack_trace_posix.cc(707)] Failed to parse the contents of /proc/self/maps
[0613/204124.981155:FATAL:nacl_helper_linux.cc(440)] Check failed: nacl_sandbox->IsSingleThreaded().

qemu: uncaught target signal 5 (Trace/breakpoint trap) - core dumped
[130:130:0613/204125.140482:FATAL:zygote_main_linux.cc(162)] Check failed: sandbox::ThreadHelpers::IsSingleThreaded().
#0 0x0040072b9339 <unknown>
#1 0x00400722ff23 <unknown>
#2 0x00400722d070 <unknown>
#3 0x00400722dc6e <unknown>
#4 0x004006dae926 <unknown>
#5 0x004006da973e <unknown>
#6 0x004006daa369 <unknown>
#7 0x004006dab0cb <unknown>
#8 0x004006da838e <unknown> …
Run Code Online (Sandbox Code Playgroud)

docker puppeteer apple-m1

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

Watin在集成测试中采用黑色截图

当集成测试失败时,我们使用WatiN - 2.1.0来截取屏幕截图.在我的开发虚拟机上本地运行这些测试时,所有屏幕截图都被正确记录(使用IE8或IE9).

但是,当它们在我们的集成服务器上运行时:

  • Windows Server 2008 VM
  • 互联网浏览器8
  • 我们正在通过nunit-console运行团队城市的watin测试

在测试失败时记录的屏幕截图都是黑色的.我已经回顾了几个涵盖类似概念的帖子,但它们都引用了早期版本的Watin.有没有人与最新版本有类似的问题?

测试失败代码截图:

    [TearDown]
    public void TearDown()
    {

        if (TestContext.CurrentContext.Result.State == TestState.Failure ||
            TestContext.CurrentContext.Result.State == TestState.Error)
        {
            Browser.BringToFront();
            Browser.CaptureWebPageToFile(DateTime.Now.ToString("ddmmyyyyHHmmss") + GetType().Name + ".png");
        }
        Browser.Close();
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net nunit watin asp.net-mvc-3

6
推荐指数
1
解决办法
1747
查看次数