小编sil*_*rry的帖子

自动完成问题(Material UI + React + Reagent/ClojureScript)

我在将 Material UIAutocomplete与 Reagent (ClojureScript) 一起使用时遇到问题。该元素呈现良好,但当我尝试单击它时,出现以下异常:

Uncaught TypeError: Cannot read property 'focus' of null
    at handleClick (useAutocomplete.js:938)
    at HTMLUnknownElement.callCallback (react-dom.development.js:189)
    at Object.invokeGuardedCallbackImpl (react-dom.development.js:238)
    at invokeGuardedCallback (react-dom.development.js:293)
    at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:307)
    at executeDispatch (react-dom.development.js:390)
    at executeDispatchesAndReleaseTopLevel (react-dom.development.js:412)
    at forEachAccumulated (react-dom.development.js:3260)
    at runEventsInBatch (react-dom.development.js:3305)
    at handleTopLevel (react-dom.development.js:3515)

useAutocomplete.js:322 Uncaught TypeError: Cannot read property 'removeAttribute' of null
    at eval (useAutocomplete.js:322)
    at eval (useEventCallback.js:26)
    at eval (useAutocomplete.js:433)
    at eval (useEventCallback.js:26)
    at eval (useAutocomplete.js:463)
    at eval (useAutocomplete.js:528)
    at commitHookEffectListMount (react-dom.development.js:19765)
    at commitPassiveHookEffects (react-dom.development.js:19803)
    at …
Run Code Online (Sandbox Code Playgroud)

autocomplete clojurescript reactjs material-ui reagent-forms

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

带有Sangria的GraphQL架构

我正在查看Sangria库,以便在Scala中编写GraphQL服务器.然而,奇怪的是,相同类型的系统必须实现两次:(1)作为GraphQL类型声明的一部分,(2)也在服务器端,作为Scala案例类,伴随ObjectType,InterfaceType等.瓦尔斯.

在Scala中对类型系统进行硬编码尤其令人讨厌,因为我的目的是能够使用任意形状的CRUD聚合,其中每个形状被定义为GraphQL类型集合.例如,假设Shape类型的实例包含GraphQL文档作为字段; 并且Entity类型的实例具有对其Shape的引用,并且还包含在该Shape中定义的形状的Json对象.

case class Shape(id: String, name: String, doc: sangria.ast.Document)
case class Entity(id: String, name: String, shape: Shape, content: JsValue)
Run Code Online (Sandbox Code Playgroud)

例如,如果形状文档是这样的:

type Person {
  firstName: String!
  lastName: String!
  age: Int
}
Run Code Online (Sandbox Code Playgroud)

那么实体中的Json内容可能是这样的:

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 30
}
Run Code Online (Sandbox Code Playgroud)

(一个真实的例子当然也有嵌套类型等)

因此,我试图能够定义Entity类型的实例,其形状在相应的Shape中定义.我不想硬编码相应的sangria.schema.Schema,但想直接从形状文档中派生它.

是否有一种现成的方法可以从包含类型声明的GraphQL文档以编程方式生成GraphQL模式?

json scala graphql sangria

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

从 Lambda 连接到 Neptune 时出现问题

我创建了一个简单的 AWS Neptune 集群,带有写入器但没有读取副本。我使用该选项为其创建了一个新的 VPC,并且还为其自动创建了两个安全组。

我还有一个 Lambda 来调用 Nepture 集群的端点。我已使用 Neptune 集群的 VPC 配置 Lambda,指定其所有子网和上述两个安全组。当我从 AWS 控制台执行 VPC 配置时自动分配入站和出站规则(只需完成这些步骤)后,我就没有手动修改入站和出站规则。

Lambda 使用 Python 编写,并使用该requests库通过 AWS Singature V4 进行 HTTPS 调用。Lambda 的执行角色有NeptuneFullAccess一个内联策略,允许为 Lambda 配置 VPC(已完成,因此策略有效)。

Lambda 在端口 8182 上调用 Neptune 集群的终端节点(集群的名称和 ID 已编辑):

https://NAME.cluster-ID.us-east-1.neptune.amazonaws.com:8182
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

{
  "errorMessage": "2020-05-20T21:26:35.066Z c8ee70ac-6390-48fd-a32e-36f80d58a24e Task timed out after 3.00 seconds"
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

更新:因此,Neptune 集群的第二个安全组似乎是我在创建集群时选择一个选项创建的。因此,我再次尝试使用Choose existing安全组选项,而不是Create new. (我想我之前很困惑,因为我正在创建一个全新的VPC,那么安全组怎么可能已经存在?但向导只是假设default届时将创建的安全组。)

现在,我不再遇到同样的错误。然而,我看到的是这样的:

{
  "errorType": "Runtime.ExitError",
  "errorMessage": "RequestId: 48e3b4fb-1b88-48d3-8834-247dbb1a4f3f Error: Runtime exited …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-vpc aws-lambda amazon-neptune

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

使用Lagom的多部分表单错误

我们的大多数Lagom入口点都不使用多部分表单请求,但有一个请求.由于Lagom当前不支持多部分请求,因此我看到的一般建议是使用PlayServiceCall机制调用底层Play API.

我们已经做到了,而且大部分时间都有效.但我们遇到间歇性错误,尤其是在提交大型文件时.这些总是java.util.zip.ZipException(各种类型)的情况,看起来好像没有收到整个文件进行处理.

以下是入口点在代码中的外观; 特别是Play包装机制:

def upload = PlayServiceCall[NotUsed, UUID] {
  wrapCall => Action.async(multipartFormData) {
    request => wrapCall(ServiceCall { _ =>
      val upload = request.body.file("upload")
      val input = new FileInputStream(upload.get.ref.file)
      val filename = upload.get.filename
      // ...
      // other code to actually process the file
      // ...
    })(request).run
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是我们看到的两个例外情况:

Caused by: java.util.zip.ZipException: invalid code lengths set
  at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
  at java.util.zip.ZipInputStream.read(ZipInputStream.java:194)
  at org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream.read(ZipSecureFile.java:214)
  at java.io.FilterInputStream.read(FilterInputStream.java:107)
  etc.

Caused by: java.util.zip.ZipException: invalid distance too far back
  at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
  at java.util.zip.ZipInputStream.read(ZipInputStream.java:194) …
Run Code Online (Sandbox Code Playgroud)

scala multipartform-data playframework lagom

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

带有连字符和数字的 Postgres 全文搜索

我观察到在我看来 Postgres 的 to_tsvector 函数的奇怪行为。

SELECT to_tsvector('english', 'abc-xyz');
Run Code Online (Sandbox Code Playgroud)

返回

'abc':2 'abc-xyz':1 'xyz':3
Run Code Online (Sandbox Code Playgroud)

然而,

SELECT to_tsvector('english', 'abc-001');
Run Code Online (Sandbox Code Playgroud)

返回

'-001':2 'abc':1
Run Code Online (Sandbox Code Playgroud)

为什么不是这样的?

'abc':2 'abc-001':1 '001':3
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能仅通过数字部分进行搜索,而无需连字符?

postgresql full-text-search

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