小编Ask*_*mov的帖子

具有[^ form]依赖关系的Jasmine Testing角度指令

我正在尝试测试一个指令,例如 http://angular-tips.com/blog/2014/06/introduction-to-unit-test-directives/.

但是,在我的指令中我使用form,所以我在我的指令声明对象中有这个:

        return {
            link: link,
            restrict: 'E',
            require: ['^form'], // <- I have this !!
            scope: { //...
            },
            controller: function ($scope) {
            //...
            }
        };
Run Code Online (Sandbox Code Playgroud)

因此,当我执行我的Jasmine测试的通常先决条件时

element = '<mydirective/>';
element = $compile(element)(scope);
Run Code Online (Sandbox Code Playgroud)

我试图运行karma/Jasmine测试时遇到依赖问题:

错误:[$ compile:ctreq] 无法找到指令' mydirective '所需的控制器'表单'!http://errors.angularjs.org/1.4.2/ $ compile/ctreq?p0 = form&p1 = mydirective

如何解决这个问题?

jasmine angularjs angularjs-directive karma-jasmine

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

angular-sanitize:如何不消毒北欧语言的字母(带有变音符号)?

我们发现 angular-sanitize 会“清理”北欧字母表的字符并将它们变成 HTML 实体。因此,每次您在 INPUT 中输入ä字符并 $sanitize 您的输入时,您最终都会得到经过消毒的字符串,这些字符串将这些字符替换为其他内容(ä ;),这会破坏输入,因为稍后我想显示该字符串或发送它到服务器。似乎用户输入了“ä”而不是“ä”。我们像往常一样在 UTF8 中工作,所以我们不需要这个。

目前我们有一个这样的解决方案(应用程序是我们的角度应用程序):

