小编zmb*_*mbq的帖子

适用于ASP.NET Core和Visual Studio 2017的docker run命令

我正在使用Visual Studio 2017开发ASP.NET Core应用程序。我已设置调试程序以在Docker容器中运行服务器。该容器已启动并正在运行,但是我无法访问该数据库,该数据库位于另一个Docker容器中。

数据库容器公开主机上的端口。我需要告诉ASP.NET Core容器将主机的端口映射到内部端口。为此,我需要更改docker run命令Visual Studio issue来运行容器。

在哪里可以找到它以便更改?

docker asp.net-core visual-studio-2017

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

使用函数编程有效地计算素数

我通过浏览Project Euler并解决一些问题来熟悉F#.许多早期问题包括素数.环顾四周后,我想出了以下解决方案:

let primesL =
    let rec prim n sofar = 
        seq { if (sofar |> List.forall (fun i->n%i <>0L)) then
                  yield n
                  yield! prim (n+1L) (n::sofar)
              else
                  yield! prim (n+1L) sofar  }
    prim 2L []
Run Code Online (Sandbox Code Playgroud)

这很好用,但后来我生成了2000000的所有素数:

let smallPrimes = primesL |> Seq.takeWhile (fun n->n<=2000000)
Run Code Online (Sandbox Code Playgroud)

这需要很长时间.很明显,事情是在O(N ^ 2)或最差的情况下完成的.

我知道我可以写一个命令式版本并实现某种类型的筛子,但我想坚持使用功能代码.如果我想要命令,我会留在C#.

我错过了什么?

performance f# functional-programming

4
推荐指数
2
解决办法
1559
查看次数

Django找不到我的自定义模板过滤器

我正在尝试在我的Django应用程序中创建自定义模板过滤器.我在我的应用程序下创建了一个templatetags文件夹,在__init__.py我的过滤器中添加了一个文件和一个filters.py文件,如下所示:

import os
from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter
@stringfilter
def filename(pathname):
    """ Returns the file's name, without folder """
    return os.path.basename(pathname)
Run Code Online (Sandbox Code Playgroud)

当我尝试从模板访问过滤器时,出现错误"无效过滤器'文件名'"

这个问题已经被问了很多,所以我已经检查了以下内容:

  • __init__.py 正确命名
  • 打开shell后,manage.py shell我可以导入我的过滤器,如下所示:import app.templatetags
  • 我也可以从Django shell中正确使用过滤器
  • 我重新启动了Django开发服务器.
  • 我在调用时放置了一个断点template.library()- 调试器并没有就此止步.

这是模板(我删除了它的一部分,但错误仍然存​​在于这个小版本中)

<form enctype="multipart/form-data" action="{% url lab.views.new.artefact_drop_web tempfile_id=tempfile.id %}" method="post"> 
    {% csrf_token %} 
    <h3>File:</h3>
    <p>{{ tempfile.file.name|filename }}</p>
    <input type="submit" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud)

python django filter django-templates

4
推荐指数
1
解决办法
7312
查看次数

无法导出已签名的应用程序

我有一个带有两个Android应用程序和两个Android库的Eclipse工作区--Facebook SDK和我自己的库.当我尝试创建APK文件时,我有时会收到错误"转换为dalvik格式失败,错误1".

我经历了所有类似问题的答案,但没有任何作用:

  1. Facebook SDK库以错误的方式引用jar,所以我修复了它.
  2. 我已经清理了构建.多次.
  3. 我删除了bin文件夹.
  4. 这种情况发生在多台开发机器上,但以防万一 - 我删除了工作区并重新开始.

我发现的唯一解决方法是反复重试直到它工作.除了放弃Android并只做iOS和Windows Phone版本,我该怎么办?以这种方式开发任何东西都是不可能的.

更新:在其中一台计算机上,我得到交替错误,有时它是Dalvik错误,另一次它抱怨它无法导出...\facebook-android-sdk-3.0\facebook\bin\facebooksdk.jar.

更新2:Eclipse日志(.metadata/.log)显示异常的详细信息:

!ENTRY com.android.ide.eclipse.adt 4 0 2013-04-12 00:14:59.163
!MESSAGE Export Wizard Error
!STACK 1
org.eclipse.core.runtime.CoreException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:312)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:296)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:233)
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:218)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: com.android.ide.eclipse.adt.internal.build.DexException: Conversion to Dalvik format failed with error 1
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:751)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:269)
... 4 more

!SUBENTRY 1 com.android.ide.eclipse.adt 4 0 2013-04-12 00:14:59.163
!MESSAGE Conversion to Dalvik format failed with error …
Run Code Online (Sandbox Code Playgroud)

eclipse android

4
推荐指数
1
解决办法
3421
查看次数

从WCF服务调用异步方法

我想从WCF服务调用异步方法,如:

[ServiceContract]
interface IService
{
    [OperationContract]
    int SomeMethod(int data);
}

int SomeMethod(int data)
{
    var query = ... build LINQ query;
    var response = await query.ToListAsync();
    return response.Length;
}
Run Code Online (Sandbox Code Playgroud)

