问题列表 - 第287804页

Kotlin Android - 从片段复制到剪贴板

我需要将文本复制到剪贴板,所以我使用了我已经在 MainActivity 中使用的代码:

 val myClipboard: ClipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
 val myClip: ClipData
Run Code Online (Sandbox Code Playgroud)

问题是,此代码在 Activity 上运行良好,但(显然)在 Fragment 上不起作用。

getSystemService

类型推断失败:fun getSystemService(p0: Context, p1: Class): T? 不能应用于(字符串)

CLIPBOARD_SERVICE

类型不匹配:推断的类型是字符串,但需要上下文

我试过

getSystemService(context!!, CLIPBOARD_SERVICE)

但不起作用

clipboard android android-fragments kotlin

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

__table_args__ = {'extend_existing': True} 在 SQLAlchemy 中有什么用?

我有一个 Flask 应用程序,我正在尝试将其转换为 Django。在继承抽象基础模型的模型之一中,它被称为

__table_args__ = {'extend_existing': True}
Run Code Online (Sandbox Code Playgroud)

有人可以用一个小例子解释这在 SQLAlchemy 中的含义。

我已经阅读了几篇文章,但是当我在 Django 和 Flask-SQLAlchemy 的新手上工作时,我无法正确理解它。

https://hackersandslackers.com/manage-database-models-with-flask-sqlalchemy/ https://docs.sqlalchemy.org/en/13/orm/extensions/declarative/table_config.html

python django sqlalchemy

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

将“null”视为表唯一约束中的不同值

我有一个表,用于为客户端定义默认和自定义选项。如果该custom_id字段具有值,则它代表唯一自定义作业的记录。如果为空,则该记录代表客户端的默认选项。

我的问题是我想在两种情况下强制执行唯一性:

  1. custom_idclient并且option都非空
  2. clientoption非空,但custom_id为空

下面的表定义适用于第一种情况,但不适用于第二种情况,因为 null 不被视为值。有没有办法让 null 被视为一个值?

class OptionTable(Base):
    __tablename__ = "option_table"
    __table_args__ = (
        UniqueConstraint("custom", "client", "option", name="uix_custom_client_option"),
    )

    id = Column(Integer, primary_key=True)
    custom_id = Column(Integer, ForeignKey("custom.id"), nullable=True)
    client = Column(String, nullable=False)
    option = Column(String, nullable=False)

Run Code Online (Sandbox Code Playgroud)

以下是一些示例数据以及按顺序添加它们后的结果:

+----+----------+----------+--------+---------------------------------------------+
| id | CustomID |  Client  | Option |                   result                    |
+----+----------+----------+--------+---------------------------------------------+
|  1 | 123      | MegaCorp | Apple  | OK                                          |
|  2 | 123 …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy

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

datetime.fromtimestamp() - 返回我的本地时区而不是 GMT

我在转换timestampGMT. 据我所知,它timestamp总是及时的GMT,所以我期望datetime.fromtimestamp返回GMT或时区感知的日期时间,但它返回我的本地(布拉迪斯拉发/布拉格)日期时间。

import datetime
datetime.datetime.fromtimestamp(1566720000)
datetime.datetime(2019, 8, 25, 10, 0)
Run Code Online (Sandbox Code Playgroud)

但根据纪元转换器,它是

GMT:2019 年 8 月 25 日星期日上午 8:00:00

编辑:datetime.datetime.fromtimestamp(1566720000).tzinfo不返回任何内容,因此它不知道 tz 。

你知道问题出在哪里吗?

python datetime gmt

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

刷新令牌是否必须与引用令牌一起使用?

我们有一个使用本地 API 身份验证通过 IdentityServer4 保护的 Web API。我们目前正在使用参考令牌和刷新令牌。既然我们有能力随时撤销引用令牌,我们是否有必要使用刷新令牌?我们不能为引用令牌设置一个较长的有效期吗?这种方法有任何安全隐患吗?

openid oauth-2.0 openid-connect identityserver4

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

使用单个开发/测试机器同时具有Spark进程分区

我正在天真地在本地模式下测试并发,并具有以下火花上下文

