小编sub*_*ris的帖子

Redux Sagas,TypeScript和电话?

作为TypeScript和redux-thunk用户,我很好奇redux-saga提供的好处.我想试一试,但我担心的是call功能和类型安全的明显损失.

如果我这样做:

function* invalidateReddit(): SagaIterator {
  while (true) {
    const {reddit} = yield take(actions.INVALIDATE_REDDIT)
    yield call( fetchPosts, reddit )
  }
Run Code Online (Sandbox Code Playgroud)

编译器将无法检查调用fetchPosts.所以如果我改变签名不包括参数......

function fetchPosts() {
  // anything here...
}
Run Code Online (Sandbox Code Playgroud)

invalidateReddit功能,这就要看fetchPosts,编译失败,但它不会因为call评估我的代码我.在不牺牲类型安全性的情况下,是否存在使用此模式的既定模式?

更新:https : //github.com/redux-saga/redux-saga/pull/740上的公关似乎试图解决这个问题.我将保持开放,直到可以通过解决方案关闭它.

typescript redux-saga

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

Neo4j备份发现不一致.怎么办?

neo4j-backup报告中的一些矛盾与我的数据库.

2015-04-22 19:27:44.175+0000 INFO  [org.neo4j]: Inconsistencies found: ConsistencySummaryStatistics{
    Number of errors: 4
    Number of warnings: 0
    Number of inconsistent PROPERTY records: 1
    Number of inconsistent RELATIONSHIP_GROUP records: 3
}
Run Code Online (Sandbox Code Playgroud)

这次我通过恢复在问题发生之前立即进行的备份来绕过它,但如果不可能,我会选择什么?

在这里使用Neo4j 2.2.0.

neo4j

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

Jetpack Compose,居中文本而不填充字体?

我正在为 Jetpack Compose alpha-11 版中的垂直居中文本而苦苦挣扎。看来我的字体有大量的填充,我无法找到禁用它的方法。这在 SO 上只出现过一次,据我所知,here,但他们使用约束布局的答案似乎表明他们只是绝对定位它,这与其说是解决方法,不如说是解决方法,以及我想避免的事情。

您可以在下面的屏幕截图中清楚地看到它。

在此处输入图片说明

代码如下所示:

                   Column(verticalArrangement = Arrangement.Center) {
                        Text(
                            text = "Let's Go",
                            color = Color.White,
                            fontSize = 120.sp,
                            fontFamily = oswaldLightFontFamily(),
                            textAlign = TextAlign.Center,
                            modifier = Modifier.background(Color.Blue)
                        )
                    }
Run Code Online (Sandbox Code Playgroud)

您希望定位它的参数 -verticalArrangement并且textAlign- 在这里没有做任何事情,但我将它们包括在内以证明我已经尝试过。

到目前为止,我的解决方法是Modifier.graphicsLayer(translationY = -25f)将其向上移动,但这对于应该如此简单的事情来说似乎是一个可怕的黑客攻击。似乎在经典的 Android 布局中,可以设置android:includeFontPadding="false"并绕过这种行为,但在 Jetpack Compose 中似乎没有类似的选项。

有人遇到这个吗?

android android-jetpack-compose

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

Neo4j cypher返回属性匹配任何数组元素的所有节点

这应该很容易,我正在忽略一些东西。我想匹配一组节点并返回所有ID匹配给定ID组中的任何一个的所有节点。像这样:

MATCH (b:`Band`)-[r:`something`]->(u:`SomethingElse`)
WHERE b.uuid IN ['1', '2', '3']
RETURN b
Run Code Online (Sandbox Code Playgroud)

这将返回匹配的第一个节点。我想要所有匹配的东西。我想念什么?

neo4j cypher

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

将queryset与Django组合成单个字符串

假设我有一个非常简单的模型,它只是一个单词列表:

class WordList(models.Model):
    word = models.CharField(max_length=60)
Run Code Online (Sandbox Code Playgroud)

用户提交表单后,我想......

  • 检索四个随机单词
  • 将它们组合成一个字符串
  • 确保先前未生成重复的字符串,如果是,请再次运行它
  • 什么时候保存到数据库
  • 将结果返回给用户.

我知道如何得到四个随机词:

WordList.objects.order_by('?')[:4]
Run Code Online (Sandbox Code Playgroud)

我知道如何将它作为一个上下文并将其返回到一个模板,此时我可以用它做任何事情,但我很难知道我是如何在幕后做的,所以我可以在返回它之前完成其余的工作给用户.最终字符串应如下所示:

these-are-my-words
Run Code Online (Sandbox Code Playgroud)

此外,在那里我的应用程序这样做呢?我来自PHP,在那里,我会有一个functions.php文件或什么来执行后端的东西,并将其保持在演示文稿之外.我发现了一些人说他们使用的帖子functions.py,但我不确定如何包含与现有文件不在同一文件夹中的外部页面views.py.如果我做:

from functions import myfunc
Run Code Online (Sandbox Code Playgroud)

它只适用functions.py于我从中导入它的文件夹中.

python django

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

Gorm (Golang) 和带有单表继承“类型”列的数据库

我正在尝试使用 Go 从作为现有 Rails 应用程序一部分的数据库中读取数据。一些模型和表通过type列使用单表继承。在 Rails/ActiveRecord 中,此列的存在将创建到适当模型的自动映射。如果表是animals并且typeDog,它将映射到Dog类;如果是Cat,它将映射到Cat类。我想在 Gorm 中设置类似的东西。

由于看起来 Gorm 没有default_scope模型选项,我使用了一个新的回调。

func scopedSearch(scope *gorm.Scope) {
    tablename := scope.TableName()
    switch tablename {
    case "table_using_sti":
        scope.Search.Where("type = ?", "MyModelName")
    default:
        return
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在我的main函数中注册回调:

db.Callback().Query().Before("gorm:query").Register("my_plugin:before_query", scopedSearch)
Run Code Online (Sandbox Code Playgroud)

当我搜索使用的实例db.First或使用的模型时db.Model(&MyModel{}).Where(...),它似乎正在工作。这是处理它的正确方法吗?所有查询方法都会遵守此范围还是有更直接或更彻底的方法?

go go-gorm

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

Three.js r125 BufferGeometry`顶点`不存在

我正在更新 Three.js,我发现当我升级到 r125 时,尝试设置verticesBufferGeometry 由于缺少方法而失败。它似乎也被删除了verticesNeedUpdate迁移指南似乎没有对此和变更日志发出警告似乎没有解决这个问题。

不幸的是,我没有编写原始代码,所以我不确定如何解决它。代码如下所示:

this.geometry.vertices[0].x = this.geometry.vertices[2].x = -this.canvas.width / 2;
this.geometry.vertices[1].x = this.geometry.vertices[3].x = this.canvas.width / 2;
this.geometry.vertices[0].y = this.geometry.vertices[1].y = this.canvas.height / 2;
this.geometry.vertices[2].y = this.geometry.vertices[3].y = -this.canvas.height / 2;
this.geometry.verticesNeedUpdate = true;
Run Code Online (Sandbox Code Playgroud)

使用下面唐的回答进行更新

应用 Don 建议的更改后,我们得到以下结果:

    const negativeWidth = -this.canvas.width / 2;
    const positiveWidth = this.canvas.width / 2;
    const positiveHeight = this.canvas.height / 2;
    const negativeHeight = -this.canvas.height / 2;

    this.geometry.attributes.position.setXY(0, negativeWidth, positiveHeight);
    this.geometry.attributes.position.setXY(1, positiveWidth, positiveHeight);
    this.geometry.attributes.position.setXY(2, …
Run Code Online (Sandbox Code Playgroud)

three.js

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

Docker 容器网络主机模式可以通过 CLI 运行,但不能通过 Go SDK 运行

运行 Docker 18.09.1、API 1.39,并尝试将容器的网络置于主机模式,以便蓝牙正常工作。当我从 CLI 启动容器时,一切都运行良好:

docker run --rm --name mycontainer --net=host imageName my-command
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 Go API 启动此容器时,网络似乎设置不正确,导致我的容器死机。

config := &container.Config{
    Cmd:      []string{"my-command"},
    Hostname: "mycontainer",
    Image:    imageName,
}

hostConfig := &container.HostConfig{
    AutoRemove: true,
    NetworkMode: "host",
}


container, err := cli.ContainerCreate(*ctx, config, hostConfig, nil, "mycontainer")
Run Code Online (Sandbox Code Playgroud)

很明显我错过了一些东西,但我看不到那是什么。由于我指定了网络模式,我是否需要网络配置(nil的参数)?ContainerCreate

go docker

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

有什么理由在Neo4j只读事务上调用`tx.success()`吗?

我正在使用Java API来提高曾经是一个昂贵的Cypher查询的性能.我刚才正在重构并注意到我正在打电话tx.success(),即使我没有改变任何数据.当没有任何改变或无关紧要时,是否有任何性能下降标记交易成功,因为它知道没有什么可以实际提交?

neo4j neo4j-java-api

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