我不想添加asyncIService界面或SomeMethod方法.使用异步方法是一个内部问题,不应该在接口中反映出来.

我怎样才能做到这一点?

澄清:

我的问题是await在非async方法中使用.我不希望服务合同发生变化(客户端不一定知道是什么async),我不想将方法拆分为BeginSomeMethodEndSomeMethod.我想要一种await 内部使用的方法.

c# wcf asynchronous async-await

4
推荐指数
1
解决办法
5807
查看次数

使用protobuf-net获得ProtoGen

我正在尝试使用protobufs序列化一些类.我使用NuGet安装了protobuf-net,使用属性正确装饰了我的代码,一切运行良好.

但是,最终消息将在C#中创建,但在其他环境中消耗,因此我需要从C#创建.proto文件,或者 - 对我来说似乎更合理 - 从.proto文件创建C#代码.

无论我做什么,我都找不到安装在我电脑任何​​地方的ProtoGen.exe.我也找到了这个旧帖子,但是当我创建一个.proto文本文件时,没有发生任何类似的事情.手动添加ProtoBufTool也不起作用.

我错过了什么?

c# protobuf-net nuget

3
推荐指数
1
解决办法
3606
查看次数

实施战略模式.我每次都要"新手"吗?

我正在尝试实施战略模式.这是我实施的一部分:

public List<string> GetOrderedEmployeeNames(IOrderByStrategy strategy)
{
   return GetEmployeeFullNames().OrderBy(strategy.Order);
}
Run Code Online (Sandbox Code Playgroud)

现在每次我调用这个函数我都要写:

var employees = GetOrderedEmployeeNames(new OrderByFamilyName());
Run Code Online (Sandbox Code Playgroud)

每次正确的方式或者我是否错误地实施了这个策略?

c# strategy-pattern

3
推荐指数
1
解决办法
150
查看次数

模拟Android应用程序刷新内存

我有一个Android应用程序登录到服务器,获取会话ID并在应用程序运行时使用它.会话ID存储在SharedPeferences.

出于某种原因,在一台设备(旧的三星Galaxy S)上,有时当应用程序唤醒时,会话ID消失了 - 无法从SharedPreferences中检索到它,而是返回null.这可能发生在手机大量使用后,需要Android释放内存资源.请注意,应用程序仍处于活动状态,不会从头开始重新启动 - 我的活动只是调用了onResume.

如果我能在模拟器上重现这种行为,我会非常高兴.有没有办法轻推模拟器做同样的事情?

android memory-management emulation

3
推荐指数
1
解决办法
761
查看次数

Celery 和 RabbitMQ 超时和连接重置

我在 Django 应用程序中的 Windows 10 机器上使用 RabbitMQ 3.6.0 和 Celery 3.1.20。一切都在同一台计算机上运行。我已经将 Celery 配置为 Acknowledge Late ( CELERY_ACKS_LATE=True),现在我遇到了连接问题。

我启动 Celery 工作线程,在处理任务 50-60 秒后,每个工作线程失败并显示以下消息:

无法确认 ###,原因:ConnectionResetError(10054, '现有连接被远程主机强行关闭', None, 10054, None)

(###为任务编号)

当我查看 RabbitMQ 日志时,我看到:

=信息报告==== 2016 年 2 月 10 日::22:16:16 === 接受 AMQP 连接 <0.247.0> (127.0.0.1:55372 -> 127.0.0.1:5672)

=信息报告==== 2016 年 2 月 10 日::22:16:16 === 接受 AMQP 连接 <0.254.0> (127.0.0.1:55373 -> 127.0.0.1:5672)

=错误报告==== 10-Feb-2016::22:17:14 === 关闭 AMQP 连接 <0.247.0> (127.0.0.1:55372 -> 127.0.0.1:5672): {writer,send_failed, {错误,超时}}

该错误恰好发生在 Celery 工作人员正在重置其连接时。

我认为这是一个 AMQP …

django rabbitmq celery

3
推荐指数
1
解决办法
5801
查看次数

不能两次使用 TensorFlow 变量

我正在尝试熟悉 TensorFlow,但我不确定占位符、变量等。为了让事情变得简单,我尝试创建一个非常简单的计算 - 一个占位符和一个变量,该变量只是占位符乘以 2。

我把所有东西都放在一个函数中,像这样:

import tensorflow as tf

def try_variable(value):
    x = tf.placeholder(tf.float64, name='x')
    v = tf.Variable(x * 2, name='v', validate_shape=False)

    with tf.Session() as session:
        init = tf.global_variables_initializer()
        session.run(init, feed_dict={x: value})
        return session.run(v)
Run Code Online (Sandbox Code Playgroud)

然后我调用函数:

print(try_variable(80)) 
Run Code Online (Sandbox Code Playgroud)

确实输出是160。

但是当我再次调用它时:

print(try_variable(80))
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

InvalidArgumentError:您必须使用 dtype double 为占位符张量“x”提供一个值

我错过了什么?

python tensorflow

3
推荐指数
1
解决办法
308
查看次数