app.config(function($provide){

    // Prevent $sanitize from converting nordic special characters (ö, ä, å) into HTML entities
    // ----------------------------------------------------------------------------------------
    // We don't have need for sanitizing umlauts. 

    $provide.decorator("$sanitize", function($delegate, $log){
        return function(text, target){

            var result = $delegate(text, target);

            result = result
                .replace(/&auml;|&#228;/g, 'ä')
                .replace(/&Auml;|&#196;/g, 'Ä')
                .replace(/&ouml;|&#246;/g, 'ö')
                .replace(/&Ouml;|&#214;/g, 'Ö')
                .replace(/&aring;|&#229;/g, 'å')
                .replace(/&Aring;|&#197;/g, 'Å');

            return result;
        };
    });
});
Run Code Online (Sandbox Code Playgroud)

但是我怀疑通过告诉 $sanitize 一些选项可能有更好的方法来实现这一点。我很欣赏如何更好地做到这一点的建议。

sanitization html-sanitizing angularjs ngsanitize

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

Java Stream:在列表中聚合所有在map()中收到的非空集合

我有包含字符串ID的集合idList.函数getCollection为单个ID返回一个项集合(类型为MyType).此外,它可能会返回null.

所以对于来自idList的许多ID,我会得到一些空值和一些集合.

目标是将一组ID的getCollection的所有回复收集到最终List中.

我想象过像

 List<MyType> reply = idList.stream().map(id -> getCollection(id))
       .filter(p -> p != null).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

但它似乎不是一个有效的表达.如何使其有效?

此外,这个实现的性能如何?

java java-stream

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

Spring Websocket 配置:一起使用 WebSocketMessageBrokerConfigurationSupport 和 WebSocketConfigurer - 如何?

我目前正在使用该类配置我的 Spring Websocket

public class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport
Run Code Online (Sandbox Code Playgroud)

现在我遇到了建议 Spring STOMP Websockets: any way to enable permessage-deflate on server side?

这利用

public class SampleJettyWebSocketsApplication implements WebSocketConfigurer 
Run Code Online (Sandbox Code Playgroud)

并覆盖

@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry)
Run Code Online (Sandbox Code Playgroud)

并提供

@Bean
public DefaultHandshakeHandler handshakeHandler() 
Run Code Online (Sandbox Code Playgroud)

问题,WebSocketConfigurerWebSocketMessageBrokerConfigurationSupport是什么关系?换句话说,我是否可以通过第一类 WebSocketMessageBrokerConfigurationSupport 的 API 从 WebSocketConfigurer 实现中添加配置,以便所有配置都保留在一个文件中?

spring jetty websocket spring-websocket java-websocket

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

如何在 Terraform 中配置 CloudWatch Lambda Insights

我需要使用 Terraform 为 lambda 启用“CloudWatch Lambda Insights”,但找不到文档。我如何在 Terraform 中做到这一点?

注意:这个问题如何将 CloudWatch Lambda Insights 添加到无服务器配置?可能是相关的。

amazon-web-services amazon-cloudwatch aws-lambda terraform

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

由 client-s3 Typescript 库上传时公开 S3 对象

我使用 Typescript 代码将文件上传到 S3,如下所示:

    import {PutObjectCommand, PutObjectCommandInput, S3Client} from "@aws-sdk/client-s3";
    const s3 = new S3Client(config);
    const uploadParams: PutObjectCommandInput = {
        Bucket: bucketName,
        Key: filename,
        Body: fileData
    };
 
    await s3.send(new PutObjectCommand(uploadParams));
Run Code Online (Sandbox Code Playgroud)

但是,我需要在上传后将对象公开,以便将其作为静态网站的一部分进行访问,并将其作为私有上传。我如何告诉 s3 客户端也将其公开?

amazon-s3 typescript aws-sdk aws-sdk-nodejs aws-sdk-js

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

Terraform 错误“配置的并发配置无法应用于未发布的函数版本” - 如何解决?

我尝试创建一个预配置并发 Lambda,如下所示:

locals {
  lambda_name = "mylambda"
  provisioned_concurrency = 10
}

module "mylambda-lambda" {
  source = "terraform-aws-modules/lambda/aws"
 
  function_name = "${var.environment_name}-${local.lambda_name}"
  // abriged config detailes
}


module "mylambda-alias" {
  source = "terraform-aws-modules/lambda/aws//modules/alias"
  name = local.lambda_name
  function_name = module.mylambda-lambda.this_lambda_function_name
}

resource "aws_lambda_provisioned_concurrency_config" "auth_authorizer" {
  function_name = module.mylambda-lambda.this_lambda_function_name
  provisioned_concurrent_executions = local.provisioned_concurrency
  qualifier = module.mylambda-alias.this_lambda_alias_name
}
Run Code Online (Sandbox Code Playgroud)

它在控制台中显示限定符(显然是别名)设置为$LATEST

但在并发设置中我遇到了错误

Error: error putting Lambda Provisioned Concurrency Config (<lambda name>): InvalidParameterValueException: Provisioned Concurrency Configs cannot be applied to unpublished function versions.
{
  RespMetadata: {
    StatusCode: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda terraform terraform-provider-aws

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

需要导出SQL以便从Enterprise Architect创建表

我需要从Enterprise Architect v.9表描述创建SQL语句,因为我需要将"CREATE TABLE"放在文本文件中.

请告诉我在哪里查看EA界面!

sql enterprise-architect

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

产生一个取决于递归承诺的承诺

我有一个整数id数组,例如

var a=[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

我需要为每个ID执行异步远程调用.每个调用都是使用$ resource执行的WebAPI请求,并显示为promise.

我需要创建一个函数来获取这些ID的数组,然后初始化递归的promises链.该链应该逐个导致对每个ID进行相应的webapi调用.这些调用不应该是并行的,而应该是链接的.

有问题的函数返回一个"主"承诺,应根据异步Web调用的结果解决或拒绝.也就是说,如果由于与服务器断开连接而导致递归中的某些承诺被拒绝,那么主承诺也应该失败.在正常情况下,"主要"承诺必须在所有请求完成时解决.

我怎样才能在angularjs中实现这一目标?

javascript asynchronous promise angularjs q

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

在杰克逊中以ISO8601格式反序列化“ Zulu”时间

我需要使用Jackson将反序列化时间2016-11-28T10:34:25.097Z的时间反序列化为Java8的ZonedDateTime。

我相信我已经正确配置了ObjectMapper(一种工厂方法):

 @Bean
ObjectMapper getObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    // some other config...
    objectMapper.registerModule(new JavaTimeModule());
    return objectMapper;
}
Run Code Online (Sandbox Code Playgroud)

我在DTO的代码中有一个字段

  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
private ZonedDateTime updatedAt;
Run Code Online (Sandbox Code Playgroud)

当我尝试通过杰克逊解析此内容时,我得到

 java.lang.IllegalArgumentException: Can not deserialize value of type java.time.ZonedDateTime 
 from String "2016-11-28T10:34:25.097Z": Text '2016-11-28T10:34:25.097Z' could not be parsed,
 unparsed text found at index 23  at [Source: N/A; line: -1, column: -1]  
Run Code Online (Sandbox Code Playgroud)

没有@JsonFormat的问题仍然存在。

我怎么可能克服这个问题?

java json jackson zoneddatetime

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