SparkSession
      .builder
      .appName("local-mode-spark")
      .master("local[*]")
      .config("spark.executor.instances", 4)
      .config("spark.executor.cores", 2)
      .config("spark.network.timeout", "10000001") // to avoid shutdown during debug, avoid otherwise
      .config("spark.executor.heartbeatInterval", "10000000") // to avoid shutdown during debug, avoid otherwise
      .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

mapPartitions如下的API调用:

import spark.implicits._ 

val inputDF : DataFrame = spark.read.parquet(inputFile)

val resultDF : DataFrame =
    inputDF.as[T].mapPartitions(sparkIterator => new MyIterator)).toDF
Run Code Online (Sandbox Code Playgroud)

从表面上看,这确实在我所包含的代码中发现了一个并发错误MyIterator(不是Spark代码中的错误)。但是,我希望看到我的应用程序将在生产过程中以及在此测试过程中对所有可用的机器资源进行处理,以使发现其他并发错误的机会增加。

到目前为止,对我而言显然不是这种情况:在的繁重处理过程中inputDF,我的机器的CPU使用率非常低,而有大量的可用RAM,而JVM Xmx并没有真正的限制。

您如何建议使用本地计算机测试并发性?目的是测试在生产中,Spark不会在内部由spark应用于我的代码中遇到线程安全或其他并发问题MyIterator

还是可以在Spark Local模式下并行处理输入数据帧的单独分区?我能否在单一机器上的同一个数据帧上同时运行火花(最好在本地模式下)?

scala apache-spark

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

Chrome WebGL的性能异常不一致?

function render(time, scene) {
    if (useFramebuffer) {
        gl.bindFramebuffer(gl.FRAMEBUFFER, scene.fb);
    }

    gl.viewport(0.0, 0.0, canvas.width, canvas.height);
    gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
    gl.enable(gl.DEPTH_TEST);

    renderScene(scene);

    gl.disable(gl.DEPTH_TEST);
    if (useFramebuffer) {
        gl.bindFramebuffer(gl.FRAMEBUFFER, null);
        copyFBtoBackBuffer(scene.fb);
    }

    window.requestAnimationFrame(function(time) {
        render(time, scene);
    });
}
Run Code Online (Sandbox Code Playgroud)

我无法分享我使用的确切代码,但是一个模型将说明我的观点。

我正在渲染一个相当复杂的场景,并且还在WebGL中进行了一些光线追踪。我注意到了两个非常奇怪的性能问题。

1)两次运行之间的帧率不一致。有时,当页面开始时,最初的约100帧在25ms内渲染,然后突然下降到45ms,而无需用户输入或更改场景。我不会更新帧中的任何缓冲区或纹理数据,而仅更新着色器制服。发生这种情况时,GPU内存将保持不变。

2)渲染到默认帧缓冲区比使用额外的传递慢。如果渲染到创建的frambuffer,然后渲染到HTML canvas(默认的framebuffer),则性能提高了10%。因此,在代码段中,如果useFramebuffer == true获得了性能,这似乎非常不直观。

编辑1:

由于需求的变化,场景将始终渲染到帧缓冲区,然后复制到画布。这使问题2)成为非问题。

编辑2:

在以下系统上测试了PC的系统规格:

  • 操作系统:Win 10
  • 处理器:Intel i7-7700
  • 英伟达GTX 1080
  • 内存:16 GB

编辑3:

我使用chrome:tracing描绘了场景。前约100-200帧渲染16.6ms。

快的部分

然后开始丢帧。 慢的部分

我将尝试使用计时器查询来分析所有内容,但恐怕每个渲染实际上花费相同的时间,并且缓冲区交换将随机花费两倍的时间。

我注意到的另一件事是,当我使用Chrome一段时间后,这种情况开始发生。问题开始时,清除浏览器缓存或取消Chrome进程无济于事,只有重新启动系统才能起作用。

Chrome是否有可能一时兴起地限制GPU?

PS帧时间由于一些优化而改变,但核心问题仍然存在。

performance google-chrome webgl

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

将参数从 C# 传递到调用的 PowerShell 脚本

我的 C# 文件中有以下函数:

private void RunScriptFile(string scriptPath, string computerName, PSCredential credential)
{
   RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
   Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
   runspace.Open();
   RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
   Pipeline pipeline = runspace.CreatePipeline();
   string scriptCommand = "Invoke-Command -ComputerName " + computerName + " -FilePath " + scriptPath + " -ArgumentList " +  credential;
   pipeline.Commands.AddScript(scriptCommand);
   Collection<PSObject> results = pipeline.Invoke();
   runspace.Close();
}
Run Code Online (Sandbox Code Playgroud)

我使用上面 C# 代码中传递的凭据调用以下 PowerShell 脚本;脚本.ps1

Param([PSCredential]$Credentials)
<code part using credentials>
Run Code Online (Sandbox Code Playgroud)

之后pipeline.Invoke(),C# 代码只是关闭,没有任何操作,也不会抛出任何错误。

我在拨打电话时是否做错了什么?如果从 PowerShell 调用相同的调用,如下所示,则可以正常工作:

Invoke-Command -ComputerName <computerName> -FilePath <scipt.ps1> -ArgumentList …
Run Code Online (Sandbox Code Playgroud)

c# powershell powershell-sdk

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

cloudformation Sub 函数中的“|-”是什么意思?

考虑示例(来源

  # State machine for testing Athena Runner
  AthenaRunnerTestETLOrchestrator:
    Type: "AWS::StepFunctions::StateMachine"
    Properties:
      StateMachineName: AthenaRunnerTestETLOrchestrator
      DefinitionString:
        Fn::Sub:
          - |-
            {
              "StartAt": "Configure Athena Query",
              "States": {
                "Configure Athena Query":{
                  "Type": "Pass",
                  "Result": "{ \"AthenaQueryString\" : \"SELECT * FROM ${GlueTableName} limit 10;\", \"AthenaDatabase\": \"${GlueDatabaseName}\", \"AthenaResultOutputLocation\": \"${AthenaResultOutputLocation}\", \"AthenaResultEncryptionOption\": \"${AthenaResultEncryptionOption}\"}",
                  "Next": "Execute Athena Query"
                },
                "Execute Athena Query":{
                  "Type": "Task",
                  "Resource": "${AthenaRunnerActivityArn}",
                  "End": true
                }
              }
            }
          - {
            GlueDatabaseName: !Ref MarketingAndSalesDatabaseName,
            GlueTableName: !Ref MarketingTableName,
            AthenaRunnerActivityArn: !Ref AthenaRunnerActivity,
            AthenaResultOutputLocation: !Sub "s3://${SourceDataBucketName}/athena-runner-output/",
            AthenaResultEncryptionOption: …
Run Code Online (Sandbox Code Playgroud)

yaml amazon-web-services aws-cloudformation

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

如何使用 Nuxt.js 将元素复制到剪贴板?

我使用 Vuetify.js 创建了一个 Nuxt 网页,该网页从表单生成电子邮件签名以供填写。签名的渲染显示在一个v-card元素中。我添加了一个v-btn来自动将签名复制到用户的剪贴板中,但是我有一些问题......

我尝试使用nuxt-clipboard2来自 npm 来帮助我执行此操作,但没有任何效果...

有没有人知道如何正确使用这个包或有替代方法使用 Nuxt.js 将内容复制到剪贴板?

提前致谢 :)

编辑

这是我的代码:

<template>
    <v-container fluid>

        <div class="display-3">Email signature</div>

        <signForm></signForm>

        <v-divider></v-divider>

        <v-container>
            <v-row justify="center" align="center">
                <v-col md="12">
                    <v-row justify="center" align="center">
                        <v-card color="fafafa" class="pa-3">
                            <signTemplate ref="foo"></signTemplate>
                        </v-card>
                    </v-row>
                </v-col>
                <v-btn class="ma-2" @click="copySign" tile>
                    <v-icon left>mdi-content-copy</v-icon>Copy the signature
                </v-btn>
            </v-row>
        </v-container>

    </v-container>
</template>


<script>
import signTemplate from '~/components/SignTemplate.vue'
import signForm from '~/components/signForm.vue'

export default {
  methods: {
    async copySign() {
        try {
            await this.$copyText(foo); …
Run Code Online (Sandbox Code Playgroud)

nuxt.js

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