小编Yur*_*uri的帖子

以编程方式设计Android的CheckBox

我有一个扩展Activity的类,并以编程方式添加一些View项.

CheckBox checkBox = new CheckBox(this, null, android.R.style.Widget_CompoundButton_Star);
Run Code Online (Sandbox Code Playgroud)

我想设置一些作为Android SDK明星风格的checkBoxes.我将其样式设置为Widget_CompoundButton_Star后,我看不到任何复选框.虽然SDK样式显然适用于直接放入xml.

我在这里错过了什么吗?谢谢

//正如普拉尼亚尼所说.使用android.R.attr.starStyle相反的工作.

checkbox android styling

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

EhCache 未找到序列化程序

我正在通过以下方式初始化我的缓存:

CacheManager cacheManager;

cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();
cacheManager.init();

Cache<String, SmsMessageDto> myCache = cacheManager.createCache("myCache", CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, SmsMessageDto.class)
    .withExpiry(Expirations.timeToLiveExpiration(new Duration(cacheDuration, TimeUnit.MINUTES)))
    .build());
    
Run Code Online (Sandbox Code Playgroud)

这给了我以下警告:

org.ehcache.core.EhcacheManager - Could not create serializers for myCache
org.ehcache.spi.serialization.UnsupportedTypeException: No serializer found for type 'com.example.dto.SmsMessageDto'
    at org.ehcache.impl.internal.spi.serialization.DefaultSerializationProvider$AbstractProvider.getClassFor(DefaultSerializationProvider.java:271) ~[ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.impl.internal.spi.serialization.DefaultSerializationProvider$TransientProvider.createSerializer(DefaultSerializationProvider.java:149) ~[ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.impl.internal.spi.serialization.DefaultSerializationProvider$AbstractProvider.createValueSerializer(DefaultSerializationProvider.java:239) ~[ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.impl.internal.spi.serialization.DefaultSerializationProvider.createValueSerializer(DefaultSerializationProvider.java:96) ~[ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.core.EhcacheManager.getStore(EhcacheManager.java:455) [ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.core.EhcacheManager.createNewEhcache(EhcacheManager.java:308) [ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.core.EhcacheManager.createCache(EhcacheManager.java:261) [ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at org.ehcache.core.EhcacheManager.createCache(EhcacheManager.java:240) [ehcache-3.0.0.rc1.jar:3.0.0.rc1]
    at at.xcard.helper.SmsFailedCache.init(SmsFailedCache.java:45) [classes/:na]
    at at.xcard.SmsWorker.<init>(SmsWorker.java:49) [classes/:na]
    at at.xcard.Main.main(Main.java:36) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25] …
Run Code Online (Sandbox Code Playgroud)

ehcache

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

在 Angular e2e Protractor 测试中访问环境变量

有没有办法将 ng 应用程序的环境设置连接到它的量角器 e2e 对应物?

   "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.dev.ts",
        "build": "environments/environment.build.ts",
        "uat": "environments/environment.uat.ts",
        "prod": "environments/environment.prod.ts"
      }

...

import { environment } from '../../../environments/environment';

...

var ev = environment.apiBaseUrl;
Run Code Online (Sandbox Code Playgroud)

我可能会重复自己并使用量角器配置,但谁喜欢这样做?

protractor angular

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

AWS:解密SES/KMS加密邮件

今天我正在研究 SES 电子邮件接收规则集。我定义了一个 S3 存储桶来保存传入邮件。我还使用 SES 的默认 KMS 主密钥检查了“加密消息”选项。

这样做之后,我意识到我不知道如何解密它们,所以我删除了加密设置。

现在我有一些邮件无法打开。

有人可以告诉我该怎么做吗?

amazon-s3 amazon-web-services amazon-ses amazon-kms

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

可靠的即发即忘 Kafka 生产者实施策略

我正面临卡夫卡的第一英里问题。每个人都会处理分区等问题,但如何处理第一英里呢?

我的系统由许多应用程序组成,这些应用程序生成分布在节点上的事件。我需要以可靠/故障安全的方式将这些事件传递给一组充当消费者的应用程序。选择的消息系统是 Kafka(由于其日志性质),但它并不是一成不变的。

事件应该尽可能以解耦的即发即忘的方式传播。这意味着生产者应该对可靠地传递消息负全部责任。这意味着生成事件的应用程序根本不必担心事件传递。

生产者的可靠性模式必须考虑:

  • 盒子连接中断- 在中断期间生产者根本无法访问网络;Kafka集群因此无法访问
  • 框重新启动- 生产者和事件生成应用程序重新启动(独立);生产者应该保留运行中的消息(在重试、批处理等期间)
  • 内部 Kafka 异常-消息大小太大;序列化异常;ETC。

到目前为止,我检查过的库都没有涵盖这些情况。有建议的策略来解决这个问题吗?

我知道Producer 期间存在可重试不可重试的错误send()。对于那些可重试的内容,库通常会在内部处理所有事情。但是,不可重试以异步回调中的异常结束......

我应该盲目地无限重播这些吗?对于网络中断,它应该可以工作,但是 Kafka 内部错误怎么样 - 比如说消息太大。可能有类似DeadLetterQueue的机制+重播。但是,如何处理消息计数......

关于持久性 - 轻量级数据库后端应该可以解决这个问题。只需创建一个持久队列,然后删除那些已经发送/确认的队列。然而,恐怕如果这么简单的话,它很早以前就已经在标准 Kafka 库中实现了。性能可能会下降。

看到像KAFKA-3686KAFKA-1955这样的东西让我有点担心。

提前致谢。

messaging message-queue reliability producer apache-kafka

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

Cognito 在通过电话确认之前更改电话号码

我想在phone_number用户通过电话确认之前更改用户的属性。我的流程步骤:

  1. 用户通过用户名、密码和电话号码注册

  2. 用户必须输入手机收到的确认码。在这一步用户想要更改电话号码(错误号码或更改电话...)

2.1 如果第一个电话号码错误,下一个电话号码是正确的 -> 只发送了一个确认码 -> 有效!

2.2 如果第一个电话号码和下一个电话号码正确 -> 已经发送了两个确认代码(第一个 - xxx,第二个 - yyy) -> 用户输入第二个确认代码,Cognito 会抛出CodeMismatchException: Invalid verification code provided, please try again.错误。用户输入第一个代码,用户已被确认,但在 Cognito 系统中,用户拥有的phone_number是第二个号码,并且phone_number_verifiedtrue

我过去常常adminUpdateUserAttributes更改phone_number状态为 的用户UNCONFIRMED。我打电话更改电话号码后自动发送确认码。

如何解决这个问题?

!!!更新

目前,我User can update their phone_number before they confirmed via phone从我的应用程序中删除了该功能。

我需要大约 5 天,我只想记下我的案子。

当您尝试更新phone_number(或email)属性时,Cognito 会自动向您的手机(或电子邮件)发送确认信息,这是第一个代码 - (1st - xxx),用于确认您的新属性值的代码(不用于用户确认) )。

同时,逻辑代码调用resendConfirmationCode函数,它发送第二个代码 - (2nd …

amazon-web-services amazon-cognito aws-lambda

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

Amazon CloudWatch:如何查找CloudWatch Log组的ARN

我为Amazon API Gateway配置了自定义访问日志记录,我需要指定CloudWatch组名称,但是当我将这些日志组的名称仅以“ API-Gateway-Execution-Logs_3j5w5m7kv9 / stage-name”的格式放置时,会出现以下错误:

请求中指定了无效的ARN。ARN必须以“ arn:”开头:API-Gateway-Execution-Logs_3j5w5m7kv9 / stage-name

当我在CloudWatch中打开此日志组的页面时,我在那里只看到相同的名称,而没有看到ARN值。我如何找到它?

amazon-web-services amazon-cloudwatch aws-api-gateway

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

如何检查我的服务器 Diffie-Hellman MODP 大小(位)并增加它?

再会,

我在 Linux Redhat 中有一个 WAS 自由服务器,并且我启用了唯一的 TLSv1.2。

我输入以下命令来获取服务器信息:

openssl s_client -connect 10.7.5.65:9443 -msg
Run Code Online (Sandbox Code Playgroud)

部分结果如下:

No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 1710 bytes and written 479 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Run Code Online (Sandbox Code Playgroud)

我看到Server Temp Key值是 DH,1024 位,但也看到服务器公钥是 2048 位,请问我的 Diffie-Hellman MODP 大小(位)实际上是 1024 还是 2048?

还有那部分 ServerKeyExchange

<<< TLS 1.2 Handshake [length …
Run Code Online (Sandbox Code Playgroud)

linux openssl bit diffie-hellman redhat-openjdk

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

Ansible 按属性过滤包含值

在 Ansible 中,如何根据对象的属性是否包含值来过滤对象?

例如:我想通过过滤contains的对象来返回private_man具有属性的对象。name="a2"private_manaddr"1.2.3.4"

这是 Ansible 代码:

- hosts: localhost
  connection: local
  gather_facts: no
  vars:
    network:
      addresses:
        private_ext:
          - name: a1
            addr:
              - 1.2.3.4
        private_man:
          - name: a2
            addr:
              - 10.10.20.30
              - 1.2.3.4
          - name: a3
            addr:
              - 10.90.80.10
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

- debug:
    msg: "{{ item.name }}"
  with_items: "{{ network.addresses.private_man | selectattr('addr', 'in', '1.2.3.4') | list }}"
Run Code Online (Sandbox Code Playgroud)

我预计会显示此内容,a2因为 a2 对象的 addr 元素包含1.2.3.4

然而,当我运行这个时,它完全失败了,可能是因为selectaddr('addr', 'in', '1.2.3.4')无效。

jinja2 ansible

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

双向绑定单对象 Observable

我想对 Angular 4 中的元素执行双向数据绑定,但我遇到了问题。任何人都可以提供一些方向吗?

成分:

import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Load } from '../services/model/load';
import { LoadService } from '../services/api/load.service';
import {Observable} from 'rxjs/Observable';
@Component({
  selector: 'app-storeedit',
  templateUrl: './storeedit.component.html',
  styleUrls: ['./storeedit.component.css']
})
export class StoreeditComponent implements OnInit {
  load: Observable<Load>;
  private sub: any;
  constructor(private route: ActivatedRoute, private loadService: LoadService) { }

  ngOnInit() {
    this.sub = this.route.params.subscribe(params => {
      // Require ID
      var loadId : number = +params['id'];
      this.fetchLoad(loadId);
    }) …
Run Code Online (Sandbox Code Playgroud)

angular

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